From 78d34e696093f761c748ea35b37936602769f6b0 Mon Sep 17 00:00:00 2001 From: evanchia Date: Fri, 13 Aug 2021 14:10:43 -0700 Subject: [PATCH 01/66] Adds the MARS benchmark script in AR Signed-off-by: evanchia --- scripts/build/Jenkins/Jenkinsfile | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/scripts/build/Jenkins/Jenkinsfile b/scripts/build/Jenkins/Jenkinsfile index 30efdc00ad..95bb92a192 100644 --- a/scripts/build/Jenkins/Jenkinsfile +++ b/scripts/build/Jenkins/Jenkinsfile @@ -378,6 +378,25 @@ def TestMetrics(Map pipelineConfig, String workspace, String branchName, String } } +def BenchmarkMetrics(String workspace, String branchName, String outputDirectory) { + catchError(buildResult: null, stageResult: null) { + def cmakeBuildDir = [workspace, ENGINE_REPOSITORY_NAME, outputDirectory].join('/') + dir("${workspace}/${ENGINE_REPOSITORY_NAME}") { + checkout scm: [ + $class: 'GitSCM', + branches: [[name: '*/main']], + extensions: [ + [$class: 'AuthorInChangelog'], + [$class: 'RelativeTargetDirectory', relativeTargetDir: 'mars'] + ], + userRemoteConfigs: [[url: "${env.MARS_REPO}", name: 'mars', credentialsId: "${env.GITHUB_USER}"]] + ] + def command = "${pipelineConfig.PYTHON_DIR}/python.cmd -u mars/scripts/python/benchmark_scraper.py ${cmakeBuildDir} ${branchName}" + palSh(command, "Publishing Benchmark Metrics") + } + } +} + def ExportTestResults(Map options, String platform, String type, String workspace, Map params) { catchError(message: "Error exporting tests results (this won't fail the build)", buildResult: 'SUCCESS', stageResult: 'FAILURE') { def o3deroot = "${workspace}/${ENGINE_REPOSITORY_NAME}" @@ -433,6 +452,7 @@ def CreateTestMetricsStage(Map pipelineConfig, String branchName, Map environmen return { stage("${buildJobName}_metrics") { TestMetrics(pipelineConfig, environmentVars['WORKSPACE'], branchName, env.DEFAULT_REPOSITORY_NAME, buildJobName, outputDirectory, configuration) + BenchmarkMetrics(environmentVars['WORKSPACE'], branchName, outputDirectory) } } } From e475405850d8ed562397e578dbbbb04ab449c2e2 Mon Sep 17 00:00:00 2001 From: Gene Walters Date: Mon, 16 Aug 2021 15:53:55 -0700 Subject: [PATCH 02/66] Updating multiplayer auto-components to require the LocalPredictionPlayerInputComponent service if they use NetworkInputs. Without LocalPredictionPlayerInputComponent CreateInput and ProcessInput will never be called Signed-off-by: Gene Walters --- .../Code/Source/AutoGen/AutoComponent_Source.jinja | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Gems/Multiplayer/Code/Source/AutoGen/AutoComponent_Source.jinja b/Gems/Multiplayer/Code/Source/AutoGen/AutoComponent_Source.jinja index d2be2f682a..595efd76f4 100644 --- a/Gems/Multiplayer/Code/Source/AutoGen/AutoComponent_Source.jinja +++ b/Gems/Multiplayer/Code/Source/AutoGen/AutoComponent_Source.jinja @@ -1465,6 +1465,11 @@ namespace {{ Component.attrib['Namespace'] }} {% call(ComponentService) ParseComponentServiceNames(Component, ClassType, 'Required') %} required.push_back(AZ_CRC_CE("{{ ComponentService }}")); {% endcall %} + +{% if NetworkInputCount > 0 %} + // This component uses NetworkInputs so it requires LocalPredictionPlayerInputComponent which is responsible for calling CreateInput and ProcessInput + required.push_back(AZ_CRC_CE("LocalPredictionPlayerInputComponent")); +{% endif %} } void {{ ComponentBaseName }}::GetDependentServices([[maybe_unused]] AZ::ComponentDescriptor::DependencyArrayType& dependent) From 4374e6177e90c2381dc8bae357be8d82a23d9d5f Mon Sep 17 00:00:00 2001 From: Gene Walters Date: Mon, 16 Aug 2021 20:46:34 -0700 Subject: [PATCH 03/66] Updating service requirement to use a generic 'MultiplayerInputDrive', that way if other developers want to make a non-local predictition player controller that calls create/process on the server they can do so as long as there custom component provides this 'MultiplayerInputDriver' service Signed-off-by: Gene Walters --- .../Components/LocalPredictionPlayerInputComponent.h | 1 + .../Code/Source/AutoGen/AutoComponent_Source.jinja | 6 +++--- .../Components/LocalPredictionPlayerInputComponent.cpp | 6 ++++++ 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/Gems/Multiplayer/Code/Include/Multiplayer/Components/LocalPredictionPlayerInputComponent.h b/Gems/Multiplayer/Code/Include/Multiplayer/Components/LocalPredictionPlayerInputComponent.h index fbb7131f76..932418b111 100644 --- a/Gems/Multiplayer/Code/Include/Multiplayer/Components/LocalPredictionPlayerInputComponent.h +++ b/Gems/Multiplayer/Code/Include/Multiplayer/Components/LocalPredictionPlayerInputComponent.h @@ -22,6 +22,7 @@ namespace Multiplayer AZ_MULTIPLAYER_COMPONENT(Multiplayer::LocalPredictionPlayerInputComponent, s_localPredictionPlayerInputComponentConcreteUuid, Multiplayer::LocalPredictionPlayerInputComponentBase); static void Reflect([[maybe_unused]] AZ::ReflectContext* context); + static void GetProvidedServices(AZ::ComponentDescriptor::DependencyArrayType& provided); void OnInit() override; void OnActivate([[maybe_unused]] Multiplayer::EntityIsMigrating entityIsMigrating) override; diff --git a/Gems/Multiplayer/Code/Source/AutoGen/AutoComponent_Source.jinja b/Gems/Multiplayer/Code/Source/AutoGen/AutoComponent_Source.jinja index 595efd76f4..83830fad5f 100644 --- a/Gems/Multiplayer/Code/Source/AutoGen/AutoComponent_Source.jinja +++ b/Gems/Multiplayer/Code/Source/AutoGen/AutoComponent_Source.jinja @@ -1465,10 +1465,10 @@ namespace {{ Component.attrib['Namespace'] }} {% call(ComponentService) ParseComponentServiceNames(Component, ClassType, 'Required') %} required.push_back(AZ_CRC_CE("{{ ComponentService }}")); {% endcall %} - {% if NetworkInputCount > 0 %} - // This component uses NetworkInputs so it requires LocalPredictionPlayerInputComponent which is responsible for calling CreateInput and ProcessInput - required.push_back(AZ_CRC_CE("LocalPredictionPlayerInputComponent")); + + // This component uses NetworkInputs so it requires a MultiplayerInputDriver service which is responsible for calling CreateInput and ProcessInput + required.push_back(AZ_CRC_CE("MultiplayerInputDriver")); {% endif %} } diff --git a/Gems/Multiplayer/Code/Source/Components/LocalPredictionPlayerInputComponent.cpp b/Gems/Multiplayer/Code/Source/Components/LocalPredictionPlayerInputComponent.cpp index 242db95ecb..a1238c378d 100644 --- a/Gems/Multiplayer/Code/Source/Components/LocalPredictionPlayerInputComponent.cpp +++ b/Gems/Multiplayer/Code/Source/Components/LocalPredictionPlayerInputComponent.cpp @@ -56,6 +56,12 @@ namespace Multiplayer LocalPredictionPlayerInputComponentBase::Reflect(context); } + void LocalPredictionPlayerInputComponent::GetProvidedServices(AZ::ComponentDescriptor::DependencyArrayType& provided) + { + LocalPredictionPlayerInputComponentBase::GetProvidedServices(provided); + provided.push_back(AZ_CRC_CE("MultiplayerInputDriver")); + } + void LocalPredictionPlayerInputComponent::OnInit() { ; From fad4392ca4abeec9bfd7610e0e4cdaeee9177862 Mon Sep 17 00:00:00 2001 From: AMZN-Phil Date: Mon, 23 Aug 2021 17:27:59 -0700 Subject: [PATCH 04/66] Fix text descenders cutoff on Configure Gems page. Signed-off-by: AMZN-Phil --- Code/Tools/ProjectManager/Resources/ProjectManager.qss | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Code/Tools/ProjectManager/Resources/ProjectManager.qss b/Code/Tools/ProjectManager/Resources/ProjectManager.qss index 1bd261da00..fbdebd5492 100644 --- a/Code/Tools/ProjectManager/Resources/ProjectManager.qss +++ b/Code/Tools/ProjectManager/Resources/ProjectManager.qss @@ -157,15 +157,16 @@ QTabBar::tab:focus { font-size:14px; text-align:left; margin:0; - padding-top:10px; - padding-bottom:-5px; - min-height:15px; - max-height:15px; + padding-top:0px; + padding-bottom:0px; + min-height:20px; + max-height:20px; } #headerSubTitle { font-size:24px; text-align:left; margin:0; + padding-top:-5px; min-height:42px; max-height:42px; } From 5e4ec8c421d20c6ceb105ca7bfd1154441a2f5fb Mon Sep 17 00:00:00 2001 From: evanchia Date: Fri, 27 Aug 2021 10:14:22 -0700 Subject: [PATCH 05/66] adding missing param to Jenkins benchmark step Signed-off-by: evanchia --- scripts/build/Jenkins/Jenkinsfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/build/Jenkins/Jenkinsfile b/scripts/build/Jenkins/Jenkinsfile index 95bb92a192..d3ef7ea8de 100644 --- a/scripts/build/Jenkins/Jenkinsfile +++ b/scripts/build/Jenkins/Jenkinsfile @@ -378,7 +378,7 @@ def TestMetrics(Map pipelineConfig, String workspace, String branchName, String } } -def BenchmarkMetrics(String workspace, String branchName, String outputDirectory) { +def BenchmarkMetrics(Map pipelineConfig, String workspace, String branchName, String outputDirectory) { catchError(buildResult: null, stageResult: null) { def cmakeBuildDir = [workspace, ENGINE_REPOSITORY_NAME, outputDirectory].join('/') dir("${workspace}/${ENGINE_REPOSITORY_NAME}") { @@ -452,7 +452,7 @@ def CreateTestMetricsStage(Map pipelineConfig, String branchName, Map environmen return { stage("${buildJobName}_metrics") { TestMetrics(pipelineConfig, environmentVars['WORKSPACE'], branchName, env.DEFAULT_REPOSITORY_NAME, buildJobName, outputDirectory, configuration) - BenchmarkMetrics(environmentVars['WORKSPACE'], branchName, outputDirectory) + BenchmarkMetrics(pipelineConfig, environmentVars['WORKSPACE'], branchName, outputDirectory) } } } From 0ae25fe7e7d560c07a53f0df29b328246b1a2e2f Mon Sep 17 00:00:00 2001 From: jromnoa Date: Fri, 27 Aug 2021 20:35:11 -0700 Subject: [PATCH 06/66] add extra timeout value as well as some extra time.sleep() calls in an attempt to fix the test (seems race condition related) Signed-off-by: jromnoa --- .../atom_hydra_scripts/hydra_AtomMaterialEditor_BasicTests.py | 2 ++ .../Gem/PythonTests/atom_renderer/test_Atom_MainSuite.py | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/AutomatedTesting/Gem/PythonTests/atom_renderer/atom_hydra_scripts/hydra_AtomMaterialEditor_BasicTests.py b/AutomatedTesting/Gem/PythonTests/atom_renderer/atom_hydra_scripts/hydra_AtomMaterialEditor_BasicTests.py index b3c51ca912..130482cb99 100644 --- a/AutomatedTesting/Gem/PythonTests/atom_renderer/atom_hydra_scripts/hydra_AtomMaterialEditor_BasicTests.py +++ b/AutomatedTesting/Gem/PythonTests/atom_renderer/atom_hydra_scripts/hydra_AtomMaterialEditor_BasicTests.py @@ -67,6 +67,7 @@ def run(): material_editor.save_document_as_child(document_id, target_path) material_editor.wait_for_condition(lambda: os.path.exists(target_path), 2.0) print(f"New asset created: {os.path.exists(target_path)}") + time.sleep(2.0) # Verify if the newly created document is open new_document_id = material_editor.open_material(target_path) @@ -101,6 +102,7 @@ def run(): expected_color = math.Color(0.25, 0.25, 0.25, 1.0) material_editor.set_property(document_id, property_name, expected_color) material_editor.save_document(document_id) + time.sleep(2.0) # 7) Test Case: Saving as a New Material # Assign new color to the material file and save the document as copy diff --git a/AutomatedTesting/Gem/PythonTests/atom_renderer/test_Atom_MainSuite.py b/AutomatedTesting/Gem/PythonTests/atom_renderer/test_Atom_MainSuite.py index bb7a16ad6b..646c20a84f 100644 --- a/AutomatedTesting/Gem/PythonTests/atom_renderer/test_Atom_MainSuite.py +++ b/AutomatedTesting/Gem/PythonTests/atom_renderer/test_Atom_MainSuite.py @@ -299,7 +299,7 @@ class TestMaterialEditorBasicTests(object): generic_launcher, "hydra_AtomMaterialEditor_BasicTests.py", run_python="--runpython", - timeout=80, + timeout=EDITOR_TIMEOUT, expected_lines=expected_lines, unexpected_lines=unexpected_lines, halt_on_unexpected=True, From 99d71cfbc58697a55402b605980e369f6b4f1a73 Mon Sep 17 00:00:00 2001 From: kberg-amzn Date: Mon, 30 Aug 2021 12:05:53 -0700 Subject: [PATCH 07/66] Added delta replication and stat tracking to vector and array network property container types, + some minor cleanup I ran into when looking for the best hook points for this functionality Signed-off-by: kberg-amzn --- .../Components/MultiplayerComponent.h | 103 ++++++++++++++++-- .../Multiplayer/MultiplayerConstants.h | 8 +- .../Include/Multiplayer/MultiplayerTypes.h | 53 +++++---- .../Source/AutoGen/AutoComponent_Common.jinja | 6 +- .../Source/AutoGen/AutoComponent_Source.jinja | 14 ++- .../Editor/MultiplayerEditorConnection.cpp | 4 +- .../MultiplayerEditorSystemComponent.cpp | 4 +- .../Source/MultiplayerSystemComponent.cpp | 4 +- 8 files changed, 144 insertions(+), 52 deletions(-) diff --git a/Gems/Multiplayer/Code/Include/Multiplayer/Components/MultiplayerComponent.h b/Gems/Multiplayer/Code/Include/Multiplayer/Components/MultiplayerComponent.h index 64ceb6e16f..f685d453f3 100644 --- a/Gems/Multiplayer/Code/Include/Multiplayer/Components/MultiplayerComponent.h +++ b/Gems/Multiplayer/Code/Include/Multiplayer/Components/MultiplayerComponent.h @@ -102,11 +102,34 @@ namespace Multiplayer return GetEntity()->FindComponent(); } + inline void UpdateComponentMetrics + ( + bool modifyRecord, + uint32_t prevSerializerSize, + uint32_t currSerializerSize, + NetComponentId componentId, + PropertyIndex propertyIndex, + MultiplayerStats& stats + ) + { + const uint32_t updateSize = (currSerializerSize - prevSerializerSize); + if (updateSize > 0) + { + if (modifyRecord) + { + stats.RecordPropertyReceived(componentId, propertyIndex, updateSize); + } + else + { + stats.RecordPropertySent(componentId, propertyIndex, updateSize); + } + } + } + template inline void SerializeNetworkPropertyHelper ( AzNetworking::ISerializer& serializer, - bool modifyRecord, AzNetworking::FixedSizeBitsetView& bitset, int32_t bitIndex, TYPE& value, @@ -118,6 +141,7 @@ namespace Multiplayer { if (bitset.GetBit(bitIndex)) { + const bool modifyRecord = serializer.GetSerializerMode() == AzNetworking::SerializerMode::WriteToObject; const uint32_t prevUpdateSize = serializer.GetSize(); serializer.ClearTrackedChangesFlag(); serializer.Serialize(value, name); @@ -127,19 +151,78 @@ namespace Multiplayer bitset.SetBit(bitIndex, false); } const uint32_t postUpdateSize = serializer.GetSize(); - // Network Property metrics - const uint32_t updateSize = (postUpdateSize - prevUpdateSize); - if (updateSize > 0) + UpdateComponentMetrics(modifyRecord, prevUpdateSize, postUpdateSize, componentId, propertyIndex, stats); + } + } + + template + inline void SerializeNetworkPropertyHelperArray + ( + AzNetworking::ISerializer& serializer, + AzNetworking::FixedSizeBitsetView& bitset, + AZStd::array& value, + NetComponentId componentId, + PropertyIndex propertyIndex, + MultiplayerStats& stats + ) + { + const bool modifyRecord = serializer.GetSerializerMode() == AzNetworking::SerializerMode::WriteToObject; + const uint32_t prevUpdateSize = serializer.GetSize(); + for (uint32_t i = 0; i < SIZE; ++i) + { + if (bitset.GetBit(i)) { - if (modifyRecord) + serializer.ClearTrackedChangesFlag(); + serializer.Serialize(value[i], "Element"); + if (modifyRecord && !serializer.GetTrackedChangesFlag()) { - stats.RecordPropertyReceived(componentId, propertyIndex, updateSize); - } - else - { - stats.RecordPropertySent(componentId, propertyIndex, updateSize); + bitset.SetBit(i, false); } } } + const uint32_t postUpdateSize = serializer.GetSize(); + UpdateComponentMetrics(modifyRecord, prevUpdateSize, postUpdateSize, componentId, propertyIndex, stats); + } + + template + inline void SerializeNetworkPropertyHelperVector + ( + AzNetworking::ISerializer& serializer, + AzNetworking::FixedSizeBitsetView& bitset, + AZStd::fixed_vector& value, + NetComponentId componentId, + PropertyIndex propertyIndex, + MultiplayerStats& stats + ) + { + const bool modifyRecord = serializer.GetSerializerMode() == AzNetworking::SerializerMode::WriteToObject; + const uint32_t prevUpdateSize = serializer.GetSize(); + if (bitset.GetBit(SIZE)) + { + using SizeType = typename AZ::SizeType(), false>::Type; + SizeType origSize = aznumeric_cast(value.size()); + SizeType newSize = origSize; + serializer.Serialize(newSize, "Size"); + value.resize(newSize); + if (modifyRecord && origSize == newSize) + { + bitset.SetBit(SIZE, false); + } + } + + for (uint32_t i = 0; i < value.size(); ++i) + { + if (bitset.GetBit(i)) + { + serializer.ClearTrackedChangesFlag(); + serializer.Serialize(value[i], "Element"); + if (modifyRecord && !serializer.GetTrackedChangesFlag()) + { + bitset.SetBit(i, false); + } + } + } + const uint32_t postUpdateSize = serializer.GetSize(); + UpdateComponentMetrics(modifyRecord, prevUpdateSize, postUpdateSize, componentId, propertyIndex, stats); } } diff --git a/Gems/Multiplayer/Code/Include/Multiplayer/MultiplayerConstants.h b/Gems/Multiplayer/Code/Include/Multiplayer/MultiplayerConstants.h index b6ed0219f8..4471aa0c2b 100644 --- a/Gems/Multiplayer/Code/Include/Multiplayer/MultiplayerConstants.h +++ b/Gems/Multiplayer/Code/Include/Multiplayer/MultiplayerConstants.h @@ -17,12 +17,10 @@ namespace Multiplayer { - constexpr AZStd::string_view MPNetworkInterfaceName("MultiplayerNetworkInterface"); - constexpr AZStd::string_view MPEditorInterfaceName("MultiplayerEditorNetworkInterface"); - + constexpr AZStd::string_view MpNetworkInterfaceName("MultiplayerNetworkInterface"); + constexpr AZStd::string_view MpEditorInterfaceName("MultiplayerEditorNetworkInterface"); constexpr AZStd::string_view LocalHost("127.0.0.1"); + constexpr uint16_t DefaultServerPort = 33450; constexpr uint16_t DefaultServerEditorPort = 33451; - } - diff --git a/Gems/Multiplayer/Code/Include/Multiplayer/MultiplayerTypes.h b/Gems/Multiplayer/Code/Include/Multiplayer/MultiplayerTypes.h index 704e9d2734..4ac20abc83 100644 --- a/Gems/Multiplayer/Code/Include/Multiplayer/MultiplayerTypes.h +++ b/Gems/Multiplayer/Code/Include/Multiplayer/MultiplayerTypes.h @@ -86,7 +86,7 @@ namespace Multiplayer Activate }; - // Structure for identifying a specific entity within a spawnable + //! Structure for identifying a specific entity within a spawnable. struct PrefabEntityId { AZ_TYPE_INFO(PrefabEntityId, "{EFD37465-CCAC-4E87-A825-41B4010A2C75}"); @@ -97,29 +97,10 @@ namespace Multiplayer uint32_t m_entityOffset = AllIndices; PrefabEntityId() = default; - - explicit PrefabEntityId(AZ::Name name, uint32_t entityOffset = AllIndices) - : m_prefabName(name) - , m_entityOffset(entityOffset) - { - } - - bool operator==(const PrefabEntityId& rhs) const - { - return m_prefabName == rhs.m_prefabName && m_entityOffset == rhs.m_entityOffset; - } - - bool operator!=(const PrefabEntityId& rhs) const - { - return !(*this == rhs); - } - - bool Serialize(AzNetworking::ISerializer& serializer) - { - serializer.Serialize(m_prefabName, "prefabName"); - serializer.Serialize(m_entityOffset, "entityOffset"); - return serializer.IsValid(); - } + explicit PrefabEntityId(AZ::Name name, uint32_t entityOffset = AllIndices); + bool operator==(const PrefabEntityId& rhs) const; + bool operator!=(const PrefabEntityId& rhs) const; + bool Serialize(AzNetworking::ISerializer& serializer); }; struct EntityMigrationMessage @@ -128,6 +109,30 @@ namespace Multiplayer PrefabEntityId m_prefabEntityId; AzNetworking::PacketEncodingBuffer m_propertyUpdateData; }; + + inline PrefabEntityId::PrefabEntityId(AZ::Name name, uint32_t entityOffset) + : m_prefabName(name) + , m_entityOffset(entityOffset) + { + ; + } + + inline bool PrefabEntityId::operator==(const PrefabEntityId& rhs) const + { + return m_prefabName == rhs.m_prefabName && m_entityOffset == rhs.m_entityOffset; + } + + inline bool PrefabEntityId::operator!=(const PrefabEntityId& rhs) const + { + return !(*this == rhs); + } + + inline bool PrefabEntityId::Serialize(AzNetworking::ISerializer& serializer) + { + serializer.Serialize(m_prefabName, "prefabName"); + serializer.Serialize(m_entityOffset, "entityOffset"); + return serializer.IsValid(); + } } AZ_TYPE_SAFE_INTEGRAL_SERIALIZEBINDING(Multiplayer::HostId); diff --git a/Gems/Multiplayer/Code/Source/AutoGen/AutoComponent_Common.jinja b/Gems/Multiplayer/Code/Source/AutoGen/AutoComponent_Common.jinja index 72583f9062..811039feda 100644 --- a/Gems/Multiplayer/Code/Source/AutoGen/AutoComponent_Common.jinja +++ b/Gems/Multiplayer/Code/Source/AutoGen/AutoComponent_Common.jinja @@ -5,12 +5,12 @@ #} {%- macro ParseRpcParams(property, outNames, outTypes, outDefines, use_default_value=False) -%} {%- for Param in property.iter('Param') -%} -{%- do outNames.append(Param.attrib['Name']) -%} +{%- do outNames.append(LowerFirst(Param.attrib['Name'])) -%} {%- do outTypes.append(Param.attrib['Type']) -%} {%- if use_default_value and Param.attrib['DefaultValue'] -%} -{%- do outDefines.append('const ' ~ Param.attrib['Type'] ~ '& ' + Param.attrib['Name'] + ' = ' + Param.attrib['DefaultValue']) -%} +{%- do outDefines.append('const ' ~ Param.attrib['Type'] ~ '& ' + LowerFirst(Param.attrib['Name']) + ' = ' + Param.attrib['DefaultValue']) -%} {%- else -%} -{%- do outDefines.append('const ' ~ Param.attrib['Type'] ~ '& ' ~ Param.attrib['Name']) -%} +{%- do outDefines.append('const ' ~ Param.attrib['Type'] ~ '& ' ~ LowerFirst(Param.attrib['Name'])) -%} {%- endif -%} {%- endfor -%} {%- endmacro -%} diff --git a/Gems/Multiplayer/Code/Source/AutoGen/AutoComponent_Source.jinja b/Gems/Multiplayer/Code/Source/AutoGen/AutoComponent_Source.jinja index 079cac329b..35b5ac3abf 100644 --- a/Gems/Multiplayer/Code/Source/AutoGen/AutoComponent_Source.jinja +++ b/Gems/Multiplayer/Code/Source/AutoGen/AutoComponent_Source.jinja @@ -636,7 +636,6 @@ bool {{ ClassName }}::Serialize{{ AutoComponentMacros.GetNetPropertiesSetName(Re {% if networkPropertyCount.value > 0 %} [[maybe_unused]] Multiplayer::MultiplayerStats& stats = Multiplayer::GetMultiplayer()->GetStats(); // We modify the record if we are writing an update so that we don't notify for a change that really didn't change the value (just a duplicated send from the server) - [[maybe_unused]] bool modifyRecord = serializer.GetSerializerMode() == AzNetworking::SerializerMode::WriteToObject; {% call(Property) AutoComponentMacros.ParseNetworkProperties(Component, ReplicateFrom, ReplicateTo) %} {% if Property.attrib['Container'] != 'None' and Property.attrib['Container'] != 'Object' %} { // Serialization for Vector and Array Network Properties @@ -651,17 +650,24 @@ bool {{ ClassName }}::Serialize{{ AutoComponentMacros.GetNetPropertiesSetName(Re if (deltaRecord.AnySet()) { {% if Property.attrib['Container'] == 'Vector' %} - serializer.Serialize>(m_{{ LowerFirst(Property.attrib['Name']) }}, "{{ LowerFirst(Property.attrib['Name']) }}"); + Multiplayer::SerializeNetworkPropertyHelperVector {% elif Property.attrib['Container'] == 'Array' %} - serializer.Serialize>(m_{{ LowerFirst(Property.attrib['Name']) }}, "{{ LowerFirst(Property.attrib['Name']) }}"); + Multiplayer::SerializeNetworkPropertyHelperArray {% endif %} + ( + serializer, + deltaRecord, + m_{{ LowerFirst(Property.attrib['Name']) }}, + GetNetComponentId(), + static_cast({{ UpperFirst(Component.attrib['Name']) }}Internal::NetworkProperties::{{ UpperFirst(Property.attrib['Name']) }}), + stats + ); } } {% else %} Multiplayer::SerializeNetworkPropertyHelper ( serializer, - modifyRecord, replicationRecord.m_{{ LowerFirst(AutoComponentMacros.GetNetPropertiesSetName(ReplicateFrom, ReplicateTo)) }}, static_cast({{ AutoComponentMacros.GetNetPropertiesQualifiedPropertyDirtyEnum(Component.attrib['Name'], ReplicateFrom, ReplicateTo, Property) }}), m_{{ LowerFirst(Property.attrib['Name']) }}, diff --git a/Gems/Multiplayer/Code/Source/Editor/MultiplayerEditorConnection.cpp b/Gems/Multiplayer/Code/Source/Editor/MultiplayerEditorConnection.cpp index fc398182ef..3bf578dd03 100644 --- a/Gems/Multiplayer/Code/Source/Editor/MultiplayerEditorConnection.cpp +++ b/Gems/Multiplayer/Code/Source/Editor/MultiplayerEditorConnection.cpp @@ -31,7 +31,7 @@ namespace Multiplayer : m_byteStream(&m_buffer) { m_networkEditorInterface = AZ::Interface::Get()->CreateNetworkInterface( - AZ::Name(MPEditorInterfaceName), ProtocolType::Tcp, TrustZone::ExternalClientToServer, *this); + AZ::Name(MpEditorInterfaceName), ProtocolType::Tcp, TrustZone::ExternalClientToServer, *this); m_networkEditorInterface->SetTimeoutEnabled(false); if (editorsv_isDedicated) { @@ -109,7 +109,7 @@ namespace Multiplayer // Setup the normal multiplayer connection AZ::Interface::Get()->InitializeMultiplayer(MultiplayerAgentType::DedicatedServer); - INetworkInterface* networkInterface = AZ::Interface::Get()->RetrieveNetworkInterface(AZ::Name(MPNetworkInterfaceName)); + INetworkInterface* networkInterface = AZ::Interface::Get()->RetrieveNetworkInterface(AZ::Name(MpNetworkInterfaceName)); uint16_t serverPort = DefaultServerPort; if (auto console = AZ::Interface::Get(); console) diff --git a/Gems/Multiplayer/Code/Source/Editor/MultiplayerEditorSystemComponent.cpp b/Gems/Multiplayer/Code/Source/Editor/MultiplayerEditorSystemComponent.cpp index d557c65215..377fb1eb56 100644 --- a/Gems/Multiplayer/Code/Source/Editor/MultiplayerEditorSystemComponent.cpp +++ b/Gems/Multiplayer/Code/Source/Editor/MultiplayerEditorSystemComponent.cpp @@ -105,7 +105,7 @@ namespace Multiplayer m_serverProcess->TerminateProcess(0); m_serverProcess = nullptr; } - INetworkInterface* editorNetworkInterface = AZ::Interface::Get()->RetrieveNetworkInterface(AZ::Name(MPEditorInterfaceName)); + INetworkInterface* editorNetworkInterface = AZ::Interface::Get()->RetrieveNetworkInterface(AZ::Name(MpEditorInterfaceName)); if (editorNetworkInterface) { editorNetworkInterface->Disconnect(m_editorConnId, AzNetworking::DisconnectReason::TerminatedByClient); @@ -194,7 +194,7 @@ namespace Multiplayer AZ::Interface::Get()->BuildSpawnablesList(); // Now that the server has launched, attempt to connect the NetworkInterface - INetworkInterface* editorNetworkInterface = AZ::Interface::Get()->RetrieveNetworkInterface(AZ::Name(MPEditorInterfaceName)); + INetworkInterface* editorNetworkInterface = AZ::Interface::Get()->RetrieveNetworkInterface(AZ::Name(MpEditorInterfaceName)); AZ_Assert(editorNetworkInterface, "MP Editor Network Interface was unregistered before Editor could connect."); m_editorConnId = editorNetworkInterface->Connect( AzNetworking::IpAddress(remoteAddress.c_str(), editorsv_port, AzNetworking::ProtocolType::Tcp)); diff --git a/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp b/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp index b0a8350982..5396d53c79 100644 --- a/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp +++ b/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp @@ -180,7 +180,7 @@ namespace Multiplayer { AZ::TickBus::Handler::BusConnect(); AzFramework::SessionNotificationBus::Handler::BusConnect(); - m_networkInterface = AZ::Interface::Get()->CreateNetworkInterface(AZ::Name(MPNetworkInterfaceName), sv_protocol, TrustZone::ExternalClientToServer, *this); + m_networkInterface = AZ::Interface::Get()->CreateNetworkInterface(AZ::Name(MpNetworkInterfaceName), sv_protocol, TrustZone::ExternalClientToServer, *this); if (AZ::Interface::Get()) { m_consoleCommandHandler.Connect(AZ::Interface::Get()->GetConsoleCommandInvokedEvent()); @@ -197,7 +197,7 @@ namespace Multiplayer AZ::Interface::Unregister(this); AZ::Interface::Unregister(this); m_consoleCommandHandler.Disconnect(); - AZ::Interface::Get()->DestroyNetworkInterface(AZ::Name(MPNetworkInterfaceName)); + AZ::Interface::Get()->DestroyNetworkInterface(AZ::Name(MpNetworkInterfaceName)); AzFramework::SessionNotificationBus::Handler::BusDisconnect(); AZ::TickBus::Handler::BusDisconnect(); } From cce532c99e573d81be2878f5100587960eff732f Mon Sep 17 00:00:00 2001 From: jromnoa Date: Mon, 30 Aug 2021 12:40:09 -0700 Subject: [PATCH 08/66] remove EDITOR_TIMEOUT constant and manually enter each time value, sets an example for future patterns to NOT use a constant for this value Signed-off-by: jromnoa --- .../Gem/PythonTests/atom_renderer/test_Atom_MainSuite.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/AutomatedTesting/Gem/PythonTests/atom_renderer/test_Atom_MainSuite.py b/AutomatedTesting/Gem/PythonTests/atom_renderer/test_Atom_MainSuite.py index 646c20a84f..c40dc8f178 100644 --- a/AutomatedTesting/Gem/PythonTests/atom_renderer/test_Atom_MainSuite.py +++ b/AutomatedTesting/Gem/PythonTests/atom_renderer/test_Atom_MainSuite.py @@ -16,7 +16,6 @@ import editor_python_test_tools.hydra_test_utils as hydra from atom_renderer.atom_utils.atom_constants import LIGHT_TYPES logger = logging.getLogger(__name__) -EDITOR_TIMEOUT = 120 TEST_DIRECTORY = os.path.join(os.path.dirname(__file__), "atom_hydra_scripts") @@ -175,7 +174,7 @@ class TestAtomEditorComponentsMain(object): TEST_DIRECTORY, editor, "hydra_AtomEditorComponents_AddedToEntity.py", - timeout=EDITOR_TIMEOUT, + timeout=120, expected_lines=expected_lines, unexpected_lines=unexpected_lines, halt_on_unexpected=True, @@ -236,7 +235,7 @@ class TestAtomEditorComponentsMain(object): TEST_DIRECTORY, editor, "hydra_AtomEditorComponents_LightComponent.py", - timeout=EDITOR_TIMEOUT, + timeout=120, expected_lines=expected_lines, unexpected_lines=unexpected_lines, halt_on_unexpected=True, @@ -299,7 +298,7 @@ class TestMaterialEditorBasicTests(object): generic_launcher, "hydra_AtomMaterialEditor_BasicTests.py", run_python="--runpython", - timeout=EDITOR_TIMEOUT, + timeout=120, expected_lines=expected_lines, unexpected_lines=unexpected_lines, halt_on_unexpected=True, From dd0a9ebe10de6fa2d5d153b6da0e01fa799554d3 Mon Sep 17 00:00:00 2001 From: mcphedar Date: Mon, 30 Aug 2021 15:14:58 -0500 Subject: [PATCH 09/66] Adding a template for nightly build failures Signed-off-by: mcphedar --- .../nightly_build_failure_bug_template.md | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/nightly_build_failure_bug_template.md diff --git a/.github/ISSUE_TEMPLATE/nightly_build_failure_bug_template.md b/.github/ISSUE_TEMPLATE/nightly_build_failure_bug_template.md new file mode 100644 index 0000000000..40f6f0dbbc --- /dev/null +++ b/.github/ISSUE_TEMPLATE/nightly_build_failure_bug_template.md @@ -0,0 +1,36 @@ +--- +name: Nightly Build Error bug report +about: Create a report when the nightly build process fails +title: 'Nightly Build Failure' +labels: 'needs-triage,needs-sig,kind/bug,kind/nightlybuildfailure' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**Failure type** +Build | Asset Processing | Test Tools | Infrastructure | Test + +**To Reproduce Test Failures** + - Paste the command line that reproduces the test failure + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Logs** +Attach the Jenkins logs that are relevant to the failure + +**Desktop/Device (please complete the following information):** + - Device: [e.g. PC, Mac, iPhone, Samsung] + - OS: [e.g. Windows, macOS, iOS, Android] + - Version [e.g. 10, Bug Sur, Oreo] + - CPU [e.g. Intel I9-9900k , Ryzen 5900x, ] + - GPU [AMD 6800 XT, NVidia RTX 3090] + - Memory [e.g. 16GB] + +**Additional context** +Add any other context about the problem here. \ No newline at end of file From ce962415d226e026d651c9af3fc6ff9af672a138 Mon Sep 17 00:00:00 2001 From: evanchia Date: Mon, 30 Aug 2021 14:20:51 -0700 Subject: [PATCH 10/66] Moving fixed smoke test from sandbox to smoke suite Signed-off-by: evanchia --- .../Gem/PythonTests/smoke/CMakeLists.txt | 12 ------------ .../smoke/test_RemoteConsole_CPULoadLevel_Works.py | 2 +- 2 files changed, 1 insertion(+), 13 deletions(-) diff --git a/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt b/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt index 5374b0d318..3fc4f3db0e 100644 --- a/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt +++ b/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt @@ -73,17 +73,5 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS) AutomatedTesting.GameLauncher AutomatedTesting.Assets ) - ly_add_pytest( - NAME AutomatedTesting::LoadLevelCPU - TEST_SUITE sandbox - PATH ${CMAKE_CURRENT_LIST_DIR}/test_RemoteConsole_CPULoadLevel_Works.py - TIMEOUT 100 - RUNTIME_DEPENDENCIES - AZ::AssetProcessor - AZ::PythonBindingsExample - Legacy::Editor - AutomatedTesting.GameLauncher - AutomatedTesting.Assets - ) endif() diff --git a/AutomatedTesting/Gem/PythonTests/smoke/test_RemoteConsole_CPULoadLevel_Works.py b/AutomatedTesting/Gem/PythonTests/smoke/test_RemoteConsole_CPULoadLevel_Works.py index 701dcfab10..6522514f2f 100644 --- a/AutomatedTesting/Gem/PythonTests/smoke/test_RemoteConsole_CPULoadLevel_Works.py +++ b/AutomatedTesting/Gem/PythonTests/smoke/test_RemoteConsole_CPULoadLevel_Works.py @@ -24,7 +24,7 @@ from ly_remote_console.remote_console_commands import ( @pytest.mark.parametrize("launcher_platform", ["windows"]) @pytest.mark.parametrize("project", ["AutomatedTesting"]) @pytest.mark.parametrize("level", ["Simple"]) -@pytest.mark.SUITE_sandbox +@pytest.mark.SUITE_smoke class TestRemoteConsoleLoadLevelWorks(object): @pytest.fixture def remote_console_instance(self, request): From a7309cf2eb5fd4c39731a32fae8b6b68dee99205 Mon Sep 17 00:00:00 2001 From: jiaweig <51759646+jiaweig-amzn@users.noreply.github.com> Date: Mon, 30 Aug 2021 14:57:46 -0700 Subject: [PATCH 11/66] ATOM-16346 Change Atom setreg path (#3690) * Changed path Amazon to O3DE. Fixed issues that setreg is not loaded in game launchers. Signed-off-by: jiaweig * Add brackets. Signed-off-by: jiaweig --- .../Application/GameApplication.cpp | 6 +++++ .../RHI.Reflect/PlatformLimitsDescriptor.h | 2 +- .../RHI.Reflect/PlatformLimitsDescriptor.cpp | 2 +- Gems/Atom/RHI/Code/Source/RHI/RHISystem.cpp | 2 +- .../DX12/PlatformLimitsDescriptor.h | 2 ++ .../RHI.Reflect/PlatformLimitsDescriptor.cpp | 23 +++++++++++++++++++ .../Registry/PhysicalDeviceDriverInfo.setreg | 2 +- .../Platform/Android/PlatformLimits.setreg | 2 +- .../Platform/Linux/PlatformLimits.setreg | 2 +- .../Platform/Mac/PlatformLimits.setreg | 2 +- .../Platform/Windows/PlatformLimits.setreg | 2 +- .../Platform/iOS/PlatformLimits.setreg | 2 +- 12 files changed, 40 insertions(+), 9 deletions(-) diff --git a/Code/Framework/AzGameFramework/AzGameFramework/Application/GameApplication.cpp b/Code/Framework/AzGameFramework/AzGameFramework/Application/GameApplication.cpp index b4d61d7ac1..c42720311c 100644 --- a/Code/Framework/AzGameFramework/AzGameFramework/Application/GameApplication.cpp +++ b/Code/Framework/AzGameFramework/AzGameFramework/Application/GameApplication.cpp @@ -55,6 +55,12 @@ namespace AzGameFramework AZ::SettingsRegistryMergeUtils::MergeSettingsToRegistry_TargetBuildDependencyRegistry(registry, AZ_TRAIT_OS_PLATFORM_CODENAME, specializations, &scratchBuffer); +#if AZ_TRAIT_OS_IS_HOST_OS_PLATFORM && (defined (AZ_DEBUG_BUILD) || defined(AZ_PROFILE_BUILD)) + AZ::SettingsRegistryMergeUtils::MergeSettingsToRegistry_EngineRegistry(registry, AZ_TRAIT_OS_PLATFORM_CODENAME, specializations, &scratchBuffer); + AZ::SettingsRegistryMergeUtils::MergeSettingsToRegistry_GemRegistries(registry, AZ_TRAIT_OS_PLATFORM_CODENAME, specializations, &scratchBuffer); + AZ::SettingsRegistryMergeUtils::MergeSettingsToRegistry_ProjectRegistry(registry, AZ_TRAIT_OS_PLATFORM_CODENAME, specializations, &scratchBuffer); +#endif + // Used the lowercase the platform name since the bootstrap.game...setreg is being loaded // from the asset cache root where all the files are in lowercased from regardless of the filesystem case-sensitivity static constexpr char filename[] = "bootstrap.game." AZ_BUILD_CONFIGURATION_TYPE "." AZ_TRAIT_OS_PLATFORM_CODENAME_LOWER ".setreg"; diff --git a/Gems/Atom/RHI/Code/Include/Atom/RHI.Reflect/PlatformLimitsDescriptor.h b/Gems/Atom/RHI/Code/Include/Atom/RHI.Reflect/PlatformLimitsDescriptor.h index 2d85420694..a239242b33 100644 --- a/Gems/Atom/RHI/Code/Include/Atom/RHI.Reflect/PlatformLimitsDescriptor.h +++ b/Gems/Atom/RHI/Code/Include/Atom/RHI.Reflect/PlatformLimitsDescriptor.h @@ -68,7 +68,7 @@ namespace AZ HeapMemoryHintParameters m_usageHintParameters; HeapAllocationStrategy m_heapAllocationStrategy = HeapAllocationStrategy::MemoryHint; - void LoadPlatformLimitsDescriptor(const char* rhiName); + virtual void LoadPlatformLimitsDescriptor(const char* rhiName); }; class PlatformLimits final diff --git a/Gems/Atom/RHI/Code/Source/RHI.Reflect/PlatformLimitsDescriptor.cpp b/Gems/Atom/RHI/Code/Source/RHI.Reflect/PlatformLimitsDescriptor.cpp index 250f03716d..eaaefe6065 100644 --- a/Gems/Atom/RHI/Code/Source/RHI.Reflect/PlatformLimitsDescriptor.cpp +++ b/Gems/Atom/RHI/Code/Source/RHI.Reflect/PlatformLimitsDescriptor.cpp @@ -77,7 +77,7 @@ namespace AZ void PlatformLimitsDescriptor::LoadPlatformLimitsDescriptor(const char* rhiName) { auto settingsRegistry = AZ::SettingsRegistry::Get(); - AZStd::string platformLimitsRegPath = AZStd::string::format("/Amazon/Atom/RHI/PlatformLimits/%s", rhiName); + AZStd::string platformLimitsRegPath = AZStd::string::format("/O3DE/Atom/RHI/PlatformLimits/%s", rhiName); if (!(settingsRegistry && settingsRegistry->GetObject(this, azrtti_typeid(this), platformLimitsRegPath.c_str()))) { diff --git a/Gems/Atom/RHI/Code/Source/RHI/RHISystem.cpp b/Gems/Atom/RHI/Code/Source/RHI/RHISystem.cpp index b03cb34140..a381209d2b 100644 --- a/Gems/Atom/RHI/Code/Source/RHI/RHISystem.cpp +++ b/Gems/Atom/RHI/Code/Source/RHI/RHISystem.cpp @@ -147,7 +147,7 @@ namespace AZ // Some GPU drivers have known issues and it is recommended to update or use other versions. auto settingsRegistry = AZ::SettingsRegistry::Get(); PhysicalDeviceDriverValidator physicalDriverValidator; - if (!(settingsRegistry && settingsRegistry->GetObject(physicalDriverValidator, "/Amazon/Atom/RHI/PhysicalDeviceDriverInfo"))) + if (!(settingsRegistry && settingsRegistry->GetObject(physicalDriverValidator, "/O3DE/Atom/RHI/PhysicalDeviceDriverInfo"))) { AZ_Printf("RHISystem", "Failed to get settings registry for GPU driver Info."); } diff --git a/Gems/Atom/RHI/DX12/Code/Include/Atom/RHI.Reflect/DX12/PlatformLimitsDescriptor.h b/Gems/Atom/RHI/DX12/Code/Include/Atom/RHI.Reflect/DX12/PlatformLimitsDescriptor.h index cbf1fd11f6..1f22599b38 100644 --- a/Gems/Atom/RHI/DX12/Code/Include/Atom/RHI.Reflect/DX12/PlatformLimitsDescriptor.h +++ b/Gems/Atom/RHI/DX12/Code/Include/Atom/RHI.Reflect/DX12/PlatformLimitsDescriptor.h @@ -65,6 +65,8 @@ namespace AZ AZStd::unordered_map> m_descriptorHeapLimits; FrameGraphExecuterData m_frameGraphExecuterData; + + void LoadPlatformLimitsDescriptor(const char* rhiName) override; }; } } diff --git a/Gems/Atom/RHI/DX12/Code/Source/RHI.Reflect/PlatformLimitsDescriptor.cpp b/Gems/Atom/RHI/DX12/Code/Source/RHI.Reflect/PlatformLimitsDescriptor.cpp index 980264aa9b..77b41d6ffc 100644 --- a/Gems/Atom/RHI/DX12/Code/Source/RHI.Reflect/PlatformLimitsDescriptor.cpp +++ b/Gems/Atom/RHI/DX12/Code/Source/RHI.Reflect/PlatformLimitsDescriptor.cpp @@ -7,6 +7,7 @@ */ #include #include +#include namespace AZ { @@ -39,5 +40,27 @@ namespace AZ ; } } + + void PlatformLimitsDescriptor::LoadPlatformLimitsDescriptor(const char* rhiName) + { + auto settingsRegistry = AZ::SettingsRegistry::Get(); + AZStd::string platformLimitsRegPath = AZStd::string::format("/O3DE/Atom/RHI/PlatformLimits/%s", rhiName); + if (!(settingsRegistry && settingsRegistry->GetObject(this, azrtti_typeid(this), platformLimitsRegPath.c_str()))) + { + AZ_Warning( + "Device", false, "Platform limits for %s %s is not loaded correctly. Will use default values.", + AZ_TRAIT_OS_PLATFORM_NAME, rhiName); + + // Map default value must be initialized after attempting to serialize (and result in failure). + // Otherwise, serialization won't overwrite the default values. + m_descriptorHeapLimits = AZStd::unordered_map>({ + { AZStd::string("DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV"), { 1000000, 1000000 } }, + { AZStd::string("DESCRIPTOR_HEAP_TYPE_SAMPLER"), { 2048, 2048 } }, + { AZStd::string("DESCRIPTOR_HEAP_TYPE_RTV"), { 2048, 0 } }, + { AZStd::string("DESCRIPTOR_HEAP_TYPE_DSV"), { 2048, 0 } } + }); + } + + } } } diff --git a/Gems/Atom/RHI/Registry/PhysicalDeviceDriverInfo.setreg b/Gems/Atom/RHI/Registry/PhysicalDeviceDriverInfo.setreg index 823b9e5fcd..ecb2a0fb54 100644 --- a/Gems/Atom/RHI/Registry/PhysicalDeviceDriverInfo.setreg +++ b/Gems/Atom/RHI/Registry/PhysicalDeviceDriverInfo.setreg @@ -8,7 +8,7 @@ // { - "Amazon": + "O3DE": { "Atom": { diff --git a/Gems/Atom/RHI/Registry/Platform/Android/PlatformLimits.setreg b/Gems/Atom/RHI/Registry/Platform/Android/PlatformLimits.setreg index 6ce3c88bbb..683098138f 100644 --- a/Gems/Atom/RHI/Registry/Platform/Android/PlatformLimits.setreg +++ b/Gems/Atom/RHI/Registry/Platform/Android/PlatformLimits.setreg @@ -8,7 +8,7 @@ // { - "Amazon": + "O3DE": { "Atom": { diff --git a/Gems/Atom/RHI/Registry/Platform/Linux/PlatformLimits.setreg b/Gems/Atom/RHI/Registry/Platform/Linux/PlatformLimits.setreg index 7c60aeb098..ce1e65fb40 100644 --- a/Gems/Atom/RHI/Registry/Platform/Linux/PlatformLimits.setreg +++ b/Gems/Atom/RHI/Registry/Platform/Linux/PlatformLimits.setreg @@ -8,7 +8,7 @@ // { - "Amazon": + "O3DE": { "Atom": { diff --git a/Gems/Atom/RHI/Registry/Platform/Mac/PlatformLimits.setreg b/Gems/Atom/RHI/Registry/Platform/Mac/PlatformLimits.setreg index 508287b762..b16e72b625 100644 --- a/Gems/Atom/RHI/Registry/Platform/Mac/PlatformLimits.setreg +++ b/Gems/Atom/RHI/Registry/Platform/Mac/PlatformLimits.setreg @@ -8,7 +8,7 @@ // { - "Amazon": + "O3DE": { "Atom": { diff --git a/Gems/Atom/RHI/Registry/Platform/Windows/PlatformLimits.setreg b/Gems/Atom/RHI/Registry/Platform/Windows/PlatformLimits.setreg index dd1273953b..240f8b041c 100644 --- a/Gems/Atom/RHI/Registry/Platform/Windows/PlatformLimits.setreg +++ b/Gems/Atom/RHI/Registry/Platform/Windows/PlatformLimits.setreg @@ -8,7 +8,7 @@ // { - "Amazon": + "O3DE": { "Atom": { diff --git a/Gems/Atom/RHI/Registry/Platform/iOS/PlatformLimits.setreg b/Gems/Atom/RHI/Registry/Platform/iOS/PlatformLimits.setreg index 508287b762..b16e72b625 100644 --- a/Gems/Atom/RHI/Registry/Platform/iOS/PlatformLimits.setreg +++ b/Gems/Atom/RHI/Registry/Platform/iOS/PlatformLimits.setreg @@ -8,7 +8,7 @@ // { - "Amazon": + "O3DE": { "Atom": { From e8fa1dca58dd0f238cf3178e0432850212e9b745 Mon Sep 17 00:00:00 2001 From: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com> Date: Mon, 30 Aug 2021 15:21:13 -0700 Subject: [PATCH 12/66] Improves runtime dependencies input dependency (#3665) Changes how runtime dependencies are hooked as dependencies to create depenedencies to the inputs This makes it that if an input to the runtime dependencies changes, it gets re-copied (e.g. a 3rdParty changes or a file added through ly_add_target_files) Closes Issue #3391 Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com> --- .../AzFramework/IO/LocalFileIO.cpp | 21 +++++----- .../Code/Tests/TestFramework/AWSCoreFixture.h | 1 + cmake/LYWrappers.cmake | 39 +++++++++++++++++-- cmake/LyAutoGen.cmake | 2 +- cmake/Platform/Common/Install_common.cmake | 3 +- .../Common/RuntimeDependencies_common.cmake | 20 +++++++--- .../runtime_dependencies_common.cmake.in | 2 + 7 files changed, 67 insertions(+), 21 deletions(-) diff --git a/Code/Framework/AzFramework/AzFramework/IO/LocalFileIO.cpp b/Code/Framework/AzFramework/AzFramework/IO/LocalFileIO.cpp index 076cce4965..aca7a41950 100644 --- a/Code/Framework/AzFramework/AzFramework/IO/LocalFileIO.cpp +++ b/Code/Framework/AzFramework/AzFramework/IO/LocalFileIO.cpp @@ -673,18 +673,17 @@ namespace AZ { AZ_Assert(path && path[0] != '%', "%% is deprecated, @ is the only valid alias token"); AZStd::string_view pathView(path); - AZStd::string_view aliasKey; - AZStd::string_view aliasValue; - for (const auto& alias : m_aliases) - { - AZStd::string_view key{ alias.first }; - if (AZ::StringFunc::StartsWith(pathView, key)) // we only support aliases at the front of the path + + const auto found = AZStd::find_if(m_aliases.begin(), m_aliases.end(), + [pathView](const auto& alias) { - aliasKey = key; - aliasValue = alias.second; - break; - } - } + return pathView.starts_with(alias.first); + }); + + using string_view_pair = AZStd::pair; + auto [aliasKey, aliasValue] = (found != m_aliases.end()) ? string_view_pair(*found) + : string_view_pair{}; + size_t requiredResolvedPathSize = pathView.size() - aliasKey.size() + aliasValue.size() + 1; AZ_Assert(path != resolvedPath && resolvedPathSize >= requiredResolvedPathSize, "Resolved path is incorrect"); // we assert above, but we also need to properly handle the case when the resolvedPath buffer size diff --git a/Gems/AWSCore/Code/Tests/TestFramework/AWSCoreFixture.h b/Gems/AWSCore/Code/Tests/TestFramework/AWSCoreFixture.h index 9d33d96215..a5c2bf6475 100644 --- a/Gems/AWSCore/Code/Tests/TestFramework/AWSCoreFixture.h +++ b/Gems/AWSCore/Code/Tests/TestFramework/AWSCoreFixture.h @@ -132,6 +132,7 @@ public: AZ::IO::FileIOBase::SetInstance(nullptr); delete m_localFileIO; + m_localFileIO = nullptr; if (m_otherFileIO) { diff --git a/cmake/LYWrappers.cmake b/cmake/LYWrappers.cmake index 1a8e805f91..3dfef0bbbf 100644 --- a/cmake/LYWrappers.cmake +++ b/cmake/LYWrappers.cmake @@ -29,6 +29,20 @@ define_property(TARGET PROPERTY GEM_MODULE ]] ) +define_property(TARGET PROPERTY RUNTIME_DEPENDENCIES_DEPENDS + BRIEF_DOCS "Defines the dependencies the runtime dependencies of a target has" + FULL_DOCS [[ + Property which is queried through generator expressions at the moment + the target is declared so a custom command that will do the copies can + be generated later. Custom commands need to be declared in the same folder + the target is declared, however, runtime dependencies need all targets + to be declared, so it is done towards the end of CMake parsing. When + runtime dependencies are processed, this target property is filled so the + right dependencies are set for the custom command. + This property contains all the files that are going to be copied to the output + when the target gets built. + ]] +) #! ly_add_target: adds a target and provides parameters for the common configurations. # @@ -310,16 +324,35 @@ function(ly_add_target) set_property(GLOBAL APPEND PROPERTY LY_ALL_TARGET_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR}) endif() + # Custom commands need to be declared in the same folder as the target that they use. + # Not all the targets will require runtime dependencies, but we will generate at least an + # empty file for them. set(runtime_dependencies_list SHARED MODULE EXECUTABLE APPLICATION) if(NOT ly_add_target_IMPORTED AND linking_options IN_LIST runtime_dependencies_list) - add_custom_command(TARGET ${ly_add_target_NAME} POST_BUILD + # the stamp file will be the one that triggers the execution of the custom rule. At the end + # of running the copy of runtime dependencies, the stamp file is touched so the timestamp is updated. + # Adding a config as part of the name since the stamp file is added to the VS project. + # Note the STAMP_OUTPUT_FILE need to match with the one used in runtime dependencies (e.g. RuntimeDependencies_common.cmake) + set(STAMP_OUTPUT_FILE ${CMAKE_BINARY_DIR}/runtime_dependencies/$/${ly_add_target_NAME}_$.stamp) + add_custom_command( + OUTPUT ${STAMP_OUTPUT_FILE} + DEPENDS "$>" COMMAND ${CMAKE_COMMAND} -P ${CMAKE_BINARY_DIR}/runtime_dependencies/$/${ly_add_target_NAME}.cmake - DEPENDS ${CMAKE_BINARY_DIR}/runtime_dependencies/${ly_add_target_NAME}.cmake - MESSAGE "Copying runtime dependencies..." + COMMENT "Copying ${ly_add_target_NAME} runtime dependencies to output..." VERBATIM ) + # Unfortunately the VS generator cannot deal with generation expressions as part of the file name, wrapping the + # stamp file on each configuration so it gets properly excluded by the generator + unset(stamp_files_per_config) + foreach(conf IN LISTS CMAKE_CONFIGURATION_TYPES) + set(stamp_file_conf ${CMAKE_BINARY_DIR}/runtime_dependencies/${conf}/${ly_add_target_NAME}_${conf}.stamp) + set_source_files_properties(${stamp_file_conf} PROPERTIES GENERATED TRUE SKIP_AUTOGEN TRUE) + list(APPEND stamp_files_per_config $<$:${stamp_file_conf}>) + endforeach() + target_sources(${ly_add_target_NAME} PRIVATE ${stamp_files_per_config}) + endif() if(ly_add_target_AUTOGEN_RULES) diff --git a/cmake/LyAutoGen.cmake b/cmake/LyAutoGen.cmake index 4aec0f9726..2f5891d837 100644 --- a/cmake/LyAutoGen.cmake +++ b/cmake/LyAutoGen.cmake @@ -34,8 +34,8 @@ function(ly_add_autogen) add_custom_command( OUTPUT ${AUTOGEN_OUTPUTS} DEPENDS ${AZCG_DEPENDENCIES} - COMMAND ${CMAKE_COMMAND} -E echo "Running AutoGen for ${ly_add_autogen_NAME}" COMMAND ${LY_PYTHON_CMD} "${LY_ROOT_FOLDER}/cmake/AzAutoGen.py" "${CMAKE_BINARY_DIR}/Azcg/TemplateCache/" "${CMAKE_CURRENT_BINARY_DIR}/Azcg/Generated/" "${CMAKE_CURRENT_SOURCE_DIR}" "${AZCG_INPUTFILES}" "${ly_add_autogen_AUTOGEN_RULES}" + COMMENT "Running AutoGen for ${ly_add_autogen_NAME}" VERBATIM ) set_target_properties(${ly_add_autogen_NAME} PROPERTIES AUTOGEN_INPUT_FILES "${AZCG_INPUTFILES}") diff --git a/cmake/Platform/Common/Install_common.cmake b/cmake/Platform/Common/Install_common.cmake index bee2349e75..0bd598f70e 100644 --- a/cmake/Platform/Common/Install_common.cmake +++ b/cmake/Platform/Common/Install_common.cmake @@ -486,7 +486,8 @@ endfunction()" ly_get_runtime_dependencies(runtime_dependencies ${target}) foreach(runtime_dependency ${runtime_dependencies}) unset(runtime_command) - ly_get_runtime_dependency_command(runtime_command ${runtime_dependency}) + unset(runtime_depend) # unused, but required to be passed to ly_get_runtime_dependency_command + ly_get_runtime_dependency_command(runtime_command runtime_depend ${runtime_dependency}) string(CONFIGURE "${runtime_command}" runtime_command @ONLY) list(APPEND runtime_commands ${runtime_command}) endforeach() diff --git a/cmake/Platform/Common/RuntimeDependencies_common.cmake b/cmake/Platform/Common/RuntimeDependencies_common.cmake index a669602ff7..dbc8513c97 100644 --- a/cmake/Platform/Common/RuntimeDependencies_common.cmake +++ b/cmake/Platform/Common/RuntimeDependencies_common.cmake @@ -113,7 +113,7 @@ function(ly_get_runtime_dependencies ly_RUNTIME_DEPENDENCIES ly_TARGET) unset(target_locations) get_target_property(target_locations ${ly_TARGET} ${imported_property}) if(target_locations) - list(APPEND all_runtime_dependencies ${target_locations}) + list(APPEND all_runtime_dependencies "${target_locations}") else() # Check if the property exists for configurations unset(target_locations) @@ -156,7 +156,7 @@ function(ly_get_runtime_dependencies ly_RUNTIME_DEPENDENCIES ly_TARGET) endfunction() -function(ly_get_runtime_dependency_command ly_RUNTIME_COMMAND ly_TARGET) +function(ly_get_runtime_dependency_command ly_RUNTIME_COMMAND ly_RUNTIME_DEPEND ly_TARGET) # To optimize this, we are going to cache the commands for the targets we requested. A lot of targets end up being # dependencies of other targets. @@ -166,6 +166,8 @@ function(ly_get_runtime_dependency_command ly_RUNTIME_COMMAND ly_TARGET) # We already walked through this target get_property(cached_command GLOBAL PROPERTY LY_RUNTIME_DEPENDENCY_COMMAND_${ly_TARGET}) set(${ly_RUNTIME_COMMAND} ${cached_command} PARENT_SCOPE) + get_property(cached_depend GLOBAL PROPERTY LY_RUNTIME_DEPENDENCY_DEPEND_${ly_TARGET}) + set(${ly_RUNTIME_DEPEND} "${cached_depend}" PARENT_SCOPE) return() endif() @@ -223,6 +225,8 @@ function(ly_get_runtime_dependency_command ly_RUNTIME_COMMAND ly_TARGET) set_property(GLOBAL PROPERTY LY_RUNTIME_DEPENDENCY_COMMAND_${ly_TARGET} "${runtime_command}") set(${ly_RUNTIME_COMMAND} ${runtime_command} PARENT_SCOPE) + set_property(GLOBAL PROPERTY LY_RUNTIME_DEPENDENCY_DEPEND_${ly_TARGET} "${source_file}") + set(${ly_RUNTIME_DEPEND} "${source_file}" PARENT_SCOPE) endfunction() @@ -245,17 +249,20 @@ function(ly_delayed_generate_runtime_dependencies) unset(runtime_dependencies) unset(LY_COPY_COMMANDS) + unset(runtime_depends) ly_get_runtime_dependencies(runtime_dependencies ${target}) foreach(runtime_dependency ${runtime_dependencies}) unset(runtime_command) - ly_get_runtime_dependency_command(runtime_command ${runtime_dependency}) + unset(runtime_depend) + ly_get_runtime_dependency_command(runtime_command runtime_depend ${runtime_dependency}) string(APPEND LY_COPY_COMMANDS ${runtime_command}) + list(APPEND runtime_depends ${runtime_depend}) endforeach() - # Generate the output file + # Generate the output file, note the STAMP_OUTPUT_FILE need to match with the one defined in LYWrappers.cmake + set(STAMP_OUTPUT_FILE ${CMAKE_BINARY_DIR}/runtime_dependencies/$/${target}_$.stamp) set(target_file_dir "$") - set(target_file "$") ly_file_read(${LY_RUNTIME_DEPENDENCIES_TEMPLATE} template_file) string(CONFIGURE "${LY_COPY_COMMANDS}" LY_COPY_COMMANDS @ONLY) string(CONFIGURE "${template_file}" configured_template_file @ONLY) @@ -263,6 +270,9 @@ function(ly_delayed_generate_runtime_dependencies) OUTPUT ${CMAKE_BINARY_DIR}/runtime_dependencies/$/${target}.cmake CONTENT "${configured_template_file}" ) + + # set the property that is consumed from the custom command generated in LyWrappers.cmake + set_target_properties(${target} PROPERTIES RUNTIME_DEPENDENCIES_DEPENDS "${runtime_depends}") endforeach() diff --git a/cmake/Platform/Common/runtime_dependencies_common.cmake.in b/cmake/Platform/Common/runtime_dependencies_common.cmake.in index bb280f895b..6e41dbaad1 100644 --- a/cmake/Platform/Common/runtime_dependencies_common.cmake.in +++ b/cmake/Platform/Common/runtime_dependencies_common.cmake.in @@ -22,3 +22,5 @@ function(ly_copy source_file target_directory) endfunction() @LY_COPY_COMMANDS@ + +file(TOUCH @STAMP_OUTPUT_FILE@) From 0e3c4cfb3a49ff8a88083a68971b862754fc32f6 Mon Sep 17 00:00:00 2001 From: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com> Date: Mon, 30 Aug 2021 17:49:19 -0500 Subject: [PATCH 13/66] Updated Terrain Gem Info (#3688) Improved description, removed unused icon, and added documentation link. Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com> --- Gems/Terrain/gem.json | 8 ++++---- Gems/Terrain/preview.png | 3 --- 2 files changed, 4 insertions(+), 7 deletions(-) delete mode 100644 Gems/Terrain/preview.png diff --git a/Gems/Terrain/gem.json b/Gems/Terrain/gem.json index ccf034d399..c01ea7e534 100644 --- a/Gems/Terrain/gem.json +++ b/Gems/Terrain/gem.json @@ -1,10 +1,10 @@ { "gem_name": "Terrain", - "display_name": "Terrain (WIP)", + "display_name": "Terrain", "license": "Apache-2.0 Or MIT", "origin": "Open 3D Engine - o3de.org", - "summary": "The Terrain Gem is a WIP (work-in-progress) Gem for providing terrain services including authoring workflows, rendering, and physics.", + "summary": "The Terrain Gem is an experimental terrain system. The terrain system maps height, color, and surface data to regions of the world, provides gradient-based and shape-based authoring tools and workflows, includes specialized rendering for efficient display, and integrates with physics for physical simulation.", "canonical_tags": [ "Gem" ], - "user_tags": [ "Environment", "Terrain" ], - "icon_path": "preview.png" + "user_tags": [ "Environment", "Tools", "Design", "Terrain" ], + "documentation_url": "https://o3de.org/docs/user-guide/gems/reference/terrain/" } diff --git a/Gems/Terrain/preview.png b/Gems/Terrain/preview.png deleted file mode 100644 index 2f1ed47754..0000000000 --- a/Gems/Terrain/preview.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6d6204c6730e5675791765ca194e9b1cbec282208e280507de830afc2805e5fa -size 41127 From 319f770a642d33a1b3c3243e1b14c51cbe5a6ca2 Mon Sep 17 00:00:00 2001 From: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com> Date: Mon, 30 Aug 2021 16:50:59 -0700 Subject: [PATCH 14/66] enabling warns Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com> --- .../Platform/Common/Clang/Configurations_clang.cmake | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/cmake/Platform/Common/Clang/Configurations_clang.cmake b/cmake/Platform/Common/Clang/Configurations_clang.cmake index 17a89fc1cd..02a94f4e72 100644 --- a/cmake/Platform/Common/Clang/Configurations_clang.cmake +++ b/cmake/Platform/Common/Clang/Configurations_clang.cmake @@ -18,23 +18,13 @@ ly_append_configurations_options( # Disabled warnings (please do not disable any others without first consulting ly-warnings) -Wrange-loop-analysis - -Wno-unknown-warning-option - "-Wno-#pragma-messages" - -Wno-absolute-value - -Wno-dynamic-class-memaccess + -Wno-unknown-warning-option # used as a way to mark warnings that are MSVC only -Wno-format-security -Wno-inconsistent-missing-override - -Wno-invalid-offsetof - -Wno-multichar -Wno-parentheses -Wno-reorder - -Wno-self-assign -Wno-switch - -Wno-tautological-compare -Wno-undefined-var-template - -Wno-unknown-pragmas - # Workaround for compiler seeing file case differently from what OS show in console. - -Wno-nonportable-include-path COMPILATION_DEBUG -O0 # No optimization From 863e4ebc6eb9d2a49fc70043ca2afa6e99e70b81 Mon Sep 17 00:00:00 2001 From: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com> Date: Mon, 30 Aug 2021 16:51:31 -0700 Subject: [PATCH 15/66] unnecessary pragmas incompatible with clang Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com> --- Code/Editor/EditorPanelUtils.cpp | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/Code/Editor/EditorPanelUtils.cpp b/Code/Editor/EditorPanelUtils.cpp index 12e9457474..a270de5978 100644 --- a/Code/Editor/EditorPanelUtils.cpp +++ b/Code/Editor/EditorPanelUtils.cpp @@ -47,7 +47,6 @@ struct ToolTip class CEditorPanelUtils_Impl : public IEditorPanelUtils { - #pragma region Drag & Drop public: void SetViewportDragOperation(void(* dropCallback)(CViewport* viewport, int dragPointX, int dragPointY, void* custom), void* custom) override { @@ -56,8 +55,7 @@ public: GetIEditor()->GetViewManager()->GetView(i)->SetGlobalDropCallback(dropCallback, custom); } } - #pragma endregion - #pragma region Preview Window + public: int PreviewWindow_GetDisplaySettingsDebugFlags(CDisplaySettings* settings) override @@ -72,8 +70,6 @@ public: settings->SetDebugFlags(flags); } - #pragma endregion - #pragma region Shortcuts protected: QVector hotkeys; bool m_hotkeysAreEnabled; @@ -408,8 +404,6 @@ public: return m_hotkeysAreEnabled; } - #pragma endregion - #pragma region ToolTip protected: QMap m_tooltips; @@ -539,7 +533,6 @@ public: } return GetToolTip(path).disabledContent; } - #pragma endregion ToolTip }; IEditorPanelUtils* CreateEditorPanelUtils() From 328b07bd6407afcfa2b11285d52081577b209529 Mon Sep 17 00:00:00 2001 From: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com> Date: Mon, 30 Aug 2021 16:51:53 -0700 Subject: [PATCH 16/66] assignments to itself Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com> --- .../ImageProcessingAtom/Code/Source/Converters/FIR-Weights.cpp | 1 - .../External/CubeMapGen/CCubeMapProcessor.cpp | 2 -- 2 files changed, 3 deletions(-) diff --git a/Gems/Atom/Asset/ImageProcessingAtom/Code/Source/Converters/FIR-Weights.cpp b/Gems/Atom/Asset/ImageProcessingAtom/Code/Source/Converters/FIR-Weights.cpp index 170805aa57..9e1fa7339b 100644 --- a/Gems/Atom/Asset/ImageProcessingAtom/Code/Source/Converters/FIR-Weights.cpp +++ b/Gems/Atom/Asset/ImageProcessingAtom/Code/Source/Converters/FIR-Weights.cpp @@ -297,7 +297,6 @@ namespace ImageProcessingAtom if (trimZeros) { /* set i0 and i1 to the nonzero support of the filter */ - i0 = i0; i1 = i1 = lastnonzero + 1; } diff --git a/Gems/Atom/Asset/ImageProcessingAtom/External/CubeMapGen/CCubeMapProcessor.cpp b/Gems/Atom/Asset/ImageProcessingAtom/External/CubeMapGen/CCubeMapProcessor.cpp index 8a4d727e8c..dc8af67877 100644 --- a/Gems/Atom/Asset/ImageProcessingAtom/External/CubeMapGen/CCubeMapProcessor.cpp +++ b/Gems/Atom/Asset/ImageProcessingAtom/External/CubeMapGen/CCubeMapProcessor.cpp @@ -616,8 +616,6 @@ namespace ImageProcessingAtom a_FilterExtents[oppositeFaceIdx].Augment((a_SrcSize-1), (a_SrcSize-1), 0); } } - - minV=minV; } From c34aecafa3bd0192b4f66192fc2e512aa5974e7e Mon Sep 17 00:00:00 2001 From: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com> Date: Mon, 30 Aug 2021 16:52:15 -0700 Subject: [PATCH 17/66] pragma lib, moved to cmake Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com> --- Code/Editor/Platform/Windows/editor_lib_windows.cmake | 5 +++++ Code/Editor/Settings.cpp | 1 - 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Code/Editor/Platform/Windows/editor_lib_windows.cmake b/Code/Editor/Platform/Windows/editor_lib_windows.cmake index 7a325ca97e..8c61e18096 100644 --- a/Code/Editor/Platform/Windows/editor_lib_windows.cmake +++ b/Code/Editor/Platform/Windows/editor_lib_windows.cmake @@ -5,3 +5,8 @@ # SPDX-License-Identifier: Apache-2.0 OR MIT # # + +set(LY_BUILD_DEPENDENCIES + PRIVATE + Gdi32.lib +) diff --git a/Code/Editor/Settings.cpp b/Code/Editor/Settings.cpp index 8672bad5c4..94b5668efc 100644 --- a/Code/Editor/Settings.cpp +++ b/Code/Editor/Settings.cpp @@ -35,7 +35,6 @@ #include "CryEdit.h" #include "MainWindow.h" -#pragma comment(lib, "Gdi32.lib") ////////////////////////////////////////////////////////////////////////// // Global Instance of Editor settings. From 8102999a057cf662412b6d3f96a4d78459692529 Mon Sep 17 00:00:00 2001 From: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com> Date: Mon, 30 Aug 2021 16:53:33 -0700 Subject: [PATCH 18/66] using uint here will slice the value of npos Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com> --- Gems/PhysX/Code/Source/EditorColliderComponent.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gems/PhysX/Code/Source/EditorColliderComponent.cpp b/Gems/PhysX/Code/Source/EditorColliderComponent.cpp index c337ab0a85..4aa240eaae 100644 --- a/Gems/PhysX/Code/Source/EditorColliderComponent.cpp +++ b/Gems/PhysX/Code/Source/EditorColliderComponent.cpp @@ -796,7 +796,7 @@ namespace PhysX entityRigidbody->GetRigidBody()->IsKinematic() == false) { AZStd::string assetPath = m_shapeConfiguration.m_physicsAsset.m_configuration.m_asset.GetHint().c_str(); - const uint lastSlash = static_cast(assetPath.rfind('/')); + const size_t lastSlash = assetPath.rfind('/'); if (lastSlash != AZStd::string::npos) { assetPath = assetPath.substr(lastSlash + 1); From 9aca449f2b1ac289f8c46f4b97ee9794de7e289b Mon Sep 17 00:00:00 2001 From: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com> Date: Mon, 30 Aug 2021 16:53:49 -0700 Subject: [PATCH 19/66] unnecessary comparison to itself Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com> --- .../Editor/Source/EditorAutomationTests/InteractionTests.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gems/ScriptCanvasDeveloper/Code/Editor/Source/EditorAutomationTests/InteractionTests.cpp b/Gems/ScriptCanvasDeveloper/Code/Editor/Source/EditorAutomationTests/InteractionTests.cpp index 7a6f628431..264583c1a9 100644 --- a/Gems/ScriptCanvasDeveloper/Code/Editor/Source/EditorAutomationTests/InteractionTests.cpp +++ b/Gems/ScriptCanvasDeveloper/Code/Editor/Source/EditorAutomationTests/InteractionTests.cpp @@ -176,7 +176,7 @@ namespace ScriptCanvasDeveloper ProcessCreationSet(); } } - else if (stateId == stateId == m_duplicateCheckpoint->GetStateId()) + else if (stateId == m_duplicateCheckpoint->GetStateId()) { if (m_createdSet.empty()) { From b64272a9114ecdeb5542e5c052bd75b453046d72 Mon Sep 17 00:00:00 2001 From: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com> Date: Mon, 30 Aug 2021 17:23:50 -0700 Subject: [PATCH 20/66] remove unused lib Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com> --- Code/Editor/Platform/Windows/editor_lib_windows.cmake | 5 ----- 1 file changed, 5 deletions(-) diff --git a/Code/Editor/Platform/Windows/editor_lib_windows.cmake b/Code/Editor/Platform/Windows/editor_lib_windows.cmake index 8c61e18096..7a325ca97e 100644 --- a/Code/Editor/Platform/Windows/editor_lib_windows.cmake +++ b/Code/Editor/Platform/Windows/editor_lib_windows.cmake @@ -5,8 +5,3 @@ # SPDX-License-Identifier: Apache-2.0 OR MIT # # - -set(LY_BUILD_DEPENDENCIES - PRIVATE - Gdi32.lib -) From a5f9cc2d6101276d6629082f3c7eb1ed245bb67a Mon Sep 17 00:00:00 2001 From: jromnoa Date: Mon, 30 Aug 2021 17:56:23 -0700 Subject: [PATCH 21/66] use wait_for_condition() on newly created material cache files and wait for them to exist before continuing to prevent race condition Signed-off-by: jromnoa --- .../hydra_AtomMaterialEditor_BasicTests.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/AutomatedTesting/Gem/PythonTests/atom_renderer/atom_hydra_scripts/hydra_AtomMaterialEditor_BasicTests.py b/AutomatedTesting/Gem/PythonTests/atom_renderer/atom_hydra_scripts/hydra_AtomMaterialEditor_BasicTests.py index 130482cb99..9047b4c871 100644 --- a/AutomatedTesting/Gem/PythonTests/atom_renderer/atom_hydra_scripts/hydra_AtomMaterialEditor_BasicTests.py +++ b/AutomatedTesting/Gem/PythonTests/atom_renderer/atom_hydra_scripts/hydra_AtomMaterialEditor_BasicTests.py @@ -33,6 +33,7 @@ MATERIAL_TYPE_PATH = os.path.join( azlmbr.paths.devroot, "Gems", "Atom", "Feature", "Common", "Assets", "Materials", "Types", "StandardPBR.materialtype", ) +CACHE_FILE_EXTENSION = ".azmaterial" def run(): @@ -109,16 +110,22 @@ def run(): expected_color_1 = math.Color(0.5, 0.5, 0.5, 1.0) material_editor.set_property(document_id, property_name, expected_color_1) target_path_1 = os.path.join(azlmbr.paths.devroot, "AutomatedTesting", "Materials", NEW_MATERIAL_1) + cache_file_name_1 = os.path.splitext(NEW_MATERIAL_1) # Example output: ('test_material_1', '.material') + cache_file_1 = f"{cache_file_name_1[0]}{CACHE_FILE_EXTENSION}" + target_path_1_cache = os.path.join(azlmbr.paths.devassets, "Cache", "pc", "materials", cache_file_1) material_editor.save_document_as_copy(document_id, target_path_1) - time.sleep(2.0) + material_editor.wait_for_condition(lambda: os.path.exists(target_path_1_cache), 4.0) # 8) Test Case: Saving as a Child Material # Assign new color to the material file save the document as child expected_color_2 = math.Color(0.75, 0.75, 0.75, 1.0) material_editor.set_property(document_id, property_name, expected_color_2) target_path_2 = os.path.join(azlmbr.paths.devroot, "AutomatedTesting", "Materials", NEW_MATERIAL_2) + cache_file_name_2 = os.path.splitext(NEW_MATERIAL_1) # Example output: ('test_material_2', '.material') + cache_file_2 = f"{cache_file_name_2[0]}{CACHE_FILE_EXTENSION}" + target_path_2_cache = os.path.join(azlmbr.paths.devassets, "Cache", "pc", "materials", cache_file_2) material_editor.save_document_as_child(document_id, target_path_2) - time.sleep(2.0) + material_editor.wait_for_condition(lambda: os.path.exists(target_path_2_cache), 4.0) # Close/Reopen documents material_editor.close_all_documents() From 9752fb009af5008d65a11d39370219c46b768ea1 Mon Sep 17 00:00:00 2001 From: AMZN-AlexOteiza <82234181+AMZN-AlexOteiza@users.noreply.github.com> Date: Tue, 31 Aug 2021 09:25:03 +0100 Subject: [PATCH 22/66] Added pdbs for python windows in order to allow python/c++ debugging on VS (#3661) * Added pdbs for python windows in order to allow python/c++ debugging on VS Signed-off-by: Garcia Ruiz * Modified other places where rev1 was used Signed-off-by: Garcia Ruiz Co-authored-by: Garcia Ruiz --- Gems/AWSClientAuth/cdk/README.md | 2 +- .../DccScriptingInterface/Launchers/Windows/Env_PyCharm.bat | 2 +- .../DccScriptingInterface/Launchers/Windows/Env_Python.bat | 2 +- .../DccScriptingInterface/Launchers/Windows/Env_WingIDE.bat | 2 +- .../Launchers/Windows/Launch_MayaPy_PyCharmPro.bat | 2 +- .../DccScriptingInterface/Launchers/Windows/Launch_VScode.bat | 2 +- .../Launchers/Windows/Launch_WingIDE-7-1.bat | 2 +- .../Launchers/Windows/Launch_mayapy_WingIDE-7-1.bat | 2 +- .../Launchers/Windows/Setuo_copy_oiio.bat | 2 +- cmake/LYPython.cmake | 4 ++-- python/python.cmd | 2 +- python/python.sh | 2 +- 12 files changed, 13 insertions(+), 13 deletions(-) diff --git a/Gems/AWSClientAuth/cdk/README.md b/Gems/AWSClientAuth/cdk/README.md index 3bc2b59fc1..d0cc966578 100644 --- a/Gems/AWSClientAuth/cdk/README.md +++ b/Gems/AWSClientAuth/cdk/README.md @@ -13,7 +13,7 @@ Run from cdk directory within gem. Optional set up python path to LY Python ``` -set PATH="..\..\..\python\runtime\python-3.7.10-rev1-windows\python\";%PATH% +set PATH="..\..\..\python\runtime\python-3.7.10-rev2-windows\python\";%PATH% ``` This project is set up like a standard Python project. Use python interpreter from Open3d to setup python dependencies diff --git a/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/Launchers/Windows/Env_PyCharm.bat b/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/Launchers/Windows/Env_PyCharm.bat index 296245d171..67f2c3d81e 100644 --- a/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/Launchers/Windows/Env_PyCharm.bat +++ b/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/Launchers/Windows/Env_PyCharm.bat @@ -34,7 +34,7 @@ CALL %~dp0\Env_Python.bat CALL %~dp0\Env_Qt.bat :: Wing and other IDEs probably prefer access directly to the python.exe -set DCCSI_PY_IDE = %DCCSI_PYTHON_INSTALL%\runtime\python-3.7.10-rev1-windows\python +set DCCSI_PY_IDE = %DCCSI_PYTHON_INSTALL%\runtime\python-3.7.10-rev2-windows\python echo DCCSI_PY_IDE = %DCCSI_PY_IDE% :: ide and debugger plug diff --git a/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/Launchers/Windows/Env_Python.bat b/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/Launchers/Windows/Env_Python.bat index 7492811a1d..196d7b09bb 100644 --- a/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/Launchers/Windows/Env_Python.bat +++ b/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/Launchers/Windows/Env_Python.bat @@ -67,7 +67,7 @@ echo DCCSI_PY_BASE = %DCCSI_PY_BASE% set DCCSI_PY_DEFAULT=%DCCSI_PY_BASE% :: Wing and other IDEs probably prefer access directly to the python.exe -set DCCSI_PY_IDE=%DCCSI_PYTHON_INSTALL%\runtime\python-3.7.10-rev1-windows\python +set DCCSI_PY_IDE=%DCCSI_PYTHON_INSTALL%\runtime\python-3.7.10-rev2-windows\python echo DCCSI_PY_IDE = %DCCSI_PY_IDE% set DCCSI_PY_IDE_PACKAGES=%DCCSI_PY_IDE%\Lib\site-packages diff --git a/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/Launchers/Windows/Env_WingIDE.bat b/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/Launchers/Windows/Env_WingIDE.bat index 2532acce1f..56209ca5aa 100644 --- a/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/Launchers/Windows/Env_WingIDE.bat +++ b/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/Launchers/Windows/Env_WingIDE.bat @@ -28,7 +28,7 @@ CALL %~dp0\Env_Python.bat CALL %~dp0\Env_Qt.bat :: Wing and other IDEs probably prefer access directly to the python.exe -set DCCSI_PY_IDE = %DCCSI_PYTHON_INSTALL%\runtime\python-3.7.10-rev1-windows\python +set DCCSI_PY_IDE = %DCCSI_PYTHON_INSTALL%\runtime\python-3.7.10-rev2-windows\python echo DCCSI_PY_IDE = %DCCSI_PY_IDE% :: ide and debugger plug diff --git a/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/Launchers/Windows/Launch_MayaPy_PyCharmPro.bat b/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/Launchers/Windows/Launch_MayaPy_PyCharmPro.bat index bbccbba304..d98b8d81e7 100644 --- a/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/Launchers/Windows/Launch_MayaPy_PyCharmPro.bat +++ b/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/Launchers/Windows/Launch_MayaPy_PyCharmPro.bat @@ -63,7 +63,7 @@ set DCCSI_PYTHON_INSTALL=%LY_DEV%\Python echo DCCSI_PYTHON_INSTALL = %DCCSI_PYTHON_INSTALL% :: Wing and other IDEs probably prefer access directly to the python.exe -set DCCSI_PY_IDE = %DCCSI_PYTHON_INSTALL%\runtime\python-3.7.10-rev1-windows\python +set DCCSI_PY_IDE = %DCCSI_PYTHON_INSTALL%\runtime\python-3.7.10-rev2-windows\python echo DCCSI_PY_IDE = %DCCSI_PY_IDE% :: ide and debugger plug diff --git a/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/Launchers/Windows/Launch_VScode.bat b/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/Launchers/Windows/Launch_VScode.bat index 46b32f4fb0..120584ed6a 100644 --- a/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/Launchers/Windows/Launch_VScode.bat +++ b/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/Launchers/Windows/Launch_VScode.bat @@ -68,7 +68,7 @@ set DCCSI_PYTHON_INSTALL=%LY_DEV%\Python echo DCCSI_PYTHON_INSTALL = %DCCSI_PYTHON_INSTALL% :: Wing and other IDEs probably prefer access directly to the python.exe -set DCCSI_PY_IDE = %DCCSI_PYTHON_INSTALL%\runtime\python-3.7.10-rev1-windows\python +set DCCSI_PY_IDE = %DCCSI_PYTHON_INSTALL%\runtime\python-3.7.10-rev2-windows\python echo DCCSI_PY_IDE = %DCCSI_PY_IDE% :: ide and debugger plug diff --git a/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/Launchers/Windows/Launch_WingIDE-7-1.bat b/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/Launchers/Windows/Launch_WingIDE-7-1.bat index aa3ca76a72..c933670bab 100644 --- a/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/Launchers/Windows/Launch_WingIDE-7-1.bat +++ b/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/Launchers/Windows/Launch_WingIDE-7-1.bat @@ -62,7 +62,7 @@ set DCCSI_PYTHON_INSTALL=%LY_DEV%\Python echo DCCSI_PYTHON_INSTALL = %DCCSI_PYTHON_INSTALL% :: Wing and other IDEs probably prefer access directly to the python.exe -set DCCSI_PY_IDE = %DCCSI_PYTHON_INSTALL%\runtime\python-3.7.10-rev1-windows\python +set DCCSI_PY_IDE = %DCCSI_PYTHON_INSTALL%\runtime\python-3.7.10-rev2-windows\python echo DCCSI_PY_IDE = %DCCSI_PY_IDE% :: ide and debugger plug diff --git a/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/Launchers/Windows/Launch_mayapy_WingIDE-7-1.bat b/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/Launchers/Windows/Launch_mayapy_WingIDE-7-1.bat index f223d68ebb..631250d06b 100644 --- a/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/Launchers/Windows/Launch_mayapy_WingIDE-7-1.bat +++ b/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/Launchers/Windows/Launch_mayapy_WingIDE-7-1.bat @@ -62,7 +62,7 @@ set DCCSI_PYTHON_INSTALL=%LY_DEV%\Python echo DCCSI_PYTHON_INSTALL = %DCCSI_PYTHON_INSTALL% :: Wing and other IDEs probably prefer access directly to the python.exe -set DCCSI_PY_IDE = %DCCSI_PYTHON_INSTALL%\runtime\python-3.7.10-rev1-windows\python +set DCCSI_PY_IDE = %DCCSI_PYTHON_INSTALL%\runtime\python-3.7.10-rev2-windows\python echo DCCSI_PY_IDE = %DCCSI_PY_IDE% :: ide and debugger plug diff --git a/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/Launchers/Windows/Setuo_copy_oiio.bat b/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/Launchers/Windows/Setuo_copy_oiio.bat index 1a43e624c9..590e634d54 100644 --- a/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/Launchers/Windows/Setuo_copy_oiio.bat +++ b/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/Launchers/Windows/Setuo_copy_oiio.bat @@ -18,7 +18,7 @@ set LY_DEV=..\..\..\..\..\.. :: shared location for default O3DE python location set DCCSI_PYTHON_INSTALL=%LY_DEV%\Python -set PY_SITE=%DCCSI_PYTHON_INSTALL%\runtime\python-3.7.10-rev1-windows\python\Lib\site-packages +set PY_SITE=%DCCSI_PYTHON_INSTALL%\runtime\python-3.7.10-rev2-windows\python\Lib\site-packages set PACKAGE_LOC=C:\Depot\3rdParty\packages\openimageio-2.1.16.0-rev1-windows\OpenImageIO\2.1.16.0\win_x64\bin diff --git a/cmake/LYPython.cmake b/cmake/LYPython.cmake index 21e220f1d8..eeb9f97a55 100644 --- a/cmake/LYPython.cmake +++ b/cmake/LYPython.cmake @@ -29,8 +29,8 @@ elseif (${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Darwin" ) ly_set(LY_PYTHON_PACKAGE_HASH 3f65801894e4e44b5faa84dd85ef80ecd772dcf728cdd2d668a6e75978a32695) elseif (${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Windows" ) ly_set(LY_PYTHON_VERSION 3.7.10) - ly_set(LY_PYTHON_PACKAGE_NAME python-3.7.10-rev1-windows) - ly_set(LY_PYTHON_PACKAGE_HASH 851383addea5c54b7c6398860d04606c1053f1157c2edd801ec3d47394f73136) + ly_set(LY_PYTHON_PACKAGE_NAME python-3.7.10-rev2-windows) + ly_set(LY_PYTHON_PACKAGE_HASH 06d97488a2dbabe832ecfa832a42d3e8a7163ba95e975f032727331b0f49d280) endif() # settings and globals diff --git a/python/python.cmd b/python/python.cmd index 04c55c50c7..70c79e6789 100644 --- a/python/python.cmd +++ b/python/python.cmd @@ -17,7 +17,7 @@ SETLOCAL SET CMD_DIR=%~dp0 SET CMD_DIR=%CMD_DIR:~0,-1% -SET PYTHONHOME=%CMD_DIR%\runtime\python-3.7.10-rev1-windows\python +SET PYTHONHOME=%CMD_DIR%\runtime\python-3.7.10-rev2-windows\python IF EXIST "%PYTHONHOME%" GOTO PYTHONHOME_EXISTS diff --git a/python/python.sh b/python/python.sh index 590845dbd5..642878485b 100755 --- a/python/python.sh +++ b/python/python.sh @@ -19,7 +19,7 @@ DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" if [[ "$OSTYPE" == *"darwin"* ]]; then PYTHON=$DIR/runtime/python-3.7.10-rev1-darwin/Python.framework/Versions/3.7/bin/python3 elif [[ "$OSTYPE" == "msys" ]]; then - PYTHON=$DIR/runtime/python-3.7.10-rev1-windows/python/python.exe + PYTHON=$DIR/runtime/python-3.7.10-rev2-windows/python/python.exe else PYTHON=$DIR/runtime/python-3.7.10-rev2-linux/python/bin/python fi From d784ff8c57cefff7efd2b6bda71a053b5efda867 Mon Sep 17 00:00:00 2001 From: AMZN-AlexOteiza <82234181+AMZN-AlexOteiza@users.noreply.github.com> Date: Tue, 31 Aug 2021 09:27:14 +0100 Subject: [PATCH 23/66] Added debugger attachment utilities to the engine, fixed crash when showing console variables, improvements to timeout handling and small cleanup (#3591) * Added debugger attachment utilities to the engine, fixed crash when showing console variables Signed-off-by: Garcia Ruiz * Removed unused variables Signed-off-by: Garcia Ruiz * Removed unneded check Signed-off-by: Garcia Ruiz * Small fix for crashes/timeouts Signed-off-by: Garcia Ruiz * Removed unused variable, fixed compile error Signed-off-by: Garcia Ruiz * Fix compile Signed-off-by: Garcia Ruiz * Addressed esteban comments * Addressed tom comments Co-authored-by: Garcia Ruiz --- Code/Editor/Controls/ConsoleSCB.cpp | 4 + Code/Editor/CryEdit.cpp | 19 ++- Code/Editor/CryEditPy.cpp | 13 ++ Code/Framework/AzCore/AzCore/Debug/Trace.cpp | 36 ++++++ Code/Framework/AzCore/AzCore/Debug/Trace.h | 2 + .../Common/Apple/AzCore/Debug/Trace_Apple.cpp | 7 + .../UnixLike/AzCore/Debug/Trace_UnixLike.cpp | 7 + .../WinAPI/AzCore/Debug/Trace_WinAPI.cpp | 39 ++++++ .../ly_test_tools/o3de/editor_test.py | 121 ++++++++++++------ 9 files changed, 210 insertions(+), 38 deletions(-) diff --git a/Code/Editor/Controls/ConsoleSCB.cpp b/Code/Editor/Controls/ConsoleSCB.cpp index aed148976f..6b12348880 100644 --- a/Code/Editor/Controls/ConsoleSCB.cpp +++ b/Code/Editor/Controls/ConsoleSCB.cpp @@ -573,6 +573,10 @@ static CVarBlock* VarBlockFromConsoleVars() IVariable* pVariable = nullptr; for (int i = 0; i < cmdCount; i++) { + if (!cmds[i].data()) + { + continue; + } ICVar* pCVar = console->GetCVar(cmds[i].data()); if (!pCVar) { diff --git a/Code/Editor/CryEdit.cpp b/Code/Editor/CryEdit.cpp index ca139cc506..fe7b0a06be 100644 --- a/Code/Editor/CryEdit.cpp +++ b/Code/Editor/CryEdit.cpp @@ -551,7 +551,9 @@ public: { "NSDocumentRevisionsDebugMode", nsDocumentRevisionsDebugMode}, { "skipWelcomeScreenDialog", m_bSkipWelcomeScreenDialog}, { "autotest_mode", m_bAutotestMode}, - { "regdumpall", dummy } + { "regdumpall", dummy }, + { "attach-debugger", dummy }, // Attaches a debugger for the current application + { "wait-for-debugger", dummy }, // Waits until a debugger is attached to the current application }; QString dummyString; @@ -2290,7 +2292,7 @@ int CCryEditApp::IdleProcessing(bool bBackgroundUpdate) int res = 0; if (bIsAppWindow || m_bForceProcessIdle || m_bKeepEditorActive // Automated tests must always keep the editor active, or they can get stuck - || m_bAutotestMode) + || m_bAutotestMode || m_bRunPythonTestScript) { res = 1; bActive = true; @@ -4011,6 +4013,19 @@ extern "C" int AZ_DLL_EXPORT CryEditMain(int argc, char* argv[]) { CryAllocatorsRAII cryAllocatorsRAII; + // Debugging utilities + for (int i = 1; i < argc; ++i) + { + if (azstricmp(argv[i], "--attach-debugger") == 0) + { + AZ::Debug::Trace::AttachDebugger(); + } + else if (azstricmp(argv[i], "--wait-for-debugger") == 0) + { + AZ::Debug::Trace::WaitForDebugger(); + } + } + // ensure the EditorEventsBus context gets created inside EditorLib [[maybe_unused]] const auto& editorEventsContext = AzToolsFramework::EditorEvents::Bus::GetOrCreateContext(); diff --git a/Code/Editor/CryEditPy.cpp b/Code/Editor/CryEditPy.cpp index 10fd56c134..7a407aac37 100644 --- a/Code/Editor/CryEditPy.cpp +++ b/Code/Editor/CryEditPy.cpp @@ -401,6 +401,16 @@ inline namespace Commands { return static_cast(GetIEditor()->GetEditorConfigPlatform()); } + + bool PyAttachDebugger() + { + return AZ::Debug::Trace::AttachDebugger(); + } + + bool PyWaitForDebugger(float timeoutSeconds = -1.f) + { + return AZ::Debug::Trace::WaitForDebugger(timeoutSeconds); + } } namespace AzToolsFramework @@ -448,6 +458,9 @@ namespace AzToolsFramework addLegacyGeneral(behaviorContext->Method("start_process_detached", PyStartProcessDetached, nullptr, "Launches a detached process with an optional space separated list of arguments.")); addLegacyGeneral(behaviorContext->Method("launch_lua_editor", PyLaunchLUAEditor, nullptr, "Launches the Lua editor, may receive a list of space separate file paths, or an empty string to only open the editor.")); + addLegacyGeneral(behaviorContext->Method("attach_debugger", PyAttachDebugger, nullptr, "Prompts for attaching the debugger")); + addLegacyGeneral(behaviorContext->Method("wait_for_debugger", PyWaitForDebugger, behaviorContext->MakeDefaultValues(-1.f), "Pauses this thread execution until the debugger has been attached")); + // this will put these methods into the 'azlmbr.legacy.checkout_dialog' module auto addCheckoutDialog = [](AZ::BehaviorContext::GlobalMethodBuilder methodBuilder) { diff --git a/Code/Framework/AzCore/AzCore/Debug/Trace.cpp b/Code/Framework/AzCore/AzCore/Debug/Trace.cpp index 74ecee40e5..26c702c13a 100644 --- a/Code/Framework/AzCore/AzCore/Debug/Trace.cpp +++ b/Code/Framework/AzCore/AzCore/Debug/Trace.cpp @@ -25,6 +25,7 @@ #include #include #include +#include namespace AZ { @@ -33,6 +34,7 @@ namespace AZ namespace Platform { #if defined(AZ_ENABLE_DEBUG_TOOLS) + bool AttachDebugger(); bool IsDebuggerPresent(); void HandleExceptions(bool isEnabled); void DebugBreak(); @@ -141,6 +143,40 @@ namespace AZ #endif } + bool + Trace::AttachDebugger() + { +#if defined(AZ_ENABLE_DEBUG_TOOLS) + return Platform::AttachDebugger(); +#else + return false; +#endif + } + + bool + Trace::WaitForDebugger(float timeoutSeconds/*=-1.f*/) + { +#if defined(AZ_ENABLE_DEBUG_TOOLS) + using AZStd::chrono::system_clock; + using AZStd::chrono::time_point; + using AZStd::chrono::milliseconds; + + milliseconds timeoutMs = milliseconds(aznumeric_cast(timeoutSeconds * 1000)); + system_clock clock; + time_point start = clock.now(); + auto hasTimedOut = [&clock, start, timeoutMs]() + { + return timeoutMs.count() >= 0 && (clock.now() - start) >= timeoutMs; + }; + + while (!AZ::Debug::Trace::IsDebuggerPresent() && !hasTimedOut()) + { + AZStd::this_thread::sleep_for(milliseconds(1)); + } + return AZ::Debug::Trace::IsDebuggerPresent(); +#endif + } + //========================================================================= // HandleExceptions // [8/3/2009] diff --git a/Code/Framework/AzCore/AzCore/Debug/Trace.h b/Code/Framework/AzCore/AzCore/Debug/Trace.h index bae074281c..b00a1cd921 100644 --- a/Code/Framework/AzCore/AzCore/Debug/Trace.h +++ b/Code/Framework/AzCore/AzCore/Debug/Trace.h @@ -49,6 +49,8 @@ namespace AZ */ static const char* GetDefaultSystemWindow(); static bool IsDebuggerPresent(); + static bool AttachDebugger(); + static bool WaitForDebugger(float timeoutSeconds = -1.f); /// True or false if we want to handle system exceptions. static void HandleExceptions(bool isEnabled); diff --git a/Code/Framework/AzCore/Platform/Common/Apple/AzCore/Debug/Trace_Apple.cpp b/Code/Framework/AzCore/Platform/Common/Apple/AzCore/Debug/Trace_Apple.cpp index 4ae25bfaf9..f9d4806bcb 100644 --- a/Code/Framework/AzCore/Platform/Common/Apple/AzCore/Debug/Trace_Apple.cpp +++ b/Code/Framework/AzCore/Platform/Common/Apple/AzCore/Debug/Trace_Apple.cpp @@ -56,6 +56,13 @@ namespace AZ return ((info.kp_proc.p_flag & P_TRACED) != 0); } + bool AttachDebugger() + { + // Not supported yet + AZ_Assert(false, "AttachDebugger() is not supported for Mac platform yet"); + return false; + } + void HandleExceptions(bool) {} diff --git a/Code/Framework/AzCore/Platform/Common/UnixLike/AzCore/Debug/Trace_UnixLike.cpp b/Code/Framework/AzCore/Platform/Common/UnixLike/AzCore/Debug/Trace_UnixLike.cpp index 545a712df8..e9c0234ffa 100644 --- a/Code/Framework/AzCore/Platform/Common/UnixLike/AzCore/Debug/Trace_UnixLike.cpp +++ b/Code/Framework/AzCore/Platform/Common/UnixLike/AzCore/Debug/Trace_UnixLike.cpp @@ -60,6 +60,13 @@ namespace AZ return s_debuggerDetected; } + bool AttachDebugger() + { + // Not supported yet + AZ_Assert(false, "AttachDebugger() is not supported for Unix platform yet"); + return false; + } + void HandleExceptions(bool) {} diff --git a/Code/Framework/AzCore/Platform/Common/WinAPI/AzCore/Debug/Trace_WinAPI.cpp b/Code/Framework/AzCore/Platform/Common/WinAPI/AzCore/Debug/Trace_WinAPI.cpp index 02c1988215..28d3459ba3 100644 --- a/Code/Framework/AzCore/Platform/Common/WinAPI/AzCore/Debug/Trace_WinAPI.cpp +++ b/Code/Framework/AzCore/Platform/Common/WinAPI/AzCore/Debug/Trace_WinAPI.cpp @@ -49,6 +49,45 @@ namespace AZ } } + bool AttachDebugger() + { + if (IsDebuggerPresent()) + { + return true; + } + + // Launch vsjitdebugger.exe, this app is always present in System32 folder + // with an installation of any version of visual studio. + // It will open a debugging dialog asking the user what debugger to use + + STARTUPINFOW startupInfo = {0}; + startupInfo.cb = sizeof(startupInfo); + PROCESS_INFORMATION processInfo = {0}; + + wchar_t cmdline[MAX_PATH]; + swprintf_s(cmdline, L"vsjitdebugger.exe -p %li", ::GetCurrentProcessId()); + bool success = ::CreateProcessW( + NULL, // No module name (use command line) + cmdline, // Command line + NULL, // Process handle not inheritable + NULL, // Thread handle not inheritable + FALSE, // No handle inheritance + 0, // No creation flags + NULL, // Use parent's environment block + NULL, // Use parent's starting directory + &startupInfo, // Pointer to STARTUPINFO structure + &processInfo); // Pointer to PROCESS_INFORMATION structure + + if (success) + { + ::WaitForSingleObject(processInfo.hProcess, INFINITE); + ::CloseHandle(processInfo.hProcess); + ::CloseHandle(processInfo.hThread); + return true; + } + return false; + } + void DebugBreak() { __debugbreak(); diff --git a/Tools/LyTestTools/ly_test_tools/o3de/editor_test.py b/Tools/LyTestTools/ly_test_tools/o3de/editor_test.py index 4e15f32b37..781977cf33 100644 --- a/Tools/LyTestTools/ly_test_tools/o3de/editor_test.py +++ b/Tools/LyTestTools/ly_test_tools/o3de/editor_test.py @@ -59,6 +59,11 @@ class EditorTestBase(ABC): timeout = 180 # Test file that this test will run test_module = None + # Attach debugger when running the test, useful for debugging crashes. This should never be True on production. + # It's also recommended to switch to EditorSingleTest for debugging in isolation + attach_debugger = False + # Wait until a debugger is attached at the startup of the test, this is another way of debugging. + wait_for_debugger = False # Test that will be run alone in one editor class EditorSingleTest(EditorTestBase): @@ -117,8 +122,9 @@ class Result: class Pass(Base): @classmethod - def create(cls, output : str, editor_log : str): + def create(cls, test_spec : EditorTestBase, output : str, editor_log : str): r = cls() + r.test_spec = test_spec r.output = output r.editor_log = editor_log return r @@ -135,8 +141,9 @@ class Result: class Fail(Base): @classmethod - def create(cls, output, editor_log : str): + def create(cls, test_spec : EditorTestBase, output, editor_log : str): r = cls() + r.test_spec = test_spec r.output = output r.editor_log = editor_log return r @@ -157,9 +164,10 @@ class Result: class Crash(Base): @classmethod - def create(cls, output : str, ret_code : int, stacktrace : str, editor_log : str): + def create(cls, test_spec : EditorTestBase, output : str, ret_code : int, stacktrace : str, editor_log : str): r = cls() r.output = output + r.test_spec = test_spec r.ret_code = ret_code r.stacktrace = stacktrace r.editor_log = editor_log @@ -187,9 +195,10 @@ class Result: class Timeout(Base): @classmethod - def create(cls, output : str, time_secs : float, editor_log : str): + def create(cls, test_spec : EditorTestBase, output : str, time_secs : float, editor_log : str): r = cls() r.output = output + r.test_spec = test_spec r.time_secs = time_secs r.editor_log = editor_log return r @@ -210,9 +219,10 @@ class Result: class Unknown(Base): @classmethod - def create(cls, output : str, extra_info : str, editor_log : str): + def create(cls, test_spec : EditorTestBase, output : str, extra_info : str, editor_log : str): r = cls() r.output = output + r.test_spec = test_spec r.editor_log = editor_log r.extra_info = extra_info return r @@ -255,7 +265,7 @@ class EditorTestSuite(): def editor_test_data(self, request): class TestData(): def __init__(self): - self.results = {} + self.results = {} # Dict of str(test_spec.__name__) -> Result self.asset_processor = None test_data = TestData() @@ -548,7 +558,7 @@ class EditorTestSuite(): for test_spec in test_spec_list: name = editor_utils.get_module_filename(test_spec.test_module) if name not in found_jsons.keys(): - results[test_spec.__name__] = Result.Unknown.create(output, "Couldn't find any test run information on stdout", editor_log_content) + results[test_spec.__name__] = Result.Unknown.create(test_spec, output, "Couldn't find any test run information on stdout", editor_log_content) else: result = None json_result = found_jsons[name] @@ -564,9 +574,9 @@ class EditorTestSuite(): log_start = end if json_result["success"]: - result = Result.Pass.create(json_output, cur_log) + result = Result.Pass.create(test_spec, json_output, cur_log) else: - result = Result.Fail.create(json_output, cur_log) + result = Result.Fail.create(test_spec, json_output, cur_log) results[test_spec.__name__] = result return results @@ -587,8 +597,13 @@ class EditorTestSuite(): test_spec : EditorTestBase, cmdline_args : List[str] = []): test_cmdline_args = self.global_extra_cmdline_args + cmdline_args - if test_spec.use_null_renderer or (test_spec.use_null_renderer is None and self.use_null_renderer): + test_spec_uses_null_renderer = getattr(test_spec, "use_null_renderer", None) + if test_spec_uses_null_renderer or (test_spec_uses_null_renderer is None and self.use_null_renderer): test_cmdline_args += ["-rhi=null"] + if test_spec.attach_debugger: + test_cmdline_args += ["--attach-debugger"] + if test_spec.wait_for_debugger: + test_cmdline_args += ["--wait-for-debugger"] # Cycle any old crash report in case it wasn't cycled properly editor_utils.cycle_crash_report(run_id, workspace) @@ -610,18 +625,18 @@ class EditorTestSuite(): editor_log_content = editor_utils.retrieve_editor_log_content(run_id, log_name, workspace) if return_code == 0: - test_result = Result.Pass.create(output, editor_log_content) + test_result = Result.Pass.create(test_spec, output, editor_log_content) else: has_crashed = return_code != EditorTestSuite._TEST_FAIL_RETCODE if has_crashed: - test_result = Result.Crash.create(output, return_code, editor_utils.retrieve_crash_output(run_id, workspace, self._TIMEOUT_CRASH_LOG), None) + test_result = Result.Crash.create(test_spec, output, return_code, editor_utils.retrieve_crash_output(run_id, workspace, self._TIMEOUT_CRASH_LOG), None) editor_utils.cycle_crash_report(run_id, workspace) else: - test_result = Result.Fail.create(output, editor_log_content) + test_result = Result.Fail.create(test_spec, output, editor_log_content) except WaitTimeoutError: editor.kill() editor_log_content = editor_utils.retrieve_editor_log_content(run_id, log_name, workspace) - test_result = Result.Timeout.create(output, test_spec.timeout, editor_log_content) + test_result = Result.Timeout.create(test_spec, output, test_spec.timeout, editor_log_content) editor_log_content = editor_utils.retrieve_editor_log_content(run_id, log_name, workspace) results = self._get_results_using_output([test_spec], output, editor_log_content) @@ -629,13 +644,17 @@ class EditorTestSuite(): return results # Starts an editor executable with a list of tests and returns a dict of the result of every test ran within that editor - # instance. In case of failure this function also parses the editor output to find out what specific tests that failed + # instance. In case of failure this function also parses the editor output to find out what specific tests failed def _exec_editor_multitest(self, request, workspace, editor, run_id : int, log_name : str, test_spec_list : List[EditorTestBase], cmdline_args=[]): test_cmdline_args = self.global_extra_cmdline_args + cmdline_args if self.use_null_renderer: test_cmdline_args += ["-rhi=null"] + if any([t.attach_debugger for t in test_spec_list]): + test_cmdline_args += ["--attach-debugger"] + if any([t.wait_for_debugger for t in test_spec_list]): + test_cmdline_args += ["--wait-for-debugger"] # Cycle any old crash report in case it wasn't cycled properly editor_utils.cycle_crash_report(run_id, workspace) @@ -661,35 +680,65 @@ class EditorTestSuite(): if return_code == 0: # No need to scrap the output, as all the tests have passed for test_spec in test_spec_list: - results[test_spec.__name__] = Result.Pass.create(output, editor_log_content) + results[test_spec.__name__] = Result.Pass.create(test_spec, output, editor_log_content) else: + # Scrap the output to attempt to find out which tests failed. + # This function should always populate the result list, if it didn't find it, it will have "Unknown" type of result results = self._get_results_using_output(test_spec_list, output, editor_log_content) + assert len(results) == len(test_spec_list), "bug in _get_results_using_output(), the number of results don't match the tests ran" + + # If the editor crashed, find out in which test it happened and update the results has_crashed = return_code != EditorTestSuite._TEST_FAIL_RETCODE if has_crashed: - crashed_test = None - for key, result in results.items(): + crashed_result = None + for test_spec_name, result in results.items(): if isinstance(result, Result.Unknown): - if not crashed_test: + if not crashed_result: + # The first test with "Unknown" result (no data in output) is likely the one that crashed crash_error = editor_utils.retrieve_crash_output(run_id, workspace, self._TIMEOUT_CRASH_LOG) editor_utils.cycle_crash_report(run_id, workspace) - results[key] = Result.Crash.create(output, return_code, crash_error, result.editor_log) - crashed_test = results[key] + results[test_spec_name] = Result.Crash.create(result.test_spec, output, return_code, crash_error, result.editor_log) + crashed_result = result else: - results[key] = Result.Unknown.create(output, f"This test has unknown result, test '{crashed_test.__name__}' crashed before this test could be executed", result.editor_log) + # If there are remaning "Unknown" results, these couldn't execute because of the crash, update with info about the offender + results[test_spec_name].extra_info = f"This test has unknown result, test '{crashed_result.test_spec.__name__}' crashed before this test could be executed" - except WaitTimeoutError: - results = self._get_results_using_output(test_spec_list, output, editor_log_content) - editor_log_content = editor_utils.retrieve_editor_log_content(run_id, log_name, workspace) + # if all the tests ran, the one that has caused the crash is the last test + if not crashed_result: + crash_error = editor_utils.retrieve_crash_output(run_id, workspace, self._TIMEOUT_CRASH_LOG) + editor_utils.cycle_crash_report(run_id, workspace) + results[test_spec_name] = Result.Crash.create(crashed_result.test_spec, output, return_code, crash_error, crashed_result.editor_log) + + + except WaitTimeoutError: editor.kill() - for key, result in results.items(): + + output = editor.get_output() + editor_log_content = editor_utils.retrieve_editor_log_content(run_id, log_name, workspace) + + # The editor timed out when running the tests, get the data from the output to find out which ones ran + results = self._get_results_using_output(test_spec_list, output, editor_log_content) + assert len(results) == len(test_spec_list), "bug in _get_results_using_output(), the number of results don't match the tests ran" + + # Similar logic here as crashes, the first test that has no result is the one that timed out + timed_out_result = None + for test_spec_name, result in results.items(): if isinstance(result, Result.Unknown): - results[key] = Result.Timeout.create(result.output, total_timeout, result.editor_log) - # FIX-ME + if not timed_out_result: + results[test_spec_name] = Result.Timeout.create(result.test_spec, result.output, self.timeout_editor_shared_test, result.editor_log) + timed_out_result = result + else: + # If there are remaning "Unknown" results, these couldn't execute because of the timeout, update with info about the offender + results[test_spec_name].extra_info = f"This test has unknown result, test '{timed_out_result.test_spec.__name__}' timed out before this test could be executed" + + # if all the tests ran, the one that has caused the timeout is the last test, as it didn't close the editor + if not timed_out_result: + results[test_spec_name] = Result.Timeout.create(timed_out_result.test_spec, results[test_spec_name].output, self.timeout_editor_shared_test, result.editor_log) return results - # Runs a single test with the given specs, used by the collector to register the test - def _run_single_test(self, request, workspace, editor, editor_test_data, test_spec : EditorTestBase): + # Runs a single test (one editor, one test) with the given specs + def _run_single_test(self, request, workspace, editor, editor_test_data, test_spec : EditorSingleTest): self._setup_editor_test(editor, workspace, editor_test_data) extra_cmdline_args = [] if hasattr(test_spec, "extra_cmdline_args"): @@ -700,8 +749,8 @@ class EditorTestSuite(): test_name, test_result = next(iter(results.items())) self._report_result(test_name, test_result) - # Runs a batch of tests in one single editor with the given spec list - def _run_batched_tests(self, request, workspace, editor, editor_test_data, test_spec_list : List[EditorTestBase], extra_cmdline_args=[]): + # Runs a batch of tests in one single editor with the given spec list (one editor, multiple tests) + def _run_batched_tests(self, request, workspace, editor, editor_test_data, test_spec_list : List[EditorSharedTest], extra_cmdline_args=[]): if not test_spec_list: return @@ -710,8 +759,8 @@ class EditorTestSuite(): assert results is not None editor_test_data.results.update(results) - # Runs multiple editors with one test on each editor - def _run_parallel_tests(self, request, workspace, editor, editor_test_data, test_spec_list : List[EditorTestBase], extra_cmdline_args=[]): + # Runs multiple editors with one test on each editor (multiple editor, one test each) + def _run_parallel_tests(self, request, workspace, editor, editor_test_data, test_spec_list : List[EditorSharedTest], extra_cmdline_args=[]): if not test_spec_list: return @@ -747,8 +796,8 @@ class EditorTestSuite(): for result in results_per_thread: editor_test_data.results.update(result) - # Runs multiple editors with a batch of tests for each editor - def _run_parallel_batched_tests(self, request, workspace, editor, editor_test_data, test_spec_list : List[EditorTestBase], extra_cmdline_args=[]): + # Runs multiple editors with a batch of tests for each editor (multiple editor, multiple tests each) + def _run_parallel_batched_tests(self, request, workspace, editor, editor_test_data, test_spec_list : List[EditorSharedTest], extra_cmdline_args=[]): if not test_spec_list: return From 77e630085b190ed1182f7b00c965a723a625ca71 Mon Sep 17 00:00:00 2001 From: AMZN-AlexOteiza <82234181+AMZN-AlexOteiza@users.noreply.github.com> Date: Tue, 31 Aug 2021 10:04:24 +0100 Subject: [PATCH 24/66] Overhaul physics test organization (#3684) * Moved files Signed-off-by: Garcia Ruiz * Fixes for moved files Signed-off-by: Garcia Ruiz * Removed tmp file Signed-off-by: Garcia Ruiz Co-authored-by: Garcia Ruiz --- .../editor_python_test_tools/asset_utils.py | 47 +++++ .../PythonTests/physics/ImportPathHelper.py | 11 -- .../physics/TestSuite_InDevelopment.py | 96 +++++----- .../Gem/PythonTests/physics/TestSuite_Main.py | 26 +-- .../physics/TestSuite_Main_Optimized.py | 177 +++++++++-------- .../PythonTests/physics/TestSuite_Periodic.py | 178 +++++++++--------- .../PythonTests/physics/TestSuite_Sandbox.py | 8 +- .../PythonTests/physics/TestSuite_Utils.py | 6 +- ...654881_CharacterController_SwitchLevels.py | 8 - ...00000_RigidBody_EnablingGravityWorksPoC.py | 8 - ...ablingGravityWorksUsingNotificationsPoC.py | 8 - .../C14861498_ConfirmError_NoPxMesh.py | 8 - .../C14861500_DefaultSetting_ColliderShape.py | 5 - ...01_PhysXCollider_RenderMeshAutoAssigned.py | 7 +- ...4861502_PhysXCollider_AssetAutoAssigned.py | 7 +- ...C14861504_RenderMeshAsset_WithNoPxAsset.py | 9 +- ...78018_ShapeColliderWithNoShapeComponent.py | 5 - .../C19578021_ShapeCollider_CanBeAdded.py | 5 - ...19723164_ShapeColliders_WontCrashEditor.py | 5 - ...rShapeCollider_CollidesWithPhysXTerrain.py | 5 - .../C3510644_Collider_CollisionGroups.py | 8 - ...695_PhysXCollider_AddMultipleSurfaceFbx.py | 7 +- .../C4976227_Collider_NewGroup.py | 8 - .../C4976236_AddPhysxColliderComponent.py | 7 +- ...on_SameCollisionlayerSameCollisiongroup.py | 8 - ...n_SameCollisionGroupDiffCollisionLayers.py | 8 - ...44_Collider_SameGroupSameLayerCollision.py | 8 - ...976245_PhysXCollider_CollisionLayerTest.py | 8 - ...982593_PhysXCollider_CollisionLayerTest.py | 8 - ...82595_Collider_TriggerDisablesCollision.py | 8 - .../C4982797_Collider_ColliderOffset.py | 5 - ...4982798_Collider_ColliderRotationOffset.py | 5 - ...982800_PhysXColliderShape_CanBeSelected.py | 5 - ...982801_PhysXColliderShape_CanBeSelected.py | 5 - ...982802_PhysXColliderShape_CanBeSelected.py | 5 - .../C4982803_Enable_PxMesh_Option.py | 7 +- ...eRegion_DirectionHasNoAffectOnMagnitude.py | 8 - ...580_ForceRegion_SplineModifiedTransform.py | 9 - ...12905527_ForceRegion_MagnitudeDeviation.py | 9 - ...5528_ForceRegion_WithNonTriggerCollider.py | 15 +- ...5879_ForceRegion_HighLinearDampingForce.py | 8 - ...932040_ForceRegion_CubeExertsWorldForce.py | 8 - ...orceRegion_LocalSpaceForceOnRigidBodies.py | 8 - ...C5932042_PhysXForceRegion_LinearDamping.py | 8 - ...043_ForceRegion_SimpleDragOnRigidBodies.py | 5 - ...32044_ForceRegion_PointForceOnRigidBody.py | 8 - .../C5932045_ForceRegion_Spline.py | 8 - ...9_RigidBody_ForceRegionSpherePointForce.py | 8 - ...760_PhysXForceRegion_PointForceExertion.py | 8 - ...1_ForceRegion_PhysAssetExertsPointForce.py | 9 - ...763_ForceRegion_ForceRegionImpulsesCube.py | 5 - ..._ForceRegion_ForceRegionImpulsesCapsule.py | 5 - .../C5959765_ForceRegion_AssetGetsImpulsed.py | 5 - .../C5959808_ForceRegion_PositionOffset.py | 8 - .../C5959809_ForceRegion_RotationalOffset.py | 8 - ...0_ForceRegion_ForceRegionCombinesForces.py | 8 - ...ceRegion_ExertsSeveralForcesOnRigidBody.py | 5 - ...5968760_ForceRegion_CheckNetForceChange.py | 8 - ...90546_ForceRegion_SliceFileInstantiates.py | 8 - ...547_ForceRegion_ParentChildForceRegions.py | 8 - ...550_ForceRegion_WorldSpaceForceNegative.py | 8 - ...551_ForceRegion_LocalSpaceForceNegative.py | 8 - ...90552_ForceRegion_LinearDampingNegative.py | 8 - ...orceRegion_SimpleDragForceOnRigidBodies.py | 8 - ...C6090554_ForceRegion_PointForceNegative.py | 8 - ...5_ForceRegion_SplineFollowOnRigidBodies.py | 8 - .../C6321601_Force_HighValuesDirectionAxes.py | 9 - .../C14976307_Gravity_SetGravityWorks.py | 8 - .../{ => general}/C15425929_Undo_Redo.py | 8 - .../C19536274_GetCollisionName_PrintsName.py | 7 +- ...19536277_GetCollisionName_PrintsNothing.py | 7 +- ...2500_EditorComponents_WorldBodyBusWorks.py | 8 - ..._Verify_Terrain_RigidBody_Collider_Mesh.py | 8 - ...6131473_StaticSlice_OnDynamicSliceSpawn.py | 8 - ...18243580_Joints_Fixed2BodiesConstrained.py | 8 - .../C18243581_Joints_FixedBreakable.py | 8 - ...8243582_Joints_FixedLeadFollowerCollide.py | 8 - ...18243583_Joints_Hinge2BodiesConstrained.py | 8 - ...43584_Joints_HingeSoftLimitsConstrained.py | 5 - ...8243585_Joints_HingeNoLimitsConstrained.py | 8 - ...8243586_Joints_HingeLeadFollowerCollide.py | 8 - .../C18243587_Joints_HingeBreakable.py | 8 - ...C18243588_Joints_Ball2BodiesConstrained.py | 8 - ...243589_Joints_BallSoftLimitsConstrained.py | 5 - ...18243590_Joints_BallNoLimitsConstrained.py | 8 - ...18243591_Joints_BallLeadFollowerCollide.py | 8 - .../C18243592_Joints_BallBreakable.py | 8 - ...C18243593_Joints_GlobalFrameConstrained.py | 8 - .../physics/{ => joints}/JointsHelper.py | 4 - .../{ => material}/AddModifyDelete_Utils.py | 0 ...DefaultLibraryUpdatedAcrossLevels_after.py | 8 - ...efaultLibraryUpdatedAcrossLevels_before.py | 8 - ...735_Materials_DefaultLibraryConsistency.py | 8 - ...Materials_DefaultMaterialLibraryChanges.py | 5 - ...096740_Material_LibraryUpdatedCorrectly.py | 7 +- ...21_Material_ComponentsInSyncWithLibrary.py | 8 - ...935_Material_LibraryUpdatedAcrossLevels.py | 9 - ...s_CharacterControllerMaterialAssignment.py | 8 - ...al_AddModifyDeleteOnCharacterController.py | 8 - ...977601_Material_FrictionCombinePriority.py | 9 - ...526_Material_RestitutionCombinePriority.py | 8 - ...044455_Material_libraryChangesInstantly.py | 8 - .../C4044456_Material_FrictionCombine.py | 8 - .../C4044457_Material_RestitutionCombine.py | 8 - .../C4044459_Material_DynamicFriction.py | 8 - .../C4044460_Material_StaticFriction.py | 8 - .../C4044461_Material_Restitution.py | 8 - ...044694_Material_EmptyLibraryUsesDefault.py | 8 - ...4697_Material_PerfaceMaterialValidation.py | 8 - ...8315_Material_AddModifyDeleteOnCollider.py | 8 - ...577_Materials_MaterialAssignedToTerrain.py | 8 - ...25579_Material_AddModifyDeleteOnTerrain.py | 8 - .../C4925580_Material_RagdollBonesMaterial.py | 8 - ..._Material_AddModifyDeleteOnRagdollBones.py | 8 - .../C5296614_PhysXMaterial_ColliderShape.py | 8 - .../{ => material}/Physmaterial_Editor.py | 0 .../C13895144_Ragdoll_ChangeLevel.py | 8 - .../C14654882_Ragdoll_ragdollAPTest.py | 8 - .../C17411467_AddPhysxRagdollComponent.py | 8 - .../C28978033_Ragdoll_WorldBodyBusTests.py | 8 - .../C13351703_COM_NotIncludeTriggerShapes.py | 8 - ...13352089_RigidBodies_MaxAngularVelocity.py | 5 - ...4976194_RigidBody_PhysXComponentIsValid.py | 5 - ...76195_RigidBodies_InitialLinearVelocity.py | 8 - ...6197_RigidBodies_InitialAngularVelocity.py | 5 - ...9_RigidBodies_LinearDampingObjectMotion.py | 8 - ..._RigidBody_AngularDampingObjectRotation.py | 5 - .../C4976201_RigidBody_MassIsAssigned.py | 8 - ...igidBody_StopsWhenBelowKineticThreshold.py | 8 - .../C4976204_Verify_Start_Asleep_Condition.py | 8 - ...976206_RigidBodies_GravityEnabledActive.py | 8 - ...6207_PhysXRigidBodies_KinematicBehavior.py | 8 - .../C4976209_RigidBody_ComputesCOM.py | 8 - .../C4976210_COM_ManualSetting.py | 5 - ...8_RigidBodies_InertiaObjectsNotComputed.py | 8 - ...5340400_RigidBody_ManualMomentOfInertia.py | 8 - .../C12712452_ScriptCanvas_CollisionEvents.py | 8 - ...712453_ScriptCanvas_MultipleRaycastNode.py | 8 - ...54_ScriptCanvas_OverlapNodeVerification.py | 8 - ...2455_ScriptCanvas_ShapeCastVerification.py | 8 - .../C14195074_ScriptCanvas_PostUpdateEvent.py | 8 - .../C14902097_ScriptCanvas_PreUpdateEvent.py | 5 - ...14902098_ScriptCanvas_PostPhysicsUpdate.py | 8 - ...criptCanvas_SetKinematicTargetTransform.py | 8 - .../C6224408_ScriptCanvas_EntitySpawn.py | 8 - .../C6274125_ScriptCanvas_TriggerEvents.py | 8 - ...8019_Terrain_TerrainTexturePainterWorks.py | 5 - .../C15308217_NoCrash_LevelSwitch.py | 8 - .../C3510642_Terrain_NotCollideWithTerrain.py | 8 - ...8_PhysXTerrain_CollidesWithPhysXTerrain.py | 8 - ...ysxterrain_AddPhysxterrainNoEditorCrash.py | 8 - ..._MultipleTerrains_CheckWarningInConsole.py | 9 - ...89528_Terrain_MultipleTerrainComponents.py | 8 - ...31_Warning_TerrainSliceTerrainComponent.py | 8 - ...032082_Terrain_MultipleResolutionsValid.py | 8 - .../physics/{ => utils}/FileManagement.py | 0 .../{ => utils}/UtilTest_Managed_Files.py | 5 - .../UtilTest_Physmaterial_Editor.py | 2 - .../UtilTest_PhysxConfig_Default.py | 0 .../UtilTest_PhysxConfig_Override.py | 0 .../UtilTest_Tracer_PicksErrorsAndWarnings.py | 5 - 161 files changed, 316 insertions(+), 1333 deletions(-) create mode 100644 AutomatedTesting/Gem/PythonTests/EditorPythonTestTools/editor_python_test_tools/asset_utils.py delete mode 100755 AutomatedTesting/Gem/PythonTests/physics/ImportPathHelper.py rename AutomatedTesting/Gem/PythonTests/physics/{ => character_controller}/C14654881_CharacterController_SwitchLevels.py (96%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => collider}/C100000_RigidBody_EnablingGravityWorksPoC.py (96%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => collider}/C111111_RigidBody_EnablingGravityWorksUsingNotificationsPoC.py (96%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => collider}/C14861498_ConfirmError_NoPxMesh.py (95%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => collider}/C14861500_DefaultSetting_ColliderShape.py (95%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => collider}/C14861501_PhysXCollider_RenderMeshAutoAssigned.py (96%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => collider}/C14861502_PhysXCollider_AssetAutoAssigned.py (96%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => collider}/C14861504_RenderMeshAsset_WithNoPxAsset.py (95%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => collider}/C19578018_ShapeColliderWithNoShapeComponent.py (96%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => collider}/C19578021_ShapeCollider_CanBeAdded.py (96%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => collider}/C19723164_ShapeColliders_WontCrashEditor.py (96%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => collider}/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain.py (97%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => collider}/C3510644_Collider_CollisionGroups.py (99%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => collider}/C4044695_PhysXCollider_AddMultipleSurfaceFbx.py (97%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => collider}/C4976227_Collider_NewGroup.py (95%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => collider}/C4976236_AddPhysxColliderComponent.py (95%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => collider}/C4976242_Collision_SameCollisionlayerSameCollisiongroup.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => collider}/C4976243_Collision_SameCollisionGroupDiffCollisionLayers.py (97%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => collider}/C4976244_Collider_SameGroupSameLayerCollision.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => collider}/C4976245_PhysXCollider_CollisionLayerTest.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => collider}/C4982593_PhysXCollider_CollisionLayerTest.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => collider}/C4982595_Collider_TriggerDisablesCollision.py (99%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => collider}/C4982797_Collider_ColliderOffset.py (99%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => collider}/C4982798_Collider_ColliderRotationOffset.py (99%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => collider}/C4982800_PhysXColliderShape_CanBeSelected.py (96%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => collider}/C4982801_PhysXColliderShape_CanBeSelected.py (97%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => collider}/C4982802_PhysXColliderShape_CanBeSelected.py (97%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => collider}/C4982803_Enable_PxMesh_Option.py (97%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => force_region}/C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude.py (99%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => force_region}/C12868580_ForceRegion_SplineModifiedTransform.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => force_region}/C12905527_ForceRegion_MagnitudeDeviation.py (97%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => force_region}/C12905528_ForceRegion_WithNonTriggerCollider.py (89%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => force_region}/C15845879_ForceRegion_HighLinearDampingForce.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => force_region}/C5932040_ForceRegion_CubeExertsWorldForce.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => force_region}/C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => force_region}/C5932042_PhysXForceRegion_LinearDamping.py (99%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => force_region}/C5932043_ForceRegion_SimpleDragOnRigidBodies.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => force_region}/C5932044_ForceRegion_PointForceOnRigidBody.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => force_region}/C5932045_ForceRegion_Spline.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => force_region}/C5959759_RigidBody_ForceRegionSpherePointForce.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => force_region}/C5959760_PhysXForceRegion_PointForceExertion.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => force_region}/C5959761_ForceRegion_PhysAssetExertsPointForce.py (97%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => force_region}/C5959763_ForceRegion_ForceRegionImpulsesCube.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => force_region}/C5959764_ForceRegion_ForceRegionImpulsesCapsule.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => force_region}/C5959765_ForceRegion_AssetGetsImpulsed.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => force_region}/C5959808_ForceRegion_PositionOffset.py (99%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => force_region}/C5959809_ForceRegion_RotationalOffset.py (99%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => force_region}/C5959810_ForceRegion_ForceRegionCombinesForces.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => force_region}/C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => force_region}/C5968760_ForceRegion_CheckNetForceChange.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => force_region}/C6090546_ForceRegion_SliceFileInstantiates.py (97%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => force_region}/C6090547_ForceRegion_ParentChildForceRegions.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => force_region}/C6090550_ForceRegion_WorldSpaceForceNegative.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => force_region}/C6090551_ForceRegion_LocalSpaceForceNegative.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => force_region}/C6090552_ForceRegion_LinearDampingNegative.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => force_region}/C6090553_ForceRegion_SimpleDragForceOnRigidBodies.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => force_region}/C6090554_ForceRegion_PointForceNegative.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => force_region}/C6090555_ForceRegion_SplineFollowOnRigidBodies.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => force_region}/C6321601_Force_HighValuesDirectionAxes.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => general}/C14976307_Gravity_SetGravityWorks.py (97%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => general}/C15425929_Undo_Redo.py (96%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => general}/C19536274_GetCollisionName_PrintsName.py (93%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => general}/C19536277_GetCollisionName_PrintsNothing.py (93%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => general}/C29032500_EditorComponents_WorldBodyBusWorks.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => general}/C5689529_Verify_Terrain_RigidBody_Collider_Mesh.py (97%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => general}/C6131473_StaticSlice_OnDynamicSliceSpawn.py (96%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => joints}/C18243580_Joints_Fixed2BodiesConstrained.py (96%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => joints}/C18243581_Joints_FixedBreakable.py (96%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => joints}/C18243582_Joints_FixedLeadFollowerCollide.py (96%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => joints}/C18243583_Joints_Hinge2BodiesConstrained.py (97%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => joints}/C18243584_Joints_HingeSoftLimitsConstrained.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => joints}/C18243585_Joints_HingeNoLimitsConstrained.py (97%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => joints}/C18243586_Joints_HingeLeadFollowerCollide.py (96%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => joints}/C18243587_Joints_HingeBreakable.py (97%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => joints}/C18243588_Joints_Ball2BodiesConstrained.py (97%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => joints}/C18243589_Joints_BallSoftLimitsConstrained.py (97%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => joints}/C18243590_Joints_BallNoLimitsConstrained.py (97%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => joints}/C18243591_Joints_BallLeadFollowerCollide.py (96%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => joints}/C18243592_Joints_BallBreakable.py (97%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => joints}/C18243593_Joints_GlobalFrameConstrained.py (97%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => joints}/JointsHelper.py (97%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => material}/AddModifyDelete_Utils.py (100%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => material}/C15096732_Material_DefaultLibraryUpdatedAcrossLevels_after.py (99%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => material}/C15096732_Material_DefaultLibraryUpdatedAcrossLevels_before.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => material}/C15096735_Materials_DefaultLibraryConsistency.py (99%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => material}/C15096737_Materials_DefaultMaterialLibraryChanges.py (99%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => material}/C15096740_Material_LibraryUpdatedCorrectly.py (96%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => material}/C15308221_Material_ComponentsInSyncWithLibrary.py (99%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => material}/C15425935_Material_LibraryUpdatedAcrossLevels.py (99%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => material}/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => material}/C15563573_Material_AddModifyDeleteOnCharacterController.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => material}/C18977601_Material_FrictionCombinePriority.py (99%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => material}/C18981526_Material_RestitutionCombinePriority.py (99%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => material}/C4044455_Material_libraryChangesInstantly.py (99%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => material}/C4044456_Material_FrictionCombine.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => material}/C4044457_Material_RestitutionCombine.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => material}/C4044459_Material_DynamicFriction.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => material}/C4044460_Material_StaticFriction.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => material}/C4044461_Material_Restitution.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => material}/C4044694_Material_EmptyLibraryUsesDefault.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => material}/C4044697_Material_PerfaceMaterialValidation.py (99%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => material}/C4888315_Material_AddModifyDeleteOnCollider.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => material}/C4925577_Materials_MaterialAssignedToTerrain.py (99%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => material}/C4925579_Material_AddModifyDeleteOnTerrain.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => material}/C4925580_Material_RagdollBonesMaterial.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => material}/C4925582_Material_AddModifyDeleteOnRagdollBones.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => material}/C5296614_PhysXMaterial_ColliderShape.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => material}/Physmaterial_Editor.py (100%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => ragdoll}/C13895144_Ragdoll_ChangeLevel.py (96%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => ragdoll}/C14654882_Ragdoll_ragdollAPTest.py (97%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => ragdoll}/C17411467_AddPhysxRagdollComponent.py (96%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => ragdoll}/C28978033_Ragdoll_WorldBodyBusTests.py (97%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => rigid_body}/C13351703_COM_NotIncludeTriggerShapes.py (96%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => rigid_body}/C13352089_RigidBodies_MaxAngularVelocity.py (99%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => rigid_body}/C4976194_RigidBody_PhysXComponentIsValid.py (97%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => rigid_body}/C4976195_RigidBodies_InitialLinearVelocity.py (97%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => rigid_body}/C4976197_RigidBodies_InitialAngularVelocity.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => rigid_body}/C4976199_RigidBodies_LinearDampingObjectMotion.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => rigid_body}/C4976200_RigidBody_AngularDampingObjectRotation.py (99%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => rigid_body}/C4976201_RigidBody_MassIsAssigned.py (99%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => rigid_body}/C4976202_RigidBody_StopsWhenBelowKineticThreshold.py (99%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => rigid_body}/C4976204_Verify_Start_Asleep_Condition.py (97%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => rigid_body}/C4976206_RigidBodies_GravityEnabledActive.py (97%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => rigid_body}/C4976207_PhysXRigidBodies_KinematicBehavior.py (97%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => rigid_body}/C4976209_RigidBody_ComputesCOM.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => rigid_body}/C4976210_COM_ManualSetting.py (99%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => rigid_body}/C4976218_RigidBodies_InertiaObjectsNotComputed.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => rigid_body}/C5340400_RigidBody_ManualMomentOfInertia.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => script_canvas}/C12712452_ScriptCanvas_CollisionEvents.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => script_canvas}/C12712453_ScriptCanvas_MultipleRaycastNode.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => script_canvas}/C12712454_ScriptCanvas_OverlapNodeVerification.py (99%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => script_canvas}/C12712455_ScriptCanvas_ShapeCastVerification.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => script_canvas}/C14195074_ScriptCanvas_PostUpdateEvent.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => script_canvas}/C14902097_ScriptCanvas_PreUpdateEvent.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => script_canvas}/C14902098_ScriptCanvas_PostPhysicsUpdate.py (97%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => script_canvas}/C14976308_ScriptCanvas_SetKinematicTargetTransform.py (99%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => script_canvas}/C6224408_ScriptCanvas_EntitySpawn.py (97%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => script_canvas}/C6274125_ScriptCanvas_TriggerEvents.py (97%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => terrain}/C13508019_Terrain_TerrainTexturePainterWorks.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => terrain}/C15308217_NoCrash_LevelSwitch.py (96%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => terrain}/C3510642_Terrain_NotCollideWithTerrain.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => terrain}/C5689518_PhysXTerrain_CollidesWithPhysXTerrain.py (97%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => terrain}/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash.py (96%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => terrain}/C5689524_MultipleTerrains_CheckWarningInConsole.py (96%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => terrain}/C5689528_Terrain_MultipleTerrainComponents.py (96%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => terrain}/C5689531_Warning_TerrainSliceTerrainComponent.py (97%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => terrain}/C6032082_Terrain_MultipleResolutionsValid.py (98%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => utils}/FileManagement.py (100%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => utils}/UtilTest_Managed_Files.py (89%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => utils}/UtilTest_Physmaterial_Editor.py (99%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => utils}/UtilTest_PhysxConfig_Default.py (100%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => utils}/UtilTest_PhysxConfig_Override.py (100%) mode change 100755 => 100644 rename AutomatedTesting/Gem/PythonTests/physics/{ => utils}/UtilTest_Tracer_PicksErrorsAndWarnings.py (97%) mode change 100755 => 100644 diff --git a/AutomatedTesting/Gem/PythonTests/EditorPythonTestTools/editor_python_test_tools/asset_utils.py b/AutomatedTesting/Gem/PythonTests/EditorPythonTestTools/editor_python_test_tools/asset_utils.py new file mode 100644 index 0000000000..ece7670a9e --- /dev/null +++ b/AutomatedTesting/Gem/PythonTests/EditorPythonTestTools/editor_python_test_tools/asset_utils.py @@ -0,0 +1,47 @@ +""" +Copyright (c) Contributors to the Open 3D Engine Project. +For complete copyright and license terms please see the LICENSE at the root of this distribution. + +SPDX-License-Identifier: Apache-2.0 OR MIT +""" + +# Built-in Imports +from __future__ import annotations + +# Open 3D Engine Imports +import azlmbr.bus as bus +import azlmbr.asset as azasset +import azlmbr.math as math + + +class Asset: + """ + Used to find Asset Id by its path and path of asset by its Id + If a component has any asset property, then this class object can be called as: + asset_id = editor_python_test_tools.editor_entity_utils.EditorComponent.get_component_property_value() + asset = asset_utils.Asset(asset_id) + """ + def __init__(self, id: azasset.AssetId): + self.id: azasset.AssetId = id + + # Creation functions + @classmethod + def find_asset_by_path(cls, path: str, RegisterType: bool = False) -> Asset: + """ + :param path: Absolute file path of the asset + :param RegisterType: Whether to register the asset if it's not in the database, + default to false for the general case + :return: Asset object associated with file path + """ + asset_id = azasset.AssetCatalogRequestBus(bus.Broadcast, "GetAssetIdByPath", path, math.Uuid(), RegisterType) + assert asset_id.is_valid(), f"Couldn't find Asset with path: {path}" + asset = cls(asset_id) + return asset + + # Methods + def get_path(self) -> str: + """ + :return: Absolute file path of Asset + """ + assert self.id.is_valid(), "Invalid Asset Id" + return azasset.AssetCatalogRequestBus(bus.Broadcast, "GetAssetPathById", self.id) diff --git a/AutomatedTesting/Gem/PythonTests/physics/ImportPathHelper.py b/AutomatedTesting/Gem/PythonTests/physics/ImportPathHelper.py deleted file mode 100755 index 0e395664ad..0000000000 --- a/AutomatedTesting/Gem/PythonTests/physics/ImportPathHelper.py +++ /dev/null @@ -1,11 +0,0 @@ -""" -Copyright (c) Contributors to the Open 3D Engine Project. -For complete copyright and license terms please see the LICENSE at the root of this distribution. - -SPDX-License-Identifier: Apache-2.0 OR MIT -""" - -def init(): - import os - import sys - sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../automatedtesting_shared') diff --git a/AutomatedTesting/Gem/PythonTests/physics/TestSuite_InDevelopment.py b/AutomatedTesting/Gem/PythonTests/physics/TestSuite_InDevelopment.py index 2c5cca4f24..dad37297cc 100755 --- a/AutomatedTesting/Gem/PythonTests/physics/TestSuite_InDevelopment.py +++ b/AutomatedTesting/Gem/PythonTests/physics/TestSuite_InDevelopment.py @@ -13,25 +13,25 @@ import pytest import os import sys -from .FileManagement import FileManagement as fm +from .utils.FileManagement import FileManagement as fm sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../automatedtesting_shared') -@pytest.mark.parametrize("spec", ["all"]) +from base import TestAutomationBase + @pytest.mark.parametrize("project", ["AutomatedTesting"]) -@pytest.mark.system class TestAutomation(TestAutomationBase): @fm.file_revert("ragdollbones.physmaterial", r"AutomatedTesting\Levels\Physics\C4925582_Material_AddModifyDeleteOnRagdollBones") def test_C4925582_Material_AddModifyDeleteOnRagdollBones(self, request, workspace, editor): - from . import C4925582_Material_AddModifyDeleteOnRagdollBones as test_module + from .material import C4925582_Material_AddModifyDeleteOnRagdollBones as test_module expected_lines = [] unexpected_lines = ["Assert"] self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) def test_C4925580_Material_RagdollBonesMaterial(self, request, workspace, editor): - from . import C4925580_Material_RagdollBonesMaterial as test_module + from .material import C4925580_Material_RagdollBonesMaterial as test_module expected_lines = [] unexpected_lines = ["Assert"] @@ -40,7 +40,7 @@ class TestAutomation(TestAutomationBase): @fm.file_revert("c15308221_material_componentsinsyncwithlibrary.physmaterial", r"AutomatedTesting\Levels\Physics\C15308221_Material_ComponentsInSyncWithLibrary") def test_C15308221_Material_ComponentsInSyncWithLibrary(self, request, workspace, editor): - from . import C15308221_Material_ComponentsInSyncWithLibrary as test_module + from .material import C15308221_Material_ComponentsInSyncWithLibrary as test_module expected_lines = [] unexpected_lines = ["Assert"] @@ -48,7 +48,7 @@ class TestAutomation(TestAutomationBase): # BUG: LY-107723") def test_C14976308_ScriptCanvas_SetKinematicTargetTransform(self, request, workspace, editor): - from . import C14976308_ScriptCanvas_SetKinematicTargetTransform as test_module + from .script_canvas import C14976308_ScriptCanvas_SetKinematicTargetTransform as test_module expected_lines = [] unexpected_lines = ["Assert"] @@ -58,7 +58,7 @@ class TestAutomation(TestAutomationBase): @fm.file_revert("c4925579_material_addmodifydeleteonterrain.physmaterial", r"AutomatedTesting\Levels\Physics\C4925579_Material_AddModifyDeleteOnTerrain") def test_C4925579_Material_AddModifyDeleteOnTerrain(self, request, workspace, editor): - from . import C4925579_Material_AddModifyDeleteOnTerrain as test_module + from .material import C4925579_Material_AddModifyDeleteOnTerrain as test_module expected_lines = [] unexpected_lines = ["Assert"] @@ -66,7 +66,7 @@ class TestAutomation(TestAutomationBase): # Failing, PhysXTerrain def test_C13508019_Terrain_TerrainTexturePainterWorks(self, request, workspace, editor): - from . import C13508019_Terrain_TerrainTexturePainterWorks as test_module + from .terrain import C13508019_Terrain_TerrainTexturePainterWorks as test_module expected_lines = [] unexpected_lines = ["Assert"] @@ -74,7 +74,7 @@ class TestAutomation(TestAutomationBase): # Failing, PhysXTerrain def test_C4925577_Materials_MaterialAssignedToTerrain(self, request, workspace, editor): - from . import C4925577_Materials_MaterialAssignedToTerrain as test_module + from .material import C4925577_Materials_MaterialAssignedToTerrain as test_module expected_lines = [] unexpected_lines = ["Assert"] @@ -82,7 +82,7 @@ class TestAutomation(TestAutomationBase): # Failing, PhysXTerrain def test_C15096735_Materials_DefaultLibraryConsistency(self, request, workspace, editor): - from . import C15096735_Materials_DefaultLibraryConsistency as test_module + from .material import C15096735_Materials_DefaultLibraryConsistency as test_module expected_lines = [] unexpected_lines = ["Assert"] @@ -92,13 +92,13 @@ class TestAutomation(TestAutomationBase): @fm.file_revert("all_ones_1.physmaterial", r"AutomatedTesting\Levels\Physics\C15096737_Materials_DefaultMaterialLibraryChanges") @fm.file_override("default.physxconfiguration", "C15096737_Materials_DefaultMaterialLibraryChanges.physxconfiguration", "AutomatedTesting") def test_C15096737_Materials_DefaultMaterialLibraryChanges(self, request, workspace, editor): - from . import C15096737_Materials_DefaultMaterialLibraryChanges as test_module + from .material import C15096737_Materials_DefaultMaterialLibraryChanges as test_module expected_lines = [] unexpected_lines = ["Assert"] self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) def test_C4976242_Collision_SameCollisionlayerSameCollisiongroup(self, request, workspace, editor): - from . import C4976242_Collision_SameCollisionlayerSameCollisiongroup as test_module + from .collider import C4976242_Collision_SameCollisionlayerSameCollisiongroup as test_module expected_lines = [] unexpected_lines = ["Assert"] @@ -109,7 +109,7 @@ class TestAutomation(TestAutomationBase): "Material_DefaultLibraryUpdatedAcrossLevels_before.physxconfiguration", "AutomatedTesting", search_subdirs=True) def test_levels_before(self, request, workspace, editor): - from . import C15096732_Material_DefaultLibraryUpdatedAcrossLevels_before as test_module_0 + from .material import C15096732_Material_DefaultLibraryUpdatedAcrossLevels_before as test_module_0 expected_lines = [] unexpected_lines = ["Assert"] self._run_test(request, workspace, editor, test_module_0, expected_lines, unexpected_lines) @@ -119,7 +119,7 @@ class TestAutomation(TestAutomationBase): "Material_DefaultLibraryUpdatedAcrossLevels_after.physxconfiguration", "AutomatedTesting", search_subdirs=True) def test_levels_after(self, request, workspace, editor): - from . import C15096732_Material_DefaultLibraryUpdatedAcrossLevels_after as test_module_1 + from .material import C15096732_Material_DefaultLibraryUpdatedAcrossLevels_after as test_module_1 expected_lines = [] unexpected_lines = ["Assert"] self._run_test(request, workspace, editor, test_module_1, expected_lines, unexpected_lines) @@ -128,7 +128,7 @@ class TestAutomation(TestAutomationBase): test_levels_after(self, request, workspace, editor) def test_C14654882_Ragdoll_ragdollAPTest(self, request, workspace, editor): - from . import C14654882_Ragdoll_ragdollAPTest as test_module + from .ragdoll import C14654882_Ragdoll_ragdollAPTest as test_module expected_lines = [] unexpected_lines = test_module.UnexpectedLines.lines @@ -136,14 +136,14 @@ class TestAutomation(TestAutomationBase): @fm.file_override("default.physxconfiguration", "C12712454_ScriptCanvas_OverlapNodeVerification.physxconfiguration") def test_C12712454_ScriptCanvas_OverlapNodeVerification(self, request, workspace, editor): - from . import C12712454_ScriptCanvas_OverlapNodeVerification as test_module + from .script_canvas import C12712454_ScriptCanvas_OverlapNodeVerification as test_module expected_lines = [] unexpected_lines = ["Assert"] self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) def test_C4044460_Material_StaticFriction(self, request, workspace, editor): - from . import C4044460_Material_StaticFriction as test_module + from .material import C4044460_Material_StaticFriction as test_module expected_lines = [] unexpected_lines = ["Assert"] @@ -154,7 +154,7 @@ class TestAutomation(TestAutomationBase): @fm.file_revert("c4888315_material_addmodifydeleteoncollider.physmaterial", r"AutomatedTesting\Levels\Physics\C4888315_Material_AddModifyDeleteOnCollider") def test_C4888315_Material_AddModifyDeleteOnCollider(self, request, workspace, editor): - from . import C4888315_Material_AddModifyDeleteOnCollider as test_module + from .material import C4888315_Material_AddModifyDeleteOnCollider as test_module expected_lines = [] unexpected_lines = ["Assert"] @@ -164,7 +164,7 @@ class TestAutomation(TestAutomationBase): @fm.file_revert("c15563573_material_addmodifydeleteoncharactercontroller.physmaterial", r"AutomatedTesting\Levels\Physics\C15563573_Material_AddModifyDeleteOnCharacterController") def test_C15563573_Material_AddModifyDeleteOnCharacterController(self, request, workspace, editor): - from . import C15563573_Material_AddModifyDeleteOnCharacterController as test_module + from .material import C15563573_Material_AddModifyDeleteOnCharacterController as test_module expected_lines = [] unexpected_lines = ["Assert"] @@ -173,7 +173,7 @@ class TestAutomation(TestAutomationBase): @fm.file_revert("c4888315_material_addmodifydeleteoncollider.physmaterial", r"AutomatedTesting\Levels\Physics\C4888315_Material_AddModifyDeleteOnCollider") def test_C4888315_Material_AddModifyDeleteOnCollider(self, request, workspace, editor): - from . import C4888315_Material_AddModifyDeleteOnCollider as test_module + from .material import C4888315_Material_AddModifyDeleteOnCollider as test_module expected_lines = [] unexpected_lines = ["Assert"] @@ -185,7 +185,7 @@ class TestAutomation(TestAutomationBase): @fm.file_revert("c15563573_material_addmodifydeleteoncharactercontroller.physmaterial", r"AutomatedTesting\Levels\Physics\C15563573_Material_AddModifyDeleteOnCharacterController") def test_C15563573_Material_AddModifyDeleteOnCharacterController(self, request, workspace, editor): - from . import C15563573_Material_AddModifyDeleteOnCharacterController as test_module + from .material import C15563573_Material_AddModifyDeleteOnCharacterController as test_module expected_lines = [] unexpected_lines = ["Assert"] @@ -194,7 +194,7 @@ class TestAutomation(TestAutomationBase): @fm.file_revert("c4044455_material_librarychangesinstantly.physmaterial", r"AutomatedTesting\Levels\Physics\C4044455_Material_LibraryChangesInstantly") def test_C4044455_Material_libraryChangesInstantly(self, request, workspace, editor): - from . import C4044455_Material_libraryChangesInstantly as test_module + from .material import C4044455_Material_libraryChangesInstantly as test_module expected_lines = [] unexpected_lines = ["Assert"] @@ -204,103 +204,103 @@ class TestAutomation(TestAutomationBase): @fm.file_revert("C15425935_Material_LibraryUpdatedAcrossLevels.physmaterial", r"AutomatedTesting\Levels\Physics\C15425935_Material_LibraryUpdatedAcrossLevels") def test_C15425935_Material_LibraryUpdatedAcrossLevels(self, request, workspace, editor): - from . import C15425935_Material_LibraryUpdatedAcrossLevels as test_module + from .material import C15425935_Material_LibraryUpdatedAcrossLevels as test_module expected_lines = [] unexpected_lines = ["Assert"] self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) def test_C4976199_RigidBodies_LinearDampingObjectMotion(self, request, workspace, editor): - from . import C4976199_RigidBodies_LinearDampingObjectMotion as test_module + from .rigid_body import C4976199_RigidBodies_LinearDampingObjectMotion as test_module expected_lines = [] unexpected_lines = ["Assert"] self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) def test_C5689518_PhysXTerrain_CollidesWithPhysXTerrain(self, request, workspace, editor): - from . import C5689518_PhysXTerrain_CollidesWithPhysXTerrain as test_module + from .terrain import C5689518_PhysXTerrain_CollidesWithPhysXTerrain as test_module expected_lines = [] unexpected_lines = ["Assert"] self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) def test_C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain(self, request, workspace, editor): - from . import C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain as test_module + from .collider import C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain as test_module expected_lines = [] unexpected_lines = ["Assert"] self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) def test_C29032500_EditorComponents_WorldBodyBusWorks(self, request, workspace, editor): - from . import C29032500_EditorComponents_WorldBodyBusWorks as test_module + from .general import C29032500_EditorComponents_WorldBodyBusWorks as test_module expected_lines = [] unexpected_lines = ["Assert"] self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) def test_C14861498_ConfirmError_NoPxMesh(self, request, workspace, editor, launcher_platform): - from . import C14861498_ConfirmError_NoPxMesh as test_module + from .collider import C14861498_ConfirmError_NoPxMesh as test_module expected_lines = [] unexpected_lines = ["Assert"] self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) def test_C5959763_ForceRegion_ForceRegionImpulsesCube(self, request, workspace, editor, launcher_platform): - from . import C5959763_ForceRegion_ForceRegionImpulsesCube as test_module + from .force_region import C5959763_ForceRegion_ForceRegionImpulsesCube as test_module expected_lines = [] unexpected_lines = ["Assert"] self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) def test_C5689531_Warning_TerrainSliceTerrainComponent(self, request, workspace, editor, launcher_platform): - from . import C5689531_Warning_TerrainSliceTerrainComponent as test_module + from .terrain import C5689531_Warning_TerrainSliceTerrainComponent as test_module expected_lines = [] unexpected_lines = ["Assert"] self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) def test_C5689522_Physxterrain_AddPhysxterrainNoEditorCrash(self, request, workspace, editor, launcher_platform): - from . import C5689522_Physxterrain_AddPhysxterrainNoEditorCrash as test_module + from .terrain import C5689522_Physxterrain_AddPhysxterrainNoEditorCrash as test_module expected_lines = [] unexpected_lines = ["Assert"] self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) def test_C5689524_MultipleTerrains_CheckWarningInConsole(self, request, workspace, editor, launcher_platform): - from . import C5689524_MultipleTerrains_CheckWarningInConsole as test_module + from .terrain import C5689524_MultipleTerrains_CheckWarningInConsole as test_module expected_lines = [] unexpected_lines = ["Assert"] self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) def test_C5689528_Terrain_MultipleTerrainComponents(self, request, workspace, editor, launcher_platform): - from . import C5689528_Terrain_MultipleTerrainComponents as test_module + from .terrain import C5689528_Terrain_MultipleTerrainComponents as test_module expected_lines = [] unexpected_lines = ["Assert"] self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) def test_C5689528_Terrain_MultipleTerrainComponents(self, request, workspace, editor, launcher_platform): - from . import C5689528_Terrain_MultipleTerrainComponents as test_module + from .terrain import C5689528_Terrain_MultipleTerrainComponents as test_module expected_lines = [] unexpected_lines = ["Assert"] self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) def test_C6321601_Force_HighValuesDirectionAxes(self, request, workspace, editor, launcher_platform): - from . import C6321601_Force_HighValuesDirectionAxes as test_module + from .force_region import C6321601_Force_HighValuesDirectionAxes as test_module expected_lines = [] unexpected_lines = ["Assert"] self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) def test_C6032082_Terrain_MultipleResolutionsValid(self, request, workspace, editor, launcher_platform): - from . import C6032082_Terrain_MultipleResolutionsValid as test_module + from .terrain import C6032082_Terrain_MultipleResolutionsValid as test_module expected_lines = [] unexpected_lines = ["Assert"] self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines) def test_C12905527_ForceRegion_MagnitudeDeviation(self, request, workspace, editor, launcher_platform): - from . import C12905527_ForceRegion_MagnitudeDeviation as test_module + from .force_region import C12905527_ForceRegion_MagnitudeDeviation as test_module expected_lines = [] unexpected_lines = ["Assert"] @@ -308,7 +308,7 @@ class TestAutomation(TestAutomationBase): # Removed from active suite to meet 60 minutes limit in AR job def test_C18243580_Joints_Fixed2BodiesConstrained(self, request, workspace, editor, launcher_platform): - from . import C18243580_Joints_Fixed2BodiesConstrained as test_module + from .joints import C18243580_Joints_Fixed2BodiesConstrained as test_module expected_lines = [] unexpected_lines = ["Assert"] @@ -316,7 +316,7 @@ class TestAutomation(TestAutomationBase): # Removed from active suite to meet 60 minutes limit in AR job def test_C18243583_Joints_Hinge2BodiesConstrained(self, request, workspace, editor, launcher_platform): - from . import C18243583_Joints_Hinge2BodiesConstrained as test_module + from .joints import C18243583_Joints_Hinge2BodiesConstrained as test_module expected_lines = [] unexpected_lines = ["Assert"] @@ -324,7 +324,7 @@ class TestAutomation(TestAutomationBase): # Removed from active suite to meet 60 minutes limit in AR job def test_C18243588_Joints_Ball2BodiesConstrained(self, request, workspace, editor, launcher_platform): - from . import C18243588_Joints_Ball2BodiesConstrained as test_module + from .joints import C18243588_Joints_Ball2BodiesConstrained as test_module expected_lines = [] unexpected_lines = ["Assert"] @@ -332,7 +332,7 @@ class TestAutomation(TestAutomationBase): # Removed from active suite to meet 60 minutes limit in AR job def test_C18243581_Joints_FixedBreakable(self, request, workspace, editor, launcher_platform): - from . import C18243581_Joints_FixedBreakable as test_module + from .joints import C18243581_Joints_FixedBreakable as test_module expected_lines = [] unexpected_lines = ["Assert"] @@ -340,7 +340,7 @@ class TestAutomation(TestAutomationBase): # Removed from active suite to meet 60 minutes limit in AR job def test_C18243587_Joints_HingeBreakable(self, request, workspace, editor, launcher_platform): - from . import C18243587_Joints_HingeBreakable as test_module + from .joints import C18243587_Joints_HingeBreakable as test_module expected_lines = [] unexpected_lines = ["Assert"] @@ -348,7 +348,7 @@ class TestAutomation(TestAutomationBase): # Removed from active suite to meet 60 minutes limit in AR job def test_C18243592_Joints_BallBreakable(self, request, workspace, editor, launcher_platform): - from . import C18243592_Joints_BallBreakable as test_module + from .joints import C18243592_Joints_BallBreakable as test_module expected_lines = [] unexpected_lines = ["Assert"] @@ -356,7 +356,7 @@ class TestAutomation(TestAutomationBase): # Removed from active suite to meet 60 minutes limit in AR job def test_C18243585_Joints_HingeNoLimitsConstrained(self, request, workspace, editor, launcher_platform): - from . import C18243585_Joints_HingeNoLimitsConstrained as test_module + from .joints import C18243585_Joints_HingeNoLimitsConstrained as test_module expected_lines = [] unexpected_lines = ["Assert"] @@ -364,7 +364,7 @@ class TestAutomation(TestAutomationBase): # Removed from active suite to meet 60 minutes limit in AR job def test_C18243590_Joints_BallNoLimitsConstrained(self, request, workspace, editor, launcher_platform): - from . import C18243590_Joints_BallNoLimitsConstrained as test_module + from .joints import C18243590_Joints_BallNoLimitsConstrained as test_module expected_lines = [] unexpected_lines = ["Assert"] @@ -372,7 +372,7 @@ class TestAutomation(TestAutomationBase): # Removed from active suite to meet 60 minutes limit in AR job def test_C18243582_Joints_FixedLeadFollowerCollide(self, request, workspace, editor, launcher_platform): - from . import C18243582_Joints_FixedLeadFollowerCollide as test_module + from .joints import C18243582_Joints_FixedLeadFollowerCollide as test_module expected_lines = [] unexpected_lines = ["Assert"] @@ -380,7 +380,7 @@ class TestAutomation(TestAutomationBase): # Removed from active suite to meet 60 minutes limit in AR job def test_C18243593_Joints_GlobalFrameConstrained(self, request, workspace, editor, launcher_platform): - from . import C18243593_Joints_GlobalFrameConstrained as test_module + from .joints import C18243593_Joints_GlobalFrameConstrained as test_module expected_lines = [] unexpected_lines = ["Assert"] diff --git a/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Main.py b/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Main.py index bda4dae82b..de4828e36a 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Main.py +++ b/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Main.py @@ -12,7 +12,7 @@ import pytest import os import sys -from .FileManagement import FileManagement as fm +from .utils.FileManagement import FileManagement as fm from ly_test_tools import LAUNCHERS sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../automatedtesting_shared') @@ -29,58 +29,58 @@ revert_physics_config = fm.file_revert_list(['physxdebugconfiguration.setreg', ' class TestAutomation(TestAutomationBase): def test_C111111_RigidBody_EnablingGravityWorksUsingNotificationsPoC(self, request, workspace, editor, launcher_platform): - from . import C111111_RigidBody_EnablingGravityWorksUsingNotificationsPoC as test_module + from .collider import C111111_RigidBody_EnablingGravityWorksUsingNotificationsPoC as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies(self, request, workspace, editor, launcher_platform): - from . import C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies as test_module + from .force_region import C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config @fm.file_override('physxsystemconfiguration.setreg','C4044459_Material_DynamicFriction.setreg_override', 'AutomatedTesting/Registry') def test_C4044459_Material_DynamicFriction(self, request, workspace, editor, launcher_platform): - from . import C4044459_Material_DynamicFriction as test_module + from .material import C4044459_Material_DynamicFriction as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C4976243_Collision_SameCollisionGroupDiffCollisionLayers(self, request, workspace, editor, launcher_platform): - from . import C4976243_Collision_SameCollisionGroupDiffCollisionLayers as test_module + from .collider import C4976243_Collision_SameCollisionGroupDiffCollisionLayers as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C14654881_CharacterController_SwitchLevels(self, request, workspace, editor, launcher_platform): - from . import C14654881_CharacterController_SwitchLevels as test_module + from .character_controller import C14654881_CharacterController_SwitchLevels as test_module self._run_test(request, workspace, editor, test_module) def test_C17411467_AddPhysxRagdollComponent(self, request, workspace, editor, launcher_platform): - from . import C17411467_AddPhysxRagdollComponent as test_module + from .ragdoll import C17411467_AddPhysxRagdollComponent as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C12712453_ScriptCanvas_MultipleRaycastNode(self, request, workspace, editor, launcher_platform): - from . import C12712453_ScriptCanvas_MultipleRaycastNode as test_module + from .script_canvas import C12712453_ScriptCanvas_MultipleRaycastNode as test_module # Fixme: unexpected_lines = ["Assert"] + test_module.Lines.unexpected self._run_test(request, workspace, editor, test_module) @revert_physics_config @fm.file_override('physxsystemconfiguration.setreg','C4982593_PhysXCollider_CollisionLayer.setreg_override', 'AutomatedTesting/Registry') def test_C4982593_PhysXCollider_CollisionLayerTest(self, request, workspace, editor, launcher_platform): - from . import C4982593_PhysXCollider_CollisionLayerTest as test_module + from .collider import C4982593_PhysXCollider_CollisionLayerTest as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C18243586_Joints_HingeLeadFollowerCollide(self, request, workspace, editor, launcher_platform): - from . import C18243586_Joints_HingeLeadFollowerCollide as test_module + from .joints import C18243586_Joints_HingeLeadFollowerCollide as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C4982803_Enable_PxMesh_Option(self, request, workspace, editor, launcher_platform): - from . import C4982803_Enable_PxMesh_Option as test_module + from .collider import C4982803_Enable_PxMesh_Option as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain(self, request, workspace, editor, launcher_platform): - from . import C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain as test_module - self._run_test(request, workspace, editor, test_module) \ No newline at end of file + from .collider import C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain as test_module + self._run_test(request, workspace, editor, test_module) diff --git a/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Main_Optimized.py b/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Main_Optimized.py index 75e226fba1..ce68bb10b5 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Main_Optimized.py +++ b/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Main_Optimized.py @@ -12,7 +12,7 @@ import inspect from ly_test_tools import LAUNCHERS from ly_test_tools.o3de.editor_test import EditorSingleTest, EditorSharedTest, EditorParallelTest, EditorTestSuite -from .FileManagement import FileManagement as fm +from .utils.FileManagement import FileManagement as fm # Custom test spec, it provides functionality to override files class EditorSingleTest_WithFileOverrides(EditorSingleTest): @@ -54,7 +54,6 @@ class EditorSingleTest_WithFileOverrides(EditorSingleTest): fm._restore_file(f, file_list[f]) -@pytest.mark.xfail(reason="Optimized tests are experimental, we will enable xfail and monitor them temporarly.") @pytest.mark.SUITE_main @pytest.mark.parametrize("launcher_platform", ['windows_editor']) @pytest.mark.parametrize("project", ["AutomatedTesting"]) @@ -67,14 +66,14 @@ class TestAutomation(EditorTestSuite): ######################################### # Non-atomic tests: These need to be run in a single editor because they have custom setup and teardown class C4044459_Material_DynamicFriction(EditorSingleTest_WithFileOverrides): - from . import C4044459_Material_DynamicFriction as test_module + from .material import C4044459_Material_DynamicFriction as test_module files_to_override = [ ('physxsystemconfiguration.setreg', 'C4044459_Material_DynamicFriction.setreg_override') ] base_dir = "AutomatedTesting/Registry" class C4982593_PhysXCollider_CollisionLayerTest(EditorSingleTest_WithFileOverrides): - from . import C4982593_PhysXCollider_CollisionLayerTest as test_module + from .collider import C4982593_PhysXCollider_CollisionLayerTest as test_module files_to_override = [ ('physxsystemconfiguration.setreg', 'C4982593_PhysXCollider_CollisionLayer.setreg_override') ] @@ -82,268 +81,268 @@ class TestAutomation(EditorTestSuite): ######################################### class C111111_RigidBody_EnablingGravityWorksUsingNotificationsPoC(EditorSharedTest): - from . import C111111_RigidBody_EnablingGravityWorksUsingNotificationsPoC as test_module + from .collider import C111111_RigidBody_EnablingGravityWorksUsingNotificationsPoC as test_module class C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies(EditorSharedTest): - from . import C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies as test_module + from .force_region import C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies as test_module class C15425929_Undo_Redo(EditorSharedTest): - from . import C15425929_Undo_Redo as test_module + from .general import C15425929_Undo_Redo as test_module class C4976243_Collision_SameCollisionGroupDiffCollisionLayers(EditorSharedTest): - from . import C4976243_Collision_SameCollisionGroupDiffCollisionLayers as test_module + from .collider import C4976243_Collision_SameCollisionGroupDiffCollisionLayers as test_module class C14654881_CharacterController_SwitchLevels(EditorSharedTest): - from . import C14654881_CharacterController_SwitchLevels as test_module + from .character_controller import C14654881_CharacterController_SwitchLevels as test_module class C17411467_AddPhysxRagdollComponent(EditorSharedTest): - from . import C17411467_AddPhysxRagdollComponent as test_module + from .ragdoll import C17411467_AddPhysxRagdollComponent as test_module class C12712453_ScriptCanvas_MultipleRaycastNode(EditorSharedTest): - from . import C12712453_ScriptCanvas_MultipleRaycastNode as test_module + from .script_canvas import C12712453_ScriptCanvas_MultipleRaycastNode as test_module class C18243586_Joints_HingeLeadFollowerCollide(EditorSharedTest): - from . import C18243586_Joints_HingeLeadFollowerCollide as test_module + from .joints import C18243586_Joints_HingeLeadFollowerCollide as test_module class C4982803_Enable_PxMesh_Option(EditorSharedTest): - from . import C4982803_Enable_PxMesh_Option as test_module + from .collider import C4982803_Enable_PxMesh_Option as test_module class C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain(EditorSharedTest): - from . import C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain as test_module + from .collider import C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain as test_module class C3510642_Terrain_NotCollideWithTerrain(EditorSharedTest): - from . import C3510642_Terrain_NotCollideWithTerrain as test_module + from .terrain import C3510642_Terrain_NotCollideWithTerrain as test_module class C4976195_RigidBodies_InitialLinearVelocity(EditorSharedTest): - from . import C4976195_RigidBodies_InitialLinearVelocity as test_module + from .rigid_body import C4976195_RigidBodies_InitialLinearVelocity as test_module class C4976206_RigidBodies_GravityEnabledActive(EditorSharedTest): - from . import C4976206_RigidBodies_GravityEnabledActive as test_module + from .rigid_body import C4976206_RigidBodies_GravityEnabledActive as test_module class C4976207_PhysXRigidBodies_KinematicBehavior(EditorSharedTest): - from . import C4976207_PhysXRigidBodies_KinematicBehavior as test_module + from .rigid_body import C4976207_PhysXRigidBodies_KinematicBehavior as test_module class C5932042_PhysXForceRegion_LinearDamping(EditorSharedTest): - from . import C5932042_PhysXForceRegion_LinearDamping as test_module + from .force_region import C5932042_PhysXForceRegion_LinearDamping as test_module class C5932043_ForceRegion_SimpleDragOnRigidBodies(EditorSharedTest): - from . import C5932043_ForceRegion_SimpleDragOnRigidBodies as test_module + from .force_region import C5932043_ForceRegion_SimpleDragOnRigidBodies as test_module class C5959760_PhysXForceRegion_PointForceExertion(EditorSharedTest): - from . import C5959760_PhysXForceRegion_PointForceExertion as test_module + from .force_region import C5959760_PhysXForceRegion_PointForceExertion as test_module class C5959764_ForceRegion_ForceRegionImpulsesCapsule(EditorSharedTest): - from . import C5959764_ForceRegion_ForceRegionImpulsesCapsule as test_module + from .force_region import C5959764_ForceRegion_ForceRegionImpulsesCapsule as test_module class C5340400_RigidBody_ManualMomentOfInertia(EditorSharedTest): - from . import C5340400_RigidBody_ManualMomentOfInertia as test_module + from .rigid_body import C5340400_RigidBody_ManualMomentOfInertia as test_module class C4976210_COM_ManualSetting(EditorSharedTest): - from . import C4976210_COM_ManualSetting as test_module + from .rigid_body import C4976210_COM_ManualSetting as test_module class C4976194_RigidBody_PhysXComponentIsValid(EditorSharedTest): - from . import C4976194_RigidBody_PhysXComponentIsValid as test_module + from .rigid_body import C4976194_RigidBody_PhysXComponentIsValid as test_module class C5932045_ForceRegion_Spline(EditorSharedTest): - from . import C5932045_ForceRegion_Spline as test_module + from .force_region import C5932045_ForceRegion_Spline as test_module class C4982797_Collider_ColliderOffset(EditorSharedTest): - from . import C4982797_Collider_ColliderOffset as test_module + from .collider import C4982797_Collider_ColliderOffset as test_module class C4976200_RigidBody_AngularDampingObjectRotation(EditorSharedTest): - from . import C4976200_RigidBody_AngularDampingObjectRotation as test_module + from .rigid_body import C4976200_RigidBody_AngularDampingObjectRotation as test_module class C5689529_Verify_Terrain_RigidBody_Collider_Mesh(EditorSharedTest): - from . import C5689529_Verify_Terrain_RigidBody_Collider_Mesh as test_module + from .general import C5689529_Verify_Terrain_RigidBody_Collider_Mesh as test_module class C5959810_ForceRegion_ForceRegionCombinesForces(EditorSharedTest): - from . import C5959810_ForceRegion_ForceRegionCombinesForces as test_module + from .force_region import C5959810_ForceRegion_ForceRegionCombinesForces as test_module class C5959765_ForceRegion_AssetGetsImpulsed(EditorSharedTest): - from . import C5959765_ForceRegion_AssetGetsImpulsed as test_module + from .force_region import C5959765_ForceRegion_AssetGetsImpulsed as test_module class C6274125_ScriptCanvas_TriggerEvents(EditorSharedTest): - from . import C6274125_ScriptCanvas_TriggerEvents as test_module + from .script_canvas import C6274125_ScriptCanvas_TriggerEvents as test_module # needs to be updated to log for unexpected lines # expected_lines = test_module.LogLines.expected_lines class C6090554_ForceRegion_PointForceNegative(EditorSharedTest): - from . import C6090554_ForceRegion_PointForceNegative as test_module + from .force_region import C6090554_ForceRegion_PointForceNegative as test_module class C6090550_ForceRegion_WorldSpaceForceNegative(EditorSharedTest): - from . import C6090550_ForceRegion_WorldSpaceForceNegative as test_module + from .force_region import C6090550_ForceRegion_WorldSpaceForceNegative as test_module class C6090552_ForceRegion_LinearDampingNegative(EditorSharedTest): - from . import C6090552_ForceRegion_LinearDampingNegative as test_module + from .force_region import C6090552_ForceRegion_LinearDampingNegative as test_module class C5968760_ForceRegion_CheckNetForceChange(EditorSharedTest): - from . import C5968760_ForceRegion_CheckNetForceChange as test_module + from .force_region import C5968760_ForceRegion_CheckNetForceChange as test_module class C12712452_ScriptCanvas_CollisionEvents(EditorSharedTest): - from . import C12712452_ScriptCanvas_CollisionEvents as test_module + from .script_canvas import C12712452_ScriptCanvas_CollisionEvents as test_module class C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude(EditorSharedTest): - from . import C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude as test_module + from .force_region import C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude as test_module class C4976204_Verify_Start_Asleep_Condition(EditorSharedTest): - from . import C4976204_Verify_Start_Asleep_Condition as test_module + from .rigid_body import C4976204_Verify_Start_Asleep_Condition as test_module class C6090546_ForceRegion_SliceFileInstantiates(EditorSharedTest): - from . import C6090546_ForceRegion_SliceFileInstantiates as test_module + from .force_region import C6090546_ForceRegion_SliceFileInstantiates as test_module class C6090551_ForceRegion_LocalSpaceForceNegative(EditorSharedTest): - from . import C6090551_ForceRegion_LocalSpaceForceNegative as test_module + from .force_region import C6090551_ForceRegion_LocalSpaceForceNegative as test_module class C6090553_ForceRegion_SimpleDragForceOnRigidBodies(EditorSharedTest): - from . import C6090553_ForceRegion_SimpleDragForceOnRigidBodies as test_module + from .force_region import C6090553_ForceRegion_SimpleDragForceOnRigidBodies as test_module class C4976209_RigidBody_ComputesCOM(EditorSharedTest): - from . import C4976209_RigidBody_ComputesCOM as test_module + from .rigid_body import C4976209_RigidBody_ComputesCOM as test_module class C4976201_RigidBody_MassIsAssigned(EditorSharedTest): - from . import C4976201_RigidBody_MassIsAssigned as test_module + from .rigid_body import C4976201_RigidBody_MassIsAssigned as test_module class C12868580_ForceRegion_SplineModifiedTransform(EditorSharedTest): - from . import C12868580_ForceRegion_SplineModifiedTransform as test_module + from .force_region import C12868580_ForceRegion_SplineModifiedTransform as test_module class C12712455_ScriptCanvas_ShapeCastVerification(EditorSharedTest): - from . import C12712455_ScriptCanvas_ShapeCastVerification as test_module + from .script_canvas import C12712455_ScriptCanvas_ShapeCastVerification as test_module class C4976197_RigidBodies_InitialAngularVelocity(EditorSharedTest): - from . import C4976197_RigidBodies_InitialAngularVelocity as test_module + from .rigid_body import C4976197_RigidBodies_InitialAngularVelocity as test_module class C6090555_ForceRegion_SplineFollowOnRigidBodies(EditorSharedTest): - from . import C6090555_ForceRegion_SplineFollowOnRigidBodies as test_module + from .force_region import C6090555_ForceRegion_SplineFollowOnRigidBodies as test_module class C6131473_StaticSlice_OnDynamicSliceSpawn(EditorSharedTest): - from . import C6131473_StaticSlice_OnDynamicSliceSpawn as test_module + from .general import C6131473_StaticSlice_OnDynamicSliceSpawn as test_module class C5959808_ForceRegion_PositionOffset(EditorSharedTest): - from . import C5959808_ForceRegion_PositionOffset as test_module + from .force_region import C5959808_ForceRegion_PositionOffset as test_module @pytest.mark.xfail(reason="Something with the CryRenderer disabling is causing this test to fail now.") class C13895144_Ragdoll_ChangeLevel(EditorSharedTest): - from . import C13895144_Ragdoll_ChangeLevel as test_module + from .ragdoll import C13895144_Ragdoll_ChangeLevel as test_module class C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody(EditorSharedTest): - from . import C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody as test_module + from .force_region import C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody as test_module @pytest.mark.xfail(reason="This test will sometimes fail as the ball will continue to roll before the timeout is reached.") class C4976202_RigidBody_StopsWhenBelowKineticThreshold(EditorSharedTest): - from . import C4976202_RigidBody_StopsWhenBelowKineticThreshold as test_module + from .rigid_body import C4976202_RigidBody_StopsWhenBelowKineticThreshold as test_module class C13351703_COM_NotIncludeTriggerShapes(EditorSharedTest): - from . import C13351703_COM_NotIncludeTriggerShapes as test_module + from .rigid_body import C13351703_COM_NotIncludeTriggerShapes as test_module class C5296614_PhysXMaterial_ColliderShape(EditorSharedTest): - from . import C5296614_PhysXMaterial_ColliderShape as test_module + from .material import C5296614_PhysXMaterial_ColliderShape as test_module class C4982595_Collider_TriggerDisablesCollision(EditorSharedTest): - from . import C4982595_Collider_TriggerDisablesCollision as test_module + from .collider import C4982595_Collider_TriggerDisablesCollision as test_module class C14976307_Gravity_SetGravityWorks(EditorSharedTest): - from . import C14976307_Gravity_SetGravityWorks as test_module + from .general import C14976307_Gravity_SetGravityWorks as test_module class C4044694_Material_EmptyLibraryUsesDefault(EditorSharedTest): - from . import C4044694_Material_EmptyLibraryUsesDefault as test_module + from .material import C4044694_Material_EmptyLibraryUsesDefault as test_module class C15845879_ForceRegion_HighLinearDampingForce(EditorSharedTest): - from . import C15845879_ForceRegion_HighLinearDampingForce as test_module + from .force_region import C15845879_ForceRegion_HighLinearDampingForce as test_module class C4976218_RigidBodies_InertiaObjectsNotComputed(EditorSharedTest): - from . import C4976218_RigidBodies_InertiaObjectsNotComputed as test_module + from .rigid_body import C4976218_RigidBodies_InertiaObjectsNotComputed as test_module class C14902098_ScriptCanvas_PostPhysicsUpdate(EditorSharedTest): - from . import C14902098_ScriptCanvas_PostPhysicsUpdate as test_module + from .script_canvas import C14902098_ScriptCanvas_PostPhysicsUpdate as test_module # Note: Test needs to be updated to log for unexpected lines # unexpected_lines = ["Assert"] + test_module.Lines.unexpected class C5959761_ForceRegion_PhysAssetExertsPointForce(EditorSharedTest): - from . import C5959761_ForceRegion_PhysAssetExertsPointForce as test_module + from .force_region import C5959761_ForceRegion_PhysAssetExertsPointForce as test_module # Marking the Test as expected to fail using the xfail decorator due to sporadic failure on Automated Review: SPEC-3146 # The test still runs, but a failure of the test doesn't result in the test run failing @pytest.mark.xfail(reason="Test Sporadically fails with message [ NOT FOUND ] Success: Bar1 : Expected angular velocity") class C13352089_RigidBodies_MaxAngularVelocity(EditorSharedTest): - from . import C13352089_RigidBodies_MaxAngularVelocity as test_module + from .rigid_body import C13352089_RigidBodies_MaxAngularVelocity as test_module class C18243584_Joints_HingeSoftLimitsConstrained(EditorSharedTest): - from . import C18243584_Joints_HingeSoftLimitsConstrained as test_module + from .joints import C18243584_Joints_HingeSoftLimitsConstrained as test_module class C18243589_Joints_BallSoftLimitsConstrained(EditorSharedTest): - from . import C18243589_Joints_BallSoftLimitsConstrained as test_module + from .joints import C18243589_Joints_BallSoftLimitsConstrained as test_module class C18243591_Joints_BallLeadFollowerCollide(EditorSharedTest): - from . import C18243591_Joints_BallLeadFollowerCollide as test_module + from .joints import C18243591_Joints_BallLeadFollowerCollide as test_module class C19578018_ShapeColliderWithNoShapeComponent(EditorSharedTest): - from . import C19578018_ShapeColliderWithNoShapeComponent as test_module + from .collider import C19578018_ShapeColliderWithNoShapeComponent as test_module class C14861500_DefaultSetting_ColliderShape(EditorSharedTest): - from . import C14861500_DefaultSetting_ColliderShape as test_module + from .collider import C14861500_DefaultSetting_ColliderShape as test_module class C19723164_ShapeCollider_WontCrashEditor(EditorSharedTest): - from . import C19723164_ShapeColliders_WontCrashEditor as test_module + from .collider import C19723164_ShapeColliders_WontCrashEditor as test_module class C4982800_PhysXColliderShape_CanBeSelected(EditorSharedTest): - from . import C4982800_PhysXColliderShape_CanBeSelected as test_module + from .collider import C4982800_PhysXColliderShape_CanBeSelected as test_module class C4982801_PhysXColliderShape_CanBeSelected(EditorSharedTest): - from . import C4982801_PhysXColliderShape_CanBeSelected as test_module + from .collider import C4982801_PhysXColliderShape_CanBeSelected as test_module class C4982802_PhysXColliderShape_CanBeSelected(EditorSharedTest): - from . import C4982802_PhysXColliderShape_CanBeSelected as test_module + from .collider import C4982802_PhysXColliderShape_CanBeSelected as test_module class C12905528_ForceRegion_WithNonTriggerCollider(EditorSharedTest): - from . import C12905528_ForceRegion_WithNonTriggerCollider as test_module + from .force_region import C12905528_ForceRegion_WithNonTriggerCollider as test_module # Fixme: expected_lines = ["[Warning] (PhysX Force Region) - Please ensure collider component marked as trigger exists in entity"] class C5932040_ForceRegion_CubeExertsWorldForce(EditorSharedTest): - from . import C5932040_ForceRegion_CubeExertsWorldForce as test_module + from .force_region import C5932040_ForceRegion_CubeExertsWorldForce as test_module class C5932044_ForceRegion_PointForceOnRigidBody(EditorSharedTest): - from . import C5932044_ForceRegion_PointForceOnRigidBody as test_module + from .force_region import C5932044_ForceRegion_PointForceOnRigidBody as test_module class C5959759_RigidBody_ForceRegionSpherePointForce(EditorSharedTest): - from . import C5959759_RigidBody_ForceRegionSpherePointForce as test_module + from .force_region import C5959759_RigidBody_ForceRegionSpherePointForce as test_module class C5959809_ForceRegion_RotationalOffset(EditorSharedTest): - from . import C5959809_ForceRegion_RotationalOffset as test_module + from .force_region import C5959809_ForceRegion_RotationalOffset as test_module class C15096740_Material_LibraryUpdatedCorrectly(EditorSharedTest): - from . import C15096740_Material_LibraryUpdatedCorrectly as test_module + from .material import C15096740_Material_LibraryUpdatedCorrectly as test_module class C4976236_AddPhysxColliderComponent(EditorSharedTest): - from . import C4976236_AddPhysxColliderComponent as test_module + from .collider import C4976236_AddPhysxColliderComponent as test_module @pytest.mark.xfail(reason="This will fail due to this issue ATOM-15487.") class C14861502_PhysXCollider_AssetAutoAssigned(EditorSharedTest): - from . import C14861502_PhysXCollider_AssetAutoAssigned as test_module + from .collider import C14861502_PhysXCollider_AssetAutoAssigned as test_module class C14861501_PhysXCollider_RenderMeshAutoAssigned(EditorSharedTest): - from . import C14861501_PhysXCollider_RenderMeshAutoAssigned as test_module + from .collider import C14861501_PhysXCollider_RenderMeshAutoAssigned as test_module class C4044695_PhysXCollider_AddMultipleSurfaceFbx(EditorSharedTest): - from . import C4044695_PhysXCollider_AddMultipleSurfaceFbx as test_module + from .collider import C4044695_PhysXCollider_AddMultipleSurfaceFbx as test_module class C14861504_RenderMeshAsset_WithNoPxAsset(EditorSharedTest): - from . import C14861504_RenderMeshAsset_WithNoPxAsset as test_module + from .collider import C14861504_RenderMeshAsset_WithNoPxAsset as test_module class C100000_RigidBody_EnablingGravityWorksPoC(EditorSharedTest): - from . import C100000_RigidBody_EnablingGravityWorksPoC as test_module + from .collider import C100000_RigidBody_EnablingGravityWorksPoC as test_module class C4982798_Collider_ColliderRotationOffset(EditorSharedTest): - from . import C4982798_Collider_ColliderRotationOffset as test_module + from .collider import C4982798_Collider_ColliderRotationOffset as test_module class C15308217_NoCrash_LevelSwitch(EditorSharedTest): - from . import C15308217_NoCrash_LevelSwitch as test_module + from .terrain import C15308217_NoCrash_LevelSwitch as test_module class C6090547_ForceRegion_ParentChildForceRegions(EditorSharedTest): - from . import C6090547_ForceRegion_ParentChildForceRegions as test_module + from .force_region import C6090547_ForceRegion_ParentChildForceRegions as test_module class C19578021_ShapeCollider_CanBeAdded(EditorSharedTest): - from . import C19578021_ShapeCollider_CanBeAdded as test_module + from .collider import C19578021_ShapeCollider_CanBeAdded as test_module class C15425929_Undo_Redo(EditorSharedTest): - from . import C15425929_Undo_Redo as test_module + from .general import C15425929_Undo_Redo as test_module diff --git a/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Periodic.py b/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Periodic.py index 3d86db1014..fca7e0e3af 100755 --- a/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Periodic.py +++ b/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Periodic.py @@ -12,7 +12,7 @@ import pytest import os import sys -from .FileManagement import FileManagement as fm +from .utils.FileManagement import FileManagement as fm from ly_test_tools import LAUNCHERS sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../automatedtesting_shared') @@ -30,219 +30,219 @@ class TestAutomation(TestAutomationBase): @revert_physics_config def test_C3510642_Terrain_NotCollideWithTerrain(self, request, workspace, editor, launcher_platform): - from . import C3510642_Terrain_NotCollideWithTerrain as test_module + from .terrain import C3510642_Terrain_NotCollideWithTerrain as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C4976195_RigidBodies_InitialLinearVelocity(self, request, workspace, editor, launcher_platform): - from . import C4976195_RigidBodies_InitialLinearVelocity as test_module + from .rigid_body import C4976195_RigidBodies_InitialLinearVelocity as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C4976206_RigidBodies_GravityEnabledActive(self, request, workspace, editor, launcher_platform): - from . import C4976206_RigidBodies_GravityEnabledActive as test_module + from .rigid_body import C4976206_RigidBodies_GravityEnabledActive as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C4976207_PhysXRigidBodies_KinematicBehavior(self, request, workspace, editor, launcher_platform): - from . import C4976207_PhysXRigidBodies_KinematicBehavior as test_module + from .rigid_body import C4976207_PhysXRigidBodies_KinematicBehavior as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C5932042_PhysXForceRegion_LinearDamping(self, request, workspace, editor, launcher_platform): - from . import C5932042_PhysXForceRegion_LinearDamping as test_module + from .force_region import C5932042_PhysXForceRegion_LinearDamping as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C5932043_ForceRegion_SimpleDragOnRigidBodies(self, request, workspace, editor, launcher_platform): - from . import C5932043_ForceRegion_SimpleDragOnRigidBodies as test_module + from .force_region import C5932043_ForceRegion_SimpleDragOnRigidBodies as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C5959760_PhysXForceRegion_PointForceExertion(self, request, workspace, editor, launcher_platform): - from . import C5959760_PhysXForceRegion_PointForceExertion as test_module + from .force_region import C5959760_PhysXForceRegion_PointForceExertion as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C5959764_ForceRegion_ForceRegionImpulsesCapsule(self, request, workspace, editor, launcher_platform): - from . import C5959764_ForceRegion_ForceRegionImpulsesCapsule as test_module + from .force_region import C5959764_ForceRegion_ForceRegionImpulsesCapsule as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C5340400_RigidBody_ManualMomentOfInertia(self, request, workspace, editor, launcher_platform): - from . import C5340400_RigidBody_ManualMomentOfInertia as test_module + from .rigid_body import C5340400_RigidBody_ManualMomentOfInertia as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C4976210_COM_ManualSetting(self, request, workspace, editor, launcher_platform): - from . import C4976210_COM_ManualSetting as test_module + from .rigid_body import C4976210_COM_ManualSetting as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C4976194_RigidBody_PhysXComponentIsValid(self, request, workspace, editor, launcher_platform): - from . import C4976194_RigidBody_PhysXComponentIsValid as test_module + from .rigid_body import C4976194_RigidBody_PhysXComponentIsValid as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C5932045_ForceRegion_Spline(self, request, workspace, editor, launcher_platform): - from . import C5932045_ForceRegion_Spline as test_module + from .force_region import C5932045_ForceRegion_Spline as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config @fm.file_override('physxsystemconfiguration.setreg','C4044457_Material_RestitutionCombine.setreg_override', 'AutomatedTesting/Registry') def test_C4044457_Material_RestitutionCombine(self, request, workspace, editor, launcher_platform): - from . import C4044457_Material_RestitutionCombine as test_module + from .material import C4044457_Material_RestitutionCombine as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config @fm.file_override('physxsystemconfiguration.setreg','C4044456_Material_FrictionCombine.setreg_override', 'AutomatedTesting/Registry') def test_C4044456_Material_FrictionCombine(self, request, workspace, editor, launcher_platform): - from . import C4044456_Material_FrictionCombine as test_module + from .material import C4044456_Material_FrictionCombine as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C4982797_Collider_ColliderOffset(self, request, workspace, editor, launcher_platform): - from . import C4982797_Collider_ColliderOffset as test_module + from .collider import C4982797_Collider_ColliderOffset as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C4976200_RigidBody_AngularDampingObjectRotation(self, request, workspace, editor, launcher_platform): - from . import C4976200_RigidBody_AngularDampingObjectRotation as test_module + from .rigid_body import C4976200_RigidBody_AngularDampingObjectRotation as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C5689529_Verify_Terrain_RigidBody_Collider_Mesh(self, request, workspace, editor, launcher_platform): - from . import C5689529_Verify_Terrain_RigidBody_Collider_Mesh as test_module + from .general import C5689529_Verify_Terrain_RigidBody_Collider_Mesh as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C5959810_ForceRegion_ForceRegionCombinesForces(self, request, workspace, editor, launcher_platform): - from . import C5959810_ForceRegion_ForceRegionCombinesForces as test_module + from .force_region import C5959810_ForceRegion_ForceRegionCombinesForces as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C5959765_ForceRegion_AssetGetsImpulsed(self, request, workspace, editor, launcher_platform): - from . import C5959765_ForceRegion_AssetGetsImpulsed as test_module + from .force_region import C5959765_ForceRegion_AssetGetsImpulsed as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C6274125_ScriptCanvas_TriggerEvents(self, request, workspace, editor, launcher_platform): - from . import C6274125_ScriptCanvas_TriggerEvents as test_module + from .script_canvas import C6274125_ScriptCanvas_TriggerEvents as test_module # FIXME: expected_lines = test_module.LogLines.expected_lines self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C6090554_ForceRegion_PointForceNegative(self, request, workspace, editor, launcher_platform): - from . import C6090554_ForceRegion_PointForceNegative as test_module + from .force_region import C6090554_ForceRegion_PointForceNegative as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C6090550_ForceRegion_WorldSpaceForceNegative(self, request, workspace, editor, launcher_platform): - from . import C6090550_ForceRegion_WorldSpaceForceNegative as test_module + from .force_region import C6090550_ForceRegion_WorldSpaceForceNegative as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C6090552_ForceRegion_LinearDampingNegative(self, request, workspace, editor, launcher_platform): - from . import C6090552_ForceRegion_LinearDampingNegative as test_module + from .force_region import C6090552_ForceRegion_LinearDampingNegative as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C5968760_ForceRegion_CheckNetForceChange(self, request, workspace, editor, launcher_platform): - from . import C5968760_ForceRegion_CheckNetForceChange as test_module + from .force_region import C5968760_ForceRegion_CheckNetForceChange as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C12712452_ScriptCanvas_CollisionEvents(self, request, workspace, editor, launcher_platform): - from . import C12712452_ScriptCanvas_CollisionEvents as test_module + from .script_canvas import C12712452_ScriptCanvas_CollisionEvents as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude(self, request, workspace, editor, launcher_platform): - from . import C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude as test_module + from .force_region import C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C4976204_Verify_Start_Asleep_Condition(self, request, workspace, editor, launcher_platform): - from . import C4976204_Verify_Start_Asleep_Condition as test_module + from .rigid_body import C4976204_Verify_Start_Asleep_Condition as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C6090546_ForceRegion_SliceFileInstantiates(self, request, workspace, editor, launcher_platform): - from . import C6090546_ForceRegion_SliceFileInstantiates as test_module + from .force_region import C6090546_ForceRegion_SliceFileInstantiates as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C6090551_ForceRegion_LocalSpaceForceNegative(self, request, workspace, editor, launcher_platform): - from . import C6090551_ForceRegion_LocalSpaceForceNegative as test_module + from .force_region import C6090551_ForceRegion_LocalSpaceForceNegative as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C6090553_ForceRegion_SimpleDragForceOnRigidBodies(self, request, workspace, editor, launcher_platform): - from . import C6090553_ForceRegion_SimpleDragForceOnRigidBodies as test_module + from .force_region import C6090553_ForceRegion_SimpleDragForceOnRigidBodies as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C4976209_RigidBody_ComputesCOM(self, request, workspace, editor, launcher_platform): - from . import C4976209_RigidBody_ComputesCOM as test_module + from .rigid_body import C4976209_RigidBody_ComputesCOM as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C4976201_RigidBody_MassIsAssigned(self, request, workspace, editor, launcher_platform): - from . import C4976201_RigidBody_MassIsAssigned as test_module + from .rigid_body import C4976201_RigidBody_MassIsAssigned as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config @fm.file_override('physxsystemconfiguration.setreg','C18981526_Material_RestitutionCombinePriority.setreg_override', 'AutomatedTesting/Registry') def test_C18981526_Material_RestitutionCombinePriority(self, request, workspace, editor, launcher_platform): - from . import C18981526_Material_RestitutionCombinePriority as test_module + from .material import C18981526_Material_RestitutionCombinePriority as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C12868580_ForceRegion_SplineModifiedTransform(self, request, workspace, editor, launcher_platform): - from . import C12868580_ForceRegion_SplineModifiedTransform as test_module + from .force_region import C12868580_ForceRegion_SplineModifiedTransform as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C12712455_ScriptCanvas_ShapeCastVerification(self, request, workspace, editor, launcher_platform): - from . import C12712455_ScriptCanvas_ShapeCastVerification as test_module + from .script_canvas import C12712455_ScriptCanvas_ShapeCastVerification as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C4976197_RigidBodies_InitialAngularVelocity(self, request, workspace, editor, launcher_platform): - from . import C4976197_RigidBodies_InitialAngularVelocity as test_module + from .rigid_body import C4976197_RigidBodies_InitialAngularVelocity as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C6090555_ForceRegion_SplineFollowOnRigidBodies(self, request, workspace, editor, launcher_platform): - from . import C6090555_ForceRegion_SplineFollowOnRigidBodies as test_module + from .force_region import C6090555_ForceRegion_SplineFollowOnRigidBodies as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C6131473_StaticSlice_OnDynamicSliceSpawn(self, request, workspace, editor, launcher_platform): - from . import C6131473_StaticSlice_OnDynamicSliceSpawn as test_module + from .general import C6131473_StaticSlice_OnDynamicSliceSpawn as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C5959808_ForceRegion_PositionOffset(self, request, workspace, editor, launcher_platform): - from . import C5959808_ForceRegion_PositionOffset as test_module + from .force_region import C5959808_ForceRegion_PositionOffset as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config @fm.file_override('physxsystemconfiguration.setreg','C18977601_Material_FrictionCombinePriority.setreg_override', 'AutomatedTesting/Registry') def test_C18977601_Material_FrictionCombinePriority(self, request, workspace, editor, launcher_platform): - from . import C18977601_Material_FrictionCombinePriority as test_module + from .material import C18977601_Material_FrictionCombinePriority as test_module self._run_test(request, workspace, editor, test_module) @pytest.mark.xfail( reason="Something with the CryRenderer disabling is causing this test to fail now.") @revert_physics_config def test_C13895144_Ragdoll_ChangeLevel(self, request, workspace, editor, launcher_platform): - from . import C13895144_Ragdoll_ChangeLevel as test_module + from .ragdoll import C13895144_Ragdoll_ChangeLevel as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody(self, request, workspace, editor, launcher_platform): - from . import C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody as test_module + from .force_region import C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody as test_module self._run_test(request, workspace, editor, test_module) # Marking the test as an expected failure due to sporadic failure on Automated Review: LYN-2580 @@ -252,96 +252,96 @@ class TestAutomation(TestAutomationBase): @revert_physics_config @fm.file_override('physxsystemconfiguration.setreg','C4044697_Material_PerfaceMaterialValidation.setreg_override', 'AutomatedTesting/Registry') def test_C4044697_Material_PerfaceMaterialValidation(self, request, workspace, editor, launcher_platform): - from . import C4044697_Material_PerfaceMaterialValidation as test_module + from .material import C4044697_Material_PerfaceMaterialValidation as test_module self._run_test(request, workspace, editor, test_module) @pytest.mark.xfail( reason="This test will sometimes fail as the ball will continue to roll before the timeout is reached.") @revert_physics_config def test_C4976202_RigidBody_StopsWhenBelowKineticThreshold(self, request, workspace, editor, launcher_platform): - from . import C4976202_RigidBody_StopsWhenBelowKineticThreshold as test_module + from .rigid_body import C4976202_RigidBody_StopsWhenBelowKineticThreshold as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C13351703_COM_NotIncludeTriggerShapes(self, request, workspace, editor, launcher_platform): - from . import C13351703_COM_NotIncludeTriggerShapes as test_module + from .rigid_body import C13351703_COM_NotIncludeTriggerShapes as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C5296614_PhysXMaterial_ColliderShape(self, request, workspace, editor, launcher_platform): - from . import C5296614_PhysXMaterial_ColliderShape as test_module + from .material import C5296614_PhysXMaterial_ColliderShape as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C4982595_Collider_TriggerDisablesCollision(self, request, workspace, editor, launcher_platform): - from . import C4982595_Collider_TriggerDisablesCollision as test_module + from .collider import C4982595_Collider_TriggerDisablesCollision as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C14976307_Gravity_SetGravityWorks(self, request, workspace, editor, launcher_platform): - from . import C14976307_Gravity_SetGravityWorks as test_module + from .general import C14976307_Gravity_SetGravityWorks as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config @fm.file_override('physxsystemconfiguration.setreg','C15556261_PhysXMaterials_CharacterControllerMaterialAssignment.setreg_override', 'AutomatedTesting/Registry') def test_C15556261_PhysXMaterials_CharacterControllerMaterialAssignment(self, request, workspace, editor, launcher_platform): - from . import C15556261_PhysXMaterials_CharacterControllerMaterialAssignment as test_module + from .material import C15556261_PhysXMaterials_CharacterControllerMaterialAssignment as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C4044694_Material_EmptyLibraryUsesDefault(self, request, workspace, editor, launcher_platform): - from . import C4044694_Material_EmptyLibraryUsesDefault as test_module + from .material import C4044694_Material_EmptyLibraryUsesDefault as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C15845879_ForceRegion_HighLinearDampingForce(self, request, workspace, editor, launcher_platform): - from . import C15845879_ForceRegion_HighLinearDampingForce as test_module + from .force_region import C15845879_ForceRegion_HighLinearDampingForce as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C4976218_RigidBodies_InertiaObjectsNotComputed(self, request, workspace, editor, launcher_platform): - from . import C4976218_RigidBodies_InertiaObjectsNotComputed as test_module + from .rigid_body import C4976218_RigidBodies_InertiaObjectsNotComputed as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C14902098_ScriptCanvas_PostPhysicsUpdate(self, request, workspace, editor, launcher_platform): - from . import C14902098_ScriptCanvas_PostPhysicsUpdate as test_module + from .script_canvas import C14902098_ScriptCanvas_PostPhysicsUpdate as test_module # Fixme: unexpected_lines = ["Assert"] + test_module.Lines.unexpected self._run_test(request, workspace, editor, test_module) @revert_physics_config @fm.file_override('physxsystemconfiguration.setreg','C4976245_PhysXCollider_CollisionLayerTest.setreg_override', 'AutomatedTesting/Registry') def test_C4976245_PhysXCollider_CollisionLayerTest(self, request, workspace, editor, launcher_platform): - from . import C4976245_PhysXCollider_CollisionLayerTest as test_module + from .collider import C4976245_PhysXCollider_CollisionLayerTest as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config @fm.file_override('physxsystemconfiguration.setreg','C4976244_Collider_SameGroupSameLayerCollision.setreg_override', 'AutomatedTesting/Registry') def test_C4976244_Collider_SameGroupSameLayerCollision(self, request, workspace, editor, launcher_platform): - from . import C4976244_Collider_SameGroupSameLayerCollision as test_module + from .collider import C4976244_Collider_SameGroupSameLayerCollision as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config @fm.file_override('physxdefaultsceneconfiguration.setreg','C14195074_ScriptCanvas_PostUpdateEvent.setreg_override', 'AutomatedTesting/Registry') def test_C14195074_ScriptCanvas_PostUpdateEvent(self, request, workspace, editor, launcher_platform): - from . import C14195074_ScriptCanvas_PostUpdateEvent as test_module + from .script_canvas import C14195074_ScriptCanvas_PostUpdateEvent as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config @fm.file_override('physxsystemconfiguration.setreg','C4044461_Material_Restitution.setreg_override', 'AutomatedTesting/Registry') def test_C4044461_Material_Restitution(self, request, workspace, editor, launcher_platform): - from . import C4044461_Material_Restitution as test_module + from .material import C4044461_Material_Restitution as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config @fm.file_override('physxdefaultsceneconfiguration.setreg','C14902097_ScriptCanvas_PreUpdateEvent.setreg_override', 'AutomatedTesting/Registry') def test_C14902097_ScriptCanvas_PreUpdateEvent(self, request, workspace, editor, launcher_platform): - from . import C14902097_ScriptCanvas_PreUpdateEvent as test_module + from .script_canvas import C14902097_ScriptCanvas_PreUpdateEvent as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C5959761_ForceRegion_PhysAssetExertsPointForce(self, request, workspace, editor, launcher_platform): - from . import C5959761_ForceRegion_PhysAssetExertsPointForce as test_module + from .force_region import C5959761_ForceRegion_PhysAssetExertsPointForce as test_module self._run_test(request, workspace, editor, test_module) # Marking the Test as expected to fail using the xfail decorator due to sporadic failure on Automated Review: SPEC-3146 @@ -349,138 +349,138 @@ class TestAutomation(TestAutomationBase): @pytest.mark.xfail(reason="Test Sporadically fails with message [ NOT FOUND ] Success: Bar1 : Expected angular velocity") @revert_physics_config def test_C13352089_RigidBodies_MaxAngularVelocity(self, request, workspace, editor, launcher_platform): - from . import C13352089_RigidBodies_MaxAngularVelocity as test_module + from .rigid_body import C13352089_RigidBodies_MaxAngularVelocity as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C18243584_Joints_HingeSoftLimitsConstrained(self, request, workspace, editor, launcher_platform): - from . import C18243584_Joints_HingeSoftLimitsConstrained as test_module + from .joints import C18243584_Joints_HingeSoftLimitsConstrained as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C18243589_Joints_BallSoftLimitsConstrained(self, request, workspace, editor, launcher_platform): - from . import C18243589_Joints_BallSoftLimitsConstrained as test_module + from .joints import C18243589_Joints_BallSoftLimitsConstrained as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C18243591_Joints_BallLeadFollowerCollide(self, request, workspace, editor, launcher_platform): - from . import C18243591_Joints_BallLeadFollowerCollide as test_module + from .joints import C18243591_Joints_BallLeadFollowerCollide as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config @fm.file_override('physxsystemconfiguration.setreg','C4976227_Collider_NewGroup.setreg_override', 'AutomatedTesting/Registry') def test_C4976227_Collider_NewGroup(self, request, workspace, editor, launcher_platform): - from . import C4976227_Collider_NewGroup as test_module + from .collider import C4976227_Collider_NewGroup as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C19578018_ShapeColliderWithNoShapeComponent(self, request, workspace, editor, launcher_platform): - from . import C19578018_ShapeColliderWithNoShapeComponent as test_module + from .collider import C19578018_ShapeColliderWithNoShapeComponent as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C14861500_DefaultSetting_ColliderShape(self, request, workspace, editor, launcher_platform): - from . import C14861500_DefaultSetting_ColliderShape as test_module + from .collider import C14861500_DefaultSetting_ColliderShape as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C19723164_ShapeCollider_WontCrashEditor(self, request, workspace, editor, launcher_platform): - from . import C19723164_ShapeColliders_WontCrashEditor as test_module + from .collider import C19723164_ShapeColliders_WontCrashEditor as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C4982800_PhysXColliderShape_CanBeSelected(self, request, workspace, editor, launcher_platform): - from . import C4982800_PhysXColliderShape_CanBeSelected as test_module + from .collider import C4982800_PhysXColliderShape_CanBeSelected as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C4982801_PhysXColliderShape_CanBeSelected(self, request, workspace, editor, launcher_platform): - from . import C4982801_PhysXColliderShape_CanBeSelected as test_module + from .collider import C4982801_PhysXColliderShape_CanBeSelected as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C4982802_PhysXColliderShape_CanBeSelected(self, request, workspace, editor, launcher_platform): - from . import C4982802_PhysXColliderShape_CanBeSelected as test_module + from .collider import C4982802_PhysXColliderShape_CanBeSelected as test_module self._run_test(request, workspace, editor, test_module) def test_C12905528_ForceRegion_WithNonTriggerCollider(self, request, workspace, editor, launcher_platform): - from . import C12905528_ForceRegion_WithNonTriggerCollider as test_module + from .force_region import C12905528_ForceRegion_WithNonTriggerCollider as test_module # Fixme: expected_lines = ["[Warning] (PhysX Force Region) - Please ensure collider component marked as trigger exists in entity"] self._run_test(request, workspace, editor, test_module) def test_C5932040_ForceRegion_CubeExertsWorldForce(self, request, workspace, editor, launcher_platform): - from . import C5932040_ForceRegion_CubeExertsWorldForce as test_module + from .force_region import C5932040_ForceRegion_CubeExertsWorldForce as test_module self._run_test(request, workspace, editor, test_module) def test_C5932044_ForceRegion_PointForceOnRigidBody(self, request, workspace, editor, launcher_platform): - from . import C5932044_ForceRegion_PointForceOnRigidBody as test_module + from .force_region import C5932044_ForceRegion_PointForceOnRigidBody as test_module self._run_test(request, workspace, editor, test_module) def test_C5959759_RigidBody_ForceRegionSpherePointForce(self, request, workspace, editor, launcher_platform): - from . import C5959759_RigidBody_ForceRegionSpherePointForce as test_module + from .force_region import C5959759_RigidBody_ForceRegionSpherePointForce as test_module self._run_test(request, workspace, editor, test_module) def test_C5959809_ForceRegion_RotationalOffset(self, request, workspace, editor, launcher_platform): - from . import C5959809_ForceRegion_RotationalOffset as test_module + from .force_region import C5959809_ForceRegion_RotationalOffset as test_module self._run_test(request, workspace, editor, test_module) def test_C15096740_Material_LibraryUpdatedCorrectly(self, request, workspace, editor, launcher_platform): - from . import C15096740_Material_LibraryUpdatedCorrectly as test_module + from .material import C15096740_Material_LibraryUpdatedCorrectly as test_module self._run_test(request, workspace, editor, test_module) def test_C4976236_AddPhysxColliderComponent(self, request, workspace, editor, launcher_platform): - from . import C4976236_AddPhysxColliderComponent as test_module + from .collider import C4976236_AddPhysxColliderComponent as test_module self._run_test(request, workspace, editor, test_module) @pytest.mark.xfail( reason="This will fail due to this issue ATOM-15487.") def test_C14861502_PhysXCollider_AssetAutoAssigned(self, request, workspace, editor, launcher_platform): - from . import C14861502_PhysXCollider_AssetAutoAssigned as test_module + from .collider import C14861502_PhysXCollider_AssetAutoAssigned as test_module self._run_test(request, workspace, editor, test_module) def test_C14861501_PhysXCollider_RenderMeshAutoAssigned(self, request, workspace, editor, launcher_platform): - from . import C14861501_PhysXCollider_RenderMeshAutoAssigned as test_module + from .collider import C14861501_PhysXCollider_RenderMeshAutoAssigned as test_module self._run_test(request, workspace, editor, test_module) def test_C4044695_PhysXCollider_AddMultipleSurfaceFbx(self, request, workspace, editor, launcher_platform): - from . import C4044695_PhysXCollider_AddMultipleSurfaceFbx as test_module + from .collider import C4044695_PhysXCollider_AddMultipleSurfaceFbx as test_module self._run_test(request, workspace, editor, test_module) def test_C14861504_RenderMeshAsset_WithNoPxAsset(self, request, workspace, editor, launcher_platform): - from . import C14861504_RenderMeshAsset_WithNoPxAsset as test_module + from .collider import C14861504_RenderMeshAsset_WithNoPxAsset as test_module self._run_test(request, workspace, editor, test_module) def test_C100000_RigidBody_EnablingGravityWorksPoC(self, request, workspace, editor, launcher_platform): - from . import C100000_RigidBody_EnablingGravityWorksPoC as test_module + from .collider import C100000_RigidBody_EnablingGravityWorksPoC as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config @fm.file_override('physxsystemconfiguration.setreg','C3510644_Collider_CollisionGroups.setreg_override', 'AutomatedTesting/Registry') def test_C3510644_Collider_CollisionGroups(self, request, workspace, editor, launcher_platform): - from . import C3510644_Collider_CollisionGroups as test_module + from .collider import C3510644_Collider_CollisionGroups as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C4982798_Collider_ColliderRotationOffset(self, request, workspace, editor, launcher_platform): - from . import C4982798_Collider_ColliderRotationOffset as test_module + from .collider import C4982798_Collider_ColliderRotationOffset as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C15308217_NoCrash_LevelSwitch(self, request, workspace, editor, launcher_platform): - from . import C15308217_NoCrash_LevelSwitch as test_module + from .terrain import C15308217_NoCrash_LevelSwitch as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C6090547_ForceRegion_ParentChildForceRegions(self, request, workspace, editor, launcher_platform): - from . import C6090547_ForceRegion_ParentChildForceRegions as test_module + from .force_region import C6090547_ForceRegion_ParentChildForceRegions as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C19578021_ShapeCollider_CanBeAdded(self, request, workspace, editor, launcher_platform): - from . import C19578021_ShapeCollider_CanBeAdded as test_module + from .collider import C19578021_ShapeCollider_CanBeAdded as test_module self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_C15425929_Undo_Redo(self, request, workspace, editor, launcher_platform): - from . import C15425929_Undo_Redo as test_module + from .general import C15425929_Undo_Redo as test_module self._run_test(request, workspace, editor, test_module) diff --git a/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Sandbox.py b/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Sandbox.py index 255016ddd6..0346df2ebd 100755 --- a/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Sandbox.py +++ b/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Sandbox.py @@ -12,7 +12,7 @@ import pytest import os import sys -from .FileManagement import FileManagement as fm +from .utils.FileManagement import FileManagement as fm from ly_test_tools import LAUNCHERS sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../automatedtesting_shared') @@ -30,13 +30,13 @@ class TestAutomation(TestAutomationBase): ## Seems to be flaky, need to investigate def test_C19536274_GetCollisionName_PrintsName(self, request, workspace, editor, launcher_platform): - from . import C19536274_GetCollisionName_PrintsName as test_module + from .general import C19536274_GetCollisionName_PrintsName as test_module # Fixme: expected_lines=["Layer Name: Right"] self._run_test(request, workspace, editor, test_module) ## Seems to be flaky, need to investigate def test_C19536277_GetCollisionName_PrintsNothing(self, request, workspace, editor, launcher_platform): - from . import C19536277_GetCollisionName_PrintsNothing as test_module + from .general import C19536277_GetCollisionName_PrintsNothing as test_module # All groups present in the PhysX Collider that could show up in test # Fixme: collision_groups = ["All", "None", "All_NoTouchBend", "All_3", "None_1", "All_NoTouchBend_1", "All_2", "None_1_1", "All_NoTouchBend_1_1", "All_1", "None_1_1_1", "All_NoTouchBend_1_1_1", "All_4", "None_1_1_1_1", "All_NoTouchBend_1_1_1_1", "GroupLeft", "GroupRight"] # Fixme: for group in collision_groups: @@ -49,5 +49,5 @@ class TestAutomation(TestAutomationBase): reason="Editor crashes and errors about files accessed by multiple processes appear in the log.") @revert_physics_config def test_C15425929_Undo_Redo(self, request, workspace, editor, launcher_platform): - from . import C15425929_Undo_Redo as test_module + from .general import C15425929_Undo_Redo as test_module self._run_test(request, workspace, editor, test_module) diff --git a/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Utils.py b/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Utils.py index 9f4edba18b..a3fd5c741f 100755 --- a/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Utils.py +++ b/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Utils.py @@ -29,14 +29,14 @@ class TestUtils(TestAutomationBase): :param request: Built in pytest object, and is needed to call the pytest "addfinalizer" teardown command. :editor: Fixture containing editor details """ - from . import UtilTest_Physmaterial_Editor as physmaterial_editor_test_module + from .utils import UtilTest_Physmaterial_Editor as physmaterial_editor_test_module expected_lines = [] unexpected_lines = ["Assert"] self._run_test(request, workspace, editor, physmaterial_editor_test_module, expected_lines, unexpected_lines) def test_UtilTest_Tracer_PicksErrorsAndWarnings(self, request, workspace, editor): - from . import UtilTest_Tracer_PicksErrorsAndWarnings as testcase_module + from .utils import UtilTest_Tracer_PicksErrorsAndWarnings as testcase_module self._run_test(request, workspace, editor, testcase_module, [], []) def test_FileManagement_FindingFiles(self, workspace): @@ -262,7 +262,7 @@ class TestUtils(TestAutomationBase): ) @fm.file_override("default.physxconfiguration", "UtilTest_PhysxConfig_Override.physxconfiguration") def test_UtilTest_Managed_Files(self, request, workspace, editor): - from . import UtilTest_Managed_Files as test_module + from .utils import UtilTest_Managed_Files as test_module expected_lines = [] unexpected_lines = ["Assert"] diff --git a/AutomatedTesting/Gem/PythonTests/physics/C14654881_CharacterController_SwitchLevels.py b/AutomatedTesting/Gem/PythonTests/physics/character_controller/C14654881_CharacterController_SwitchLevels.py old mode 100755 new mode 100644 similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/C14654881_CharacterController_SwitchLevels.py rename to AutomatedTesting/Gem/PythonTests/physics/character_controller/C14654881_CharacterController_SwitchLevels.py index 975c5ee787..3976bcf25c --- a/AutomatedTesting/Gem/PythonTests/physics/C14654881_CharacterController_SwitchLevels.py +++ b/AutomatedTesting/Gem/PythonTests/physics/character_controller/C14654881_CharacterController_SwitchLevels.py @@ -53,11 +53,6 @@ def C14654881_CharacterController_SwitchLevels(): import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper import azlmbr.legacy.general as general @@ -93,8 +88,5 @@ def C14654881_CharacterController_SwitchLevels(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C14654881_CharacterController_SwitchLevels) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C100000_RigidBody_EnablingGravityWorksPoC.py b/AutomatedTesting/Gem/PythonTests/physics/collider/C100000_RigidBody_EnablingGravityWorksPoC.py old mode 100755 new mode 100644 similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/C100000_RigidBody_EnablingGravityWorksPoC.py rename to AutomatedTesting/Gem/PythonTests/physics/collider/C100000_RigidBody_EnablingGravityWorksPoC.py index 58d92fd313..f3d3e02d8e --- a/AutomatedTesting/Gem/PythonTests/physics/C100000_RigidBody_EnablingGravityWorksPoC.py +++ b/AutomatedTesting/Gem/PythonTests/physics/collider/C100000_RigidBody_EnablingGravityWorksPoC.py @@ -25,11 +25,6 @@ class Tests(): def C100000_RigidBody_EnablingGravityWorksPoC(): import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -77,8 +72,5 @@ def C100000_RigidBody_EnablingGravityWorksPoC(): helper.exit_game_mode(Tests.exit_game_mode) if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C100000_RigidBody_EnablingGravityWorksPoC) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C111111_RigidBody_EnablingGravityWorksUsingNotificationsPoC.py b/AutomatedTesting/Gem/PythonTests/physics/collider/C111111_RigidBody_EnablingGravityWorksUsingNotificationsPoC.py old mode 100755 new mode 100644 similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/C111111_RigidBody_EnablingGravityWorksUsingNotificationsPoC.py rename to AutomatedTesting/Gem/PythonTests/physics/collider/C111111_RigidBody_EnablingGravityWorksUsingNotificationsPoC.py index 77e8c73604..997ea8a5a6 --- a/AutomatedTesting/Gem/PythonTests/physics/C111111_RigidBody_EnablingGravityWorksUsingNotificationsPoC.py +++ b/AutomatedTesting/Gem/PythonTests/physics/collider/C111111_RigidBody_EnablingGravityWorksUsingNotificationsPoC.py @@ -24,11 +24,6 @@ def C111111_RigidBody_EnablingGravityWorksUsingNotificationsPoC(): # Setup path import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -84,8 +79,5 @@ def C111111_RigidBody_EnablingGravityWorksUsingNotificationsPoC(): helper.exit_game_mode(Tests.exit_game_mode) if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C111111_RigidBody_EnablingGravityWorksUsingNotificationsPoC) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C14861498_ConfirmError_NoPxMesh.py b/AutomatedTesting/Gem/PythonTests/physics/collider/C14861498_ConfirmError_NoPxMesh.py old mode 100755 new mode 100644 similarity index 95% rename from AutomatedTesting/Gem/PythonTests/physics/C14861498_ConfirmError_NoPxMesh.py rename to AutomatedTesting/Gem/PythonTests/physics/collider/C14861498_ConfirmError_NoPxMesh.py index 622f2aac35..731f114b8c --- a/AutomatedTesting/Gem/PythonTests/physics/C14861498_ConfirmError_NoPxMesh.py +++ b/AutomatedTesting/Gem/PythonTests/physics/collider/C14861498_ConfirmError_NoPxMesh.py @@ -48,11 +48,6 @@ def C14861498_ConfirmError_NoPxMesh(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper from editor_python_test_tools.utils import Tracer @@ -85,8 +80,5 @@ def C14861498_ConfirmError_NoPxMesh(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C14861498_ConfirmError_NoPxMesh) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C14861500_DefaultSetting_ColliderShape.py b/AutomatedTesting/Gem/PythonTests/physics/collider/C14861500_DefaultSetting_ColliderShape.py old mode 100755 new mode 100644 similarity index 95% rename from AutomatedTesting/Gem/PythonTests/physics/C14861500_DefaultSetting_ColliderShape.py rename to AutomatedTesting/Gem/PythonTests/physics/collider/C14861500_DefaultSetting_ColliderShape.py index 0827ee540a..aed856f530 --- a/AutomatedTesting/Gem/PythonTests/physics/C14861500_DefaultSetting_ColliderShape.py +++ b/AutomatedTesting/Gem/PythonTests/physics/collider/C14861500_DefaultSetting_ColliderShape.py @@ -40,9 +40,7 @@ def C14861500_DefaultSetting_ColliderShape(): :return: None """ # Helper Files - import ImportPathHelper as imports - imports.init() from editor_python_test_tools.editor_entity_utils import EditorEntity as Entity from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -70,8 +68,5 @@ def C14861500_DefaultSetting_ColliderShape(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C14861500_DefaultSetting_ColliderShape) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C14861501_PhysXCollider_RenderMeshAutoAssigned.py b/AutomatedTesting/Gem/PythonTests/physics/collider/C14861501_PhysXCollider_RenderMeshAutoAssigned.py old mode 100755 new mode 100644 similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/C14861501_PhysXCollider_RenderMeshAutoAssigned.py rename to AutomatedTesting/Gem/PythonTests/physics/collider/C14861501_PhysXCollider_RenderMeshAutoAssigned.py index 1a4fe471a4..73c94a2dfb --- a/AutomatedTesting/Gem/PythonTests/physics/C14861501_PhysXCollider_RenderMeshAutoAssigned.py +++ b/AutomatedTesting/Gem/PythonTests/physics/collider/C14861501_PhysXCollider_RenderMeshAutoAssigned.py @@ -48,13 +48,11 @@ def C14861501_PhysXCollider_RenderMeshAutoAssigned(): import os # Helper Files - import ImportPathHelper as imports - imports.init() from editor_python_test_tools.editor_entity_utils import EditorEntity as Entity from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper - from asset_utils import Asset + from editor_python_test_tools.asset_utils import Asset # Asset paths STATIC_MESH = os.path.join("assets", "c14861501_physxcollider_rendermeshautoassigned", "spherebot", "r0-b_body.azmodel") @@ -91,8 +89,5 @@ def C14861501_PhysXCollider_RenderMeshAutoAssigned(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C14861501_PhysXCollider_RenderMeshAutoAssigned) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C14861502_PhysXCollider_AssetAutoAssigned.py b/AutomatedTesting/Gem/PythonTests/physics/collider/C14861502_PhysXCollider_AssetAutoAssigned.py old mode 100755 new mode 100644 similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/C14861502_PhysXCollider_AssetAutoAssigned.py rename to AutomatedTesting/Gem/PythonTests/physics/collider/C14861502_PhysXCollider_AssetAutoAssigned.py index 490708007e..b8c0e4a529 --- a/AutomatedTesting/Gem/PythonTests/physics/C14861502_PhysXCollider_AssetAutoAssigned.py +++ b/AutomatedTesting/Gem/PythonTests/physics/collider/C14861502_PhysXCollider_AssetAutoAssigned.py @@ -47,13 +47,11 @@ def C14861502_PhysXCollider_AssetAutoAssigned(): import os # Helper Files - import ImportPathHelper as imports - imports.init() from editor_python_test_tools.editor_entity_utils import EditorEntity as Entity from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper - from asset_utils import Asset + from editor_python_test_tools.asset_utils import Asset # Open 3D Engine Imports import azlmbr.legacy.general as general @@ -93,8 +91,5 @@ def C14861502_PhysXCollider_AssetAutoAssigned(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C14861502_PhysXCollider_AssetAutoAssigned) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C14861504_RenderMeshAsset_WithNoPxAsset.py b/AutomatedTesting/Gem/PythonTests/physics/collider/C14861504_RenderMeshAsset_WithNoPxAsset.py old mode 100755 new mode 100644 similarity index 95% rename from AutomatedTesting/Gem/PythonTests/physics/C14861504_RenderMeshAsset_WithNoPxAsset.py rename to AutomatedTesting/Gem/PythonTests/physics/collider/C14861504_RenderMeshAsset_WithNoPxAsset.py index 589245e884..1a63f478fd --- a/AutomatedTesting/Gem/PythonTests/physics/C14861504_RenderMeshAsset_WithNoPxAsset.py +++ b/AutomatedTesting/Gem/PythonTests/physics/collider/C14861504_RenderMeshAsset_WithNoPxAsset.py @@ -22,7 +22,7 @@ class Tests(): # fmt: on -def run(): +def C14861504_RenderMeshAsset_WithNoPxAsset(): """ Summary: Create entity with Mesh component and assign a render mesh that has no physics asset to the Mesh component. @@ -52,14 +52,12 @@ def run(): import os # Helper Files - import ImportPathHelper as imports - imports.init() from editor_python_test_tools.editor_entity_utils import EditorEntity as Entity from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper from editor_python_test_tools.utils import Tracer - from asset_utils import Asset + from editor_python_test_tools.asset_utils import Asset # Open 3D Engine Imports import azlmbr.asset as azasset @@ -102,4 +100,5 @@ def run(): if __name__ == "__main__": - run() + from editor_python_test_tools.utils import Report + Report.start_test(C14861504_RenderMeshAsset_WithNoPxAsset) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C19578018_ShapeColliderWithNoShapeComponent.py b/AutomatedTesting/Gem/PythonTests/physics/collider/C19578018_ShapeColliderWithNoShapeComponent.py old mode 100755 new mode 100644 similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/C19578018_ShapeColliderWithNoShapeComponent.py rename to AutomatedTesting/Gem/PythonTests/physics/collider/C19578018_ShapeColliderWithNoShapeComponent.py index 478910e56c..3da42eb40f --- a/AutomatedTesting/Gem/PythonTests/physics/C19578018_ShapeColliderWithNoShapeComponent.py +++ b/AutomatedTesting/Gem/PythonTests/physics/collider/C19578018_ShapeColliderWithNoShapeComponent.py @@ -47,9 +47,7 @@ def C19578018_ShapeColliderWithNoShapeComponent(): """ # Built-in Imports - import ImportPathHelper as imports - imports.init() # Helper Imports from editor_python_test_tools.utils import Report @@ -92,8 +90,5 @@ def C19578018_ShapeColliderWithNoShapeComponent(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C19578018_ShapeColliderWithNoShapeComponent) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C19578021_ShapeCollider_CanBeAdded.py b/AutomatedTesting/Gem/PythonTests/physics/collider/C19578021_ShapeCollider_CanBeAdded.py old mode 100755 new mode 100644 similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/C19578021_ShapeCollider_CanBeAdded.py rename to AutomatedTesting/Gem/PythonTests/physics/collider/C19578021_ShapeCollider_CanBeAdded.py index cf5aac6e98..0ec9908f2d --- a/AutomatedTesting/Gem/PythonTests/physics/C19578021_ShapeCollider_CanBeAdded.py +++ b/AutomatedTesting/Gem/PythonTests/physics/collider/C19578021_ShapeCollider_CanBeAdded.py @@ -44,9 +44,7 @@ def C19578021_ShapeCollider_CanBeAdded(): :return: None """ # Helper Files - import ImportPathHelper as imports - imports.init() from editor_python_test_tools.editor_entity_utils import EditorEntity as Entity from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -90,8 +88,5 @@ def C19578021_ShapeCollider_CanBeAdded(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C19578021_ShapeCollider_CanBeAdded) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C19723164_ShapeColliders_WontCrashEditor.py b/AutomatedTesting/Gem/PythonTests/physics/collider/C19723164_ShapeColliders_WontCrashEditor.py old mode 100755 new mode 100644 similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/C19723164_ShapeColliders_WontCrashEditor.py rename to AutomatedTesting/Gem/PythonTests/physics/collider/C19723164_ShapeColliders_WontCrashEditor.py index f6f21a5322..7d277a734d --- a/AutomatedTesting/Gem/PythonTests/physics/C19723164_ShapeColliders_WontCrashEditor.py +++ b/AutomatedTesting/Gem/PythonTests/physics/collider/C19723164_ShapeColliders_WontCrashEditor.py @@ -40,9 +40,7 @@ def C19723164_ShapeColliders_WontCrashEditor(): :return: None """ # Helper Files - import ImportPathHelper as imports - imports.init() from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper from editor_python_test_tools.editor_entity_utils import EditorEntity as Entity @@ -96,8 +94,5 @@ def C19723164_ShapeColliders_WontCrashEditor(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C19723164_ShapeColliders_WontCrashEditor) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain.py b/AutomatedTesting/Gem/PythonTests/physics/collider/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain.py old mode 100755 new mode 100644 similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain.py rename to AutomatedTesting/Gem/PythonTests/physics/collider/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain.py index 9258cf8547..9094ba68c6 --- a/AutomatedTesting/Gem/PythonTests/physics/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain.py +++ b/AutomatedTesting/Gem/PythonTests/physics/collider/C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain.py @@ -51,9 +51,7 @@ def C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain(): import os import sys - import ImportPathHelper as imports - imports.init() from editor_python_test_tools.editor_entity_utils import EditorEntity import azlmbr.legacy.general as general import azlmbr.bus @@ -134,8 +132,5 @@ def C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C3510644_Collider_CollisionGroups.py b/AutomatedTesting/Gem/PythonTests/physics/collider/C3510644_Collider_CollisionGroups.py old mode 100755 new mode 100644 similarity index 99% rename from AutomatedTesting/Gem/PythonTests/physics/C3510644_Collider_CollisionGroups.py rename to AutomatedTesting/Gem/PythonTests/physics/collider/C3510644_Collider_CollisionGroups.py index e41aecf4fe..28638cc2a6 --- a/AutomatedTesting/Gem/PythonTests/physics/C3510644_Collider_CollisionGroups.py +++ b/AutomatedTesting/Gem/PythonTests/physics/collider/C3510644_Collider_CollisionGroups.py @@ -90,11 +90,6 @@ def C3510644_Collider_CollisionGroups(): import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -362,8 +357,5 @@ def C3510644_Collider_CollisionGroups(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C3510644_Collider_CollisionGroups) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4044695_PhysXCollider_AddMultipleSurfaceFbx.py b/AutomatedTesting/Gem/PythonTests/physics/collider/C4044695_PhysXCollider_AddMultipleSurfaceFbx.py old mode 100755 new mode 100644 similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/C4044695_PhysXCollider_AddMultipleSurfaceFbx.py rename to AutomatedTesting/Gem/PythonTests/physics/collider/C4044695_PhysXCollider_AddMultipleSurfaceFbx.py index 538f28ff36..cfe6f3962c --- a/AutomatedTesting/Gem/PythonTests/physics/C4044695_PhysXCollider_AddMultipleSurfaceFbx.py +++ b/AutomatedTesting/Gem/PythonTests/physics/collider/C4044695_PhysXCollider_AddMultipleSurfaceFbx.py @@ -48,13 +48,11 @@ def C4044695_PhysXCollider_AddMultipleSurfaceFbx(): import os # Helper Files - import ImportPathHelper as imports - imports.init() from editor_python_test_tools.editor_entity_utils import EditorEntity as Entity from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper - from asset_utils import Asset + from editor_python_test_tools.asset_utils import Asset # Constants PHYSICS_ASSET_INDEX = 7 # Hardcoded enum index value for Shape property @@ -107,8 +105,5 @@ def C4044695_PhysXCollider_AddMultipleSurfaceFbx(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4044695_PhysXCollider_AddMultipleSurfaceFbx) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4976227_Collider_NewGroup.py b/AutomatedTesting/Gem/PythonTests/physics/collider/C4976227_Collider_NewGroup.py old mode 100755 new mode 100644 similarity index 95% rename from AutomatedTesting/Gem/PythonTests/physics/C4976227_Collider_NewGroup.py rename to AutomatedTesting/Gem/PythonTests/physics/collider/C4976227_Collider_NewGroup.py index e123067f54..e9704d6be5 --- a/AutomatedTesting/Gem/PythonTests/physics/C4976227_Collider_NewGroup.py +++ b/AutomatedTesting/Gem/PythonTests/physics/collider/C4976227_Collider_NewGroup.py @@ -51,11 +51,6 @@ def C4976227_Collider_NewGroup(): import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -84,8 +79,5 @@ def C4976227_Collider_NewGroup(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4976227_Collider_NewGroup) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4976236_AddPhysxColliderComponent.py b/AutomatedTesting/Gem/PythonTests/physics/collider/C4976236_AddPhysxColliderComponent.py old mode 100755 new mode 100644 similarity index 95% rename from AutomatedTesting/Gem/PythonTests/physics/C4976236_AddPhysxColliderComponent.py rename to AutomatedTesting/Gem/PythonTests/physics/collider/C4976236_AddPhysxColliderComponent.py index d4b7d85169..e4341bb148 --- a/AutomatedTesting/Gem/PythonTests/physics/C4976236_AddPhysxColliderComponent.py +++ b/AutomatedTesting/Gem/PythonTests/physics/collider/C4976236_AddPhysxColliderComponent.py @@ -42,14 +42,12 @@ def C4976236_AddPhysxColliderComponent(): """ # Helper file Imports - import ImportPathHelper as imports - imports.init() from editor_python_test_tools.editor_entity_utils import EditorEntity from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper from editor_python_test_tools.utils import Tracer - from asset_utils import Asset + from editor_python_test_tools.asset_utils import Asset helper.init_idle() # 1) Load the level @@ -84,8 +82,5 @@ def C4976236_AddPhysxColliderComponent(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4976236_AddPhysxColliderComponent) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4976242_Collision_SameCollisionlayerSameCollisiongroup.py b/AutomatedTesting/Gem/PythonTests/physics/collider/C4976242_Collision_SameCollisionlayerSameCollisiongroup.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C4976242_Collision_SameCollisionlayerSameCollisiongroup.py rename to AutomatedTesting/Gem/PythonTests/physics/collider/C4976242_Collision_SameCollisionlayerSameCollisiongroup.py index 86dd81a6de..86ef5b6ed4 --- a/AutomatedTesting/Gem/PythonTests/physics/C4976242_Collision_SameCollisionlayerSameCollisiongroup.py +++ b/AutomatedTesting/Gem/PythonTests/physics/collider/C4976242_Collision_SameCollisionlayerSameCollisiongroup.py @@ -62,11 +62,6 @@ def C4976242_Collision_SameCollisionlayerSameCollisiongroup(): import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -188,8 +183,5 @@ def C4976242_Collision_SameCollisionlayerSameCollisiongroup(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4976242_Collision_SameCollisionlayerSameCollisiongroup) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4976243_Collision_SameCollisionGroupDiffCollisionLayers.py b/AutomatedTesting/Gem/PythonTests/physics/collider/C4976243_Collision_SameCollisionGroupDiffCollisionLayers.py old mode 100755 new mode 100644 similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/C4976243_Collision_SameCollisionGroupDiffCollisionLayers.py rename to AutomatedTesting/Gem/PythonTests/physics/collider/C4976243_Collision_SameCollisionGroupDiffCollisionLayers.py index f1a646e964..893d0d06f6 --- a/AutomatedTesting/Gem/PythonTests/physics/C4976243_Collision_SameCollisionGroupDiffCollisionLayers.py +++ b/AutomatedTesting/Gem/PythonTests/physics/collider/C4976243_Collision_SameCollisionGroupDiffCollisionLayers.py @@ -66,11 +66,6 @@ def C4976243_Collision_SameCollisionGroupDiffCollisionLayers(): import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -127,8 +122,5 @@ def C4976243_Collision_SameCollisionGroupDiffCollisionLayers(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4976243_Collision_SameCollisionGroupDiffCollisionLayers) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4976244_Collider_SameGroupSameLayerCollision.py b/AutomatedTesting/Gem/PythonTests/physics/collider/C4976244_Collider_SameGroupSameLayerCollision.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C4976244_Collider_SameGroupSameLayerCollision.py rename to AutomatedTesting/Gem/PythonTests/physics/collider/C4976244_Collider_SameGroupSameLayerCollision.py index 1d1f0aba35..44ea29de76 --- a/AutomatedTesting/Gem/PythonTests/physics/C4976244_Collider_SameGroupSameLayerCollision.py +++ b/AutomatedTesting/Gem/PythonTests/physics/collider/C4976244_Collider_SameGroupSameLayerCollision.py @@ -62,11 +62,6 @@ def C4976244_Collider_SameGroupSameLayerCollision(): import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -185,8 +180,5 @@ def C4976244_Collider_SameGroupSameLayerCollision(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4976244_Collider_SameGroupSameLayerCollision) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4976245_PhysXCollider_CollisionLayerTest.py b/AutomatedTesting/Gem/PythonTests/physics/collider/C4976245_PhysXCollider_CollisionLayerTest.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C4976245_PhysXCollider_CollisionLayerTest.py rename to AutomatedTesting/Gem/PythonTests/physics/collider/C4976245_PhysXCollider_CollisionLayerTest.py index 9d2c6f5fb4..a7c9152744 --- a/AutomatedTesting/Gem/PythonTests/physics/C4976245_PhysXCollider_CollisionLayerTest.py +++ b/AutomatedTesting/Gem/PythonTests/physics/collider/C4976245_PhysXCollider_CollisionLayerTest.py @@ -67,11 +67,6 @@ def C4976245_PhysXCollider_CollisionLayerTest(): import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper import azlmbr.legacy.general as general @@ -223,8 +218,5 @@ def C4976245_PhysXCollider_CollisionLayerTest(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4976245_PhysXCollider_CollisionLayerTest) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4982593_PhysXCollider_CollisionLayerTest.py b/AutomatedTesting/Gem/PythonTests/physics/collider/C4982593_PhysXCollider_CollisionLayerTest.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C4982593_PhysXCollider_CollisionLayerTest.py rename to AutomatedTesting/Gem/PythonTests/physics/collider/C4982593_PhysXCollider_CollisionLayerTest.py index 500515f707..3fdb9d3403 --- a/AutomatedTesting/Gem/PythonTests/physics/C4982593_PhysXCollider_CollisionLayerTest.py +++ b/AutomatedTesting/Gem/PythonTests/physics/collider/C4982593_PhysXCollider_CollisionLayerTest.py @@ -67,11 +67,6 @@ def C4982593_PhysXCollider_CollisionLayerTest(): import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper import azlmbr.legacy.general as general @@ -231,8 +226,5 @@ def C4982593_PhysXCollider_CollisionLayerTest(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4982593_PhysXCollider_CollisionLayerTest) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4982595_Collider_TriggerDisablesCollision.py b/AutomatedTesting/Gem/PythonTests/physics/collider/C4982595_Collider_TriggerDisablesCollision.py old mode 100755 new mode 100644 similarity index 99% rename from AutomatedTesting/Gem/PythonTests/physics/C4982595_Collider_TriggerDisablesCollision.py rename to AutomatedTesting/Gem/PythonTests/physics/collider/C4982595_Collider_TriggerDisablesCollision.py index 23e43cd741..d3b0faa6d4 --- a/AutomatedTesting/Gem/PythonTests/physics/C4982595_Collider_TriggerDisablesCollision.py +++ b/AutomatedTesting/Gem/PythonTests/physics/collider/C4982595_Collider_TriggerDisablesCollision.py @@ -75,11 +75,6 @@ def C4982595_Collider_TriggerDisablesCollision(): # Setup path import os import sys - - import ImportPathHelper as imports - - imports.init() - import azlmbr.legacy.general as general import azlmbr.bus import azlmbr.components @@ -234,8 +229,5 @@ def C4982595_Collider_TriggerDisablesCollision(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4982595_Collider_TriggerDisablesCollision) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4982797_Collider_ColliderOffset.py b/AutomatedTesting/Gem/PythonTests/physics/collider/C4982797_Collider_ColliderOffset.py old mode 100755 new mode 100644 similarity index 99% rename from AutomatedTesting/Gem/PythonTests/physics/C4982797_Collider_ColliderOffset.py rename to AutomatedTesting/Gem/PythonTests/physics/collider/C4982797_Collider_ColliderOffset.py index 9ede25e5a0..d4d8ab15fd --- a/AutomatedTesting/Gem/PythonTests/physics/C4982797_Collider_ColliderOffset.py +++ b/AutomatedTesting/Gem/PythonTests/physics/collider/C4982797_Collider_ColliderOffset.py @@ -87,9 +87,7 @@ def C4982797_Collider_ColliderOffset(): import sys # Internal editor imports - import ImportPathHelper as imports - imports.init() from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -332,8 +330,5 @@ def C4982797_Collider_ColliderOffset(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4982797_Collider_ColliderOffset) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4982798_Collider_ColliderRotationOffset.py b/AutomatedTesting/Gem/PythonTests/physics/collider/C4982798_Collider_ColliderRotationOffset.py old mode 100755 new mode 100644 similarity index 99% rename from AutomatedTesting/Gem/PythonTests/physics/C4982798_Collider_ColliderRotationOffset.py rename to AutomatedTesting/Gem/PythonTests/physics/collider/C4982798_Collider_ColliderRotationOffset.py index c0bc208d48..8368b9a66f --- a/AutomatedTesting/Gem/PythonTests/physics/C4982798_Collider_ColliderRotationOffset.py +++ b/AutomatedTesting/Gem/PythonTests/physics/collider/C4982798_Collider_ColliderRotationOffset.py @@ -86,9 +86,7 @@ def C4982798_Collider_ColliderRotationOffset(): :return: None """ - import ImportPathHelper as imports - imports.init() # Internal editor imports @@ -300,8 +298,5 @@ def C4982798_Collider_ColliderRotationOffset(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4982798_Collider_ColliderRotationOffset) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4982800_PhysXColliderShape_CanBeSelected.py b/AutomatedTesting/Gem/PythonTests/physics/collider/C4982800_PhysXColliderShape_CanBeSelected.py old mode 100755 new mode 100644 similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/C4982800_PhysXColliderShape_CanBeSelected.py rename to AutomatedTesting/Gem/PythonTests/physics/collider/C4982800_PhysXColliderShape_CanBeSelected.py index abfa6c44a1..0f1b9c6070 --- a/AutomatedTesting/Gem/PythonTests/physics/C4982800_PhysXColliderShape_CanBeSelected.py +++ b/AutomatedTesting/Gem/PythonTests/physics/collider/C4982800_PhysXColliderShape_CanBeSelected.py @@ -43,9 +43,7 @@ def C4982800_PhysXColliderShape_CanBeSelected(): :return: None """ # Helper Files - import ImportPathHelper as imports - imports.init() from editor_python_test_tools.editor_entity_utils import EditorEntity as Entity from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -91,8 +89,5 @@ def C4982800_PhysXColliderShape_CanBeSelected(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4982800_PhysXColliderShape_CanBeSelected) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4982801_PhysXColliderShape_CanBeSelected.py b/AutomatedTesting/Gem/PythonTests/physics/collider/C4982801_PhysXColliderShape_CanBeSelected.py old mode 100755 new mode 100644 similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/C4982801_PhysXColliderShape_CanBeSelected.py rename to AutomatedTesting/Gem/PythonTests/physics/collider/C4982801_PhysXColliderShape_CanBeSelected.py index 0d5aa39941..33b7dc0b48 --- a/AutomatedTesting/Gem/PythonTests/physics/C4982801_PhysXColliderShape_CanBeSelected.py +++ b/AutomatedTesting/Gem/PythonTests/physics/collider/C4982801_PhysXColliderShape_CanBeSelected.py @@ -43,9 +43,7 @@ def C4982801_PhysXColliderShape_CanBeSelected(): :return: None """ # Helper Files - import ImportPathHelper as imports - imports.init() from editor_python_test_tools.editor_entity_utils import EditorEntity as Entity from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -103,8 +101,5 @@ def C4982801_PhysXColliderShape_CanBeSelected(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4982801_PhysXColliderShape_CanBeSelected) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4982802_PhysXColliderShape_CanBeSelected.py b/AutomatedTesting/Gem/PythonTests/physics/collider/C4982802_PhysXColliderShape_CanBeSelected.py old mode 100755 new mode 100644 similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/C4982802_PhysXColliderShape_CanBeSelected.py rename to AutomatedTesting/Gem/PythonTests/physics/collider/C4982802_PhysXColliderShape_CanBeSelected.py index 7eec3b070a..4881c5b9a0 --- a/AutomatedTesting/Gem/PythonTests/physics/C4982802_PhysXColliderShape_CanBeSelected.py +++ b/AutomatedTesting/Gem/PythonTests/physics/collider/C4982802_PhysXColliderShape_CanBeSelected.py @@ -43,9 +43,7 @@ def C4982802_PhysXColliderShape_CanBeSelected(): :return: None """ # Helper Files - import ImportPathHelper as imports - imports.init() from editor_python_test_tools.editor_entity_utils import EditorEntity as Entity from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -103,8 +101,5 @@ def C4982802_PhysXColliderShape_CanBeSelected(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4982802_PhysXColliderShape_CanBeSelected) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4982803_Enable_PxMesh_Option.py b/AutomatedTesting/Gem/PythonTests/physics/collider/C4982803_Enable_PxMesh_Option.py old mode 100755 new mode 100644 similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/C4982803_Enable_PxMesh_Option.py rename to AutomatedTesting/Gem/PythonTests/physics/collider/C4982803_Enable_PxMesh_Option.py index 340b9c7785..7497ae8253 --- a/AutomatedTesting/Gem/PythonTests/physics/C4982803_Enable_PxMesh_Option.py +++ b/AutomatedTesting/Gem/PythonTests/physics/collider/C4982803_Enable_PxMesh_Option.py @@ -57,13 +57,11 @@ def C4982803_Enable_PxMesh_Option(): import os # Helper Files - import ImportPathHelper as imports - imports.init() from editor_python_test_tools.editor_entity_utils import EditorEntity from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper - from asset_utils import Asset + from editor_python_test_tools.asset_utils import Asset import azlmbr.math as math # Open 3D Engine Imports @@ -141,8 +139,5 @@ def C4982803_Enable_PxMesh_Option(): helper.exit_game_mode(Tests.exit_game_mode) if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4982803_Enable_PxMesh_Option) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude.py b/AutomatedTesting/Gem/PythonTests/physics/force_region/C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude.py old mode 100755 new mode 100644 similarity index 99% rename from AutomatedTesting/Gem/PythonTests/physics/C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude.py rename to AutomatedTesting/Gem/PythonTests/physics/force_region/C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude.py index aae57cffc8..11488b14c2 --- a/AutomatedTesting/Gem/PythonTests/physics/C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude.py +++ b/AutomatedTesting/Gem/PythonTests/physics/force_region/C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude.py @@ -86,11 +86,6 @@ def C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -283,8 +278,5 @@ def C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C12868578_ForceRegion_DirectionHasNoAffectOnMagnitude) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C12868580_ForceRegion_SplineModifiedTransform.py b/AutomatedTesting/Gem/PythonTests/physics/force_region/C12868580_ForceRegion_SplineModifiedTransform.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C12868580_ForceRegion_SplineModifiedTransform.py rename to AutomatedTesting/Gem/PythonTests/physics/force_region/C12868580_ForceRegion_SplineModifiedTransform.py index f21dde6ae0..4e052a1b00 --- a/AutomatedTesting/Gem/PythonTests/physics/C12868580_ForceRegion_SplineModifiedTransform.py +++ b/AutomatedTesting/Gem/PythonTests/physics/force_region/C12868580_ForceRegion_SplineModifiedTransform.py @@ -73,12 +73,6 @@ def C12868580_ForceRegion_SplineModifiedTransform(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -168,8 +162,5 @@ def C12868580_ForceRegion_SplineModifiedTransform(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C12868580_ForceRegion_SplineModifiedTransform) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C12905527_ForceRegion_MagnitudeDeviation.py b/AutomatedTesting/Gem/PythonTests/physics/force_region/C12905527_ForceRegion_MagnitudeDeviation.py old mode 100755 new mode 100644 similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/C12905527_ForceRegion_MagnitudeDeviation.py rename to AutomatedTesting/Gem/PythonTests/physics/force_region/C12905527_ForceRegion_MagnitudeDeviation.py index 6df2d545da..c9d411b873 --- a/AutomatedTesting/Gem/PythonTests/physics/C12905527_ForceRegion_MagnitudeDeviation.py +++ b/AutomatedTesting/Gem/PythonTests/physics/force_region/C12905527_ForceRegion_MagnitudeDeviation.py @@ -54,12 +54,6 @@ def C12905527_ForceRegion_MagnitudeDeviation(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -144,8 +138,5 @@ def C12905527_ForceRegion_MagnitudeDeviation(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C12905527_ForceRegion_MagnitudeDeviation) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C12905528_ForceRegion_WithNonTriggerCollider.py b/AutomatedTesting/Gem/PythonTests/physics/force_region/C12905528_ForceRegion_WithNonTriggerCollider.py old mode 100755 new mode 100644 similarity index 89% rename from AutomatedTesting/Gem/PythonTests/physics/C12905528_ForceRegion_WithNonTriggerCollider.py rename to AutomatedTesting/Gem/PythonTests/physics/force_region/C12905528_ForceRegion_WithNonTriggerCollider.py index ca5a29e182..93453b29c0 --- a/AutomatedTesting/Gem/PythonTests/physics/C12905528_ForceRegion_WithNonTriggerCollider.py +++ b/AutomatedTesting/Gem/PythonTests/physics/force_region/C12905528_ForceRegion_WithNonTriggerCollider.py @@ -19,7 +19,7 @@ class Tests(): # fmt: on -def run(): +def C12905528_ForceRegion_WithNonTriggerCollider(): """ Summary: Create entity with PhysX Force Region component. Check that user is warned if new PhysX Collider component is @@ -43,13 +43,10 @@ def run(): :return: None """ - # Helper file Imports - import ImportPathHelper as imports - + import azlmbr.legacy.general as general from editor_python_test_tools.editor_entity_utils import EditorEntity from editor_python_test_tools.utils import Report - imports.init() from editor_python_test_tools.utils import TestHelper as helper from editor_python_test_tools.utils import Tracer @@ -66,11 +63,14 @@ def run(): Report.result(Tests.add_physx_force_region, test_entity.has_component("PhysX Force Region")) # 4) Start the Tracer to catch any errors and warnings + Report.info("Starting warning monitoring") with Tracer() as section_tracer: # 5) Add the PhysX Collider component test_entity.add_component("PhysX Collider") Report.result(Tests.add_physx_collider, test_entity.has_component("PhysX Collider")) - + general.idle_wait_frames(1) + Report.info("Ending warning monitoring") + # ) Verify there is warning in the logs success_condition = section_tracer.has_warnings # Checking if warning exist and the exact warning is caught in the expected lines in Test file @@ -78,4 +78,5 @@ def run(): if __name__ == "__main__": - run() + from editor_python_test_tools.utils import Report + Report.start_test(C12905528_ForceRegion_WithNonTriggerCollider) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C15845879_ForceRegion_HighLinearDampingForce.py b/AutomatedTesting/Gem/PythonTests/physics/force_region/C15845879_ForceRegion_HighLinearDampingForce.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C15845879_ForceRegion_HighLinearDampingForce.py rename to AutomatedTesting/Gem/PythonTests/physics/force_region/C15845879_ForceRegion_HighLinearDampingForce.py index 1021186a9b..d4807476c2 --- a/AutomatedTesting/Gem/PythonTests/physics/C15845879_ForceRegion_HighLinearDampingForce.py +++ b/AutomatedTesting/Gem/PythonTests/physics/force_region/C15845879_ForceRegion_HighLinearDampingForce.py @@ -56,11 +56,6 @@ def C15845879_ForceRegion_HighLinearDampingForce(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -169,8 +164,5 @@ def C15845879_ForceRegion_HighLinearDampingForce(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C15845879_ForceRegion_HighLinearDampingForce) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C5932040_ForceRegion_CubeExertsWorldForce.py b/AutomatedTesting/Gem/PythonTests/physics/force_region/C5932040_ForceRegion_CubeExertsWorldForce.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C5932040_ForceRegion_CubeExertsWorldForce.py rename to AutomatedTesting/Gem/PythonTests/physics/force_region/C5932040_ForceRegion_CubeExertsWorldForce.py index db3d4708ce..969a203502 --- a/AutomatedTesting/Gem/PythonTests/physics/C5932040_ForceRegion_CubeExertsWorldForce.py +++ b/AutomatedTesting/Gem/PythonTests/physics/force_region/C5932040_ForceRegion_CubeExertsWorldForce.py @@ -65,11 +65,6 @@ def C5932040_ForceRegion_CubeExertsWorldForce(): import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -183,8 +178,5 @@ def C5932040_ForceRegion_CubeExertsWorldForce(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C5932040_ForceRegion_CubeExertsWorldForce) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies.py b/AutomatedTesting/Gem/PythonTests/physics/force_region/C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies.py rename to AutomatedTesting/Gem/PythonTests/physics/force_region/C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies.py index 09965214b2..15c77ba17e --- a/AutomatedTesting/Gem/PythonTests/physics/C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies.py +++ b/AutomatedTesting/Gem/PythonTests/physics/force_region/C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies.py @@ -65,11 +65,6 @@ def C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -161,8 +156,5 @@ def C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C5932041_PhysXForceRegion_LocalSpaceForceOnRigidBodies) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C5932042_PhysXForceRegion_LinearDamping.py b/AutomatedTesting/Gem/PythonTests/physics/force_region/C5932042_PhysXForceRegion_LinearDamping.py old mode 100755 new mode 100644 similarity index 99% rename from AutomatedTesting/Gem/PythonTests/physics/C5932042_PhysXForceRegion_LinearDamping.py rename to AutomatedTesting/Gem/PythonTests/physics/force_region/C5932042_PhysXForceRegion_LinearDamping.py index c05e71573f..5112729cc2 --- a/AutomatedTesting/Gem/PythonTests/physics/C5932042_PhysXForceRegion_LinearDamping.py +++ b/AutomatedTesting/Gem/PythonTests/physics/force_region/C5932042_PhysXForceRegion_LinearDamping.py @@ -71,11 +71,6 @@ def C5932042_PhysXForceRegion_LinearDamping(): import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -269,8 +264,5 @@ def C5932042_PhysXForceRegion_LinearDamping(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C5932042_PhysXForceRegion_LinearDamping) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C5932043_ForceRegion_SimpleDragOnRigidBodies.py b/AutomatedTesting/Gem/PythonTests/physics/force_region/C5932043_ForceRegion_SimpleDragOnRigidBodies.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C5932043_ForceRegion_SimpleDragOnRigidBodies.py rename to AutomatedTesting/Gem/PythonTests/physics/force_region/C5932043_ForceRegion_SimpleDragOnRigidBodies.py index d88232ff78..cd81315e73 --- a/AutomatedTesting/Gem/PythonTests/physics/C5932043_ForceRegion_SimpleDragOnRigidBodies.py +++ b/AutomatedTesting/Gem/PythonTests/physics/force_region/C5932043_ForceRegion_SimpleDragOnRigidBodies.py @@ -42,9 +42,7 @@ def C5932043_ForceRegion_SimpleDragOnRigidBodies(): # Setup path import os, sys - import ImportPathHelper as imports - imports.init() from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -139,8 +137,5 @@ def C5932043_ForceRegion_SimpleDragOnRigidBodies(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C5932043_ForceRegion_SimpleDragOnRigidBodies) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C5932044_ForceRegion_PointForceOnRigidBody.py b/AutomatedTesting/Gem/PythonTests/physics/force_region/C5932044_ForceRegion_PointForceOnRigidBody.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C5932044_ForceRegion_PointForceOnRigidBody.py rename to AutomatedTesting/Gem/PythonTests/physics/force_region/C5932044_ForceRegion_PointForceOnRigidBody.py index 58eec3a9be..23760909db --- a/AutomatedTesting/Gem/PythonTests/physics/C5932044_ForceRegion_PointForceOnRigidBody.py +++ b/AutomatedTesting/Gem/PythonTests/physics/force_region/C5932044_ForceRegion_PointForceOnRigidBody.py @@ -65,11 +65,6 @@ def C5932044_ForceRegion_PointForceOnRigidBody(): import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -189,8 +184,5 @@ def C5932044_ForceRegion_PointForceOnRigidBody(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C5932044_ForceRegion_PointForceOnRigidBody) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C5932045_ForceRegion_Spline.py b/AutomatedTesting/Gem/PythonTests/physics/force_region/C5932045_ForceRegion_Spline.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C5932045_ForceRegion_Spline.py rename to AutomatedTesting/Gem/PythonTests/physics/force_region/C5932045_ForceRegion_Spline.py index ea9ca060c0..e74f5cc6e0 --- a/AutomatedTesting/Gem/PythonTests/physics/C5932045_ForceRegion_Spline.py +++ b/AutomatedTesting/Gem/PythonTests/physics/force_region/C5932045_ForceRegion_Spline.py @@ -70,11 +70,6 @@ def C5932045_ForceRegion_Spline(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -162,8 +157,5 @@ def C5932045_ForceRegion_Spline(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C5932045_ForceRegion_Spline) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C5959759_RigidBody_ForceRegionSpherePointForce.py b/AutomatedTesting/Gem/PythonTests/physics/force_region/C5959759_RigidBody_ForceRegionSpherePointForce.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C5959759_RigidBody_ForceRegionSpherePointForce.py rename to AutomatedTesting/Gem/PythonTests/physics/force_region/C5959759_RigidBody_ForceRegionSpherePointForce.py index 3bfad9d770..99baeb1fff --- a/AutomatedTesting/Gem/PythonTests/physics/C5959759_RigidBody_ForceRegionSpherePointForce.py +++ b/AutomatedTesting/Gem/PythonTests/physics/force_region/C5959759_RigidBody_ForceRegionSpherePointForce.py @@ -38,11 +38,6 @@ def C5959759_RigidBody_ForceRegionSpherePointForce(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -150,8 +145,5 @@ def C5959759_RigidBody_ForceRegionSpherePointForce(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C5959759_RigidBody_ForceRegionSpherePointForce) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C5959760_PhysXForceRegion_PointForceExertion.py b/AutomatedTesting/Gem/PythonTests/physics/force_region/C5959760_PhysXForceRegion_PointForceExertion.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C5959760_PhysXForceRegion_PointForceExertion.py rename to AutomatedTesting/Gem/PythonTests/physics/force_region/C5959760_PhysXForceRegion_PointForceExertion.py index 85d15aec33..6648b41d31 --- a/AutomatedTesting/Gem/PythonTests/physics/C5959760_PhysXForceRegion_PointForceExertion.py +++ b/AutomatedTesting/Gem/PythonTests/physics/force_region/C5959760_PhysXForceRegion_PointForceExertion.py @@ -63,11 +63,6 @@ def C5959760_PhysXForceRegion_PointForceExertion(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -223,8 +218,5 @@ def C5959760_PhysXForceRegion_PointForceExertion(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C5959760_PhysXForceRegion_PointForceExertion) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C5959761_ForceRegion_PhysAssetExertsPointForce.py b/AutomatedTesting/Gem/PythonTests/physics/force_region/C5959761_ForceRegion_PhysAssetExertsPointForce.py old mode 100755 new mode 100644 similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/C5959761_ForceRegion_PhysAssetExertsPointForce.py rename to AutomatedTesting/Gem/PythonTests/physics/force_region/C5959761_ForceRegion_PhysAssetExertsPointForce.py index 1e58a8d975..c77fc39a77 --- a/AutomatedTesting/Gem/PythonTests/physics/C5959761_ForceRegion_PhysAssetExertsPointForce.py +++ b/AutomatedTesting/Gem/PythonTests/physics/force_region/C5959761_ForceRegion_PhysAssetExertsPointForce.py @@ -61,12 +61,6 @@ def C5959761_ForceRegion_PhysAssetExertsPointForce(): import os import sys - - import ImportPathHelper as imports - - imports.init() - - import azlmbr import azlmbr.legacy.general as general import azlmbr.bus as bus @@ -140,8 +134,5 @@ def C5959761_ForceRegion_PhysAssetExertsPointForce(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C5959761_ForceRegion_PhysAssetExertsPointForce) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C5959763_ForceRegion_ForceRegionImpulsesCube.py b/AutomatedTesting/Gem/PythonTests/physics/force_region/C5959763_ForceRegion_ForceRegionImpulsesCube.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C5959763_ForceRegion_ForceRegionImpulsesCube.py rename to AutomatedTesting/Gem/PythonTests/physics/force_region/C5959763_ForceRegion_ForceRegionImpulsesCube.py index 6123381588..8bea169a82 --- a/AutomatedTesting/Gem/PythonTests/physics/C5959763_ForceRegion_ForceRegionImpulsesCube.py +++ b/AutomatedTesting/Gem/PythonTests/physics/force_region/C5959763_ForceRegion_ForceRegionImpulsesCube.py @@ -42,9 +42,7 @@ def C5959763_ForceRegion_ForceRegionImpulsesCube(): # Setup path import os, sys - import ImportPathHelper as imports - imports.init() from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -165,8 +163,5 @@ def C5959763_ForceRegion_ForceRegionImpulsesCube(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C5959763_ForceRegion_ForceRegionImpulsesCube) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C5959764_ForceRegion_ForceRegionImpulsesCapsule.py b/AutomatedTesting/Gem/PythonTests/physics/force_region/C5959764_ForceRegion_ForceRegionImpulsesCapsule.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C5959764_ForceRegion_ForceRegionImpulsesCapsule.py rename to AutomatedTesting/Gem/PythonTests/physics/force_region/C5959764_ForceRegion_ForceRegionImpulsesCapsule.py index 9e4ef9379a..4ce345a5eb --- a/AutomatedTesting/Gem/PythonTests/physics/C5959764_ForceRegion_ForceRegionImpulsesCapsule.py +++ b/AutomatedTesting/Gem/PythonTests/physics/force_region/C5959764_ForceRegion_ForceRegionImpulsesCapsule.py @@ -42,9 +42,7 @@ def C5959764_ForceRegion_ForceRegionImpulsesCapsule(): # Setup path import os, sys - import ImportPathHelper as imports - imports.init() from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -167,8 +165,5 @@ def C5959764_ForceRegion_ForceRegionImpulsesCapsule(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C5959764_ForceRegion_ForceRegionImpulsesCapsule) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C5959765_ForceRegion_AssetGetsImpulsed.py b/AutomatedTesting/Gem/PythonTests/physics/force_region/C5959765_ForceRegion_AssetGetsImpulsed.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C5959765_ForceRegion_AssetGetsImpulsed.py rename to AutomatedTesting/Gem/PythonTests/physics/force_region/C5959765_ForceRegion_AssetGetsImpulsed.py index 3a28208805..36ecddb3ca --- a/AutomatedTesting/Gem/PythonTests/physics/C5959765_ForceRegion_AssetGetsImpulsed.py +++ b/AutomatedTesting/Gem/PythonTests/physics/force_region/C5959765_ForceRegion_AssetGetsImpulsed.py @@ -45,9 +45,7 @@ def C5959765_ForceRegion_AssetGetsImpulsed(): # Setup path import os, sys - import ImportPathHelper as imports - imports.init() from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -169,8 +167,5 @@ def C5959765_ForceRegion_AssetGetsImpulsed(): helper.exit_game_mode(Tests.exit_game_mode) if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C5959765_ForceRegion_AssetGetsImpulsed) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C5959808_ForceRegion_PositionOffset.py b/AutomatedTesting/Gem/PythonTests/physics/force_region/C5959808_ForceRegion_PositionOffset.py old mode 100755 new mode 100644 similarity index 99% rename from AutomatedTesting/Gem/PythonTests/physics/C5959808_ForceRegion_PositionOffset.py rename to AutomatedTesting/Gem/PythonTests/physics/force_region/C5959808_ForceRegion_PositionOffset.py index 4b70fcc734..480869457c --- a/AutomatedTesting/Gem/PythonTests/physics/C5959808_ForceRegion_PositionOffset.py +++ b/AutomatedTesting/Gem/PythonTests/physics/force_region/C5959808_ForceRegion_PositionOffset.py @@ -124,11 +124,6 @@ def C5959808_ForceRegion_PositionOffset(): import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -405,8 +400,5 @@ def C5959808_ForceRegion_PositionOffset(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C5959808_ForceRegion_PositionOffset) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C5959809_ForceRegion_RotationalOffset.py b/AutomatedTesting/Gem/PythonTests/physics/force_region/C5959809_ForceRegion_RotationalOffset.py old mode 100755 new mode 100644 similarity index 99% rename from AutomatedTesting/Gem/PythonTests/physics/C5959809_ForceRegion_RotationalOffset.py rename to AutomatedTesting/Gem/PythonTests/physics/force_region/C5959809_ForceRegion_RotationalOffset.py index ccf05cfe5d..d26aebab8d --- a/AutomatedTesting/Gem/PythonTests/physics/C5959809_ForceRegion_RotationalOffset.py +++ b/AutomatedTesting/Gem/PythonTests/physics/force_region/C5959809_ForceRegion_RotationalOffset.py @@ -125,11 +125,6 @@ def C5959809_ForceRegion_RotationalOffset(): import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -405,8 +400,5 @@ def C5959809_ForceRegion_RotationalOffset(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C5959809_ForceRegion_RotationalOffset) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C5959810_ForceRegion_ForceRegionCombinesForces.py b/AutomatedTesting/Gem/PythonTests/physics/force_region/C5959810_ForceRegion_ForceRegionCombinesForces.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C5959810_ForceRegion_ForceRegionCombinesForces.py rename to AutomatedTesting/Gem/PythonTests/physics/force_region/C5959810_ForceRegion_ForceRegionCombinesForces.py index 330a2662ab..b7660926d5 --- a/AutomatedTesting/Gem/PythonTests/physics/C5959810_ForceRegion_ForceRegionCombinesForces.py +++ b/AutomatedTesting/Gem/PythonTests/physics/force_region/C5959810_ForceRegion_ForceRegionCombinesForces.py @@ -65,11 +65,6 @@ def C5959810_ForceRegion_ForceRegionCombinesForces(): import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -234,8 +229,5 @@ def C5959810_ForceRegion_ForceRegionCombinesForces(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C5959810_ForceRegion_ForceRegionCombinesForces) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody.py b/AutomatedTesting/Gem/PythonTests/physics/force_region/C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody.py rename to AutomatedTesting/Gem/PythonTests/physics/force_region/C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody.py index 068238e64d..b1f8d27900 --- a/AutomatedTesting/Gem/PythonTests/physics/C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody.py +++ b/AutomatedTesting/Gem/PythonTests/physics/force_region/C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody.py @@ -55,9 +55,7 @@ def C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody(): Second force region: Name = "Force Region Simple Drag" Applies a drag force on both spheres Setup path """ - import ImportPathHelper as imports - imports.init() import azlmbr.legacy.general as general @@ -175,8 +173,5 @@ def C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C5968759_ForceRegion_ExertsSeveralForcesOnRigidBody) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C5968760_ForceRegion_CheckNetForceChange.py b/AutomatedTesting/Gem/PythonTests/physics/force_region/C5968760_ForceRegion_CheckNetForceChange.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C5968760_ForceRegion_CheckNetForceChange.py rename to AutomatedTesting/Gem/PythonTests/physics/force_region/C5968760_ForceRegion_CheckNetForceChange.py index 41d5b93eb7..d64a0564f4 --- a/AutomatedTesting/Gem/PythonTests/physics/C5968760_ForceRegion_CheckNetForceChange.py +++ b/AutomatedTesting/Gem/PythonTests/physics/force_region/C5968760_ForceRegion_CheckNetForceChange.py @@ -61,11 +61,6 @@ def C5968760_ForceRegion_CheckNetForceChange(): import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -163,8 +158,5 @@ def C5968760_ForceRegion_CheckNetForceChange(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C5968760_ForceRegion_CheckNetForceChange) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C6090546_ForceRegion_SliceFileInstantiates.py b/AutomatedTesting/Gem/PythonTests/physics/force_region/C6090546_ForceRegion_SliceFileInstantiates.py old mode 100755 new mode 100644 similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/C6090546_ForceRegion_SliceFileInstantiates.py rename to AutomatedTesting/Gem/PythonTests/physics/force_region/C6090546_ForceRegion_SliceFileInstantiates.py index f1c13291e3..0c360edee5 --- a/AutomatedTesting/Gem/PythonTests/physics/C6090546_ForceRegion_SliceFileInstantiates.py +++ b/AutomatedTesting/Gem/PythonTests/physics/force_region/C6090546_ForceRegion_SliceFileInstantiates.py @@ -63,11 +63,6 @@ def C6090546_ForceRegion_SliceFileInstantiates(): import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -138,8 +133,5 @@ def C6090546_ForceRegion_SliceFileInstantiates(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C6090546_ForceRegion_SliceFileInstantiates) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C6090547_ForceRegion_ParentChildForceRegions.py b/AutomatedTesting/Gem/PythonTests/physics/force_region/C6090547_ForceRegion_ParentChildForceRegions.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C6090547_ForceRegion_ParentChildForceRegions.py rename to AutomatedTesting/Gem/PythonTests/physics/force_region/C6090547_ForceRegion_ParentChildForceRegions.py index 2091a1a1f4..f466680e0c --- a/AutomatedTesting/Gem/PythonTests/physics/C6090547_ForceRegion_ParentChildForceRegions.py +++ b/AutomatedTesting/Gem/PythonTests/physics/force_region/C6090547_ForceRegion_ParentChildForceRegions.py @@ -72,11 +72,6 @@ def C6090547_ForceRegion_ParentChildForceRegions(): import os import sys - - import ImportPathHelper as imports - - imports.init() - import azlmbr.legacy.general as general import azlmbr.bus import azlmbr.math as lymath @@ -199,8 +194,5 @@ def C6090547_ForceRegion_ParentChildForceRegions(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C6090547_ForceRegion_ParentChildForceRegions) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C6090550_ForceRegion_WorldSpaceForceNegative.py b/AutomatedTesting/Gem/PythonTests/physics/force_region/C6090550_ForceRegion_WorldSpaceForceNegative.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C6090550_ForceRegion_WorldSpaceForceNegative.py rename to AutomatedTesting/Gem/PythonTests/physics/force_region/C6090550_ForceRegion_WorldSpaceForceNegative.py index 7b0586586b..7d6a8966b2 --- a/AutomatedTesting/Gem/PythonTests/physics/C6090550_ForceRegion_WorldSpaceForceNegative.py +++ b/AutomatedTesting/Gem/PythonTests/physics/force_region/C6090550_ForceRegion_WorldSpaceForceNegative.py @@ -69,11 +69,6 @@ def C6090550_ForceRegion_WorldSpaceForceNegative(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - import azlmbr.legacy.general as general import azlmbr.bus @@ -243,8 +238,5 @@ def C6090550_ForceRegion_WorldSpaceForceNegative(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C6090550_ForceRegion_WorldSpaceForceNegative) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C6090551_ForceRegion_LocalSpaceForceNegative.py b/AutomatedTesting/Gem/PythonTests/physics/force_region/C6090551_ForceRegion_LocalSpaceForceNegative.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C6090551_ForceRegion_LocalSpaceForceNegative.py rename to AutomatedTesting/Gem/PythonTests/physics/force_region/C6090551_ForceRegion_LocalSpaceForceNegative.py index 6025777d86..48d08666fd --- a/AutomatedTesting/Gem/PythonTests/physics/C6090551_ForceRegion_LocalSpaceForceNegative.py +++ b/AutomatedTesting/Gem/PythonTests/physics/force_region/C6090551_ForceRegion_LocalSpaceForceNegative.py @@ -69,11 +69,6 @@ def C6090551_ForceRegion_LocalSpaceForceNegative(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - import azlmbr.legacy.general as general import azlmbr.bus @@ -243,8 +238,5 @@ def C6090551_ForceRegion_LocalSpaceForceNegative(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C6090551_ForceRegion_LocalSpaceForceNegative) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C6090552_ForceRegion_LinearDampingNegative.py b/AutomatedTesting/Gem/PythonTests/physics/force_region/C6090552_ForceRegion_LinearDampingNegative.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C6090552_ForceRegion_LinearDampingNegative.py rename to AutomatedTesting/Gem/PythonTests/physics/force_region/C6090552_ForceRegion_LinearDampingNegative.py index 07f399a41a..100a07d346 --- a/AutomatedTesting/Gem/PythonTests/physics/C6090552_ForceRegion_LinearDampingNegative.py +++ b/AutomatedTesting/Gem/PythonTests/physics/force_region/C6090552_ForceRegion_LinearDampingNegative.py @@ -68,11 +68,6 @@ def C6090552_ForceRegion_LinearDampingNegative(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - import azlmbr.legacy.general as general import azlmbr.bus @@ -242,8 +237,5 @@ def C6090552_ForceRegion_LinearDampingNegative(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C6090552_ForceRegion_LinearDampingNegative) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C6090553_ForceRegion_SimpleDragForceOnRigidBodies.py b/AutomatedTesting/Gem/PythonTests/physics/force_region/C6090553_ForceRegion_SimpleDragForceOnRigidBodies.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C6090553_ForceRegion_SimpleDragForceOnRigidBodies.py rename to AutomatedTesting/Gem/PythonTests/physics/force_region/C6090553_ForceRegion_SimpleDragForceOnRigidBodies.py index 57f6d13d8e..7b5904a3d7 --- a/AutomatedTesting/Gem/PythonTests/physics/C6090553_ForceRegion_SimpleDragForceOnRigidBodies.py +++ b/AutomatedTesting/Gem/PythonTests/physics/force_region/C6090553_ForceRegion_SimpleDragForceOnRigidBodies.py @@ -63,11 +63,6 @@ def C6090553_ForceRegion_SimpleDragForceOnRigidBodies(): import os import sys - - import ImportPathHelper as imports - - imports.init() - import azlmbr.legacy.general as general import azlmbr.bus @@ -174,8 +169,5 @@ def C6090553_ForceRegion_SimpleDragForceOnRigidBodies(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C6090553_ForceRegion_SimpleDragForceOnRigidBodies) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C6090554_ForceRegion_PointForceNegative.py b/AutomatedTesting/Gem/PythonTests/physics/force_region/C6090554_ForceRegion_PointForceNegative.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C6090554_ForceRegion_PointForceNegative.py rename to AutomatedTesting/Gem/PythonTests/physics/force_region/C6090554_ForceRegion_PointForceNegative.py index fd3846a801..0b6b9a8b58 --- a/AutomatedTesting/Gem/PythonTests/physics/C6090554_ForceRegion_PointForceNegative.py +++ b/AutomatedTesting/Gem/PythonTests/physics/force_region/C6090554_ForceRegion_PointForceNegative.py @@ -69,11 +69,6 @@ def C6090554_ForceRegion_PointForceNegative(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - import azlmbr.legacy.general as general import azlmbr.bus @@ -243,8 +238,5 @@ def C6090554_ForceRegion_PointForceNegative(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C6090554_ForceRegion_PointForceNegative) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C6090555_ForceRegion_SplineFollowOnRigidBodies.py b/AutomatedTesting/Gem/PythonTests/physics/force_region/C6090555_ForceRegion_SplineFollowOnRigidBodies.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C6090555_ForceRegion_SplineFollowOnRigidBodies.py rename to AutomatedTesting/Gem/PythonTests/physics/force_region/C6090555_ForceRegion_SplineFollowOnRigidBodies.py index 800e9245dc..7a642c6c59 --- a/AutomatedTesting/Gem/PythonTests/physics/C6090555_ForceRegion_SplineFollowOnRigidBodies.py +++ b/AutomatedTesting/Gem/PythonTests/physics/force_region/C6090555_ForceRegion_SplineFollowOnRigidBodies.py @@ -65,11 +65,6 @@ def C6090555_ForceRegion_SplineFollowOnRigidBodies(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -176,8 +171,5 @@ def C6090555_ForceRegion_SplineFollowOnRigidBodies(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C6090555_ForceRegion_SplineFollowOnRigidBodies) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C6321601_Force_HighValuesDirectionAxes.py b/AutomatedTesting/Gem/PythonTests/physics/force_region/C6321601_Force_HighValuesDirectionAxes.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C6321601_Force_HighValuesDirectionAxes.py rename to AutomatedTesting/Gem/PythonTests/physics/force_region/C6321601_Force_HighValuesDirectionAxes.py index 6c94e7aea9..47cc085479 --- a/AutomatedTesting/Gem/PythonTests/physics/C6321601_Force_HighValuesDirectionAxes.py +++ b/AutomatedTesting/Gem/PythonTests/physics/force_region/C6321601_Force_HighValuesDirectionAxes.py @@ -90,11 +90,6 @@ def C6321601_Force_HighValuesDirectionAxes(): import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper from editor_python_test_tools.utils import Tracer @@ -246,10 +241,6 @@ def C6321601_Force_HighValuesDirectionAxes(): Report.result(Tests.error_not_found, not has_physx_error()) - if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C6321601_Force_HighValuesDirectionAxes) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C14976307_Gravity_SetGravityWorks.py b/AutomatedTesting/Gem/PythonTests/physics/general/C14976307_Gravity_SetGravityWorks.py old mode 100755 new mode 100644 similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/C14976307_Gravity_SetGravityWorks.py rename to AutomatedTesting/Gem/PythonTests/physics/general/C14976307_Gravity_SetGravityWorks.py index 1b50863ccd..335ef75649 --- a/AutomatedTesting/Gem/PythonTests/physics/C14976307_Gravity_SetGravityWorks.py +++ b/AutomatedTesting/Gem/PythonTests/physics/general/C14976307_Gravity_SetGravityWorks.py @@ -60,11 +60,6 @@ def C14976307_Gravity_SetGravityWorks(): import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -122,8 +117,5 @@ def C14976307_Gravity_SetGravityWorks(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C14976307_Gravity_SetGravityWorks) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C15425929_Undo_Redo.py b/AutomatedTesting/Gem/PythonTests/physics/general/C15425929_Undo_Redo.py old mode 100755 new mode 100644 similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/C15425929_Undo_Redo.py rename to AutomatedTesting/Gem/PythonTests/physics/general/C15425929_Undo_Redo.py index 9595030b4b..f74c1d10cb --- a/AutomatedTesting/Gem/PythonTests/physics/C15425929_Undo_Redo.py +++ b/AutomatedTesting/Gem/PythonTests/physics/general/C15425929_Undo_Redo.py @@ -44,11 +44,6 @@ def C15425929_Undo_Redo(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper from editor_python_test_tools.utils import Tracer @@ -91,8 +86,5 @@ def C15425929_Undo_Redo(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C15425929_Undo_Redo) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C19536274_GetCollisionName_PrintsName.py b/AutomatedTesting/Gem/PythonTests/physics/general/C19536274_GetCollisionName_PrintsName.py old mode 100755 new mode 100644 similarity index 93% rename from AutomatedTesting/Gem/PythonTests/physics/C19536274_GetCollisionName_PrintsName.py rename to AutomatedTesting/Gem/PythonTests/physics/general/C19536274_GetCollisionName_PrintsName.py index 4c035eea96..abf2045ed4 --- a/AutomatedTesting/Gem/PythonTests/physics/C19536274_GetCollisionName_PrintsName.py +++ b/AutomatedTesting/Gem/PythonTests/physics/general/C19536274_GetCollisionName_PrintsName.py @@ -17,7 +17,7 @@ class Tests(): # fmt: on -def run(): +def C19536274_GetCollisionName_PrintsName(): """ Summary: Loads a level that contains an entity with script canvas and PhysX Collider components @@ -43,9 +43,7 @@ def run(): :return: None """ # Helper Files - import ImportPathHelper as imports - imports.init() from editor_python_test_tools.utils import Report from editor_python_test_tools.editor_entity_utils import EditorEntity as Entity from editor_python_test_tools.utils import TestHelper as helper @@ -66,4 +64,5 @@ def run(): if __name__ == "__main__": - run() + from editor_python_test_tools.utils import Report + Report.start_test(C19536274_GetCollisionName_PrintsName) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C19536277_GetCollisionName_PrintsNothing.py b/AutomatedTesting/Gem/PythonTests/physics/general/C19536277_GetCollisionName_PrintsNothing.py old mode 100755 new mode 100644 similarity index 93% rename from AutomatedTesting/Gem/PythonTests/physics/C19536277_GetCollisionName_PrintsNothing.py rename to AutomatedTesting/Gem/PythonTests/physics/general/C19536277_GetCollisionName_PrintsNothing.py index 1bf5248a1f..a0d242542f --- a/AutomatedTesting/Gem/PythonTests/physics/C19536277_GetCollisionName_PrintsNothing.py +++ b/AutomatedTesting/Gem/PythonTests/physics/general/C19536277_GetCollisionName_PrintsNothing.py @@ -17,7 +17,7 @@ class Tests(): # fmt: on -def run(): +def C19536277_GetCollisionName_PrintsNothing(): """ Summary: Loads a level that contains an entity with script canvas and PhysX Collider components @@ -43,9 +43,7 @@ def run(): :return: None """ # Helper Files - import ImportPathHelper as imports - imports.init() from editor_python_test_tools.utils import Report from editor_python_test_tools.editor_entity_utils import EditorEntity as Entity from editor_python_test_tools.utils import TestHelper as helper @@ -66,4 +64,5 @@ def run(): if __name__ == "__main__": - run() + from editor_python_test_tools.utils import Report + Report.start_test(C19536277_GetCollisionName_PrintsNothing) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C29032500_EditorComponents_WorldBodyBusWorks.py b/AutomatedTesting/Gem/PythonTests/physics/general/C29032500_EditorComponents_WorldBodyBusWorks.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C29032500_EditorComponents_WorldBodyBusWorks.py rename to AutomatedTesting/Gem/PythonTests/physics/general/C29032500_EditorComponents_WorldBodyBusWorks.py index a022cc7011..0f7f91dafb --- a/AutomatedTesting/Gem/PythonTests/physics/C29032500_EditorComponents_WorldBodyBusWorks.py +++ b/AutomatedTesting/Gem/PythonTests/physics/general/C29032500_EditorComponents_WorldBodyBusWorks.py @@ -82,11 +82,6 @@ def C29032500_EditorComponents_WorldBodyBusWorks(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - import azlmbr.legacy.general as general import azlmbr.bus import math @@ -154,8 +149,5 @@ def C29032500_EditorComponents_WorldBodyBusWorks(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C29032500_EditorComponents_WorldBodyBusWorks) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C5689529_Verify_Terrain_RigidBody_Collider_Mesh.py b/AutomatedTesting/Gem/PythonTests/physics/general/C5689529_Verify_Terrain_RigidBody_Collider_Mesh.py old mode 100755 new mode 100644 similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/C5689529_Verify_Terrain_RigidBody_Collider_Mesh.py rename to AutomatedTesting/Gem/PythonTests/physics/general/C5689529_Verify_Terrain_RigidBody_Collider_Mesh.py index 1436a98536..f011e65972 --- a/AutomatedTesting/Gem/PythonTests/physics/C5689529_Verify_Terrain_RigidBody_Collider_Mesh.py +++ b/AutomatedTesting/Gem/PythonTests/physics/general/C5689529_Verify_Terrain_RigidBody_Collider_Mesh.py @@ -58,11 +58,6 @@ def C5689529_Verify_Terrain_RigidBody_Collider_Mesh(): import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -106,8 +101,5 @@ def C5689529_Verify_Terrain_RigidBody_Collider_Mesh(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C5689529_Verify_Terrain_RigidBody_Collider_Mesh) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C6131473_StaticSlice_OnDynamicSliceSpawn.py b/AutomatedTesting/Gem/PythonTests/physics/general/C6131473_StaticSlice_OnDynamicSliceSpawn.py old mode 100755 new mode 100644 similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/C6131473_StaticSlice_OnDynamicSliceSpawn.py rename to AutomatedTesting/Gem/PythonTests/physics/general/C6131473_StaticSlice_OnDynamicSliceSpawn.py index 16fff25a25..e28893dee3 --- a/AutomatedTesting/Gem/PythonTests/physics/C6131473_StaticSlice_OnDynamicSliceSpawn.py +++ b/AutomatedTesting/Gem/PythonTests/physics/general/C6131473_StaticSlice_OnDynamicSliceSpawn.py @@ -58,11 +58,6 @@ def C6131473_StaticSlice_OnDynamicSliceSpawn(): import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -103,8 +98,5 @@ def C6131473_StaticSlice_OnDynamicSliceSpawn(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C6131473_StaticSlice_OnDynamicSliceSpawn) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C18243580_Joints_Fixed2BodiesConstrained.py b/AutomatedTesting/Gem/PythonTests/physics/joints/C18243580_Joints_Fixed2BodiesConstrained.py old mode 100755 new mode 100644 similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/C18243580_Joints_Fixed2BodiesConstrained.py rename to AutomatedTesting/Gem/PythonTests/physics/joints/C18243580_Joints_Fixed2BodiesConstrained.py index 24adc2ff71..ceabb91a28 --- a/AutomatedTesting/Gem/PythonTests/physics/C18243580_Joints_Fixed2BodiesConstrained.py +++ b/AutomatedTesting/Gem/PythonTests/physics/joints/C18243580_Joints_Fixed2BodiesConstrained.py @@ -49,11 +49,6 @@ def C18243580_Joints_Fixed2BodiesConstrained(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -99,8 +94,5 @@ def C18243580_Joints_Fixed2BodiesConstrained(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C18243580_Joints_Fixed2BodiesConstrained) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C18243581_Joints_FixedBreakable.py b/AutomatedTesting/Gem/PythonTests/physics/joints/C18243581_Joints_FixedBreakable.py old mode 100755 new mode 100644 similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/C18243581_Joints_FixedBreakable.py rename to AutomatedTesting/Gem/PythonTests/physics/joints/C18243581_Joints_FixedBreakable.py index fb3da2c4e5..716df85c67 --- a/AutomatedTesting/Gem/PythonTests/physics/C18243581_Joints_FixedBreakable.py +++ b/AutomatedTesting/Gem/PythonTests/physics/joints/C18243581_Joints_FixedBreakable.py @@ -48,11 +48,6 @@ def C18243581_Joints_FixedBreakable(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -98,8 +93,5 @@ def C18243581_Joints_FixedBreakable(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C18243581_Joints_FixedBreakable) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C18243582_Joints_FixedLeadFollowerCollide.py b/AutomatedTesting/Gem/PythonTests/physics/joints/C18243582_Joints_FixedLeadFollowerCollide.py old mode 100755 new mode 100644 similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/C18243582_Joints_FixedLeadFollowerCollide.py rename to AutomatedTesting/Gem/PythonTests/physics/joints/C18243582_Joints_FixedLeadFollowerCollide.py index 0c7a1d7007..0f130a300b --- a/AutomatedTesting/Gem/PythonTests/physics/C18243582_Joints_FixedLeadFollowerCollide.py +++ b/AutomatedTesting/Gem/PythonTests/physics/joints/C18243582_Joints_FixedLeadFollowerCollide.py @@ -50,11 +50,6 @@ def C18243582_Joints_FixedLeadFollowerCollide(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -93,8 +88,5 @@ def C18243582_Joints_FixedLeadFollowerCollide(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C18243582_Joints_FixedLeadFollowerCollide) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C18243583_Joints_Hinge2BodiesConstrained.py b/AutomatedTesting/Gem/PythonTests/physics/joints/C18243583_Joints_Hinge2BodiesConstrained.py old mode 100755 new mode 100644 similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/C18243583_Joints_Hinge2BodiesConstrained.py rename to AutomatedTesting/Gem/PythonTests/physics/joints/C18243583_Joints_Hinge2BodiesConstrained.py index e91a4a495e..e9b11bc198 --- a/AutomatedTesting/Gem/PythonTests/physics/C18243583_Joints_Hinge2BodiesConstrained.py +++ b/AutomatedTesting/Gem/PythonTests/physics/joints/C18243583_Joints_Hinge2BodiesConstrained.py @@ -52,11 +52,6 @@ def C18243583_Joints_Hinge2BodiesConstrained(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -116,8 +111,5 @@ def C18243583_Joints_Hinge2BodiesConstrained(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C18243583_Joints_Hinge2BodiesConstrained) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C18243584_Joints_HingeSoftLimitsConstrained.py b/AutomatedTesting/Gem/PythonTests/physics/joints/C18243584_Joints_HingeSoftLimitsConstrained.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C18243584_Joints_HingeSoftLimitsConstrained.py rename to AutomatedTesting/Gem/PythonTests/physics/joints/C18243584_Joints_HingeSoftLimitsConstrained.py index d4bf9308d2..e100b61494 --- a/AutomatedTesting/Gem/PythonTests/physics/C18243584_Joints_HingeSoftLimitsConstrained.py +++ b/AutomatedTesting/Gem/PythonTests/physics/joints/C18243584_Joints_HingeSoftLimitsConstrained.py @@ -54,9 +54,7 @@ def C18243584_Joints_HingeSoftLimitsConstrained(): import sys import math - import ImportPathHelper as imports - imports.init() from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -142,8 +140,5 @@ def C18243584_Joints_HingeSoftLimitsConstrained(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C18243584_Joints_HingeSoftLimitsConstrained) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C18243585_Joints_HingeNoLimitsConstrained.py b/AutomatedTesting/Gem/PythonTests/physics/joints/C18243585_Joints_HingeNoLimitsConstrained.py old mode 100755 new mode 100644 similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/C18243585_Joints_HingeNoLimitsConstrained.py rename to AutomatedTesting/Gem/PythonTests/physics/joints/C18243585_Joints_HingeNoLimitsConstrained.py index 3a734e1ef0..90ac80b1fa --- a/AutomatedTesting/Gem/PythonTests/physics/C18243585_Joints_HingeNoLimitsConstrained.py +++ b/AutomatedTesting/Gem/PythonTests/physics/joints/C18243585_Joints_HingeNoLimitsConstrained.py @@ -52,11 +52,6 @@ def C18243585_Joints_HingeNoLimitsConstrained(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -112,8 +107,5 @@ def C18243585_Joints_HingeNoLimitsConstrained(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C18243585_Joints_HingeNoLimitsConstrained) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C18243586_Joints_HingeLeadFollowerCollide.py b/AutomatedTesting/Gem/PythonTests/physics/joints/C18243586_Joints_HingeLeadFollowerCollide.py old mode 100755 new mode 100644 similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/C18243586_Joints_HingeLeadFollowerCollide.py rename to AutomatedTesting/Gem/PythonTests/physics/joints/C18243586_Joints_HingeLeadFollowerCollide.py index f22b1b0c9c..2b5b95939f --- a/AutomatedTesting/Gem/PythonTests/physics/C18243586_Joints_HingeLeadFollowerCollide.py +++ b/AutomatedTesting/Gem/PythonTests/physics/joints/C18243586_Joints_HingeLeadFollowerCollide.py @@ -49,11 +49,6 @@ def C18243586_Joints_HingeLeadFollowerCollide(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -92,8 +87,5 @@ def C18243586_Joints_HingeLeadFollowerCollide(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C18243586_Joints_HingeLeadFollowerCollide) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C18243587_Joints_HingeBreakable.py b/AutomatedTesting/Gem/PythonTests/physics/joints/C18243587_Joints_HingeBreakable.py old mode 100755 new mode 100644 similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/C18243587_Joints_HingeBreakable.py rename to AutomatedTesting/Gem/PythonTests/physics/joints/C18243587_Joints_HingeBreakable.py index c11851bde4..b1ea7e123a --- a/AutomatedTesting/Gem/PythonTests/physics/C18243587_Joints_HingeBreakable.py +++ b/AutomatedTesting/Gem/PythonTests/physics/joints/C18243587_Joints_HingeBreakable.py @@ -50,11 +50,6 @@ def C18243587_Joints_HingeBreakable(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -110,8 +105,5 @@ def C18243587_Joints_HingeBreakable(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C18243587_Joints_HingeBreakable) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C18243588_Joints_Ball2BodiesConstrained.py b/AutomatedTesting/Gem/PythonTests/physics/joints/C18243588_Joints_Ball2BodiesConstrained.py old mode 100755 new mode 100644 similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/C18243588_Joints_Ball2BodiesConstrained.py rename to AutomatedTesting/Gem/PythonTests/physics/joints/C18243588_Joints_Ball2BodiesConstrained.py index 107140d7d0..fd8556660a --- a/AutomatedTesting/Gem/PythonTests/physics/C18243588_Joints_Ball2BodiesConstrained.py +++ b/AutomatedTesting/Gem/PythonTests/physics/joints/C18243588_Joints_Ball2BodiesConstrained.py @@ -51,11 +51,6 @@ def C18243588_Joints_Ball2BodiesConstrained(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -114,8 +109,5 @@ def C18243588_Joints_Ball2BodiesConstrained(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C18243588_Joints_Ball2BodiesConstrained) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C18243589_Joints_BallSoftLimitsConstrained.py b/AutomatedTesting/Gem/PythonTests/physics/joints/C18243589_Joints_BallSoftLimitsConstrained.py old mode 100755 new mode 100644 similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/C18243589_Joints_BallSoftLimitsConstrained.py rename to AutomatedTesting/Gem/PythonTests/physics/joints/C18243589_Joints_BallSoftLimitsConstrained.py index 2c6f1f34b0..30747bc2eb --- a/AutomatedTesting/Gem/PythonTests/physics/C18243589_Joints_BallSoftLimitsConstrained.py +++ b/AutomatedTesting/Gem/PythonTests/physics/joints/C18243589_Joints_BallSoftLimitsConstrained.py @@ -55,9 +55,7 @@ def C18243589_Joints_BallSoftLimitsConstrained(): import sys import math - import ImportPathHelper as imports - imports.init() from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -135,8 +133,5 @@ def C18243589_Joints_BallSoftLimitsConstrained(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C18243589_Joints_BallSoftLimitsConstrained) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C18243590_Joints_BallNoLimitsConstrained.py b/AutomatedTesting/Gem/PythonTests/physics/joints/C18243590_Joints_BallNoLimitsConstrained.py old mode 100755 new mode 100644 similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/C18243590_Joints_BallNoLimitsConstrained.py rename to AutomatedTesting/Gem/PythonTests/physics/joints/C18243590_Joints_BallNoLimitsConstrained.py index b5de805d16..990f4f826b --- a/AutomatedTesting/Gem/PythonTests/physics/C18243590_Joints_BallNoLimitsConstrained.py +++ b/AutomatedTesting/Gem/PythonTests/physics/joints/C18243590_Joints_BallNoLimitsConstrained.py @@ -54,11 +54,6 @@ def C18243590_Joints_BallNoLimitsConstrained(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -113,8 +108,5 @@ def C18243590_Joints_BallNoLimitsConstrained(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C18243590_Joints_BallNoLimitsConstrained) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C18243591_Joints_BallLeadFollowerCollide.py b/AutomatedTesting/Gem/PythonTests/physics/joints/C18243591_Joints_BallLeadFollowerCollide.py old mode 100755 new mode 100644 similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/C18243591_Joints_BallLeadFollowerCollide.py rename to AutomatedTesting/Gem/PythonTests/physics/joints/C18243591_Joints_BallLeadFollowerCollide.py index 2e73232bd9..47422d1508 --- a/AutomatedTesting/Gem/PythonTests/physics/C18243591_Joints_BallLeadFollowerCollide.py +++ b/AutomatedTesting/Gem/PythonTests/physics/joints/C18243591_Joints_BallLeadFollowerCollide.py @@ -49,11 +49,6 @@ def C18243591_Joints_BallLeadFollowerCollide(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -92,8 +87,5 @@ def C18243591_Joints_BallLeadFollowerCollide(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C18243591_Joints_BallLeadFollowerCollide) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C18243592_Joints_BallBreakable.py b/AutomatedTesting/Gem/PythonTests/physics/joints/C18243592_Joints_BallBreakable.py old mode 100755 new mode 100644 similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/C18243592_Joints_BallBreakable.py rename to AutomatedTesting/Gem/PythonTests/physics/joints/C18243592_Joints_BallBreakable.py index 6539b1b413..6182c312dc --- a/AutomatedTesting/Gem/PythonTests/physics/C18243592_Joints_BallBreakable.py +++ b/AutomatedTesting/Gem/PythonTests/physics/joints/C18243592_Joints_BallBreakable.py @@ -49,11 +49,6 @@ def C18243592_Joints_BallBreakable(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -108,8 +103,5 @@ def C18243592_Joints_BallBreakable(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C18243592_Joints_BallBreakable) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C18243593_Joints_GlobalFrameConstrained.py b/AutomatedTesting/Gem/PythonTests/physics/joints/C18243593_Joints_GlobalFrameConstrained.py old mode 100755 new mode 100644 similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/C18243593_Joints_GlobalFrameConstrained.py rename to AutomatedTesting/Gem/PythonTests/physics/joints/C18243593_Joints_GlobalFrameConstrained.py index 63708d7571..bd527f10f8 --- a/AutomatedTesting/Gem/PythonTests/physics/C18243593_Joints_GlobalFrameConstrained.py +++ b/AutomatedTesting/Gem/PythonTests/physics/joints/C18243593_Joints_GlobalFrameConstrained.py @@ -53,11 +53,6 @@ def C18243593_Joints_GlobalFrameConstrained(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -121,8 +116,5 @@ def C18243593_Joints_GlobalFrameConstrained(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C18243593_Joints_GlobalFrameConstrained) diff --git a/AutomatedTesting/Gem/PythonTests/physics/JointsHelper.py b/AutomatedTesting/Gem/PythonTests/physics/joints/JointsHelper.py old mode 100755 new mode 100644 similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/JointsHelper.py rename to AutomatedTesting/Gem/PythonTests/physics/joints/JointsHelper.py index 12c05c3ced..6226f42534 --- a/AutomatedTesting/Gem/PythonTests/physics/JointsHelper.py +++ b/AutomatedTesting/Gem/PythonTests/physics/joints/JointsHelper.py @@ -5,10 +5,6 @@ For complete copyright and license terms please see the LICENSE at the root of t SPDX-License-Identifier: Apache-2.0 OR MIT """ -import ImportPathHelper as imports - -imports.init() - from editor_python_test_tools.utils import Report import azlmbr.legacy.general as general import azlmbr.bus diff --git a/AutomatedTesting/Gem/PythonTests/physics/AddModifyDelete_Utils.py b/AutomatedTesting/Gem/PythonTests/physics/material/AddModifyDelete_Utils.py old mode 100755 new mode 100644 similarity index 100% rename from AutomatedTesting/Gem/PythonTests/physics/AddModifyDelete_Utils.py rename to AutomatedTesting/Gem/PythonTests/physics/material/AddModifyDelete_Utils.py diff --git a/AutomatedTesting/Gem/PythonTests/physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels_after.py b/AutomatedTesting/Gem/PythonTests/physics/material/C15096732_Material_DefaultLibraryUpdatedAcrossLevels_after.py old mode 100755 new mode 100644 similarity index 99% rename from AutomatedTesting/Gem/PythonTests/physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels_after.py rename to AutomatedTesting/Gem/PythonTests/physics/material/C15096732_Material_DefaultLibraryUpdatedAcrossLevels_after.py index 96e05b88fb..de1945bc8d --- a/AutomatedTesting/Gem/PythonTests/physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels_after.py +++ b/AutomatedTesting/Gem/PythonTests/physics/material/C15096732_Material_DefaultLibraryUpdatedAcrossLevels_after.py @@ -99,11 +99,6 @@ def C15096732_Material_DefaultLibraryUpdatedAcrossLevels_after(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -285,8 +280,5 @@ def C15096732_Material_DefaultLibraryUpdatedAcrossLevels_after(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C15096732_Material_DefaultLibraryUpdatedAcrossLevels_after) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels_before.py b/AutomatedTesting/Gem/PythonTests/physics/material/C15096732_Material_DefaultLibraryUpdatedAcrossLevels_before.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels_before.py rename to AutomatedTesting/Gem/PythonTests/physics/material/C15096732_Material_DefaultLibraryUpdatedAcrossLevels_before.py index 95e3acefd7..46262f3f77 --- a/AutomatedTesting/Gem/PythonTests/physics/C15096732_Material_DefaultLibraryUpdatedAcrossLevels_before.py +++ b/AutomatedTesting/Gem/PythonTests/physics/material/C15096732_Material_DefaultLibraryUpdatedAcrossLevels_before.py @@ -92,11 +92,6 @@ def C15096732_Material_DefaultLibraryUpdatedAcrossLevels_before(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -237,8 +232,5 @@ def C15096732_Material_DefaultLibraryUpdatedAcrossLevels_before(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C15096732_Material_DefaultLibraryUpdatedAcrossLevels_before) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C15096735_Materials_DefaultLibraryConsistency.py b/AutomatedTesting/Gem/PythonTests/physics/material/C15096735_Materials_DefaultLibraryConsistency.py old mode 100755 new mode 100644 similarity index 99% rename from AutomatedTesting/Gem/PythonTests/physics/C15096735_Materials_DefaultLibraryConsistency.py rename to AutomatedTesting/Gem/PythonTests/physics/material/C15096735_Materials_DefaultLibraryConsistency.py index 18ffe68415..75c9849756 --- a/AutomatedTesting/Gem/PythonTests/physics/C15096735_Materials_DefaultLibraryConsistency.py +++ b/AutomatedTesting/Gem/PythonTests/physics/material/C15096735_Materials_DefaultLibraryConsistency.py @@ -140,11 +140,6 @@ def C15096735_Materials_DefaultLibraryConsistency(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -417,8 +412,5 @@ def C15096735_Materials_DefaultLibraryConsistency(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C15096735_Materials_DefaultLibraryConsistency) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C15096737_Materials_DefaultMaterialLibraryChanges.py b/AutomatedTesting/Gem/PythonTests/physics/material/C15096737_Materials_DefaultMaterialLibraryChanges.py old mode 100755 new mode 100644 similarity index 99% rename from AutomatedTesting/Gem/PythonTests/physics/C15096737_Materials_DefaultMaterialLibraryChanges.py rename to AutomatedTesting/Gem/PythonTests/physics/material/C15096737_Materials_DefaultMaterialLibraryChanges.py index 4dae4c536c..a4c65fc24c --- a/AutomatedTesting/Gem/PythonTests/physics/C15096737_Materials_DefaultMaterialLibraryChanges.py +++ b/AutomatedTesting/Gem/PythonTests/physics/material/C15096737_Materials_DefaultMaterialLibraryChanges.py @@ -107,9 +107,7 @@ def C15096737_Materials_DefaultMaterialLibraryChanges(): import os import sys - import ImportPathHelper as imports - imports.init() from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -293,8 +291,5 @@ def C15096737_Materials_DefaultMaterialLibraryChanges(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C15096737_Materials_DefaultMaterialLibraryChanges) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C15096740_Material_LibraryUpdatedCorrectly.py b/AutomatedTesting/Gem/PythonTests/physics/material/C15096740_Material_LibraryUpdatedCorrectly.py old mode 100755 new mode 100644 similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/C15096740_Material_LibraryUpdatedCorrectly.py rename to AutomatedTesting/Gem/PythonTests/physics/material/C15096740_Material_LibraryUpdatedCorrectly.py index 341597e36a..88c51bae8a --- a/AutomatedTesting/Gem/PythonTests/physics/C15096740_Material_LibraryUpdatedCorrectly.py +++ b/AutomatedTesting/Gem/PythonTests/physics/material/C15096740_Material_LibraryUpdatedCorrectly.py @@ -49,15 +49,13 @@ def C15096740_Material_LibraryUpdatedCorrectly(): # Built-in Imports import os - import ImportPathHelper as imports - imports.init() # Helper file Imports from editor_python_test_tools.editor_entity_utils import EditorEntity from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper - from asset_utils import Asset + from editor_python_test_tools.asset_utils import Asset # Open 3D Engine Imports import azlmbr.asset as azasset @@ -101,8 +99,5 @@ def C15096740_Material_LibraryUpdatedCorrectly(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C15096740_Material_LibraryUpdatedCorrectly) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C15308221_Material_ComponentsInSyncWithLibrary.py b/AutomatedTesting/Gem/PythonTests/physics/material/C15308221_Material_ComponentsInSyncWithLibrary.py old mode 100755 new mode 100644 similarity index 99% rename from AutomatedTesting/Gem/PythonTests/physics/C15308221_Material_ComponentsInSyncWithLibrary.py rename to AutomatedTesting/Gem/PythonTests/physics/material/C15308221_Material_ComponentsInSyncWithLibrary.py index 349e824a49..b29709e95b --- a/AutomatedTesting/Gem/PythonTests/physics/C15308221_Material_ComponentsInSyncWithLibrary.py +++ b/AutomatedTesting/Gem/PythonTests/physics/material/C15308221_Material_ComponentsInSyncWithLibrary.py @@ -105,11 +105,6 @@ def C15308221_Material_ComponentsInSyncWithLibrary(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - import azlmbr.legacy.general as general import azlmbr.bus as bus import azlmbr.components @@ -244,8 +239,5 @@ def C15308221_Material_ComponentsInSyncWithLibrary(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C15308221_Material_ComponentsInSyncWithLibrary) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C15425935_Material_LibraryUpdatedAcrossLevels.py b/AutomatedTesting/Gem/PythonTests/physics/material/C15425935_Material_LibraryUpdatedAcrossLevels.py old mode 100755 new mode 100644 similarity index 99% rename from AutomatedTesting/Gem/PythonTests/physics/C15425935_Material_LibraryUpdatedAcrossLevels.py rename to AutomatedTesting/Gem/PythonTests/physics/material/C15425935_Material_LibraryUpdatedAcrossLevels.py index 283b8e3d55..91452a1173 --- a/AutomatedTesting/Gem/PythonTests/physics/C15425935_Material_LibraryUpdatedAcrossLevels.py +++ b/AutomatedTesting/Gem/PythonTests/physics/material/C15425935_Material_LibraryUpdatedAcrossLevels.py @@ -112,12 +112,6 @@ def C15425935_Material_LibraryUpdatedAcrossLevels(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -307,8 +301,5 @@ def C15425935_Material_LibraryUpdatedAcrossLevels(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C15425935_Material_LibraryUpdatedAcrossLevels) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment.py b/AutomatedTesting/Gem/PythonTests/physics/material/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment.py rename to AutomatedTesting/Gem/PythonTests/physics/material/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment.py index 88abe8dcd1..4d806cda11 --- a/AutomatedTesting/Gem/PythonTests/physics/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment.py +++ b/AutomatedTesting/Gem/PythonTests/physics/material/C15556261_PhysXMaterials_CharacterControllerMaterialAssignment.py @@ -79,11 +79,6 @@ def C15556261_PhysXMaterials_CharacterControllerMaterialAssignment(): import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper import azlmbr.legacy.general as general @@ -202,8 +197,5 @@ def C15556261_PhysXMaterials_CharacterControllerMaterialAssignment(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C15556261_PhysXMaterials_CharacterControllerMaterialAssignment) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C15563573_Material_AddModifyDeleteOnCharacterController.py b/AutomatedTesting/Gem/PythonTests/physics/material/C15563573_Material_AddModifyDeleteOnCharacterController.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C15563573_Material_AddModifyDeleteOnCharacterController.py rename to AutomatedTesting/Gem/PythonTests/physics/material/C15563573_Material_AddModifyDeleteOnCharacterController.py index ca00b30479..cf38ddc11c --- a/AutomatedTesting/Gem/PythonTests/physics/C15563573_Material_AddModifyDeleteOnCharacterController.py +++ b/AutomatedTesting/Gem/PythonTests/physics/material/C15563573_Material_AddModifyDeleteOnCharacterController.py @@ -107,11 +107,6 @@ def C15563573_Material_AddModifyDeleteOnCharacterController(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - import azlmbr.legacy.general as general import azlmbr.math as lymath @@ -197,8 +192,5 @@ def C15563573_Material_AddModifyDeleteOnCharacterController(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C15563573_Material_AddModifyDeleteOnCharacterController) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C18977601_Material_FrictionCombinePriority.py b/AutomatedTesting/Gem/PythonTests/physics/material/C18977601_Material_FrictionCombinePriority.py old mode 100755 new mode 100644 similarity index 99% rename from AutomatedTesting/Gem/PythonTests/physics/C18977601_Material_FrictionCombinePriority.py rename to AutomatedTesting/Gem/PythonTests/physics/material/C18977601_Material_FrictionCombinePriority.py index 14103ad223..4cef743854 --- a/AutomatedTesting/Gem/PythonTests/physics/C18977601_Material_FrictionCombinePriority.py +++ b/AutomatedTesting/Gem/PythonTests/physics/material/C18977601_Material_FrictionCombinePriority.py @@ -126,12 +126,6 @@ def C18977601_Material_FrictionCombinePriority(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -357,8 +351,5 @@ def C18977601_Material_FrictionCombinePriority(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C18977601_Material_FrictionCombinePriority) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C18981526_Material_RestitutionCombinePriority.py b/AutomatedTesting/Gem/PythonTests/physics/material/C18981526_Material_RestitutionCombinePriority.py old mode 100755 new mode 100644 similarity index 99% rename from AutomatedTesting/Gem/PythonTests/physics/C18981526_Material_RestitutionCombinePriority.py rename to AutomatedTesting/Gem/PythonTests/physics/material/C18981526_Material_RestitutionCombinePriority.py index 696eb1115a..9663453df2 --- a/AutomatedTesting/Gem/PythonTests/physics/C18981526_Material_RestitutionCombinePriority.py +++ b/AutomatedTesting/Gem/PythonTests/physics/material/C18981526_Material_RestitutionCombinePriority.py @@ -126,11 +126,6 @@ def C18981526_Material_RestitutionCombinePriority(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -417,8 +412,5 @@ def C18981526_Material_RestitutionCombinePriority(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C18981526_Material_RestitutionCombinePriority) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4044455_Material_libraryChangesInstantly.py b/AutomatedTesting/Gem/PythonTests/physics/material/C4044455_Material_libraryChangesInstantly.py old mode 100755 new mode 100644 similarity index 99% rename from AutomatedTesting/Gem/PythonTests/physics/C4044455_Material_libraryChangesInstantly.py rename to AutomatedTesting/Gem/PythonTests/physics/material/C4044455_Material_libraryChangesInstantly.py index 8a84f5302f..8eb2e7e9a4 --- a/AutomatedTesting/Gem/PythonTests/physics/C4044455_Material_libraryChangesInstantly.py +++ b/AutomatedTesting/Gem/PythonTests/physics/material/C4044455_Material_libraryChangesInstantly.py @@ -173,11 +173,6 @@ def C4044455_Material_libraryChangesInstantly(): import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -478,8 +473,5 @@ def C4044455_Material_libraryChangesInstantly(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4044455_Material_libraryChangesInstantly) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4044456_Material_FrictionCombine.py b/AutomatedTesting/Gem/PythonTests/physics/material/C4044456_Material_FrictionCombine.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C4044456_Material_FrictionCombine.py rename to AutomatedTesting/Gem/PythonTests/physics/material/C4044456_Material_FrictionCombine.py index 3048224d79..8c3b389264 --- a/AutomatedTesting/Gem/PythonTests/physics/C4044456_Material_FrictionCombine.py +++ b/AutomatedTesting/Gem/PythonTests/physics/material/C4044456_Material_FrictionCombine.py @@ -91,11 +91,6 @@ def C4044456_Material_FrictionCombine(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -213,8 +208,5 @@ def C4044456_Material_FrictionCombine(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4044456_Material_FrictionCombine) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4044457_Material_RestitutionCombine.py b/AutomatedTesting/Gem/PythonTests/physics/material/C4044457_Material_RestitutionCombine.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C4044457_Material_RestitutionCombine.py rename to AutomatedTesting/Gem/PythonTests/physics/material/C4044457_Material_RestitutionCombine.py index 2ba038c928..a20c7e49f7 --- a/AutomatedTesting/Gem/PythonTests/physics/C4044457_Material_RestitutionCombine.py +++ b/AutomatedTesting/Gem/PythonTests/physics/material/C4044457_Material_RestitutionCombine.py @@ -96,11 +96,6 @@ def C4044457_Material_RestitutionCombine(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -245,8 +240,5 @@ def C4044457_Material_RestitutionCombine(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4044457_Material_RestitutionCombine) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4044459_Material_DynamicFriction.py b/AutomatedTesting/Gem/PythonTests/physics/material/C4044459_Material_DynamicFriction.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C4044459_Material_DynamicFriction.py rename to AutomatedTesting/Gem/PythonTests/physics/material/C4044459_Material_DynamicFriction.py index 096a1bc742..cdf2816f17 --- a/AutomatedTesting/Gem/PythonTests/physics/C4044459_Material_DynamicFriction.py +++ b/AutomatedTesting/Gem/PythonTests/physics/material/C4044459_Material_DynamicFriction.py @@ -82,11 +82,6 @@ def C4044459_Material_DynamicFriction(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -191,8 +186,5 @@ def C4044459_Material_DynamicFriction(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4044459_Material_DynamicFriction) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4044460_Material_StaticFriction.py b/AutomatedTesting/Gem/PythonTests/physics/material/C4044460_Material_StaticFriction.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C4044460_Material_StaticFriction.py rename to AutomatedTesting/Gem/PythonTests/physics/material/C4044460_Material_StaticFriction.py index 9730b28e73..5558f01222 --- a/AutomatedTesting/Gem/PythonTests/physics/C4044460_Material_StaticFriction.py +++ b/AutomatedTesting/Gem/PythonTests/physics/material/C4044460_Material_StaticFriction.py @@ -80,11 +80,6 @@ def C4044460_Material_StaticFriction(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -188,8 +183,5 @@ def C4044460_Material_StaticFriction(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4044460_Material_StaticFriction) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4044461_Material_Restitution.py b/AutomatedTesting/Gem/PythonTests/physics/material/C4044461_Material_Restitution.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C4044461_Material_Restitution.py rename to AutomatedTesting/Gem/PythonTests/physics/material/C4044461_Material_Restitution.py index 9cb54331cb..b077af1593 --- a/AutomatedTesting/Gem/PythonTests/physics/C4044461_Material_Restitution.py +++ b/AutomatedTesting/Gem/PythonTests/physics/material/C4044461_Material_Restitution.py @@ -87,11 +87,6 @@ def C4044461_Material_Restitution(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -230,8 +225,5 @@ def C4044461_Material_Restitution(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4044461_Material_Restitution) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4044694_Material_EmptyLibraryUsesDefault.py b/AutomatedTesting/Gem/PythonTests/physics/material/C4044694_Material_EmptyLibraryUsesDefault.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C4044694_Material_EmptyLibraryUsesDefault.py rename to AutomatedTesting/Gem/PythonTests/physics/material/C4044694_Material_EmptyLibraryUsesDefault.py index 4cf092d3bf..8cba90cba8 --- a/AutomatedTesting/Gem/PythonTests/physics/C4044694_Material_EmptyLibraryUsesDefault.py +++ b/AutomatedTesting/Gem/PythonTests/physics/material/C4044694_Material_EmptyLibraryUsesDefault.py @@ -66,11 +66,6 @@ def C4044694_Material_EmptyLibraryUsesDefault(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - import azlmbr.legacy.general as general import azlmbr.bus as bus import azlmbr.components @@ -189,8 +184,5 @@ def C4044694_Material_EmptyLibraryUsesDefault(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4044694_Material_EmptyLibraryUsesDefault) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4044697_Material_PerfaceMaterialValidation.py b/AutomatedTesting/Gem/PythonTests/physics/material/C4044697_Material_PerfaceMaterialValidation.py old mode 100755 new mode 100644 similarity index 99% rename from AutomatedTesting/Gem/PythonTests/physics/C4044697_Material_PerfaceMaterialValidation.py rename to AutomatedTesting/Gem/PythonTests/physics/material/C4044697_Material_PerfaceMaterialValidation.py index e365a799aa..9ee8d404d7 --- a/AutomatedTesting/Gem/PythonTests/physics/C4044697_Material_PerfaceMaterialValidation.py +++ b/AutomatedTesting/Gem/PythonTests/physics/material/C4044697_Material_PerfaceMaterialValidation.py @@ -107,11 +107,6 @@ def C4044697_Material_PerfaceMaterialValidation(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -302,8 +297,5 @@ def C4044697_Material_PerfaceMaterialValidation(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4044697_Material_PerfaceMaterialValidation) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4888315_Material_AddModifyDeleteOnCollider.py b/AutomatedTesting/Gem/PythonTests/physics/material/C4888315_Material_AddModifyDeleteOnCollider.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C4888315_Material_AddModifyDeleteOnCollider.py rename to AutomatedTesting/Gem/PythonTests/physics/material/C4888315_Material_AddModifyDeleteOnCollider.py index d66cf17b5f..61c378d287 --- a/AutomatedTesting/Gem/PythonTests/physics/C4888315_Material_AddModifyDeleteOnCollider.py +++ b/AutomatedTesting/Gem/PythonTests/physics/material/C4888315_Material_AddModifyDeleteOnCollider.py @@ -90,11 +90,6 @@ def C4888315_Material_AddModifyDeleteOnCollider(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - import azlmbr.legacy.general as general import azlmbr.math as lymath @@ -176,8 +171,5 @@ def C4888315_Material_AddModifyDeleteOnCollider(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4888315_Material_AddModifyDeleteOnCollider) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4925577_Materials_MaterialAssignedToTerrain.py b/AutomatedTesting/Gem/PythonTests/physics/material/C4925577_Materials_MaterialAssignedToTerrain.py old mode 100755 new mode 100644 similarity index 99% rename from AutomatedTesting/Gem/PythonTests/physics/C4925577_Materials_MaterialAssignedToTerrain.py rename to AutomatedTesting/Gem/PythonTests/physics/material/C4925577_Materials_MaterialAssignedToTerrain.py index feafce07d5..219e12fdb2 --- a/AutomatedTesting/Gem/PythonTests/physics/C4925577_Materials_MaterialAssignedToTerrain.py +++ b/AutomatedTesting/Gem/PythonTests/physics/material/C4925577_Materials_MaterialAssignedToTerrain.py @@ -76,11 +76,6 @@ def C4925577_Materials_MaterialAssignedToTerrain(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -305,8 +300,5 @@ def C4925577_Materials_MaterialAssignedToTerrain(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4925577_Materials_MaterialAssignedToTerrain) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4925579_Material_AddModifyDeleteOnTerrain.py b/AutomatedTesting/Gem/PythonTests/physics/material/C4925579_Material_AddModifyDeleteOnTerrain.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C4925579_Material_AddModifyDeleteOnTerrain.py rename to AutomatedTesting/Gem/PythonTests/physics/material/C4925579_Material_AddModifyDeleteOnTerrain.py index db2093047e..8b3d72a932 --- a/AutomatedTesting/Gem/PythonTests/physics/C4925579_Material_AddModifyDeleteOnTerrain.py +++ b/AutomatedTesting/Gem/PythonTests/physics/material/C4925579_Material_AddModifyDeleteOnTerrain.py @@ -91,11 +91,6 @@ def C4925579_Material_AddModifyDeleteOnTerrain(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - import azlmbr.legacy.general as general import azlmbr.math as lymath @@ -176,8 +171,5 @@ def C4925579_Material_AddModifyDeleteOnTerrain(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4925579_Material_AddModifyDeleteOnTerrain) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4925580_Material_RagdollBonesMaterial.py b/AutomatedTesting/Gem/PythonTests/physics/material/C4925580_Material_RagdollBonesMaterial.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C4925580_Material_RagdollBonesMaterial.py rename to AutomatedTesting/Gem/PythonTests/physics/material/C4925580_Material_RagdollBonesMaterial.py index 203db0bd39..96316b1cdf --- a/AutomatedTesting/Gem/PythonTests/physics/C4925580_Material_RagdollBonesMaterial.py +++ b/AutomatedTesting/Gem/PythonTests/physics/material/C4925580_Material_RagdollBonesMaterial.py @@ -66,11 +66,6 @@ def C4925580_Material_RagdollBonesMaterial(): # Setup path import os import sys - - import ImportPathHelper as imports - - imports.init() - import azlmbr.legacy.general as general import azlmbr.bus import azlmbr.components @@ -194,8 +189,5 @@ def C4925580_Material_RagdollBonesMaterial(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4925580_Material_RagdollBonesMaterial) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4925582_Material_AddModifyDeleteOnRagdollBones.py b/AutomatedTesting/Gem/PythonTests/physics/material/C4925582_Material_AddModifyDeleteOnRagdollBones.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C4925582_Material_AddModifyDeleteOnRagdollBones.py rename to AutomatedTesting/Gem/PythonTests/physics/material/C4925582_Material_AddModifyDeleteOnRagdollBones.py index acdfb98411..0abfae08f9 --- a/AutomatedTesting/Gem/PythonTests/physics/C4925582_Material_AddModifyDeleteOnRagdollBones.py +++ b/AutomatedTesting/Gem/PythonTests/physics/material/C4925582_Material_AddModifyDeleteOnRagdollBones.py @@ -92,11 +92,6 @@ def C4925582_Material_AddModifyDeleteOnRagdollBones(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - import azlmbr.legacy.general as general import azlmbr.bus as bus import azlmbr.components @@ -212,8 +207,5 @@ def C4925582_Material_AddModifyDeleteOnRagdollBones(): Report.info("Modified max bouce: " + str(modified_ragdoll.bounces[0])) if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4925582_Material_AddModifyDeleteOnRagdollBones) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C5296614_PhysXMaterial_ColliderShape.py b/AutomatedTesting/Gem/PythonTests/physics/material/C5296614_PhysXMaterial_ColliderShape.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C5296614_PhysXMaterial_ColliderShape.py rename to AutomatedTesting/Gem/PythonTests/physics/material/C5296614_PhysXMaterial_ColliderShape.py index 82275d1b0d..de7ed4db9b --- a/AutomatedTesting/Gem/PythonTests/physics/C5296614_PhysXMaterial_ColliderShape.py +++ b/AutomatedTesting/Gem/PythonTests/physics/material/C5296614_PhysXMaterial_ColliderShape.py @@ -60,11 +60,6 @@ def C5296614_PhysXMaterial_ColliderShape(): import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper import azlmbr.legacy.general as general @@ -152,8 +147,5 @@ def C5296614_PhysXMaterial_ColliderShape(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C5296614_PhysXMaterial_ColliderShape) diff --git a/AutomatedTesting/Gem/PythonTests/physics/Physmaterial_Editor.py b/AutomatedTesting/Gem/PythonTests/physics/material/Physmaterial_Editor.py old mode 100755 new mode 100644 similarity index 100% rename from AutomatedTesting/Gem/PythonTests/physics/Physmaterial_Editor.py rename to AutomatedTesting/Gem/PythonTests/physics/material/Physmaterial_Editor.py diff --git a/AutomatedTesting/Gem/PythonTests/physics/C13895144_Ragdoll_ChangeLevel.py b/AutomatedTesting/Gem/PythonTests/physics/ragdoll/C13895144_Ragdoll_ChangeLevel.py old mode 100755 new mode 100644 similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/C13895144_Ragdoll_ChangeLevel.py rename to AutomatedTesting/Gem/PythonTests/physics/ragdoll/C13895144_Ragdoll_ChangeLevel.py index 28baa2bcf3..c7ff00a7e3 --- a/AutomatedTesting/Gem/PythonTests/physics/C13895144_Ragdoll_ChangeLevel.py +++ b/AutomatedTesting/Gem/PythonTests/physics/ragdoll/C13895144_Ragdoll_ChangeLevel.py @@ -58,11 +58,6 @@ def C13895144_Ragdoll_ChangeLevel(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -104,8 +99,5 @@ def C13895144_Ragdoll_ChangeLevel(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C13895144_Ragdoll_ChangeLevel) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C14654882_Ragdoll_ragdollAPTest.py b/AutomatedTesting/Gem/PythonTests/physics/ragdoll/C14654882_Ragdoll_ragdollAPTest.py old mode 100755 new mode 100644 similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/C14654882_Ragdoll_ragdollAPTest.py rename to AutomatedTesting/Gem/PythonTests/physics/ragdoll/C14654882_Ragdoll_ragdollAPTest.py index 024126ef55..56784b0c72 --- a/AutomatedTesting/Gem/PythonTests/physics/C14654882_Ragdoll_ragdollAPTest.py +++ b/AutomatedTesting/Gem/PythonTests/physics/ragdoll/C14654882_Ragdoll_ragdollAPTest.py @@ -69,11 +69,6 @@ def C14654882_Ragdoll_ragdollAPTest(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -129,8 +124,5 @@ def C14654882_Ragdoll_ragdollAPTest(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C14654882_Ragdoll_ragdollAPTest) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C17411467_AddPhysxRagdollComponent.py b/AutomatedTesting/Gem/PythonTests/physics/ragdoll/C17411467_AddPhysxRagdollComponent.py old mode 100755 new mode 100644 similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/C17411467_AddPhysxRagdollComponent.py rename to AutomatedTesting/Gem/PythonTests/physics/ragdoll/C17411467_AddPhysxRagdollComponent.py index ea58f84dad..9c02239d73 --- a/AutomatedTesting/Gem/PythonTests/physics/C17411467_AddPhysxRagdollComponent.py +++ b/AutomatedTesting/Gem/PythonTests/physics/ragdoll/C17411467_AddPhysxRagdollComponent.py @@ -9,7 +9,6 @@ Test Case Title : Check that Physx Ragdoll component can be added without errors """ - # fmt: off class Tests(): create_test_entity = ("Entity created successfully", "Failed to create Entity") @@ -45,10 +44,6 @@ def C17411467_AddPhysxRagdollComponent(): :return: None """ - # Helper file Imports - import ImportPathHelper as imports - - imports.init() from editor_python_test_tools.utils import Report from editor_python_test_tools.editor_entity_utils import EditorEntity from editor_python_test_tools.utils import TestHelper as helper @@ -93,8 +88,5 @@ def C17411467_AddPhysxRagdollComponent(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C17411467_AddPhysxRagdollComponent) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C28978033_Ragdoll_WorldBodyBusTests.py b/AutomatedTesting/Gem/PythonTests/physics/ragdoll/C28978033_Ragdoll_WorldBodyBusTests.py old mode 100755 new mode 100644 similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/C28978033_Ragdoll_WorldBodyBusTests.py rename to AutomatedTesting/Gem/PythonTests/physics/ragdoll/C28978033_Ragdoll_WorldBodyBusTests.py index b22bcf5a36..d917449daf --- a/AutomatedTesting/Gem/PythonTests/physics/C28978033_Ragdoll_WorldBodyBusTests.py +++ b/AutomatedTesting/Gem/PythonTests/physics/ragdoll/C28978033_Ragdoll_WorldBodyBusTests.py @@ -45,11 +45,6 @@ def C28978033_Ragdoll_WorldBodyBusTests(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - import azlmbr.legacy.general as general import azlmbr.bus from editor_python_test_tools.utils import Report @@ -116,8 +111,5 @@ def C28978033_Ragdoll_WorldBodyBusTests(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C28978033_Ragdoll_WorldBodyBusTests) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C13351703_COM_NotIncludeTriggerShapes.py b/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C13351703_COM_NotIncludeTriggerShapes.py old mode 100755 new mode 100644 similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/C13351703_COM_NotIncludeTriggerShapes.py rename to AutomatedTesting/Gem/PythonTests/physics/rigid_body/C13351703_COM_NotIncludeTriggerShapes.py index a9e7727890..56f44503ae --- a/AutomatedTesting/Gem/PythonTests/physics/C13351703_COM_NotIncludeTriggerShapes.py +++ b/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C13351703_COM_NotIncludeTriggerShapes.py @@ -55,11 +55,6 @@ def C13351703_COM_NotIncludeTriggerShapes(): import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -93,8 +88,5 @@ def C13351703_COM_NotIncludeTriggerShapes(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C13351703_COM_NotIncludeTriggerShapes) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C13352089_RigidBodies_MaxAngularVelocity.py b/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C13352089_RigidBodies_MaxAngularVelocity.py old mode 100755 new mode 100644 similarity index 99% rename from AutomatedTesting/Gem/PythonTests/physics/C13352089_RigidBodies_MaxAngularVelocity.py rename to AutomatedTesting/Gem/PythonTests/physics/rigid_body/C13352089_RigidBodies_MaxAngularVelocity.py index 2342545a87..41635ecc47 --- a/AutomatedTesting/Gem/PythonTests/physics/C13352089_RigidBodies_MaxAngularVelocity.py +++ b/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C13352089_RigidBodies_MaxAngularVelocity.py @@ -123,9 +123,7 @@ def C13352089_RigidBodies_MaxAngularVelocity(): import math import time - import ImportPathHelper as imports - imports.init() from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -281,8 +279,5 @@ def C13352089_RigidBodies_MaxAngularVelocity(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C13352089_RigidBodies_MaxAngularVelocity) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4976194_RigidBody_PhysXComponentIsValid.py b/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976194_RigidBody_PhysXComponentIsValid.py old mode 100755 new mode 100644 similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/C4976194_RigidBody_PhysXComponentIsValid.py rename to AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976194_RigidBody_PhysXComponentIsValid.py index 79c3e06814..b0b69d6d91 --- a/AutomatedTesting/Gem/PythonTests/physics/C4976194_RigidBody_PhysXComponentIsValid.py +++ b/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976194_RigidBody_PhysXComponentIsValid.py @@ -54,9 +54,7 @@ def C4976194_RigidBody_PhysXComponentIsValid(): import os, sys - import ImportPathHelper as imports - imports.init() from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -110,8 +108,5 @@ def C4976194_RigidBody_PhysXComponentIsValid(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4976194_RigidBody_PhysXComponentIsValid) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4976195_RigidBodies_InitialLinearVelocity.py b/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976195_RigidBodies_InitialLinearVelocity.py old mode 100755 new mode 100644 similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/C4976195_RigidBodies_InitialLinearVelocity.py rename to AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976195_RigidBodies_InitialLinearVelocity.py index 6bddae76f4..f13a7232fa --- a/AutomatedTesting/Gem/PythonTests/physics/C4976195_RigidBodies_InitialLinearVelocity.py +++ b/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976195_RigidBodies_InitialLinearVelocity.py @@ -58,11 +58,6 @@ def C4976195_RigidBodies_InitialLinearVelocity(): import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -132,8 +127,5 @@ def C4976195_RigidBodies_InitialLinearVelocity(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4976195_RigidBodies_InitialLinearVelocity) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4976197_RigidBodies_InitialAngularVelocity.py b/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976197_RigidBodies_InitialAngularVelocity.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C4976197_RigidBodies_InitialAngularVelocity.py rename to AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976197_RigidBodies_InitialAngularVelocity.py index 73c1e88f79..7f400051ec --- a/AutomatedTesting/Gem/PythonTests/physics/C4976197_RigidBodies_InitialAngularVelocity.py +++ b/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976197_RigidBodies_InitialAngularVelocity.py @@ -72,9 +72,7 @@ def C4976197_RigidBodies_InitialAngularVelocity(): import sys import math - import ImportPathHelper as imports - imports.init() from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -177,8 +175,5 @@ def C4976197_RigidBodies_InitialAngularVelocity(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4976197_RigidBodies_InitialAngularVelocity) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4976199_RigidBodies_LinearDampingObjectMotion.py b/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976199_RigidBodies_LinearDampingObjectMotion.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C4976199_RigidBodies_LinearDampingObjectMotion.py rename to AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976199_RigidBodies_LinearDampingObjectMotion.py index 08b212d1e7..502478f13c --- a/AutomatedTesting/Gem/PythonTests/physics/C4976199_RigidBodies_LinearDampingObjectMotion.py +++ b/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976199_RigidBodies_LinearDampingObjectMotion.py @@ -56,11 +56,6 @@ def C4976199_RigidBodies_LinearDampingObjectMotion(): # Setup path import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -270,8 +265,5 @@ def C4976199_RigidBodies_LinearDampingObjectMotion(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4976199_RigidBodies_LinearDampingObjectMotion) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4976200_RigidBody_AngularDampingObjectRotation.py b/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976200_RigidBody_AngularDampingObjectRotation.py old mode 100755 new mode 100644 similarity index 99% rename from AutomatedTesting/Gem/PythonTests/physics/C4976200_RigidBody_AngularDampingObjectRotation.py rename to AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976200_RigidBody_AngularDampingObjectRotation.py index b889276554..77dfe4c483 --- a/AutomatedTesting/Gem/PythonTests/physics/C4976200_RigidBody_AngularDampingObjectRotation.py +++ b/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976200_RigidBody_AngularDampingObjectRotation.py @@ -61,9 +61,7 @@ def C4976200_RigidBody_AngularDampingObjectRotation(): import sys import math - import ImportPathHelper as imports - imports.init() from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -285,8 +283,5 @@ def C4976200_RigidBody_AngularDampingObjectRotation(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4976200_RigidBody_AngularDampingObjectRotation) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4976201_RigidBody_MassIsAssigned.py b/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976201_RigidBody_MassIsAssigned.py old mode 100755 new mode 100644 similarity index 99% rename from AutomatedTesting/Gem/PythonTests/physics/C4976201_RigidBody_MassIsAssigned.py rename to AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976201_RigidBody_MassIsAssigned.py index 17fd0827c1..54f589da1e --- a/AutomatedTesting/Gem/PythonTests/physics/C4976201_RigidBody_MassIsAssigned.py +++ b/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976201_RigidBody_MassIsAssigned.py @@ -101,11 +101,6 @@ def C4976201_RigidBody_MassIsAssigned(): import os import sys - - import ImportPathHelper as imports - - imports.init() - import azlmbr.legacy.general as general import azlmbr.bus import azlmbr @@ -373,8 +368,5 @@ def C4976201_RigidBody_MassIsAssigned(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4976201_RigidBody_MassIsAssigned) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4976202_RigidBody_StopsWhenBelowKineticThreshold.py b/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976202_RigidBody_StopsWhenBelowKineticThreshold.py old mode 100755 new mode 100644 similarity index 99% rename from AutomatedTesting/Gem/PythonTests/physics/C4976202_RigidBody_StopsWhenBelowKineticThreshold.py rename to AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976202_RigidBody_StopsWhenBelowKineticThreshold.py index 53415bf43a..655c33304d --- a/AutomatedTesting/Gem/PythonTests/physics/C4976202_RigidBody_StopsWhenBelowKineticThreshold.py +++ b/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976202_RigidBody_StopsWhenBelowKineticThreshold.py @@ -124,11 +124,6 @@ def C4976202_RigidBody_StopsWhenBelowKineticThreshold(): import os import sys - - import ImportPathHelper as imports - - imports.init() - import azlmbr.legacy.general as general import azlmbr.bus @@ -326,8 +321,5 @@ def C4976202_RigidBody_StopsWhenBelowKineticThreshold(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4976202_RigidBody_StopsWhenBelowKineticThreshold) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4976204_Verify_Start_Asleep_Condition.py b/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976204_Verify_Start_Asleep_Condition.py old mode 100755 new mode 100644 similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/C4976204_Verify_Start_Asleep_Condition.py rename to AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976204_Verify_Start_Asleep_Condition.py index 6c21912d11..ff3111aa55 --- a/AutomatedTesting/Gem/PythonTests/physics/C4976204_Verify_Start_Asleep_Condition.py +++ b/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976204_Verify_Start_Asleep_Condition.py @@ -62,11 +62,6 @@ def C4976204_Verify_Start_Asleep_Condition(): import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -112,8 +107,5 @@ def C4976204_Verify_Start_Asleep_Condition(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4976204_Verify_Start_Asleep_Condition) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4976206_RigidBodies_GravityEnabledActive.py b/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976206_RigidBodies_GravityEnabledActive.py old mode 100755 new mode 100644 similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/C4976206_RigidBodies_GravityEnabledActive.py rename to AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976206_RigidBodies_GravityEnabledActive.py index 96c62f26ea..e6b50eb2bf --- a/AutomatedTesting/Gem/PythonTests/physics/C4976206_RigidBodies_GravityEnabledActive.py +++ b/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976206_RigidBodies_GravityEnabledActive.py @@ -64,11 +64,6 @@ def C4976206_RigidBodies_GravityEnabledActive(): import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -145,8 +140,5 @@ def C4976206_RigidBodies_GravityEnabledActive(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4976206_RigidBodies_GravityEnabledActive) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4976207_PhysXRigidBodies_KinematicBehavior.py b/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976207_PhysXRigidBodies_KinematicBehavior.py old mode 100755 new mode 100644 similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/C4976207_PhysXRigidBodies_KinematicBehavior.py rename to AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976207_PhysXRigidBodies_KinematicBehavior.py index 81bed2bbde..65814bd438 --- a/AutomatedTesting/Gem/PythonTests/physics/C4976207_PhysXRigidBodies_KinematicBehavior.py +++ b/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976207_PhysXRigidBodies_KinematicBehavior.py @@ -59,11 +59,6 @@ def C4976207_PhysXRigidBodies_KinematicBehavior(): # Setup path import os import sys - import ImportPathHelper as imports - - imports.init() - - import azlmbr.legacy.general as general import azlmbr.bus from editor_python_test_tools.utils import Report @@ -132,8 +127,5 @@ def C4976207_PhysXRigidBodies_KinematicBehavior(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4976207_PhysXRigidBodies_KinematicBehavior) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4976209_RigidBody_ComputesCOM.py b/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976209_RigidBody_ComputesCOM.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C4976209_RigidBody_ComputesCOM.py rename to AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976209_RigidBody_ComputesCOM.py index f3f57b2b65..27d4ea1356 --- a/AutomatedTesting/Gem/PythonTests/physics/C4976209_RigidBody_ComputesCOM.py +++ b/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976209_RigidBody_ComputesCOM.py @@ -86,11 +86,6 @@ def C4976209_RigidBody_ComputesCOM(): # Setup path import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -173,8 +168,5 @@ def C4976209_RigidBody_ComputesCOM(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4976209_RigidBody_ComputesCOM) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4976210_COM_ManualSetting.py b/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976210_COM_ManualSetting.py old mode 100755 new mode 100644 similarity index 99% rename from AutomatedTesting/Gem/PythonTests/physics/C4976210_COM_ManualSetting.py rename to AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976210_COM_ManualSetting.py index 9373f20850..cbbefb5a0e --- a/AutomatedTesting/Gem/PythonTests/physics/C4976210_COM_ManualSetting.py +++ b/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976210_COM_ManualSetting.py @@ -69,9 +69,7 @@ def C4976210_COM_ManualSetting(): """ # internal editor imports - import ImportPathHelper as imports - imports.init() from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -298,8 +296,5 @@ def C4976210_COM_ManualSetting(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4976210_COM_ManualSetting) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C4976218_RigidBodies_InertiaObjectsNotComputed.py b/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976218_RigidBodies_InertiaObjectsNotComputed.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C4976218_RigidBodies_InertiaObjectsNotComputed.py rename to AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976218_RigidBodies_InertiaObjectsNotComputed.py index ef19a00042..eb87fd0c68 --- a/AutomatedTesting/Gem/PythonTests/physics/C4976218_RigidBodies_InertiaObjectsNotComputed.py +++ b/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C4976218_RigidBodies_InertiaObjectsNotComputed.py @@ -39,11 +39,6 @@ def C4976218_RigidBodies_InertiaObjectsNotComputed(): # Setup path import os import sys - - import ImportPathHelper as imports - - imports.init() - import azlmbr.legacy.general as general import azlmbr.bus as bus import azlmbr.components @@ -161,8 +156,5 @@ def C4976218_RigidBodies_InertiaObjectsNotComputed(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C4976218_RigidBodies_InertiaObjectsNotComputed) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C5340400_RigidBody_ManualMomentOfInertia.py b/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C5340400_RigidBody_ManualMomentOfInertia.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C5340400_RigidBody_ManualMomentOfInertia.py rename to AutomatedTesting/Gem/PythonTests/physics/rigid_body/C5340400_RigidBody_ManualMomentOfInertia.py index 7daf9d3dc8..92d3945391 --- a/AutomatedTesting/Gem/PythonTests/physics/C5340400_RigidBody_ManualMomentOfInertia.py +++ b/AutomatedTesting/Gem/PythonTests/physics/rigid_body/C5340400_RigidBody_ManualMomentOfInertia.py @@ -67,11 +67,6 @@ def C5340400_RigidBody_ManualMomentOfInertia(): # Setup path import os import sys - - import ImportPathHelper as imports - - imports.init() - import azlmbr.legacy.general as general import azlmbr.bus from editor_python_test_tools.utils import Report @@ -160,8 +155,5 @@ def C5340400_RigidBody_ManualMomentOfInertia(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C5340400_RigidBody_ManualMomentOfInertia) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C12712452_ScriptCanvas_CollisionEvents.py b/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C12712452_ScriptCanvas_CollisionEvents.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C12712452_ScriptCanvas_CollisionEvents.py rename to AutomatedTesting/Gem/PythonTests/physics/script_canvas/C12712452_ScriptCanvas_CollisionEvents.py index 3d3011ef26..6806d5acc8 --- a/AutomatedTesting/Gem/PythonTests/physics/C12712452_ScriptCanvas_CollisionEvents.py +++ b/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C12712452_ScriptCanvas_CollisionEvents.py @@ -67,11 +67,6 @@ def C12712452_ScriptCanvas_CollisionEvents(): # Setup path import os import sys - - import ImportPathHelper as imports - - imports.init() - import azlmbr.legacy.general as general import azlmbr.bus import azlmbr.components @@ -201,8 +196,5 @@ def C12712452_ScriptCanvas_CollisionEvents(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C12712452_ScriptCanvas_CollisionEvents) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C12712453_ScriptCanvas_MultipleRaycastNode.py b/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C12712453_ScriptCanvas_MultipleRaycastNode.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C12712453_ScriptCanvas_MultipleRaycastNode.py rename to AutomatedTesting/Gem/PythonTests/physics/script_canvas/C12712453_ScriptCanvas_MultipleRaycastNode.py index 2e4c0a3fe2..edbbde4c94 --- a/AutomatedTesting/Gem/PythonTests/physics/C12712453_ScriptCanvas_MultipleRaycastNode.py +++ b/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C12712453_ScriptCanvas_MultipleRaycastNode.py @@ -75,11 +75,6 @@ def C12712453_ScriptCanvas_MultipleRaycastNode(): import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -199,8 +194,5 @@ def C12712453_ScriptCanvas_MultipleRaycastNode(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C12712453_ScriptCanvas_MultipleRaycastNode) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C12712454_ScriptCanvas_OverlapNodeVerification.py b/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C12712454_ScriptCanvas_OverlapNodeVerification.py old mode 100755 new mode 100644 similarity index 99% rename from AutomatedTesting/Gem/PythonTests/physics/C12712454_ScriptCanvas_OverlapNodeVerification.py rename to AutomatedTesting/Gem/PythonTests/physics/script_canvas/C12712454_ScriptCanvas_OverlapNodeVerification.py index f741f0d019..5829e5850c --- a/AutomatedTesting/Gem/PythonTests/physics/C12712454_ScriptCanvas_OverlapNodeVerification.py +++ b/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C12712454_ScriptCanvas_OverlapNodeVerification.py @@ -97,11 +97,6 @@ def C12712454_ScriptCanvas_OverlapNodeVerification(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -320,8 +315,5 @@ def C12712454_ScriptCanvas_OverlapNodeVerification(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C12712454_ScriptCanvas_OverlapNodeVerification) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C12712455_ScriptCanvas_ShapeCastVerification.py b/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C12712455_ScriptCanvas_ShapeCastVerification.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C12712455_ScriptCanvas_ShapeCastVerification.py rename to AutomatedTesting/Gem/PythonTests/physics/script_canvas/C12712455_ScriptCanvas_ShapeCastVerification.py index 581c6033e9..8ce59d2b29 --- a/AutomatedTesting/Gem/PythonTests/physics/C12712455_ScriptCanvas_ShapeCastVerification.py +++ b/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C12712455_ScriptCanvas_ShapeCastVerification.py @@ -67,11 +67,6 @@ def C12712455_ScriptCanvas_ShapeCastVerification(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -137,8 +132,5 @@ def C12712455_ScriptCanvas_ShapeCastVerification(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C12712455_ScriptCanvas_ShapeCastVerification) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C14195074_ScriptCanvas_PostUpdateEvent.py b/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C14195074_ScriptCanvas_PostUpdateEvent.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C14195074_ScriptCanvas_PostUpdateEvent.py rename to AutomatedTesting/Gem/PythonTests/physics/script_canvas/C14195074_ScriptCanvas_PostUpdateEvent.py index 08adccfc60..2c833ba5f3 --- a/AutomatedTesting/Gem/PythonTests/physics/C14195074_ScriptCanvas_PostUpdateEvent.py +++ b/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C14195074_ScriptCanvas_PostUpdateEvent.py @@ -61,11 +61,6 @@ def C14195074_ScriptCanvas_PostUpdateEvent(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -182,8 +177,5 @@ def C14195074_ScriptCanvas_PostUpdateEvent(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C14195074_ScriptCanvas_PostUpdateEvent) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C14902097_ScriptCanvas_PreUpdateEvent.py b/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C14902097_ScriptCanvas_PreUpdateEvent.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C14902097_ScriptCanvas_PreUpdateEvent.py rename to AutomatedTesting/Gem/PythonTests/physics/script_canvas/C14902097_ScriptCanvas_PreUpdateEvent.py index 2a2ce3aaf6..4d48ce34a6 --- a/AutomatedTesting/Gem/PythonTests/physics/C14902097_ScriptCanvas_PreUpdateEvent.py +++ b/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C14902097_ScriptCanvas_PreUpdateEvent.py @@ -64,9 +64,7 @@ def C14902097_ScriptCanvas_PreUpdateEvent(): import os import sys - import ImportPathHelper as imports - imports.init() from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -189,8 +187,5 @@ def C14902097_ScriptCanvas_PreUpdateEvent(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C14902097_ScriptCanvas_PreUpdateEvent) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C14902098_ScriptCanvas_PostPhysicsUpdate.py b/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C14902098_ScriptCanvas_PostPhysicsUpdate.py old mode 100755 new mode 100644 similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/C14902098_ScriptCanvas_PostPhysicsUpdate.py rename to AutomatedTesting/Gem/PythonTests/physics/script_canvas/C14902098_ScriptCanvas_PostPhysicsUpdate.py index b977b9ae10..5cb0b1431e --- a/AutomatedTesting/Gem/PythonTests/physics/C14902098_ScriptCanvas_PostPhysicsUpdate.py +++ b/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C14902098_ScriptCanvas_PostPhysicsUpdate.py @@ -75,11 +75,6 @@ def C14902098_ScriptCanvas_PostPhysicsUpdate(): import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -110,8 +105,5 @@ def C14902098_ScriptCanvas_PostPhysicsUpdate(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C14902098_ScriptCanvas_PostPhysicsUpdate) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C14976308_ScriptCanvas_SetKinematicTargetTransform.py b/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C14976308_ScriptCanvas_SetKinematicTargetTransform.py old mode 100755 new mode 100644 similarity index 99% rename from AutomatedTesting/Gem/PythonTests/physics/C14976308_ScriptCanvas_SetKinematicTargetTransform.py rename to AutomatedTesting/Gem/PythonTests/physics/script_canvas/C14976308_ScriptCanvas_SetKinematicTargetTransform.py index 2827ba5f16..9e8331f369 --- a/AutomatedTesting/Gem/PythonTests/physics/C14976308_ScriptCanvas_SetKinematicTargetTransform.py +++ b/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C14976308_ScriptCanvas_SetKinematicTargetTransform.py @@ -91,11 +91,6 @@ def C14976308_ScriptCanvas_SetKinematicTargetTransform(): # Setup path import os import sys - - import ImportPathHelper as imports - - imports.init() - import azlmbr.legacy.general as general import azlmbr.bus import azlmbr.components @@ -220,8 +215,5 @@ def C14976308_ScriptCanvas_SetKinematicTargetTransform(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C14976308_ScriptCanvas_SetKinematicTargetTransform) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C6224408_ScriptCanvas_EntitySpawn.py b/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C6224408_ScriptCanvas_EntitySpawn.py old mode 100755 new mode 100644 similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/C6224408_ScriptCanvas_EntitySpawn.py rename to AutomatedTesting/Gem/PythonTests/physics/script_canvas/C6224408_ScriptCanvas_EntitySpawn.py index c458073799..12e4a25b4d --- a/AutomatedTesting/Gem/PythonTests/physics/C6224408_ScriptCanvas_EntitySpawn.py +++ b/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C6224408_ScriptCanvas_EntitySpawn.py @@ -60,11 +60,6 @@ def C6224408_ScriptCanvas_EntitySpawn(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -144,8 +139,5 @@ def C6224408_ScriptCanvas_EntitySpawn(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C6224408_ScriptCanvas_EntitySpawn) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C6274125_ScriptCanvas_TriggerEvents.py b/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C6274125_ScriptCanvas_TriggerEvents.py old mode 100755 new mode 100644 similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/C6274125_ScriptCanvas_TriggerEvents.py rename to AutomatedTesting/Gem/PythonTests/physics/script_canvas/C6274125_ScriptCanvas_TriggerEvents.py index 0e7ca0c8d3..5fc4261607 --- a/AutomatedTesting/Gem/PythonTests/physics/C6274125_ScriptCanvas_TriggerEvents.py +++ b/AutomatedTesting/Gem/PythonTests/physics/script_canvas/C6274125_ScriptCanvas_TriggerEvents.py @@ -66,11 +66,6 @@ def C6274125_ScriptCanvas_TriggerEvents(): import os import sys - - import ImportPathHelper as imports - - imports.init() - import azlmbr.legacy.general as general import azlmbr.bus @@ -128,8 +123,5 @@ def C6274125_ScriptCanvas_TriggerEvents(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C6274125_ScriptCanvas_TriggerEvents) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C13508019_Terrain_TerrainTexturePainterWorks.py b/AutomatedTesting/Gem/PythonTests/physics/terrain/C13508019_Terrain_TerrainTexturePainterWorks.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C13508019_Terrain_TerrainTexturePainterWorks.py rename to AutomatedTesting/Gem/PythonTests/physics/terrain/C13508019_Terrain_TerrainTexturePainterWorks.py index 87534ffd58..9822b933d1 --- a/AutomatedTesting/Gem/PythonTests/physics/C13508019_Terrain_TerrainTexturePainterWorks.py +++ b/AutomatedTesting/Gem/PythonTests/physics/terrain/C13508019_Terrain_TerrainTexturePainterWorks.py @@ -40,9 +40,7 @@ def C13508019_Terrain_TerrainTexturePainterWorks(): # Setup path import os, sys - import ImportPathHelper as imports - imports.init() from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -137,8 +135,5 @@ def C13508019_Terrain_TerrainTexturePainterWorks(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C13508019_Terrain_TerrainTexturePainterWorks) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C15308217_NoCrash_LevelSwitch.py b/AutomatedTesting/Gem/PythonTests/physics/terrain/C15308217_NoCrash_LevelSwitch.py old mode 100755 new mode 100644 similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/C15308217_NoCrash_LevelSwitch.py rename to AutomatedTesting/Gem/PythonTests/physics/terrain/C15308217_NoCrash_LevelSwitch.py index 0fc5c65db3..f3641b12bc --- a/AutomatedTesting/Gem/PythonTests/physics/C15308217_NoCrash_LevelSwitch.py +++ b/AutomatedTesting/Gem/PythonTests/physics/terrain/C15308217_NoCrash_LevelSwitch.py @@ -62,11 +62,6 @@ def C15308217_NoCrash_LevelSwitch(): import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -106,8 +101,5 @@ def C15308217_NoCrash_LevelSwitch(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C15308217_NoCrash_LevelSwitch) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C3510642_Terrain_NotCollideWithTerrain.py b/AutomatedTesting/Gem/PythonTests/physics/terrain/C3510642_Terrain_NotCollideWithTerrain.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C3510642_Terrain_NotCollideWithTerrain.py rename to AutomatedTesting/Gem/PythonTests/physics/terrain/C3510642_Terrain_NotCollideWithTerrain.py index c3e1ac018c..09522da31a --- a/AutomatedTesting/Gem/PythonTests/physics/C3510642_Terrain_NotCollideWithTerrain.py +++ b/AutomatedTesting/Gem/PythonTests/physics/terrain/C3510642_Terrain_NotCollideWithTerrain.py @@ -65,11 +65,6 @@ def C3510642_Terrain_NotCollideWithTerrain(): import os import sys - - import ImportPathHelper as imports - - imports.init() - import azlmbr.legacy.general as general import azlmbr.bus @@ -168,8 +163,5 @@ def C3510642_Terrain_NotCollideWithTerrain(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C3510642_Terrain_NotCollideWithTerrain) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C5689518_PhysXTerrain_CollidesWithPhysXTerrain.py b/AutomatedTesting/Gem/PythonTests/physics/terrain/C5689518_PhysXTerrain_CollidesWithPhysXTerrain.py old mode 100755 new mode 100644 similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/C5689518_PhysXTerrain_CollidesWithPhysXTerrain.py rename to AutomatedTesting/Gem/PythonTests/physics/terrain/C5689518_PhysXTerrain_CollidesWithPhysXTerrain.py index b586c0b096..a10cc72ed2 --- a/AutomatedTesting/Gem/PythonTests/physics/C5689518_PhysXTerrain_CollidesWithPhysXTerrain.py +++ b/AutomatedTesting/Gem/PythonTests/physics/terrain/C5689518_PhysXTerrain_CollidesWithPhysXTerrain.py @@ -47,11 +47,6 @@ def C5689518_PhysXTerrain_CollidesWithPhysXTerrain(): """ import os import sys - - import ImportPathHelper as imports - - imports.init() - import azlmbr.legacy.general as general import azlmbr.bus from editor_python_test_tools.utils import Report @@ -113,8 +108,5 @@ def C5689518_PhysXTerrain_CollidesWithPhysXTerrain(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C5689518_PhysXTerrain_CollidesWithPhysXTerrain) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash.py b/AutomatedTesting/Gem/PythonTests/physics/terrain/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash.py old mode 100755 new mode 100644 similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash.py rename to AutomatedTesting/Gem/PythonTests/physics/terrain/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash.py index 0c1d0d4d1c..8e42f9f77c --- a/AutomatedTesting/Gem/PythonTests/physics/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash.py +++ b/AutomatedTesting/Gem/PythonTests/physics/terrain/C5689522_Physxterrain_AddPhysxterrainNoEditorCrash.py @@ -58,11 +58,6 @@ def C5689522_Physxterrain_AddPhysxterrainNoEditorCrash(): import os import sys - - import ImportPathHelper as imports - - imports.init() - import azlmbr.legacy.general as general from editor_python_test_tools.utils import Report @@ -105,8 +100,5 @@ def C5689522_Physxterrain_AddPhysxterrainNoEditorCrash(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C5689522_Physxterrain_AddPhysxterrainNoEditorCrash) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C5689524_MultipleTerrains_CheckWarningInConsole.py b/AutomatedTesting/Gem/PythonTests/physics/terrain/C5689524_MultipleTerrains_CheckWarningInConsole.py old mode 100755 new mode 100644 similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/C5689524_MultipleTerrains_CheckWarningInConsole.py rename to AutomatedTesting/Gem/PythonTests/physics/terrain/C5689524_MultipleTerrains_CheckWarningInConsole.py index 04912dd401..ba74716544 --- a/AutomatedTesting/Gem/PythonTests/physics/C5689524_MultipleTerrains_CheckWarningInConsole.py +++ b/AutomatedTesting/Gem/PythonTests/physics/terrain/C5689524_MultipleTerrains_CheckWarningInConsole.py @@ -60,12 +60,6 @@ def C5689524_MultipleTerrains_CheckWarningInConsole(): import os import sys - - import ImportPathHelper as imports - - imports.init() - - import azlmbr.legacy.general as general from editor_python_test_tools.utils import Report @@ -107,8 +101,5 @@ def C5689524_MultipleTerrains_CheckWarningInConsole(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C5689524_MultipleTerrains_CheckWarningInConsole) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C5689528_Terrain_MultipleTerrainComponents.py b/AutomatedTesting/Gem/PythonTests/physics/terrain/C5689528_Terrain_MultipleTerrainComponents.py old mode 100755 new mode 100644 similarity index 96% rename from AutomatedTesting/Gem/PythonTests/physics/C5689528_Terrain_MultipleTerrainComponents.py rename to AutomatedTesting/Gem/PythonTests/physics/terrain/C5689528_Terrain_MultipleTerrainComponents.py index a5a8d65788..fb1fd01724 --- a/AutomatedTesting/Gem/PythonTests/physics/C5689528_Terrain_MultipleTerrainComponents.py +++ b/AutomatedTesting/Gem/PythonTests/physics/terrain/C5689528_Terrain_MultipleTerrainComponents.py @@ -60,11 +60,6 @@ def C5689528_Terrain_MultipleTerrainComponents(): import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper from editor_python_test_tools.utils import Tracer @@ -103,8 +98,5 @@ def C5689528_Terrain_MultipleTerrainComponents(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C5689528_Terrain_MultipleTerrainComponents) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C5689531_Warning_TerrainSliceTerrainComponent.py b/AutomatedTesting/Gem/PythonTests/physics/terrain/C5689531_Warning_TerrainSliceTerrainComponent.py old mode 100755 new mode 100644 similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/C5689531_Warning_TerrainSliceTerrainComponent.py rename to AutomatedTesting/Gem/PythonTests/physics/terrain/C5689531_Warning_TerrainSliceTerrainComponent.py index 2eaa55eacf..68ddaba5ed --- a/AutomatedTesting/Gem/PythonTests/physics/C5689531_Warning_TerrainSliceTerrainComponent.py +++ b/AutomatedTesting/Gem/PythonTests/physics/terrain/C5689531_Warning_TerrainSliceTerrainComponent.py @@ -65,11 +65,6 @@ def C5689531_Warning_TerrainSliceTerrainComponent(): import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper from editor_python_test_tools.utils import Tracer @@ -115,8 +110,5 @@ def C5689531_Warning_TerrainSliceTerrainComponent(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C5689531_Warning_TerrainSliceTerrainComponent) diff --git a/AutomatedTesting/Gem/PythonTests/physics/C6032082_Terrain_MultipleResolutionsValid.py b/AutomatedTesting/Gem/PythonTests/physics/terrain/C6032082_Terrain_MultipleResolutionsValid.py old mode 100755 new mode 100644 similarity index 98% rename from AutomatedTesting/Gem/PythonTests/physics/C6032082_Terrain_MultipleResolutionsValid.py rename to AutomatedTesting/Gem/PythonTests/physics/terrain/C6032082_Terrain_MultipleResolutionsValid.py index 6bb44323a2..66615e1937 --- a/AutomatedTesting/Gem/PythonTests/physics/C6032082_Terrain_MultipleResolutionsValid.py +++ b/AutomatedTesting/Gem/PythonTests/physics/terrain/C6032082_Terrain_MultipleResolutionsValid.py @@ -80,11 +80,6 @@ def C6032082_Terrain_MultipleResolutionsValid(): import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper @@ -209,8 +204,5 @@ def C6032082_Terrain_MultipleResolutionsValid(): if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() - from editor_python_test_tools.utils import Report Report.start_test(C6032082_Terrain_MultipleResolutionsValid) diff --git a/AutomatedTesting/Gem/PythonTests/physics/FileManagement.py b/AutomatedTesting/Gem/PythonTests/physics/utils/FileManagement.py old mode 100755 new mode 100644 similarity index 100% rename from AutomatedTesting/Gem/PythonTests/physics/FileManagement.py rename to AutomatedTesting/Gem/PythonTests/physics/utils/FileManagement.py diff --git a/AutomatedTesting/Gem/PythonTests/physics/UtilTest_Managed_Files.py b/AutomatedTesting/Gem/PythonTests/physics/utils/UtilTest_Managed_Files.py old mode 100755 new mode 100644 similarity index 89% rename from AutomatedTesting/Gem/PythonTests/physics/UtilTest_Managed_Files.py rename to AutomatedTesting/Gem/PythonTests/physics/utils/UtilTest_Managed_Files.py index 2e6e854c7d..49747da443 --- a/AutomatedTesting/Gem/PythonTests/physics/UtilTest_Managed_Files.py +++ b/AutomatedTesting/Gem/PythonTests/physics/utils/UtilTest_Managed_Files.py @@ -13,11 +13,6 @@ class Tests: def run(): import os import sys - - import ImportPathHelper as imports - - imports.init() - from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper diff --git a/AutomatedTesting/Gem/PythonTests/physics/UtilTest_Physmaterial_Editor.py b/AutomatedTesting/Gem/PythonTests/physics/utils/UtilTest_Physmaterial_Editor.py old mode 100755 new mode 100644 similarity index 99% rename from AutomatedTesting/Gem/PythonTests/physics/UtilTest_Physmaterial_Editor.py rename to AutomatedTesting/Gem/PythonTests/physics/utils/UtilTest_Physmaterial_Editor.py index ec870d12c4..27d670d1e8 --- a/AutomatedTesting/Gem/PythonTests/physics/UtilTest_Physmaterial_Editor.py +++ b/AutomatedTesting/Gem/PythonTests/physics/utils/UtilTest_Physmaterial_Editor.py @@ -50,9 +50,7 @@ def run(): """ import os import sys - import ImportPathHelper as imports - imports.init() from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper diff --git a/AutomatedTesting/Gem/PythonTests/physics/UtilTest_PhysxConfig_Default.py b/AutomatedTesting/Gem/PythonTests/physics/utils/UtilTest_PhysxConfig_Default.py old mode 100755 new mode 100644 similarity index 100% rename from AutomatedTesting/Gem/PythonTests/physics/UtilTest_PhysxConfig_Default.py rename to AutomatedTesting/Gem/PythonTests/physics/utils/UtilTest_PhysxConfig_Default.py diff --git a/AutomatedTesting/Gem/PythonTests/physics/UtilTest_PhysxConfig_Override.py b/AutomatedTesting/Gem/PythonTests/physics/utils/UtilTest_PhysxConfig_Override.py old mode 100755 new mode 100644 similarity index 100% rename from AutomatedTesting/Gem/PythonTests/physics/UtilTest_PhysxConfig_Override.py rename to AutomatedTesting/Gem/PythonTests/physics/utils/UtilTest_PhysxConfig_Override.py diff --git a/AutomatedTesting/Gem/PythonTests/physics/UtilTest_Tracer_PicksErrorsAndWarnings.py b/AutomatedTesting/Gem/PythonTests/physics/utils/UtilTest_Tracer_PicksErrorsAndWarnings.py old mode 100755 new mode 100644 similarity index 97% rename from AutomatedTesting/Gem/PythonTests/physics/UtilTest_Tracer_PicksErrorsAndWarnings.py rename to AutomatedTesting/Gem/PythonTests/physics/utils/UtilTest_Tracer_PicksErrorsAndWarnings.py index 92405498d2..136bcfc03d --- a/AutomatedTesting/Gem/PythonTests/physics/UtilTest_Tracer_PicksErrorsAndWarnings.py +++ b/AutomatedTesting/Gem/PythonTests/physics/utils/UtilTest_Tracer_PicksErrorsAndWarnings.py @@ -30,11 +30,6 @@ def run(): import os import sys - - import ImportPathHelper as imports - - imports.init() - import azlmbr.legacy.general as general from editor_python_test_tools.utils import Report From 79c98fe6a34bb2427430f048f0019d1f14450feb Mon Sep 17 00:00:00 2001 From: AMZN-Igarri <82394219+AMZN-Igarri@users.noreply.github.com> Date: Tue, 31 Aug 2021 14:29:17 +0200 Subject: [PATCH 25/66] [Fix] Editor Crash in Debug Mode (#3647) * Fixed Crash AssetBrowserTableView Signed-off-by: igarri * Fixed comments Signed-off-by: igarri * fixed lamda capture Signed-off-by: igarri * Capturing object in lambda Signed-off-by: igarri --- .../AssetBrowser/AssetBrowserTableModel.cpp | 78 ++++++++++++------- .../AssetBrowser/AssetBrowserTableModel.h | 10 ++- 2 files changed, 58 insertions(+), 30 deletions(-) diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/AssetBrowserTableModel.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/AssetBrowserTableModel.cpp index efa47e600d..d0999c5c56 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/AssetBrowserTableModel.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/AssetBrowserTableModel.cpp @@ -25,19 +25,47 @@ namespace AzToolsFramework AZ_Assert( m_filterModel, "Error in AssetBrowserTableModel initialization, class expects source model to be an AssetBrowserFilterModel."); + connect(sourceModel, &QAbstractItemModel::rowsInserted, this, &AssetBrowserTableModel::UpdateTableModelMaps); + connect(sourceModel, &QAbstractItemModel::rowsRemoved, this, &AssetBrowserTableModel::UpdateTableModelMaps); + connect(sourceModel, &QAbstractItemModel::modelAboutToBeReset, this, &AssetBrowserTableModel::beginResetModel); + connect( + sourceModel, &QAbstractItemModel::modelReset, this, + [this]() + { + { + QSignalBlocker sb(this); + UpdateTableModelMaps(); + } + endResetModel(); + }); + connect(sourceModel, &QAbstractItemModel::layoutChanged, this, &AssetBrowserTableModel::UpdateTableModelMaps); + connect(sourceModel, &QAbstractItemModel::dataChanged, this, &AssetBrowserTableModel::SourceDataChanged); + + QSortFilterProxyModel::setSourceModel(sourceModel); } QModelIndex AssetBrowserTableModel::mapToSource(const QModelIndex& proxyIndex) const { Q_ASSERT(!proxyIndex.isValid() || proxyIndex.model() == this); - if (!proxyIndex.isValid()) + if (!proxyIndex.isValid() || !m_indexMap.contains(proxyIndex.row())) { return QModelIndex(); } return m_indexMap[proxyIndex.row()]; } + QModelIndex AssetBrowserTableModel::mapFromSource(const QModelIndex& sourceIndex) const + { + Q_ASSERT(!sourceIndex.isValid() || sourceIndex.model() == sourceModel()); + if (!sourceIndex.isValid() || !m_rowMap.contains(sourceIndex)) + { + return QModelIndex(); + } + + return createIndex(m_rowMap[sourceIndex], sourceIndex.column()); + } + QVariant AssetBrowserTableModel::headerData(int section, Qt::Orientation orientation, int role) const { if (role == Qt::DisplayRole && orientation == Qt::Horizontal) @@ -49,20 +77,8 @@ namespace AzToolsFramework QVariant AssetBrowserTableModel::data(const QModelIndex& index, int role) const { - auto sourceIndex = mapToSource(index); - if (!sourceIndex.isValid()) - { - return QVariant(); - } - - AssetBrowserEntry* entry = GetAssetEntry(sourceIndex); - if (entry == nullptr) - { - AZ_Assert(false, "AssetBrowserTableModel - QModelIndex does not reference an AssetEntry. Source model is not valid."); - return QVariant(); - } - - return sourceIndex.data(role); + Q_ASSERT(index.isValid() && index.model() == this); + return sourceModel()->data(mapToSource(index), role); } QModelIndex AssetBrowserTableModel::parent([[maybe_unused]] const QModelIndex& child) const @@ -76,14 +92,28 @@ namespace AzToolsFramework return QModelIndex(); } + void AssetBrowserTableModel::SourceDataChanged(const QModelIndex& topLeft, const QModelIndex& bottomRight) + { + for (int row = topLeft.row(); row <= bottomRight.row(); ++row) + { + if (!m_indexMap.contains(row)) + { + UpdateTableModelMaps(); + return; + } + } + } + QModelIndex AssetBrowserTableModel::index(int row, int column, const QModelIndex& parent) const { + Q_ASSERT(!parent.isValid()); + return parent.isValid() ? QModelIndex() : createIndex(row, column, m_indexMap[row].internalPointer()); } int AssetBrowserTableModel::rowCount(const QModelIndex& parent) const { - return !parent.isValid() ? m_indexMap.size() : 0; + return !parent.isValid() ? m_indexMap.size() : sourceModel()->rowCount(parent); } int AssetBrowserTableModel::BuildTableModelMap( @@ -103,13 +133,11 @@ namespace AzToolsFramework QModelIndex index = model->index(currentRow, 0, parent); AssetBrowserEntry* entry = GetAssetEntry(m_filterModel->mapToSource(index)); // We only want to see the source assets. - if (entry->GetEntryType() == AssetBrowserEntry::AssetEntryType::Source) + if (entry->GetEntryType() == AssetBrowserEntry::AssetEntryType::Source || + entry->GetEntryType() == AssetBrowserEntry::AssetEntryType::Product) { - beginInsertRows(parent, row, row); m_indexMap[row] = index; - endInsertRows(); - - Q_EMIT dataChanged(index, index); + m_rowMap[index] = row; ++row; ++m_displayedItemsCounter; } @@ -143,12 +171,8 @@ namespace AzToolsFramework void AssetBrowserTableModel::UpdateTableModelMaps() { emit layoutAboutToBeChanged(); - if (!m_indexMap.isEmpty()) - { - beginRemoveRows(m_indexMap.first(), m_indexMap.first().row(), m_indexMap.last().row()); - m_indexMap.clear(); - endRemoveRows(); - } + m_indexMap.clear(); + m_rowMap.clear(); AzToolsFramework::EditorSettingsAPIBus::BroadcastResult( m_numberOfItemsDisplayed, &AzToolsFramework::EditorSettingsAPIBus::Handler::GetMaxNumberOfItemsShownInSearchView); diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/AssetBrowserTableModel.h b/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/AssetBrowserTableModel.h index d80e2bd093..04559fbfbc 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/AssetBrowserTableModel.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/AssetBrowserTableModel.h @@ -30,12 +30,11 @@ namespace AzToolsFramework AZ_CLASS_ALLOCATOR(AssetBrowserTableModel, AZ::SystemAllocator, 0); explicit AssetBrowserTableModel(QObject* parent = nullptr); - void UpdateTableModelMaps(); - //////////////////////////////////////////////////////////////////// // QSortFilterProxyModel void setSourceModel(QAbstractItemModel* sourceModel) override; QModelIndex mapToSource(const QModelIndex& proxyIndex) const override; + QModelIndex mapFromSource(const QModelIndex &sourceIndex) const override; QModelIndex index(int row, int column, const QModelIndex& parent = QModelIndex()) const override; QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override; QModelIndex parent(const QModelIndex& child) const override; @@ -45,16 +44,21 @@ namespace AzToolsFramework int rowCount(const QModelIndex& parent = QModelIndex()) const override; QVariant headerData(int section, Qt::Orientation orientation, int role /* = Qt::DisplayRole */) const override; //////////////////////////////////////////////////////////////////// - private: AssetBrowserEntry* GetAssetEntry(QModelIndex index) const; int BuildTableModelMap(const QAbstractItemModel* model, const QModelIndex& parent = QModelIndex(), int row = 0); + public slots: + void UpdateTableModelMaps(); + + private slots: + void SourceDataChanged(const QModelIndex& topLeft, const QModelIndex& bottomRight); private: int m_numberOfItemsDisplayed = 50; int m_displayedItemsCounter = 0; QPointer m_filterModel; QMap m_indexMap; + QMap m_rowMap; }; } // namespace AssetBrowser } // namespace AzToolsFramework From fe6238bbb80babc3dbd827b55407d1e64c421175 Mon Sep 17 00:00:00 2001 From: moraaar Date: Tue, 31 Aug 2021 14:55:58 +0100 Subject: [PATCH 26/66] Update Blast gem to use newer version of Blast 3p package, which fixes Blast gem on monolithic builds. (#3754) Signed-off-by: moraaar --- Gems/Blast/Code/Platform/Windows/PAL_windows.cmake | 2 ++ cmake/3rdParty/Platform/Windows/BuiltInPackages_windows.cmake | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Gems/Blast/Code/Platform/Windows/PAL_windows.cmake b/Gems/Blast/Code/Platform/Windows/PAL_windows.cmake index bf05e5c7eb..cab1497a7c 100644 --- a/Gems/Blast/Code/Platform/Windows/PAL_windows.cmake +++ b/Gems/Blast/Code/Platform/Windows/PAL_windows.cmake @@ -7,3 +7,5 @@ # set(PAL_TRAIT_BLAST_SUPPORTED TRUE) + +ly_associate_package(PACKAGE_NAME Blast-v1.1.7_rc2-9-geb169fe-rev2-windows TARGETS Blast PACKAGE_HASH ac3ab4c778194f9e8413b95b87116032a336f58d55f489e941c8932609f892ff) \ No newline at end of file diff --git a/cmake/3rdParty/Platform/Windows/BuiltInPackages_windows.cmake b/cmake/3rdParty/Platform/Windows/BuiltInPackages_windows.cmake index 2655b7247f..10b56f90d9 100644 --- a/cmake/3rdParty/Platform/Windows/BuiltInPackages_windows.cmake +++ b/cmake/3rdParty/Platform/Windows/BuiltInPackages_windows.cmake @@ -27,7 +27,6 @@ ly_associate_package(PACKAGE_NAME PVRTexTool-4.24.0-rev4-multiplatform # platform-specific: ly_associate_package(PACKAGE_NAME AWSGameLiftServerSDK-3.4.1-rev1-windows TARGETS AWSGameLiftServerSDK PACKAGE_HASH a0586b006e4def65cc25f388de17dc475e417dc1e6f9d96749777c88aa8271b0) -ly_associate_package(PACKAGE_NAME Blast-v1.1.7_rc2-9-geb169fe-rev1-windows TARGETS Blast PACKAGE_HASH 216df71f4ffaf4a6ea3f2e77e5f27d68f2325e717fbd1626b00c785b82cd1b67) ly_associate_package(PACKAGE_NAME DirectXShaderCompilerDxc-1.6.2104-o3de-rev3-windows TARGETS DirectXShaderCompilerDxc PACKAGE_HASH 803e10b94006b834cbbdd30f562a8ddf04174c2cb6956c8399ec164ef8418d1f) ly_associate_package(PACKAGE_NAME SPIRVCross-2021.04.29-rev1-windows TARGETS SPIRVCross PACKAGE_HASH 7d601ea9d625b1d509d38bd132a1f433d7e895b16adab76bac6103567a7a6817) ly_associate_package(PACKAGE_NAME freetype-2.10.4.14-windows TARGETS freetype PACKAGE_HASH 88dedc86ccb8c92f14c2c033e51ee7d828fa08eafd6475c6aa963938a99f4bf3) From fe2bf07c55b5f1af182016e990fc7205add03d7a Mon Sep 17 00:00:00 2001 From: moraaar Date: Tue, 31 Aug 2021 14:56:37 +0100 Subject: [PATCH 27/66] Fixed blast asset reflection, which was generating a wrong Id for the Asset class type due to 'const' (#3756) Signed-off-by: moraaar --- Gems/Blast/Code/Source/Components/BlastFamilyComponent.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gems/Blast/Code/Source/Components/BlastFamilyComponent.h b/Gems/Blast/Code/Source/Components/BlastFamilyComponent.h index c27a738b05..99957d0fce 100644 --- a/Gems/Blast/Code/Source/Components/BlastFamilyComponent.h +++ b/Gems/Blast/Code/Source/Components/BlastFamilyComponent.h @@ -107,7 +107,7 @@ namespace Blast BlastMeshData* m_meshDataComponent = nullptr; // Configurations - const AZ::Data::Asset m_blastAsset; + AZ::Data::Asset m_blastAsset; const BlastMaterialId m_materialId{}; Physics::MaterialId m_physicsMaterialId; const BlastActorConfiguration m_actorConfiguration{}; From 0d728a76778cb0ca88caa5c07f17162fac668b2a Mon Sep 17 00:00:00 2001 From: sharmajs-amzn <82233357+sharmajs-amzn@users.noreply.github.com> Date: Tue, 31 Aug 2021 07:22:09 -0700 Subject: [PATCH 28/66] Added new index on SourceDependency Table (#3648) Signed-off-by: sharmajs-amzn <82233357+sharmajs-amzn@users.noreply.github.com> --- .../AssetDatabase/AssetDatabaseConnection.h | 1 + .../native/AssetDatabase/AssetDatabase.cpp | 23 +++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/AssetDatabase/AssetDatabaseConnection.h b/Code/Framework/AzToolsFramework/AzToolsFramework/AssetDatabase/AssetDatabaseConnection.h index a59dbfbda4..d9c83107e3 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/AssetDatabase/AssetDatabaseConnection.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/AssetDatabase/AssetDatabaseConnection.h @@ -65,6 +65,7 @@ namespace AzToolsFramework AddedScanTimeSecondsSinceEpochField = 29, ChangedSortFunctionFromQSortToStdStableSort = 30, RemoveOutputPrefixFromScanFolders, + AddedSourceIndexForSourceDependencyTable, //Add all new versions before this DatabaseVersionCount, LatestVersion = DatabaseVersionCount - 1 diff --git a/Code/Tools/AssetProcessor/native/AssetDatabase/AssetDatabase.cpp b/Code/Tools/AssetProcessor/native/AssetDatabase/AssetDatabase.cpp index 4d2053c6d1..9be991eb0b 100644 --- a/Code/Tools/AssetProcessor/native/AssetDatabase/AssetDatabase.cpp +++ b/Code/Tools/AssetProcessor/native/AssetDatabase/AssetDatabase.cpp @@ -758,6 +758,14 @@ namespace AssetProcessor "FileID = :fileid;"; static const auto s_DeleteFileQuery = MakeSqlQuery(DELETE_FILE, DELETE_FILE_STATEMENT, LOG_NAME, SqlParam(":fileid")); + + static const char* CREATEINDEX_SOURCEDEPENDENCY_SOURCE = "AssetProcesser::CreateIndexSourceSourceDependency"; + static const char* CREATEINDEX_SOURCEDEPENDENCY_SOURCE_STATEMENT = + "CREATE INDEX IF NOT EXISTS Source_SourceDependency ON SourceDependency (Source);"; + + static const char* DROPINDEX_BUILDERGUID_SOURCE_SOURCEDEPENDENCY = "AssetProcesser::DropIndexBuilderGuid_Source_SourceDependency"; + static const char* DROPINDEX_BUILDERGUID_SOURCE_SOURCEDEPENDENCY_STATEMENT = + "DROP INDEX IF EXISTS BuilderGuid_Source_SourceDependency;"; } AssetDatabaseConnection::AssetDatabaseConnection() @@ -1033,6 +1041,15 @@ namespace AssetProcessor // sqlite doesn't not support altering a table to remove a column // This is fine as the extra OutputPrefix column will not be queried + if (foundVersion == AssetDatabase::DatabaseVersion::RemoveOutputPrefixFromScanFolders) + { + if (m_databaseConnection->ExecuteOneOffStatement(DROPINDEX_BUILDERGUID_SOURCE_SOURCEDEPENDENCY) && m_databaseConnection->ExecuteOneOffStatement(CREATEINDEX_SOURCEDEPENDENCY_SOURCE)) + { + foundVersion = AssetDatabase::DatabaseVersion::AddedSourceIndexForSourceDependencyTable; + AZ_TracePrintf(AssetProcessor::ConsoleChannel, "Upgraded Asset Database to version %i (AddedSourceIndexForSourceDependencyTable)\n", foundVersion) + } + } + if (foundVersion == CurrentDatabaseVersion()) { dropAllTables = false; @@ -1306,6 +1323,12 @@ namespace AssetProcessor m_databaseConnection->AddStatement(CREATEINDEX_SCANFOLDERS_FILES, CREATEINDEX_SCANFOLDERS_FILES_STATEMENT); m_createStatements.push_back(CREATEINDEX_SCANFOLDERS_FILES); + m_databaseConnection->AddStatement(CREATEINDEX_SOURCEDEPENDENCY_SOURCE, CREATEINDEX_SOURCEDEPENDENCY_SOURCE_STATEMENT); + m_createStatements.push_back(CREATEINDEX_SOURCEDEPENDENCY_SOURCE); + + m_databaseConnection->AddStatement(DROPINDEX_BUILDERGUID_SOURCE_SOURCEDEPENDENCY, DROPINDEX_BUILDERGUID_SOURCE_SOURCEDEPENDENCY_STATEMENT); + m_createStatements.push_back(DROPINDEX_BUILDERGUID_SOURCE_SOURCEDEPENDENCY); + m_databaseConnection->AddStatement(DELETE_AUTO_SUCCEED_JOBS, DELETE_AUTO_SUCCEED_JOBS_STATEMENT); } From 8656a2c1073c095cfbafc79fc9e541b2ed65b66b Mon Sep 17 00:00:00 2001 From: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com> Date: Tue, 31 Aug 2021 09:36:18 -0700 Subject: [PATCH 29/66] PR comments Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com> --- .../ImageProcessingAtom/Code/Source/Converters/FIR-Weights.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gems/Atom/Asset/ImageProcessingAtom/Code/Source/Converters/FIR-Weights.cpp b/Gems/Atom/Asset/ImageProcessingAtom/Code/Source/Converters/FIR-Weights.cpp index 9e1fa7339b..46bac7c595 100644 --- a/Gems/Atom/Asset/ImageProcessingAtom/Code/Source/Converters/FIR-Weights.cpp +++ b/Gems/Atom/Asset/ImageProcessingAtom/Code/Source/Converters/FIR-Weights.cpp @@ -297,7 +297,7 @@ namespace ImageProcessingAtom if (trimZeros) { /* set i0 and i1 to the nonzero support of the filter */ - i1 = i1 = lastnonzero + 1; + i0 = i1 = lastnonzero + 1; } if (sumiWeights != WEIGHTONE) From 6e3b03dfaa89bab530013c7599d504f1145d7e21 Mon Sep 17 00:00:00 2001 From: Mike Chang <62353586+amzn-changml@users.noreply.github.com> Date: Tue, 31 Aug 2021 09:47:57 -0700 Subject: [PATCH 30/66] Install and configure Ubuntu nodes with Nvidia drivers and NiceDCV (#3728) These scripts will configure build and test Ubuntu 18/20 nodes with: Nvidia gaming drivers for GPU instances (g4dn) lightdm for Ubuntu 18 and gdm3 for Ubuntu 20 (wayland is disabled here, but should have xcb capabilities) NiceDCV for remote console access Note: Does not include user setup and firewall configurations Signed-off-by: Mike Chang --- .../Platform/Linux/install-ubuntu-gpu.sh | 94 +++++++++++++++++++ .../Platform/Linux/install-ubuntu-nicedcv.sh | 78 +++++++++++++++ 2 files changed, 172 insertions(+) create mode 100755 scripts/build/build_node/Platform/Linux/install-ubuntu-gpu.sh create mode 100755 scripts/build/build_node/Platform/Linux/install-ubuntu-nicedcv.sh diff --git a/scripts/build/build_node/Platform/Linux/install-ubuntu-gpu.sh b/scripts/build/build_node/Platform/Linux/install-ubuntu-gpu.sh new file mode 100755 index 0000000000..033d32369c --- /dev/null +++ b/scripts/build/build_node/Platform/Linux/install-ubuntu-gpu.sh @@ -0,0 +1,94 @@ +#!/bin/bash + +# Copyright (c) Contributors to the Open 3D Engine Project. +# For complete copyright and license terms please see the LICENSE at the root of this distribution. +# +# SPDX-License-Identifier: Apache-2.0 OR MIT +# + +# This script must be run as root +if [[ $EUID -ne 0 ]] +then + echo "This script must be run as root (sudo)" + exit 1 +fi + +# Install latest updates to AWS drivers and GCC (to build display driver) +# +echo Updating OS and tools +apt-get update -y +apt-get upgrade -y linux-aws +apt-get install -y gcc make linux-headers-$(uname -r) + +# Install Desktop environment with tools. Nice is only compatible with Gnome +# +echo Installing desktop environment and tools +apt-get install ubuntu-desktop mesa-utils vulkan-tools awscli unzip -y + +# Setup X desktop manager (Wayland needs to be turned off for GDM3) +# +if [ "`cat /etc/issue | grep 18.04`" != "" ] ; then + apt-get install lightdm -y +else + apt-get install gdm3 -y + sed -i 's/#WaylandEnable=false/WaylandEnable=false/g' /etc/gdm3/custom.conf + systemctl restart gdm3 +fi + +# Set desktop environment to start by default +# +systemctl get-default +systemctl set-default graphical.target +systemctl isolate graphical.target + +# Prepare for the nVidia driver by disabling nouveau +# +cat << EOF | sudo tee --append /etc/modprobe.d/blacklist.conf +blacklist vga16fb +blacklist nouveau +blacklist rivafb +blacklist nvidiafb +blacklist rivatv +EOF + +# Blocking nouveau from activating during grub startup +# +echo 'GRUB_CMDLINE_LINUX="rdblacklist=nouveau"' >> /etc/default/grub +update-grub + +# Copy drivers to local, then install +# +aws s3 cp --recursive s3://nvidia-gaming/linux/latest/ /tmp +cd /tmp +unzip NVIDIA-Linux-x86_64* \ +&& rm NVIDIA-Linux-x86_64* \ +&& chmod +x Linux/NVIDIA-Linux-x86_64*.run \ +&& Linux/NVIDIA-Linux-x86_64*.run --accept-license \ + --no-questions \ + --no-backup \ + --ui=none \ + --install-libglvnd \ +&& nvidia-xconfig --preserve-busid --enable-all-gpus \ +&& rm -rf /tmp/Linux + +# Download and configure licenses (needed for VMs and multiuser) +# +cat << EOF | sudo tee -a /etc/nvidia/gridd.conf +vGamingMarketplace=2 +EOF +curl -o /etc/nvidia/GridSwCert.txt "https://nvidia-gaming.s3.amazonaws.com/GridSwCert-Archive/GridSwCertLinux_2021_10_2.cert" + +# Optimize settings if headless +# +if [ ! $DISPLAY ] ; then + echo Headless instance found. Disabling HardDPMS + if [ ! $(grep '"HardDPMS" "false"' /etc/X11/xorg.conf) ]; then + sed -i '/BusID */ a\ + Option "HardDPMS" "false"' /etc/X11/xorg.conf + fi +fi + +echo Install complete! +read -t 10 -p "Rebooting in 10 seconds. Press enter to reboot this instance now or CTRL+c to cancel" +reboot now + diff --git a/scripts/build/build_node/Platform/Linux/install-ubuntu-nicedcv.sh b/scripts/build/build_node/Platform/Linux/install-ubuntu-nicedcv.sh new file mode 100755 index 0000000000..d566c94c21 --- /dev/null +++ b/scripts/build/build_node/Platform/Linux/install-ubuntu-nicedcv.sh @@ -0,0 +1,78 @@ +#!/bin/bash + +# Copyright (c) Contributors to the Open 3D Engine Project. +# For complete copyright and license terms please see the LICENSE at the root of this distribution. +# +# SPDX-License-Identifier: Apache-2.0 OR MIT +# + +# This script must be run as root +if [[ $EUID -ne 0 ]] +then + echo "This script must be run as root (sudo)" + exit 1 +fi + +# Download Nice DCV +# +echo Downloading Nice-DCV +mkdir /tmp/nice-dcv +cd /tmp/nice-dcv +curl -sSL https://d1uj6qtbmh3dt5.cloudfront.net/NICE-GPG-KEY | gpg --import - + +if [ "`cat /etc/issue | grep 18.04`" != "" ] ; then + dcv_server=`curl --silent --output - https://download.nice-dcv.com/ | \ +grep href | egrep "$dcv_version" | egrep "ubuntu1804" | grep Server | \ +sed -e 's/.*http/http/' -e 's/tgz.*/tgz/' | head -1` +else + dcv_server=`curl --silent --output - https://download.nice-dcv.com/ | \ +grep href | egrep "$dcv_version" | egrep "ubuntu2004" | grep Server | \ +sed -e 's/.*http/http/' -e 's/tgz.*/tgz/' | head -1` +fi + +# Install Nice DCV +# +echo Installing DCV from $dcv_server +wget $dcv_server \ +&& tar zxvf nice-dcv-*ubun*.tgz +cd nice-dcv-*64 +apt install -y ./nice-*amd64.ubuntu*.deb \ +&& usermod -aG video dcv \ +&& rm -rf /tmp/nice-dcv + +# Setup multiuser environment for DCV +# +systemctl isolate multi-user.target +sleep 1 +dcvgladmin enable +systemctl isolate graphical.target + +# Check if DCV localuser for X has been setup correctly +# +if [ $(DISPLAY=:0 XAUTHORITY=$(ps aux | grep "X.*\-auth" | grep -v grep | sed -n 's/.*-auth \([^ ]\+\).*/\1/p') xhost | grep "SI:localuser:dcv$") ]; then + echo DCV localuser validated +else + echo [ERROR] DCV localuser not found. Output should be: SI:localuser:dcv. Exiting with 1 + exit 1 +fi + +# Configure DCV for auto start sessions and performance +# +sed -i "s/#create-session = true/create-session = true/g" /etc/dcv/dcv.conf +sed -i "s/#owner=\"session-owner\"/owner=\"$LOGNAME\"/g" /etc/dcv/dcv.conf +sed -i "s/#target-fps=30/target-fps=0/g" /etc/dcv/dcv.conf + +# Enable and start the DCV server +# +systemctl enable dcvserver +systemctl start dcvserver + +# Output the DCV installation diagnostics +# +dcvgldiag + +# Start a DCV session to login +# +IP_ADDR=$(curl http://checkip.amazonaws.com) +echo Starting DCV desktop session for $LOGNAME. Session can be accessed at https://$IP_ADDR:8443 +dcv create-session --type=console --owner $LOGNAME desktop From 7248029e6753ec2b49d165e0bc2acb76ac0050af Mon Sep 17 00:00:00 2001 From: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com> Date: Tue, 31 Aug 2021 10:07:05 -0700 Subject: [PATCH 31/66] Android fixes Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com> --- Code/Framework/AzCore/Tests/AZStd/Any.cpp | 4 ++++ Code/Framework/AzCore/Tests/AZStd/FunctorsBind.cpp | 4 ++++ Code/Framework/AzCore/Tests/AZStd/SmartPtr.cpp | 6 ++++++ .../Code/Include/Platform/Android/Atom_RHI_Vulkan_Android.h | 2 +- 4 files changed, 15 insertions(+), 1 deletion(-) diff --git a/Code/Framework/AzCore/Tests/AZStd/Any.cpp b/Code/Framework/AzCore/Tests/AZStd/Any.cpp index 4040573462..d6e31ea07b 100644 --- a/Code/Framework/AzCore/Tests/AZStd/Any.cpp +++ b/Code/Framework/AzCore/Tests/AZStd/Any.cpp @@ -480,7 +480,9 @@ namespace UnitTest TEST_F(AnyTest, Any_CopyAssignSelfEmpty_IsEmpty) { any a; + AZ_PUSH_DISABLE_WARNING(, "-Wself-assign-overloaded") a = a; + AZ_POP_DISABLE_WARNING EXPECT_TRUE(a.empty()); } @@ -491,7 +493,9 @@ namespace UnitTest any a((TypeParam(1))); EXPECT_EQ(TypeParam::s_count, 1); + AZ_PUSH_DISABLE_WARNING(, "-Wself-assign-overloaded") a = a; + AZ_POP_DISABLE_WARNING EXPECT_EQ(TypeParam::s_count, 1); EXPECT_EQ(any_cast(a).val(), 1); diff --git a/Code/Framework/AzCore/Tests/AZStd/FunctorsBind.cpp b/Code/Framework/AzCore/Tests/AZStd/FunctorsBind.cpp index 58ab71096b..6bfda10ddc 100644 --- a/Code/Framework/AzCore/Tests/AZStd/FunctorsBind.cpp +++ b/Code/Framework/AzCore/Tests/AZStd/FunctorsBind.cpp @@ -285,7 +285,9 @@ namespace UnitTest // Invocation and self-assignment global_int = 0; + AZ_PUSH_DISABLE_WARNING(, "-Wself-assign-overloaded") v1 = v1; + AZ_POP_DISABLE_WARNING v1(); AZ_TEST_ASSERT(global_int == 3); @@ -294,7 +296,9 @@ namespace UnitTest // Invocation and self-assignment global_int = 0; + AZ_PUSH_DISABLE_WARNING(, "-Wself-assign-overloaded") v1 = (v1); + AZ_POP_DISABLE_WARNING v1(); AZ_TEST_ASSERT(global_int == 5); diff --git a/Code/Framework/AzCore/Tests/AZStd/SmartPtr.cpp b/Code/Framework/AzCore/Tests/AZStd/SmartPtr.cpp index c852fd35bb..f50da28b1f 100644 --- a/Code/Framework/AzCore/Tests/AZStd/SmartPtr.cpp +++ b/Code/Framework/AzCore/Tests/AZStd/SmartPtr.cpp @@ -920,7 +920,9 @@ namespace UnitTest AZStd::shared_ptr p1; + AZ_PUSH_DISABLE_WARNING(, "-Wself-assign-overloaded") p1 = p1; + AZ_POP_DISABLE_WARNING EXPECT_EQ(p1, p1); EXPECT_FALSE(p1); @@ -950,7 +952,9 @@ namespace UnitTest { AZStd::shared_ptr p1; + AZ_PUSH_DISABLE_WARNING(, "-Wself-assign-overloaded") p1 = p1; + AZ_POP_DISABLE_WARNING EXPECT_EQ(p1, p1); EXPECT_FALSE(p1); @@ -996,7 +1000,9 @@ namespace UnitTest using X = SharedPtr::test::X; AZStd::shared_ptr p1; + AZ_PUSH_DISABLE_WARNING(, "-Wself-assign-overloaded") p1 = p1; + AZ_POP_DISABLE_WARNING EXPECT_EQ(p1, p1); EXPECT_FALSE(p1); diff --git a/Gems/Atom/RHI/Vulkan/Code/Include/Platform/Android/Atom_RHI_Vulkan_Android.h b/Gems/Atom/RHI/Vulkan/Code/Include/Platform/Android/Atom_RHI_Vulkan_Android.h index 9289423b37..b8e83ab8a3 100644 --- a/Gems/Atom/RHI/Vulkan/Code/Include/Platform/Android/Atom_RHI_Vulkan_Android.h +++ b/Gems/Atom/RHI/Vulkan/Code/Include/Platform/Android/Atom_RHI_Vulkan_Android.h @@ -8,7 +8,7 @@ #pragma once #include -#include +#include #include #include #include From dd3bdcd3f4088afdaec060678c1f8258735945ee Mon Sep 17 00:00:00 2001 From: Nicholas Van Sickle Date: Tue, 31 Aug 2021 11:08:11 -0700 Subject: [PATCH 32/66] Fix some Qt warnings (#3731) -Fix a missing QPainter::restore call -Remove 0px font sizes from our qss, which was just getting ignored by Qt and triggering a warning Signed-off-by: nvsickle --- .../ComponentEntityEditorPlugin/UI/Outliner/EntityOutliner.qss | 2 -- Code/Editor/Style/NewEditorStylesheet.qss | 1 - .../AzToolsFramework/UI/Outliner/EntityOutliner.qss | 2 -- .../AzToolsFramework/UI/Prefab/LevelRootUiHandler.cpp | 1 + 4 files changed, 1 insertion(+), 5 deletions(-) diff --git a/Code/Editor/Plugins/ComponentEntityEditorPlugin/UI/Outliner/EntityOutliner.qss b/Code/Editor/Plugins/ComponentEntityEditorPlugin/UI/Outliner/EntityOutliner.qss index 1b6f04d06d..de35f91678 100644 --- a/Code/Editor/Plugins/ComponentEntityEditorPlugin/UI/Outliner/EntityOutliner.qss +++ b/Code/Editor/Plugins/ComponentEntityEditorPlugin/UI/Outliner/EntityOutliner.qss @@ -48,7 +48,6 @@ OutlinerCheckBox spacing: 0px; padding: 0px; line-height: 0px; - font-size: 0px; margin: 0px; background-color: none; max-height: 20px; @@ -66,7 +65,6 @@ OutlinerCheckBox::indicator spacing: 0px; padding: 0px; line-height: 0px; - font-size: 0px; margin: 0; } diff --git a/Code/Editor/Style/NewEditorStylesheet.qss b/Code/Editor/Style/NewEditorStylesheet.qss index d92ec33357..1de8634b4c 100644 --- a/Code/Editor/Style/NewEditorStylesheet.qss +++ b/Code/Editor/Style/NewEditorStylesheet.qss @@ -2505,7 +2505,6 @@ OutlinerCheckBox spacing: 0px; padding: 0px; line-height: 0px; - font-size: 0px; margin: 2px 2px 0 2px; background-color: none; max-height: 20px; diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Outliner/EntityOutliner.qss b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Outliner/EntityOutliner.qss index 8e569eb134..15ff8b1b67 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Outliner/EntityOutliner.qss +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Outliner/EntityOutliner.qss @@ -43,7 +43,6 @@ AzToolsFramework--EntityOutlinerCheckBox padding: 0; padding-right: 2px; line-height: 0px; - font-size: 0px; margin: 0px; max-height: 20px; max-width: 18px; @@ -59,7 +58,6 @@ AzToolsFramework--EntityOutlinerCheckBox::indicator spacing: 0px; padding: 0px; line-height: 0px; - font-size: 0px; margin: 3px 0 0 0; max-width: 18px; width: 18px; diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Prefab/LevelRootUiHandler.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Prefab/LevelRootUiHandler.cpp index 708a6d9b13..73a28a3edc 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Prefab/LevelRootUiHandler.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Prefab/LevelRootUiHandler.cpp @@ -99,5 +99,6 @@ namespace AzToolsFramework // Draw border at the bottom painter->drawLine(rect.bottomLeft(), rect.bottomRight()); + painter->restore(); } } From 9fc824d98bf9105d15213f5736050462c0f843ab Mon Sep 17 00:00:00 2001 From: Junbo Liang <68558268+junbo75@users.noreply.github.com> Date: Tue, 31 Aug 2021 11:15:04 -0700 Subject: [PATCH 33/66] Create config files automatically and UX style updates (#3514) --- Code/Editor/MainWindow.qrc | 2 + Code/Editor/res/error_report_helper.svg | 14 + Code/Editor/res/o3de_application_reverse.svg | 9 + .../AWSResourceMappingConstants.h | 2 +- .../AWSResourceMappingManagerTest.cpp | 22 + .../controller/view_edit_controller.py | 37 +- .../manager/view_manager.py | 2 +- .../model/error_messages.py | 8 +- .../model/notification_label_text.py | 11 +- .../model/view_size_constants.py | 11 +- .../style/base_style_sheet.qss | 56 +- .../style/editormainwindow_resources.py | 54803 ++++++++-------- .../unit/controller/test_error_controller.py | 29 + .../controller/test_view_edit_controller.py | 43 +- .../tests/unit/utils/test_json_utils.py | 28 +- .../ResourceMappingTool/utils/json_utils.py | 36 +- .../view/common_view_components.py | 52 +- .../ResourceMappingTool/view/error_page.py | 29 +- .../view/view_edit_page.py | 63 +- .../Config/default_aws_resource_mappings.json | 6 + .../Registry/awscoreconfiguration.setreg | 10 + Templates/DefaultProject/template.json | 12 + 22 files changed, 27846 insertions(+), 27439 deletions(-) create mode 100644 Code/Editor/res/error_report_helper.svg create mode 100644 Code/Editor/res/o3de_application_reverse.svg create mode 100644 Gems/AWSCore/Code/Tools/ResourceMappingTool/tests/unit/controller/test_error_controller.py create mode 100644 Templates/DefaultProject/Template/Config/default_aws_resource_mappings.json create mode 100644 Templates/DefaultProject/Template/Registry/awscoreconfiguration.setreg diff --git a/Code/Editor/MainWindow.qrc b/Code/Editor/MainWindow.qrc index fd207ebe13..4506a4a2a8 100644 --- a/Code/Editor/MainWindow.qrc +++ b/Code/Editor/MainWindow.qrc @@ -76,6 +76,7 @@ res/o3de_editor.ico + res/o3de_application_reverse.svg res/Eye.svg @@ -152,6 +153,7 @@ res/error_report_error.svg res/error_report_warning.svg res/error_report_comment.svg + res/error_report_helper.svg particles_tree_00.png particles_tree_01.png particles_tree_02.png diff --git a/Code/Editor/res/error_report_helper.svg b/Code/Editor/res/error_report_helper.svg new file mode 100644 index 0000000000..d61970d163 --- /dev/null +++ b/Code/Editor/res/error_report_helper.svg @@ -0,0 +1,14 @@ + + + Icons / Notification / Helpers + + + + + + + + + + + \ No newline at end of file diff --git a/Code/Editor/res/o3de_application_reverse.svg b/Code/Editor/res/o3de_application_reverse.svg new file mode 100644 index 0000000000..841affe8ba --- /dev/null +++ b/Code/Editor/res/o3de_application_reverse.svg @@ -0,0 +1,9 @@ + + + o3de icon + + + + + + \ No newline at end of file diff --git a/Gems/AWSCore/Code/Include/Private/ResourceMapping/AWSResourceMappingConstants.h b/Gems/AWSCore/Code/Include/Private/ResourceMapping/AWSResourceMappingConstants.h index ee052617e3..97eb5b6492 100644 --- a/Gems/AWSCore/Code/Include/Private/ResourceMapping/AWSResourceMappingConstants.h +++ b/Gems/AWSCore/Code/Include/Private/ResourceMapping/AWSResourceMappingConstants.h @@ -68,7 +68,7 @@ namespace AWSCore }, "AccountIdString": { "type": "string", - "pattern": "^[0-9]{12}$" + "pattern": "^[0-9]{12}$|EMPTY" }, "NonEmptyString": { "type": "string", diff --git a/Gems/AWSCore/Code/Tests/ResourceMapping/AWSResourceMappingManagerTest.cpp b/Gems/AWSCore/Code/Tests/ResourceMapping/AWSResourceMappingManagerTest.cpp index 91d85c2f99..d438a99f83 100644 --- a/Gems/AWSCore/Code/Tests/ResourceMapping/AWSResourceMappingManagerTest.cpp +++ b/Gems/AWSCore/Code/Tests/ResourceMapping/AWSResourceMappingManagerTest.cpp @@ -66,6 +66,13 @@ R"({ "Region": "123", "Version": "123" })"; +static constexpr const char TEST_TEMPLATE_RESOURCE_MAPPING_CONFIG_FILE[] = + R"({ + "AWSResourceMappings": {}, + "AccountId": "EMPTY", + "Region": "us-west-2", + "Version": "1.0.0" +})"; class AWSResourceMappingManagerTest : public AWSCoreFixture @@ -190,6 +197,21 @@ TEST_F(AWSResourceMappingManagerTest, ActivateManager_ParseValidConfigFile_Confi EXPECT_TRUE(m_resourceMappingManager->GetStatus() == AWSResourceMappingManager::Status::Ready); } +TEST_F(AWSResourceMappingManagerTest, ActivateManager_ParseTemplateConfigFile_ConfigDataIsNotEmpty) +{ + CreateTestConfigFile(TEST_TEMPLATE_RESOURCE_MAPPING_CONFIG_FILE); + m_resourceMappingManager->ActivateManager(); + + AZStd::string actualAccountId; + AZStd::string actualRegion; + AWSResourceMappingRequestBus::BroadcastResult(actualAccountId, &AWSResourceMappingRequests::GetDefaultAccountId); + AWSResourceMappingRequestBus::BroadcastResult(actualRegion, &AWSResourceMappingRequests::GetDefaultRegion); + EXPECT_EQ(m_reloadConfigurationCounter, 0); + EXPECT_FALSE(actualAccountId.empty()); + EXPECT_FALSE(actualRegion.empty()); + EXPECT_TRUE(m_resourceMappingManager->GetStatus() == AWSResourceMappingManager::Status::Ready); +} + TEST_F(AWSResourceMappingManagerTest, ActivateManager_ParseValidConfigFile_ConfigDataIsNotEmptyWithMultithreadCalls) { CreateTestConfigFile(TEST_VALID_RESOURCE_MAPPING_CONFIG_FILE); diff --git a/Gems/AWSCore/Code/Tools/ResourceMappingTool/controller/view_edit_controller.py b/Gems/AWSCore/Code/Tools/ResourceMappingTool/controller/view_edit_controller.py index 54d0a29fea..bdfe7fa11e 100755 --- a/Gems/AWSCore/Code/Tools/ResourceMappingTool/controller/view_edit_controller.py +++ b/Gems/AWSCore/Code/Tools/ResourceMappingTool/controller/view_edit_controller.py @@ -68,12 +68,17 @@ class ViewEditController(QObject): # convert model resources into json dict json_dict: Dict[str, any] = \ json_utils.convert_resources_to_json_dict(self._proxy_model.get_resources(), self._config_file_json_source) + + configuration: Configuration = self._configuration_manager.configuration + if json_dict.get(json_utils.RESOURCE_MAPPING_ACCOUNTID_JSON_KEY_NAME) == \ + json_utils.RESOURCE_MAPPING_ACCOUNTID_TEMPLATE_VALUE: + json_dict[json_utils.RESOURCE_MAPPING_ACCOUNTID_JSON_KEY_NAME] = configuration.account_id + if json_dict == self._config_file_json_source: # skip because no difference found against existing json file return True # try to write in memory json content into json file - configuration: Configuration = self._configuration_manager.configuration try: config_file_full_path: str = file_utils.join_path(configuration.config_directory, config_file_name) json_utils.write_into_json_file(config_file_full_path, json_dict) @@ -103,31 +108,6 @@ class ViewEditController(QObject): for resource in resources: self._proxy_model.load_resource(resource) - def _create_new_config_file(self) -> None: - configuration: Configuration = self._configuration_manager.configuration - self._set_default_region(configuration) - - try: - new_config_file_path: str = file_utils.join_path( - configuration.config_directory, constants.RESOURCE_MAPPING_DEFAULT_CONFIG_FILE_NAME) - json_utils.create_empty_resource_mapping_file( - new_config_file_path, configuration.account_id, configuration.region) - except IOError as e: - logger.exception(e) - self.set_notification_frame_text_sender.emit(str(e)) - return - - self._rescan_config_directory() - - def _set_default_region(self, configuration: Configuration): - default_region = configuration.region - if not default_region or default_region == 'aws-global': - self.set_notification_frame_text_sender.emit( - notification_label_text.VIEW_EDIT_PAGE_CREATE_NEW_CONFIG_FILE_NO_DEFAULT_REGION_MESSAGE) - logger.warning(notification_label_text.VIEW_EDIT_PAGE_CREATE_NEW_CONFIG_FILE_NO_DEFAULT_REGION_MESSAGE) - - configuration.region = constants.RESOURCE_MAPPING_DEFAULT_CONFIG_FILE_REGION - def _delete_table_row(self) -> None: indices: List[QModelIndex] = self._table_view.selectedIndexes() self._proxy_model.remove_resources(indices) @@ -246,14 +226,13 @@ class ViewEditController(QObject): self._view_edit_page.save_changes_button.clicked.connect(self._save_changes) self._view_edit_page.search_filter_input.returnPressed.connect(self._filter_based_on_search_text) self._view_edit_page.cancel_button.clicked.connect(self._cancel) - self._view_edit_page.create_new_button.clicked.connect(self._create_new_config_file) self._view_edit_page.rescan_button.clicked.connect(self._rescan_config_directory) def _setup_page_start_state(self) -> None: configuration: Configuration = self._configuration_manager.configuration self._view_edit_page.set_current_main_view_index(ViewEditPageConstants.NOTIFICATION_PAGE_INDEX) - self._view_edit_page.set_config_files(configuration.config_files) self._view_edit_page.set_config_location(configuration.config_directory) + self._view_edit_page.set_config_files(configuration.config_files) def _switch_to_import_resources_page(self) -> None: if self._view_edit_page.import_resources_combobox.currentIndex() == -1: @@ -297,5 +276,5 @@ class ViewEditController(QObject): def setup(self) -> None: """Setting view edit page starting state and bind interactions with its corresponding behavior""" - self._setup_page_start_state() self._setup_page_interactions_behavior() + self._setup_page_start_state() diff --git a/Gems/AWSCore/Code/Tools/ResourceMappingTool/manager/view_manager.py b/Gems/AWSCore/Code/Tools/ResourceMappingTool/manager/view_manager.py index e6ca6a1480..f6d51155ad 100755 --- a/Gems/AWSCore/Code/Tools/ResourceMappingTool/manager/view_manager.py +++ b/Gems/AWSCore/Code/Tools/ResourceMappingTool/manager/view_manager.py @@ -44,7 +44,7 @@ class ViewManager(object): def __init__(self) -> None: if ViewManager.__instance is None: self._main_window: QMainWindow = QMainWindow() - self._main_window.setWindowIcon(QIcon(":/Application/res/o3de_editor.ico")) + self._main_window.setWindowIcon(QIcon(":/Application/o3de_application_reverse.svg")) self._main_window.setWindowTitle("Resource Mapping") self._main_window.setGeometry(0, 0, view_size_constants.TOOL_APPLICATION_MAIN_WINDOW_WIDTH, diff --git a/Gems/AWSCore/Code/Tools/ResourceMappingTool/model/error_messages.py b/Gems/AWSCore/Code/Tools/ResourceMappingTool/model/error_messages.py index 93d1ee1754..4316c145ba 100755 --- a/Gems/AWSCore/Code/Tools/ResourceMappingTool/model/error_messages.py +++ b/Gems/AWSCore/Code/Tools/ResourceMappingTool/model/error_messages.py @@ -5,11 +5,11 @@ For complete copyright and license terms please see the LICENSE at the root of t SPDX-License-Identifier: Apache-2.0 OR MIT """ +ERROR_PAGE_TOOL_SETUP_ERROR_TITLE: str = "AWS credentials are missing or invalid" + ERROR_PAGE_TOOL_SETUP_ERROR_MESSAGE: str = \ - "AWS credentials are missing or invalid. See " \ - ""\ - "documentation for details." \ - "
Check log file under Gems/AWSCore/Code/Tool/ResourceMappingTool for further information." + "Use our "\ + "documentation to setup your AWS credentials. " VIEW_EDIT_PAGE_SAVING_FAILED_WITH_INVALID_ROW_ERROR_MESSAGE: str = \ "Row {} have errors. Please correct errors or delete the row to proceed." diff --git a/Gems/AWSCore/Code/Tools/ResourceMappingTool/model/notification_label_text.py b/Gems/AWSCore/Code/Tools/ResourceMappingTool/model/notification_label_text.py index ecd6d8282c..80ea934209 100755 --- a/Gems/AWSCore/Code/Tools/ResourceMappingTool/model/notification_label_text.py +++ b/Gems/AWSCore/Code/Tools/ResourceMappingTool/model/notification_label_text.py @@ -13,6 +13,7 @@ ERROR_PAGE_OK_TEXT: str = "OK" VIEW_EDIT_PAGE_CONFIG_FILE_TEXT: str = "Config File" VIEW_EDIT_PAGE_CONFIG_LOCATION_TEXT: str = "Config Location:" +VIEW_EDIT_PAGE_INVALID_CONFIG_LOCATION_TEXT: str = "Invalid Location" VIEW_EDIT_PAGE_ADD_ROW_TEXT: str = "Add Row" VIEW_EDIT_PAGE_DELETE_ROW_TEXT: str = "Delete Row" VIEW_EDIT_PAGE_SAVE_CHANGES_TEXT: str = "Save Changes" @@ -23,17 +24,11 @@ VIEW_EDIT_PAGE_RESCAN_TEXT: str = "Rescan" VIEW_EDIT_PAGE_CONFIG_FILES_PLACEHOLDER_TEXT: str = "Found {} config files" VIEW_EDIT_PAGE_SEARCH_PLACEHOLDER_TEXT: str = "Search by Key Name, Type, Name/ID, Account ID or Region" VIEW_EDIT_PAGE_IMPORT_RESOURCES_PLACEHOLDER_TEXT: str = "Import Additional Resources" -VIEW_EDIT_PAGE_CREATE_NEW_CONFIG_FILE_NO_DEFAULT_REGION_MESSAGE: str = \ - f"Resource mapping file {constants.RESOURCE_MAPPING_DEFAULT_CONFIG_FILE_NAME} is created"\ - f" with {constants.RESOURCE_MAPPING_DEFAULT_CONFIG_FILE_REGION} as the default region. "\ - f"See "\ - f"documentation "\ - f"for configuring the AWS credentials and default region." VIEW_EDIT_PAGE_SELECT_CONFIG_FILE_MESSAGE: str = "Please select the Config file you would like to view and modify..." +VIEW_EDIT_PAGE_NO_CONFIG_FILE_FOUND_TITLE: str = "Unable to locate a resource mapping config file" VIEW_EDIT_PAGE_NO_CONFIG_FILE_FOUND_MESSAGE: str = \ - "

Unable to locate a resource mapping config file.

"\ - "

We can either make this file for you or you can rescan your directory.

" + "

Please select your project's config file directory using the browse tool in the upper right.

" VIEW_EDIT_PAGE_SAVING_SUCCEED_MESSAGE: str = "Config file {} is saved successfully." IMPORT_RESOURCES_PAGE_BACK_TEXT: str = "Back" diff --git a/Gems/AWSCore/Code/Tools/ResourceMappingTool/model/view_size_constants.py b/Gems/AWSCore/Code/Tools/ResourceMappingTool/model/view_size_constants.py index 2ce4279502..85b636bfbf 100755 --- a/Gems/AWSCore/Code/Tools/ResourceMappingTool/model/view_size_constants.py +++ b/Gems/AWSCore/Code/Tools/ResourceMappingTool/model/view_size_constants.py @@ -14,13 +14,14 @@ MAIN_PAGE_LAYOUT_MARGIN_TOPBOTTOM: int = 15 INTERACTION_COMPONENT_HEIGHT: int = 25 """error page related constants""" -ERROR_PAGE_LAYOUT_MARGIN_LEFTRIGHT: int = 10 -ERROR_PAGE_LAYOUT_MARGIN_TOPBOTTOM: int = 10 +ERROR_PAGE_LAYOUT_MARGIN_LEFTRIGHT: int = 25 +ERROR_PAGE_LAYOUT_MARGIN_TOPBOTTOM: int = 20 +ERROR_PAGE_LAYOUT_SPACING: int = 15 -ERROR_PAGE_MAIN_WINDOW_WIDTH: int = 600 -ERROR_PAGE_MAIN_WINDOW_HEIGHT: int = 145 +ERROR_PAGE_MAIN_WINDOW_WIDTH: int = 100 +ERROR_PAGE_MAIN_WINDOW_HEIGHT: int = 75 -ERROR_PAGE_NOTIFICATION_AREA_HEIGHT: int = 100 +ERROR_PAGE_NOTIFICATION_AREA_HEIGHT: int = 30 ERROR_PAGE_FOOTER_AREA_HEIGHT: int = 45 OK_BUTTON_WIDTH: int = 90 diff --git a/Gems/AWSCore/Code/Tools/ResourceMappingTool/style/base_style_sheet.qss b/Gems/AWSCore/Code/Tools/ResourceMappingTool/style/base_style_sheet.qss index d8f61713a7..51791dc519 100644 --- a/Gems/AWSCore/Code/Tools/ResourceMappingTool/style/base_style_sheet.qss +++ b/Gems/AWSCore/Code/Tools/ResourceMappingTool/style/base_style_sheet.qss @@ -35,6 +35,17 @@ QComboBox line-height: 16px; } +[HighlightField=true] +{ + border:3px solid #E57829; +} + +[HighlightText=true] +{ + font-weight: bold; + color: #E57829; +} + QToolTip { color: black; @@ -356,7 +367,7 @@ QScrollBar::handle:hover } /* NotificationFrame */ -QFrame#NotificationFrame +NotificationFrame { background-color: transparent; border: 1px solid #E57829; @@ -365,17 +376,38 @@ QFrame#NotificationFrame padding: 4px; } -QFrame#ErrorPage +NotificationFrame QLabel#NotificationIcon { - background-color: #2d2d2d; - border: 1px solid #4A90E2; - border-radius: 2px; - margin: 0px; - padding: 15px; -} - -QFrame#ErrorPage QLabel#NotificationIcon -{ - padding-left: 15px; + padding-left: 0px; padding-right: 15px; } + +NotificationFrame QLabel#NotificationTitle +{ + font-size: 15px; + font-weight: bold; +} + +NotificationFrame#ErrorPage +{ + background-color: transparent; + border: none; +} + +NotificationFrame#ErrorPage QLabel#NotificationIcon +{ + qproperty-alignment: "AlignTop"; +} + +NotificationFrame#ErrorPage QLabel#NotificationTitle +{ + padding-top: 0px; + text-align: top; +} + +NotificationFrame#ErrorPage QLabel#NotificationContent +{ + padding-top: 0px; + text-align: top; + qproperty-wordWrap: false; +} diff --git a/Gems/AWSCore/Code/Tools/ResourceMappingTool/style/editormainwindow_resources.py b/Gems/AWSCore/Code/Tools/ResourceMappingTool/style/editormainwindow_resources.py index 64ad2212ea..36303e40cd 100644 --- a/Gems/AWSCore/Code/Tools/ResourceMappingTool/style/editormainwindow_resources.py +++ b/Gems/AWSCore/Code/Tools/ResourceMappingTool/style/editormainwindow_resources.py @@ -1,27257 +1,27546 @@ -""" -Copyright (c) Contributors to the Open 3D Engine Project. -For complete copyright and license terms please see the LICENSE at the root of this distribution. - -SPDX-License-Identifier: Apache-2.0 OR MIT -""" - -from PySide2 import QtCore - -qt_resource_data = b"\ -\x00\x00\x01\x84\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ -\x00\x00\x01KIDATx\xdac`\x18\x05\xa3`\ -\x14\x0c&\x10\x91\x90\xe3\x18\x99\x98{\x08\x88\xf7\x810\ -\x90\xbf\x1f\xca\xd6\xa6\x8b\x03\x80\x165\x01-\xfd\x0f\xc3\ -@>\x8c\x1dK\xaf\x10h\x00Y\x0a\xc3@\xfe_(\ -{5\x10\x9b\x01\xf9V@\x1a\x8e\x89\xe4[\x03\xb1>\ -\xa5\x0e\x80\x87\x06\x05|\xf5\x81v\x80\x1e1i\xa0\x01\ -\x1a\xe7\x7f\xa1\x96\xff\x83\xf2o\x00\xf1\x19 \xff\x0c\x88\ -\x86a\x12\xf8\x97\x81X\x85\x9c\x10\x00\xd1\x13\xe8\x99\x0d\ -\xd1\x1d\xf0\x05Hs\x00\xb1\x1b\x10_\x07\xf2o\x02\xe9\ -\x1b0\x0c\x0a\x192\xf8\xb7\x80\xf80\x10\xb3\x12\xe3\x80\ -\x1ah\xd4<\xa4B\x1a@\xe6\xcf%\x94\x06@q\xff\ -\x1d\xea\xa8tX\xba\x80\xa6\x89\xbfhi\x84T>\xc8\ -,)b\xa2\xa0\x0c\xea\xa8gxr\x05\xa9|\xdc\xbe\ -Gs\xc0+ f\x06\xf23)\xb4\x10\x1b_\x94\x18\ -\x07\xe4A\xf9\xaf\xa9\xec\x80i\x84\xca\x81F\xa0\xa2W\ -@\xcc\x04\xc4i0C(\x8c\xf3\xbf\xd04\xf5\x03\xc8\ -\x97!\x94\x0d\xdb\x81\x8ar\xa0\x8ey\x8a%\x15S\x12\ -\x02\xd3\x88)\x07R\xa0\x96gQ1\xceA\xec_@\ -,A\x8c\x03\x98\x81\x0a9\xa1\x89\x90\x9a\xf9~\x1a)\ -\xa5\xa1\x0a\x10o\x07\xe2\xcd@\x8d\x9b\x81\xf4&\x18&\ -\x93\xbf\x14\x88yF\x9b{\xa3`\x14\x0cZ\x00\x00\xef\ -\xad\x00\xe1,\x84\xf5\xf4\x00\x00\x00\x00IEND\xae\ -B`\x82\ -\x00\x00\x02h\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ -\x00\x00\x02/IDATx\xda\xed\x96\xcb+\xc4Q\ -\x14\xc7\xe7\xe11\xcd\x90\xc9L\x1a\x22e\xe4\x91YL\ -\x13\x8a\xa2lllX\xa1\x94WQ\xc6\xb3\xd8x\xd4\ -\x10\x0bE\x8d\x14\xfe\x03\x0b\x89\xb2\x96\xc4\xc2B\xf2(\ -\x22\x0by,lH\x16\x1e5\x8d\xef\xad\xab\x8e\x99{\ -~\xbfYZ\xfcn};\xbf\xee\xe7\x9e\xf3;\xfd\xee\ -\xb9\xe7wM\xa6\xff0Z;\x07J\xa0\xf5\x96\x8e\xfe\ -a\x8d5\xed\xe0\x1b\xb0\x95\x0c\xb7\x83\x87aW\xc4\xb3\ -j\x0dx\x00l\x13\xea\x8au>\x82\xa2X\x10\x85\xf5\ -+\x82g\x13~\xcf$0.\xb9P\x88I\xe0Jr\ -!/u\xde!/(P\x04\xcf\x80\x22\x92\x9f0\x09\ -t\x93\x04\x82L\x02\x07\x92G \x0f\x056\xa8\x07\x93\ -\x15\xdc\x16\x80\x8bm\x0a\xc2:5\xb6\xa9\x09\xbcY\x83\ -\xa7\x83\x8b\x18>\x931\x8c\xa1(\x90L\x14\x87Uk\ -\x0d\xb8[\x87\xdb\x11'M\xe7=.\xc8\x1c;9)\ -\x8f\xe1\x13\xacC\xe1d\x85\xce\xe51[e\x02W\x83\ -G\xe41\xaba\x12\x5c\x94\xfc\x02\xb2Q\xe7k\xd2\x07\ -j\x15\xc1\xbd\x84\xbf0\x09\xcc\x93>\x10Vp3\xf8\ -\x03iDe43\xd1f_1y\xc8m\x03\xe6\xb7\ -\xc0\xdf`\xc7\x18^\x0c~'^\x02\x952I\x0e\x81\ -\xbdC\xdb\x90%\x16Z\xf4\xeaD\xafF\x12\xac5\xab\ -q\xe2\x8c\xa1*\x8c\x5ch\x19E\xd6\xa6\xb1\xa6\x01\x5c\ -\x5c6\xb8\x0aO\x02\x17\xfdd\x1aJf\x8aX\x1c\xe7\ -5\xa81\xd6y\x9f\x9cs\x9f\x22x\x16\xe1\xb7L\x02\ -#\xa4\x0fL0\x09\x9c\x91>\x90O\xc1\xee\xaf3l\ -\x91\xc2\xd1E\xf8%\x13|\xf07Ih\x94I\xf2X\ -r\xa1\xbc?\xff\x01\xd1\x8e1Y\xaf\xb1\x05U\xe0!\ -\xd8\x1c\x8d>\xd1\xcb\xdd\x86$\xf7\x80\xcfp\xad\xda\x18\ -F/p\xc6\xfd\xa1\xe2\x8b(3\x81\x0b\x89C\xef\xe2\ -\xa3\x9a\xec\x83>\x10\xe0\x146\x85q\x14G\xf5\x0bv\ -\x96\xe1~\xf0gq_\x80\x02L\x82S`\x22\xc6\xde\ -\x9ff\x05pC\xcey\x9d\xc2\xb1\x90\xf0W&\xf8\x02\ -\xe9\x03K\x0an\x01\x7f$}\xa0\x8cf\x1f\x84>e\ -\xa7J\xd5\xf9\x02s\x09|\x81r&I\xd1\xaa\xbf\xe3\ -\xbe\x00\xb9\x94\xea\xd5\x80\xde\xa5\xd4\x91@\x0d\xb8\xffU\ -\xf1\xff\x00\xf0W\x81\xb2\xb1-\xb20\x00\x00\x00\x00I\ -END\xaeB`\x82\ -\x00\x00\xa1\xcb\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x80\x00\x00\x00\x80\x08\x06\x00\x00\x00\xc3>a\xcb\ -\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\ -\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00\ -\x09pHYs\x00\x00\x0b\x22\x00\x00\x0b\x22\x01\x09\xe1\ -O\xa2\x00\x00\xa1`IDATx^]\xfdg{\ -cI\xb2\xa5\x89\xf2\x0fMF\x04\xb5\x04@\x90\x00\x08\ -j\xad\xb5\xd6Zk\x15\xd4:\x14\x19Z\xeb\x88\x8c\x94\ -\x91:\xab\xb2\xeaTU\xd7Q=\xdd}\xfav\xf7\xcc\ -<\xf7\xfe\x13\xbb\xef\xf2MFe\xcf\x07{\x00\x92 \ -\xf6\xden\xcb\xcc\x96\xb9\x9b\x9b\xc7\x84\xc7\x1f[\x04\xc9\ -Ar'\x9eZ\xf1\xec+\xabX\xfe`5\xeb\xdfX\ -\xc3\xd6\xf7\xd6\xb4\xf3\xa35\xec|o5\x1b_Y\xc5\ -\xea;+Y|n\x05\xb3\x0f-:qf\xe1\xa1c\ -\xcb\xea\xdd\xb2@\xfb\x92\xa57MYZ\xfd\x88\xa5\xd6\ -\x0dyR?li\x0dc\x96\xd68\x8eLx\xaf\xfc\ -\x9cZ7b)\xb5\xc3\x96\x5c3dI\xd5\xc3\xc8\xa8\ -%\xd5LXr\xdd\x8c\xa54,Xj\xd3\x8a\xa5\xb7\ -\xae\x9b\xafs\xdb\x02\xbd\x07\x16\x1c\xe0\x1a\x83\xd7,{\ -Hr\x82\x1c\xf2\xbb=\xcb\xec\xdf\xb6\xcc\xbe\x0dd\x1d\ -Y\xb3\xcc\xde\x15\xcb\xec^\xb2\xcc\xae\x05\xf3\xb7\xcdX\ -F\xd3\xa8\xa5\xd6\xf6ZRE\xab\xc5\x17\xd7ZlA\ -\xa5]\xce\xaf\xb0K\x055v\xa5\xb8\xd5\x12\xaa\x87,\ -\xade\xd1\xb2\x07\x0e\xadp\xe6\xa1U\xae\xbc\xb3\xba\xcd\ -o\xac~\xeb;\xabZ\xfb\xc2\x0a\xe7\x9e3.w,\ -\x93k\xfb\xfa\x0e\xcc\xd7\xb3o\xfen^\xbb\x90\xce]\ -^w-\xd8\x7f\xc8\xb8\xdd\xb4\xc2\xf9\xfbV\xb6\xfa\xcc\ -*\xd6_Y\xf9\xfaK+\xe5}\xf1\xf2c+Z~\ -\x80\xdc\xb3\xfc\xc5\xdb\x96;\x7fj\xd1\xb93\xe4\x8e\xe5\ --<\xb0\xd2\xf5\x17V\xbb\xf3\xceZ\x0e\xbe\xb0\xee\xe3\ -\xaf\xad\xff\xda\xb76p\xed\xa3\x0d\xde\xf8\xd1F\xef\xfc\ -\xc9&\x1e\xff\xb3M\xbd\xf8\xaf6\xf7\xfa\xffc\xf3\xaf\ -\xff\x87-\xbc\xf9\x1f\xb6\xf2\xf6\x7f\xd9*\xb2\xfc\xfa\x7f\ -\xda\xc2\x8b\xffn\x93\x8f\xfe\xdd\xfaO\xffj]\xd7\xfe\ -h\xedG\xbf:\xe9:\xf9\xa3\xf5\xdd\xfc\x8b\x0d\xdf\xfe\ -\xbb\x8d\xdf\xffw\x9b~\xfc_m\xe6\xc9\x7f\xd8\xe4\xc3\ -\xffb\xa3w\xff\xcdzo\xfc\xcd\x9a\xf7\xff`5\x9b\ -\xdfs\xcf_[Ld\xec\xaeE\xc6\xeeYt\xfc\xbe\ -\xe5M>\xb2\xe2\xb9\x17\x0c\xc6{\xab\xbd\xfa\xb552\ -\x18\xcd\xbb?X\xf3\xcewV\xbf\xf9\x95U\xaf\xbd\xb3\ -\xf2\xa5\x17V2\xf7\xc8\x0a&y\xa8\x91k\x16\xe9\xdf\ -\xb5\xec\xee5\x0b\xb6\xcf[\xa0e\xca\xfc\xcd\xe3\xe6k\ -\x92L\x98\xafy\xd22.\x84\x9f\xd3\x01Az=\xa0\ -\xa8\x93r\xc6\x00\x82\x14?e\xc9\xf5s\x96\xd2\xb8h\ -\xa9\xcd\xab\x96\xd6v\xd52:\xb6\x18l\x94\xdcwd\ -A\xa7\xfc\xeb\x96=\x8c\x00\x80\xacA~7\xb0\xcf\xdf\ -\x04\x90\x0d\xf3\xf7\xac\xf1\xd9\x15d\xc9\xfc\x9d(\xbfc\ -\xce|\xadS\x5c\x0b0\xd6\xf6YRe\xbb%\x944\ -Z\x5cQ\xad])D\x8a\x1a-\xb6\xb4\xd3\x12kF\ -\x1d\x00\x82\xbd{\x967~f\xa5sO\xadr\xe9\x8d\ -U\xf1\xec\xe5\x0b\xaf\xacp\x1a\x90\x8f\x9d9\xe0I\xd1\ -\x99\xbd\xe7\xd2sd\x81\xee}\x0b\x00\x88`\xff\x91\x85\ -G\xaf[\xde\xd4\x19\x80\xb9o\xc5\x0b\x8c\xdf\x22\x8a_\ -xh\x85\x0b\xf7\x91\xbbV\xb8x\xd7\xf2\xe6Q\xfc\xec\ --\xcb\x99\xb9e\x91\xe9S\xcb\x99\xbem\x05\x80\xa6\x14\ -\x90T\xaf=\xb3\xc6\x8d\x17\xd6\xba\xf5\xca\xdav\xdeX\ -\xc7\xfe\x07\xeb\xb9\xfe\xd1\x06n\xffj\xc3\x0f\xfebc\ -\x8f\xfe\xeed\xea\xc9?\xdb\xc2\xf3\x7f\xb5\x85g\xffb\ -s\x8f\xff\x93M?\xf8'\x1b\xbc\xf5\xb3\xb5\xee\x7fe\ -\x8d\xdb\x1f\x90/\xd0\xd5\xd7\xd6~\xf8\xbd\xf5\xdc\xf8\xd5\ -\x06\xce\xfe\xc9F\xee\xfd'\x1b\x7f\xf8o\x00\xe5?\xdb\ -\xf8\x83\x7f\xb3\xa1;\x7f\xb7\xee\xeb\x7f\xb6\xa6\xbd\x1f\xac\ -\xea\xea\x97\x5c\xff\x1d\x00\x18\xbd\x09\x8aO\xb1\xfe;V\ -0\x0d2\x17\x9ec\x01\xb2\x86/\xadi\xfb[k\xd9\ -\xfd\x0e\xf9\x160|iu\xeb\xef\x18\xa0\x17V6\xff\ -\xc8\x8a\xa6n[\xfe\xd8u\xcb\x1d:\xb0\x9c\xbeM\x0b\ -w\xafZ6\x0a\xc8F\x01Y\xed\xb3\x16l\x9b\xb5L\ -$\xd0:k\xfe\x96i\x80\x018\xf0\x12\x12_\xe3\x94\ -e4\xce\xa0\xa4yKk\x92\xe2W,\x0d\xabOo\ -\xdf\xb4\x8c\xce\x1d\xf3i\x805\xd8\xfd'\x0e\x00Y\x00\ - \x0bEd\x0d\xea\xe7c\x00p\xc0\xdfv\xf9\x0c@\ -\xe9\xb9\x8a\xf2W\xb1\xca%\xf3u,\x98O\xd6\xdf\x8c\ -\xc7i\x18\xb6\x94\x1a\x01\xa0\xc3\x12\xcaZ,\xbe\xb4\xd9\ -\xe2Jx-\xeb\xb4\x84\xaa\x01@7\x89\xa7Y\xb6`\ -\xcf\x8eE\x86\xafY>\xcf_4\xfd\xc8Jf\x9eX\ -\xd1\xe4\x03\xcbC\xf9\xfa\xbdW>\x7f\xd7\xaa\x16\xefY\xcd\xca\ -C\xab_\x7f\x8a\xc1\xbd\xb6\xb6\xc3\x0f\xd6\x81W\xe8\xbe\ -\xf1\xbd\x93\xbe\x9b\xdf\xdb\xe8\xd9\x8f6r\xfa\x1d^\xe2\ -k\xeb;\xfe`\xad\xdb/\xadj\xf9\xa1U,=@\ -/\x8f1\xda\x97\xd6\xb4\xfb\xde\xda\x8e\xbe\xb1\xae\xeb?\ -X\xef)@\xb8\xfd\x9b\x0d\xdc\xf9\xb3\xf5\x9d\xfe\x91\xdf\ -\xfd\x8c\xc7\xf9\x887\x7foe\xcb/\xf0\x5c\x8f-&\ -:\x0e\x82'o\xa2\xfc\xdbX\xff}+_~\x8a\xfb\ -\x7f\x8d\xc5\xbf\xf7P\xb5\xf3\xa55\xf3\xda\xc8?\xd5\xf1\ -\xfb\xea\x95\xe7V\x01\xd2Kf\xeeX\xe1\xc4M\xcb\x1f\ -9\xb6\xbc\xc1=\x8b\x0elY\xb4\xef*`X\xb3H\ -\xef*\x80X\x01\x10K\x96\x85R\x82ms\x16\x04\x08\ -\x9e\xcc\xf33\x96\xd7\xb6j\x99\xed(\x0fk\xf7u\xa0\ -\xf4\xae=\x14\x7f\x80B\xb1\xb0>\x06\xb9\x1f\xcb\x1b\x90\ -\xd2\xaf;\x10\x04\x9d\xf2/\xe4\x08\xd7\x8c\x12\x08\x05\x01\ -<\x81\xbfg\x83\xff\x07\x04\xed\x8b\x96\xd1\x0a\xb0\xf06\ -\x0aA\xc9\xb5\xfd\x96T\xd5\x0d\x08\xba\x10^\xab\xfa\xf1\ -:#\x80\x03\x00\xb6.\xe21\xd6Q\xe8\x0e\xa1\x0cW\ ->\x02\x98GO-o\xf4\xccr\x87Q\x10\xd7\x09\xf7\ -\x1fXv\xdf\xaee\xf5\xe0\xeee\xf1(>\xc8\xbdI\ -\xe4\x9d2\x09\x0d\x99x\x90L\xbeC\x12\xec\xc5\x1b\xe2\ -\x9dB\xc3\x87x\xd5#\xcb\x99<\xb1\xdc\x99\xeb\x16E\ -\x22\xd37,\xb12\xc0V\xbd\ -\x06\x88\xb6_X\xe3\xde[k9\xfc\xdcZ\x8f\xbe@\ -\xd0\xe1\xfe\xe7\xd6\xb0\xfd\xd6\xaa\x09=eK\x8f\xf0X\ -w-\x1f\xf0\xc5\xe4q\xd1\xfc\x99\x9bV\x04ZKp\ -Y\xe5 \xaaz\xed\x89\xd5\xae?C\xe1\xcf\x91\x97V\ -\xb7\xfa\xd2jAL\xf5\xd23\xab\x5cxles\x0f\ -\xacdZ\x00\xb8e\x05\xa3\xdc\xc4\xc8\xa1\xe5\x0fs#\ -\xc3\xbb\x967\xbc\x83W\xd8\xb2\x9c\xfe\x0d\x0b\xf7\xaeY\ -\xa8k\x19\xaf\x80g D\x84x\x0dw\xaeX\xa4{\ -\x03\x90\xec\x12>\x0e-\xa4\x18?p\x822O,\x80\ -\xf8Q|\x00q\x00\x90\x07\xe8g\xc0q\xb5\x99\xb2>\ -^\xb3\x1c'@\xc4?\x18\xbcL\x06<\xd0\xbb\x0d\x00\ -\xd6-\x03`\xa5\xb7\xccX*\xa1&E\x00\xa8\x1b\x04\ -\x04\x03\x96\xc2kj=._\xde\xa7m\xc1\x02\x9d\x84\ -\xac\xdeM\x94\xb5k\xa1\xa1}\x0b\x0f\x1f G(\xe4\ -\xc4B\x5c/\x9bke\xf7\xee[6\x8a\xcfF\xb1\xd9\ -(9\xc4\xefB\xdc_h\x10%\x02J\xdds\x10\x00\ -\x04\xba\x01o\x07a\x0b@K\x1c\xa8\xf0\x88!\xc6!\ -2q`Q\x14\xe3\x000u\xc3B\xe37\x9c'\x13\ -x\x5c\x18\xc1\xdbevm\x01\xae-\xae\xb9ea\x8c\ -(\x87\xb1\xcb\x1d\xde\x02\x14\xdb(v\xd7\x0a&\xf6\x90\ -}+\x9e>D\xe1'V1{he\xd3\xbbV<\ -\xb1i\xd1!\xf1\x1e\x7f\xe4\x00!\x9e\x8e\xec\xf2\x00;\x963@X\ -\xe8]w\x9e \xdc\xc5\xcd!9\xbc\xcf\xed\xbdj\xb9\ -\xb8\xef\x5c\x94\x97\x8b5Dq\x87\xe1\xb1\x9b\x96\x85\x0b\ -\xcd\xc4\x0a\x03X\xbb\x1f\xc5\xfb5HX\x9cbm\x00\ ->\x10\xe8\xd9s\x03\xee\xb9\x5c\x06\x94\xff\xd1\xff\x85\x00\ -`pP\x9ec\xcb2\xda\x09%-s\x00`\x12B\ -\x09\xc7\x80\x94\xa64\xc07D@\x09C\x19x\x88@\ -\xf7:\x83\xb5\x85\xe2\xf7,2\x8a\x95\x8e\x1fC\xf6\xf8\ -\xceQ\x11L)U\xca\xe1z\x90P\x7f\xc7&\xaf\x9b\ -\x16D\xc9\x02E\x88P\x14\x199\xe5\xfa\xa7\x8e\x97\xe8\ -~\xfc]\x9b\x96\xde\xb6L\x18\x9b\xb7\x94\xe6YB\xd9\ -\x19\xf7\xd1M\xc6h\x9b\xe7\xdb\ -a\x8cw!\xed{\x84\xa8}\xe4\xc0r'\x8f,:\ -y\x8c\x9cXL\xc1\x0cDe\xd6\x93\x22\x85\x81\xa9[\ -V\x02ZK&\xafY1R4y\x1d\x81\xe9\xe2\xee\ -\x0b\xe4\xf2Aq\x9eb?\x03\x16E\xf19\x83\xfb\x16\ -\x19\xdc\xe5\x15\xc4\x0fn#B2\x16@8\xc8\xeeY\ -\xb5\x10J\x8f 9\xbc\xcf\x05\x10\xf9\x03 \x1b\x8b\xcb\ -\xe7\xff\xf3\xf8\xbe\x5c\xae\x17\x01\x84\xa1\x09\x06\x94\xdf\x05\ -\xb0\xec\x00V\x1e`\xc0\xfdX\xa1\xc8\xa0\xbfk\x07\x81\ -\xf5c\x91\x22\x81\x22^\x11\xbcO\x0e\xe4+\x02\x10\xb3\ -\x01\x81<\x81\xbf\x1be8\x10\xcc\xa3\x10\xb2\x8a\xa6i\ -^\x91\x16\x14\xd36\x8f\xa5.;\x00\x04\xfb\xb9\xbf!\ -\x5c\xff(\xd6?\x8er\xc6\xb1\xf81<\x8d\xae\xad\xeb\ -b\x9d.,\xc1I\x1c\x08\xb8v\x90{\x91\xe2B\xc3\ -x\x80\xa1\x1b\x84\xa7#>\xb7\xcd\xf5V\xb9\xc6\x9c%\ -\x13V\x92\x1a&-\xb9i\xd2R[QL\x07\xdc\xa7\ -{\x01O\xb6\x0a@7p\xfbx\x9ba\x80\x06\x00\xc2\ -|G\x18/\x12\x22\x94\xb8\xf0\xd2\xb5A&\xb5l~\ -B\xa4\xafe\xc2e0\xe9MCp$\xa4i\xd8\xd2\ -\x9bG\x10~\xd7\x0c\x81n!\x93j\x01\xd4N\xf43\ -\xc4\xba\x15\x92\x0d\xf1\xcdh\x9b\xe6\xbeg\xe0Cs\x5c\ -{\x1e\xa3\xc0\xdb\xe1\x192\x07\x00\xe3\xe0\xba\x85F\xb6\ -\x00\xc5>`8f\xdc\xd1#\x844\xa6d\xe99\xee\ -\x82\xb4E\xc4N`\x90\x92\xb1\x8c\x5c,$g\x00\xa5\ -\x22a$$w\x89\x84%X\xb0'\xfc\x9e\x18\x1c\x92\ -E\xe1\xf6\xb2Qz\x16J\xce\x82\x99\x07Qz\x10\xab\ -\xcf&\x04\xc8\x0b8\x00\xf0\xf7<\xbe+\x0f\xb7\x9b;\ -\xc25\x88{\xd1\x09b-7\x94=\x86\x8b\x1f\xc1\xda\ -\xf9[\x00\x92\x17 \xfe\x06 _\x01\xdc\xaf\xdc\xac\x06\ -\xdb\x01\x00R&\xab\x8f@\xa6\xc4\xa6s \x5ca\xee\ -9\x8b\xc1\x0dpO>\xc2Kz\x87\xb2\x09\xac\xb2u\ -\xc9IZ\x9b'\x19\x00\xc0\xd7\xb5\x827A)\xfd\xdc\ -\xa7S\x0c\xeewd\x87Wb\xbcx\x85\xc2\x8d<\x0f\ -|$\x00/\xc9D\x82\xe7\xde\xc7\x0b?\xe2&\xf2N\ -\x5c\x0b\xcbM\x83K\xa44\xcd8\x00$\x03\x80\x14R\ -\xdeT8H\x1aDT\x8a\xf1\xb5\xcf\x00\xdeE\xee\x1d\ -\x83\xe8\xc7\xeb\x10\x02r\xe0\x18\xd1\x91[\xb8p\x80 \ -\x22\xd9\xb3i\x99\x1d\x90X\xb2\xa8t\xc8k*\xdc%\ -\xa5\xa6\xc7\x92\xab\xbbH\x97\xbb\x09c\xbc\xaf\xebC\xfa\ -!\xaf\x10\xd8\x06\xc9 \xd7\xe2\xb3\x8d\x0amx8]\ -\x13\xf0\xe9\xbai\x80(\x8dk\xa7\xb5O[z'@\ -\xe8\xc5\xb3\x0c\xe0\x8dF\xe1j\x18t\xfe\xccm+\x9a\ -\x7fH\xc6\xf2\xd4b*\xaf~n\xe5\xabo\x88\xff\xcf\ - \x82\xf7\xb1\xec\x1b(\x1dW\x0b\xc3\x0ev\xc95\xad\ -\xe3^H\xb5\x10\xc5\xceL\x5cU\x90\xd7\xac.\x09\x83\ -\xe8\x04\x85#\x99\x1a\x5c\xdcX@.\x90x\x1fh\xc7\ -\x9dA\x04\x9d\x17\xe8Y\xb7\x1c\xe2n\x94\xfc=\x0a\x88\ -\x22\x10\xb80 \x0b\x112\xb2P@p\x18\x05\x0f\x91\ -\xda\xe1I\x02\x90\xcaL<\x8b\xac:\xb3_ \xd8\x05\ -\x00\x02\x011S\x8c\x9c\xf0\x91=v\x0d\xaf\xc1\x00N\ -*\xb6B\x16\x01\x94\xf3\x02\xf0\x81\x0cy\x82N\x01\xe1\ -*\x16\xba\xce@\xac\x01\x00<\x03 H\x87'dp\ -_J\x19\x03\xa4\x8e\x01\xcd\x1fh\x1e\x01\x00\x07\x01P\ -\x96\x14\x22\x1e\x00\x07\x099\xc1\xeae\xf9(_\xe1G\ - \xd0=\xf8\xbb\x15r\xf8^R\xc9\xd4&\xd2X@\ - I\xd5|\x88\x14\xa1\xb0\x83b\x94\x02\xfb\xb0\xec\x00\ -\xdcG|\x22\xc2wDG\xb0\xbe\xd1[\x18\x01c\x0d\ -\xe8\xb2\x19\x97L\xc6\xcd\x87\xe7HG\xa1\x9aGI\x11\ -w\xa9A\xe1\xff/IrBv\x03H\xc4q\xc4u\ -R\x95Z7\xa0tB\x9f\xe6\x5c\x04\xc0T\xae\x9b\x06\ -!\xf6\xc2\x11\xe0#\xc2\ -\x00\xd6\xef\xc3\x12\x15\x16\x02()\xa0\xf9\x00\x88[\x90\ -0\x14$\x15\xd5\xe7\xfd|\xb7O\x84\x10o\x91\xc1\xfd\ -g\x10_3p\xe1\xe9m\xb2T\x00\xd0\xbc\x88\xcc\xe1\ -J\x19\x18\xc8\xa2\x14\xe3\xee\xb5\x83g\x121D\xa9\xd9\ -(7\x8c\x92#\x837 dX\xaa2\x02\x5c\xb6,\ -W$Qia\xa6\x00I\xec\xcf\xc0\xfd+\x95\x14\x08\ -\xd2\x9a\x17x%\xad\x15\x0f\x10\x08\xce'\xbf\xd2\x01\x83\ -\xafu\xce\x19N\x08\x8f\x19\xc5S\xe5\xc1w\xf2\xe0>\ -\xb9\x84\xd2\x1c\xee?\x84Qduc`\x18\x8dOJ\ -#e\xd6\xff\xa5\xa3P\x89\xfb\xae\xfaq\x801\x0a(\ -.&\xd1\x06\x01\xc2\x10\xdeA\x80\xe1\xef\x0d\x80\xa7i\ -\x96\xffE\xe0A\x19\x0ay\x18_\x00\xce\x95%oN\ -\x88-\x9c\xbf\x87\xb1C\xee\xb7\xde\x93\x0e~c\x9d\xc7\ -?ZL7\xf9b\xe3\xee\x97V\xbe\xf2\x12rp\x8f\ -\xd8\x08\x19S\xec\x85\xfc\x88\xd5\xa6\xc9\x85\xb6\xf0p\x90\ -\x9ct\xbe\xd8\x87\xf8y\xd0@+\xf1M\x22@\x00\x8c\ -\x00\xaf~~\xfe\xbd\xe8\xf7Y\xb8\xe3\x10n9\xdc\x03\ -?`\xe0\xc2H\x88\xf7A,4\xc0\xdf|\x9aE\x04\ -(\xe9\xdcp:\x8a\xc8\xc0\x8b\xf8\xb9i\x7f?\xe4\x08\ -O!\x00\xf8\x09\x07Np\xc3nVN\x82g\xf0c\ -\xb1~\x06\xd5\xafT\x10\x8f\xe5\xc3\xf2}R\x0c\xca\xd7\ -L\xa2f\xeb\xfc\x12\xcd-h\x8e\xa1m\x8d\xc1\x01\xcc\ -(,\x83g\xca\xe09|\xbc\xf7\x03\xf0L<]\x16\ -\xf7\x15\xe6{s\xb0\xd2\x1c\xb9j\xdc\xbdK\x07q\xf9\ -!\xae\x9f\xa5\x94O\x9e\xa8c\xc3}W\xba@\xc5\xf7\ -\xa5;Y!\x0e\xaf\xa0@\x0cE)\xa6\x9e\x9fW\x19\ -@\xb6\xb2\x1e\xdc\x7f\xee\xc8\x89\xe5+s\x9a\xba\xed\xd2\ -\xee|\xc2X.\x9e,B\xf8\x09\xf1\xbcAB\xa7<\ -\xa8\x9fp\xe0g\x5c\x9f\x89\xc7\x08:\x81x\ -t\x10&\x88\x93\xd9XV\xa8G\x96\x8f\xdbWJ\xc5\ -\xfb,\x00\x16\xe03RF\x1a\xc8Mm\xf4\x08[Z\ -\x1b\xe8\xd5\xa4\x0e\x83\xe1\xc3-K\xc9R\xb6\x0f\x05\xf8\ -\xb0|)?\x83\xef\xc8\xe0;2\xf8\xdet\x067\x83\ -P\x95\x81\x05+\xf6\xa7\xe3\x96\xd3\xdb5\x9b\x08(\x14\ -\xc3{4y\x83\xa7\xd0+\x1e$SdR\xd7&<\ -\x04\xf8\x5c&\xaf\x02c\x16^#\xa4\x18MF\x91C\ -\x88\xc9\x19\x22\x97'\x14\x86\x19\x8bl\xdd/\xd7\xf2\xfe\ -o\x03\x85\x5cE\x94v*\xfd\xe3\xbd#\x8bb\xf3\xfa\ -\xcc\x16!\x11OBV\x12\xc2#E\xf0bQ2\xa5\ -|M\x19\xa3\xf4\xa2\xd9{d[\xf7\x1c\xe9\xce\x87\x84\ -\xe5b\x999\xa4\xd1a\x88\xb4R\xc1`\xcf\x06\xf7,\ -\xc1C*\x0c+<\xa0L?^V\x80M\x85k\xa4\ -\xa0\xf4d\x94\xafi\xf4\xe4\x1aV.\ -k/D\xf1E\xf3\x0f\xdc$L\xf9\xf2#8\xd7}\ -\x97z\xe7C\xca\x22dE\xd9x2\xa5\xa7N\xe9<\ -o\x10\xd0k\xc63\x0b\x91N\x02x7\x97\xe6\x8ao\ -\xd4\x93m\xd4\x8c\x9d\xaf\xa3\x90\xee\xd6)L\xa0\x17\x9e\ -\xdf\x8f\xd1\xb9y\x05\x9e@\x00\x10@\x95e\x9c[\ -\xbb\x03\x80\xb2\x1d\x94\x0fA\x94\x08\x0c\x01\xcds\xa0\x17\ -\x19\xa4K9k\xc7\xddz\x86$\xa9\x8eq\x83\x03\xe8\ -o\x19\xa4\x93\x01t\x98\x05h\xc2\x84\x9c\xa8\xb2:X\ -\x7f\xc1\x9c@p\xd7\x8a\x97\xeeA\x00\x1f\x01\x82g\xd6\ -\xb6\xff\xcab\x0a\xa7oXt\x5c\xd3\x92\x9al\xc1\xda\ -x\xe8\x0c\x91>,S\x00\x90\xd2=!\x0e5+\xbe\ -\xad2\x10\x905,!\x93\xc1\xc8B\xe9!\x5ck\x18\ -\xeb\xce\xc1E\xe7\x10/\xf5z\xa1h)\xffB\x22<\ -\x98\x16\x8fr\xe4\x9ex\xe0l\x91@\xd8\xb1b\xa6\x08\ -Lj\xa3\xc8\x93\x08\x10y\xb4\xf8\x0610\x00\x00\xe4\ -\x0e3!wN\x18\x08Y\x83r~\x111'\x00\xc2\ -\x0f\x10}\xf2(\x88\xf8K&\x96\xa9\x19\xbb\x9c1\x1e\ -|\xf6\xb1[\xc4\xaaXye\x15\xab\x92\xd7(\xe0\x15\ -\x16\xf9\xc2\x8a\xe6\x9eY\xe1\xccc\x0c\xe0\x1e\x83u\x8b\ -AS\x06\xb0\x8b\xdb\xe5;]\x88\x02P\xcd\x00\xacE\ -\xe3\x22\xe3\xc0\xf2\xf1,R~\xd6 \x19\xc8\xf0)\xd7\ -\xb8\x8d\xe2\xef\xa2x\xb9uM\xb1\x22(>\x8f\xb8\xeb\ -\x04\x05\xe490\xdc\xc1\xd3b\x89N\xf9w\x00%\xe0\ -\x1c\x87_\x0c\xe8\xd9D\x88%\x1b.vg\xcb\x0b\x01\ -FI\x96V?\x19\x03)7\x95qJ\xaa\x9f\xb0D\ -\xc8_\x02\x5c \x01R\xa8\xf7JA\xf57e9~\ -B\xa2@\x14R(\x83hF\xf1\x02\xd1)\x84\xeb)\ -\x13\xc8\xe3\xb5p\xf6\xa6\x95\xcc\x9fZ\x8c\xdc\x8d\x06V\ -3i>\xc5}\xacR\x1e@\x0f/\xf4\xfb!6\x9e\ -\xe8\xe7s\xc5kb\x04+P\xb6\x10\x92\x95\xe1JE\ -\x98\xa2\xc3\x5cL2\x04\x8b>\x8f\x9f\x9e\x17\x80\x5c!\ -\x11\xae\x93\x03a\xcb\xe1\x01#\x90\x9e\x90\x18*n>\ -\x93\xf8\xe6Sz\xe6H\x19\xfc\xc2e\x10\xe4\xce\xca0\ -\x94f\xa2\xec,\xee/\x8b\xff\xd7\xf2sP\xaf\xdcw\ -\x16\xdf\xffI\x00\x98\x16v4\x1f\x9fE\x98\xc9\xe6~\ -\x22\x9a\xd7\x9f\xbc\xcf\x83>u$\xb7b\xed\xb5K\x7f\ -\xaa\xd6\xdf\xc2\x86\xdfZ\xd9\xca\x1b\xdc\xe2+\x97\x02\x17\ -\xce\xe2\x11&Q\xe6\xa8\x8ca\xdf}\x7fPs\x0f<\ -k\xa0\x13W\xdf\x85K\x86Gd\x91\x16z\x16\xcfg\ -\xc7Q.\xdf_\x80G)\x9c}\xe4\xbe\xa3\x00W/\ -eG\x89\xef\x11R\xd4\xc8\x04\x16>\xa6\x99FM`\ -\x1d\xe1uN\xf0>\xd7y=&\xe5\x16\xdf\xd0=\x03\ -\xdan<*\xbcGK\xdcY\x9a{!~\xe7\x11B\ -\xc4\x1d\xf24c\x8a'\x08IGx8\xf1\xb1d\x98\ -\xbf\x07\x82aK\xa8\x1d\xb1D\xb2\x84dx\x94f\x22\ -}\xf0\x00y\x0c\x01G\xcb\xe7!@\x1d\x22M\xce\x86\ -kd\x911\x051v-\xa9\x07\x09s1\x9a`\x91\ -\xc8\xb5z\x0cZ\x0b+\xc4=,@3TY\xfcN\ -\xf1:\x9b\xcf\xc8\xda\xb3dY\x9a\x16u\xb1\x93\xf8\xa5\ -T\x09\xf7\xa7\x85\x14OH\x9b\x86\xbc\x85\x94\x90\xe6\xd1\ -Q^\x88\xef\x09\xf3}.\x15\x84\xd8i\xe1\xc8M\x15\ -\xf3\xb0\xd9\x9a8\x12\x08\xf0\x04\x9a\x0d\x0b82\xe9\x89\ -G$5\xcf \x22\xc9}\xf0P\xfa\xce\x90<\x08\xe1\ -*\x0ca\xd3B\x8e\x13\x0d\x10\xa2\x1a\x85\x08\xf9\xb5\x96\ -r\x9dr\xb4\xc2\xb7\x00\x00\x96\x9f\x03\x02\xbc\xc0\xeaK\ -@\xf0\x1a\x00\xe0\x05\xf0\x08\xa5\xfc\xbeh\xfe\x11\x96\x8b\ -\xd2\xc65KG\x08\xe0\xbb\xb3\xf1`\xd9\xe7s\x02\xa1\ -\x01\x14>t\x06\xa0n\xf3\x19B\x06\xdf\x9bGH)\ -\x9c{\x845?\xc5\xb3<\xb7\xca\x15\x85\xd2\xc7.\xb6\ -\xe7\xcd\x9cZXs\x13\xc4\xf6\xe0\xa0\xe6.\xf0Z\x80\ -=\xd0\xb3\xee&\xcc\x22<\x7f\x98t\xd7{~1\x7f\ -<+\xa2e\xedL\xe5\xec\x9aY%~\x17A\xdeJ\ -\xf1&ex\x95\x92\x09\xc2\x85V'\x01\xa4O\xd9\x07\ -\xa19\x19\xf6\x9f\x88\xfbO$3Hl\x98\xb0d\xcd\ -|\x0a\x00\x18\xb0\x00\x90\x89\x17\xd0\xd2\xb9\xc2I\xa6x\ -\x04?\x07\x18?\x17N\xd1\xa9$&@\x8c\xd6<\xbb\ -\x1f\xcb\xb9\x10}0\x0bt\x88\x08i\xc2&\x8aE\xe4\ -2\xb8Q\xdc{\x14\x92\xa3\x19,O\xe9\x0c2V\x90\ -O,- \x85\xd4\x92j\xee(\xb1\x14\x00\x84\xb0J\ -)-\x0b4f#!,9\x8c\xcb\xcf\xe1\xc1s\x07\ -\xb7-wh\x9b\xef\xc2\x1b0\x18\x9e7\xe0\xb3\xb0\xdd\ -,\xa5c(=H|\xd7\x8a\xa1^\xf5\xb3H\xa5x\ -\x83f 5\xfd\xac\xfc9G,\x17\x89\xf0\xde\x13~\ -\x1e\xc1\x13\x11\xcf\xf3\xb8\x97\xfc)\x01\x80\x98\x8f\xa2J\ -\x16P\xce\x22\xb1w\x09Y~j\xc5\x8bOP\xfcc\ -\xac\x16\x85\x11\xb3\xa3.\x1d\x03DR>\x03\xa6\x95\xba\ -\xf0\xf9\xdc\x7ft\x0cw>\xf1\x00\x90\xc0\x1df\x1e\xb9\ -\x82\x98\xc2\xb9\x87V\xc6w\xd4\xc2\xaa[\xb6_#\xaf\ -\xacq\xe3\xa9U\xa9\x00dJ\xcb\xd7\x1aS\x19\x94\xb2\ -\x12\xc2\x08i\xa1K\xa3Q\x90\xe6J.\xc4M\x98u\ -\xe0\xf1:I\xa9{V\xf0<\x02\xc0\x0e$\xf2\xc4J\ -\x08\x1d\xe5\x10\xc7J\x00Z\xa1\x05\xb8I@\xaa\xb9\x88\ -ntD\x18N\x87\xf3\xb85\x08\x91hxT*\x1e\ -T\xd7\x12\x99\x8c`\xe9\xca>\xa2\xf0\x80\xc80\xe1\x0a\ -@\x8bC]L\xa8\x05\xf4\x1dH\x8c\x98\xabf\xb7T\ -y\x93\x89\x82\xb5\xcc\xaaU\xb6\x08.#*\x97\x85\x14\ -\xe0\xc2\x0a\xb5d\xc9\x97\x15\xe0\x8e\x0a\xc7\xb5^@^\ -\xc9\xe0\x951\xb8\xaa\x0f(e@\x0a\x88\x81Q<\x80\ -\x18\xb5f\xbdD\xf2\xbc\x89\x22ra,<\x8c\x8b\x13\ -\x00\xf2p{Z8\xca\x1f\xddw\x927B\xaa\xe4\xa6\ -\x9e\xc5\x0d\x142\xf08\xf2>\x22\x98\xf2\x00\xb0\xf0\x10\ -`\xd2\xdf\xa4|M#\xe7\x89\xe1\x8e!\xdc\x97\xd2(\ -1i'zh\xc7\xc0\x05\x02B\xc0\x04\xf1yR\xa1\ -\x00\xef\x84D\xf5:\xe5\xbd\x8a \xe5\xa0xY}H\ -\xee\x12pi\xba\xd6-\xd3*\x94\xe1E\x14\xdb\xf3\xa7\ -p\xed(\xbe\xd0)^\x96\x0f\xa1\xd3\xd2\xf9\xe2Ck\ -\xdaxf]{\xaf\xac{\xef\xa5\xb5m=\xb1\xba\x95\ -;V0\xa1\xd5K\xcdF*;\xd1<\x8a\xea\x1e\x94\ -F\xc3q p\xeeU5\x11Xl\xb0}\x8eg]\ -\xe0\xf9\x96\xe0Hk\x18\x1c^\x01\x83\x10\x18\x8b\x09#\ -\xe5\x90\xc7J-\xc6!Z\x85\xcd\x1f'\xf4\xc8\x13\xe0\ -a\x15\xf2\x02\x8c\x93\xe3m\x22\xee\xce\xf5\xe3i\x87\xf7\ -\xad\x90\xf4\xb2\x08b_D\xec\xd7\x1a\x8e<\xa3\x96\xaf\ -U\xd7\xe02\x16\xe7\xd9N,&\x17\x0b\x8e\x8e\x8b\x05\ -\xe3\xe2\xb0\x1c\xad\xb0ET\xdc\xa0\x14\x86/)\xc0\x95\ -\x15j\xad\x9a\xc1\x16\x08\x0aa\xca%\x90\xa5JHN\ -\x0d\x03P\x8b\xdb\xabY~b\x15\xaa\x82\x99\xe2{\x18\ -8\xb9O\xcd\xaaerc\x9a\x0c\xcal\xd7\x84\xc8\x12\ -\xc8]\xe5!\xaf:\xcb\xcf\x13\x00\xc6\x0e\xf8\xfeC^\ -\x11\xe2a.\x0a\x94\xb7\x11I\x8c`\xed\x0a\x1d\xd9\x9a\ -G\x90(\x8c\x88C`\xa1\xb9\x9aM\xe3>\xf2P\xde\ -\x05\x00\xc2C\x90&b\x9b\xf2i\xa5q\xb2\x00\x97\xd2\ -i\xda\x18P\xbb*\x22\xb9A\xd2-\x89J\xcaD\xb6\ -\xa4(\x0d\x9a\x98\xb3\x08\xa6\xf8\x84\xb7\xe2\x088\xc6\xf1\ -\x0c\x0e@x6\xc0\x9dG\x98\xc8\x83\xddk\x11%_\ -\x8bf\xb3\xa7(\xfc\x9e\xb5o>B\x1eZ\xcb:c\ -\xb2\xc0\xb8\x8d*m\xc3B\x9d\xf2\xc9\xa4\x1c\xc1\xc5=\ -\x93\xbe\xa5\xfdN\xd2\x01A\x16\x00\x08a\xfda\x01\xa0\ -\x97\xf1\xe9\x07\xf4x\x0e\x01R\x0bo\xaa\xbb(#{\ -\xa8 },c\xbc\x0b\x09\x09yd\x1a\xf2t\x0a{\ -Y\x8c\x95RG\xf7\x0cH\x10\x8e\x95\x8b\xd1\x16O\xdf\ -\xc2@o#0\x7f\xee[\x9eY\xa48{P\xe1\x0c\ -/=r\xc6w\xdc\xb6\x98\xe2\xf9g\xa0\xf9\x89#1\ -\xf9Z\x0b\xe0A\x9d\xc5(\x9d\x11\x08\x88\x8b\xf9(\xbf\ -@\x1e\x00\x17+)f\xe0+g\xcex\xd8{V\xbb\ -\xf4\x00 <\xb0r\x15\x18hiW\xf3\xe5\xa4|A\ -,6S\x88T\x5c\x07\x00\x99\x1d\x80@\xb5\x01=\xab\ -\xb8\xf1\x0d,^ \xd8\xe5\xbb\xf7\xf10\x87N\xf2G\ -\xb5\xac|hy\xc4\xf6(\xca\xca\xc1\x8b\x84\x01\x92\xac\ -_\xf3\x09aBS\x0e\xee\xd9\x03\xc0\x89\x93(\xde@\ -\x96\x1f\xd2D\x0a\x96\x93%\x12E\xa8\xf1D\xef5\xe5\ -\xec)\xd9O\x88\xc9\xe8\x22m\xec\xc4%\x03\xc8t\xee\ -+\x0d7\xac\x05\x1d\xa5\x92Z\xdc\xd14\xafV\x1c\xb5\ -l\x1b\x1a\x85\xe5;\x81\x1b \x11\x18uD\xa1\x82\xeb\ -\xcaC\xe6\x8d\x1dY\xc5\xecukX\xbae\x8d\xcb7\ -\xad~Q\xe3rh\xb9C\xcaL4/\xb1\xe0V\x0a\ -E\xda4\x81#\x00x\x82\x07p\xb3w3\x00`\xd1\ -\xc2\xe7\x0bf\x11 \xc9\xc7{\xe52\xce9\x18\ -\x80\xc0\x1dR\xba(\x10\x88\xb4\xa2\xfcl\x80S\x80\xe1\ -\x96\x93eT\xa2\x97*\xc2^\x05\xa1\xae\x80p\x18\x19\ -\xbd\x83\xdc\x05\xd8\xe8y\xf2!\xfa~l1e\x8b\xcf\ -A\x16\x04f\xe9\x19\xaf\xc4I\xad\x12\xc1de\xcd\x02\ -\x80bH\x94\x0bE\xa5\x14Y\x1fR\x88{*\x87\xc9\ -Vc\x015\x0bw\xac\x1a)S\x09\x94\x06\x08Tf\ -\x8b\x95\xe3\x9e4\xf8YZ~e\xd03yH\x89V\ -\x09E|<\x10\x10\x0a\x00@\x11.\xb3x\x92\x98\xa7\ -%hX\xb3\xbcM\x81f\xcf\xb0\xe0\x5c\xacY\xd7u\ -\xd7\xe6\x1er\x01\xa0\xabA@\x14\x0arP~\x18\xcb\ -\x97\xf2\xc5\xa63\xf9~\x91\xaa\x80\xe6\xf7Q\xb2[g\ -g@\x03\x9aM\xe35\x83\x90\xa4T\xc9\xd5\x0d(n\ -6\xcd\x91?\x93\x81(\xcf\xef\x12q\xd2b\x13 \xe6\ -\xb9%\x99<{&\xd7U\xcdA\x90{q\xec\x19\x0f\ -\xa2\x9c]YL\xfe\xe0\xa6\x95\x8en[\xf9\xd8\xb6\x95\ -\x8emZ\xe1\x90\xc2\x15it+\xdf\xaf\xc5!Y>\ -9z\x0a\x0a\x97\xe2\xf5\xdeM\xaa\x9dO\xa8es\x7f\ -\xdeB\x19\x9e\x91\xf0\x18\xc1#iZZ\xeb0\x01\xa5\ -s\xf2J(X\x99\x89\xe39\x0e\xf0\xc8'\xf2\x0b\xf8\ -\x19\x1b\x85.)_\x9f)\xc4\xf5W`\x9c\xd5x\x8d\ -\x1a\xf8N\xd5\xd2S\xbc\xd5#G\x8as5\xff1\x85\ -\xf2I}\x0bg\x9f\x08\x00OP\xfe\x13\xc8\x8b\x08\x0c\ -\xae\xdc\xc5\x1a\xf2T\x01\x00\xf4\xe70\x18\x1e\xa3\xf7\xe6\ -\xf0e\x91Q\x90VD\xdc.#\x95)\x9f\xbaf\xe5\ -\xd3\xd7Q\x1c\xf1\x98\x8bk.=\x84\xa5\xaa\x94*\x1b\ -T\xba\xd94\xac1\x88\xfb\xff\x04\x82.@ >@\ -&P\x08\x00\xca\xa6N\x08)7\xacj\xee\x96U\xcd\ -\xde\xe2\xe7\x1bVL\xe8q@\x10\x07A\x0a\xb1\xb6\xa2\ -\xf1\xe3OR\xc0\xcfQb\x9d\x9bBu\xca\x87ek\ -\x1d\x01\xc5k\x81\xc7-\xf2\xa0h\xb7\x82\xc9 \xaa\xf4\ -\xcb\xa5v\x9al\x01\x0c\x0e\x18.\xdde\xa05i\xd4\ -\xad\xd4\xef\xc8-\xf7f\x11c\x83R>\x03\xad\xa5i\ -?\x80\xf6\xf3<~\xc7\xa0a\xcf(\xc6\x07\x90\xfc\x9a\ -\xeb\xe7:!H\x9cD\xf5\x90*\x7f\xf35K\xf1S\ -\x96\xa2i[Y>JOE\xe9\xa9\x9aQm\x12\x1f\ -\x80\x10jB\x8dLGs!\x9a\x13\xc9\x19\x80\x14\x0f\ -\x89\xe0\xe2\x81t\x8f\x5cC\x00\xd0\xab\xcb\xc8dL\x1a\ -K\xc6\xfeB\xb2?\x09\xe3\x0c(\xc5a\xc2\x84\xbe<\ -\xbc\x94b\x7f\xc9\xec\x1d\xc7!*0j\xf1\x87\xe2\x99\ -{V$\x91\x81;\xb9O\x08 F\x94\xe2\xbe+H\ -_*\x17!6\xf3\xf7H=nc\x95\xb7\x18`/\ -\x9dSi\x94\xe6\xb75\xeb\x17\x14#gPs\xb8\xf1\ -<\x10\x9b?\xb8Ez\xa22\xb0\x1d\xe2\x97j\x03\xfe\ -w\xc9\x06\xd1\xaa\x11\x90efv\xc9\x22=\xe6\x1b\xec\ -\x5ct1\xafhd\xc7*\xa7\x8e\xacf\xf6\x9a\xd5\xcd\ -\xdf\xc0\xab\x5cw\xc0*\x84\x13\xe4\x0f\x13\x07\x87w\xf1\ -\x06{\x00\xe2\x00`\x1cy2y\x08\x08\xf6\xb8&\xe1\ -\x01N\xa1\xfa\x03-E;\xe5\xb7{\xcaw\xa5_(\ -X\xae4\x0b\xab\x0e)\xae\xf3<.S\x00\xa89\x0c\ -\x94\xe6\xfb\x95\xb2j\xd5/\x87\x98\x18\x1d\xbb\x83{\xbc\ -M\x0a\xa7\x22\x93\xeb\x16\xe4\xf3\x81\x81C\x94\xaf\x15I\ -\x84\xd0\xe6RfB\x85&\xcb4\xff\x9e\xaeU\xb8\x06\ -b\xfa\xb9\xa4jF\x137\xef\xc9\xb9\xf2\xa5x\xd26\ -7\xb1\x06s\xcf \x97w\xe5c\xe2HR.\x8a\xcd\ -V\xcd\x858\x8c\x96\xc85\x0d\xcd\xd8\xb9\xf0\xa5\xbf\xe3\ -\x11\xe4\x15\x5cH\xd5\xff\x08|\xe7\xe2y8\x9e_\x9e\ -\xb6W\x04r\xdb\x85Dq\xa3\xfc\x09\x0c\x09\xbeR\x06\ -\x17(W\xb5\xd7\xec\x19\x9c\xe2\x94\xf4\xf2\x96\xe5O\xaa\ -\x88\xf5\x86\xc5\xe4\x8b\xe8\xe1\xceKfn\xa2x\x88\x03\ -\xaf\xaa\x08\x12\xf1\x8b2HZ\xd0P:'\xc5k\xde\ -_\x8b?\x01\x88\x8d\x8a;\xb3\x18\xecl\x06]u\x7f\ -!,<\xa4<\x17`(\xa5\x0b\xf1P*\x14\xb9\x00\ -\x80\xf3\x00\xce5k\x92g\x8e\xef\x82\xfc\x00\x88\xc2\xc1\ -\xab\xb8\xcf\x1d\xab\x9a\xdc\xb7\xea\xa9\x03\xab\x98\xd8\xb3\xa2\ -\xe1-\xcb\xed\xc7-\xc2\x8as\xfa\xd7\xc8\x1a6\xe0\x1d\ -\xb8\xd9\xa9=\xab\x98\xde\xe3u\xd7J\xc6\xf9\xcc `\ -\xecUX\x81h\x9e\xd7 \xf8\xb5\xd6\xaf\xd54\x06&\ -\x13o\xa5\x8a^Y\xb5H]\x14\xc5j\xb2Gq\xb4\ -P\x0b$\x9a#\x9fy\x80\x90\x12\xce>\xb3b\xcd\x0a\ -\xce>\x86\xe4\xdd'K\x80\xd0\x92I\x84\xc8jB\xe2\ -\x03C0o\xf1\x1b\xbeO\xdf\xebf\x09\xa5P7M\ -.\xb7~\xe1\xe2/\xc4\xb3z\xa7x\x80\xa2\x99UM\ -\xe2\xb8\x096)R\x96-\x05\xa3\xe8 \xca\xcfR\x18\ -\x13\x91\x05\x00\x9a\x07p\xeb\x02x\xaaLy)\xc0\xa6\ -5\x13w=\xe7A\xe4I\xf8nD\xd3\xe8.\xbdT\ -Z\x09\xef\xd0\x8a\xa2V\x16#x\x93\xe8\x88H\xf6\xb1\ -\x95\xe2\xa1+\xf0\xb0\xe52\xae\x19\xbc5^[3\x90\ -\xca\xf2b\x22Xn\x8e\x8a9q\xc5\x85\x13X\x16\xf1\ -\xb8\x08\x0b\x14)SUPXV\xcc\x8d\x04eM\xb0\ -\xda\x80f\xea\x9a\xbd2\xef@\xf3\xa4e\xb6L\xe1\xf6\ -fI\xd7\x16\xf0\x0c\xaa\x00Z\xe5\xf3\x02\x02y;\xca\ -\xbf\xa8\x16\x0a\x09\x9d\xddZ\x1d\xd4J\xa1\x5c'\xa9\x0f\ -\x9f/\x80\xf5\x96\xa1\xf0\x0a\xe2h%J.\x1b\xde\xb0\ -\xfc>\xe2b7\xe4\xa8\x1bv\xdc\xb3Hl\x5c\xc1S\ -\x00\x94I>7\xb5\xe5^K\xc6\xae\xc2G\xb4\xd4:\ -\x8f\x85\xcc\x03\x809\x0f\x5c\xca\xab5\xa9\xa4\x01&l\ -\xb9B\xd2\xa1\x1b\x907\x88-\xa9k\x81X1n\xb1\ -d\x11\xb7Hl,_~i\x15+\xef\x90\xf7ns\ -H\xf9\xd2+x\x10\xa4xF\xeb#\xca\x904\x01\x04\ -\xb9\x85uk\xa2IdK\xdf-\xf7\xad\x18\x9e\xeeV\ -I=\x00\xfcC\xbc8\x9f\x0e\xbf\xf0a,n\xb9\x99\ -\xf1\xd3\xac\xa6j d\xa9Y2\x0c\xdc~\x96S>\ -\x0aGa\x9a;\xd0\xfb \x0a\xd4\x8a\xa0@\xac\x19\xd2\ -\xf4s\x22\xa9p\x92\x5c\xaf\xbd\x14\xe3\xc8\x98\x93\x94\xfa\ -1\x806\x0e\x18 \x95*<\x01\xfcA\xc69\x1b2\ -\xac\x22S\xd5g\x16\xe1=K\xa7\x0e\x9d\x94\xe0=\x0b\ -\xc75\x8f\xa2*\xafm\x8b\x09\xc2\xca\xe5B\xe5JU\ -\xcf\xa78\xa4\x14-\x97\xf8\xaa\xca\x9d\xdf\x03@)\x9d\ -_h#\x7f\xf55N c\xc88`\x98\xc43L\ -;\xab\x0e\x8a\xed\xa3\x00\x91?y\x82\xb0\x5c\x92\x9bP\ -\x22D\xf0]\x02F6\xee,\x9b\xef\x8b0 \x05<\ -l)\x00\xac\x18\xdd\xb5\xca\xd1\x1d\x00\xb0i\x05}+\ -\x96#\xe5w\xc9K\xccA\x92\x16\x085\xcbV<\xba\ -\x86\xe2\x91\xd1U\x88\xe82\x1e\x02\x0f\xd45\xcb\xf5f\ -\x19`\x00\x80G\xf2\x0aR\x96\x08\x05\xb24\xa5F\x9a\ -\x0d;B\x81\xd7\x01\x806p\xdcE\xf9\x0f\xacl\xe5\ -\xb1U\xae\xbf\xb0\xea\x0d\xed\x81\xf8\x02\xf9\xca\xea7\xbe\ -\xb4\xda5\xc0\x001.Q\xce\xaf\x8c\x08/\x10q\xca\ -W\xfeL\xfa(\xe5\x93\xd9h\xdaZK\xe3N\xf9.\ -\xbf\xbf\x08\x03S\x80b\x9a\x1c_S\xda\x0b\xa4\xc0\xe2\ -<\xde\x18g\xf7\xf1\xdcx\xb6\xec\x01\xd2Z\xf2\xfd,\ -8P\x10\xc9$\x94\x06\x00D\x00\xa5y\xfb\x1c\xb4\x9a\ -\xa90\xa1:\x8cYK\xe1\xfb\x93\xeb\xc7\xdd\xd4o\xa2\ -\xa6~\xab\x07\x91\x01KD\x92j\x06-\xa5n\x84{\ -\x98\xe0\x9e\xce\x01\x80'\x16\x00B\x22\x95\xe84\x8f0\ -[0F(e|\xf3y\x1f\xe5w\x9a\x81\xcd\xc4+\ -\xc7x\xb1\x12\xa5\x11\xa3\xc3\x179:\xcaW\xa5\xaf\xdb\ -\xf4!R'\x02\xe5\xd2:\x08\x93sG\xb84-\xd8\ -\xe8\xa2\xa0/\xa3q\x12\xe2\x83W\xd0\x1c\xbe*\x85p\ -q\xaasS\xcd\xa0\x9b\xb8\xe1\xbb\x1cs\x87Q\xe7\x12\ -S\xa3\x90\xaa\x1c\x14\x93\x8b\x85\x16B\xb2J`\xb6e\ -\x90\xba\xf21\x90\xcaM\x16\xe2\xdasU\x05\x8bug\ -w\xce8\x09w\xcf\xc1\x94\xe7\xf9\xdf\x05\xcbE\xf4>\ -\xa4\xaaY,_\x1e (\xcb\x97\xfbg\xd0\xddB\x96\ -\x8b\xb5+\x96\x01\xc9\xf3w\xc9\xd5\x02f\xae\x13U\xc8\ -S,\x5c\x82\x1c\xad=\xb5\x9a\x8d\xd7V\xbf\xf5\xb95\ -l}a\x8d\x9b\x1f\xacn\xed\x8dU.\xc0\x9a\xa7\xef\ -\x91N\x89\x07\x1d\xbb\xa9g\xa5\x94\xae\x80E3z\xca\ -\xebQt*\xd6\x98\x825\xaaH#\x15\x05\xa9,+\ -\x03e\xf9P\x9a\xd62\x82\xb8d\xcd}d\xc3u\xb2\ -\x01uv\xff2\x8c~\x09\x01\x14x\xb5 \x9e.\xc0\ -\xdf\xb4\x0e\xa0B\x18\xa5\xa6i\x0d\x0f\x81\xe4\x15\x11\x0ar\x07\x95\x13\ -k\x105\x98\x80\x0b\xd1k\xa0\x1dO\xd3>\xc5=\xf3\ -\xbec\x06\xd1\xfd{ V\xf5L\x06\x0f\xa5\xb2/\xad\ -\x8cI\x5c\x09\x18\xca\xf03\xc0A\xb9E\x88e.\xcf\ -\xa7\xda\xf82@P\xb5\xfa\xd4\xed\xa8\xa9\xbb\xfa\x0a\xe5\ -\xe3\x114]\xccXs\x02\x11\ -\x94\xab\xc9\x197g\xaf\xf9zrhW\x17@\xa6 \ -\x90\xa8\xd2U\xa5T\xaa\xa7\xcbG\xc1ES\xf7\x5c\x1e\ -Z6G\xca9\xff\x94\xb4\x04\xd1^<\xa4z\xe1\x99\ -\xd5,=?\xcfWq\xcd\xa4\x82\x85\x10\xc2(\xf9\xb4\ -\xea\xe1\xfd\xed\x22:\xb8V\x15:\xe2qT\xe3\xafJ\ -\xd8\x14m\xfel\xc6\xeaTIK\xecK\x03\xc8\xca\xed\ -U\x0a\x9eD\x5cL\xa8\x1bf \x87p\x9d\xc3\x00a\ -\x0cw\x0ap \x8b!\x5co\x14\x90\x17LA|a\ -\xc6\xe5d>\x95\x5cW\x93&\xe5\xe2\x07\x137\x9d\xf7\ -\x0bCb\xb5\x1a\xa9ei\xa5t\x8a\xbbRzb\xf5\ -\x08\x83\x8fEV\xfeCT\x98\x91R\x87\xf5\x036U\ -D\x85\x18\xec\x08\xde/B\x8c\x95W\xcdRyv'\ -\xe0h\x1b\xc63\x0d\x00\xca\x01\xee\x1d\xd0\xf0\x0c\xc9<\ -K\x12\xa14\xb1~\xd4Sz\xcd\x90\xc5U\x0dX,\ -J\x8fE\xe9W\xca{\xecJY\xb7\xc5:\x01\x00\xe5\ -\xb2|mv\x19u\xe9f6\xc0V\xf5\xb6\xdb]\xe4\ -vx\x9d\x91\xe7\x9f\x02\xf2\x9b\x84.M\xf3k)y\ -\x8b\x90\xa2\x0a&-k\xab~\x91\xb1\xd2\xc2\x11\x9e;\ -F\xec9\x0c\x11+P>>w\x13e\xdc\xb5\x86\xb5\ -G\xd6\xba\xf1\xd4:6\x9f[\xfb\xc6sk\xbd\xfa\xcc\ -\x1aV\x89\x99\x90\xa7b\xb1h\x01A\xf3\xe50bW\ -\xf0!\xe9\xe5\xbd\xea\x00T\x11\xe3V\x08!]\xa3\x9a\ -\x17\xe7\x7ff\x1e[\xd9\xc2s\x06\xfa\x95U\xad\xbc\xb6\ -\xea\xd5\xd7V\xc3k\x0d\xaf\xb5\xb8\xdc\xba\xabo\xacv\ -\x9d\xbf\xad>\xb1\xd2\x05\xd5\xcaifO\xeb\xfa\xaa\xef\ -W\xb95\x83\x7f\xb1\xea\xc5\x83'\x12\xf3\x12\xa5\xe0\xfa\ -\x11g1Z\x05K\xc6:\x93\x88\xbdZ\x16\x8d'.\ -\xc6Uuc9\xda\x07\xd8\x85\xc5\xf6\xf2\xc0\xc3\xcec\ -d\xe3vs4\x039y\x02\xfb'\xeb\x01\x04\x92\x12\ -\xd2\xa5\x22\xbc^\x9e&W\xa4|\x14\xa9\x02K\xb9\xf9\ -$\x17{\xa5|\x09\xf7P\xcd\xef\x9c\xe0\xa2k\x95\xee\ -\x09\xa4\xcaB\x94\x95\x90\xcb\xe315\x81\xa6I\xaa\x10\ -^G\x045\xa3e\x84\xb0\xd1k\xc95\x9d\xfc\xbf6\ -\xa7v\xe3\xd6q\xe5N\xfa\x9c\xc4U\xc9\xbdK\xfa-\ -\xb6\x1c\x00H\xca$x\x81\xf2\x01,\x7f\x10\xe5\x8f\xa0\ -|\xc2\x0c\x8aT\xb5\x92\xf6fH\xf1.\xa3\x99#l\ -\x01b\xadu\xe4\xe0\x054y\xa4\x14\xd3\x15\xf7\x92\x81\ -x\x05>\xe2-\xe2,\x18\x12\xa1#F7\x98\x87E\ -\x94\xe2\x12kV\x1fZ\xf3\xd6s\xeb>xkc7\ -\xbe\xb0\xf9;\xdf\xda\xe2\xddom\xf6\xeck\x1b9y\ -o\xad\x00BS\xbe\x8a\x8d\xb9\x90\xaa(9tt\x80\ -\x87\x1d\xe0u\x90\x9f\xb1\xf8\x5c\xa7\xf8\xbbd\x15\x0f\xc8\ -C\x1f\x93s>\xb5\xd2\xf9\x97V\xb9\xfc\xc6\xaa\xd7\xdf\ -Y\xcd\xd5wV\xbb\xf1\x16\xb7\xfb\x86\xf7\x80\x00\xa9\xc6\ -\x05W\xad?\xb3\xf2\x15\xad\xdc\x9d\xc2\xbc\x0f\x88\x91\xeb\ -\x96\x8ekK\x22\xd6&\xd4N\xa0\xd4\x09^'\xb1\xec\ -I\x94?n\x09(Z\x92\xc8\xdf\x93\xc8\xb3\x93H\xb7\ -\x12a\xde\x09Xb\x1c\xae3\xb6\x12\x8b)\xef`\xd0\ -:\x18\xb4n\x06m\x80A\x98\xf0\xbc\xc0\xd0\xa6\xbbF\ ->\xe9P\x01)o\xc1\x946\xbc@\x125\xcb\xa6x\ -\x0f9\x15\x97\x10\xc1\xd3\xba\xbbW}#\x12&\x85\xe3\ -\xaa\xeb\xe7a\xe4*\x07W\x15\x92\xea\x10E\xdc\xe0I\ -\x18@xD\xeb(\x8c\x81\x16m\x00\x81*\x81\x15\x9e\ -\xd2\xb1ro\xb3j\x97%Ttr_]\x08 \x95\ -K\xaf\xecq1=\x1e\xe5\xc7c\xdd\xf1UC\x08\xde\ -\x00e'T\xe1\xcd\x00[b\x8d\xbc\x90\xd6\x144k\ -\xa9l\x02\x0f\xc3\xf8\xe7\xe3\x9d\xdd\xe2\xd4\xfc\x03Wy\ -\xa4\xfa\xbf\xc8\x98\xf6\x1e\xee\xb9I/\xcd\x13\xa8\xeaJ\ -\xd9\x88\x0f\xcbW\x88\x92\xe7\xf0\xb5@\xe4\x91\x98\x5c\xcd\ -\xac\xcd\x9e\x92\x06=\x84\x0c\xbd\xb4\xd6\x83\xf76x\xf3\ -k[z\xfc\x93\x1d\xbe\xfd\x93]{\xff';x\xf5\ -\x07[\xbe\xff\xd1z\xf7_\xe3\xbe\xb9\xc8\x98,\x1c\x91\ -\xc2\x87\x15\x1an\xe3A\xee\x92F\xde\xc7}\x8b=?\ -E\xf1/q\xb1op\xb1\xef\xdd~\xfbZ1l\x88\ -V\xed\xd6{\xab\xd9|mUW\x9f[\x05\xf1\xb7\x5c\ -\xe5Q\xb8\xe0\xe2E\x95N\x9d\x91\x7f\x93o\x93\x85\x88\ -\x11gp\xf3\xa9 7\xb9y\x19R\xb4\xf2;Y\xe4\ -w\xf3\x96DN\x9c\xd4\x04H\xf8\xd9\x09?'\x82\xf0\ -\x04<\x85\xe2g\x02\x16\x95\xc8\xc0&U\xf7C\xd4\x88\ -\x97\xcaVD\x18\xf1\x02\xa1\xa1-\x94\xb5\x87\x9b\xd4\x0a\ -\xa2\xa6W\xbd\xa5`\x15\x9eh\x11K\x03&k\xd1\x9a\ -{\x12\x16\x97T\xa7\xd02\x87\xcb\xd6\x12\xec\x1a\xbcb\ -\x93\xf8\xad\x125\xdd+\xe9\xe1 \xf7\xad\xa5\xf0\x09Y\ -\xa0\x96\x98\xef\xb9ei-\xd8h\x7f\x85\x06?M\xe9\ -\x1b\xcaM\xa8\xe8\xff$\xf1z\xad\x84\xd1W\xc9\xba\x87\ -\xbc\x10s\x0e\xb6\xc4:\x11A-\xf7jQI\xcb\xca\ -\xaaz\xde5\xed-\xd4\x0e\xa5\xa8\x96\xbcU\x84\xa2z\ -\x86\xb9\x07\x16\x9d\xbama,_\xd3\xd5\x9a\xfa\xf6\xb2\ -\x15Ur\xcd\xbb\xeb\xfb\x91\x00\x5c\xe6b]F\xc4?\ -&\x1f7X\xa28\xb8\xfe\xd4\xeav\xb4\xa3\xf4\x0b\x1b\ -8\xfdh+\xcf\xffh\xd7\xbf\xfa\xbb\x9d}\xf3\xcfv\ -\xfd\xc3_m\xe3\xc9\xcf6pD\xae\xbc\xf0\xc0\xb4\x9f\ ->\x8a\xd2\xf3\xc6\xb4A\x94\x9cz\x1a\x17?\xfb\xcc\xca\ -\xe6_\xe0\xea_\xa2\xf4\xb7\xb8\xf3/\xadq\xeb\xa3\xb5\ -\xed\xffh\x1dG?Y\xc7\xf1\x0f\xd6r\xf05\x00\x00\ -\x14\xb0o\xb1\xf0B\x5c\xaf\xae\xafmJ\xd1\x89k \ -\xf7\x18\xe5\x1fX&1\xcd+\xf5f\x80U\xab\xd0\xa3\ -\xbd\x7fG\xa4tG\x0c\xf8!\x8cy\xcf\xd2:\xb6-\ -\xb5}\xc3R\xb0\x86\x148Hr\xeb*\x02Xp\x8d\ -\x02B\xb2\xcb\x9b5\x19\xe3\xe5\xe5J\xd9D\xe4\xb4\x83\ -\xd8\xafy\x02\xd22\xf5\x17P\x9f\x01\x15]\xba\x1a<\ -2\x1e\xada\xa8\x08T\x936\x9a\xb2MQ\xe1E\xc3\ -\x1c\x1eF`[\xb2\x14\x14\x91\xda\xae\xba\xc4=\xee\xed\ -\x00\xe5k\xad@\x1bSnY\x08\x82\x1bA\xf9\xd1\xe9\ -\x87\x96+\x99\xbc\x07!\xc3\x13\xa8@\x86\x10\x99\xa5\x82\ -Rm\x85\x97R\xa5\xdcZ\xac\xba\x86\x10\x82w\x93$\ -\xab_\x02\x22\xc0%\xd6\xcf\x12\xd6\xb8>\x1e&M%\ -\xed*o\xd7~B\xbc\xad\xae\x15\x1e\xbfc9\xba\xd6\ -\xccC\xe4\x81E&\xef\x00\xc0\x1b\xfc\x9d\xb1\x82\x9f]\ -\xd4uj\xf2\xc8\xc7\xf7\xf8y\x0d06JK\x95\xa2\ -\xbb4Q\xf3\x00\x05\xf3*\x14|\x88R\x9eY5\xca\ -i\xd8\xfb\xdczn|\xb4\x85\xa7\xbf\xd9\xd1W\xffb\ -7\xbf\xfd7;\xf9\xe2\x9fm\xfd\xd9\x1fm\xe0\xe4+\ -\xe2\xf8S\xcb\xd3\x83\xa1\xf8\xfc\xa9GV<\xfb\xc4)\ -\xbdr\xe9\xb5U\xae\x90B\xad\xa0\xfc\xb5\x0f\xd6\xb2\xf7\ -\x9d\x0d\xde\xfa\xa3M?\xf8\xab\xcd>\xfa\x9bM=\xf8\ -\x93\xf5\xdd\xfc\x88\x97y\xe5\xea\xe2\xb4)5\x07W\xa5\ -\xd2\xa7l\xd2M\x95*]\x886{\xb8-\xd4\x9a\x85\ -\x1b\xd3\xd4\xec=,\xeb\xa1E\xc6\x1fYh\xf4\x01\x7f\ -\xbb\xcb\xa0\xdf\x02$'\x96\xd1\xb3oi]\x80\xa1\x03\ -0\x90\xf2\xa5\xe2\x8e\xd3T\xba\xad\x12n\x95\xaeu)\ -\x85\xf5D\x9b<55\xec\xe6\xf2\xc9VTN\xae\xbd\ -\x04\xday\x14\xec\xe7\xda\x02\x01\x04W\x9f\xf1\xa9\xe0\x94\ -TR\xde\xc6y\x19\x94\x9f\xd4\xb2b\xc9mW\xb9\xd6\ -\xb6\xa5w\xed\x03\x80C\xf3\xf7\x03LxO&\x16\x19\ -$\xbb\xc9\xd6T2^ Gc\x84\x17\xc8W:\xa9\ -Wy\x06\xc2\xa3v\x1be\xaa\xcbH\x1b\xdf\xd1r\x15\ -`\x12B\x1a\x89\xcf\x0dX9\xc0H\x05l\xc9\x02\x9d\ -S\xfe\x8a\x03y\xba\xf65\x08l\xfd\xc7\x969\x04\xd8\ -\xb4\xb4\x0b\x00B\x5c#\xbe\ -G%}\xae\x88W\x15^J\x89\x19\xe7\x08\xc41\xa6\ -@\xe5\xc90\xe0b\xad7\xe3\x92+\xaf\xbe\xb0\xa6\xfd\ -\xf76t\xfb;[z\xf1'\xbb\xfa\xf6\xaf\xb6\xf6\xea\ -\x9fl\xe6\xc1/\xd6u\x0c\x00V^@4p9\xb3\ -\x8f\xad\x106\xaf\x961\xe5\xcb\xaf\xac\x12B\xa7r+\ -I\xf5\xfa[\xac\xfe#\xff\xf3'\xdbx\xfd\xcf\xb6\xf5\ -\xe6\x9fm\xed\xc5\x9fm\xf4\xec\x1b\xb7\xd7=\x9ft\xcf\ -\xd5\xdeA\xb8T}sQ\x01\x9b\x0dk\xd5\x0e\xda\x88\ -\xd6\xbb\x19\xb8<\xcd\xc8\xa9xs\xf9\x9d\x95\xac|\xb0\ -\xe2\xe5/\xf8\xf9\xbd\xe5\xcd\xbe\x06\xfd\xcf\xb0\xb8\xfb\x0c\ -\xfc-\xf310\xe9x\x0a\x01!\x0d\x85\xab\x9d\x8bW\ -\xb4\xa9%S\xae\xc5g\xa2\xaa\xe1\x93\xe5\xc8U\xf7\xe1\ -e\xb0t\x95D\x09\x00\xf24\xaa\x15pB\xca$\x0b\ -\xca\x808i7Q\x0a\x83\x98\xec\x04\xe5\xb7\xae\x01\xb2\ -MKE!\xe9j\x17\x03\x00|\xdaL*\x10`\x99\ -\x99\xda1Lh\x94\x82\xb4\x9e\x90\x8bK.$.\xab\ -\x12\xa9\x8cL\xa7t\xe1\x85\x15\xc2\x89r\x00q\xf6\xc0\ -\x19q\xfc:`\xc0\x83tr?\xed\xbb\xa4\xb9\x00\x97\ -k\xa4\xa3\xacT\x89v4u\x02\x94\xee}\x80~\x01\ -6\x81@\xd7\xb9\xc5un;\x09\x02\xac\xc0\xd0\x0dw\ -/\x19\xdd\x02\x80X?\xdf%n\x02\x80\x02*\x91g\ -\x5c\xb4/Ben\xe1\xe1k\xa6\xd66Q\xf8CL\ ->\xcc>\x9f\x9bT\xc5\xaa\xa4@3ex\x84\xba\xed\ -\x97\xd6q\xed\x83\xf5\x9e~k}\x84\x84\xee\xeb\xdfX\ -\xd3\xde\x07\xd7\x07\xa7xY=p\x9e\xa3\x14\xdc\xbd\x94\ -N\xfe\x5c\xb1*\x12\xc7\x83\xaa\xf6\x1c \xb5\x01\xa2\xe9\ -{?\xd8:\xa1\xe4\xea\xf3?\xd8\xd2\xa3\xefl\xe0\x18\ -\xa0,\x9e\x12o\xb5|\x89U*?\xd5\xdc\x82\x16\x9c\ -\xb0\xa2\x10\xc4R\x03\x17A\xf9\xb9(\xbf\x88L\xa1l\ -\xf3K\xab\xda\xf9\xcej\xf7\x7fB~\xb6\xea\x9d\x1f\xad\ -l\xe3#\x7f\xfb\x02\x80\xbc\xc6\x02\x1ey\x030p\xcd\ -|\xb8HI\xa0\x1f7\x89\xe2C\xfc>\x07\xef\x91\x07\ -/Qm\xa0\xaa\x7f\x0b\xb4$\x8a\xa5\xaa~_\xeda\ -\x9c\xbb\x94\x90\xba\xb9\xf2s\xbd\xc73dh\xc1\x87\xd4\ -\xd6\xdb[\xe8y\x95t\x066\x1d/\x92\x0e\xc0|\xbd\ -\x84#Dn\xd9/\x10\x10\x0ad\xa1\xb2\xc2L2\xa4\ -,-\xd9\xe2\xe1\x04v\xcd\x9e\xc4\x89\ -,_\xca\x17\xf0\x18h\x1f.8\x83g\xf2i\xfa\x1c\ -\x8e\x11!\xe5,\x22\xc3\xaa#\x9dn?\xfc\x0a.\xf4\ -\x9d\xb5\x1d\xaa\xf9\xd6\xb7VM\xa8,\x9b\x7f\x05\x7fz\ -ne\xf0\xa8\xd2\xf1\xbbV\x84\x82\xf2\xb9/eV\xda\ -\x98\x9a\xd5\x07\xa9C2\x7f\xdf\x9a\x86\xebi?\x82@\ -\x90\x09\xd03y\x95\x07\xf2\x9aY\x09\xd4\xaa\xf7\x83\x08\ -\xba\xf2uO\xf1Ay\x0dH{\xf6\x18a\x08\xf2\x18\ -\x11I\x9d\x06\x00\xa1\x11\x5c\x22\xaeX\xabR\x81\x8by\ -h\x08\x92\x0f\x92\x10\x18\x86\x1cM\x9cX\x04\xa2\x96\x07\ -W(\x80,\x16-#\x22pK\xc46\xe5\xec\xb3d\ -\x02\x93\x00fTK\x99\xaabY\xc7\xba6\xadd\xea\ -\xc0\x9aWnY\xcf\xd6]\xeb\xdd\xbcm\x1dk7\xac\ -zz\xcf\xad\xf0\xb9\x05\x0e\x11\x14M+\x13k\xb5\xba\ -\xe6v\xe5j\xdf<1?2\x05\xb1\x81[\xe4/\xa2\ -4\xc2I\xe5\xce\x17Vw\xfc\xd1\x9an\xfch\xcd7\ -~\xb6\x86\x93\x9f\x00\xc1\xf7V\xbe\xf1\x0d\xf7\xf3\x01\xaf\ -\xf5\x1aK{\x0e/y\x049\x85\x18\x8d\xc0\x19F\xee\ -\x12\xe3\xee\x01\xee\x87\x96\x07\x00\x0a\xe1)%\xa4\xa2\xa5\ -H1\xdf\x9b\x0fyR\x93\x09\xb9\xfd\x0c\x14\x9d\x069\ -Lm#\xcdj\x9d\xc6\xf5k\x7f\xff<\x1cb\xc5-\ -\xca\xb8Z\x02\x11D\x94\x1f\xc4\x05\x07QPP1_\ -B\xfa+\xeb\xd2\x0e!Y\x5c\x86\xbc\x856\xa8\xc0\xb8\ -57\xaf\x86\x0fy#\xdb\xd6\xb4v\xcf\x86\xae\x7f\xb0\ -\x89\xdb\xdf\xdb\xe4\xdd_l\xe4\xf4gk\xdf\xfb\xda\xcd\ -\x89h\xed\xa1B\x93d(\xa5\x14\xeb,&\x84\xe4\xe3\ -\xe2s\x86\x14\xb2T\xca\xa5M;\xd7\xb9\x07\xae\xad\x8c\ -\xc3\x09\x80@\x02x!\x81\xcf/\xaf$\xf7\xcf=\xb8\ -\xfd\x90\x0e\x00Z\xc6\xf6\x88\xa3\xc2F\xa6\xc2\x06\x06\x16\ -\x9a\xbcka\xae%\x12\x19\xe3j\xe54Y\x00\xfa\xb5\ -\x1b'\x95\xdc0\xa5\x19ie0:\x97,];v\ -\x07\x19\x80\xd1\x03\x90s\x8crN\xf8G\x18\xfb\xe41\ -\xeeZJ\x13\x81\xd2\xd2\xa6V\xe0\xc4\xb0\x17x\xe8%\ -\x0b\xa3\xe8\xc2\xe1-+\x1d\xdbA\xb6@\xf6\x86E\xfb\ -\xb1z\xe5\xc4\xca\xb1[\x17\x11m\x0c]\xe6\x7f\xb0\x16\ -\xc8\x97:r\x85A\xa8c\xb7\xa03W\x0b2\x8bO\ -\xac\x04\xafS\xb9\xfd\xc6j\x0f>\xe0\x09\xbe\xb6\x06\xf8\ -E\xdd\xc1\xf7V\xb3\xf3\x83Um~OJ\xf9\x11\xe2\ -\x09?Y\xc6\xc5.\xa0\xe4\xd9\x97V\x04G\xc8\x9f\x84\ -\xb0\x92\x92\x16\xcc\xbe@\xe9*\x03\x7f\x0b\xcf\x11\x9fx\ -E\xea\xf4\x18\xaeq\x8b\xc1\xd9\xc5\xb5+\xd6\x93\xf3k\ -V\xee|\xdf}z\xcb\x04\xf1s\x0e\x0f\xa5\x85\x1c\xd5\ -\x14\x10\xaa\xe0*\x1e\x00P\x86b\xbd\x06\xd4\x81@^\ -@\xec\x1b\x97\x0d\xf9J%\x0bq\xb5\x00\xa4\xa3\x19\x8d\ -\xe3\x16\xe9Z\xb0\x86\xf9c\x1b9|j\xd3\xa7\xefm\ -\xee\xee76y\xfb[\xeb\xd8\x03\xdc\xcbxXrx\ -\x95\x7f\x97\xc0}\x8aa\xf2\x85x\xc2\x06C\xa2\xcd\x15a^s&\x89\x8b\xb3\xb7\ -\xc9T\x1eX\x05|\xa4\x9eT\xb5\xed\xe4{\xeb\xbc\xf9\ -\xab\xf5\x9c\x92^\x22\xbd\xbc\x1f:\xfd\xc5\xc6o\xffj\ -\xa3\xbc\x8e\xde\xfa\xc5\xa6\xef\xfcf\xe3g\xa4\xaf\xd7\x7f\ -F~\xb2\x9ek\xda\x0a\xff\x05<\x86\x10\xa0\xcd\xb0|\ -\xb7\xbf\x7f\x13\x00h\xbf\xdd\x88%VkF\xae\xcd\x12\ -*[-\x09 \x08\x04\xea8\xe6*\x8c\xc8\xab\x95>\ -jS\x85\xfa\x15\xb8\x12z\x14\xef\x94\x8fb\x02\xdc\xbb\ -\xebe@\xb8\x10o\xf0\xb9\xa9\xe4yR\xbb)\x0b4\ -MZq\xff\xb25\xcf\xeeZ\xe7\xca\x91\xf5\x5c\xbda\ -]WO\xadzNet\xbbn\xb5N\xcb\xe6\xd9\x84\ -\x1b\xcdB\x06\x01Q\xa6\x96\xb2!r\xda\xb3!\xee\xe1\ -\xb6\xc7\xf3\xfd>@\x98\x01\x18\xdd\xe6X\xa5\xbd-j\ -QC\xca\xda\x8c\xf2[\x18\xd3V\x94\xdf\xa6P\x84\xd2\ -\x01\x80\x9b/\xc1;\xa4\xc2KR\xf9\xbf4B}\x06\ -\xd7\xf2i\xaeep\x17\x00\x10\xe7\xd4E\x22\x9dAH\ -S\x87\xad&\xdc\x7f\xe34\xaep\xda\x12\x9d\xcc8I\ -\x16\xa2\xf5@\x9a!k!^:\xc5\x03\x02D\xe9\x92\ -\xbaeh\x7f\x9e\x1a\x1e\xb9:6-\x1d\xab\xf2\xc5\x11\ -=\x5c<\x03\xa78\xea\xedC\x00}\x221\x9aD\x11\ -C\xc5E\x05A\xbd\x98\xb3z\xf5\x84\xc6!\xa4\xe2\x1e\ -\x13\xa4+\x93Z\xc7\xc7J\xe6\xeeX)\xd9I\x8d\xc8\ -\xd4\xf1\x176r\xf7'\x9b~\xf2'\x9b\x7f\xfeO6\ -\xf7\x04E\xdf\xfd\x1e\xe5\x7fkSw\xbe\xb5\xf1\xd3\xaf\ -m\x82\xece\xe9\xe1\xcf6\x7f\xef'\x1b\xbd\xf9\xd1F\ -n~k\x83\xd7\xbf\xb6\xc6m\x88\xe0\xf2\x03x\x01\x84\ -hD\x939\x022\xc0\xaf\xd3L\x5c\x97\xc5\x97\xb78\ -I\xacl\xb7d\x00\x91\xa2\xae\xa7n\xc3\xaa\xf6\xdd\x01\ -d=\x93f\x0b\xe1\x0e^\xbb:)\x9fl@\x1e\x00\ -\x0b\x0bh\xf1E\xd3\xbf\xbdd\x14\x10\xc9\x8c\xd6y\xf3\ -3\xae\xd1\xaey+\x1d\x5c\xb1\x8a\x91\x15\xbc\xc1\x9a\x95\ -\x8d\xaa\x10\x94\xef#\xd4\xaaa\x85V\x1a]\xc1G\x9d\ -\x96\x805\x0b\xa8\x95A-\x0b3\xce\x18T*\xe3\x9a\ -J\x86\x92\x0a\xb8R\x19\xd3T\xa5\xa9\x00 \x9dT1\ -]\x16\xdf\xa6\xf0#\xc5\x13\xd2\x9c\xa0|B\x81&\xad\ -4G\x92\xc6\xff\xa7AL\xd3{%\x18}\x1fY\x0e\ -\x12\xe3\xebY\x858\xe0\x86\x89\xdb>\xe2\xb3\xeb\xb5\xc7\ -\x83\xca\xc2SPr\xf2\xf9DHr\xa3\xa6$\xb58\ -\xa3\xc6\x8eR\xfe\xcay\xae\xea\xddH\x86,\x1b\x94i\ -\xe3\xa6\x8a\x18/\xc4U\xb5\x92\xee\xa9\x9a&\x82{\xd7\ -\x0eZ\xd5\xdbGx\xd5\xbc\xf9\xa7\xee\x9f\xaa\xba\x1d\x82\ -h\xa1\x94,\x08eh\x0cR9\xb6\xcf\xe7\x0eH\x97\ -\x8eL\xbbm\xd4\xe2\xac\xee\xea#\x1b\xb8\xf1\xc1V\x9e\ -\xffjG_\xfd\xddn|\xfcW;\xfa\xe2/\xb6\xf2\ -\xe4[\x9b\xb9\xf3\xd6\xc6o<\xb7\xc1\xc3\xc76L\xbc\ -\x9d=}g\xd37\xdf\xda\xd0\xe1K\x1b:zi}\ -\x07x\x8f5\x98\xf6\xec\x09\xdf\xa9\xf4\x93\xf0\xd5>\x0d\ -\xe8\xd5h\xa1\x0f\x00tZB\x05\x1e\xa0\xbc\x95\xd7v\ -@\xa0p\xa0\xde<\x02\xc18\x166\x03\xc8\x09i=\ -\xeb\xfc/\x80\xd6b\x0b\xcf\xa5\xb4\xcf/\x0f\xc0\xcf^\ -{\x1b\x00\x80g\x11\x99\xd6zF:\x9cJ]S\x03\ -\x84\x14\x7f\xd3\xa8\xf9\x1bG\xcc\xa7N\xa6|o\x92\x9b\ -\x02\x1e\xc4\xeb\x0cZ|\xc5\x80\xc5],\x02\x95k\x19\ -x\xc8\x12j\xf0\xc8\xf5\x18\xa2\xa6\xbd1\xb6$\x8cM\ -\xb3\x9e\x9a\x01M#\xc7\xcf\x10\x07\xe8\xda\x87\xc8z\x92\ -\xde\xa9Y\xd2\x1d\xf4\xb2\xe9\xe6,RP\xbe\x00\x93\xa6\ -0\xdf\xbdJ\x0a\x0b\xd7\x03\xf4\x92\x0c\xde\xc7\xb8V\xab\ -\x17B8P\x91\xa2\x10\xae\xc5\x0d}\xb9\xa6!SZ\ -\xd7\xdd\x1c|j\xb3\x17\xb7\xd3P~\x1a7!\xc5{\ -92\xa8r\x00P\xca\xc4\xff\x7fR>.\x0d\x8e\xa1\ -\x9c_\xe5\xcbZ\x9e\xd4nU\x89\xdb\x8a\x8d\xc5\xab\x16\ -N\x9b4\xfc\xa0\xd1\x07q\xf4C\x14%\x81\x81U\x06\ -w\x1d\x80h\x0d\x7f\x8b\xb4m\xcf\x8ag\x8e\xaca\xfd\ -\xb6M\x9e\xbd\xb5\xa3\xcf\x7f\xb5g\x7f\xf87{\xfb\x97\ -\xff\xd3\x1e\xff\xf4\x17\xdb}\xfe\x85\xcd\xdd|h\x03;\ -\xd7\xac}e\xcf:V\x0elx\xe7\xa6\x0dn\xdf\xb4\ -\xce\xd5\x13\xeb\x5c\xe3\xf7H\xe5\xcc\x8e\xe5\x0d\xafBR\ -\xc5K\xa6\xb0<-\x19\xf7\xa1h\xad\xb1w!\x1d(\ -\xa3\x03\xe5w\xba\x9f\x93\xf0\x02j8\x99R7L\x5c\ -\x1f\xc7bg\xf0n\x8b<\x1b\xbc\xa0\x0f\xb0+{\x92\ -\xdb\xefE\x11\xb2z\x9e\xc3\xafLG\x03\x0c\xf9Ko\ -S5\xb0\xa6x\x15b\x06\x00V/\x00\xebF\xba<\ -)\xeb\xb6\xc42~\x87\xc4KJ{,N\xe2\x96~\ -\xfb\x09I\x1e\x08\x12\xea\x00A#\x86\x88\x0e\x92[\xd6\ -\xd0\x09\xe3\x8eu+\xc6gh\xa2\x08\xb2\xa7I\xa0t\ -\xb8T:Y\x95\xf3\x14\xe8 \x0d\x02\x9b\xaeu\x15g\ -\xf1\x00\xbe\x17\xaf\xa4{S\xe9:\x82\x07\xe0\x86\xc9W\ -\x03}rk\xb0}\xdcX61M\xb3hJ\x1f\xfc\ -\xa4\x19n\xee]\x17s\xeeFn\xc7\x13\x17\x83\x1c\x08\ -@\x17.\xc9\xa7\x18)\xf7\xffI\xf9W\x11^\x19(\ -\xcd;\x87\x86v]AF\x88\xb8\x97\xad]\xb1\x03\xba\ -.\x83\xd5\x0d1\xec\x9c\xc3M\xcd\x22\xb8\xc3\xae\x19n\ -n\x96kC\xc0PTv\xff\x12\x8cx\xd5\x0a\xc77\ -\xac~\xf9\xd0\xa6n>\xb6\x9b\x9f\x7f\xb4\xf7\x7f\xfa\x9b\ -}\xfb\xb7\x7f\xb6\xd7?\xfdj\x07O^\xd8\xc4\xde\x89\ -\xb5\xcc.[\xf9\xe0\xa4\x95\x0dLZ\xfd\xf8\xbc\xd5\x8d\ -\xcd[\xc5\xd0\xb4U\x0c\xcf\xe2~\xe7,\xafw\xc2\xb2\ -\xda\x87-\xd0:\x08C\xef\xb3\x94\xdan\x94\x8f\xe2\x89\ -\xf9\xff\x9b\x08\x0c\xbc&U\xf3\xf7\xea^\x148`\xa9\ -\xf0\x04\xb7\xa0\xe4\xb2\x03<\x01\x16\x15P\xda\xac\xcd&\ -p\x1c\x91I5\xb7Hk\xc3\xab\xb4N`4c\x84\ -S\xbcK=\x96^\xa3E\x1f8\x06J\x8f/\xebD\ -\xd1\x1dN\x12\xd5\xb7\xb8\x14 \xf1%\x9e\xc4\x95v\ -\x9f\x83\xa0\x0f\xaf\xa0E-\x15\x88(,/\xf2\x9d\xea\ -\x89\x80.p\xf3\xbeN\xf5s \xec\x90\xef\xfbd\xb0\ -x\xdft\x8c8\x95\xac&\x19o\x9e\x02P\xd3Pr\ -:J\xf7\x8c\x0b\x03G<\x80\xf2;\x95\x84\xa5\xa30\ -\xcd\x82\xa9\xe5\xaa6>\x84 a\x11\xcd\xc6iN{\ -\xf46i\x1e\xa9R\xff5<\x04\x17Q\x9e\xdb)\x86\ -\xb9\xc1\x0d\x00\x86s\xe5K4u\xfaI\xf9R\xba\x13\ -M\x86\x88A#\xbcfq\xe1 n7\xd8G~M\ -\xfcS/\xbb\x8cN\xf2\xee\xb6q\x1el\x98P3h\ -I\x8d\x03p\x8e~\xf7\x9a\xc2\xcfi-C\xc4Q\xad\ -\xe5\x8fZ\xb8g\xc2\xca\xc6\x97lp\xe7\xc4\xf6\x9e\xbc\ -\xb4g\x1f\x7f\xb0\xf7?\xffj\x8f\xbf\xfc\xda6\xce\xee\ -Y\xf7\xd2\xba\x15v\x0dY\xa0\xb6\xcd2\xaa\x9a,P\ -\xd3l~\xc4W\xddd>\xbd\xafk\xb5\x8c\x9a\x16K\ -\xadF\xaaZ-\x19\xc2\x97\x88\xcbO\xc4\xdd;\xabw\ -\x1e\x00\x8bD\xe9\x89Ux\x04\xac_\xcaO\xaa&\x0c\ -\xd4\xaa\xdb\xe8\x08\xa4P^`\x0a\x82;C\xb8$\xd7\ -oS!\x8a\xac\x5c\x04\x9a4\x92\xcf%\x126\x12\xf8\ -\x0e\xd5\x22$\xc8\x93\xa8_1\xd7\x88/kC\xe9\xad\ -(\x19\x9eQ\xdc\xec^\x13J\x087%\xfc\xbe\xb8\xdd\ -\xe2\x90\xd8\xe2\x0e\x8b-\xe9\xb4X\x81\x80P\xa0e\xe1\ -\xc4\x1a\xbe[\xeb\x04\xeaQ\x80{\x0ft\x8b;\xc1\xa3\ -\xfa$\x10Q\xcdDb\xf5\xda\xf5\x94J\xb6\x95\xdc6\ -e\x89-c\x84\x8cQB\x05\xfc\x05\xa3\xca\xe8&\x0b\ -\xeb\x85\x98\x93\xd6\xfb\xc5\x01\x00\xae&\xbfbD0\xd2\ -5\xe3\x85\xdbWK\x12\x15O\xe6\x90#F'\xef\xf3\ -\x0aS\x1e\xbb\x039\xf3@\xa0\x99.\xbf\x9bi\xf2\xa6\ -\x1a\xddvr\xdc\xbfS>$\xc3+u\xf6f\xc0\x9c\ -\xf2Q|&\x08\xd4\xfc\x80\x96a}XxF\xc74\ -\xc0\xe1\xa6\xda\xb0\x8e\x16\x94.\x85\xd7\xe3\xfajA\x7f\ -u\x87\xc5U1\x10U\x0c\x88\xd88\xaf\x92\xc4\xeav\ -,\xa8\xc3\xd2\xea\xbb,\xd29l\x8d3\xab6up\ -\xd3\xf6\x1f\xbe\xb0\x9b/\xde\xda\xfe\x83\xa76\xb9sl\ -\xf5c3\x96\xdd\xd0a\xc9\xa55\x96PX\x89TX\ -BQ\x85%\x16WZbI\x95%\x95T[Ri\ --\x16W\x8f4\xe2v\x9b\x11\x14P.\x00\xa0,)\ -\xbf\xaa\x97\xeb\x89\x0f\xf4\xf3\xca\xbd\xd5H\xa1X\xb0Z\ -\xdc\xd7\x8d\x90\xdf_\x08\x83\x8b\xe8w\xea\xd6\x95X}\ -a\xe1<\x03J\x8e+iB\x99\x0d(\xb5\xde\x93\xa2\ -Z\x8b-\xfc\xbd\xd4\xf1\xbb\x06@\xd0\xe4\x01\x02\x10\xc4\ -\x95\xf0\xec%\x00\x00o\x10K8\x88\x85\x13\xc4\xab\x00\ -\xa5N\xbb\x7f!\xda0z\x11\xe70\xfa\xd0V\xf5\x1c\ -$b}?9v\ -\xcf\x88E[{p\xf7M\x96\x5c&%\xcb\xea+\xb0\ -xI%V\x8f\xf5\xe3\x15\x12KQ>\xd6\x1f_\x8a\ -\xf2\x1d\xb8\x00\x9d,\x16\x00\xc4\xf1\xbd\xf1\x0e\x00\x03X\ -\xbb,\x9bA\xc2\xed&7\x92\x05A\xbe\x12Uqt\ -^r\xa6\x92\xb4\x04<\x83\x0aNd\xf5\x22u\xbf\x07\ -\xc0\x95b\x0f\x00\x97\x0b\xaa\xecr^9R\x8a\xe2\x8b\ -\x9d\x5c\x91\xf0sl~\x19\x00\xa8\xc4;\xd4\xf2?\x8d\ -\x0e\xe4q\xfc\x7f,\x1c!\xb6\x12\xf2'\xf05`\xf9\ -\x90m\x91;\x15\x9c\x84\xd1Kt\x1a\xe5\xcf=r\x92\ -;\x03\x00 \xd4\xda\xe5\x9c\x81\xebOi\x1cu\xe3\x19\ -[\xd1lWx\xd6+x=I,^/\xae\x82g\ -\x16\xc1%\xa4%\xd4\x00\x12\x95\xcd\x01\xe2\x98\xd8rb\ -]\x8d\x0a'U\xa5JzC>\x1b\x1eU\xaav\xd7\ -\xa2\x84\x00\xb7\x99p\xf2\x11i\xd8\x13+\x98~\xea$\ -\x7fJ\xa7\x8b\ - (\x00\x04\x85x\x81b@PnW\x8a\xf0\x14\x84\ -\x89+\x80\xf2\x0a\xdf\x15+`\x01\xb4\x94\xd6\x05G\xec\ -4\x03\x18\x998\xb3\xe8\x0c\xfa\x98G\x1fH\xee\xac\x0a\ -BH\xa3!\xd5\x01\xd29\xb5\x86M\xaeW\xd6\xd0\x86\ -\xc2\x1b\xf8\xbej\xbbL\x08\xbc\x5c\x00\x00y\xd55b\ -\xb9F,\xdeF\xcf\x1d\xab\xe7\xe6~cbE@\x18\ -\x5cU\xbdj\x0aS)\x8d\xb6FG\xc6@\x9b\xbah\ -M=\xb4\x02m\x9d\x9aWO\xe1W\xc8k+\xd6\x89\ -\x1a\xb3\xcf\x1c8\xd4A#t\xbe\xc6\xeez\xf4ha\ -\xa7[\x8a\xd6\x19\x02\xc7\xae\xfc\xbb|\xf2\xaeU\x81\xd6\ -\xca\x99\xdbV:qby\x83x\x1aBCF\x8b\xa6\ -\x9e\xe5f\xe5n\x89\xa3\xff\x9b\xc8\x0d+\xb6\xca\xd5\xe2\ --\xb0\x8a\x84\x0a@\x82\x8bt\x0c\x9a\x81\x8e\xc7\xd5\xc6\ -\x13O\xe3p\xb3\xb1XZ\x5cA\x19q\xb5\x9c\xbfa\ -\xf5R|e\x1dd\xaf\x1e\xd2Wo)\xd5\x80\x04b\ -\x98XI8q\xa1\xa6\xcd.3\x10\x97$\xb8\xdf\xcf\ -\x90\xcbR$\xd6\xa1vu*\xa7rM\xa9\x00\xb0\xda\ -\xd3\xa5\x91V%\xb5.\xe2\x05T\xa38\x82\xd7\xd2`\ -\xff\x8e\xd5\x0b\x00r\xe1|OlI\xb3]\xc6\xb5_\ -f\xd0/\xa1\x00\x07\x80\xdcB@\x90\x87\xe4\x02\x82(\ -\xde\x80\xd7\xbc|\xbb\x9c\x8fg\x90\xa2t\xa2\x09\xca\x11\ -\x00\xe2\xc4=\x00Z\xaa\xa6\xd6\x95F+}V\xa3\xa7\ -i<\xb3j\xfeP|h\xfc\x10`\x90\xae\xf7h\xce\ -F\xc6$#\xc2\x03a\x0cWJt2\x0a\xd6\x8f\x87\ -\xb9\x5c \x10\x10\x86\x0a\x01\x99;1\x05\xa0)D!\ -\x97\x8b\x9a\x00@\xb1\xe2\xa0R!\xf2\x5c\x15\x0d\x12\xcb\ -\xb5\xe0\xa0\xa5Ym\x94\xcc#\xde\x14\xcc=\xb6\xe2\xc5\ -\xe7V\xba\xa2\x05\x15\x00\xb0\x04\x00\xe6_\x10\x8b\x1e\xe1\ --\xce\x08\x07\xd7a\xa3\x87X\xfd\x9ee#\x11\xde\xe7\ -\xf1\xbb\x12\xf8C\xf5\xec\x13k]{m}\xbb\x9f\xdb\ -\xe0\xfe{\xeb\xdd~n-\xeac?\xbek!\x11\x92\ -&n\xde\x91)\x89\xb7\xdd\xc9\x131j\x84\xfbr@\ -\xa8\x04\x04b\xc5b\xc7\x90\xa5\xd8\x22\x90\x5c\x00\xa2\xf3\ -x\xb0\x5c\x01\xa0\x02\x00T\xe1R\x89\xabeX{e\ -\x03Jo\xb2\x94\x9aFK\xadmB\x9a-Y\xf1\x10\ -\x8f!\xbe\x11\x8b\xd5_Fi\x97\xce\xe53\xbd\xa2\xcc\ -81\xfe\x86Q\x88\xea\x1c\x83\x8f\xb7\xea\xdf\x22\x85\xda\ -v\xf9tr\xfb\x0a^@\xc5\xa7\xe7^\x00\x0e\x10\x8f\ -\xa7\x8a/\xfb\x07\x08\x14Vbq\xe7Wp\xebR\xea\ -%\x94\xe0\xbc\x00\xae\xff\x12\x1e\xc0\x03A\xd4\x13@p\ -\x09O\xe0\xfe^P\x03h\x00\x00\xdf\xa5\xb2\xf0\xc4z\ -\x11e\x98\xbb&\x9d\xb4\xc1cT\x9eY\xdd[4o\ -\x02\xf1&uN\x85\xed'\x13\xd7\x13\xe0E\xf1z\xae\ -\xf2\x06\xc0Ws\xae|\x89\x94.\xd1\xef\xea\x183)\ -\x1f\xef\xe08\x8a'1n\x22\xa2B\x8d\x88\xd5u\x1a\ -\x96\xc8C\x0a\xf9\xd9\x83*h\xb8\xe1\xaaF\xf2\xb5\x95\ -X\xe7\xe1,=\xb3\x22\xa4p\xe1\x19\xbf{\xc2\xdf\x1e\ -pS\xe2\x04j\x0c\x01w\x18<\xb1\x5c8D\x11D\ -\xa5\x1c\x82R;\xff\xd4Z\xd6\xde\xda\xf0\xe1G[\xba\ -\xfb\xabm>\xf9\xcd\xd6\x1f\xfc`3\xd7\xdfX\xc7\xea\ --+\x1a\x22\x05\xc5\x0bh\x7f\x9b\xd6 R\xe4\xf6\xb4\ -\xdb\xc6\xc9\xf9\xfe7\xac\xcd\xb1l\xcd\x96\xc9\x03\x08\x00\ -J\x97\x0a\x01@\xbe\x00\x00\xa3F\xe2\x0a\xea<\x8f\x80\ -\x15%h*\xb7\xaa\x85\xffk\xe1\xff\x9b-\xa5\x0e\xa9\ -\xe7}\x1d\x19E\x0d\x8c\x1f\xbe\x11G\x18\xb9\x82\xfb\xbe\ -LH\xb9Lh\xb9\xa4Wm\xbc\xc0\xfd&\xd5+\xfd\ -$\xdd\xeb\xc2 4i\x02\x10\xd2PDJ\xa7j\x0f\ -U\xa4:\x0f\xa9\x22\xd5\x02\xa0\x09\xdc\x97<\xa8\xf3L\ -\x02@)V\x08\xb9t\xae\x16\xb2y\xc5\x9dU\x04\x17\ -\x90+\xce\x87\x0b\xe4\x15a\xfd\x00!\x17 \xe4\xe6;\ -`|\x06x?\x03\xcc\x97\x8aZ\xed2\xcf'\xf6\x9f\ -\xc0w\xa7@\xd6\x14\xdb\x03\xdc\x83\x0aY3yU\xa9\ -|:d:\x19\xa6\x9fX\xcbu\xaby\x16b~l\ -\x99\x94\xcfX(\x9cp=\x11Le\x1a\xb1(<\x96\ -\x90$n\x22\xef\xe4\xdd\x9f\x84{%\xe3\x88I\x22\xcf\ -T\xd7ImgV\x17J\xf5\xa2S'\x0d5A\xc8\ -V\xf3\x85\xb1\x13\xdc\xcf\x0d\x08\xc7-\xcb\x9b\xc5#\x10\ -{rU{>\x0dA\x9c\x84\x14j\xf9\x16\x85\xe7\x8d\ -y\xbb\x7f\xca\xa6\xb1\xfa\xf9\x87\xd6\xb0\xfc\xdc\x9a\xd7P\ -\xf4\xd6\x07\x9b\xb8\xf9\xa3m?\xff\x8b\xdd\xf8\xfc\xefv\ -\xf2\xf6\xcf\xb6\xf9\xf0\x1b\x1b\xde}`\x15c\xdb\xee\xa0\ -)\xedm\x93\xa2SP\xb8\x07\x82\x7f\x88@\x90\x04Q\ -U\xc5l\x82\xd2\xa22,\x8e\x1b\x8fc\xb0\xe2\x00A\ -\x1c(\x8e\xc7\x95%`=\x09\x0c|\x02\x16\xe8\xa6s\ -+[\xcfA\xe0)?\xb5\xb1\xdd\xd2\x1a\xbbyOn\ -\xef\x06\xae\xef|\xf3\x85^\xfb=\xe1\xbd\xb6])\x87\ -O\xe2s)-\xe4\xfe\xed\xe3n\x82*\x15\x12+\x00\ -\xa4\x90\xf6\xa6\xb4\x03\x04M\xcb\x8a\x18\xd6Nb}\xc3\ -X_/\xd6\xaf\xfc]\x83\xab\x81\xd6\x80\x0b\x04M\xc4\ -c\x85\x03H!\xd6x\x09w\xec\xf1\x82R\x84W\xc2\ -\xd7g\x80\xf7\xb3B\x94_\xdcM\x18\xd0\x9e\x80!\xc2\ -\x0b)\xb2\xc6D'\xaf\xa9\xeb8\x80\xcc\xd0\xb9\x01d\ -P\xa9dOIdN\x09\xca\x9c\x5c\xc6D\xca\x09\xd8\ -b\xc9pb\x8b\xa4\xf8\x1a\xc6Ei&\xe4R\x1e^\ -!S\xb3\x8e\xf2V<\xa3\x17N5+9`1)\ -0\xcd\xd4\xc6y\xdc\xbf\xb6Uii\xd6\xab\x84QK\ -\x15mZ\x0c\x0e\x10\xd3\x87\xf0\x08#\xb8\xecQ\x01\x82\ -Td\x1ck\x9f\xb8I\xa6 \xb2\xa8](\xda\x83~\ -\xd7\xea\x96\x1fY\xd3\xda3k\xdf|e\x9d\xdb\xef\xac\ -m\xf3\x9d\xb5\x22C\xd7\xbe\xb1\xd5G\xbf\xd8\xe1\x9b?\ -\xdb\xc1\xab_m\xe3\xe1W6\xbc'\x00l\xb9\x1d\xc6\ -)Xx2qO]\xb0u\xa6\xcf?\x80 O\xa0\ -\x85\x9a\x09\x14\x09\x10\xaa\x00\x82f\xc6\xdc\x94)\xae\xd2\ -\xe5\xcdp\x18$\x01R\xa3,\xc1\x09\xac^S\xbaI\ -\xc4\xc4\xe4Z)\xbe\x93\x01\xecE\x06\x18\xccA\xbc\x0d\ -\xbc\xa2\x16\xcb\x85_\xc4\x13^\x12H\xf9$\xaa\xc9\xd7\ -\xf6+\x97\x8a\xc2\x9ac\x95F\x91B%4\x0dYR\ -\xdb\xac%u\xaeZ2ioJ\xd76`\xd8\xb2\xe4\ -\xb6uR\xa9E\xacu\x12\xe0\x0c\xa1\x08\xfe\xd7\x85\x01\ -\xee\x8b\x10\x13/!\xabQ\xa6\xa1\x90s\x05p^\x01\ -\x18\x97\x1dI\x14(p\xc3\xc5\x0a\x17\x9d\xfcM\x9b?\ -\xe0\x16\x15\xe3\xe7\x82w!\x15T\xe8K\x82\x1c'C\ -zS\xaa\xda\xe15\xad\x90Y\x00\x8f\xc5\xc7\x97\xa1\xe0\ -2Y?\x02\xd8\x048\xcd?\xb8I&\x1d\x8d\x87\xa1\ -$pO*?\xffG\xc99\x9c\xcb\x95\x9dk\xbf\xc3\ -\xa4\xc5\xe8\x8c>\xd7\xf0\xb8C\xdb\x91\xc9\xe9\x95\xd7\x93\ -\xcai]@\xd5AN\xb4N\xa0\xdd\xa4}\x9b\xc4\xa3\ -\x1d\xf8\xc1!\xa9\xe2uB\x00\x96\xaf\xc2\xc7\x99\xbb\xae\ -QT+\x8a\xef\xd8~k\xdd{\x9f;i\xdexm\ -\xb5+\xcf\xacc\xe7\xb5M\xde\xfc\xc2\xd6\x1e~D\xbe\ -\xb6\x85\xb37\xaeJ\xa8l\x84\xeb\x80\xee\x14\x08U\x12\ -\x84*\x09\x8bt@8\x07\x81\x9a-\xb8\xce\x1aHJ\ -\xfd4\xe0 \xe6q\xf3\xf2Z\x0e\xc1\xb8nG\xc2P\ -zBE\x977PX\xb66`\xe8\xcc\xc0\xd4\xfa^\ -Kk\xe8%\xcc\xf4\x9b\xbfu\xc8|\xad:yc\x04\ -\xc0kzV\x16\x06\xbfP\x88Q\xf3e\xf1\x0d\x00!\ -V\xef\x91\xb8\x1a\xbbT\x02\x93&\xae^\x91\x9b%\xc5\ -J &'unXJ\xcf\xae\xa5@\x0cS!\xbb\ -)\xedW!\x86\x0b\x16\xc7}\xc52\xd0.\x8d\xe3~\ -\xe2\x091n6\x91\x0c\xc7\x11Zq\x06\xf8\x8c\x00\x17\ -\xa7\xb0\x81b\xe3+\x95J\x0a|J-g\xf0:\x84\ -\x96z\xd2\xce\xbay~7\x8d\xa5\x8e\xf1\x8c<'\xbc\ -@\xde-\x11v\x9f\x88\x9bO\xe0\xbe\xe2\xc5uJ\xb0\ -r)\x1dB+\x90\xb9\xcd&.%U\xb6\xd4\x8b!\ -\xc0%\x04\x22\x19N5\x06t^r\x9eT\xaf\xfd\x06\ -s\x90\xddE\x8b\xc9h\xdf\xf0\xd2\x1dP\xad\x22\x83\x80\ -\x13\x01A\x877\xae!\xaa\x8f\xf3j\xe4\xb4\xd9\xc05\ -\x22\x22\xad\xd3\xd6\xa3<-\xd3b\xf9e\x8b\x8f\xac\x11\ -\xe5w\x1d|\xb0\x9e\xc3/\x9dt\xee\xbd\xb7\xda\xd5g\ -\xaeKU\xd5\xc2]k]\x7f`}{Ol`\xff\ -\xb1\xf5l\xdf\xb5\x86\x85#\xcb\xef\xc7\xe30\xb0\xc9(\ -\xdf\xb3^\x06\xcdm\xe4\xd0aO\x9aiS\xa3\x05<\ -\x94+\x97>\x97zrc\xe5\xe8n\x83\xa6\x08\x22\x0f\ -\x89\xd25\xd7\xee\x1d\x0e5d\xe9\x0dC\x96A\x8c\xcc\ -\xc0]f`\xf1\xbe\x96!\x000j\xfe6\xed\xa2\x1d\ -\x83x\x0a\x5c\xe7 P\xf8\x81p\xba0$E\x89\xd9\ -c\xa5r\xa7b\xf1\x97\x19\xe4\xcb\x15XiM\xaf]\ -i\x1c\xb782\x81\x04\xd2\xe5$\xc6(\xa5\x8b\xf4\x10\ -@h\x95.\x81A\x8d\xc7\xc2D\xe0\x94!hJX\ -\xe7\x15\xb9\xc3#Zf\x11M\xe5\xaai\xd4<\x03\xcf\ -38Pk\x09x\xce\xad\xae\xa6\x91fju/M\ -k\xf7\xadW!w\xcb\x80b\x16\xe5\x01<\x94\xa9\xd0\ -\x96\x08\xb1L\x90\xe2I\xf1$q%\x9a\xd3\xd0\xf2\xb5\ -\x94\xcf}kb\xca\xad,\xe2\xd5\x90\xc4J\x14/\xe1\ -;\x1c\x00jd\xf5\xbf\x03\x00\xde+\xe6\xe2\xa0FW\ -K\x06\xb2\xd5\x06EG\xa0y \xd0\xe2\x8e\xa6y\x09\ -\x09n\x96O\xa5Q\xde\xd2\xae\x00\x90?}\xea:c\ -V\xae>\xb5\xd6\xbdw\xd6w\xedk\xe4\x1b\xeb>\xfa\ -\xd2\xdav\xdeZ\xe5\xe2C\xb8\xc1\x0d\xcb\xc3c\x14\x8d\ -\x1dZ\xd9\x94\xe4\xc0J&v-\x7f\x08v\xdb\xc1\xc0\ -\xd4\xa1\x04\xe5\xdf\xb8NM\xf6(\xdf\x17\xe1\x93\xcb\xd7\ -d\x8c\xea\xe4\xb5\x1d*\xadq\x09\xc5-c\xc1H\x93\ -v\xed\xe8\xf7x\x85\x06\x85\x8aQ>\xa7\xc1\x1eC\xe1\ -(\xb9y\xcc\xfc(\xda\x93Q\x0b\xb4\x8e}\x12\x0f\x00\ -\xfa\xbc\xa6s\xe1?\x88^S\x00\x8eV\xfd\xb4\x16\xa0\ -\xe5\xe0\x0b\x02wY@(m\xb4K\x15\xedv\x09\x90\ -]\x86\xac\xc6B\x96\xe3\x95\x12\xb6i\x9f\x00a\x01\x00\ -\xb8\x89\x22\x00+\xf6\xaem\xddZ\x1f\xf0\xb5\xc3\xe21\ -\x1e\xd7\xe8\x01cr\x87o\xa8Z\xa8\x19 \xf0y\xd7\ -=\xa4e\xd1\x85]\xad\xc0\xaa\x06\xaa\x9c\xd2\xd6mw|\x1dc\xaa2\ -\xb5\xec\xb1\x9b\xa6\xcac\xedo\xd0\xb17\xa9\xad\xf2\x1c\ -p\xa5F\x8c\xa5^\xde\x050h\xf9\x1a\xaf\x94\xc8\xf8\ -%\xd5b\xedx0\xafm\xec$\x0a\xf6$\xa9\x86\xd7\ -\xaa\x09\x84\xdf\x0b\x00n\x9f\xa1@\xa0-\xe8\x02\xeb\x8c\ -\xc5\x08\xbd)\xa08\x95\x0b\xa5\x13\xff}(Zk\xdb\ -:\x8bO\x00p=l\x9cxu\xfcjC\xaen\x19\ -\xaeO\xde\xe4u\xd7\xf2\x5c\xed\xe6\xab\xd7\x1f[\x8dZ\ -\xa5\xae\xa9\xa1!i\xe3\xf4M\xac\x1f\xae\x00\x89\xd4\x16\ -f\x1d-\xab\x93D\xb5\x9c\xea\xce\xf5\xc3b\xd5\xdc \ -Q\x1b\x22\x15\xb7\x94F\xc9\xd5\x11\x17\x93\xb8Im\x9b\ -J\xa9\xd76f,_\xab`(\xdd\xf5\xe8\xef\x06\xa0\ -*\x88\x94\xb7\x12hU~u\x1e\xaa\xfc\x00\xcc-<\ -ui;\xb6Z\xc6\xa8\xaf\x80\xf6\xec\xa3x\xc2\x81\x18\ -\xb4\xc2C\x1a\x03\x99F\xe8I\xd5\x86M\x85 \x07\x00\ -@W\xa7\xc9\x141e\x119M\xe9\x9e\xb3w\xe43\ -\x09@\xb8\x04\x104\x81\x14+\xd0*\xfc(Um\x84\ -\xa7\xa0L\xb5\xaf\x17\x7frar@-Xd0\x90\ -h\x80\xa0\xbaBw\xe8\x83\x03\xacd\x01#\xe0^\x01\ -\x85\xba\x82\xa9\xd1\xa5\xebA8\xa1z\xc8S\x0b\x8e\x02\ -\x02Rj\xef\xa4\x14<\xb4+\xdcY\xe0\x1axE2\ -\x02o\x99Y\x9eK\xa1R\xe3\xc9xi;\x1c^E\ -\xee=Y[\xcb\xc4+d\xed\x02\x02J\x17\xd7H\xc0\ -\xb0\xb4\xd9V\x9bl\x13\xe0U1\x09\xa06\x91\x9bO\ -\x22\x03p+\x83\xb8{\xd7\xa3\x9fx\xef2\x01!\xf8\ -w\xa2\x22\x08\xf5\xb0\x09\xa9\xeb\x84Z\xbdN\x9dX\xf1\ -\xfcM\x94N\x0a\xb8t\xe6\xde\xebw*\x13\x8fh\x03\ -f\x9fz\x05/\xba>B\x81\x96i\x94\xc0\xcd\x12s\ -]~\xff\x89\xcc\x117\xc5\xeeI}\xe4\xa2d\xf9)\ -\x8a\xf7\xb8}\xb7\xfbV;f\xa4\xfc\x9e\x03\xae\x7f\xc4\ -\xf5\x8f\x11^\xfb\x0e\xb8'B\x97\xc2\x95H+^\xc6\ -\xef*\x9b\xb4\x07p\x06\x0b\x9bp\xee>\x0d\xa5\xab\xbe\ -/\xadA \xd0\x92.a@\xa7k\x09\x8c\x90PM\ -\xfcx|\x80{\x80@\xc6kk9._\xcc\xfa2\ -J\xbf\x5c\xa8\x09\x9djR\xb5*\x84TN\xa0\x00\x08\ -n\xf71\x16\x98\x8c'H\x93\xd5\xab\xec\xcdU>\xe9\ -\xf9O\xcc5\xb1\x1cR\xc7/\xc6\xad[u\x92\x9e\xb7\ -R\x09\x98'\xf2Z\x8b\x84V\xc6H\xbd\x04\xd4\xf1\x14\ -\x10h\x8f_p\xe4:\x008q\xe5f\xae\xd2\x88\xbf\ -\x07\xfa\xd0M\xf7\x12!\x9b\xefP\xf9:\xf7\x9f\xae\xb9\ -\x02\xbe\xcb\xb5\xd7\x07P:\xb2\xc6kq\xcf\xd8\xe9X\ -^\x08\xaa\xc6\xd2\xedo\xc4\xe2U]$\xc5\xab\xd63\ -\xa1\x01\x00$\xa1t\x89f\xb9R@c*\xa22i\ -oc\x84\x88\xdf\xb9\x80\xc0\x0b\xc9\xec\x05\xb5\xfd\xebn\ -\x1f@tL{\xed\x0f\x08\x07\x90\xba\xe9CRB\xed\ -\xb8\x95\x05\x5c\xb5\x90v\xe1\xf6,\xe3\x01\x16\x88\xf7s\ -x\x00\xe2b\x13\x83Ej\x97\x8a\x8bJ\xd6\x1e\xfbJ\ -\xdc\x93D\xae\xaa\x06\xb4j\xe9S\x07I7\xad\xa0|\ -\x15\x9el\x9a\xce\x13\xd6Y~\x17\x9b\x1c\x5c/?\xc9\ -\x80\x80p\xe8V1\xe5\xb1\x04ZGX;\x18\xe86\ -\x0d4\x83\x84\x82\xc5\x0f\xe4\xf2\xc5\x11\xd2[t\xc6\xde\ -\xb4\x0b\x19\xe9\x88\x0e\x94\xd4!\x15\xc9\xe4\xdb\x17\x8b<\ -n\xaf>\xae^\x0a\xd6\xf4\xac@\xe0\x00P\xa0\x09\x9b\ -r@@.\xaf\x09\x1e\xbc\x84>\xab\xb3\x02\xb5\x93Y\ -1\xdc\xb5\xd9U%3\x19R\xae\xd2\xe5\xe1=\x00\xa0\ -\x95R\x15\xcdr=\x14\xa6\xeakw\xba\x98\x14\xa7\x16\ -=\x8co\x16F\xe5\xba\x84\xa9\xa9\x03\x00r-\xea\x08\ -\xb5\xae\xd8\x14\x8f\x1b\x18\xc4\xe3\x91\x96\x07\xc8\xc6\xd4\xed\ -D-\xf1\xd4\x11\xcd\xed\xf4\xe5\x99ur\x9bz9\xb9\ -\x1e\xcb:/\x01b\x1f\xd0nb\x15\xde\x22:\x9b9\ -U[\xdb\xb4\xddMee\x84\x22IL:n=\x8d\ -\xc1K\xc3\xda\xd3\x88Si\xb8\xd3t\xb9\xaa\x0e\xcd\x09\ -\x9c\xd7\x09v\xe0\xae\xdcz>(\xeb\x9a\x83,\xe2\xce\ -{\x97P\xc0\x8a\x85\x86\xd7-\xa2S*G\xb1\xf6a\ -b\xfd\xe0:\x96\xb9\xc2C\x81\xec\xaeyn\x0c\xe1\x7f\ -\xdd\xc1\xd2\xf2\x04\xbaa\xcd\xb3C\xa0\xb4S6\xe3|\ -cdj\xfd\x12H\xc5\x0b5\x01\xc2\x16\xeeCU/\ -\x1d*@Q\x97k\x06\xa1\xef\xc4\xd5$\x04\x07\xaeC\ -\x94T*}\x0e\x02m\xf1R\x99\xf6\x80\x8aKw\xf9\ -\xac\x16p\x08\x19\x8a\xb50o\x0d\xb2:h9kA\ -\xd9\x19\xe2\x1fz\x1e\x95\xbac}:\xac\xca;d\x92\ -\xcc\xa2\x11W\x89;M\x00\x08^\x93\x09\xad\xc9\x03\x02\ -\xf2\xec\xcb0\xeeK0\xef\xcf\x8a*\x91*B\x01\x00\ -\x10\x09S\xb9\x18|FUUR\x9evZ\xe9\xc0\x08\ -\xd7\xa9c\xe2\xba\xe5\x8c\xa0T5\x83\xd2\x22X\xe7\xc5\ -\x98\xea\x15\xa0*,\x88\x1f\xa0\x03\xd7\x81\x14e\xebH\ -\xdcO\x95\xc6\xe7\x00p\x9dJ\xf5w\x85b\xc2\x85k\ -\x83+\xaf\xd1\x83\x11\xe2\x91\xa3\x84\x9a\x5c\xc0\x93?L\ -X\x068\xb9\x8cI\x0e^2\xd4{\xc4g\x19\x17\x9d\ -\xc9\xac\xcd\xac\xdaf\xe6\xb6\x9a\xa9\xb2\x18\x81\xf3\xc5\xa8\ -\x98Q\xe5\xc6:}\xcb\xd7K\xac\x01Ejq\xee\xd5\ -\xfak\x80\xd4cGk\xf9S\xbc\xe2R\xdb\x89\xa9\x9d\ -\x93X\x1bD\xabw\x0e\x0b\x5cD\x09 \x10\x09\x92\xd6\ -\xb9J\x1f\x94\xee\x83\xe1\xeb$o\xf5\xf6\xc9\xd4i\xe2\ -\x02\xc0y#*\xb54Q\xeb\xd7\x1c\x5cx\x84\x1b\x0c\ -u\xf1\x80(:\xd0\xb9\xc7\xff\xeeq\x0f\xda\xe2\xa4}\ -~\xc7\xc4?\x9d%\x8c\xd2\x07\xb41B\xa2\xf7\x02\x02\ -\x22\x00\x0cy\xc7\xb1\xba#Y5p\x03\xda%#\xe0\ -lp\xbf\xf2\x22\xaa`&c\xc0\xf5\xea\xf4P\xef\x18\ -\x1a\xf1\x05\x06\x9fP\xe7\xea\x17\x90\x8b\xa5\xeb\x00^O\ -V\xa9V3\xda\x1b!\x17\xafn#\xb1\x95m\xa4\x83\ -\x00\xa1\xa2\xd1.W6\xdb\x95*ro\x1d\xe6H\x98\ -\xc9\x90\x05Cv\xa3S\xa7\x96?w\xdf\x0a\xe7\xd5Q\ -\xfc\x1e\x1eQ=\x97oXt\xf4\xd8\xc5xo?$\ -a\xe2\x9cS\xe9\x9cB\x15\xc3\xaa;\xbbS<\xca\x93\ -\xa8S\xa9vG\x07\xd5\xe6]\x95\xd2\xfc]\xa9\xb7\x0e\ -\xb5R\xbb|\xb5\x9f\xd1\x18\xaa\x8d\x9f\xba\xa8\x16\x8d_\ -\xb7\x12<\x8ez\x1b\x95N\xdf\xe3\xfd]+\x1c\xbb\x0d\ -\x18N\xf9\xdc\x0d<1c\xd3\xab\xede*\xeaQ\x99\ -\x9f\x8e\xe6el\x09\xa31*kV\xea\xe1\xaarU\ -\xd2\xcc\x8d\xb9\xa3c\xe4\x09\xda\x15\x83\xc9\xc3\x9b&\x18\ -\x10\xdch\x13\xb1\xb4\x99<\xbbu\x98\x81$\xaf\xee\x9a\ -\xe0\xb3\xd3<\x0cV>\x00\x10\x06\x96x\xaf\x86H\x9e\ -\xf5\xfbQ\xbc\x18\xff\x85\xf2\xd5\x09;\x97\x98\xa8\xf6\xf3\ -E\xe37I\x0dO\xadp\x14\x8b\x19a\xa0\x86\xb5\x15\ -\x8a\x9b\xd5\xee\x15D\xdb\xad\xb5\xe350\xa8\xbdo\xc8\ -\xc0M\x06\x0c\x00\xe0\x05\xdcY=\x88;\xbd\x03\x10\x84\ -!L9\x13g\x10\xa8\xdb\xe6\xba|\xf2\xbf:lZ\ -s\x1b^\xd9\x9a\x0aXI\xc1D\x16\xa5p\x80\xae\xfe\ -\xbb\xea\xb5\xab\x86Jj\xb1\xa2\xee\x99\xae\x83\xa6\xf6\x22\ -\x0c\x12R\x00\x87\xfa\xefk\xe1'\x1e\xb2\x1aG\x86\x10\ -[\xd3mWj\x01\x83\xea\x18\xe0\x13I\xe2\x18\xb8v\ -\x1d\x0a\xa1\x89\xb1<,\xbfp\xfe\x91\x15-<6\x1d\ -B\xe1N\x10\xd1\x112\x93\xb7\x09\x07\xb7\x00\x82<\x02\ -\xd6\x89r%j?\x17Q\x13j5\xd9\xd69\xc8\x88\ -2\x00q\x80lm\xd9\xd3\x1e\x09\x09@Pc\xe8\x08\ -zR\x8f\xa6<~\xa7\x8d$\xc5R\xfa\xccm+\x03\ -l:W@M\xa1+\xe6\x9fX\xf9\xecc+\x99z\ -\x08\x08\xee\x02\x823@\xc0w3vY\xbd\x8c\xab\x04\ -@\x04$\x8ce\x8cw\x22\xb7\x10v\xe8P\xa6\x83\xa3\ -Ta\xf2\xe9\x94*\x88\x8a\xe6\xa3\xbd\x93\xb8\xb5l\xdc\ -\xc3\xcf\xbd\xfc\xbe\x1f\x0b\x1b\xc2\xd2\xc7`\xe5\xd3\xb8\xb9\ -\x05\x08\xcf2\xb2j9\xea\xf0\xd5\xbf\x86\xfbQ\xbf@\ -\xaf/\xf0?\x9aC\x1fZ\xd1\xa4\xd7\xc2\xb4\x04\xc4\xaa\ -\x1d[\xf1\x14\x037\xa5\x03\x1en;+\x0aO\xdd\xb2\ -l\x1e.\x8bA\xcb\x1c9\xc5\x1d\xf2\xcaCd\xe2\x09\ -2\x15\x0apm\x17'ui)Z\xd3\xd1yj\xec\ -\xc8\xa0\xe71\x08\xb93\x0f]\xf1\x84\xbc\xc5\xc5\x86M\ -\x9f\xb6\x83\xf3\x5c\xae\xec\x8d\xc1\x97B\x8af\xefZ\x85\ -\xda\xddk\xb3\xc9\xe6\x0b\xe4\xb9U\xaf>\xb2b\xd2W\ -u\x0cQ\x86\x91\xd2\x02I&\xafO\x80G\xc4\x93-\ -\xc4\xc3%\x12E\x1c\x95\xc6*\xad\xed\xdfF\x89\xc7\xa6\ -C'\x0aP\xb8N\x11)\x9c{\xcc{dF\x1d\xd8\ -\x1f\xf2\x5c\xaa\xa9\xb8OHP\xab\xf7\xdb\x96\x0fX/\ -\xc4;\xd3@\xbb\x98yn\xed\x88\x02\xcc\xd9*\x97\x07\ -\x00\xda\xb7\xa9\x06\x95\xaa\xa0vg \xc0/\x0a&\xd4\ -\xea\x15K\x9f{`\xe5\x8b\x8f\xadR\xa7\x80.\xbf@\ -^Z\xc5\xd2K+_xae\xb3O\x19S\xeec\ -\xec\x1e\x06w\x8a\xe1\xe1!\xb1\xfa`7a\xa5\x1bn\ -\x81\xf8{T\xe7\x09\x004\x90\x22RZ\xfdS~\x1f\ -\xc2\x15\x09\x0c\xea\xb2\xa9-[\x9a\xc1R\x93\xc2$\xe5\ -\xeb\xaef\xae\x83\x5c\xb9\x9d\xf4\xa2\x03 t; \xf8\ -\xf1\x06\xa1\xbe\x19\x14\xbf\x84%\xafa\xd1\x9b o\x8b\ -\x14\x90\xf4\x06r\xa3nY9XU.,W\x16\xa6\ -\x83\x0c\x8ag\x00\x00\xe8U?\xfcb\x1d\xab\xa6n\xe3\ -3X\xc9\xcc\x0d\x0bOs\xc3:u\x03\xf7\xa9\xbdl\ -\xda\x0b\x1f\x1c\xc2\x03h\x7f\x9c<\x80\x00\xa0\x8c\x00\xe5\ -f\xb92\xa9\x9b\x96;\x8b\xcbe@\x0a\x96\x9eY\xc1\ -\xe23\xd79C\xcd%\xb4\x87/\x88K\xd5.\x1e\xb9\ -V\xb5\x7f-\xd0a\x17\x0b\x0fI]\x9fY\xc3\xcek\ -k>xk\xadGo\xad\xed\xf0\x8d5\xed\xbc\xb0\xaa\ -\x15\x14\x897P\xba\x9bNV\xa4\ -m\xce\x08a\x19\xae%\xaa\xe2O\xbfv\xbb\x8a=.\ -\x02\x00\xe5\x90J\xd54\xd7\xdc\x86\xb4\xb8\x19\xa9DU\ -\xd6\xd6v\x92\x86\xf4C\xf6&@\xda\x02\x8a_\x07y\ -;V8~\xe0f\x00\xdd!\xd1\xb8\xac\x5cP\xac\xa3\ -R\xddAH\x13:\x89\x5c\xfb\xe1\xce\xf7\xc4\x8d\xab'\ -\xfe1\xec\xf9\xc8r&\x0f-DV\x91\xcdk\xd68\ -n\x9e\xbfg9\xb7\x88G\xd0\x86L\xed\x93\xd3\x8e\x22\ -Gn4kIlU\xc5\x0c^#w\x1e\x0b[\xc4\ -\xe2\x16\x1fY.\xb18\x82\xeb\x0dc1!\x06P\xaf\ -Q,G'~\x94-\xe9\x00\xc5gV\xbf\xf3\xd2\x9a\ -\x0e^Y\xf3\xe1\x0bk9xf\xad\xfbO\xadq\xfb\ -\xa1U\xad\xdeu\xcd\xaa\xc2X\xb6\xe6ER\xb5\xe1S\ -\x9ba\xce\xa7lu4\xad\xb8F\x18\xe5\xe8\x940\x1d\ -GS\xbe\xf4\x1cy\xe9\x9a@\xe8$\xb2\x02\x94^0\ -\xf3\x1c\xe5\xbf\x04\x1c:\x9bY\x0az\xcb\xdf_[\xc9\ -\xfcs\x00\x80\x85\x12\xab\xf3\x08\x83\xaa\xebsG\xd7\xab\ -\xb7\x80\x13\x85d\xb5\xcb\xd1\xf68\x8cB\xde\x11\xefR\ -\x04\xc0t\xc6\x91\x0e\xbf\xaa\xdax\xe7\xce\xfe\xad\xba\xaa\ -C?\xdf[\xf1\xc2\x1b\xae\xf7\x02O\xf3\x94q\xe6\xf9\ -\x87\xefat<\x03\x00 \xce\x03\x94l\ -\xe2\xa4\xe2\xa3\xeeS\xe9\xa0#\x8bn\x03\xa4\xaab \ -T\x9aq\xd4v2\xbcK\xee\xac\xca\xa7p\xab\xa4c\ -9j\x99\x86\xa7\xc9\x9d#\xcc\x00\x8e\xb2\xd5'N\xf9\ -\x9a\xb4\xaa\xddzl\xb5\x9b\xf7\xb0\xa4\x9bX\xfd\xb1U\ -.\x1d\x10C\xb5\x01\x05F=\xb9\x8f1\xa8/\x8fJ\ -\xe0\xe1\x10-\x9a\x90R*\x07\x9bW\xd5\x93R>\x9e\ -A\x8d\xa7u\x12h\xe9\x82w\x80\x94\xe7\x01\x1e\xe3\xcd\ -$z\xff\x82\xdf\xbd\xb6\xd2\xa5\xb7\x00\x0f\x00,\x0a\x10\ -x\x86\xc9{\xae\xd1\x96\x0e\xa5V1M@E\xb6\xee\ -\x15\xe6\xaf}\x87\xd2\x09\xc0\xd0\xa4P\xe4\xbc\x99C\x01\ -\xf1\xbd\x18\xa0\x95\xb9\x13\xd0\xdeX\x85N>[z\x83\ -W\xd1\xd6\xf8\xc7\x84\xb6\xfbx\xad;\x90MB(\xb1\ ->K\xe5\xe3\x9d<\x83\xf6sh\x17\x97\xdbQ\x04\x98\ -I\x11\xd3\xbat\x00\xe7\x01\x00\xe0B\xae\xef\x8c.\x86\ -\x1b\x0a\x83H\x81@\xbc@\xb5\xe6\xda\xc5\x9b\xdc0\xed\ -\xe6\x98]\x0b3W\x9fwQ\x97\xd7m\xe9\x90\xa3@\ -\xd3\xb0\x85;\xa7\x01\xc0\xb2\x15\xa1\xb8\xb2\xe9k\x0c\xe4\ -\x1db\x94\xac\xed\x89\x95-?u'V\x97\xea\xe0\x02\ -\x91#,Q\x1eA-\xd4t\xea\xb8;\x1f\xd7\xa5g\ -d\x0e\xca \xcek\xd8u\xe4yP=\x0a`\xbaY\ -c\x0c\xc8(\xf7\x0a!\xd2\xe1\xd1\xda\xf6\xac\xc9!\xb7\ -5J\x0bX\xfa.u\xdav+\x95\x90,\xa5`p\ -\x8d(\xae2\x0c\x85R5\xa1\xd0\xb9Cj\x1b\ -\x97\x87\xcbw\xad\xe3\xe0Z\xae=\x8dKU\xb5\xd3G\ -\x82\x95\xe2\xcd\x94\xa3\x0b\x04\x1e\x000Du\xf4\xc0[\ -\xe4@&s\x09\x1b*\x07\xd7!\x97y\xaa\x10V%\ -\x962\x22\xf5\x01\xd0V1\xcd\xa1\xb89\x95yK\xad\ -\x83\xabhR\xadn\x06\x99&\x8c\xc3a4M, \ -\xb4j\xe5\x11\x92\x0f\x08b\x5c'\x09\x11A\xf2\xea\x10\ -d\xcbm\xda\x14\x13%\xae\x8a\x08j\xe3\x87z\xf5i\ -+\xb8k\xe6\xd0A\xbe\xdf\xb9\xe2\xce\x08\x08\x93\x02E\ -\xba\x16\x9d\x84\x11\x9d|\x15\xee[\xc7\xb5o\xc3\xb2\x19\ -d\xc8\x5c\xc1j>Hlje\xa3%\x95TY|A\xa9\xc5\ -\xe7\x17[B\x01R\x5cn\x89e\xd5\x96\xc8\xdf\x12\xab\ -[-Q\xdd=I\x01\x93j\xb5OP\x99\x10\xa2\xf7\ -\xbc\xa64\xa8\xc8d\x84\xfb?\xdf2\xa6\xc5.\xadI\ -tk\xc6\x14\x0f\x86g\xd2Q.ZA\x0dq\x7fj\ -4\xa1\xd2y-d)\xbcj\xc3\xad\xb7\x90\xc4\x18k\ -\xcb\x9dVf\x05\x02\xc2\x81\x1aQ\xa8\xa5K\x04\x008\ -\xe5\xe3\x01r\x05\x22\xf4\xa3\x83\x8f\xa2\x0b\x067-\ -_\xfdwQ|\x18ku\xcd\x91y\xaf\xa9\xe0\xf0\xf0\ -&\x80\xda\xc6\x02\xf8\xec\xcc\x11D\xe8&\xd6\x7f\x9b\x94\ -\xe5\x1e\xf1\x96\xb89{\x8a%\x92\xe3\xe2Ju\xbe\xbe\ -\xeb\xcb\x8b\x87\xd1Z\xbf@\x90\x5c\xafU;\xcd?\x8c\ -a\x89X_\xdb\x14\xe4e\xc1\xedr\xf5i/\xe3\xa0\ -v\x13\xc3\x96I\x91\xdc\xe1N\xb8\xd5\x90\xd8\xbe\xa6\x87\ -\xdd\x926\xf7\xcdgu \xa3\xdfmPQ\x0b\xf7q\ -\xcb\x90\xd2\xaa\xda-Y;\x84\x0a\xab,!\xbf\xdc\xe2\ -sK-.Z\x8c\x14Z\x5c.\x92Wdq\x05%\ -\x16W\x5c\x01\xe7Q\xa1i\xbd%\x947\x10\xfe\x1a\xbd\ -W~\x8e\xd7\x1e\x832\xfd\xdc\x02X:\xe0C\xbdn\ -\xc7\xaf\xb74-O\xe1M\xf5\xfa\xdaum\xad\x05\xac\ -\x98\x16\x82\xdc\x01\xd0\x8d*\x00\xd1\xd4\xf7$\xafX\xa8\ -\x96\xbdQL\x1a\x8a\xd1\xbeKu\xfa\x129\xd7\xbc\x88\ -vj\xe9@/w\xa8\x17\xfcI\xe72)t\xaac\ -{J\xed\x90%\xb9\x92y-\xa6IT$\xd3\xebB\ -u|\xa5*\x97\x09\xdb*\xa7\x03\x10\xdae\xa4\xc5 \ -\xaf\x09\xa5\x1a_\xceXLB\xc5\xb0[7N\xe5\x17\ ->\xd0\xa4\xae\x96!\x14\xad\x16\xe9\x9ayr\x07@!\ -\xda\xdd\xab\x83\x08\x0b\xc6\xbc\x83\x9dJ'O\xact\x02\ -W?\xbeg\x85XWTs\xff\xe4\xfdA7\xd0\xe7\ -3\x81\x9d3\xc4\xb7\x19B\xc9,\x80X\x02\xb9W\x89\ -Y\xbb\xa4~'V\x86g(\x83i\x17\xb9UC\xb2\ -\x0fMBqm-\x93\xaa\x10\xc4k\xcc\xac\x92p-\ -\x0fk\xbd\xbb\x97\x9b\x1e\x00\xbd\xdck\xdb,\xaer\x85\ -\xd0\xb0\x09)\xc4\xdd\xaa\xe5\x9c\x96R\xc92\x94;\x8b\ -\xbf\x04\x14[Ic\xbdC\xa5q\x89\x0cV\xaaV\xce\ -\xb4\xd1\x93L&\xa9X\xca\xaf\xb1$IA\x8d%\xe6\ -W\x03\x84J\x80Pf\xb19Ev%\xa7\xd0\xae\x00\ -\x86+\xb9\xbc\xcf+\xb1X{\x98\xd16\x8a\x82\xa7\ -\xf1 \xcb\x90\xaem\xc8\x17\x00\x02\x00e\x0b\xa4Q\xa4\ -o:\xc2E\x93\x1d\x02\x9b_[\xce\xe5\x165Pd\ -\x1f\x89B3)\xa86bh>B\xed\x5c\xd4\xcc)\ -\x83A\xd0n\xd7 \x9e(8\x827\x80Sh>=\ -\x80'Sv\xa0r\xb74H\x90\x0aJRA{*\ -\x03\x9e\xc2\xa0$\x97\x01\x80\x92FK.i\xb0\x94\xd2\ -&\xa4\x05i\x06\x14XsA\xad\xc5\xe7U\xe2\x05P\ -4^!\x16\xafp%\x0a\x08\x04\x86h\xc1'\x89u\ -\xaf\x85\xee\xef\xb1\xb9\xe5x\x8cZK(l\xc1\xab\xf4\ -\xe0]\x08\x09\x18\x94\xbf\x11\x0e\xc3sd4\xe2\xb5\xea\ -\x15\x93\xb1tU\xe5hM^\x16\xe9J\xc3\xb4\x0dL\ -[\xc1\xcf\x97\xc4U\xc3W\xa6\x9e\xc2C\xeeh95\ -\xad\x8e`\x88\x1a\xff\x0a\xc6\xa9z\xe9\xaeU\xcci\x16\ -\x900;L(\xeb\xd6fU\xc6\xb7E}\x8d\xf0\x96\ -\xcd\x00\x88\xb1O\x82K\xa9c\xba\xf6\x18\xa8\xf8\xf5\x0a\ -\xdf\x7f\xa9\xb4\xd3.\x93\xc5].iCZ\xed\x0a\x02\ -\x00T\xb9\xea\xed\x91SM]:V\xa2\x93?t~\ -]\x1e\xa9\x95:h\x97J\xe9\xb3w\xacR\x87K\xe9\ -\x00\xa2\x19\x08\xde\xd45w\x14\x89\x94\x9f\xab=\xfc}\ -\x9a\xf5\xf3\x8a=\xdc\x9a\x7f\x83J\xadT\xac\xd0\x8b\xd2\ -\xbcx\x99\x0e\x18\x02\xedS\xee\xb3\xf9c{\x84\x80\x9b\ -\x84\x83\x07V\xbd\xf6\x14rH\x96@\x9e+\x82\xa3\xb3\ -\xfeu0\xb5\x80\x90\xa1\xa6\x14\xae\xc7\xae\xca\xb5T\xb1\ -\xd3\xef\x81@\xe1AS\xb1\xf24*\x97\xee\xc7\xdd\x13\ -\xf3\xfd\xc4~\xd7-K+\x88\xdaI\xdbA\xcc%\xef\ -\xcd\x04\x0c\x01\xbe+\x83\xefJ\xab\x06\xecd0i\xd5\ -d15\xdcWM\x1f\xef\xb9G5\x96\xd6F\xcd\xa2\ -\x06Wf\x1e\x87W\x88\x05\x0c\xb1\x02C\x14/\x80g\ -\x88uJ\xf7\x00\x10\x0b0\xe2\xf8}\x5cn\x05\xde\xa3\ -\xce\x92\x8a\xda-\xad\x82g\x84|e\xb7@\x0c!Z\ -\xd90\xee\xcc\x16\xc2\x1b \xf8\xdf\x01\xa0\xfa\xc0\x81s\ -+\xedv\x15\xc5\xaa\xdeM(iw\xc5\x9c\x89\x00!\ -\xa5z\xc8|\x8d\xd3\x10\xd55\xbc\xec\x915\x10:\xbb\ -w\x9eX\xcf\xeeC\xeb\xdc>\xb3\xe6u\xa5\xdb\xea\x18\ -\xbeLX\x80\x97\x0dh\xe7\xb5j\x12\x08#dV\xc9\ -\xcdZ\xfe\x1d\x03\x04C\xe7 \xe8B:\xcc\xdb\x19\xd4\ -\xea\xd2\xf9\x18\xb7\xf9\x92|>^\xdb\xa4\x19\x10\x15K\ -\x04\x19\xd4\x1c\xe2\xba\x8eg\xd3IS\x95\xa4PU0\ -\xfaJ\xac\xb5\x1c\xab\xd5!D:[ \x0fr%\xcb\ -\x0f\xf7.[V\x17\x04\x88L\xc0\xafE#\xe2\x9f\x03\ -@\xadJ\xbb@\xb3\xb6Y\x03\x82\x94\xba>R\x93Q\ -\xd39?y#[^{\xfa\xf5'\xd6\xb0\xf3\xc6\x1a\ -w?X\xdd\xd6\xe7\x10\xc5\xb7p\x85\xe7\xb8\xba\x07\xb0\ -j\x80\xa0\xe2\x0f\x91#\xb9PGt\x86\x01\xc2 !\ -\xc1+\xb4LV}\x01\xb16\xad\x03\x97H\x5c\xd4!\ -\xd8j\x8f\x96\x05;\x0e\x0f\xdc\xc4Jn\x03\xd2;V\ -0|\xcb\xf2\x06\x8f,\xa7\x17\xa5t\x12\xea \x97A\ -\xee5\x13\xf2\xa6\x8c&C\xc5\x15\xd5\x84\x1b)B;\ -u\x8b\x18\x97\xc2&\x80\x00\x18\xf2\xb5\xf7\x007\x9fW\ -\x81\x94#\x00\x02\xf7\xaf\xd78~\x8e\x07(\x89|6\ -\x05\xeb\xf7\xd5L:\xe5G\xbb\xf7-\x8f{\x88\xf6\x1e\ -Y\x88T5\xa0\xba\x86\x06u\x0f\x13+?\xaft\x86\ -\xf0z\x1bM\x07x&B\x1c\x9e \x09KM*\xeb\ -r\xaf)\x80=\xbd~\x1c\xf0.\xc0\xb3v\xdc\x86\x9a\ -\xe1\x83\xe76v\xf2\xdcF\xaf=\xb1\xbe\x83{V\xb7\ -\xa2\xb5\x8c=\xb2\x02B\xf4\xd8!\x19\x06\xe4PF\x00\ -g\x13qW\xf6\xa6\x8d\xad:\x87\xc0\xab\x19$\x9c\x02\ -~\x85\x0b5\xc1\x88QW,m\xceL\xac\xed\x86\x88\ -\xf4\xe3\xaa\xc7,\x9b\xfcWn\xbaD\xf9\xfc\xc2m\xab\ -\x82\xb0U.\xea\x0c\xbaS\x5c\xb7N\x12\xd5qk\xf0\ -\x04\xed\xf7W\xf5M;\xfcA\xe4\xaaY5\xec\xaa\xb4\ -Q\x95\x0d,T\xf5~\xb5<\x9c\x06V\x16\x867\xc8\ -\xc0\x0bduN\x03\x80\xabV\xbep\xc3\x1a\xb6\x9eZ\ -\xdb\xd1\x07\xeb\xbc\xfe\xd1:\xae\xfd`-G\xdf\x03\x88\ -o\xacj\xeds\xd7f\xbe`\x82J\xd6\xb0\x88\x87\xd9\xb5\ -\xda\xb5\xdb\xd6\xb2\xff\xc2\xba\xae\x7f\xb0\xbe\xb3\x8f\xd6\x0f\ -\x08\xfa\xef\xfc\xc1\xfan\xfff=\xb7~\xb3\xae\x93?\ -Z\xfb\xfeO\xd6\xbc\xf1\xad\xd5-\xbf\xb7\xca\xd9\x17\x90\ -\xcf\xc7\x84\xa7\x07V4\x86\xf0Z2\xf1\xc8\x01\xa4b\ -^\xd6\xfe\xb9\xd5\x01\x9a\xc6\x9d\xef\xacy\xffGk=\ -\xfc\x09\xf9\xc1\x9a\xf6\x00\xc0\xc6[w\x08s\xa1\xe6\x1f\ -H=\xb3T>&\xbe\x22O\x85B\xbd\x9d3(\xdf\ -\xf1\x0c\xd5\xdb\xc1\x17\xc8\x1etB\x98J\xadt\xd6\x8e\ -6\x8d*\xadS1\xaa\x8f1\xc8P\xaa\xa7\xcf\x10\xab\ -\xfdp\x8c`\xeb*\x00%+B\xe1\xda\x1f\x99\xeb\x1a\ ->\xde \x8b\x22\xa7w\xfd\x15\x8e\xed\xa2\xd9\xa3\xa6\x94\ -?e*X\xaa\xcb\x14T.\xcew\xb9\xfd\xfb\x18W\ -\xb2t\x03\xe1\xd5\x81\x9b\x85p\xad\xda\xa9\x03\xabW\xaf\ -\xa4\xd9\x13\xab\xc5C\x17\xaa\xe1v7Y\x01\x86\xa0z\ -\x0au!Ok^\xe7;VP8\xd6\xaf\xcc\x03/\ -)q\xe1\xe7\x5cRI=\x95\xa1\xc4\xa4\xaa\x22F-\ -\xe2:\x17]\xd7\xa8\x001=kx\xcb\xc2\xa3\xbb\x16\ -\x81\xe1\xabS\x97v\x05\x05\x07A.nH\x07/\xa7\ -\x92\xdb\xba#Z@S\x22\xb1\xcc\xabF%>\xcb\xcd\ -\x90\xc7'\xe2\xd6<\xe1\xbd\x03\x81j\xfd4\xa8\xbd\xa0\ -\xbb\x97A\x1f\xe4\xa6\xf1\x02#+\x10\xc1\x03,\xf5\x0c\ -+}l\xedGo\xac\xfb\xc6\x97\xd6{\xeb;\xeb?\ -\xfb\xd9\x06\xce\xfeh\xfd\xa7\xbfY\xdf\x8d?Z\xf7\xf1\ -/\xd6\xb1\xf7\x835c\xd1\x0dWQ\xa6\x9a?\x22\x8d\ -W\xbf\xb2\xf6\x9do\xad\xfb\xe0{\xeb=\x06<|\xb6\ -\xff\xd6\x9f\xac\xeb\xe6o\xd6q\xfdWk;A\xf9\xfb\ -j\x12\xf9\xc6*Vt\x82\xc9\xa9\xe9\xa8\xfa`\xd72\ -!\x0b\xf0_X\xbeS\xbe\xe2#\xf7\x09hS\x9a\x08\ -\x0b\xad\xa4b<\xafkx\xa1B\x0e\xa5\xc5*\xcc \ -\xdb\x08A\x90\xb3U\xef7\xa8\xe2\x8e\xf3\xbe\x08Xv\ -\xb0\x93\xd4\x14\x00\x84\xe0!\x11\x94\x9d3\x08\xd8T\x98\ -1z\xc7r\x08K\x91\xb1;\x16\xc6+\xa8\x8eA \ -Pk\xf7tM\xcfb\xa9\xea\xc4\xe6\xa4\x19\x01tI\ -\x00,\x19IQA\x0e\xa9of\xe7\xbcE\xdc\xe4\xdb\ -\xb2\x855\x19\xd7\xb9j\x01\x00\x97\x8e\xb2\xd3\x90\xd4\x06\ -\x94^\xb7\x88\xc1\xcd\x91\xefk\xfa~\xd2\xcb\xfb\xc5\x9d\ -\x5c\xea\xa9\x13O\x14:\xbd\x99A\x81-&\xa5m\x89\ -\x0bx\xedB\x5c-`\xf7\x1aV\xae\xa5N\xed\x02\xe2\ -\xe1\x10m\x11\xd3yv\x17\xe7\xe1k\x8d<\xd9\xcd`\ -q\x83nzQ\x02\xc1Qy\xb4\xfeF\x8cs\xafz\ -\x10\x80\xa2R+o\x070\xee\xb3\x0e\x06\xde\xd8\x8fE\ -\x0d\x935La\x1d\xcbX\xe46\xe9\xe0\x09@\xb8\x03\ -\x10\xe0\x04\x87o\xad\xfb\xdaW\xd6w\xeb{\x1b8\x05\ -\x08\xa7\xbf\xa2\xd4_\xad\xe7\xfa/x\x84\x9f\xad\x030\ -\xb4\x0b\x10'x\x8a\x9b\x7f\xb2\xa9\xfb\x7f\xb3\x85'\xff\ -l\x8b\xcf\xfe\xd5\x16\x9f\xff\x9bM?\xfd;\xe1\xe47\ -k\xbd\xf6\x9d\xd5\xef\xe15 \x9aE\xf3g\x96\x0bw\ -\xc9&\xbb\xd1Ii\x8a\xad\xae\x22Y\xbbq%\x9a<\ -\x11\xb1\xe4\xf7\xda\x94\xa9\xbe\x89j\x9f\xa7\x1a\xbc \xde\ -Bg\x1ahuPk\x0c\xd1\xa9\x9bn\x8d!\xaa\xb6\ -\xf7S\xeao\x8cu\xab\xa2\xc7\xb9\xf9}g\x8dY\xbc\ -\x86 \x81r\xcb:\x926wR\xd3\xb8O\xdc\x8e\xea\ -\xc8\xf8]>\x7f\x1d\xb2\xba\x8b']uqZ3t\ -*\xd3v\xfb\x0b\xb4\xf9T\x00he\xfcZ\xb1`\xb5\ -\xb1\xc5S\x09\x94\xee\xe0,\x8c\xccY0\xd6\x9dJz\ -\x99R\xc7\xe7Pz2\xdc(I\x8a\xaf\x82\xf4\x91\x8a\ -\xbacgH'\xf5\x9a\xa0\x0d&\xae*X\x15\xc1\x18\ -'\xd7\xd2Q;\xaeGPJ\x9b\x0a\x05\xbd\xe9^)\ -Xu\xed\xae\xb8R\xacZ3N(^u\x82^w\ -\xd0\x7f\x88\x88W\x1a\x0f\xe0\x1aE\xa9v\xa0\x83\xfc\xfd\ -BT\x89\xa3\xbf\xe9\xb3\x8e\xf0\x88\xacM\xe0\x9a\xb45\ -\x8b\x1c\xb7i\x10\xf79B\x9a6I\xca\x07\xb2\xe1\x1d\ -\xf9\x13\xa4\x86:?x\xed\x1e1\xfb\x99\xb5\x1d\xbc\xb1\ -\xce\xe3\x0f\xd6}\xf2\x15\x80\xf8\xda:\xaf}c\xed\xd7\ ->Z\xfb\x8d\x1f\xad\xe3\xd6/\xd6M\x98\x18~\xf0W\ -[|\xf5\xaf\xb6\xfe\xee?\xdb\xda\xdb\x7f\xb7\xe5\xd7\xff\ -bSO\xfel\x1d7\xbe\xb5\x9a\x9dWVJ\xea\x94\ -\x07w\xc9\x06\xd0\xfe\x0eU\xc82\x08Xy\x1c9q\ -,\xe9\x96\xfa\xf1hBD{\x03\xe5\xbdR\xb4\x8b\x07\ -\x17\xaf2/uP\xd3\xd15\x1e\x00\xf0\x86\x22\x8f\x93\ -\x84\xc4\x19\xb2\x0b\xb2\xa1\x5c\x1dqCZ\x1c\x99\xba\x0d\ -\x08\xce\xe0N\xb7\xc8>\xae[\xb0\x070\xf4\x1c\xb9x\ -,B\xaac\xdb\xd5\xb5m2^\xe9g\x17c\xdd\x03\ -\xdc{\x00@\x17\xe3\x8fB\x9bb\x83v\x8d|\x02\x00\ -\x17S\xbe\xaa\x1e\xb9\xaa\x0f\xcc`0\xd4G\xc8u\x02\ -\xedSQ\xc4\x0enOK\xaf\xca\x10\xd4N]\xc0\xc0\ -+h\xb5K\xcaw^\x83\xc1\x13\xdb\x96\xf2\xbb\x17x\ -\xd5\xba\xff4\xa9\x0d\xa9\xa3\xbaV5\xc0\x0b\xeaQ\x84\ -\x8a,\x95B*%#3\xd1*\xa0\x8aJ3;f\ -\x89\xa9\xb0k\xfe7S\xc5\xa6\xfd\xa4n\xc3X\xe3\xf8\ -\xb6\x85\xa7\xf7\xac`\xf1\xd0\xaa\xd6\xafY\xdd\xe6u\xab\ -Y?\x86\xe5\xef[\xc1\xb4\xb6\xb5\xcb\x9a\xb1\x8c&\xa5\ -\xa2\xc4\xf6j\xe2=\xd6\xefu\xe1\x82\xf0a\xf9\xca\x8b\ -\x05rw@\x04\x0aw\xc0\x05\xe0\xda\x8e\xe5\x8aI\x09\ -\x8d\xb2Pg\x08\x840-\xee\xb8Jg\x81\x14@\x07\ -\xe1\x07\xd9:\x17\x99\xdc[\x07P\x14\x12\xdfK\x94\xa5\ -\xa8\x00D\x95?\x0b:\x1f\xe9\x85\x15\xce=s\x05\x22\ -\x02IX-\xe6U\xf0\x01\x00\xdc\xa9 (\xdc)\x05\ -\xde\xa0n\x9f*\xd4Hi\xdf@'KX?\x06\x89\ -\xeb\x96E\x0b\x00J\xdb\xdc\xa1\x8f.\x04\x13\xb6\xe55\ -\x94\xde\xc9C\xe0\xee\x93D`\x11\xb5\xd4Q\xdf'\x1d\ -w'\xb2\x97\xaa\xddUR\xbe\xeb1\xa8]U\x07x\ -l\xd5J\xee[\x8c\xeb\x80\x85\xeb\xf7\x94\xafmCr\ -7r\x19X\x06\xee\xc6-\xa2\xc8B $j)\xef\ -C\x99Z\xea\x0cB\x14\xb3q\x89\xe1!-\xb3\xc2z\ -y\xd56(u\x08\xd5\xf1\xe8\xae[6\xdeCLZ\ -e\xe5\xea\xc9\xab\x1e\x81\xb2~\x9d\xdf\x97\x06\x17\xd0Y\ -~\xaeEku\x17\x0f\xaa\x06M\xb0\xf0Zn^=\ -t\x9dh\xb2BG\xa4\xea\xd8\xb7\x01\xdc\x9dz\xf9\x03\ -\x12\xbcEr\x1b\xf7\xd6\xc9\xf7\xf5N[\xe6\xc0\x0c^\ -\x88\x10\xd2?\xc5\x83\xa9t\x9d\xfb\xc7\xb3$\xaa\x13\x99\ -k\xda\xc8\xf7j\xd7\xef'\xa6\xaf)j\xad2\xea\xbe\ -T\xc6\xae\x9dP\xdc\xb7\xac\x1f\xc5\x8b\x95{\x87>\xa8\ -N\x81\x01\xe7s\xe9J\xf5 \x87\xfefR2\xb5\x8b\ -%{\xd2\xb2x6\x80\xd7A\x91\xf9\xe3\xb7\xcd; \ -\xf3\xa5\x95/\xbf\xb5\xf2\x95wV\xb6\xf2\x16\x0e\xf2\xda\ -\x8a\x00A\xc1\x9c\x08\xe0}\xf8\x802\x80\x13\xc0s\xc0\ -8j^@\xa2\x94\xd0\xab\xdd\xd7^\x08\xb5\x81Mj\ -\x5c\xf4t\x22\x97\x8e25Q$\xf2\x97\x06/\x10\xf7\ -J\x15y\xe4\x1e]6\x86\xbe\xdc\x16t\x94\xef:\x97\ -\xf1|\xee\xffd\xc8\x18\xb6\xdc\xbeZ\x00\xf8;\xb6I\ -\x155=\xae\x1215\x98\xde\xb0\x18\xa5\x09Z&\xd4\ -\xd6\xe6x\x5c\x88\xa6\x0c5\xc5\xaaT\xc8\xc5\x1c5+\ -r\x1b+\x18\x04\x18\xa9\x5c\xb4v\xb9\x04q\x85\xda\x1d\ -\xa4I!m|\x10\xc9\xca\xd6\xb61\x11'H\xa3\xda\ -\xc4kyW[\x97t\xf8B\x9av\xe5J\x9aG\xdd\ -t\xb3\x94\x9a\xa4\xd5+\xd5\x18~\x9a\x8e\xee\xc02\xbb\ -\x11Y(\xaf\xea\xdf\xc7\xdf]3\xc72\xbd\x22\xe7\xfb\ -\xe0\xdd\xc9\xa0j1W\xc7w\xd4w\x02bO\x12\xd4\ -\xd0AM'\xf9\x9b>\x13\xcf5\xbc\xef\x04`\x88V\ -\x175g\xe1:\x81\xe9\x189\xac_\x80\xfd\x04Z,\ -^g\xf4\xa7\xe36\xd3\xc9\x93\xd3\xf1\x84\xe9\xa4\xb4\xda\ -\xd1\xe4\x94\x0f#\xcf\x84(\xea\xf8{\x9d\x0f\xac\xd3\xd5\ -sGN\xacH\x85\xa6*\xcb^yi\x95:\x80z\ -\xfd\x9d\x13\x95n\x95\xae\xc8\x13\xe0\x05\xa6\x1f\xc0\x13N\ -\xdd\x92\xb5\xdb\xd6&\x00\xb85\x0b<\x806\xc2\xb4\x12\ -\x06\x9aW\xf1\x84R>\xee_\x06y\x0e\x00q\x00\xdd\ -\xb3\xbc\x91k\xd3\x0f!O\xe15\x99\x9f\x93\xc8\x0c4\ -\xe9\x96HJ\x9b\xe0\x84\xf7\x18\xb0\xba\xbd\xab\xd6@\x8d\ -\xbd\xb5\xe4\x9f\xd1J\x18\xd7>K\x1dx\xd9@\xf8 \ -\x83\x88\x89\xab\x80\x11K\xb4*\x05\x82\xb4@\xa1\xedQ\ -\x1e\x08.\x88\x87@ \xf4\xc9z\xa7\x19\xa8Yn\x5c\ -\xb1z\x09\xd6\xbb\x86\xe5\x0b\x04[\x16\xea\xc7\x0b\xa8\xe6\ -^!\x02\xf7\xefN\xf2f\xd0\xd4^US\xc4\xb2z\ -7[\xa85\x02\x94\xac\xae\x1eq%\xcd\x16[\xdc\x08\ -1k\x22.\xab\xdd\x09\xe4\xacL[\xb2\xb4CW\xfb\ -\xf4\x1b\xbd\x8e\x9aH\x82V\xeb\xf8\xbc\xa6e\xe3\xf4w\ -\x00\xa1\xedY\x97\xb5s\xa7\xbc\xc9\xc9\x95r\xbeO]\ -\xc0\xb4\xc1\xb3R\x80R\xb3\x06\xafa\x83\x00\x90\xa4Y\ -\ -\xb9\x7f\xbeX\xb5{:\xf3G\xe7\xd4k\xb7\xabw\xfa\ -$i\xd1\xb0\xb7]\xdc\x89\xab\xf4\xdd\x01\x04\x1b\x0c\x12\ -\x5cA\x9fo\x9b\x03\x08\x0c`# \xd02.\x00H\ -V\xd3\x22Y2\x00P\xef\xdc+\x05\xea\xa6U\x07\x10\ -\xb4\x1b\xb7\xfe\x5c\xf9\xb5\xe7\x00\xb8P\xbe\x07\x80+\x80\ -\xe32\x00\xb8T\xdc\x8a\xd2\xdb\xce\xa5\xf5\xd3\x1aw\xac\ -z\xf5\xaa\x0d\xec'9\xef!\x04\xe84\x8f\x7f\xd1~\ -FG\xc3\xa6K\x18\xcct\x065\x1d\xc5g\x90+g\ -\x10\x163PH\xba\x04\x10\xb8\xbf\xf1\x99\x0c,Mg\ -\xee\xeb8y\xed\xf9\xcfF\x99\xda\x09\x1c\x1d\xbfa:\ -\xad\xdbm\x03\xd3!\x17d\x06\xd1\x09\xc9\x91;\xeb \ -G\xbd\x95D\x92\xe1H\xfa?\x85\x1b\xed]\x14\xc7\x10\ -\x89S+Z\x85_\xb5\x8e\x91b$\xcaP.\x00\xa0\ -\xc6\x0f\x0a\x03^\x9bZ\xbc\x81\x13\xbc\xb3\x08\xbb\xe6\x03\ -x\x06\x85\x02\xcd\x1e&\xab\x8c_\x93u\x22\xb0J3\ -?q\x05\xfe\xce3+\xe5M\xd0\xca\xa0\xf6>2\x16\ -1\xf1M \x0f\xcb\x8c\xaf\x1f&\xee\xfc.\xf6\xa3|\ -m\x0b\x13\xf1s\x9d\xc3 <\xae\xe9A7)\x906\ -B\xf20a2\x80\x9cQ=$\x83\xc0\x83G\x95\x12\ -\xb9\x87\xc5\x1b\xf4\xc3\x09\xc4\x92U&\xa6\xddA\x9dX\ -\x8d\xbc\x86\x80 O\x00\xd8\x92d\x99\xb8~\x0f\x04u\ -\xe7\x00\xf0\xe4\x12\xca\xbe\x8c\xd2/\xe7\xab\xe7\xae\xac^\ -\x9f!T\xe0\x1d.\x94\xffYI\xbb}V\xaa>\x7f\ -\x9d\xae\xe7\x9f:_\xc6^t\xe9\x02\x14\xde\x0a\xde\xb9\ -\xf0\xb3W\xad\xa3>DjFE\x18`\xe0\x9d\xa0\xe8\ -4\xd8\xb6\x13\x5c\xaf\x13\xde\xa7\xe2&S\x01C*\x03\ -\x9dJH\x10`Dl\xb5mNg-eiZ\x18\ -\x00\xb8\xdd;\xc3\x9a\xf5;\xc4\xc2\xb5X\x06)\xd6\xe4\ -\x91z#\xa8.QS\xc5\x9aO\xd0\xc4\x1a\x99\x94\xc6\ -Ss,\x8a\xe7\xca\xb6t\x91\x14P\xd5O^\xda\xa4\ -\xc1\x04\xf4\xbc&Wz\x92REv\x02\x00RP~\ -\x0a\x03,Qc*\x15r\xa8TMi\xb1fF\xd5\ -\xb4!K\x0a\x1f\xf5\xb6o\x85\xb5\xb1\xa6o\x1f\xc0\xef\ -`$(\x9c\x8cB%n:B\xc7\x1d\xdf\x8eBd\ -\xf5N\x5cvD\x86\xe1@ \xc5\xe8Tt\x8c\x10\xe3\ -\x8b\x93`\xe9\xf1b\xf6\x80\xd3\xb5tq\xa9 @\xf8\ -\xa4|\xadJ\x02\x00\xdd\x97&\x81\x00\x808D\x8a\x8a\ -N\x00\x81\x97\xbaJ\x88\xf9\x9aY\x04\xb8:e=\xb1\ -^M!&P>\xafx\xf6\x04\xf8YL\x22\x16\xae\ -9g\x89;\x18\x8a\x9bR\x1f\x1b1b\xb9*-r\ -H\xf1nkr?\xb1]\xee]\x9d+\xc9\xfde\xed\ -\xd1\xf1C\xa7x\x1d\xc7\x1e\x1e\xe5oC\x9b|F[\ -\xc4E\x0eQ\xf8\xe0U\xcb'M,\xe4oE#\xbc\ -\x0eoZ~\xff\x8aE\xbaf-K={\xea\xff\x01\ -\x02\xf1\x01)\xfd3b\xfeg\xe7\x00\xb8\x5c\x80\xe5K\ -\xf9X\xb1\xd7\xe0P-\xd5\xa4\xf4.\x94\xdf\x83\xf4\xda\ -%\xd5\xbb92\xab\xd8I*\xa4\x936\xca\x08m\xfc\ -\xdd\xe5\xfdj.\xa9\x89\x1f\x95[\xa9\x0b\x89\xa6~\xf9\ -\x9c\xbah]\x9c\xe2\x9d\xc8\xff\xa8\x05]R\x85\x06\x19\ -\x17\xcb\xa0{5z\xe7B\xecu$Li\xad\xa6\x89\ -\xb1n\xb7\x19EE\xa9\xc3\xc8\xc01\x1e\xef\x00\xe5\xc3\ -\xec;\xb6\xe0H\xe4\xf7\xa4Z\xee\x087\xf7\xba\xe1D\ -\xe7*\xb9\xc3\xb34\xa7\x02Q\x96\x91\xc9\xd8\xd4\xb0\xdb\ -\xedADI\xf1R\x94\xe2\xb5\xc2\x03\xfc\xc0u\xf6r\ -`\xe0\x9ep\xff\xc9\x10\xf4d\xcd^\xf2;\x15\x97\xb8\ -\x0ej\x02\x81\xd6\x06H\xe9U\x83\xa8\xdfy'\x9f\xab\ -\xef\x82\xdc\xbe\xc2\xc79\xa8\xf8\xfeD\xae\x97\x00\xf8b\ -R\x94N\xb8x\xa1\x19/M\xf5\xe2\xa6:u\xd0\x13\ -\xae^q\x0e\xe5\x8b\xdd\xab#\xc8\xc5\x89\x1f\x91\x91=\ -\x8b\x8e\x1dX\x1e\xca\xcfG\xf9y\x13\x00at\x97\xbf\ -\x83|\x95$\xf5\x00\x9enx\x02\xee_^@\x07'\ -\x16\x8d\xefY\xe9\xc4\xbek\x10\xa53\x04s\xfb\x97,\ -\xd49c\x01\xd2\xc2Truu\x09\x8b\x13\xa9\xc3\xda\ -/\xa9k&\x22\xe5_QGP\xe7\xc2\xd5C\x08\x92\ -\xaa\x82F\x14v\x05\xe5]\xc6b/c\xc1W\xb0\xd8\ -8\xd7\xff\x86\x87u\x82\x9b\x13\xcbE\x89\xde\xa2\x88\x1a\ -/j&P+\x7f\x84:\xf7\x9e\xf8\x8a\x88l\x094\ -\xf1\x02\x8dZ\xb2\xa9S\x09 P\xa3F\xb7\x98\x82\xeb\ -U\xd7N\xa5Ub\xda:\x90!\xbd\x97g\x1c\x14\x00\ -\xb4R\xeaUQ\x87\x01@X{\xf2\xfb\x04\x84#\x04\ -P\xf4\xdd\xe0w\xa7\xde\xb4\xf0\xe0)!\xe2\x16\xef\xaf\ -a\x18\x87\x84Q\xaf\xc3\xba\x1ap\xc9\xe0\xd4=L\x8b\ -3\xee\xf8{\xbdb\xb9Z\x14rk\x03\xfcN^\x22\ -I\xf7\x80\xfbV\x88Vog)W\xe0p\xab{Z\ -\x0f\xa8U\x95\xb0\xb7&\xe0X\xbe\xd2z\xc7+Tz\ -\xa6\xb5\x01=\x0f\xbf\xe7\xef^\x97\x10\x01@\xeeB\x84\ -D\xcaG\xe9\xda>\xadrj5!\xc8F\xd4\xe0I\ -;{\xc3\xb8\xf1\xb0&~\x90\x88\xce\xf0\x19\xd9\xb1<\ -u\x07A\xf2\xb0\xee\xa8&\x83\xf8\x8c\x0eTRg\x11\ -\xd7V\x8e\x98'\xa2\x98;\xec\xed\x15,\x99:B\x0e\ -\xadhB{\xdb\xd7I\xa3\x16\x5c\x09\x99N\xe2\xd0$\ -\x86,\xf6JI\x97])\xd6\x5c=RDL/\x16\ -0\xe4\xd6{\x9c\x82\xdcC\x80\xe48\x1e\x22\x0e\xeb\x88\ -#\x97\x8d\xaf\x9f\xe7\x814\xa1\xb5\xf8;Y` \xf9\ -\xbd\xe6\xd3yPgI\xce\x9aD\xbap\x7f\xb8t\x0d\ -F\x1c\x00\x89\x05\x10q(]\xe2V\xcf\xf43\xa0Q\ --]\x1c\x96\x13\xcf`ky;\x19\x22\x9c\x06\x01\xce\ -\xe0\x99\x02Z\x0a\x86\xffD \x80Q\xedNV_\xe5\ -q\xed\xf5\xd3\xa6\x8d\x07\x18\x86\x96\x9e\x9f[\xc9\xec\x1b\ -+\x9b\x7fg\xe5\x0bo\xadl\xe15\xe9\xa2\xa6\x88\xef\ -Y\xee\xd8-\xc6\xf1\x84\x90\xaa\x89 -\x09{L\xdd\ -\xad\x0a^\x00\x00\x8f,q\xcc^i\x1daZi\x9e\ -\xab \x92\xf25m\x8f\xd2=\xe5{\xab\x81z\x9f\xa4\ -T\xb2j\x1c\xa5C,\xdd\xb3\x09\x04\xe7\x00\xc0P\xe2\ -\xf5\xec\x8cA<\xff\x1b\xe3\x8e\x82\xc3\x0d\xb9\xa5`\x94\ -\xa7]8Y(22\xb8iQ$\xd7\x89\xe2\xf8\x06\ -\xf1\x5c1\xfd\xaas\xeb\xb9r\xe5#[\xc8\xb6\xb3\xf0\ -\x5c\x00\xa0]\xc0jx\xa4\xb0\xa1\x87rm\xe5\xf0 \ -\x11\x88Q\xde\xe8\xa1\x15\xc0\x88\x0b\xe51\x00MD\xfb\ -\x00\xd5L\x02b\x98\xaa\xbcU\xae\x09\x85\xe8\x06]\x83\ -Du\xca,\x1f\x81\xb8q\xd3\x92\x0a\xdec\xd9j\xa8\ -\x98\x88b\x13\x9b\x97\xce\x17NV\x19$O\x92Z\xd6\ -\xf9\xf9*\xb2aIm\x88\xa6T\x11\x1d\xf9\x9e\xcc\xef\ -5\xc3\x96\xc2g\x92\x9b\xf8l\xe3\x12\xa0\xd0\xfa\xc7,\ -\x03\xa14\x0c\x8b\xd0\xc0\x9d\xaf\xa1{ \x1b\xb5X\x94\ -\x1f'\xf2\x84B\x925C\xa8\x850m3\x1fF\xf9\ -0\xff\xfc\x99{V2\xff\xc4\xca\x17\xc9\xf9\x97\xdfX\ -\xe5\xca;\xd3\xf1\xf9\xb5\x1b_[\xc3\xf6\xf7\xd6\xbc\xfb\ -\xb3\xb5\xec\xfdb-\xbc6\xf2s\xed\xd5\xaf\xacrU\ -{\x04\x9f\x93\x1e>p\xdb\xd4\xc5\x1f2\xbb\xb6\xe0\x06\ -xb\xe5\xea<\x9f\xeb<&\xe5\xb7\xf1\x9e1Jn\ -;_\x16\xc6\x0biB\xc8\xb9~\xac_n_\x93:\ -i\xea\xaer.)\xf5\xaa\x09\x98=\x7f\x1em\xec\x95\ -7\xd0l\xa1\xc2\x08\x1e\x12\xe5{\x02\x00\xd2\x1d\xd9\x83\ -\xe9\xc3\xd2}\xbd\xcb\x969\xb0\x86\x8b\xd7\xf6.\xdc6\ -\x96Z\xac\xd7Q,\x1e\xa5\x87\xfbp\xe9\xbd\xc4\xef\xbe\ -\x15\x00\xb1fy(1\x0f H\xa2\x10\xbf\x08\x8c7\ -\x1b\x00x$\x88\x94\xa7[\x80 l\x0c\x1cX\x8ev\ -\x09+c\x807D\xf0\x08Y}\xea\xc6\xa19j\x11\ -\x17\x11\x18\x89&+\x18\xe4\xa65O\x1aW-\xad\x1e\ -\x16[G\x1aS\x8f4.3\x08kN\xa1Z4Q\ -\xbb\xd6\x0bI&\xee\xa6t\xee {\x96\xda\xb5oi\ -\xddG\x96\xd6s\xfcI\xd2\xf99\xbd\xeb\x10\xa0\x1f\xe0\ -\xed\xf8\x8c\xce\xd4k\xd39\x00\x1b\x1e0TE\x030\ -t\x0fI\x0ch\x22\x03\x1b\x8f\xc7\x88\x97\x07\xd1D\x0d\ -1=]S\xb6jJ1r\xcbr&\xeeX\xc1\xec\ -C+[zaU\xeb\xef\xacn\xebKk\xdc\xfd\xd6\ -Z\x0e\x7f\xb0\xee\xeb\xbf\xda\xd0\xed\x7f\xb2\xb1\xfb\x7f\xb7\ -\xa9\x87\xff\x86\xfc\xbb\x8d\xdc\xfd\x17\xeb\xbb\xf57\xeb8\ -\xf9\xa3\xb5\x1c\xfch\xf5;\xdf\xb8\xad\xddej\xbe\xad\ -\xbe\xcb#\xd7\xf1\xba\xbb\x8e#\x880:n\xc0\xd8H\ -\xf9)\xed\xc4\xf4V\xa4E\xf3\xfa3.\x1bI\xd3L\ -%c\xe6\xc3\x10\xfc\xad\x8c%<\xc3\x9b\xe2\xdd\x01H\ -\x9bn\xfc\xf4,\xee\xd0\x0b\x9eC\xab\x81nE\xd0\x89\ -W\x15\xa4mc1iX_\x9a\x9a)\xb5M38\ -\xb3\xa47j\xf4\xb0\x82\xcb\xde ^o\x13\xb7\xb7\xad\ -x\x0c\x00@\xecB=K\xae\xe1S\xa8\x9b\xcf`\xbd\ -\xd1\x01\x800\xb8\x86\xac[\x0e\x9eA\xed_\xdc\xe9\x97\ -d\x0cY=R\xfe\x9e\x8bw\xe1AR$\xeduW\ -\xca\xa4\xfd\x80\x10\xc9\x00\xdeF\x0bEnZ\xd3mS\ -\xd2\xea!\xee\xb0\xe7\x08ph\xe3\xa4:Z =\xd7\ -\x01\xca1!E\xfb\xd9\x0f\x9c\x12\xd2\xba\xd5\xa6u\xd7\ -\xbd\xa6u\xeb\xe7}~F\xb1\xdd(\xba\xf7\x1a.\xfa\ -\xa6\xf9\x07\xce,s\xe8\xaee\x0e\xdf\xe3\x15\x19\xbc\xeb\ -~\xe7\xeb\xbf\x89\x05_G\xae\xc1\xe4\xbd\xf63\xea\x98\ -\xe1\xda\xa7\x00\x12_\xc7>\x83\x0f8\xf0\x22)\x02\x9a\ -S\xfc\x9e\xfbl\xf6\xd0mr|\x9d\x9f\xf0\xd4\x8a\x17\ -\x9e[\xc5\xca+\xab\xd9xg\x0d;_\xa0\xd4o\xac\ -\xfd\xe4{\x1b8\xfb\x83\xcd>\xf9\x9bm\xbe\xff?\xed\ -\xe0\xeb\xffa\xc7\x1f\xff\x1f^\xff\x1f[{\xf7?m\ -\xea\xe9\x7f\xb3\xa1{\xffj\xbdg\x00\xe1\xc6o\xd6t\ -\xf8\xbd\xd5l~ne\xcb\xcfM\xcd1\x9c'pe\ -b\x22\x87b\xf3(\xae\x05KGt\xa6\xb3\xeb*\x06\ -I\x0f\x02\x90l2\x8b0\x86\x16\xc5\x1b\xe5\xf2\x7f\xd1\ -!\xd5D\xaa\xf4\x8c1\xeb;a\xcc~_\x17\xb8t\ -n`\xca\x16P<\x04S\xe2J\xc2RT\x0e\xed\x8a\ -\x0f\x87\xb9\xc8\x08\x17\x9f\x80\xf4\xcdY\xc1\xc8*\x8a\xdf\ -p\xca/\x1c\xd9\xb4\x1cu\xfc\xc0Kdv\xcc\xb9\xb2\ -\xf1\xac\xce9\xcb\x06\x08\x02E\x08\xcf\x11\xc2;dk\ -[\x18\x8a\x15w\xc8\xee\x917\x808\x92\x1a\x85\x05\x82\ -\x01\xd2$\ -\x22\xad|Bz\xf9\x84\xf8\xfa\x98l\xe3\x01)\x17\xca\ -\x84H\xf9PXz\xdf\xa1\xa5\xf5\xa2\xf8\x9e=\x14\xce\ -\x83\xaa\xb8\xa2\x1f\x05\x0e\xde\xb2\xac\xe1;\x16\x1a{`\ -\xe1\x89'\x963\xf9\x1cy\x81\xab~\xce\xef\x9eX\xd6\ -\xc8\x03\xc0p\x87\xf8-p\xa8y\xc4]~\x7f\xdf\x22\ -c\x0f\xb9\xc6C\xc0y\x8f\xdc\xfe\xcc\xd4>\xc5\xdf\xcb\ -w\xc2\xea%\xb2z\x1dI\xaf\x13\xc9uRJ\xe1\xf4\ -c\xcf\xedc\xbd\xd5k/\xacn\xe35\xee\xfd\xad\xb5\ -\xec\x7fn\xfd7?\xda\xf2\xf3?\xd9\xb5o\xfe\xb3\xdd\ -\xfb\xe5\x7f\xda\xa3\xdf\xfe\x7fv\xe7\x97\xff\xaf\xed~\xf5\ -\xbfl\xf6\xe5\x7f\xb5\x91G\xfff\xfdx\x86\xae\xdb\x7f\ -\xb1\xd6\xeb\xbfX\xdd\xeeWV\xbe\xfa\x92Pr\x97\xf4\ -Y\x00P\xb6\x80g\xd4^I\xc5\xfb\x06H\xb2\x0aC\ -q\xfd>\xb8@\x10p\x14\x10R\xab&\xaf[\xed\xec\ -M\xab_<\xb3\xfaem\x16\xb9m\x05\xae3\x99\xb8\ -\x05 \xe8\xd7\xeenU\x1c\xe9\xccGyOo\xceA\ -\xbd\x1eD \xd5\x85]\xfb/c\xbcs\xf14E\xda\ -\xcd/\xbd\xcd\x1b\xd9]S\x967\xb8\x04[_\xc7\xfd\ -oZ\x01\xec>\x82r\x03\xed\x0b\xa6\xa3N} \xd3\ -\xdf\x0a\x83\xd7\x9a\x80\x96Fubx\xd7\xa2i[\x98\ -j\xed\xb4\xd9SS\xc1\xd9 4D^\x1c\xc6\x13\x84\ -\x05\x04\xe5\xc9\xbc\xcf\xe2w\x0a\x0f\xfe.\xc4mNU\ -C\x04\x94?\xae-\xd0\xb8D\x9dJ\xb2\xfc\x1e\xf9\x9c\ -\xf7\x9f[\xde\xdc[\xcb\x99za\xd9X\x9f\x94\x97\xce\ -\xc3\xa5\xe2.S\xb1\x964\xbeG;\x85\xb5\x9f>{\ -D\xdb\xb2\x89\xabSO\x19\xd0W\x96\x0f\x01\xcb\x9fy\ -c\xd1\xa9W\x00\xe2\x99e\x8f=\xb2\xe0\xe8}\xe4.\ -\xdf\xa5\x06\x12j'\x83\xf5\xcd\xea\xb3/\xf9\xbfgX\ -\xf8#R\xbb\xbb\x00\x0e0aQjH\x91\xcdkh\ -\xf8&\x008%\xfb\x81\xec\xe1\xfe\xd5\xd2F\xf3\xffe\ -\x0b\xf7\xbc\xcd-\xab\x0f\xadv\xfd\x91u\x1e\xbc\xb2\xb9\ -\xfb\xdf\xd8\xe1\xfb?\xd9\xe9\xc7\x7f\xb1{?\xfd7\xbb\ -\xfd\xe3\x7f\xb7\xdd/\xff\x8b\xcd\xbe\xf8W\x1b{\xfcw\ -\x1bz\xf87\x00\xf0'k\xbe\xfe\x93\xd5\xee}ie\ -k\xdc\xc3\xccmWk\x18\xe8\xc63j\x8e\x00\xcf\xac\ -\xfe\xc5\xaaYL\xab\x1buk\x11\x99\xad\x8b\x16\xc1\xbb\ -V\xa0\xfc\x8e\xf5\x07\xd6\xbd\xf5\xd0zv\x1eZ\xf7\xee\ -CkX\xbd\x0d\xe9\xbc\x06@\xd5R\x06\xc0\xaa\xbf\x03\ -^X\xfd\x91\xdcz\x01)\xa1\xb2\x19\xafHD\xa5\xfa\ -\xfd\xe8\xbc\xcfb\xb4\x1a\xe7\x8eM+\xef0\xf5\xecM\ -\xab\x1b\xb4`\xeb\xa4Eq\xf1\x05\xc4\xfd\x02b{\x1e\ -9oX\x04\x91\xb8\xe4\xe6\xcd\x9b\xd4\xf1s\x06 \x00\ -\x06\x15Nj\xaa\x17\xb2r!\x81vZyEb4e\xaaY3\xf5\xdf\xf7\ -\xf6\x07\x8eZ\x00\xc5\x86\xb1\xe2(\xa4.wp\x97\xf8\ -N\x8e\xaf\xc9 \x15\x83\xb4\xaf\x00\x84e'R\xb2$\ -\xa05u5y\x80\xb4\xf8\xb4\xc2F\x9c\xf2\x93^f\ -\x92\xda\x04A\xa0\xe2U\x08\xf6\x1cBY!\xc0\x10\xc2\ -u\xabN^9\xb1*du<]t\xea\xb1\xe5\xa3\ -\x8c\xe2\xd5w\x0c\xcaWV\xb3\xff\x9d\xd5\x1f\xff\x8c\xfc\ -j5\x07?\x03\x88\xef\x00\xc1\x07\xcb\xc1Cd\xa1h\ -?nY\x0d\x0eTD\xa1FP\xb2T\x1db%\x17\ -\xed\xf5\xe6y\xeeZ\xb4\x14L?\xb3<\x94\xaa\xb2\xac\ -\xf0\xe8\x1d\xbc\xc4\xa9\x93\xd0\xe8\x99+\xe3\xca\x9b\xd2\xe7\ -\xb96\xd7\xcfS\xd9\xd6\xd8]\x94\x8d\x1b\x1d\xe2\xfb\xe0\ -.9\x83\x87\x08$V2\x84\x0c\x8b\xd0\x1e\x02\x06~\ -\xcfk\x0eV\x9b3\xb4O\x06\xb4\x03\x09\xde\xb4B\xb2\ -\xa1\xfa\xd9#\xeb]\xbfe#\xbb\xf7l\xea\xf8\xa9\xcd\ -\x9f\xbe\xb5\xa9\xd3\xcf\xdd\x99\xc7=7\xbe\xb4\xce\x1b_\ -Y\xdd\xde;\x80\xfe\xcc\x0a\xf0 \x11,:\xc88{\ -\x0aSY\x9e7g\x7fQ\x09\xa4\x92\xf3,\x5c\x7f\x8e\ -\xf6\x08\x8e\x01\xb2\xa5\xfb(\xfe\x09 \xb8kmk\xc7\ -\xd6\xb4\xb4c\xa5c\xf2\xbe:\xebh\x12\x12I|o\ -\xc1\xddkvWS\xbex\x91X\xd2\xec+(\xff\xb2\ -\xa6\xcdK\xdb\x916\xa4\xd5b\xdcVb7\x0b\xa6\x8b\ -\x8d\xc3,\xb5\xda\xa5m\xde\xdb\x10\x0b\xf5\xf7\xc1\xad\x90\ -\xaf\xe6\xf0>\xacF\xd1}Z\xe8!\xbe+\xc6#\x22\ -|\xdaQ\xac\x93\xc2u\x5c\xbc\xda\x95f\x00\x00\x1fi\ -\x8c\xbfy\x110\x01\x12\xd2\x9b`\x1b\x1c\xa2}\x1d\xee\ -\x00B\x01\x81<\x80\xce\xc7W\x85\x8c\x00\x903\xa5\xbe\ ->x\x80\xe5\xd7V\xb6\xf1\xc1\xaa\xf7\xbe\xb1\x86\x93\x1f\ -\xac\xf1\xba@\xf03?\x7fo\xa5\xa4P\xf9\x0bo\x88\ -\xebOP \xf1zH\xe5U\xb8h\x80\x14Baa\ -b_\x0e\xdf\x17E\xb9\x12)2\xcc\xef\xdd\x89\xe5\x00\ -N\xdb\xdf\x83d%j\xce\x90\xa5p\xe4\x08\xea\x89S\ -v\x0e.^$J\xc7\xde8\xce\xd2\xb7G\xd8#|\ -\xe1F\xc3<\xa3\x96~\x95\xe1h^?[\x13cX\ -bXmb\xfa\x0f\xf0j<\x0b\xe1,\x0b>\x13j\ -_\xb3|\xdcx\x19VXIz\x5c;y`m\xcb\ -7\xadu\xed\x8e5\xae\xdf\xb3\x86\x8d\x87p\x06\x1d\xbf\ -\x03\xd7\x99VS\x8ec\x94\x0f\xc9\xe4\xfb\xd5\xd7\xd0M\ -\xdf*^\x9f3wu\x15\xd7\xb6r\xf1\xa9(\xba(\ -\x9c\xd3\xfeC\xb7C\x18\xb9\xa2\xb9\x16'\xdd\x16\ -\x8b\xc4x\x95\xa5b\x87\xc4\x9d\xe6U\xd2\x10\xcd\xf9\x13\ -\xafq{\xb9c\xa7\xae\x9dI\xde\xf8\xa9s}9Z\ -\xf0\x18\xe4ox\x04\xad\xf8\xa9\xc5K\xb6\xa6\x88\x19 \ -\xcd\x1c\xba\xe9M\x1e\xc2\x87\xe5\xfb`\xf6~r\xf4L\ -HH\xb0\xc3k_\x9aE\xba\xa6\x13\xc54_\xaec\ -\xe6B\x1al\x07\x80;X\x81\x5c2\x96\xb8\xf8\xc2J\ -\xd6\xdfZ\xe5\xee\x17(\xfe#\x00\xf8\xd1\x1a\xaf\xfdd\ -u\xa4W\x95\xdb\x1f\xadd\xf5K+\x5cx\x87\xbb~\ -\x89\xc5B\x14\xc7\x94B\x9dy\x8a\xee\x97\xa2Q2\x1e\ -&S\xfc\x82\xeb\xfa\x00\x9e\xb7\x1d\x0bbE\xc6!\xd1\ -|\xbc\xee\xd3\x8f\xb2\xbc\xe3\xee\x95\xba\xa2\xc0s\xc9\x86\ -[8o\xc5\xefC\xdcw\xf6\xb9d\xf1{\xcd\xe0e\ -\x13_\xdd*\xe0\xd8M\xcbgl\x0a\xc6\xce \xcd7\ -\x09\x95x\x0cy7=\xaf@\x8f\x01dq\xad\x02<\ -C\xe9\xd8\xbe\x95M\x1d[\xf9\xec\x0d\xb7'Rk(\ -Yx\x0e\xb5\xb6\xf1\x03,\xd5#\xaa\x0c\xed\xf7g3\ -\xebg\x1f\xd7\xcd\x04\xb0*\x22\x89\x8e\x9fY\xfe\xe4\x1d\ -\xc2\x8e\x1aB\x12~F\xf7\x08\xd5\x10\xf0\xf6)\xf3\xab\ -\xd95!\x5c\x07g\x5clp\x89G\xf1\x09*}?\ -_]\xd4\x8c\xa8&\xbe\xe2\xabF\xdd$X|\xf58\ -i 9dz\xfb\x06\xeeG\x95\xbd\x07\x16\xc4\xb5\x86\ -\xd4\xb4Q\xb3Z\xd3\xeao\x83\x90\xa7\xe6\x81<\xb5\x88\ -\x8f\x0c\x03\x00M\x0bk\xb5K\x0b\x22\xbd\x9a\xf0\xb9\xf0\ -\x00\x02\x80D\xef\x19Xr\xf3\xac\xae]\x14\x8e\xb2q\ -\xd3!Y\x8a,\xaf\x8fl@Y\x01 \xd3I\x98\x11\ -\x1d'\x0f\xb1\xcaQ\xf7\x8b\x99\xfb\xb8\xc5GV\xa2\xa2\ -\x0a\x98u\xed\xc1\x97V\x7f\xf4-\xf1\xf2{\xab\xdd\xfd\ -\xc1\xaa\xb7~\xb0\xaa\xab\xdfY\xd5\xda7V\xb5\x02W\ -\xc0#\x94(\x96\x03\xa2( \xd05\x82(O\x1bJ\ -}*\x84\xc4\x82TC\xef\x8e\x9e\x11\x03Vl\xe5\xd5\ -m\x8f\x82\x15\xa7\xab\x00D\xde\x0a\x90\x04\xb8\x7f\x85\xb9\ -,@!\x85\x87\x00\xac6vfK\xbaP<\xcau\ -^\x83\xfb\x8e\xc2\xb6\xf3\xa6t\x14\xfd\x03+\x9d{\x84\ -R\x91\x99\x07V\xacf\x0ej\xea\xa0\xb0\x841\x05Z\ -\xe1A\xe4\xf69x\xcd(\x9eC!5\x8a\xe2u\xfc\ -\xbc\xca\xd0\xd4\xbcR\x85\xa7Z\xbau\xc5\xa1j\xdd\xe2\ -j\x04w\xd1\x87\x00BZ\xcc\xf7\xa9uO\xf4\xd3\x89\ -\xa1\xea\x12\xa2if\x9e\x15^\xe0\x87\xe4i\xc9:\x19\ -\xe5&Vj\xba[\xa2\x121-x\x0d\xbb\x95C\xd7\ -oA\x93m\x9a&\xc6\xbbx\x15\xe0\x0b\x16\x93\xc1\x85\ -|*\x14\x84\x90\xb9\x1e\xbc(?4\xa6C\x09E\xca\ -\xb0\xc89d\xf6!\x17Vy\xb3\xdc\xacn^^\x02\ ->\xa0\xee\x1b\x9dX\x92\x8a*qS>\x1eB\x13\x19\ -\x99\xce\xd2\x15\xe7\x09\x1b\x903\xb9\xd6\x1c\xb9gD\x84\ -*\x0c\x9a=\x11\x07\xe0A\x5cw2\x91A\x84\xf7\xaa\ -\xb2\xd5\xe1T\xc5\xcb\x8f\xacb\xe3\xa5\xd5\xec~\xb0\xfa\ -\xfd\x8f\xd6p\xf0\x935\x1e\xfcjM\x07\x7f\xb0\xe6\xfd\ -_\xacy\x17\xef\x00Y\xac]\x837\xcc\x93\x9bc\x1d\ -\xea\x95\x1b\xc1}\x87 \x9fA\x94\xea\x17aE\xe1\xa9\ -\xc4T\xad\xa2\xb9\x83\x15T3\xc7{W\x17H\xbc\xcd\ -`\x00\x03\x84/\x852\x85\xb5\x10\xb9\xb52\x96\x08\xf7\ -\x1f\xd1\xe6\x0e\xed4&\xb7\x0e\xcb8D6\xa5`\xac\ -_\xcd!\x0b\xb9\xcf\xd2\x85\x07\xae\xe1d\xd5\xca\x132\ -\x02\xd2\xc3y\x5c\xbc\xa6{\x19\xcb\xec\xdec\xc6\x83\xf1\ -=\xaf\xc3S\xbb6\xe7\x99\x5c\x0a\x8c\xcb\xe7\x1e]\xc1\ -\x86f\x01\x05\x00\x8cF\xfd|\x95~\xfaU<\xaa\xbe\ -\x81\x18\x89k\x14\x05\x00\xa2\x02\x80\x80\xa0\xfe\x82xh\ -\xe5\xffa\x0c*\xc8\xff\xa9\xdcK\x07k\xa8G\x90&\ -yRk\x09!\xb5d\x13Hr\x1d\x06\x80\xb7O\xaa\ -\x9f5\xd5\x81z\xc7\xd0\xaf\xea\xf8\xf8C\xf3\xf3\xa0j\ -\x17\x17DQ\xd9\xa3\x10$\xac\xc9\x03\xc0\x13R0\x04\ -\x00\xe4\xaa\x9cI\xad\xcc5\x89\xa3\xd50m\xc7\x86\xf0\ -\xb9\xeeYn\x05Qnu\xcd)_\xf1=\xc2@\xe5\ -\xe2\xde\xf3\xf9\xae\xfc\xc9{^c#\x90\xab\xa6\x88j\ -\x94\xa4\xd2(\x1dT\x1d\xd6r\xaa\x13\x06\x17Q\xbbt\ -\xcd\xaf\xe7N\x9d\xc2\xce\xef\xbb\x06S\xd5[o\x01\xc0\ -\xd7\xd6D\x18h9\xfe\xc5\xda\xae\xfd\xc1\xdaO~\xb1\ -\xf6\xa3\x1f\xadu\xff\x1bk\xdc|o5+\xcf\xac|\ -\x0e\x8b\x04\xa4y\x90\xb5(\xa1)BX\x0aAP\x83\ -d*\x01W\x9a\x86\xe5\xbbM\xab\x12\xf2`\x94\xaf\xc9\ -\x15q\x17-|\xa9\x0f\xaf\xb8\x8ebm..=\x17\ -\xb2(\x89\xc25\xd4s/\xa2T\x15#\x11o\x08\x13\ -\x0eU\xe1\xa3\xa5\xf0\xa2\xf9[V\xb1z\xdfj6\x9e\ -X\xfd\xf6K\xab\xe3~\xab\xd7\xc9f\xdc6\xf7G\x80\ -\x1e\xf2\xd9\xa7.^\x8c\xb3\xfa!\xbb\x1a@\x00\xc0\x98\ -\xb9\xf2n\x09\x5c\xe9\x1f=\x824\xf1t\xe0\xda\xc5\xa9\ -e|\xa6v\xfcb(\xd9j0%O\x80\xf2\xd5\x9f\ -\xb0\x10oY\x04 \x0a\x09\x9f\xb9\x10`\xb5\x83\xcd\xec\ -:\xc4\x10w\xe0a\x80\xac\x89\xf0\xd7\xb8\x82\x97#\xf4\ -\xa1t\xb7\xff\xb0\x19\x80\x9c\x83-\x15o\x13\xe3\x07\xa1\ -\x01\x10\xae\x06\x85\xbf\xef\x16\xa6\xc6D\xd1iX1!\ - \x8a\xabS?[m\x8f\x0a\xf4\x90^\xc0\xf8\xbd\x1e\ -\xc2\x9a\x9aT\xcd\xf9\x02qU\xde@\xb3\x80\x22G\xc4\ -+)\x1f\x96]\xc8\x0d\x16\xcd>\x22%{\xec\xda\xa8\ -\x16p\xd3r\x9d\xea~)@\x85G\x09\x05\xa3\x84\x87\ -QB\x0b\xccZ-\xde\xa2\x137`\xef:{@]\ -\xc6\x1e[5^\xa0~\xf7=\xd6\xff\x855\x1f~m\ --G_[3\xef\x9bv\xdfY\xc3\xd6K<\x00\xd6\ -\x07\xa9*\x9b%\x1d\x9b<\xb6\x02\xbe+oh\xc7r\ -\xf1TQ\xd2\xa1\x88Z\xd5j+\xf8\xf9I\xe6:\x8b\ -/\xbd]\xa2z\x87\x157\xf9\x92\x8d\xf2#R>\xc0\ -\xcc\xbdX\xdcQ\x96\x00A\xcd\xd5\xe4\xd4\x08F\x01\x10\ -\xb4\x0bY\x00wK\xe4|\xb7\xba\xa3G'w!u\ -\xd7\xadr\xe3\x1e\xec\xfe\x855\x1e~\x0e`\xbft\x8d\ -\x1cK\x97IE\xd5\xc0Q\x13ZC\xa4\x97\x03\xe7^\ -A-lTz\xee\xaau\xe6=q\x0bsZ\x95\xbd\ -\xeaJ\xd4\xb5\xc7\xc2\x8f7\x0b\xe0\xea\xd51\x5c\x8d\xa3\ -U\x7f\xa0\xc3\xba\x0aT\x83\xb8\x84\xb7YQ\x152a\ -p\xde\xe3D\xe1\xa1{\xdc\xd7-\x80\xc05:\x0e \ -\xf4\xf0!\xb5\x8dk\x13\x1f\x02`\x18\xa9\xe3\x1ax\xa1\ -4\x80\x18\xa3\xce\xdc\xea\xc5\xaf\xa6\x0ajJ\xa4n\x95\ -j\xb6\xac\xadN\x8a\xcb\x12u\xab\xcc\x06\xf1\x99X\x95\ -V\xf9>mi\x96(\xfe\x80d\x95SkbG\xe5\ -\xce\xae\x7f/\x00\xc8\xe5\x7f\x0b\xa6\xef\xe3&q\x89\xf3\ -\x8f\xadx\x01\x99\x7f\xc8\xcf\x0c\xec\xa4\xb6L\x1d\x02\xaa\ -\x1dR8\xed\xba\xb9\x0a)\x22\xee\x8e\x90N\x01\x88\xbc\ -\x89\x13\xc0s\x93\x07;3\xf5\xf5\xab\xbe\xfa\xd8j6\ -\xd5\xdc\xf1)\x16\xf6\xc4j\xd6\xef\xe3r\xf9\xdb\xe2u\ -\xe2\xef\xb1\x95L\x1f\xa0|\xb5RQ3jdt\xd7\ -\xf2G\xbcfV\xf9\xc3;\xae\x99\x85\xd6+\xc2\x5c+\ -\xab_\x0d\xa3\xe1-X\xbd\x0a]\xdc9H\x03\x80O\ -\xd9\xce(\x04M\xaeUm\xd8\xf0^\xb9\x84\xc3\xe8\xa8\ -Z\xb2\xe1\x01\xc88\xc4e\x82\x90C1sm\x8f\xf7\ -w\x91\x9f\x0f\xadX\xde\xcc\xae\x95\xae\xdc\xb0\xea\x9d\xc7\ -\xd6x\xf4\xce\x9a\x8e\xbe\xb2\x06\xbcV\xed\xf6Wx\x83\ -/Q\xd2;+\x99{\x89\xc5\x12R\xe5a\xb1j\x11\ -JM\xfbj\xeb\x5c2\xa9\x9e*v\xdc\x16\xeeFm\ -\xfeP\xfd\xbf\xc0\xcau\xba \xab\xdc\xab:\x8e\x85\xe4\ -\xdd\xc6\xafaH\xb7\x01\xc0c<\xcf+\xab$\x04\x96\ -\x09h\xb3\xaf\xf8\x9b\x07\x82P\x1f\x9e\xbc\x87\xd0\xda}\ -\x02\x7f\x01\xb0\xf0\x8a\x00\xbcLaZ\xba\xca\xd0\x0c,\ -\xde&&\xb5\x05\x14\x8a\x08\xb6ijV\xb5\xf1|P\ -\x08\x17\xa3\xd6\xec\x1a\xa2\x03\xa5]/~\xe2\xaak \ -\x0dR]\xcd<\xaf\xaa\xa1\xd7\x97\xa9\xab\x95f\xf5\xb4\ -ARiYD\x00`\x10\x05\x80b,\xbf\x14\xe5\x97\ -.A\xee\xd4\x1eN\xfb\xea&D\x02a\xb8}\xc4\xe9\ -\x9ey\xf3!\xfe\xdeE\x00H\x0a:\xb4\xc1\xa0o\xe3\ -AP\xe8\x14\x8a%\xaf.\x9dG\xc9\xf3G\x0c\x22?\ -3\xd8\x85\x13\x1b\x967\xba\x82R\xd5\xe4q\x9etl\ -\x8eM\xb0u*T\ -\xads/\x90\xc9\xb1#+\x9a9\xb32\x08s\xc5\xd2\ -\x0b+[|\xc58\xbdp\xcb\xd0\xd1\xe1{x*\xc2\ -E/\xe9q7\xf7\xdc\xb9cA\xb8G@\x04]\x99\ -\x10^'M!\xa7y\x854\xb0^\x85\x89\xdaf\xa4\ -\xc5\x07m\x1fRQ\x08\x08\x87\xf5\xea|\x1e\xb7y\x81\ -\x87\x96\xf2\x1dq\x91\x8b:\x97\x7f(\x9e\xcf\x00\x1am\ -x\x14p4\x80\xf2\x00J!\x8bp\xf9%\x0bZ5\ -\x83-\xabJv\xfe\x14>\x009\x1c\x96\xf5\xcds\xad\ -I\xd8/\x0f\x8a\xa4wL\xf0]\xda#8\xcfC.\ -\xe1rQ\xf0\xf0\x0a\x0a]\xe6u\x09E\xcc\xa3\x04\x06\ -\xbc{\x02\xf76\x02s\x1f \xce\xf5\x11\xe7\xd4y\xc4\ -;\x1f0\xd0>\xc2\xdf\xa7\xb0\xd6E\xcb\xd3Z\x06\x9e\ -\xa1l\xde\xdbgX\xb1$\xc2\x86W\x9a\x91\x85\xe3\xca\ -\x07\xbd\xa6\xd8^\xd3\x06\x89\x9e\x93\xe7\xd6^{\xbcb\ -\xa6\x04\xcf\x18D\x14\xda4\x85\x9d\x85k\xf6\x8e\xc3_\ -\xc2\xcd\xce\xf1\xf7Y\x9ew\x09\x00\x008\x00Z\xbe~\ -\xc7jv\x9e[\xdd>\xbc\xe5\xe0s\xb2\x97\x0fV\xbb\ -\xf7\xde\xaa\xb4=}\xfd9!\x01\x0f8\xa7\x19K\x19\ -\x17\xf1\x9e\xefImV\xe5\xce\x08\xe4\xd4\xebQ\xa0\x96\ -o\x92$\xde'\x93\xc7\xa7\xd6\x0c\xc2\xf2\x87]Q\xad\ -\x8ak\x83x\x1e5\xb7\x88\x02\xa0|xS\x91:\x88\ -\xc3\x0b\x94\x09\xe5\xcaS\x11\xa6Bx\xf6,\x9e'\x88\ -a\x070RM\xcc\xb9\xb2\xf7\xa69/3Bt\x22\ -Y\x8c+(lPQ!\xbf\xe0\x03\xaa\x1fO\xd3\x9e\ -s\xe5\xa0\x8e\xb1\x92\xca\x10\xdb\x03\xae\x94\x89\xdf!\xf2\ -\x14\x19\x9a\x82\xd5\xf2\xa568\xa0t\x1d\xe5\xa2\xe9X\ -\x1d\xe0\x10\x86G(gU_`\xf5\xd1-Y\x90\x00\ -\x86\xb9\x1b\xc4\x7f-\x07\xaf3\xa8s\xe4\xe7\xda\xec\xd0\ -\xcf\xc3w\x83\xfe.\x88Y\x0f\xee\xaf\x0f\xef\x82b[\ -\x87@\xec\x88Sh\xa0\x8d\x87o\x1d\x84\xad\xf7[Z\ -\x83z\x0duZ\xb2:\x96W\xb5Z\xa2\x9aV#I\ -\x95-\x96R\xd3\xce\xdf\x01\x02\xff\x17\xec\x99\xe1:\xab\ -\x90\xb0\x1d\xee\xe1\x18\x00B\xd4\x96\xe1\x09\x80\xb0H\xc7\ -\xdf\xc2A\x94[\x0b\xe0\xeeH\x15\x18tj\xf3\x85\xe8\ -\xac\x80\xab\x8c\x83J\xb77\xf9>\xb9|o\x1cT\xe7\ -\x97\xa5R\xf8\xdeU\xbc\x0698 \xcd\x19\xbbJ\x96\ -\x84WZ8\xb1\xd2\xd5;V\xb1\xf9\xc4*\xb6^X\ -\x05\x84\xb0|\xeb\xb9\x95m<%\xad}HVs\x0f\ -\x90\x90\xcbO\xebtvyY\xf1)\x18\xbb\xac\x9f\xec\ -D\x15O\xae\x96Q5\x8c\xc5:\xf9\xb3\xcd\x92J;\ -\x5c\x05uje\x8f\xa9\xb9Uz\x1d\xe3\xd0\xc0\x984\ -Ox@\xe8Z\xb1\x08\xa9x\x0e\xe19G\x13W\xdd\ -\x90pt\xa4\x0c(\x80>\xfd\x84\x93\x0c\xa5\xbb\xa4\xbd\ -idCi\xa4\x8b*p\xf5\xfa\x14MY\x8c\x8a\x11\ -\xd5IJ\x1d=\xdc6\xe4\xa6iWb\xec\xd5\x06\xc2\ -\xec?M\x96(\xdf\x07\x10X\x80\x8fTI\xadY\xb5\ -\x08\xa3<\xd5\xb5\x9b\x95\xe0\xfa\xb5\xef=B\x1c\x15\xdb\ -wm\xd4g\xd5J\x1dF?s\x0d\x8f\x00At\xca\ -'5\x93\xf2\xeb\xd5;H=\xeeZMG\xbaK\xf4\ ->\xa1\xaa\x8d\x1c\x96\x87\x97\x92\xcf%\xb1\x0a\xa9l\xc3\ -B\xf8{y\x0b\x83\xd5d\xf1\xa5\x8d\x16_\xd2\xe0$\ -\x91\x9f\x93\xf9L:\xdf\x19h\x1b'V/\xc2\x8c\xb7\ -\xdc\xa6R\xb5\xba)\xc1\xf3\x94\xcc{\x80,\x98Q6\ -\xa2~\xbd\x10[\xc0\x1b\xe8\xdc\xc5-n\x00\xbe5\x8c\ -a\x85X\xacs\x81\xb5cZu\xfb\x22j\x1e\x10d\ -\x0cZ\xaeU\xd1\x8b\xaa\x9f4\xef\x1e\xd1J\xe98\xfc\ -bj\x8f\x8c\x09\x02\xba\xc4\xb3\xaeB~\xd7\x1eX\xc1\ -\xda}\xcb_\x06l\x0b\xb7,:\x07y\x9bQ7t\ -\x91\xddm\xc2\x86\x88\x1e^\xb7U\xc5\x9a#\xa6vq\ -WT\xefX\xdcnW\x0a[\xbcR8$\xbe\xa8\xc5\ -\x12\x00D\x22@H*\x03\xf8\x15^\x8f\xe6Tu[\ -\xa9\xed'\xc5\x1dB\xc9c\x16 \xc3\x094M:\xf1\ -7jC\xcb\xb8[DJQ\xfd\xa0\xf6a \xae\xef\ -\xa2\x0b1^\x95\xb1\x9aG\xc6\xa8s\x94\x8eEI\xa8\ -\x1d\xb4\x04\x95\x86\xabq\x82Z\xb6\x02\x04U\xc0\xea|\ -\x9b\xcc\xf3R\xf0\xa0\xca\x9b\xfbq\x95}\x00@\x84P\ -=\xfd\x1c\x08p\xa5\x00A\x04R\x05\x92\xea\xa1/\x92\ -\xa7\x9e\xfbE3zU;\xf8=\xcf\xf2q\xef\x19(\ -H-V\xd5~5\xa1R\x1b7\xb4\x89\xe3w\xe2j\ -\xf9\xd5\x91\x5c\x070#:\xf9\xda\x89\x8aC\x9b\x90\x06\ -\x8b+\xaaGj-\xae\x10\xe15Q=\xff\x00\x80\xbf\ -q\xc8B\x9ds\x96;\xb8I\xfc?\x81 \x9eY\xf9\ -\xe2]\xe4\xbe\xcb\xd7\xd5\xd7\xbfp\x16\xc5\x90\x89hU\ -/J\xda\x1b\xd614\xc4J_\xdb.\xdeg\x8bp\ -x\x15R\xa6\xca!y\x82M\xc2\x9d6r\x88\xf9\xc3\ -\x11x\xc6\xc8\x90\xea\x1bD\x1a\x05\xe8m\x9ey\x0bv\ -\xbema\x94\x9b3K\x16\xb3p\xc3r\x90\xc8<\x06\ -1E\x18\x81\x8f\xf8\x87\xc8\x92\x08k\xbe>\x9e\xbf\x9b\ -\xcc\xa9C%fcn\xcc\xe3\xb0\xecX\x5c\xbe;C\ -X\x00\xd0)\xe2(^@\x88E\xe2\x0a\x19\x13^\x05\ -\x06w.p\x89\xc0\xdf\x04\xe8\x9b\x01D\x1b\xde\xa1\xc3\ -\xd2\xaa\xba\x10y\x89^KE\xd4\xf1,I\xfb<\xdc\ -^\xc1^\x070'\x15\x12t\x8e\xc4\xf1>F\x9b\x09\ -]\x17/\xd0\xa4N\x9c\x89 *\xd1\xed\xd2\xc5]h\ -\x07P'\xc4\xcc\x9d\x12\x86\xdb\x1bX\xc7\xda\x89)\xb8\ -.\xd7\xb3\x97T\xc8k\xd2\xbcK\xfc\x17\xa9\x22\x03\x18\ -:t{\x05r\xc7\x8f\x19\xe0#H\xc9>\x84\x85\xc1\ -\x19T\x87m\x1e\xbe\x1d\xf7\xd34lI\x5cO]-\ -\x13\xb4e\xab\x02/\xa0\xf3v\xcf\xc5\x9d z.\xee\ -\xe4kU\x03\x970\x08\xeaiX\xd4\xc8\xa0\xd4Yl\ -A\x0dRmW\x0a\xd4\xa5\xb3\x0awYg\xa9U\x1d\ -\x96\xd9\xa5T}\x10\xc3\xc1\ -[x\x0d\xf8\x03\x1e.gD\xab\x84\xaaoPg2\ -\xed\x13P\xe7\xd2U\x0b\x0c3>\xda\x96>\xca\xf8@\ -F\xd3\xfb\x16,\xa5\x0b\x86\x0f\xe8\x93ZG,\xa9\x99\ -go\xc2\x12\x09}\xf1\xb5\xbd\x16\xc7\x18\xc4a\xd5n\ -;\x5c\x09\xcaw\xd2\x06\x10$\xaa\x89$$\xa86\xb2\ -\xa8\x0d\x01\x14<\xff\x15\xc0\x7f\xa5\xb8\x8e\xf1\xa8\xf7\xbc\ -\x1f`H\xc2P\x92\xca\xf0\x9a\xe5xL\xb7\x0b\xaa\x07\ -\xe5kM\x80q\xbe\x98\xfc\x92\xa8\x18\xd6UCK\xfa\ --\xc6\xf5\xa7\xe3&\xd4\xc6\xcd\x9dD) \xd4\x0f\xe2\ -\x0aGp\x7f\xe3(l\x1ab4G\x1a\x02\x0b\xedU\ -\x1bw\xc8D\xcf\x92\xeb'\x94\x0e\x19r\x0d\x14H\xa5\ -\xdcA\x93\xa4S^\xd9\xb8\xd2\x15/\xe5\x0a1(j\ -;\x17\xe8\xd4\xa6\x0a\xe2P\xb3&`\x04\x00\xb9#\xae\ -\xa5\x9bts\xd6\xbf\x13\x1dq\xae]\xbc\xda\xc6\xed\xca\ -\xba\x19\x00\xed\x09\xc0\xfac\x0b\xeb=\xe5\xe7W\xd9\x95\ -\xbc\x0a\xa4\x9c\xf7\xe5\x00\xa0\xc6\xd2\xe1\x00\xd9m\x13V\ -\xc0u\xcbI!k\xc8:\xea\xd6\x9e[-\xe4\xabZ\ -\x1d\xcbI\x9bJ\x01@1,\x5c\x9dIu\xf2\xa9\xe6\ -\x1b\x0a\xd4\xe6\x1d\xce\xa2^>\xca\xd3\xb3\xfan\x00z\ -\xbc\x82\xaa\x92\x06\xcfH\x81\xd5\xd7\x87\x94Xs\x01\x00\ -@\x8bG!\xb2\x06\xad\x0dhu\xd4\xf58\x86\xc8\xa5\ -\xb4LXJ\x1b\xaf\x1d\xa4r\xb2p\x94\x9e\x88\xc2\xe3\ -\xeb\xb1\xf0\xda\x1e\x8b\xad\xe9\xc2\xdaQ(!-\x8ep\ -\xa6S\xcau\xa2xl\xa9\x94\xad\xe3\xe3\xbd\x9dM\x92\ -\xcb\x02B\xa9\xceg\x00$\xa5}\xbc\xaa`V\xbd\x0d\ -\xf47m\x81\x03\x08\x88N\x0bw\x07K\xab\xd1'\x06\ -#\xe2\xa8-\xe2\xaet\xfc|\xb2\xcbkE\xa7\x02R\ -@\xa8=\x06U\x84\x80s \xc4\xa8\xf7\xbf6M\xba\ -\xe6\x81\x17[\xb4\xd5\xd0I[\xb3\xf1\x06\xa9M#\xc4\ -\xc7Q\xdc\xf6\x18\xe4O\x9d9!\x14(3\xbd\x93\xfc\ -_\x8d\xa5.N\xe0\x22LHt\xea\x96\xd2\x15\xb5c\ -\xf1\xb7\xcd\xc2\xd4\xb5\xab\x96\x98\xd44\x06\xfb\x1c5w\ -b\xa7<\x0c\xae/Y[\xc0\xb5\x07Q\xcd\x0c\xb4+\ -Y\xe2b\x94\xe6\xb1\x85P\xdc\x15 p\x00`p\xdc\ -\xce\xa0\x025m\xac\xb6\xd8\xdcJ\x8b\x8d\xa2\xfc\xdc2\ -\x8b\x03\x00I%\xb5\xe6\xab\xed\xb4(\xd6V6\xb6g\ -u\xb8\xfc\xe6\xab\xaf\xadu\xfb\x0b'M\x9b\xef\xadv\ -\xed\xb5\xe9\x8c\x1d\x81\xa0\x88<\xba\x80\x10\xe5dJ\x8b\ -^ZA\x94ruT\xccM'\xe1\x11-\x19k\xea\ -\xf5\x09$\x0f\xd1\x8a\xe5\xf8]\x97\x16fA\x1e\xfd\xb0\ -k\xb5sMR\xf95\xc0\xf5\xf6V\x22\x0am\xb5\x12\ -\xbc\x18\xa0\x8c\x85\xa0^\xa9\xd0\xc6\xd5\x06\xbb\x5cV\xef\ -\xe4J)\xafX\xef\x15\x81\xbaX\x96\x8d\xe0\xe1\xae\x10\ -\xea.c\xcdZ\xb2\xbdR\xa6\x15\xbc\x01\xaf\xaa\x97W\ -\xb7\x9a\x87\xb7P\xb7\xcf+Xz\x1c\x96\xee6\xbcJ\ -\xe1\x8c\x9d:\x84\x88\xdc\xb9\x13\xd7!\x80iJ\xf9\x5c\ -}\xa1j\x0c\xe0\x1bM\xda/\x00\xf9\xd3\xfe\x82*\xc6\ -\xb9R}\x02\x89\x0bj\x11\x9b\xe4\xbc\x00\x1e@5\xfa\ -\xe7\xa2\x8a\x91d\x00\xa1\x06\x8f)\xda\xc0\xd10\xe8\x00\ -q\xd1\xcd#\xbd\x1d2\x87\xa2}j\x00!\xe9\x00\x10\ -\xe4\xab*\x16I\x87P\xa6\x83\xc0t\xd2\x9b\x0c\x09D\ -'\xa3\x01 \xa9\xbc\x09Ik\x10:E\x04G]\xbe\ -+q\x1d-.r\xe1\x0b\x008f\xcc \x16\xe1\xfe\ -\xb5K(\x0f\xeb\xcf\xad\xb28\x00\xe0$\xaf\xd2\xe2\x09\ -\x05\xc9e\x8d\x16h\xe8\xb3<\xbcT\xd5\xf4\xb1\xb5\x5c\ -}f\xdd\x07_Y\xff\xb5\x9fl\xe0\xc6/\xd6\x7f\xfd\ -'\xeb:\xfc\xceZw\xbe\xc0+\xbc\xb2rMH\xc9\ -\xf2U\xd9\xab\xb5\x07\xc4\xcd\xad\xbb\xa5d\x08\xe2\xa8W\ -\xfe\x95\xaf\x0a\xa5\xf9\xd7V\xbc\xf8\xc6\x8a\x17^Af\ -\x9fZ.\x9fQM\x83\x96\xbbS Rj,\xe9\xdc\ -\xb3\x00\xeav:\xc3Q\xca$\xb8\xe9\xb2\x1a\x94]\x85\ -\xb2+\xedRq\x85'E\x95\xc4\xf8j\x040\xe3\xd2\ -\xb5\x1fB\xa2c\xebuZ\xa9\xb7\xe3\x19\x00`\xcd*\ -\xe2p\xe5\xe9H,\xe9`,\xc6)\x89\x97\x07\x15\xc9\ -\x83\xe1\xabg\x80*\x8a\xd5\x03\xc0G\xb6\xa2\xce\xef.\ -=\xd7\x8a\xa8\x13\x11X\xad\x8a\x02\x08M\xdei1\x8c\ -\xb1VG\x91\x98\x14\xbeT\x1d)u\xfc\xfa\x85\xb83\ -\xef\xcf\xdd\xb3v\xd4&\xba\xb3\xf0\x11\xd7\xf2\x15\xb4\x91\ -\x93\xea\xfc_50T'\x0f\x9f:j!R\xbej\ -\xd9\xd4L!]\x8b,u\xe3\xe6\xab\x1bs\xe2\x87\x95\ -\xfa\xb5\xcbV\x0c\x15I'\xeb\x10\x08R\xe5\xa6\xceE\ -uj\x0e\x08nO\x9c6n\xf0\xa0\xe7\xa9\x91\x068\ -V\xbb\x84\xf2\x19\xd4\xbcZ\x8b\xcf\xab\xb3x\xde\xc7\x17\ -\xeaL\xfdF\xe2\x7f\xbb\x05[\x86-\x7fp\xc5j\x16\ -nZ\xc7\xeek\x14\xff\xbd\x8d\xde\xf9\x93M\xde\xff\x0b\ -\xf2O6v\xfb7\x1b\xbc\xfe3\x7f\xfb\xda\xeaV^\ -[\xa9V:\xc7\xceP\xa8\x94O\xe6\xa2\xe5or\xe9\ -\x82I\xd5\xfd=\x810\xbe\xb4\xd2\xa5\xf7V\xbe\xfa\x95\ -\x95\xaf!+\x9f[\xf1\xfc\x0b\xcb\x1b\xbb\x0d\x00v\xcd\ -G\xea\x9c\xaceV\xc5\xe7|\xac\x99\xfb\xba\x22\x80\xe6\ -\xe3\xa1\xc4M\x0a+\x01E\xb9]*(\xb5\xcf\x0aJ\ -\xec\xff\xc8/\xb6\xcf\xf2Kx_\xc6\xef\x00\x81B\x19\ -\xf7\xef\xb6\xbd\xb9\xddO\x00\xe0|w\xf3\x15m\x93\xc7\ -8\xa5\xf8x\x94\xa5\xbd\x09\xf1\x8ca\x1cc\x96\xc0\xf8\ -%5O[\xaa\xb6\xb4\x93\x96\xaa\xdd\x5c\x96Rp\xbc\ -\x96j\x17\xb3\xdc\x11{\xea\x18Jz\xde\xab\xad\xe8{\ -xf\xa5\xb2\xab\xaeXG\xfaIS\xdf\x07\xc6<\xc6\ -\x1d\x09'+\xc4%\xbb\xd6\xae\x88\xb6\x86\xab\xe3D\x12\ -\xe8s\x1cAa\x02Q\xd7n5l\xd6\xe6\xcaT\x14\ -\x95&\x104k\xcb\xb8\xb6Z\xc3l% L;n\ -3\x1a\xa6\xcd\x87{\xf4#\x01\x09H\xf5K\x88G>\ -\xcdnq\xf14\xae\xab\xefQgL\xed\xd8ueP\ -\x02\x01\x0f\xecR\x15\xc5)\x15\xach\xbf\x1f\xec\xf8S\ -\xff^$\xbe\x88\xd8\xc7\x80%\x12\x13\x93\xcb\xdb,\x0d\ -\xb7\x1bl\x1d\xb3\xbc\xa15\xab^\xbci\x9d\xfbol\ -\xe8\xf4G\x9bz\xf8\x17\x9b\x7f\xaa\x16r\xffl\xf3\x8f\ -\xff\x93M\xdd\xfb\x8b\x0d]\xff\xd5\xda\xb7\xbf\xb1\x1aY\ -\xf5\xc4#\xcb\x1b\xc1\xe2q\xfd*\x0a\x91\x07P\x9fb\ -\x9d\xc3S\xba\xf8\xce*\xd6\xbf\xb1\xaa\xad\xef\xadz\xfb\ -{\xab\xda\xfc\x06\x10\xbc\xb5B\xb5zQ\x06\x84\xe5\xa5\ -\x08\x00\x10\xb6\xd8|brn\x1d\x82\xc5\xe7b\xddx\ -\xa7\xcb\xf0\x93Kye\xf6Y\x1e\xca\xcf+F\xf4\x0a\ -\x18\x08Y\x97\x00\xc8\xe5\x02\xc8,^\xc3c\xf7\xda\xcc\ -\xaa\x0d\xac\x10b\xad\xe9\xe3\xd6]U\x10c\xa6\x1dC\ -I\xda4\xc2\xf5\xd4>.\xa5U\xedo\x08\xbb\xf0.\ -\x9d2\x1a\x06\xb4Q\xf5!\x9ay\xce\xeb3R\xcd\xc7\ -\x16\x19\xbbOv\x02\x7fqU\xc2\x00A \xe8\xd4v\ -\xb5U<\x01 \xc0K\xeb\x94\x96\x18\x1dh\xa0\xe3S\ -\xd3Z=\x05j\x81\xc7k'J*\xe8\xbaN\x11\x9f\ -a\x91\x02\xc3\xc5\x86JmLt\x00\xc0\x8au\x18t\ -:\xb9\xa7+-\x97\xebo&,`\x19\xb2\x0eu\xe7\ -\xcel\xbc\x10~\xe6A\xfc\xc4'\x1fq(]\xff\x0f\ -QQ\x8bV\xe5\xaa\x0e\x04\x00@\xd7U\x9f}\xed{\ -s\x84E[\xb9\xcaa\xb2e\x10B\xb7\xe9\x13 \xb8\ -\xadbJ\x15\xc9\x8f\x89\x85\xc9\x95\x9d|W\x8f\x05Z\ -\xd5\x81t\xd9\xaa\x16\xae[\xcf\xd1\x1b\x9b\xba\xff\xb3-\ -\xbf\xfcO\xb6\xf9\xee\xdfl\x0bY{\xf5/\xb6\xf0\xc4\ -\x03\xc1\xe0\xf5?Z\xfb\xce\xf7V\xb7\xfc\xc1\xcag^\ -X\xd1\xc4C,\x1b\xb7\x8f\xe4M>\xb4\x82\xd9\x17V\ -\xb2\xf4\xb9\x95_\xfdhU\xdb?Z\xf5.\xb2\xf3\xd1\ -*7>w\xd3\xday\xea\x0d\xd8\xb5\x0e\xd0\x89\xa9J\ -\xab\xc4\xd8\x0b\xb0^\x01!\x8f\xf8\x8e\x87\xd2\xb6\xf6\xcb\ -(Z\xcavR(\xe1wE\x00E\x8d/\xd4\x99\x9c\ -X\x9fX\xa6\xe6\xd0=\xa4\xb1\xfd\x96\xceX\xc8K\xfa\ -[\xe7,\xb3c\xd5\xed\xb1P\x15\x93\x8aB$\x01\x85\ -\x1eD\xb3\xae*V\x8dL\xdc\xb3\xfc\xb9\xe7V\xac\xb5\ -\x86\xb5/\xadd\xf5\x0b+Zz\xc7\xef^\x98\xaa\xab\ -\xd5\xa2.\xa4\xa6\xdb\x9a\xacS}\x81&\xf0:5\xdb\ -\xab)\xfc%\x8bq\xdd/5\x1f\xde\xef\x1dk\xaa\xc9\ -\x1eW\x97\x8e\xabH\xc5\x92\xbdmH\xda\x90\x88\x97\x10\ -\xc9@1\xeaJ\xe5\x1a\x16a\xc9N\xb4\x95\x5cn\x1f\ -\xe5\xeb\xbc^\x95\x85\xf9\x897\x01$\xb3\x05i\xf6$\ -\xd0\x041T\x01\x86\x00@\xacW\x9f\x80\x14\xc0\xe5\xfa\ -\xef\xd6\x9cw\xc1\xc2[\x88\xc4x\x1b\x17`\xd3\xb5\x0c\ -\xb0\x03\xc2\x10\x96\xc1@\xab\x97\xaf\xd2\xc3r\x08\x90\xd2\ -\x1dBS2\xe45\xb5\xae\x17\xee1d\xd9=sV\ -1{h\x03\xc7/m\xf9\xe9\xcf\xb6\xf3\xfeov\xfc\ -\xf5\xbf\xd8\xe1\x97\x7f\xb7\xf5W\xffds\x8f\x7f\x03\x18\ -\x7f\xb2\xd1\xdb\x7f\x86\x1f\xfcf\x1d{?[\xe3U\xbc\ -\xc1\xf2{+\x9b\xf7\xe6\xd3\x8bt\xf6\xde\xe2{+]\ -\xf9\xda\xca\xae~o\xe5\x9b?X\xd9\xe6\xb7\xbc\xff`\ -%+/\xadp\xee>dP\x99\x80V\xd9\x96\x1c\x11\ -L\x86Y'\xc0\xd6\xe3\x8aa\xeeE\xb0\xf5\x22b\xb8\ -B\x83\xbc\x03\x96-\xa6\xaf\x8e&jX\xf1\x0f\xf2\xd6\ -\xe7\x9e_\x86\x90\x81\xe7\x0b0\x86\xd9(%\xa7g\xc3\ -\xf2\x06\x0f\xac\x88\xb0\xa4C5K\xa6\x1fX\xf1\xf4#\ -+\x82\x84\xea\x90\xa8\xbc\xf1\xfbp\x16\x9dJ\xaa\xc3\xa3\ -^[\xd9\xea\x07\xab\xe4\xfe\xaa\xf0R\x95\xdb\xdfY\xd9\ -\xc6\xd7V\xb4\xf2\xfe\x13\x08\x94\xc1d\x13\x1eT\xec\x93\ -\xd9{@\xc6\x06\x90H\xdf\xd5\xe9-FK\x8b\x92\x5c\ -\xbdB\x88t\x14Z\x16)\x8e\x90\xa2\xf9~\xafF\xcd\ -[\xf9K\xc3\xa2\xd3\x9b\xd4C\xe7\xbc\x8f\x8e\xdc=\x1e\ -\xc3\xc5|Y\xbe\x0aBu\xaaV\x87\xb2\x00\xf2b\x80\ -\x94\xc9wh.Z\xb5\x81\x22M>\xbeK\xd5+\xa9\ -R8^%\xd9\x91P\xb8\x07a\xc5\x01Lupn\ -\x87\xeb<\xa2-O\xbc\x0a\x0c\x80\xce\xb1W\x97!\x88\ -\xa3\x88\xa8B^k\x19\xc4\xba>>\xd3\xc7\xfd\x0dr\ -\xcdI+\x1e\xdf\xb0\x9e\xbd\xfb\xb6\xf0\xe0\x83m\xbc\xfc\ -\xde\xf6\xde\xfdd[\xaf\x7f\xb0\xb9\x07_\xd9\xf0\xe9\x17\ -\x84\x86\x8f6t\xf6\x8b\x0d\xdc\xfa\xcdz\x00A\xfb\xc1\ -/\xd6\xc4\xc0\xd5`A\xe5\x00\xa1\x84\xb8_\xb2\xf2\x85\ -\x95\xae\x7fk\xa5\x1b\xdfY\xc9\xc6\xb7V\xb4\xf6\xc1\x0a\ -\x96_X\xee\x9c\x8a8U\xc4\xa2\x85\xa3],t\xc3\ -2\xdb\xd7\xf0x\xb0\xecZ\xf2\xfd\xea\x09\x94\xab\xedm\ -J\xb7\xc4gd8\xda\xc8y!c\xa6^\xca:\x80\ -J\x9e\xd3\xa7\x9eCx\xe0l\xc6L\x8aW\xef\xdf\xb2\ -\xc9S\xab\xc6\xcb\xd4\xaf\xbd!{\xf9\xc2\x9a\xb7\xbe\xb6\ -\xa6-\xd5=|c\xf5\xeb_Y\x0d\x0a\xafZA\xb0\ -\xf6\xaa\xf5\xaf\xadz\xf3\xa3\xd5\xec\xfc\xe0\xbcT\x15\xaf\ -\xe5[\x1f\xadd\xfdK+\x5c|ky\x00:g\xe2\ -\xb1\xa9\x862\x9bP\x97\xad\x22\x95\xe1\x1b\x08\x1el\xe4\ -\xba\xc5\xe8(2\x15|\xe4\xcf=\xb2\xfcY\xefT*\ -\xd5\xbe\xab\xc6N\x85\x94Z\xb7\x16\x18$\xaa\xb3\xcbt\ -\x8b%0L\xadY+\x07V\x9e\ -B'\x89\xe7\xe9g\x17W\xdb\ -\xa7\xb9\xcb]\xc8DP\x04* 0\x85\x1c\x05E\xa0\ -\xc4\x04\xde\x03!\x00\xe7%8\x9fB\xaa~\xccn\x05\ -h\xc2x\xdaF\x04\xd49$7\xd1\xdf\x06\xf6\x9d\x12\ -h\xf2\xec\xbe \xe5e\x08\xe0}\x04\xfd\x1d\xb2\x03|\ -\x00q'\x04\xd2\x80\xc6\x0e\xc6\xa4[\x8c\xa9r\xbff\ -\xd1\xb7\x01\xbcr?\xa1\xbe\xcc\x1a\xcb\xe4\x9c\x8c\x00\x9a\ -y9\xa0o\xa1?\x06\x197\x87\x1d\xe8\xea\xce!\x1b\ -n\x12\xed7\x12<\x8b!\xf4\x880\xcb\x04\xf4c\xc8\ -$\x10\x12\xde+<\x9e\x9c+^$$\x91\x18\x02G\ -\xacg\x81\x1e;\xd0C<\x02j\xd0\xc3\x90\xab\xc03\ -\x11\xf1\xb2*\x22\x1c\x91\x9a>;&\xf0m\xd2\x89X\ -\x14X\xf3\xa3\xee\xb3\xecdB\x8e\xd9\xb9\xd1\xd6\xc9@\ ->\xfa\xb5\xf3\xf5\x84\x90\xcf\x8a\xc0\x84\xdb\x87\x8e\x0f\x16\ -\xde\xdbiw3\x00\xbd\x0aI\xd9\xbe3\xc3\xe1,\xfd\ -\x8e\xa3\x96G\xbb,\xd8#y\x03d\xcc\x04\xf6LI\ -5\x15\xf4\x18\xcd\xc8!\x81&\x13x\xb2\xb0G\xa8\x98\ -\xd7\x97J\xea\x93v5\xda\xdbu\xf0f\x14\x07\x92\xfc\ -\xb1y\xcd\xadt\xa3\xf6\xa1\xb7\xd0\x1e\x08\xf6HR9\ -\x17\x9d.Q\x88JMX\xe3E\x11\xc8\xf9\x91\x84\xf7\ -6\x92\x90d\xdf\x972\x84\xd10\xd7\xf9\x22\x02'^\ -\xd7?\xed\xed\x0f\xbc\xcbE!\xdb\xbc\xce\x86SF_\ -w\x8ev\x01Hy\xe1\x9cN\xb5.\xcf\xf0\x0d\xfa:\ -G\x83\xaa\xe2\x16:\x1d\xdb\x0d\xe0\x5c\x0f;d\x81\xc7\ -k\xf3\xee\x13\xb6\xb6_\x18x\x11B\xac\xd8\xfc.\xa5\ -\x1f`t\x8aZ\x1d\xe5v\x8c\xd0M\xa6#$\x9db\ -1&\xcfu\xde\xb2q\x9f\x90\x9d\x86\xbe\xbd\xe8<\xc7\ -\xfb2\xf7\x0f\xe6\x1c\xe5c!G\x1c\xdd\x88\x0e\xe8\x1a\ -\x85\x8f\xea.\xef\x842G\xf0z\x99e\x88\xdb\xbc\x96\ -\xabn\xecx\xf1_\xa0JA\x0d\x0a\x0d\x0a Icons / Noti\ -fication / Error\ - - black\ -\x0d\x0a \x0d\x0a \x0d\x0a \x0d\x0a \ - \x0d\x0a \ - \x0d\x0a\x0d\ -\x0a\ -\x00\x00\x01u\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ -\x00\x00\x01\xd0\xa2K@\xfc\x1f\ -\x84\x81\xfc\xff06\x10\xbf\x02\xf2\xe7\x00i9Z\xf8\ -\xd8\x02\x88\x9f\xa3Y\x08r\xc0_4>\x8c\xddHM\ -_G\x00\xf1?\xa8\xe1 \xfa/\x0c\xe3\xe0\x83\xd5\x02\ -\xf1\x1a \x9f\x91R\xcbA>\xff\x87\xc7\xc7\x84\xf83\ -(u\xc03\x12-\xc4\x16%n\xe4\xc6{>\x11q\ -N\x8c\x03\xae\x93\xeb\xfb\x8b0C\x09\xc49!>\xc8\ -\x0c}r\xf29H\xe3?\x0aC\x00\xc6\xaf!\xd5\x01\ -\x0e\x14Z\x88\xce_C\xaa\x03B\xa8\xec\x80\x03\xa4\xc6\ -\xbf\x0f\x09\xf9\x9e\x984\xb0\x95\xd4\x10P\xa7r\x08L\ -\x22\xd5\x01l\xd0\xb2\xfd?\x95\x1c\x10@N90\x9b\ -\x0a\x0e\x00\xe5\xa2\x9f@\xccDN9 \x0d3\x84\x82\ -4\x00\xd2\xdfBIQ\x5cOa\x08\xdc\x01\xd2\xcc\x94\ -V\xc5k\xc8t\xc0\x1b _\x99\x1am\x01F \x9e\ -\x81\xa5\x01\x82+\xceAl\x90\xcf\x95\xa9\xdd\x1ar\x07\ -\x1az\x13\x9a\xaf\xe1\x8eA\xe3\xff\x04\xc59\x10\xb3\xd0\ -\xb2=\xa8\x0f\xc4\xb5@\xbc\x16h\xd1! \xbd\x1d\x88\ -\xa7\x00q \x90\xcf\xcc0\x0aF\xc1( \x11\x00\x00\ -\x90\xbf\xd0E\xdf\x04S\xa8\x00\x00\x00\x00IEND\ -\xaeB`\x82\ -\x00\x00\x02\xaa\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ -\x00\x00\x02qIDATx\xda\xedWMHTQ\ -\x14\xd6q,\x0c\x1db\xd0d\xa86\x814!\x11A\ -\x90\x92H\x14\xc4@\xaef\x11\xb5\x10l'\xe4l\xc4\ -\x85\xcb\x1aA\x88@\xc2E0\xad\x1c1h!\xd3\xa6\ -\x7f\x9a\x84\x90hg$$\xb6\xa84]\x88\x039\x8b\ -\x18)g\xf2;\xf0=8\x5c\xdfLo\x86\xb9\xd2b\ -\x1e||s\xcf\xb9\xef\xdes\xbew\xce}o\xea\xea\ -jW\xed*\xe3\xba>0\x14\xbbq3\xf6\x07w\ -\xe9q\x8d\x8fN\x00\x15+\x80\x88E\xbe\x0f\xe0\x97\xe0\ -\xa8\x11\x80\x1f\xf6\xcfF\x9f;\x9c\x01\xb7x\xad\x01\xd8\ -\xafJ{\x82g\xc0>\xbd\xc9)#\xab\x84\x11D\x08\ -\xf8i\xcc\xd9\x06\xcex\xad\x01U?\x82M\xa0IG\ -\x16fF\x1b|\xdb\xc9\xa4Qc\x81n\xd8w\xd4I\ -\x17\xf5\xda\x05\xac\x15\xb9oM6\xe7>M\xfa\xe60\ -#{\x0c\xf4\x02\x05\x8e{\x8cM\xae\xd1>\xec\x92\xa1\ -S\x039\xad\x00~\x1f\x06\xb6\xe8\x93\xb5\xbf\x01\x1b\xc5\ -\x14Hq<\xa0\x14\x09\x19\x1b\x9d.QK\x17E)\ -c\xfe\x0b*s\x8f\xe3\x1f\xa5\x14H)\xdb]\xda\xa4\ -\x00\x0fU\xd8A\x0f\xb8\xc6;\x8e}\x12\xc0?\x15P\ -\xf6I\xda\xbfK\xa1\x96\xd1UG0\xff53\x9f\x07\ -\xfbio\xf0\xac\x80\xf2\xddR5\x91\x04\xce;\xad\xa7\ -\xe6\xc8\xc2\xb2\xe9%9%\xd5\xf7\xc1}\xa0\xde\x98\xe7\ -]\x01\xe5\xef\x90\xd7\xadz\xcfK\xab}\x05/\x81\x97\ -\xc1\xeb\xf2\x1aV\xfeW\xe0\xb3.\xeb\x94\xaf\x80\x91\xe9\ -1`\x10\x90#y\x1e\xf8\x04,\x00r4'\xe4[\ -\x10h/q\xbf\xd4\xc0\xaa\x9b\x02'\x9d\xc8-\x7fU\ -\x1f\xe49\xb1G\x01\xe9\xe1\x1d\xf6\xf0\x09Ko\xd2\x03\ -\xc0C*\xbd\xe06a\x92\xcf\xf0\x17x\x0e\x9c\x06\xa7\ -\xab\xc4o\xc1\x19U#}\xc5\xa2\x1c\x01\x16Y\xa9\xab\ -U\xc6\x0a\xf0\x1e\x88xyV\x8d\x98\xd8Xe\xf6\xff\ -\x97\x7f\xf7v\x01&\xc7\xb3\xa0\x90\xee\xe83\x00\x00\x00\ -\x00IEND\xaeB`\x82\ -\x00\x00\x02\xae\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a Icons / Noti\ -fication / Warni\ -ng\x0d\x0a \ -\x0d\x0a \ -\x0d\x0a <\ -polygon id=\x22Tria\ -ngle\x22 points=\x2212\ - 2 22 22 2 22\x22><\ -/polygon>\x0d\x0a \ - \x0d\x0a <\ -/g>\x0d\x0a\x0d\x0a\ -\x00\x00\x06\x8c\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a Icons / Icon\ - Grid\x0d\x0a \ - \x0d\x0a \ - \x0d\x0a \ - \x0d\x0a \x0d\x0a \ - \ -\x0d\x0a \x0d\x0a \ - <\ -use xlink:href=\x22\ -#path-1\x22>\x0d\ -\x0a \x0d\x0a \ - \x0d\x0a \ - \x0d\x0a \x0d\x0a\x0d\x0a\ -\x00\x00\x01\x12\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ -\x00\x00\x00\xd9IDATx\xdac`\x18\x05\xa3`\ -\x14\x8c\x82\xa1\x06\x22\x13s\xd9\x818\x15\x887G$\ -\xe4\x5c\x00\xd2\x87\x80\xb8\x1b\x88Uhn9\xd0BG\ -\xa0Eo\x80\xf8?\x08\x03\xf9\xffal(\xbf\x87\x96\ ->w\xc2b\xe1_4>\x88^F\x0b\x9f\xb3\x03\xf1\ -k\x98\xa50\x0c\xe4\xff\xc3\xc2\x07\xa9\x09\xa2\xb6\xefS\ -q\xf8\x18\x17\xff4\xb5\x1d\xb0\x91D\x07\x800\x0f5\ -\x1dp\x9e\x0c\x07(R3\x0d\x1c\x84&\xb0\x7fD\xa4\ -\x81\xbf\xd0t N\xcd\x10\xe8\x221\x04^\x011#\ -5\x1d\xa0\x04\xb5\xe0\x1f\x91\x0e\xe8\xa0E9\xd0Cd\ -9\xf0\x0c\x889hU\x18-\x83\xc6/,4\x90\xe3\ -\x1cl9\x90V\xa1u]\x10\x04\xca\xe7hE1(\ -\xce;\x81|\x0e\x06z\x01P>\x07Z\xa8\x08\xa4\xc5\ -\xa9\x9a\xe0F\xc1(\x18\x05\xa3\x80\xde\x00\x00*\x106\ -\x97\x13c\xdc\xaf\x00\x00\x00\x00IEND\xaeB`\ -\x82\ -\x00\x00\x01\xf5\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ -\x00\x00\x01\xbcIDATx\xdac`\x18\x05\xa3\x80\ -D\x10\x91\x90#\x06\xc4\xd7\x80\xf8jdb\xeeU\x10\ -\x0d\xc47\x81\xb8\x84.\x0e\x00Z\xaa\x02\xc4\xffA\x18\ -h\xe9\x7f\x18\x1b\x88\x17\xd1\xcb\x01\xcaH\x0e\xf8\x8b\xe4\ -\x80\x05#\xc3\x01@KU@A\x0f\xb5\xfc\x1f\x88\x86\ -\xf2\x17\x8c\x98(P\xc4\xe1\x80\xf9\xb4\xb4T\x0e\x88u\ -\x81\x16j\x01\xe9(\x1c\x0e\xd8\x0b\xe4k\x00i\x1d(\ -f\xa1V\x9c3\x02\xf1mX\x96\x83\xc5?Z\x1a\xf8\ -\x8b&\x0f\xc2\xce\xd4\x0c\x01\x17\xa8\xe1\xff\x90|\x8c\x1e\ -\x02\xc8\xf2\x1bi\x11\x0d\xe9h\x05\x0f6\x07\x80\xe8\xab\ -\xe4Z\xc0NDtL'\xe0\x80W@Z\x92\x80=\ -L\xd8\x0cV\x06\xe27@\xc9\x07@\xba\x06\x14\xefx\ -\x1c\xb1\x17K9\x00\xa2\xff\x00\xf9\x16\xf8\xea\x10\xa0\xfc\ -J \xfd\x1c\x88\xeb\xd1]\xa5\x87V\xb6o\xc7\xe3\x03\ -\x1e \xbe\x8f%\x04\xa2\xf0\xe8\x11\x02\xe2gH\xe6\xcf\ -CW\xa0\x8b\xc5\xc0\xe9x\x0c\x94\x05\xe2\x1fH\x06\xb6\ -\x11\x08\xf6#h\xe6\xcf%\xc6\x01 ~\x00\x1eC\x9d\ -\xa1q\xbe\x94\x80\xe5yX\xd2\xcc\x5c\xf4\xf8\xd1\x85\xfa\ -\x069_\x83\xb2\xd47 \xadFA\xce1FJ#\ -\xb04\x03r\x08\xd1!\x00\xa2_\x03\xb1\x12\x99\x96\x7f\ -\xc0\x91k\x88v\x00\x8c\xff\x05\x88#\x88\xb4\x98\x0b\x88\ -\xab\x81\xf8/\x9er\x83d\x07\xc0\xf8\x17\x81t\x19\x10\ -\x9b\x03\xb1(\x90\xcf\x0b\xa2\xa1\xb9(\x06T%\x03\xe9\ -7x\xf4\x93\x94\x06\xfebI\x13\xc8e\xfd\x7f<|\ -l\xfa\xc9J\x03\xb4\xe2c8@\x9b\xce\x0e\x98\x8e\xad\ -t{KDeC-~\x18\xb6\xb2:\x84\x848\xa6\ -\x84\xbf\x1e_m\xa7\x04TT\x07\xc4\x13\x81x\x02\x90\ -?\x01D\xc30\x85\xfc. \xdfo\xb4k\x87\x0e\x00\ -\x0bqL\xd4T\x13W`\x00\x00\x00\x00IEND\ -\xaeB`\x82\ -\x00\x00\x00\xd5\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\ -\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\ -\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00\ -\x09pHYs\x00\x00\x0e\xc3\x00\x00\x0e\xc3\x01\xc7o\ -\xa8d\x00\x00\x00jIDAT8Oc\xfc\xff\xff\ -?\x03%\x80\x09Jc\x80\xc522\xffA\x18\xca\xc5\ -\x09\xb0\x1a@\x8cF\x18\x00{\x01\x9f\x86\xd8'O\x18\ -\xa1L\xac\x00\xa7\x17`\x80\x90k\xc0\x06\x10\xb2\x05\x9f\ -!\x04]\x00\x03 C\xb0\x19D0\x0c`\x00\x97+\ -\x09\xba\x00\xa4\x11\x9f\x17Q\x0c \xa4\x18\x1b\xc0\x99\x12\ -a\xde\x22d \xed\x922\xb1`\xc8\x1b\xc0\xc0\x00\x00\ -\x1d[2\xc1\xc0t\xc2\x0d\x00\x00\x00\x00IEND\ -\xaeB`\x82\ -\x00\x00\x00\xeb\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ -\x00\x00\x00\xb2IDATx\xdac`\x18\x05\xa3`\ -\x14\x8c\x82Q0\x14Adb\xae:\x10O\x8eH\xc8\ -\xd9\x0f\xa4\xd7\x00q8\xdd,\x07Z\x1a\x0f\xc4\x7f\x81\ -\xf8?\xd0\xe2\xff \x1a\x8a\xb7\x00\xf9\xcc\xb4\xb6\x1c\xe4\ -\xf3\xbf \x8b\xa1\x96\xc3\xd9P~\x1b\xad\x1d0\x19\xcd\ -Bt\x07\xbc\x05\xd2l\xb4t\xc0~\x02\x0e\xf8\x0d\xa4\ -\x15i\x99\xf8VA\xe3\xfb/\xd4\xf2\x7f06\x10\xff\ -\x03\xf2\xbf\x02i\x11Z\x86@\x18\x81\x108H\x8f,\ -\xb8\x19\xc9\xc2\x7fH\x0e\x00\xf9^\x95\x1e\x0e`\x06\xe2\ -6 ~\x0b\xb4\xf0\x0f\xc8b >\x04\xc4\xaat-\ -\x8c\x80\x96\xb3\x81\x12\x1c\x90\x16\x1d-\x9aG\xc1(\x18\ -\x05\xa3`H\x03\x00\xac\xe7\x98*\x92\x10\x95\xa4\x00\x00\ -\x00\x00IEND\xaeB`\x82\ -\x00\x00\x03\x0b\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ -\x00\x00\x02\xd2IDATx\xda\xed\x97MH\x94Q\ -\x18\x85\xd5i\x0a-\x17\xba0\xcc1!\x88\xc2(\x0b\ -\x92\x5cLFn*\x88Z\x05J(\xd3&*4B\ -\xfbq\xd5\xa2\xc2 \xa4\xb2_Z\xb4\x88\x8aP\x82)\ -\x22\xab\x85\x14Q\x8b\x16\x81\xf4\xb7h!\x16\x95\x05-\ -\x8a\x8a\xd2t\xea\x1c8\x1f\xbc\xdc\xee7)\xe9H\xe0\ -\xc0\xe1r\xee\xf3\xcd\xbd\xef\xf7\xce\xfdy'+k\xea\ -\x83O\xdd\x96\xa6\x1d\xd0\xc1\x10\xb6\x11\xba\x09\x1d\x0e\xe1\ -\xab\xa0\x1b\xd0\xb1\xdaDc\xae\x87/\x86\x92\xd09\xf0\ -\xc2\xb0\x00NC\xbf\xf0@\x9b\xed\x87\xaff\x7f \xf8\ -\xf3\x0e_\x84\xfe\x94\xe1\xb7\x1c>\x1b\xfd?\x0c\x7f\xe2\ -\x0d\x00\xa0\x03\xe2C?\xed[\xc0?b\xbf\x94\xd2 \ -s\x0dOzx\xa5\xe1\x1d\x86\x07A\xac\xf7e\xa0Z\ -\x90\x0f\xd5\xaa\xaf0\xf8\x12t\xd9\xf0f\xf1\x5c\xf8\xef\ -\xe2]\xd0\x90x\xbbx\x04\xfe\xb5x\x0f4 \xde\xe9\ -\x0b`:\xf4N\x0f\x5cT\xdff\x13\x00S\xfdL\xbe\ -G\xbc\xc6\xf0\x95\xd0]\xf9\x97\xe2\xe5\x86\xd7A\x17\xe4\ -?\x86\xad\x83.=\xd0'\x7fI\xfe\x8d\xfcQ\xf9\xcf\ -P\x0etD\x9eY\x88@\xbb\xcd\x84\xb3\xa0\x9d\xc6\xe7\ -C\x9b\x8c/\xf7\xad\x83D\x90fh!\xf4J\xbeS\ -|\xad\xe1\xcb\xb9\xa0\xe4\x1f\x88/3|\x03tG\xbe\ -O\xbc\x18~D\xbc\xd5\x97\x81\x22\x13a\xb7\xf9\xcd\xeb\ -\xc5\xa3\xf0#\x1e\xbeO<\x1b\xfe\xbd\xf8}\xe8\x9b\xf8\ -I\xf3\x92\xbd\xe2\x8f\xc3v\xc3Cg\xdbq\x0b\xe5\x1b\ -\x9et8\x03*3\xfc\x84\xc3\xd9V\x1a\xbe\xc7\xf0\x12\ -_\x00+\x9c\x01\xf6:|\x01\xfa\x07\x0d?\xee\xd9\xf7\ -\x9f\x0c\xbf\xea\xf0(\xfa?\x88\xc7\xc2\xb2\x10\x87\xcep\ -M\x84\xf0\xa5\xd0)h;\xd3\xee\xe1\xf3\x98\x09\xa8\x85\ -\xbb\xcb\xc3K!\x9e\x9a\x05\xff\xfd\xfd\x11,Z\xae\x93\ -\xc8d\x04P\xaaE\xc8\x00\xf22\x1e\x00&\x8fa\xe2\ -a\xee\x14\xdf-\x98\x89\x0c\xc40\xf1\xb020)\x01\ -\x14+\x00\x1e\xc5\xd1L\xa5\xbd\x0c\x93q\xfbm\x85Z\ -\xb5\x06\x86\xa0&\xf6\xc1oC[0\x91o]\xe5\xdc\ -\xef)\xd6\x01\xc6\x0frmLt\xea\x1b\x9c\xa3\xd8\x9e\ -\x9c\xf1L\xfd\xfe\x87<\x01$2\xbd\x08\xaf\x99\xdb\xb3\ -}<\x16X\xceX\x9f\xc7\xc4/\xd0v\xff\xf3\x5c\x18\ -\xe8\xac\xb9>\xbfB\xcfY\xbb\xc17\xa2]\x92f\xa0\ -\xec4\x19\xca\x03\xafA{\x00\xba\x0d\xf5k\xdb\x06Y\ -\x8b\x87\x05\xe0\xde\xe7\xd4\x80J6\x06\xc4A\xe7Cs\ -T\xe5P%\xac\xffY\x09\xa1\xdd\x0f\xdd\x83\xbe\xa4\x19\ -\xef\x8f\x00\xaa\xa0]\xbc\xffY\xfbA\xd7\xa1\xb7\x7f\x19\ -`\xb4\x9e\xe5\xfaS\xd5\x98mh[tn\x14\x8df\ -\xa1\xf1-\x1b\xa0+P\xbf\xa9\xf9l\x9d\xefz\x9e\x0b\ -\xbd,V\xe0\xd7\xa0\x9d1\x9e'\xe1L\x0cZ\x01\xad\ -\xe3\xff\x07\xf8z\xd6\x8c\xacx\xa1\xd5,F\xd0N\x9b\ -\xfa\xb3;\x96\xcfo\xe5\xb5\xdc\x8eP\x05\x84\xb2\x00\x00\ -\x00\x00IEND\xaeB`\x82\ -\x00\x00\x00\xe0\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\ -\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\ -\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00\ -\x09pHYs\x00\x00\x0e\xc3\x00\x00\x0e\xc3\x01\xc7o\ -\xa8d\x00\x00\x00uIDAT8O\xd5R\xed\x0e\ -\x80 \x08\xd4\xd6{\x83ON\x9d\x03\xe7,\xd0\xd5\xfa\ -\xd1m|(p\x0a\x9aE$\xbd\xc1\xa6\xf6\x82R\x8a\ -@t\xe9\xe2\x96\x00\x85D\x94u\x19b\x87\x1aOZ\ --\xae\xc0\x0c\x98\xf94R\xfdQ\xa2\x18\xa49OI\ -\xdc!\xf6@K\xeeP\xc12;=\x8aWe\x09c\ -rTh\xd2Z\xb0\xa7\xb3\xeb\xea\xf6\x14\xeeO4\x92\ -\xd9\x93~\xf7\x95W\xf1{\x82\x94\x0e\xd4\x89\xe2k\x0c\ -\xdb\xee*\x00\x00\x00\x00IEND\xaeB`\x82\ -\x00\x00\x00\xa6\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ -\x00\x00\x00mIDATx\xdac`\x18\x05\xa3`\ -\x14\x8c\x82Q0\x0a\x86*\x88L\xcc\xad\x89H\xc89\ -\x07\xa4\xd7\x00\xb1\x14\xbd-\xaf\x05\xe2\xff@\x07\xfc\x07\ -\xd1@\xfc\x98\xde\x0e8\x03u\xc0_\xa8\x03@X\x85\ -n\x0e\x00Z\xbc\x1a\xea\xfb\x7f@\x1a\x84A\x8e\xe1\xa2\ -g\x08H\x82\x82\x1d)\x0aR\x07$!\x02\x1d\xa0\x02\ -\xb4\x9ck4K\x8e\x82Q0\x0aF\xc1(\x18\xd2\x00\ -\x00e^3\xba\x9ez\xe49\x00\x00\x00\x00IEN\ -D\xaeB`\x82\ -\x00\x00\x00\xef\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ -\x00\x00\x00\xb6IDATx\xdac`\x18\x05H \ -21\x97\x11\x88C\x81\xb8\x18\x88\x0b\xa9\x88\x8b\xa0\xd8\ -\x05\x9f\xe5\xdc@|\x19\x88\xff\xd3\x18o\xc0\xe5\x80i\ -d\x18\xf6\x1b)\xe4\xf0a\x16 \xf6\x01\xe27P}\ -)\xd8\x1cp\x85\x0c\x07\xfc!1\x8aM\xa1\xfaVb\ -\x93\xbcFk\x07@\xed\xf9\x00\xc4\x9b\x06\xd2\x01\xcf\x06\ -\xda\x01\xcfG\x1d0\xea\x80Q\x07\x8c:`\xd4\x01\xa3\ -\x0e\x18u\xc0\xa8\x03\x06\xad\x03\xae\xd3\xa1Q\xca\x8e\xb3\ -i\x0e\x14\xdcK\x07\x07\xac\x83\xea\xeb\xc6&iEf\ -Gc\x11\x10/#\x80W\x01\xf1{\xa8\xfa\xaf@,\ -\x8e\xcb\x85\xd6@|\x08\x88\xef\x92\x80\x1f\x10\x89\xef\x01\ -\xf1\x16 V\x1c\xed\x04#\x03\x00u\xbb\x07\x04\xef\x85\ -8\x87\x00\x00\x00\x00IEND\xaeB`\x82\ -\x00\x00\x00\xfe\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\ -\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\ -\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00\ -\x09pHYs\x00\x00\x0e\xc3\x00\x00\x0e\xc3\x01\xc7o\ -\xa8d\x00\x00\x00\x93IDAT8O\xa5\x93[\x12\ -\xc0\x10\x0cE\xb1\x0d\xb6fs\xb55]G;!\x94\ -4\x8f\x0fg\xa6\xa3&rs\xe3\xe1\xaf\x18\x1fw@\ -\xc8w\xf5\xf8\xbf\x91k\xf5\xf0\xe1T$\x94\x98~\x0e\ -\xb4D*\xdcZ\xd0\x12J\xfa\x0a\x80[Z0\xe0(\ -\xb2\x8asn\x9b\xc0Z\x85Csh:\x18\xd0\xde\x07\ -\xe6\x1e\x0c$\x97\xa6\x03H\xd4Z\xdc\x04\xac\xc5\x1c\xe2\ -M\x1cmi\x82p\xacS\x80;\xe3\x15)\xdeZ\xe0\ -\x82tc!\x0e\xebp:\xe9\xf7@\xa9\xbc\xc2\xad;\ -\x7f\x8d8\xaap\xd6;\xce\xbd\xfa\x8fW\xbc\x9c\xc2\xae\ -\xed\x00\x00\x00\x00IEND\xaeB`\x82\ -\x00\x00\x00\x8b\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ -\x00\x00\x00RIDATx\xdac`\x18\x05\xa3`\ -\x14\x8c\x82Q0\x0aF\x01\x99 21\xd77\x22!\ -\xe7.\x90\x9e7P\x0e\xb8\x0bt\xc0\x7f \x0d\xc2\xa6\ -tw\x00\xd0\xf29 \xcb\x81\xf4+ \x16\x1c\x90P\ -\x00Zl\x0at\x84\xe0h\x82\x1c\x05\xa3`\x14\x8c\x82\ -Q0\x0a(\x01\x00\x9bf\x16\x9e7\xad\x98\xae\x00\x00\ -\x00\x00IEND\xaeB`\x82\ -\x00\x00\x02\x02\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ -\x00\x00\x01\xc9IDATx\xda\xedW\xbbJ\x03A\ -\x14MLc)XJTD\x91\xd8\xf9\x016V\x82\ -A4I\x13AH\xc4\x80\x8d\x96\x96NZ\xbf\xc4\xca\ -GH\x14T,\xf4\x17\xfc\x89<\xf0E\xea\xac\x9e\x0b\ -we\x18fwgv\xb2\x09B\x16\x0e7\xb3\x99\xdd\ -{\xee\x9c3\x8fM\xa5&\x97\xe3\xb5_=M\x8f+\ -\xf1N\xb9z\xd2F\xec\x03g#M\x8e\xc4\x05\xe0G\ -\x81\x18U\xe5%\xc0\x03(\xe9\x80\xa2\x8f\xc4I \xc1\ -\xae\x92P%@Q$Uy\x81\x13\x84\x11\xf0\xf8w\ -}\xd8\x95\x17Yg\x8f\x92J\xd0\xb5\xbd\xa1z\x02\xd5\ -\x14C4\x8fj\x0bg\xb7[&\xd4y\xa2\x1e\xb7\xf2\ -=\x03\xcd\x07\x86\x9e\x10\xb6\x95\x97\x14=eDy\xc0\ -\xcd\x13\xe4vIsb\xff\x02l\x02e\xb4?\x1cG\ -DDU\xbe\xae<\xd0dR\xb3\xc0\x14\xdaY\xc4\xae\ -\xa3'*a\x04\x84\xf4\xc0\x1d'\xaf\x01\xf4\xa2\x0e\xfe\ -\x9fG$\xb4\x1d\x084\xc3\x08\xe4Y\xaf\x16\xb7\x0f\xa5\ -\xf9O\xb1\x0b,\x02s\xc0{\x0cOP\xff\xf3(\x0f\ -T8\x1ehf\x01\xc5\x1e\x8fB\x96HX\x8e@\xcb\ -\xd4\x88G\xca4R_\xf8M$h$|9\x0c\x08\ -\x5c\x99&\xaf\x19\xbe\xb0Gr .\xf8\xc6\x0c\xe9\x7f\ -mtp\x91\xf6y\xcf@S\xeaG\xc6\x9c\x016\x02\ -\xf6\x0a\xbawo\xb3\x00]\xc6p\xf5\x160\x1d Y\ -\xc3v\x05\x5c\xc1\x83_\x16\x04\x1eX\xb6\xe3\xd8\x9ak\ -<\xb0\x06|\x1a\x10x\xe6\xfey\xcdn\xd9p\xdd\x05\ -s@?`\x9e\xd3\xbdW\xee\xb7-\xad\xf7\xf6\x9aG\ -\x8c\xc4\x12\x91\xd0h\xfe$\x9d\x8a\xd5u\xe2f\xd8'\ -\xa1\x9c/\x07'xD\xcc\x00\xcb\x12\xa1?\xcd\xd1N\ -'q\x16$O\xbcq\x82\x8ct\xffB\x22p;\x96\ -\x8f\x13\xda\x1d\x81\xd5\xc9\xf7\xe1\xbf\xbe~\x01}\x06\x5c\ -\x02\xc1U\xc6\xe7\x00\x00\x00\x00IEND\xaeB`\ -\x82\ -\x00\x00\x00\xd0\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\ -\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\ -\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00\ -\x09pHYs\x00\x00\x0e\xc3\x00\x00\x0e\xc3\x01\xc7o\ -\xa8d\x00\x00\x00eIDAT8O\xd5\x91Q\x0e\ -\xc0 \x08Cq\xd9\xbd\x99'g\xe9\x06\x06q&\xea\ -\xcf\xb6\xf7SBLmC\x12\x11\x029\xe7{\xe8\xc0\ -\xcc\x09o\xa0\xba\xba\xd8T\x87\x89\x1fM\x1b\x00o2\ -UA\xc7\x8aa\x83\x88\x19.U\xf0\xec\xaa\x85^T\ -#&}\xbfBc\x00gs\xe7\xa3\xd6'~p\x05\ -$\xf3\xbb\xef]\xa1$X\x83\xe8\x04\x88\xd4H\x07\xd8\ -\xd9\x12\x13\x00\x00\x00\x00IEND\xaeB`\x82\ -\x00\x00\x01/\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\ -\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\ -\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00\ -\x09pHYs\x00\x00\x0e\xc3\x00\x00\x0e\xc3\x01\xc7o\ -\xa8d\x00\x00\x00\xc4IDAT8O\xa5\x92\xd1\x0d\ -\xc3 \x0cD\x01E\xcd\x10\xcd\x0e\xedB\x99.\x0b\xa5\ -;\xa4CD\x8d\x94\xf6\x5c\x83\x8ck\xc3G\x9fD\x04\ -\x0e\x1cg\x9b\xf8Z/g\xf8\x834\xdc\xf7\xc8\xf3\x8a\ -\xe1\xb6G\x0c^\xba\xa4c\x1d\x7f\x1c@t\x99&\xd3\ -\x99\x16N\xf8\xe4`\x1e\xcb\xd59\xfc\x11>\x1e\xe3\x89\ -\xc1\xa1@5\xa0C\xce\x8d\xf3s\x8b\x96\xcb\x0c9\x80\ -\xe2\xbcmf\xbep\xe3\xd5\x09\x90@\x0f\x12\xe1\xf48\ -T\xe8\xa7\xc0\xced\xde\x92\xca\x016\xcbT0\xd7E\ -\xd3\x14\x01\xb9\x19\x85\xe3p\x17\xf7%\xe6|[\xb7\xa3\ -\xb8\xc5\x81\xae\xb4\xb6nu\x02\xed%\x01z \xaa\xd7\ -\xba\xe2\xf8o\x89\x90@\xeb\xa1H\xac}U\x17$\xad\ -\xdc%\xae\x80\xc4\xb2\xfe%\x847o\x1ay\x8cB\x12\ -\xd5\x15\x00\x00\x00\x00IEND\xaeB`\x82\ -\x00\x00\x01\xe6\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ -\x00\x00\x01\xadIDATx\xda\xedW\xcdJ\xc3@\ -\x10\xeeK\x88 ^D\x11\x11\xd1\xda\x1f\x22^l\xd2\ -J\x9e\xa1\xde\x0az\xb3\x82\x17\x05\x1f@(\xf8\xb0\x05\ -\x1blS\xd38\x1f\xec\xc2\x12v6\xbb\x9b\x04`\xb8]\x8e\xe6\xb0\xd8\xa2\x0cO\xb8\xcf\x02\x12\ -\xde\x97\xf4\xab\xc9y\xcaq;\xc8\x0a\x8c\xc9\xd4\x04\x1c\ -9\xb1u\xe0\xd4\xc0\xfd\xa1E\xcdp\xb3\xe3\xc6%\xff\ -\xcfJNe\xce#\xdb\x01&\xe6\xbf\xaa\xbf\xf0\xa9\x83\ -'\x91\xd3\xad\xeb<'\xf9+DB\xe8/\xaat\xc2\ -\x19]p\xe0\xc9\x1f\xf8eu\xd1\xfe\xb7h\xd7\xbf_\ -\x7f\xb3\xb1^\xeamg8\x00\x00\x00\x00\x00IEN\ -D\xaeB`\x82\ -\x00\x00\x00\xd0\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\ -\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\ -\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00\ -\x09pHYs\x00\x00\x0e\xc3\x00\x00\x0e\xc3\x01\xc7o\ -\xa8d\x00\x00\x00eIDAT8O\xd5\x91Q\x0e\ -\xc0 \x08Cq\xd9\xbd\x99'g\xe9\x06\x06q&\xea\ -\xcf\xb6\xf7SBLmC\x12\x11\x029\xe7{\xe8\xc0\ -\xcc\x09o\xa0\xba\xba\xd8T\x87\x89\x1fM\x1b\x00o2\ -UA\xc7\x8aa\x83\x88\x19.U\xf0\xec\xaa\x85^T\ -#&}\xbfBc\x00gs\xe7\xa3\xd6'~p\x05\ -$\xf3\xbb\xef]\xa1$X\x83\xe8\x04\x88\xd4H\x07\xd8\ -\xd9\x12\x13\x00\x00\x00\x00IEND\xaeB`\x82\ -\x00\x00\x01\x05\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\ -\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\ -\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00\ -\x09pHYs\x00\x00\x0e\xc3\x00\x00\x0e\xc3\x01\xc7o\ -\xa8d\x00\x00\x00\x9aIDAT8O\xa5Sm\x0a\ -\x80 \x0c\x9d\x12\x05]\xa6\xdf\x9d\xa6\xb3u\x9a\xfe\xd6\ -e\x82(\xb0&j*\xfb\x08z0\xd6\xb4\xbd\xf7&\ -j\x9cs\xf0\x07\xf6\xda:\x92a\x99z\x87\x11J\x16\ -\xb6\x19\x0e\x13\xbe\x13\xa4F\x14\xccE\xfd\x08R\xc38\ -\xefI\x00\x1bkA\x1b2\x8b\x9c\x9cr\xeb\x09r\x15\ -\x0a\x92C\xd5A\x04\x92PD\xea\x19Dp.U\x07\ -\xd8(\x8dX\x10h?S`ob\x1cK\x22\xf4\xf7\ -\x01\x090\xce\xb5}\xd2[\xd7\xc1\xed\xb3\x9b_\xd7\x8a\ -\x22\x0f\xcdQ\x8c\xff\xaf1d\x11\xdc\x8b\x05\x00\xb8\x01\ -\xef\x94\xd6@\xd4\x8c1\xa7\x00\x00\x00\x00IEND\ -\xaeB`\x82\ -\x00\x00\x01\x88\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ -\x00\x00\x01OIDATx\xdac`\x18\x05t\x00\ -\xd1I\xb9<\x03iy\x03\x10\x7f\x04b\xc9\x81\xb0<\ -\x0c\x88\xffC\xf1m f\xa7\xa7\xe5\xe6@\xfc\x17\xc9\ -\x01 \xbc\x9b^\x96K\x03\xf1k4\xcba\xb8\x9f\xd6\ -\x963\x02\xf1\x1d\x1c\x96\xc3p<\xad\x1d\xe1\x01\xc4\xbe\ -@\xec\x0e\xc4\xb7\xa0\x966\x01\xb1\x17\x10\xfb\x03\xb1\x12\ -=\xd3\xc2\x09\xa8\x03<\x07*\x1b\x9e\x84:\xc0\x87X\ -\x0d\xea@\xcc\x0f\xc5\x1aP>>,\x0f\xc4,@,\ -F\xb1\x03\x80\x8av@\x15\x17B\xf1\x7f\x22\xf0U \ -V\x80\xb2\xb7\x90\xed\x00\xa0\x02\x0e \xfe\x0aU\x9c\x0b\ -\xc5\xc48\xe0\x1c4\x14`|\xb5\x81v\x80\xfa\xa8\x03\ -\xd0\xcc=\x0b\x15\xf7\x1d(\x07\x14\x03\xf1Jtq\xba\ -9\x80\x94\x02c\xd09\xa0\x80H\x07\x5c\xa6\x85\x03\xf2\ -\x80X\x18\x88\x83\x818\x10\x0f\x0e\x82\xd6\xfb\x92\xd4v\ -\xc0cP\xe3\x01\x88w\x11\x89OQ\xdb\x01\xc4\xe0\xdf\ -@\xfc\x0b\x88\xff\xa0\x89S\xc5\x01_\x09\xb5d\xa1\xd1\ -S\x01\xc4\x86Hu\x08\xd5\x1c\xf0\x05\x88E\x08\xa8?\ -\x04U\xdbF+\x07\x08\x10P\xbf\x1e\xaa\x0e\x14\x0a\xdb\ -\xa9\xed\x00P\xfc\xd6\x03q\x11\x01\x5c\x0c\xcd\xb2wp\ -\xd5\x86\xa4:\xa2\x05\xea\xabo\xd0\x04\xf6\x9b\x00\x86\xa9\ -\xf9\x0eu\xfcvj4\xa1\xd8\xa1\xa1A2\x1e\xed\x84\ -\x92\x03\x00\xf9}\xdcv\x87\xa5\xe0^\xe3\x07\xa0\xd1\xc6\x9f\xc8\x81\xcf\xc5T\ -\x81;\xb0\xdb^0\x12\x9ac\x5c\x0f%\xa0N\xf1\x07\ -\x9a\xf3\xaa\xbd`\x18\xbf\xca\xb8\x06\x1a\x0c>+n\x93\ -\x03o\x8a;\xa1\xa1\x7f;\x80?\xe4@\xb7c\xb0\xdc\ -\xc6\xae\x07\xcf6\x1e\x07^\x02;PL\xa7\x16\xc3\x96\ -\xd8\x87\xcc\x04\xdfd\x9c\x04/\x83\xfa\x8asq\xcdg\ -\x14\xc5)`\xce\xe7\xe0\x0fW\xd8\xd85t\xc2\x98!\ -\x9d\xcf\x87X\xce\xe7\xc2^nNN\x05O3\x1e\x0b\ -\xbe\xd9\xd6DB\x5c\x10;\xf0\xac\x85\xfc\x12h\x96q\ -\xad\x1c<#~[s^\x123\xccC\xa0[-\x05\ -\x8b\xa0A\xe0\xd3\xe2\xbdr\xe05\xf1o\xd0\xc5\xee\xc0\ -A{a\x09Tg\xbc\x81\xf94\xee\xd0\x9c\xc3\xf6\xc2\ -\x22\xa8\xc9x%4\xc6\xf8\xb0\x1c\xf8\xd2\x16\xe1X_\ -\x03\xdcR/b\xb0A\xdc\x07\xda\x04\xde\x0e\x9b\xa7\xb1\ -%\xe0\x97aS\xe2\x09\x5c\xbc\xb0\xf5\xe2~\xe0-\xb0\ -\xdbx-'\x97\xe3\x9as&\x8a+q\xbd\x07\xaa\xf9\ -\xa7Z\x90\x888\x0b7\xf6\xf61pn\xc4\x89\x88{\ -b^v\xf4\x9c~\xff\xc5a\xb0I!\xee\xe0\x82\x81\ -J\xa1?\x15\xc2i\xd1\xbe\xdf$^-\xfeZk\xa4\ -\x1a\xdc\xa9\xf0\xa6\xe8\x08\xf8S\xf1:9\xb8>\xd4\x05\ -(\xc7\x1d\xf8\xc2r\x5c\x0d5\x1a?\x05\x0d7>\xa9\ -9G-\xc7\xe5\xd0\xc3\xc6\x5c7E\xc6\xed\x8a\xe87\ -\xb6\x06\x92\x1e:\x96\xd9S\x18\xdc\x0f\x9b\x09]\x0a\xf1\ -\xcb\xbe\x87-\xd5=\xcf\x83\x7f\x86\xbdG\xbc\x14\xfc\x13\ -,\x0bR\x0f\xd5\x09:\xf5-T\xc81\xed\x94_B\ -\xce\xc1w\x89_\xe0{2\xba\xcd\x0f\x9e]\x0b}\x05\ -\xafv\x88Y\xfb\xdb\xc0\x1f\xb2\x00il\x03\xf8\x08\xf7\ -\xbbU\xbd4\xec\xd3\xe2a\xe0\xfd\xb0\xef1e\x8aR\ -\x0b\xa3\xc2\xba\x22\x9e-n\x89\x1d\xf8\xccr\x5c\xc9\x83\ -\xc5x\xa3\x8aS\xe0\x13\x9a\x93\xb6\x1cs\xd1\xae2^\ -\xc7\x0aiLG\x99\xda\xa3\xb6\x06\x0a}\x0d<\xa1\x9b\ -\x99\x9f\x81\xd0\xd5a2\xec<(K;\x84\xdc\xaa9\ -[\xc5'\xa0\xfe\xd0\x8c\xe0$4Su\xe1\x07\xf16\ -9\xbdK\xdc\x01\x0d\x88\xa3P\x1c\x0e\x1a\xf1\x08\xf0\x18\ -c\x1eXe\xd1\xbe/\x09\xfd\x82\xf82\xaf\xf3r\xa2\ -\xb0\xdc)\x8f\ -\xc3\xce\x15\xf7\x047\xaa\x17\xe8%\x07nT\x0aG\x8b\ -\x0b\xc47\xc4\x0e\xb4Y\x8e\xd9\x5c,6^\x05]d\ -\x9c\xd6\x9c\x03\x96c\x9ezu\xc6\x0d\xd0(\xe3\x83r\ -\xe0#[\x03\xa3<\x94\xaf[\xcey\xec.4nV\ -\x8e\x03\x87\x83\xe5-\xcb9_v\xa7\xf1\xdd\xd0p\xe3\ -w\xe5\xf4\xfbbj\x84G\x80_\xd8\xc0\xf3\xdc\xc6\x16\ -\xe8\xa1=\xc4U\xe0\xfb\xb9\xdd\xc2VU\xc8'\xd9\x87\ -\xb0\x07\x5cj|\x15\xb8\x99\xf7\x8a\x87\x88Sq\x0a\x98\ -\xf3I\xb8a\xa4\x8d\x95\x80\xab\x8c\x07\xab\xe1\xc8\xb1\xc3\ -j2\xb7\xa8\xbd\x90'd\x85\xf1P\xf0\x14\xae\x0fq\ -6\xae\xa7\x9e\xd7\x8e\xe9aaK\x9dU\x11\xba\xcer\ -\xce\xe6\x82\x13O\x8a_\xd1\x9c\x9d\xe2_\xd9|\xb0\xd8\ -X\xce\xd99q;\xff(n\xb5r~\xee<\x81\xf2\ -|\x0d\x1c\xb2\x1cO\x84V\x18\xb7\xf0K\x8c\x8fkN\ -\xdar\x5c\xaa\x1d\x13x-4\xde8\xad\xb3\xa1\xdd\xd6\ -\xc0x\x8f@\x15[-\xf6\xf5\xa17\xa0\xd7\xe0\xbdl\ -\xb74\xc65r\x00v\xba8\x05f;\xbfF<\x80\ -\x87\x0c\xec\x1e\xae)9\xf9 w\x0b4Yc\xdfy\ -\x8e\xb2Y\xb4\x1c\xa7\xb4\xf7\x03o\xe6\xee0>\xa59\ -\xc7,\xc7\x15\xd0\x1a\xe3G\xa0\xa4q\xbb\xa2\xf3\x9d\xad\ -\x81\xa4G\x80\xfb\xfd4\x06?\xa6gQ\x04RQ\x04\ -V\xffK\x04\x8a-\x02\x15Q\x04\x1a\xe5t\x93x_\ -\x9c*>0\xcf\xbb\x14\x9e\x01\xa1\xbb\xb5H\xe5G<\ -(\x14*\xfb\xc7#a\x9c\x19\x8a\x90=7?\xa3;\ -\xfd\xfe\x02\x18\xfc\x86\x85\xa5`T\xfb\x00\x00\x00\x00I\ -END\xaeB`\x82\ -\x00\x00\x00\xfc\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\ -\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\ -\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00\ -\x09pHYs\x00\x00\x0e\xc3\x00\x00\x0e\xc3\x01\xc7o\ -\xa8d\x00\x00\x00\x91IDAT8O\xa5S\x81\x0d\ -\x80 \x0c\x03b\xf4\x1c\xff\xffB\xcf1\x9a\xa0%T\ -q\xbaa\xa4I\x1dts\x14P\x1fct-\x08\xdb\ -<\xbcv\x80\xae\xe5n\x80\x03\xc9u\xea\x8fp\xc5\x92\ -\xd0J=mA\xae\xd4\x8d\x8bG\x84\xce1 \xe7\x09\ -\xec\xca\x8e\x92V\x0e<\x07\x7f\x9b\x84l\xc4\x04l\xab\ -\x87\x8a.\xb5\xd5\xad|z\xb0@\x16[/\x92\xe7\x16\ -x\xc2\xb4\x9b\xe5*\xd4/\x91M\x1e\xd7V \xd5\xd0\ -J\xcd\xae\x96W\x93_\xb5\xdb\xa4d\xcd\x11\xd9\xfe7\ -\xe6hB\xbf\x15\xe7v\xf1\xcd\xb3\xd1w\xeb$X\x00\ -\x00\x00\x00IEND\xaeB`\x82\ -\x00\x00\x02\x14\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ -\x00\x00\x01\xdbIDATx\xda\xed\x97\xbfKBQ\ -\x14\xc7E\xa1!\x10,tk\x08\xda\x02\x1bj\x8eR\ -hj\xd1!\xe8\xd7\x90\x8deCS\xd1\xd2\xd8\xd2\x16\ -iC\xb4e\xf8'\xb4i:YTCC\x8bA\x16\ -M\x85IF\x93\xda\xf7\xbc\x8er\xb9\xdcgO\xbb*\ -\xc1{\xf0\xe1\xf0\xe5\x1d\xef\xfdz\xcey\xf7\xa9\xc3a\ -_\x1d\xbe\x96V7\x92\xe0\x0e\x0cu}\xf3\xc5\x955\ -\x176~\x0650\xd6}\x03\x91\xa8\x0b&\x0a\xa0\x06\ -\xfc\xbd\xaa@\x81+`\x1b\xf0\xdb3\xd0\xabs\xe0\x91\ -\x0d\x8cZq\xbc\x8f\xc4\x0b\xe0\x01G\xd0i\xc4T\x1d\ -\xe8\x94\xa43\x88\x9b`\x02\x9c@\x0f#\xd2\xb7^\x06\ -\x0b\xd0\x14_\xd9\xc0\x16\xf4<\xdf\x1bQm>\x83\x9e\ -\xd5\xb8_>p%\xe8\x1f\xd4\x9a\x8c\x06YS\xbf=\ -\xa0,\xdc\xaf\x82\x8a\xf4\xf9YU\xa9Bt\x93\xddz\ -AN\xd0\x06\xb4\x90\xa4)\xc6@\x80\xf5;b?\x18\ -\x07\xb4qU\x91\xbfk\xd6+\x1d\x06\x8a\x88n^o\ -N\xf1\xf9D\xb3a\xd1j\x80\xdb\xba#\xe4g\xa1\x9d\ -\xcd\x060$\xf4\xc8\x0br\xac+\x0d\x22\xd1\xaa\xa4\xe9\ -~\x0c\x04\xb8\xc7ED\xb7\xb4\xee)x\x02\x03\xbf=\ -.\xda+\xc0\xeb:\xe9\xa9\xb2\xf2\xbcv\xc4@+\x07\ -\x86l\xe0Ra@5\xd5q-\x06\xa4\x19\x18\x04\xe7\ -\xd0\x1f\x88\xa5\x06\x91hI\xd2\x9f\x88{`\xdal\x06\ -\xda\xad\xc0\x14\xa0\xc3\xc8\xcb\xd500\xd1>\xb0\xae\xbb\ -\x05b\x89[\xd1\xda\x0c\xbc\x80\x03\xe88\xf7\xd8@\xd0\ -1I\x97u\xcf@\xdaB\xfe-\xf2\xef\x11'A^\ -\xf7\x0cd,\xe4\xd7[\x10\x06y\x1d-\x08\x0b\x06\xd2\ -\x16\xf2\x0f\x91\x7fL\xefy\xf0 \xbc\x8c\xda6\x10\x14\ -\x0c|\x81\x1b*3b\x03I\xd3A\x95C\xbc\xa67\ -\x1f\x1bxC\xec\xfb\xcbo\xb8m,r\xc6$\xa1\x93\ -F\xacc\xae)?\x01\x1d\xb0\xff\x0b\xfe\xbb\xeb\x1b\xc9\ -\xfb\xd7\x13\xad&L\xa9\x00\x00\x00\x00IEND\xae\ -B`\x82\ -\x00\x00\x00\xd0\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\ -\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\ -\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00\ -\x09pHYs\x00\x00\x0e\xc3\x00\x00\x0e\xc3\x01\xc7o\ -\xa8d\x00\x00\x00eIDAT8O\xdd\x93\xd1\x0a\ -\x800\x08E]?.~\xb9atc\xc55\xad\x97\ -\xa0\xf32\x86\xf3p\x057\xdc]\x18f\xc6\x0b;\xaa\ -:\xe2<\x04s\x03\x8aA&\xc2\x9be\xbb]\x88&\ -4\xce2\x06\x15\x80\x8e\xe4V\x10d#\x80RP\xf1\ -Z\x80d\xdf%\x00\x7f\x12T\x1b\x97qJ\x10\x92\xa7\ -\x22:BG\x84z\xfa\x9d{\x88\xac\x1d\xf5-\x8f\xc3\ -r\xe1\x95\x00\x00\x00\x00IEND\xaeB`\x82\ -\x00\x00\x04M\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ -\x00\x00\x04\x14IDATx\xda\xcdW}L\xceQ\ -\x14~U$\x94\xbc\xd2\x87,\x9f\xf3\xe6\xcd|d-\ -LS\x93lY6\x9f+[MM\x85B\xc3l6\ -b\xfc!B\xd6\x1f\xac\x86\x0cM\x96\xcfe\xb3\xd9d\ -\xf3\xfdG#\xf9\x1c\xcd\xb0\xcc\x98\xaf\xc9V!y\xce\ -\x9c\xcb\xd3\xf5\xf2\xf7\xdb\xf6\xec\xbe\xe7\xf9\x9ds~\xe7\ -w\xefs\xef=9\x1c\xde\xf0\x97\x91\xbd2\x1a8\x9e\ -\xbe\xa4\xb0\x88\xb8`\xd8\x071\x96\x00=\x85\x83\xed\x87\ -\xdf\xdb\x81*\xc0I\xbe\x85@\x0d\x9e\xbb\x89\x9b\x0b\xfb\ -$\xc6\x14\xc3\xc1\x8e\x85}\x0a\xc8\xb1\x0b\xb8\x05t\xc1\ -\xa1\x0b\xe3\x04\xe5\xf6\xa9-\xc8\xd3\x049j\x0b*\xd4\ -o\x9c\xe1\xf0\xfc\x8er}\x80o\x1a\xdfI\x05<\xa2\ -\xf8\x91\x5c@\x1d\x150B\xb9b*`\x9e&\x98C\ -\x09\xb6\xa9\xdf0*\xe0\x82r>\xc0'\x8d\x7fC\x05\ -\x5cU\xdfN \xdcA\x0fz\x03y \xe3\xac\x99\xc9\ -\x02\x9f\xca\x1c\xecY@\x96\xc5\xc5\x02\xcb\xe0\x1f@\xdc\ -P\xd8\x05\x18#(_ l\xe1\xc6:\xbc\xea\x0f\x95\ -\x0d\x14q\xa1\xb24\xe2z\xc0\xde\x841\xdf\xf2]\x0a\ -\x08\xefK\xdcl\x8d\x0f!Nfe\x17F7\xcdJ\ -\x04\xecR`\x86]\xc0\x15\xd2\x80[\xb92\xd2@\xa6\ -&\xc8 \x0d\x94\xd3\x0e2\x1a\xb8\xa9\x5c/\xa0]\xe3\ -\xdb\xa8\x80\xbb\x14\x1f\xc5kXo^f\xb6\x12\xc6R\ -S\x14\x90\xa9\x893\xd4\x16\x94\xa9_\xb4\xe1\xf0\xfc\x9a\ -r\xfe\xc0\x17\x8do\xa5\x0f\xbdM\xf1Q<\x0325\ -;@.$N\x92l\xd6=\xde\x83\xf8\x02`\x0b\x0b\ -Nv\x09\xb0\x13\xfe\x83\x89\x9b\x02{\x0f\xc6\xf1\x960\ -\x85K\xf5:\x11\xf6\x05\xb2Qa\x9c\xb5\xbd\xd2\xf9$\ -S\xdf\x99@\xba\xc5\xc9\x09\x97\x03\xff~\xc4\x0d\xd7\xad\ -\x1dI\xf9\xfa\xc3\xce\x05b\x1c\xd6\x8bN\x93\x06\x86*\ -\xb7\x814\x90f\xd4NkX\xac~Q\xa4\x81:\xe5\ -|\x81\xb7\x1a\xdfBE\xd5\xabo\x1b\x10\xc6_\xd0@\ -\xbb`\x92r\x15\xb4\x0b\x96k\xe2\x5cR\xf1!\xf5\x1b\ -O\xbb\xa0\x89\x8e\xe2\x1f&\x9e>\xf4\x09\xc5\x8f\xb2/\ -\xa3Z8\xac#.\x08\xf6\x11\x8c\xbb\x01?\xf3e\x22\ -6\xe0\xa8\x5cV\xe4[\x04\x9c\xc4\xf31\xc4\xcd\x87}\ -\xce\xba\x8c&\xc0\x16.\xd7\xbbD\x88\xca\xe4\xd4\x9b.\ -\xdb\xd1\x12W\x1f\xd8\xc9|b\x9a\ -\x07\x95\xba\x86\xdf1\x86*\x97O\x1aH\xd4\xa4\xd3h\ -\x0d\x0b\xd5o\x10\xf0U\xe3\xab(g\xb3\xc67QQ\ -g4\xf6#0\x80\x0b\xb8G\x22\x9c\xac\xdca*`\ -\xb5&(\xa0\x02\xaa\xd5/\x8eD\xf8\xd8\xe8\x87\xf2\xb1\ -\x08\x9fQ\xbc\x8b\x0bH\x00\x1a\xe1\xb0\x9f8\xd9^\xd7\ -1\x9e\x95\x844\xad\xd2\xd1\xdc\x90}N\xbe\xe5\xc0]\ -Y\x06\x16&\xec\x07ryQ\x01ri\xdd\x97\x8b\xcb\ -\xe1u\x7f\xd2\x09\xa1\xc2\x00K\x5c\x91rU[~N\ -`\x88\xc5\xf5\xee\xd6b\xfd\xb9\xce]\x1e\xde\xe32\xdb\ -\x9a\xc9\x12]\xb3wf\x7fc\x5c\xa0k\xd8\x0eL\xd4\ -\x82\xe4\xd0i\xd35\x5cL\xeb\xfdZ\xe3K\xb9\xcf\xd4\ -\xf8K\xf4A\x15\x1a\xfbT\x0e+.\xe0!\x89&A\ -\xb9c$\xc2\xb5\x9a`\x15\x89\xa8F\xfd\xa6\x92\x08\x9b\ -MGm\x8bPg\xe4\x05\xc5\xbby\xaa\x17\x01\xefA\ -^\x943A9\xe9v_I\xa7\x0b\x84k\x92P\xfc\ -\x96;]x3+\xb2\xb7\xcf\x03\x1f\xa4_\xa0\x9c{\ -a\x7f\xc6\xb8\x95\xbb)\xd8\xc2UK\x9c\xd7\x890\xd8\ -\xaeJ\xaeWiL,?\x7f\xe9n-\xce\x87\xef\x06\ -\x8awzx\x8f\xd3\xd3\xcbW\x88\xb8\x10\xd0(\xfd\x9c\ -r\x892]\x18[\xcc\xcd\x05{8~\xbf\x04Z\xe5\ -\x98\xa5\x82\x1a\xb4\x07\x5cM9O\xc0\x96\x13\xb2\x92\x0a\ -\x92f\xb6\x03\xb8l\xfe\xdb\xfa}MR?\x90\xa4\x5c\ -\x0d\xf5\x03\xeb5\xe9\x1a\xea\x07j\xcd\xf1L\xfd\xc0s\ -\xf3\xe5\x94\xaf\xcbhE>\x86\xe2c\x1cV\x9f\xd7\xae\ -]\xab?\xcd@\xeb\x7ff \x85\xce\x00\x99\x81\x0e\xd9\ -%\x94\xb3Vg\xe0\x00}\xe8F\xbd7\xba\xcf\x80Y\ -\x1b\x0f\x1a\x08\xfa\x87\x06\x82\xecC\xc7\xd3\xda\xfeu\xeb\ -\xfd\xf2\x0d\xf1*\xf1\xff\x04\x8f\x07^\xb5\xbe\xa8\x80\xde\ -\x00\x00\x00\x00IEND\xaeB`\x82\ -\x00\x00\x00\xd0\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\ -\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\ -\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00\ -\x09pHYs\x00\x00\x0e\xc3\x00\x00\x0e\xc3\x01\xc7o\ -\xa8d\x00\x00\x00eIDAT8O\xdd\x93\xd1\x0a\ -\x800\x08E]?.~\xb9atc\xc55\xad\x97\ -\xa0\xf32\x86\xf3p\x057\xdc]\x18f\xc6\x0b;\xaa\ -:\xe2<\x04s\x03\x8aA&\xc2\x9be\xbb]\x88&\ -4\xce2\x06\x15\x80\x8e\xe4V\x10d#\x80RP\xf1\ -Z\x80d\xdf%\x00\x7f\x12T\x1b\x97qJ\x10\x92\xa7\ -\x22:BG\x84z\xfa\x9d{\x88\xac\x1d\xf5-\x8f\xc3\ -r\xe1\x95\x00\x00\x00\x00IEND\xaeB`\x82\ -\x00\x00C\x13\ -\x00\ -\x01\x9f\xd1x\x9c\xed\x1d\x09\x5c\x8c\xdb\xf7\x9bR!\xd4\ -\xc3#)e\x8dl\xf9{\xc8Z\xf6}_\x1f\x22<\ -\xbb\x92\x84,\xd5\x90%d\x97\x9d,E$B\xa4\x92\ -\x22\x22k\x12\xd9[H4\xed{\xd3\xcc|\xff{\xee\ -\xf7MM\xd3LM3\x93&\xba\xbf\xdfy\xbdI\xf3\ -}\xf7\xdes\xee\xd9\xef9\x04\xc1 T\x09\x18\x0cB\ -\x9f\x98\xa7M\x10\x0b\xd0\xff3\x99\xd4\xe7\xb65\x19D\ -\x18\xfa\x9d\xa9)\xfdy\x00A\xa4\xb7`\x10FF\xd4\ -g\x8f\xd6\x04\xd1d>\xfa?}\xfa\xb3&A\xdc\xdb\ -\xc1 45\xa9\xcf\x8bj\x10\xc4\xe2\xe3\x0cb\xfb\xb8\ -1C\xeb\xd6\xd6\xae\x8d\x1e]w\xf8\xb0A\x13\xe0_\ -\x01j\xc2\xabgZ{\xa0wj\x1b\x0e\x1f\xd4\x7f\x92\ -\xed\x87\xe4\xcf\xa3\x975\x88\xfa\xa2\x9a\xf6\xa8\xd5\x18+\ -\xa2\xc1\x86\xe8e\xdeM\xe3w\x5c>1\xe4\xb9\xd9?\ -\xb5/\xd5\xb09p\xd0\xccP\xe5\xcc\xe5'\xdb\xa6]\ -\xf3h9\xcd\xac\xd6\xf8I?\xaf\x98\xaeh|\xd9P\ -\xc9\xac\xf9 \xb7\x05C\x0f\x8c\xaeU\xbf\xc5\x88\xc6\xcf\ -'\xef\x98\xda\xff\xf9\xf1\xd0eg{t\xeb\xb4\xeb\x80\ -\xf1\xf6\xe8\x87\xcf\xb4\xe6-{\xa4\xd75\xd3\xa4k&\ -\xa7\xbb\xe9\xf4\xb4\xf4w\x09G3\xbb%\xe4Y\xfb\xe9\ -8=>~\x8c\x11\x9c\x909\xfcp\xc8\x94\x93\xd7n\ -\xae&\xec\x08\xe7\xd9\x8c\x98\x06\xdc\x97\xdf\xec\xdb\x11\xe4\ -\x1b\x87\xa0\xd3\xe4\xda9\xad\xbf\xec\xdb\xdf\xe9\xc8I\xf4\ -\xf7\x1b\xfcf\xbex\xc3\x08o2\x83\xe58%\xcc\xe4\ -\x95C\xb2r\xfb^.\x8765\xaa\xa9\x1e\xae4\x17\ -\xfd\xdd5}\xb3\xb6\x9e\xb7\xffG\xf4\x9a\xb7\xd4\x8c\xd8\ -\xca8\xa1j\xa5z9)\xf2HC\xe6\x05b\x01c\ -\x94\xd7\x83\xde\x87\xdc\xd5\xffk\x14U\x83i\x7f\x98\xac\ -=\xfda\xea\xfeN\x1a~\x1f\xfe\xc7lG\x98\x18\x07\ -\xae\x8a\xf9A\x84\xa7f5>=\x99\xd3\xe9g\xc6^\ -\x83\x8e\xcay\x8c`e\x83[ut\x9a\x10hns\ -\x88\xd9\x03\x97~ip1\xae\x1d3uJ\x9c\xee\xc4\ -\x08\x95\x8b\x87\xe6)\x99\xea\xdd\x0c\x22\xbc\xe2\xd6\x0c?\ -\xbc\xcdc\xd3|\x22\xba\xff\xd2\xbf\xdd\xdc\xd4'n\xcf\ -`\x9c\x9e\xca\xd1\xf2\xd9\x11\xdd\xc9\xac\xd9Ym\xb7\xd3\ -*\xfdg\xbe\xd1\x1f\xd7\x0b&\x16\xcd\xfc\xdb\xf5Dg\ -\x15\xaf\xa5i\xbbl\xfa\xefh\xd7\x84X\xa7\xe7\xa0\xb3\ -,\xf1@@\x07e\xad\x89\x8b\x9dM/\x12\xe1C\xb3\ -S\x1d\x1d\xd7\x7f\xb3\x1c\xcb\x989i\xce[\xfd\xc3O\ -c\x996\xcd\x99\x1bV\x92k\xbc3\x0e\x14\x9cd\xa4\ -\x05\xf0N66\xf8\xa0\x14\xde8\xed\xd3\xa3\x80\xec\xbc\ -A\xb3\xae\x13^\xdd\xbc\xf5\xd3\xe3\xcevd\xbex7\ -\xbdN\xf0K\xf3x\x83\xd4D\xe5\xb4\x1b\xb3\x1a\x0fz\ -\xf7E)\xfcBN\xca\xc0\x19\xb7F\x0e:\xd6n\x91\ -\xd7\xc6\x83f\x9d\x17\xadW7]\x9eA\xd6\x99b\x7f\ -vnH\xf8te\xbb\xd5w=,\x18\xa7\xc7\xa6^\ -\x0b\x1b;i\x96\x9e\x8f\xa6\xd6-\x96\x8aE-\xf4\xb0\ -\x0f*\x84\xc9\xa6\x9d\xeb\x9cr^\xd7\x8b\x19\x1a\xf8b\ -\xda\x8b\x0c\xe2\x87\xb3\xd7\xe7mo\x13\x0c\xce&~\x8e\ -b\xedv\xefP\x97\xe0\xd6\x9d\xe9\xcd\x1e\xad\xe9\x17\xa9\ -\xe290\xf8:\x81^\xfe\xbf-\xee\xcd\xcd\x87\x13\xde\ -\x19\x0d\x8e>\xb9\xaei\xd4\x97\x98\x96\xbf\xbd\xc3\x9c\xe1\ -5\x8fh\x13\x979\x83\x0e\xfd\xafo\x8dQ\xea\x84\xdd\ -\x87\xb8M\xcf\x1bo~\xbc\xb4\xd3\x91\x9e\x83\x17=\x99\ -`n\x17{\x7f\xcf\xf5\xa8-\x8f'\xde]f\xb3\x9c\ -11G\xb9\xed\xb4/\x1f;\xd9\x0dv\xea\xd3J%\ -&s\xc8\xa9V\xcb\x8c\x89,\xb5\xf5\xf6*kR\x9b\ -\xef\xf7&:\xd6\x98\x90\xcd\x99\xdf\xb5\x99\xaa\xbf\xc6\x14\ -\xfb\x16\xed\xec\x16Y\xb9X|f\x9c6\x09\xe9\xd3\xc1\ -N\xc5\xa9\x8f\xe5\xed}\xdc\x1a\x89\x89J\xde\xd1c\xdd\ -\x0e6L\xd4\xd2X\xe4\xa6n\xa5\x87^\x7fi\xd1\xd0\ -\x93f\x1b\x8f)\x9bF?\xf3\x1e\xcb\xd6m\xf0j=\ -;\xf1\xfd\x22\x9f\xf3\x9d\x98wW\xe5\xa6F\xa4\x1et\ -z\xc2^xs\xc6\xee\xa8\xd7*1+\xb9\x83\x96x\ -^\xdc=E\x97`/\x09\xea\x1a\x91\xba\xdb\xc9\xb0\xd7\ -\xc4\xa7\x87\xe6\xde\xf4!B\xdd\xa3\x9b\xfc5\xd9=\xd1\ -\x7f\xfad\xe2\x87\xa3\xbaYD\xea\x0e\xa7K\x11\x93\x93\ -\x991w\x1d\x99l\xeb\xe8\xe8{\x8bMZ\x18\x0c\xef\ -\xdfTs\x94K\x81\xde%\xdd\x1a\xce\x1b]\x5c\x1f/\ -\xfep\xe6\xcd\xe7\x1d\x86\xb7\x08\xdb\x5c\x03k\x9f\x86\x86\ ->J\x97\x163f\x12\xedM\xf6M\xbc9\xcfu\xf4\ -\xbac\xb9\xf9jw\x0fu\xb0k\x15\xb9y%\xd7k\ -\x15\xc95y\x9bk\xd43\xa8]~#'7\xbb\xba\ -\xfa\xb3RL\x0e\xd5%\xec>\x9e\xe9\x14\xb6\x7f\xe8\x00\ -5\xcd\xa6K<\x0bR_v\x9c\xdf\x84\xf8\xb6\xca\x0c\ -\xd1\xa9z\xfb\xf4\xddj\xee\xbcy\xee\x9d\x82\xa7F\xb4\ -6h1\xf1\xa0\xd7\xd3\xd6\xca\xa6\xb33\x1d\x86\xf8G\ -\x0e\xfaoG\xd7u'y\xa6~\x8d\x82U~\xd6o\ -\xb0\xefb\xa7\x83\xec9~\x84y\xa6\xebc\xb3\x11o\ -\x7fj(\x99F'_\x18\xe9\xef3\xe8\xbfK\x9d\x02\ --\x83.LRg\xaeqh\xb1\x86}\xda\xf2\xf01\ -U\x9dC\x9dZ\x87\xed\xd8z\xfc\xaf:y\x9a\xb5\xba\ -\xc5\x9e\x0b\x0fX?(\xebvN\xe6\x84\xfaa\xban\ -=V\xe6\x9b\x04\x8dJ\xd1?\x196g\x95\x9d\x86'\ -+ b\xf9\xf6\x7fB\x88\xd0\xda\x0ei\xb3\x88\x1f-\ -\xb7\x98E\xb8\xb7Z_\xc7\xa6\xe0\xaf\xba=\xbe\x9e\x9b\ -\xa7\xa6Y\xb7GB{\xfb@rJ\xeb!\x9a\xcf\x02\ -\x9f\xc4\xed\xc9\xee\xdbj\x7f\xefa\xad\xd6\xb8u\xde\x18\ -e\xb3*\xf4\xad\x7f\xed5u\x0c-\x19uF\x1e\xde\ -{\xf9\xafZ\xdd\xe6\x9c\xfe\xb8\xe7\x80\x01\xc7i\xebq\ -\xcd\xba\xa9\xbe5#\x93\xa2L\x98\xc3~\x04\xab\xf5\xef\ -\xe2{\xf0\xe1'\xcf\x0e\xb3\xda\xac1\xf2=8\xb8\xd7\ -\x01\xcf\xcc\xbf=F\x84\xb4\x9d\xd6d\x1a\xa7\xa3qG\ -\xb3^\xff\x8b2_\xaenYOoH\xab\xff\xd8\xc3\ -\xd3\xcek\xfd\xc8\x09j\x5c{\xe5\xc8\x7fG\x91\xb7v\ -\xf9\xb9w\x98Q\xf3\xad\xf1\xae\xda\x0c\xab!\xfe6\xb3\ -\xfe\xfb'h\xfd\xee\xa5k\xbe\xdb\xb4\xd9\xd6\xbe\xc1\xe2\ -\x89\xbc\xe4SV7\xae\xbb\x04\x1d\xbco:\xcd,:\ -\xe4Y\x5c\xa3f\xe4\xf5\x87FF/\x8f\xde7\xf9\xa6\ -l\xea\xdab\xd1\xe1N'?\x0e\x1e0\x1aM*\xbc\ -\x81ehp-\x870\xfb\x1e\xc7\xef\x1d\x1b\xf6\x83\xe8\ -t\xb2^L\xc4O\x02mL\x1f\xde|\xf5\x03\x99\xc7\ -\xef\xf4\xdb\xb58\xd5\xd9+\xbb\xc96\xa7\x86\xb7\x08\xb6\ -\xdb\xc8\xef\xdd\xef15^Yu\x1d\xb3\xba\xe0\xaf\xbe\ -W>\xc7{\xfa5m\xda2M\xa7\xaf\x83\x81\xb6e\ -\xe8s\xab\xaeh\xca\xf7\xbfq\xe0\x95\xdb\xfd\xdc/\xdb\ -\x5c;qI\xe3\xc3\xbd\xb3\xa9*\xc1\x06\x11\xee\xd6\xbd\ -\xe6M\x0aL\xb0]\x19\xa2l\xf1\xcaH\xf9\xf4\x89}\ -\xbc)\xceY\xbes-\xdb\x1d_\xfe\xf7\xb8\xd1\x19\xab\ -\xcc~6\x0aNd7\x8b{\xdd\x94\xa2\x9e\x0e\xedg\ -\xac\x08\xb2\x0bZ\xec=={\xf3\xf1.7n[\xfc\ -\x9b\xff9X\xab\xb3V\xd3%!yY\xaa\x8e\xa7\xd7\ -\xd9\x85.o\xa8\xc14s&'9\x10G\xdcoG\ -[\xae\x9e\xdfy~\xcc\xe6\xec\xab\xb1\x8d\xf6\x853>\ -5\xe9\xfbL\xdfc\x96k\xfa\xf1\x05\xfaA\xb9\xb3\x03\ -l.N\x1a\xf7i\xb9\xde\x8f\x9c\xa8@\xe3\xf3\x7f\xad\ -\xde\xec\xfcQ\xab\xbfU\xca\xeb)\xcec\x97[9\x9f\ -\xbe\xb3:\xf0\xc5\x05\xe7F\xa6\xae6\xdb\xdd\x1a\xe6|\ -T\xf3\xe7\x8e\x18}tp\xc8\xf3\x13\xbcK!\xa6\xbe\ -z{\xfc\xf7\xcc\xb5\xb6W\xff\xfa\xba\xa9\xce\xc8v^\ -\x1a\xc1\x13[\x12\x1f\xdcG\xb6\x8cuxD\x0e\xf5\xaf\ -\xf9w\x17B\xbbkD\xf4\x8e{_\x1a\xa1\xa7\x99\xcf\ -\xed\xde\xd2L\xe7\x8d\x8fr\xea)\xd5\xa4\x03\x9dvm\ -\x9e\xac\xaeV\xeby\xf8\xca;\xc3\xfdk\xeen\x5c'\ -\xcfje\x9ef3\xb3\xbeK\x0a2\x16>\xccf\xdc\ -A+\xea\xbc\x5c\xbe\ -\xd9jaV\xcd!l\x8d\x16\xf5\xaf\x9f\xef\x9c\xb4Y\ -\xc3\xd5\x8bXZC\xb9_\x1f\xffu\x91\x99fJ3\ -\xee\x9aeg\xcdoyF9\xbf\xb5+\xb3\xbb\xf9\xd4\ -w\xf3\x8d<\xb7\xec\x1d\x96\xd2\xd6,l\xddn\xcf\x19\ -\xdd{\xdcF\x13\xeb\xfb\xe8\xf8\x8a\xa5\x89^\x06\x015\ -\x0e9\x04\xb48\xd3f\xe2\xf7\xb7\xedU\xee?\x8b\x9b\ -\xf2YoV\x0b?O\x1b\xc2J?|]K\xae\x17\ -\x22L+^J\xd3\x97[\x98\xf1f\x84\xe7\xdd\xe0!\ -\xfa\x08\x95\xce\x0fI\x8e\xf2\xd8+\xbeQ\xddN\xe7f\ -\xdc\xfc\xd0\x95\x810\xbc\xcf\xc5iV\x03t0\xc3\xb2\ -\xe7\x8d\x88\xaes\xd9|-1\xe95\xd9\xc3\xf1\xda\xbe\ -!^\xc6\xf5L\xb7\x0e\xfb\xc1Lx\xab>\xad\x19\xb1\ -z\xcc\x8d7\x13\x8fN\x9e\xadN\x10\x06\xef\xebz\xef\ -\xeab\xfc\xc3E\xd3\xfb\x1fB\xfb\xfd\xfc[Sv\xf5\ -\xe9\xe5\xb9\xae\xbd\xfe\x93\x8d\xa63\xd6\xb6\xab\x81\x84B\ -o5\xefYw.\x05\xd5\xf7\xfcR;\xed~\xe3\xf1\ -\xddf\xd5b\x8cT\x0e\xbe\xc23\x09\x7fg\xc6\x89_\ -z\xd3\xb5\xd1\xeb[\x91\xdfW2Vg\x0e\xa8y\xfb\ -\xac\xca\xde\x17\xdf\xb4\xfdwz~Q\x22|:\xde\x7f\ -lo\xa9\xc1x\xaa\x14\xfc\x82\xe7p\xce.o\xb3\xbd\ -\xb3\xcb\x93u3\xd9*6J-k|2\xd6]\xfa\ -/a\xecN.\x1f\x17\xf8wp\xc7\xfb\xff\xf9u\xab\ -\xd1!\xc0\x0b\xfd\xc2\x95\xec1k\xbe\xcb\xacU\x17\x06\ -4\xf0\x990ud\xfc\xd2\x85\x87\x16\xddn\xb2f\xc8\ -\x9e#\xab\x17\xed\xac\xdd\xa1`JO\xf4%\xdb\x8b\xb6\ -\xea\xc1\xef<\xc3\x13\x0f=\xb9\xb4\xc2*\x81u\x92S\ -+\xe8f\x8d\xcb\xe3\xc7|\xfd/\xd6z\x9b\xab\xf1\x1b\ -\xc4/B\xef.\x9a8\xf7\xc6\xf4\xae\xd3\xea\x13\xab-\ -\xdd\x16\xbf\xd5\xb1oq1g\x14a\xfe\xbc\xd1\x9c\xd0\ -\xae\x7f\xbf\x0e\xb28jm\x9c\x10\x10lK\xae\xecR\ -\xcf@\x97}{\xf0\xb2s\x93o<\xd8\xfa!mn\ -;O\x0e{\xdf\x12\xf8\xde\x95\x99]\xcf\x91\x1a\x8bf\ -\xec\xbdz%\xb5\xdd\xcdv\x8b\xae\x9d\xfa:\xfa\xc8?\ -\xf1\x81\x1f\x1c\xbe\x7fIdwj\x93\xb0&s\xc6j\ -\x8d\x9c[\xe6?\xe6Y\xbc\xecg\xb0\xf5^\xee\xe1M\ -\xc6\xeb{\xc7\xe7\xd5\x1d\xea\xb5\x98a|\x99\x5c\x8e\xb8\ -\xa1f-\xbf5\xdb\xf4]vG\x1e\xfb\xf7S\xe8\xb3\ -\xb8\xee\x9b&\xf6\xab\x93s+.\xe3\xa2\xe3\x08\xe7\x95\ -\x93\xdak\xa5\xc5\xbe\xf81\xe7DP\xc1\x10\xff\xb6u\ -\xaf]V7W\xbb\xc1&U\xdf\xf8\xd6\xf4L\xf0\xe7\ -\x9dq\xbd\x92ek?2,`r\xaf\x03!\xdf8\ -m\xda$\xf4\xe8\x12\x9e\xfc(~\x22\xc3\xdd\xc4q\x80\ -\xf2g\xfbG{\xd4\x8e|\xf9rs\xe5?\xef\x92z\ -\xbfWWIq.\xb8\x98\xcd\x1e\xf3b\xf9\x5c\x8e\xc1\ -\xc2\xa4]&\x88\xb1\xbal\xff\xa7_A\xce\xd8\xd6\xd3\ -\xdb\xbdq\xaa{\xb3\xe7\xa5\xf8\x09\xcf\xb2\x08\xef\x1b\xa4\ -\x09\xf7\xb8\xdf\xc2\x84\x8bw\x1b\x11\xe3\xe6\xf5\x0a_\x82\ -\xb8\xbd\xb1Cn\xdd\x17\xd1v_\x9d^~C3\xfa\ -\xd9\x22\xf29\xa7\x11s`\x01\xc9\xcc7\xab\xdd\xdev\ -\xf1No\xc4k_|\x19\x13\xfb62z\xc4\xd5H\ -\xe7\xad\xc7\xbb\xe4\x0c>n\xd3%q\xee\x12\x02\x11\xff\ -G\x7f\xc2\x93\xb5\xfe\xd0?K'\xbb\xd6\xcb\x8a\xeb\xca\ -hp\xa3\xc9\x89\xc0\x93\x13\xfcgX\xfd\x9c\x14\xbcO\ -c\xd9\xd1/J\xb7s\xd2:\xb6I\xf0\xed`\xb2\xea\ -\xd1\xa5\xce\x8e\x8936\xfb-\x1e?\xba\xa3\xb3e\xff\ -\x96\x8f\x1e\xce\x083\xde\xf8x\xf1(\x8b\xb1\x8dv\xff\ -Pz\xdb\x89g\xb4\x94\x17t$\xd1\x8c0Ug\xb8\ -\xa4n\x9d\xa2M.V~\xbd\xf3\xe3\x88+O\xf5\x92\ -,V|\xeaY\xef\xd0\x95u\xaf\x1a9,\x8b{2\ -H;\x90\xe4\x05mp\xb0\x5c\xb0\x22 \xb6\xdf\xc9\xc9\ -\x8d\xdf\xd7\xd2;\x15\xe5[sd\xab5i\xef}Y\ -#\xb6f\x9f|\xd52b\xb0\xc7v\xaf\x96#\xb6\x7f\ -\xabW?\xec$g\xb8\xd7+\xef\xd5\xadr\xc3\x1a\xf0\ -\x8e}\xb7\xf7J$\x9b~?\x14io\xd4\xd6v\x9c\ -Wo\xd7\xcdHrd\xae\x89\x8ey\xf1\xe3/\xf7\xb7\ -u\x17\x05L\xd6{\xe6\xbbi\xb2A/\xb7\x99:5\ -\xd1~\x9fH\xca\x99\x17\xb39h\xae\x8a\x0f\xbb\xd3I\ -t\xa4\x1b\x10[4\x12\xee\x84\xbf\x1c7i\xed\xa0O\ -c~\x8e\xaa7\xb5M\x04\xbb\xd6\x04\xaf\x88\x87aM\ -\x9b.\x99GD\xce\xbb\xf2\x83\xb1\xd3z\xa3\xf9d2\ -Z\xff\xe6\xe0#]\xea\xf6\xcc5\xdcy8L\xb7\xd5\ -\xfe\x80\xdd\xd3\x82[&\x7f\x08\x09\x22L\x8fjZM\ -h\x8f\x94\xc6\xb6S\xb4j\x866\xfc\x1a\xd6\xe0\xad\xc6\ -\xf5wo|\xff\x193\xd8>\x7f]\x8fh\xed\xb3l\ -\x8fFJc\x16\xab\xb4\xd5%\xb6D\x1c\x9d\xc9c\xd4\ -\xf7l\xf2|Y\xd7\xa1G\x1b\xb0u\xb9\xf1K\xbd\xce\ -\xf6\x9e\xe3\xfdj\xf1\xa4\xda\x8c\x0b>J:\x0d\x88\xd5\ -K\xff\xd3arW\xf7\xf4=\xff\xa5\x85\xb6\xe5\x84\xb9\ -a>\x0d\xa632\xa6\x0e\x1f\xff\xc6\xf2\xafP\xfb\x80\ -\xe9\xce\xef7&\xf4\x18\x10\xc7\xaa\xd1\xe2\x8c\xf2\x93\xab\ -\xea\xe6\xc4\xc1\xf1\x96;\x8dr>\xbeY\xb89\xf8\x00\ -+9b\xf0=D`\xaa\xcc\x06\xad\xf7\x07$\xf9\xf6\ -\x9e\xd6\xc2\xcfq\xc6D\x87\x9d\x9d_\xea&Y\xf4o\ -\x15\xe9\xb6\xccs/c\x5c(\xa2\x7fD\x0c\xc3\x1b;\ -j\x1bu9\x1e\xd6y\xe0a\x9b+A\x93\xdf\x8f\x1e\ -\x18\xf9\x99\xd8\xf3\xb8FT\xb3\xbb\x7f\xeb1u\xf3\xb3\ -Ng\xcdo\xbb\x93az\xe5\x96\xff\xdd\x9d+b\x0d\ -j\xee\xbag\x8a\x04\xc4\xe3\xec6\x0b\xba\xc6}\xed\x91\ -\xd0\xd0B\xc5\x88x\xdc\xc0m\x06\xc3\xb0\xaf\xf7$'\ -\x86\xe9)\xa4\x02<\xfc\xc69\xf4\x8e\xd5\xd4\xa0\xcd\xc5\ -\xad\xe8\x17\xcd?\xd76\xce\xbd\xc8\xa9\x1f?\xb7\x0e\x91\ -Q\xc7\xc2Q\xdbo\x0as\x87\xf2F\xf4\xa1a\xd8\x14\ -\xe6\x8aE\x97Fh\x11\xdf\xda!\xfa=\xdbU\xe9\xd2\ -M\xa5\xc8\xa6.\x9ai?\x12\xc7\xef\x8b\xea\xb6\xda\xa7\ -\xf9\xfa\xcf\xeb\x0f\xfd\xe5\xe9d06\xcfe\xdd\x80\xf0\ -L\x86y\xd2\xc8\xb6\xfd\xaf\x9b$\xce\x0f=\xefS\x7f\ -\xac\xfa\xa5\xd5W\x1c\x13\x02\x88\xfd\x13\xbb\xe6\x9e\x9a\xef\ -\x16}w\xe1\xf0\xcf[&\xf7\x8e\xba\x97\xc9\x08_9\ -\xb3\xcd\xbe]\xa3\x07\x0e\x0b\xfd:\xfb\xdb\xf4\xd9\x86^\ -ji\x1b\x88avZ]w.\xe3\x8d\x1c\xd1jM\ -\x07\x93\xc0K:./V\xc1o\xb3I\xaf/\xef\x8f\ -\xe4\x18tk\xaa\xd9\xf3\xfc\x0bc\xe6\x05eS\xeb1\ -ow?\x1f}\xf1\xfa\xcf\xe8\xff\xa6\xcf\xd9\xb7\xb7\xd7\ -\x9b1'\xf7\xd7\xdc\xcb\xd6ws\x1d\xd5rWd\xc2\ -\xe9\x88\xe9\xc4X5\xe6$\xd2a\xf7s\x87\xd6n]\ -{^[AL^\xa0\xd4G\x97\x18\xba\xa5\xdf\xe6\xc3\ -:\xdc\xa9['\xb57u9\x8a\xfe\xc84\xeb\xf6\xb3\ -m{\x87]\xf2\xeb\xef\xd6\xd8\x8b\xf73\xf9\xe5\xfd\xd7\ -\x0c\xfd7u&\xae\xda6\xad\xf3\xba\xe6\x91J\xe3\xe6\ -\x1b\xeee\x98w\xadG\x5c\x1a\xbc.d\xdc\xe2S\xf5\ -\x88\xc9\xec9\xad\x1e\xb1<\xbb\xf4\xd5%\xea\x1b+\x9b\ -\x12FV\x9b\xcc\x88\x16\xadm\xfdf\x84\x12\xfa\x19F\ -\xaa\xcc\xe7_l7\x84o\x8f\xbcOx\x1f\x8dR;\ -9\xacc\x1d\xa2\x85\xc6<\xe2\xdd(\x97n1\x83\x08\ -\xe5\xe0\xd5}g\xae7\xad=\x87\xd0\x5c\xab\xa5\xcc\xec\ -3\xf6fH\xaf\xa4\x07\xe8OG|\xec\xbfo\xc8\xdc\ -yZ\x17\xedj\xeeX\xdb\x8bh\xd5\xac\xc6\xf8\xc5\xbd\ -\xdb\xd6\xdf\xd0b\xd2\xbeG{\xfbr-\x0e\x1e9\x90\ -k\xbdr\xe2\xe0Y\x0e\xfa\xcf\xd0\x147v$n\x0e\ -S\xc9\xd0KRz|`\xba\xcb\x85\x88\xf3{g\xe5\ -\xee\x1b\xa7\xefy\xbd\x9d\xf3\x05e\xfd\xc0v7:E\ -\xb3\x9e\x8fq\x19\xd6\xf7\x90\xe7\x93!\xad\xd0\xb4/>\ -\xef\xb9~sN\x0b7\x8d\xe17C'\xadm\xf3\x00\ -=\xc3\xe5~\x92\x92G\xffK\xad\xcf?i\xa8\x1f\x93\ -Nh\xf6\xd66\xb4a\xde`\xd4\xde[{\xeed6\ -\xc9|\xa4L\xec\x1d\xf9\x15\xe9\x19?}S\xd6\x0e\xd4\ -{\xbaA\xd5\xd0B=!\x9f\xd8\x9b\xb8\xf3\xe4\xa4\xff\ -\xc6\x1a_\xad\xad\xbaanGb\xf2y\x82\xa1J\xd4\ -\xbf:_\xc9\xdc\xdbw\xcb\x1eUu\xed$\x8b\xbf\xd7\ -[LVE\xbff\xbe\xbb\xa7\xc9L:\x1c\xceza\ -g\xb82\xf9\xf5Q\x1de\xd3\xd6\xfb\xf5B\xe3'\xaa\ -\xb9G\xdf5@\x8a\xe1)W^W\xdb~D\xab\x06\ -=\xb5-\xbf\x9f\xd5g\xec\xbf\xe7\x19A\xe8\x07\x13\x84\ -~@g\x0e:&?}S\xdb!-\xb0%\xd7\x9a\ -\xa1\xff>\xbe\xc3\x16\x06\x11\xb3\xc5\xdcpO\x96\xaf\xf5\ -h\xe6.\xd5\xf53\x1e\xaa\xce~}\xf4\x84\xf5\xb6\xbd\ -\xc8\xea\x7f\xd6\xc1r\xe7]\xde\xbbq\xc7\xb3Z\xa7\xd5\ -\x09[\xea5=^M\x8bX\xbb\xbfy\xf0\x14f_\ -\xa4M\xec\xe8\xb7\xbb/\xf7x\xd2\xae\xf3\x0dU\x99c\ -\xd8!s\xda\x07O\xbf\xc7\x1c\xcb\xd1~\xd9\xc1r\xf8\ -\xec\xad\x1aF\x84M\x84\xde\x8ba\x0e\xed\x17\xd6\xe8`\ -\x93oc\x9a\x95br\xe3\xb6\xd7\xb3\x96\xc1[\xb4\x08\ -\x7f\x9b6\x06\xfd\x1a!]jo\xd6|+\xf7a\x1e\ -\xb5\xba\xc4\x06\x04\xd9\xa8\xdf\xd0Q5e\xfc\xd4X\x8c\ -\x14\xef\x91\x17zv\x5ct\xab\xf7\xb9m\xee;\xf5\xbf\ -\xdc\xef\xb0\x8d1\xcet\x8b\xc6\xe2e\x1e\xbb\x947\xb5\ -\xf1\xb7\xe9\xa5\x7f\x97\xdct\xe9\xb9\x03\x93\x91v\x0a1\ -\xc0\xb0\xb5\xef5k\xaan\x18\xf1\xe9\xda'\xfd\xfaK\ -\xea\xeb\xe5)3\x1f\x05-\x1b\xd1\xf8L\x07U\xd3\xbf\ -\xfe\xeewy\xa3\xa5I\xe8\xdd\xbdd\x5c\xaf\xcf\xb9\x87\ -w;\x99\xac\xf0\xf3\xbfk\xd0\xef\xd6\xa4Z\xca\xa7\x1f\ -\x7f\x9a0e\xbbZ\xf7\xb9\x03-\xe2FO5\x08\xe8\ -\xban\xd0\xf6\x7f]\x86\xabX\xb6u1\x22F\xdc\xce\ -\x1d\xb5K#\xb9`d\xff\xd6w\x1f\x8c\xe9\x1a\xe1\xa0\ -\xd9\x92\xbb\xa4\xcf\x12\xbb\xe5HC\xdc\xbcC\x8bh=\ -\xea\xc5r\xc3.\x8b\xe69\xab\x0d\xeb1\xef\xe4\x7f\xde\ -\xbe\x83\x8fv9\x18\x96\xdf\xb1\xf5\xdd\xa1\xe8\xdbO\x8e\ -\xd8\x9e\x1fb=4\xe4\xb9\xadMv\xdb\x81\xa7k#\ -\xbd;\xc5\xb9\xd9\xbeNC\xbe\xe4em\xb5\xf9+\xe7\ -!\xd1\xf6\xeb\x97eC\x8ef-\xa8\x994\xf6\xe6\xd2\ -\x7fz\x06\xb9G\xa6\x04\xc5\xa3/\x0e[h\xfd\xc4G\ -\x89\xc8\xbe\x1bc8>\xfd\x83ql\x0a\xdaJ\xc3\x09\ -\x17\xff&<\xf2\x07\x1f>\x1f\xd7m\xc5\x93\xcfz\xe6\ -\xc4\xa4\x83/\xbe\x1d\x1ci\xfdU\xfd\xe5{\x86\x85\x0f\ -\x19\x96\xbd\xda\xdd\xd0$\xe6D\x80I0\xf1.\xea\xc1\ -\xb2!\x17\xcf\x9d`\xaei\x1e\x13\xbfJi\xdel\x9f\ -v]?\xccn\xdb/0\xf6\x08\xfc\xb3\xc7\x13\xaf\x8b\ -\xbe\x11\x83\xf3L\x8dbB\xcey\x0e\xed\xeb;7\xdc\ -6:bl\xae\xcb~\xf4D\xd7\xdc\xce\xa1\x84\x07R\ -\xecn\xed\xff\xd8\x93\xf1a\xc7\xbd\xa1S\xf7\xac\x8bc\ -\x9cE[x*\xbaf\xbb\x8f\x19~\xdd\xb2}'\xcc\ -\x1b\xf2\x06\xcd\xe0\xe7\x87\x10\xdf'\xf6\xb7\x91\x98\xe9\xe3\ -\xf7%\xe5\xc3\xd0\xed\x8e\x0c=dCL\xb0\xf4\xbe\x1a\ -\xfeiB\xa3\x03\x99K.\xeb{\xa9(\x9f\x1e\x81\x98\ -\xdd\x88\xd1\xea\x8d\xda_ne\xb9\xa4\xaes\x96\xde\x83\ -\xcc\xa6\xcd\xe3C\x92?\x0c\xcc\xf6\xdf\x8e\x1e\x14i\xce\ -\xb9P\xb7u\xb3\x86\x97\x06-m\xa3\x17rr|\xbe\ -A\xac\xb6\x9d\xde\x9e+\xcdV=\x98\xb0\xe8B]\xce\ -\xdfs\x89\xc8\xc7\xed\x86\x9b %\x1d\xc9\x01\xad\x82\xb3\ -\xa3\xf3kOz\xec\x917\xe6h<\xd2W\x8cx\x07\ -V\x9e\xe7\xee\xe8B,98,%\x06\x09\xfb\x88\x87\ -\x1e#\x8cb\x06.\xf3\xa8\xbb\x93\xccWC\x9b>\xde\ -\x7f)\xd2\x9f\xe3\xaa*\xf7\xcb\xfa\xe1\xd0\xc3\xfar-\xa4T\x0f\ -\x1a0z\xf7\xb2\xb7\xa9\x8f~\xe4\x8e\x5c\xe3\xfa\xec>\ -\xb1(\x1c)acN\xa5\xb5\xbf\xa1\xe2r\xd4\xd9\xb4\ -\xad\x0e\xcb\xa9\xee\xf0\xc3#\xde\xbal\xf7\xf9Z\xc0\xdd\ -\xf2\xa9\xf1+\xa5+}9#\xdf\xbb\xdf\xff\xef\xd4R\ -\x8dh\xff\x94\x95\x0b\x88#\xdf\x9e\x0c\x9a\x9e?x\xc0\ -\xa4 D\xa8\xedUagG\xcd\xadS\xfb\x7f5>\ --\xb4\xb6\x7f\xfaj\xa7\x9d\xe1\x1c\xe2\xc8c\x0b\xe5A\ -n\x93yK5N\x06\xbe\xbbP_\x95\x196%j\ -\xcd\x0a\xa4\xf7oe\xaa\xdf\x0e\xccP\xaeC\x8cDS\ -\xae\xc3\xd8\x969 ^\x0d\xd91#\xfc\xf5-\x0f \ -\xec$%7|TC\xe7qK\x17\x13\x95;\xeaL\ -r\xc4\xe1\xd0]\xce)\xc4\xc0\xe0\x9e}&\xe43\x02\ -_\xdcP7\xef2ou\xb0E\xe6#K\x9b\xe4\xd8\ -\x19W'\xf1\xfa\xb4$\x1a\xb9\xa9\xc7-\x18R\x13\x1d\ -\xb6\xe1\x8d\xb7\x8c\x08_\xb0<\xe2\xca\x89\x84\xab\xe6\x8c\ -\x18-\xa6\x17\x9a\xfc\xd3.Mw\xd8>D\xa6'R\ -\x05\x1d\x8f>\xb4\xf8y\xf6]G\x15o\x15\xf3\x80\xb0\ -\xfc\xd1H\xa1\x8b\xab\xb3Q\x09\x99M+rr\x5cg\ -\xe9\x9e\xfb\x97 fw:\xec\xf82a\xe0\xc2e\xc9\ -c\x89\xe4\x08\xf7\x8c\x1d\xe6\xc1\xdbR;\xab\xe8\xde\xbc\ -\xe8t\xfc\xc1\x85\x1e3\x03\xfc\xaf\xd6\xbe\xe8b\xfb\xe8\ -\xda\xccN\xb9_\xf4c6\xd9\x5c\xbc\xf3@\xab\xb1\xd5\ -\x93\x9c\xb9\x96\xd7\xfc\xefn\xbb\xe1;q\xd6\x15\x8ei\ -\x7f\xb3\x85D\xcd\xe3G\x9e[\x052G\xfb,M~\ -\xdf\xc6\xe1\x8c\xca\xd7\x1e[\x18\xc17\x89\x01\xce\x83\x07\ -\xaeP\xd35\xfc\xd9*\xd4\xd4\xb5\xc1\xd8\x94k\xc3\xee\ -^\xb9\xa1rzo\xbakw\xa4\xe09X?gn\ -GV\xb2\xf1\xfa\xe3Q>\x8f7\xa5\x1f\xe7\xe8\xeb\x13\ -\xf5j\x18\x22\xf6\xa1\xd2c\x9bF\x80\xf5\x8c\x8e\xbd\x9f\ -u\x9c\xbf\x02-\x7fj\xf2\x97y\xfb#G\xdc\xf9\xaa\ -E4\xd4PR\x0a\x9e\xf83b\xdf\x82\x05+\x9a\xba\ -\xda\x05\xecF6\xf4q\xafnGf<\x89\xe3|\xee\ -\x01\x8ap{\x87\xc5c\xd5\xc9q:\xc4\x8d\x08\xf7s\ -\xb9\x8b?+\xa9\xde\xb3\x9f\x12\x95k\x85\x9e\xd3)\xe0\ -K\xf4\xfaUwn\xab\x87\xab\xc4\xac\xf9Y\x7f\xc2b\ -\xc4\xff\x0f\x8fU\x03=\xf7\xef\x8fK\x8f7\xdf\xf7\xe9\ -^\xe0\xc2\xe3\xb3f\x84~tr\xb8\xf2\xa0\xf7!\x86\ -\x97z\xda,\x820E[\xb4\x860\x8bpw\xcb\xd8\ -\xc4\xd0C\xa2\xa1K\xf7\xc8\xef\xef\xbblB{\xfci\ -\xfd\xa1\xd8\xcfw\xbb?m\x9f\xbe\xdbA\xdb\xe1q\xbc\ -uk_\x15W%\xcd\x03\x9d\xda\xb9\x1c~\xf1\xcd\xa8\ -\xe7\xd5\xcf\xd9>\x13W\xd7\xf3\xb7\x9e\x911\x17)\xd9\ -G\xfe\xfdt\x1f\xbd!):j\xe1\xa5<5\xf7\xe9\ -\x84\x1da\xef\xd2\xa9\xdd\x9b6Zis\xdc\xc8\xd3_\ -\xf7|2<\xf4\xe2[V\xcbg\xb7\xee\xe4\x05\xef~\ -\xcf\xbbY?u\x9a\x11o\xdcuu\xc2\xbbi\x8c\xcd\ -\xbeq\x0d\xd0\xcbu\xd60/\x9e\xf1\x8ex\xd9q~\ -\xcf\xbc\xc5\xbbs\x8f\x91\xa6\xf9\x9d\x08\x82C\xc4\x9c\xb7\ -\xd9~\xb1\x1fb0G\x8e4\xf5\x9d\xfd\xbe\x8b#\xb2\x01\xbe\xcf\ -\x9a\x9f>\xb7\xddS\xfb\xc0n\xf6m\xb3C\xac;2\ -;Yu\x0fvq6\xfdQ\xab\x07\xd2\x8dW[]\ -\xf8\xdc\xb56\x9a\xe5\x07\x86\xdb\xd55\xd3b\x93\x0f\xe8\ -q{\x1cLV\xc2\xeb_H,t\x1b9\xfa\xad\xba\ -\xea\x86\xfc\x90\xfe{T785\x8b\x1ap/om\ -_\xe7\x11\x81\x88\x16\xde\x98\xacI\x8f0^t\xd0\xc5\ -\xec\xfekD1\x09\x0fM.G\xaa\x10>mB\x9a\ -\xfc\xdc\x7f \xdby\x87\xdf\xec\xf8\xcb\x0dk^~7\ -\xa2\xe0\xca'\x87\xb6\x1f\x95\x08c\xada\xdf\x94\xf4\xea\ -\xf0\x9a\x8c\xe8\xab>.\xa9\xb7\xe6\xbe\x03\x93/\x87\x14\ -\xa8\x04+[\x85\x8ckqaD\x7f\xcf\x90\xf9\x93\xeb\ -0]l\x87\xd6^\xa6\xa2\xd9\xf3\xcd\x9au\xba\x9d<\ -\x8f\x0d\x8f5~W[\xdf\xfaXC\x1f\xff\x19\xaf\xee\ -2\x82\xa7\x10\xfbZ&\xaf\xcfU\xcb9\xaa\xd2\xf6A\ -\x13F\x8bGm{g\xcc\xf68\xf6/s\xc0<\xec\ -\x0c\x9c\xb0\xca\xcc\xcb_\x85\xb0Z\xa5\xbfO\xf9\xe0\xcc\ -\xec\xa9#\xbc:\x12\xc4\xed\xb6\xdc\x14'\x8f\xb3\xc7\x12\ -\x17\x8df\x9c6\x19e5\x92\xad[\x7f\xfcp\xdf\x1d\ -zy\xef\xc7\x8e6#\xe08L%\xec\x22R\x0f9\ -e4\x9a\x12\xa7K^\x8a\xef\x1c\xf9Z\xc5hf\x8d\ -(U\xcd\x8b-\xb6\xf4\x0aHX\xa5\xc2\xbc\xeb\xa5\x19\ -\xa04h\xc9\xed\xc9\xb7\xdfL\xed\x98\x98\xa8\xa4\xd5k\ -\xdeR\x13%\xadC\xf6\xb9\x83\x9auGH\xcb\xbb~\ -*\xe8\xdd\xb0\xc6\xc1V\x7f\xf5\x99\xb8w\xd8\x13%\xed\ -\x13G\x97\xb6%\xb2\xdc\xb7\xeah\xe8_\x9f];\xf8\ -\xe1\x92C\x05S\x22\xd2\xea\xed[\x17\xed\xc8RvJ\ -Zu\xed\x8b\xbdC\xf3\x89\xb7\x9c\xcc\xb6\xaf\x19\xb5\xb1\ -\xb9\xe9\x7f\x87w\xae;\xb9\xf4\xc8\xe2\xf5\x83\xae>\xe8\ -\xdd\xcc\xdc\xf5\xb9\x9a\x93\xc7\x1c\x8d,\xff\x05\xb5'\xf6\ -\xd8>{\xfb\x9a\x995\x062\x1f\x1bjd\xf5Z\xa0\ -\xfdz\xecv\xf3\x9a\x9a\xff\xde\xcfz\xa21M\x93 \ -\xd0\xef\xff;4\xc9>\xf8,Ah)\x0djs\xed\ -r\x86r#U\x22XS\x7f\xc9^w\x17=oc\ -\x82\xb9\xa1\xa6\xd5\x8e\xbd\x1e\xdd\x1b{]\xe10\xeb2\ -\x88o\x17j\x06\xd5\x98Z\xa7~\xb2\x81J\xcc\xc8\xae\ -\x17\xd8\x86\xd7\x92//\xb2\x8b\xbd\x9f\x10sCyP\ -|\x07\x22\xef\xd3\xe5\xc1\xfd\xdexg{\xdb\xda\xfd\x8c\ -K \x96\xadw\x1cT\xaf\x8b\x8aWF\xe7w\xf9g\ -\xeb\xf6\xad\xf7\xc9\x09{\xbcG\x13\xc9\xb7\x82\x8c\xf7\xf5\ -\x9a\x10~*a\xcfG\xee}\xbf\x99c\x10Q\x9e\xee\ -z\xeb\xadZL\xbf\xdb\x81Zk_+\x8dZ\xe7q\ -\xa1Y\x1c\xc3\xfc\x87\xb3\x97\x9d\xb2W7\xd3o\x7f\xfb\ -\xa2\xfd\x8d\x1e\xd6\xc8\xf4(A\x80\xdf\xbc\xb1\xcf\xdb\xe0\ -&?\xafk\xfe\xfb\xa3\x9dO\x00\xef\xbaM\xff\x83\xb5\ -\x01\x1d\x16Z\xc1\xc6\xb6u\x9a\xf8=\xfd\x1f\xb3K\xef\ -\xa1y\xb9\xe7\xfe#\xb4\xb2,\xefE\xc5\xe87\xef9\ -\xa3\xf6\x87\xfe'\xa3\x875v;\x12\xc1 \x08\x1c\xc3\ -\xe8bT\xf3\xf1\xda\x09\xe1c\xde\xec\xee\xe1oqx\ -\xf2A\x0d\xc2\xb1Y\x8d\xc6\xa7U\xfa\x1f\xb6Y\xebd\ -8m\xeb\x94t=\x8f\xe9\xe9uw\xd7b\x0e`k\ -\xa1\xa7\x987\xbf\x18\xdf\xce\xe7<\xef\xa0M\xffK\xf1\ -\x8f\x09\xa3\x1f7T\x1b\x13\x1bTn\xd5\x1e\x16\xfa?\ -\xa6\xde\xe9\xcf\xc9\x87\xdd\xd5'\xb6\x1f\xaaf\xda\xdc\xae\ -\xff\xab\xa9\xe1\xf5\xda\xfd\xa4\xc2\x16>\xf3\x03L\x86u\ -\x8c\xe9\xb2s\xa9\xd2\xe9\xbd_\xfe\xa7\xa5j\xa5=\xbd\ -\xc7\x193\xffQ\xdf\x16\xb5[\xf4\xbc\xe0\xdfE\x17\xd2\ -:\x8cl\xfc\xb8\xc3\x95:\xcc\xb9\xebX\xa75\x82\x0d\ -\xd8W\xed\xcc\xdb\x8e[\xdcn\xd1\xd3\x95\x8d\x09N\xe3\ -\x0f\xdb\x03\xd4#\xb6\x5c\xdfa\xa0t\xba\xa1\xdd\x943\ -\x1a\xd35\xb3~\x9a\xf0j\xd4Q\xbd:\xac\xbfg\x0c\ -s\xca\xfb\x89\xe1\x86\xebG\xf8\x9b\xaf~\xa2F\xfc\xb5\ -\xf65\xa9\xdc\xc0\xa2\x87\x91\x96\xb6\xdfr\x08[\x0d\x1f\ -\x08\x1c\x11\ -\xe8\x15\xd5\xf2\xbe\ -\xeaA:\x8d\xbbr\xdb\x05\x02\xf8\x07\xbb\xa2Z\xcf\xaf\ -\xba\x10K\xe3Pb\xfc\x0b\xe0^\x8fUm\xdf\xff\x0e\ -\x10\xc2\x12\xf0\x11I\x88{\xf0+\xeeV\x80\xb9W\x83\ -|`7K\xc0W,\x01\xfe\xc1\xb7\x5c\xed\xd3\xfd}\ - \x85\xc6\xa9X\xfc\x0b\xe0\x1ebK~\x0a0\xe7j\ -\x90/\xf8\xb1\x04\xe2\x86\xa5\xe0\x1f\xe2\x8b\xd5\xb6\xde\xef\ -\x07\xf94nK\xe0_\x00\xf7\x90_\x10\xaa\x00s\xad\ -\x86\x8a\x81P\x96@\x0e\x89\x08\xfc\xcfb\xfdI\xb9\x1b\ -\xcbu\x11\xe8\x90,\xcb\xa64h\x93,\x0bm\xea\xff\ -\xad\xf5\x114'Y+\xf4\x05~O\xff\x9b\xa5\x0e\xf5\ -=\xf8~e\xaf\xa1|\x00\xb85\x13\x83\x7f\xc81\xbb\ -\xa5\x00s\xfc\x05\xf8Fx\x5c\xa1G&\xad\xed@&\ -o\xecI\xa6\xed\x9fHf\x9cYJf^\xb6#\xb3\ -o\xed\x22\xb3\xfd\x0f\x90\xb9\x0f\xce\x91\xb9\xa1\xee\xe8\xe7\ -Y2\xdbo\x1f\xfa\xbd3\x99yi\x1d\x99\xe1\xba\x88\ -L\xdd3\x86Lfv'\x93l\xdbS\xcf\x85\xe7\xc1\ -s\xad\xaa\x04=\xf8\xd0\xb8\x16>\xfb\x90g\xf8\x1b\xe6\ -\xeb\xe9\xd2\xe7U\x17\xe3+u\xe702\xf3\xe2\x1a2\ -\xe7\xbe+\xc9\xfe\x18JrS\xbe\x91\xbc\x9c4\x92\xc7\ -\xce#I\x1e\x8f,up\xb9\xe8\xefrI^v*\ -\xc9I\x8a!\xd9\xefC\xc8\x9c\xa0cd\xc69K2\ -e\xdb\x002i\xb5\x01\xcd\x17\x14\x9a\x16\x92i\x5c\x0b\ -\xe7\xf28*\xc0\xdc\xe4\x07p\xd6\x11\xafNZ\xd5\x86\ -L\xdd=\x86\xcc\xbe\xb9\x13\xe3\x8b\x9b\xc1Bx\xe4\x94\ -\x8e\xe7r\x0e^A>\xc9M\xfdN\xe6G\xdc&\xb3\ -\xbc\xec\xc9\x14\xa7Ad\xd2\xca\x96\x94\xacPL\x19\xe1\ -(\x84{\xb0\x0b\x1e*\xc0\xbc\xe4\x83wt\xfe\x92\xed\ -\xfe\x87\xce\xa5\x05\x99\xff\xea\x16\xc9\xcdL\x92+\xbeK\ -\x1d\x88G\x00O\xc9{r\x99L?f\x8ee\x0c\x9f\ -\xffT\xfa\xde\x14\xc1CV\xf1\x1cR\xb8o\x90\xa4\x00\ -\xf3\x92\x03\xde\xbb\x229\xbd\x96,\x88~\x86\xcee\xde\ -\xaf\xc3\xbb\x88\xc1\xcb\xcb$\xd9\xef\xee\x91\x19g-(\ -]\x01\xf8\x81b\xc8\x85$\x1a\xe7|\xfc\xc3\x9d\x93\xaa\ -{7\x03\x9d\xaf\xa45m\xd1>/#\xd9_\x9e\x91\ -$\x87]\xa9x\x17\x1e\xc3m9\xf6\xb3\xfc\x8e\x83\xf3\xfd\x1d\xf6C\ -\xffB\x1a\xc8c\x15\xd5\xdd`W>\x8eK\x07\xc0=\ -/+\xb9\xb2\xd1T\xa1\xe3\x17\xd3\x00\x9bUT\x8bD\ -q\xf1\x8f\xe4=\xf0\xfc\xdf\xf5\xdc\x0b\x8f\x82\xf8(2\ -u\xd7\xa8_A\x03\x8a\x8f\x7f\xb4\x07\xa0\xeb\xfdJy\ -\x0f\xf6\x04//\x8b\xe4e\xa7\x90\xdc\xac\x14\x1c\xeb\xe1\ -\xe5e\xffR\x9f\x12\xfbs\x18\x99\xb2\xb9_E\xd3\x80\ -b\xe3\x9f\xb6\xf1*T\xcf\xe7\xf1Hnf2\xf6\x19\ -\xe6>\xba@f\xdd\xd8\x86cy\xe0\xb7O\xdd3\x16\ -\x9f\xc3\xd4}\xe31\xff\xc9<\xbf\x92\xcc\xbe\xb9\x83\xcc\ -{z\x19\xd9\xefo\x10]\xa4U\xdc\xbc\xd0\xc8{q\ -\x9dLZ\xd7\xa9\x22\xe3\x06\x8a\x8b\x7f\x88\xd5\xaei\x87\ -\xed\xfb\x8a\x18\xbc\x9ct2?*\x98\xcc\xf2v\xc4\xbe\ -C\xbc\xcf\xd6-\x04\xf2;\x04r<,u\x8arC\ -\xe0\xe7\xca\x968\xb6\x04r\x1ar\x02\x80>y\xf9\xd9\ -\xf2\x9f$\x97Cf\xfb\xee\xa6rP*\xc6O\xa8\xb8\ -\xf8G\x00~=y\xfbv \x0e\x98\xfb\xd8\x83Ls\ -\xf9\x97L\xb25,\xc2o\xb9\xce\x98nal\x19~\ -&\xaf\xefL\xa6\x9fZ\x80\xfd\xfb 7\xe49xH\ -\xfe\x00\xef\xa9 9\xa0\x98\xf8G\xf8\x00\xbe\xcbI\x8e\ -\x93\xdf>\xb2\xf3\xc8\xfc\xf0\x9bd\xda\x81)\xe8\xfc\xb6\ -\x90o\x5c\x9e\x9fg\x80\xf8U\xfa\xc9\xffpN\x89<\ -\xf3\x0b\x0ab_\x92\xc9L\xe3\x8a\xa0\x01\xc5\xc3?\x9f\ -\xef?\xbf&\xb7\xfd\x03\xdd\x11\xf2\xb6\xe0\xb9\x15\x1a\x7f\ -\xa5\xe9 y\xc3\xff\x90\x1e\xe1D\xe5\x99\xc8e\xf0\xc8\ -\x9c\x80\x83\xb4\x1c\xf8\xcd\xf1\x8f\xce~\xc6\x99er\x8a\ -\xe3\xf1H\xf6\xbb\xfbX\xbeS\xb9\x01\xbf(\xd6\x06\xe7\ -t\x85\x1e\x99~\xc4\x8c,\xf8\x1a!\x87u v\x92\ -\xfe\x13\xd9A\xe3\xe5\xed#V,\xfc\x83,Ez\x15\ -\xd8>2\x0f\x1e\x97\xccE\xbac2\xb3\x07}\xe6+\ -\x87\x96S\xb7\x0f\x22\xf3\xdf\x06\xc9\xbe\x1e4\xf2\x9e]\ -!\x93V\xb5&\xe5\xc8\xbf\x14\x0c\xff:8o\x87\xe4\ -\x14\xc8\x8e\xfb\xb0KdR\xe5\xc5\xd5\x04h\xa0)\x99\ -\xb2\xb1'\xd6\x0de\x1d`o\xa6\x1d\xfaW\x9e\xf4\xac\ -8\xf8\xc7z\xb4\x11\x95\xbb#\xdb.\xe1s\xaf\x10\xb8\ -\x17\xa0k\xec\xc7x\x1f\x223\x0d\xe4=\xbbJ&\xd9\ -\xc8\x8d\x07(\x0e\xfe\x11MC\xfe=\xe4V\xcb2@\ -\xdec\x9e\xaf(\xb8\x17\xa0\x81\xd4\x1dCIN|\x94\ -L\xeb\xe3f%\x93\xa9{\xc7\xc9\x8b\x07(\x08\xfe\x91\ -\xce\xbf\xca\x00\xdbg\xb2\x0c\xd0\xf3\xb1\xaeWY\xf2^\ -\x02\x1aH?1\x0f\xdb\xf4\xb2\x8c\x9c\xc0\xc3X\xbf\xfc\ -m\xf0\x0fg\xc3y\x84L\xf6\x12\xd8\xf7`\xe3)X\ -\x8eu\x09:\x07\x1f#\xe4\xfc\x80\x9c\x92v@\x8c0\ -\xd9\xa1\xbb\xfeA\xef?\xbfR\xea\xd8:\xe4\ -\xd0\xa6\x1f\x9eYu\xce\xbe\x00\xdd\x83\xbe\x22m\x9c\x00\ -\xe2\x97i\x07\xa7\xca\xba\xee\xca\xc7\xbf\x95\x1e\x99\x13|\ -B\xaa=\x80\x0165\xbeW\xa5\xe8r_\x04\xfe\xc1\ -'\xc0\xf9\xf1I\xca\x95\xf3\xc8\xac\xab\x1b\xab6\xfe\xe9\ -\xfb\xd8`\xb3K\xb7\x05h\x0f\xaemV<[_R\ -\xb0\xd6\xc7\xb5\x05\xa4\x1d\xb9\x8f\xce\xcb\xaa\x03T2\xfe\ -up\x0d\x05\xb8G/\x15\xfa\x91\x1d\x9d\xb6gl\xd5\ -\xe3\xfd|(\xf4yIwG\x15\xe2\xcc\xf8n\xb1\xf4\ -\xbc\xafr\xf1\x0f\xf1\x91=cp~\x9d4\xa3 \xf6\ -\x15}w\xa6\x8a\xf1~>\x80\x0c\xd8jJr\xd3~\ -H\xb5~NR\xac\xac~\x80J\xc6\x7fSd\xc7.\ -\x90:\xd6\x0b\xb9a\xf8\xfe\x5cU\xd1\xfbK\xe0_\x17\ -\x9f_\xf6\xc7GR\xad\x1f\xf2\x16Sw\x0e\xaf\xc2\xf8\ -\xd7&3/\xae\x95Z\x07\x86\x5c\xcc*\xcb\xfb\xf9\xb0\ -\xb2\x05\x99\xfb\xf8\xa2T\xeb\xe7\xe5f\xcaj\xfbT.\ -\xfe-\xb41\x0e\xa5\x1a\xc8^\x84|\x5c\x9c\x93Y\xd9\ -8\x94\x05\x10\xee\xb2\xfd\xf7K\x87\x7fv.u\x87\xb8\ -*\xe3\xff\xf6\x1e\xe9\xd6\x9e\x9f\x8ds\xed\xaa\xfc\xf9G\ -\xf4\x0by\xaeR\xc5\x03\x10\xdf\xcc\xbch+\xcb\x19\xa8\ -\xba\xf8\xcf\xcd\x90w.D\xa5\xe1\x1fp(\x95\x0c\xc4\ -\xf8_\xfbg\xe2\x1f\xd9~`;T\xc2\x9d\xe9\x0a\xc0\ -\xbf\x94:\xd0\x9f\x8c\xff\xbcL\xaa\x96\xce\x9f~\xfe/\ -\xfd\xa1\xf8G6\xa3\x9cb\xa0\x95\x0bh\x0fp\xec[\ -\x9a\xc1- 3=VWi\xfcg]\xdf*\xe5\xda\ -e\xd6}\x14\x03\x90\xed\x0e\xf9<\xd2\x0c\xea\x0c,\xa8\ -\xba\xfa?\xf0\xbe\x0b\xab\xa4\xce\xf7\x85\x1a\xbdU\xd6\xf7\ -\x8fA\x17\xe7r\xe6=\xf7\x96\x0e\xff\x10\x03t\x99V\ -\x85\xf1\xdf\x14\xdf\xb3\x95\xf6\xce\x1c\xd4{\xabRq\x7f\ -a\xa0\xef\x0e\x16\xc4\xbd\x92j\xfd\x90/\x97\xe24\xb0\ -\xea\xfa\xff\xe8\x9cX\xf0cJ38?>\x90\xc9\xf6\ -\xdd\xaa\xb4\xff\x1f\xfc\xb7\xd2\xd6\xa6\xe5\xfc\xf8\x88k\x9d\ -V\xd9\xf8\x0f\xd0\xbf}W\x8cGi\x06\xf0\x8d\xb4#\ -U0\xf7\x83\x0fh\xdeR\xeb\xfeh\xc0\xbd\x22|\xa7\ -\xb1\xaa\xe2\x1f\xe4\xdfj\x032?\xc2O\xaa\xf5\xc3\xc8\ -\x09p\xa9|\x8f+5\xfes\xee\x80\xde#\ -3\xed+ \xfe\xab\xe8\x99\x96\x14 \xe7\xcdy8\xc9\ -aI\x97\xf3\x08\x03\xe7}\x1c1\xfb=\xee\xff\x08A\ -\xd2\xea\xb6\x94M\x83\xf7J[\xa06\xd3o@\x13r\ -\xaam#'\xde\xafx\xf8\xb7nN\xd5S\x8b\xbaG\ -\xe6\xdc=\x8a\xefHA\x0d>\xf0q`?\x1f\xbfO\ -\xdf\xf2\xaaK\x13YW\x99\xb2\xd54\x83\x9c\xf7\xeb[\ -\xe5\xc5#+\x06\xff\xfc\x1e{\xe5\xd1M\xf9w\x01\x04\ -s!9l\x1c\xe7\x87\xfb\xae\xe0\xeb\x85Zx\x90\xef\ -\x04\xf7\xc5\x92\x90\xee\xcf\xe2\xf7\xd7*F\x13\x95\x8fc\ -\xd1\xeb\xd3\xa1j\xd8\xcaX\x13\x8a\x9b\x1c\x87\xfb\xcc\xc9\ -)\xee!\x1f\xfc\x0b\xf6TD\x9f!\xa7\x15d\x1c\xf4\ -\xd9\x93\xf8\x9e:\xd8\xc3[L\xca\xac\xf1\x0b\xb9\xf2\xdc\ -\x8cD\xb2 \xe6\x05\xce\xff\x85\xfb\x1f\x10C\x80\xef&\ -\xadmO\xf7\xea\xe4\xd3\x84\x82\xd0\x03\xd4\xb0\xdd?\x09\ -\xfbke\x1d\xd0kP\x8e\xf6\xaet\xf8\x17\xec\x99\x8a\ -e\x9a!\xa2\xc9\x81\xb8njN\xd0Q\xaa\xa7bV\ -2\x99\x1f~\x0b\xcbs\x89\xf0 C,\x08\xbe\x03t\ -\x03\xef\x85\xde:\x99\x977\x90i.S\xc9d\xfb\x7f\ -\xe4U'Av\xdc#\x1e&\xeb\x80\x9er\x10/\x91\ -c\xceS\xf9\xf0O\xf3Y\xd0a\xe0\xbcA\x1fT\xa8\ -K\x07\xfd\xcd\xb8\xe9?J\xc85\xcc\xab\x1c{K\xc6\ -\xab\xd0\xb3\xe1,\xcbe \xbb\x0ah\x22\xf7\x89'\xd5\ -\x8f\xb32\xf4\x04\x9a\xe6\xa1\xde\x07\xe7\xe7g\xb9,+\ -\xe7\xee\x11y\xfb\xba$\xc4?\xe5\xa7\x87\xf3\x09\xf9:\ -\xf9o\xee\xa2\xf3\x16_\xe6\xfdu\x9c\xa3\x0b\xb5K\xcb\ -\xb4St\xb1,\x97w\xad\xdf\x9c{\xa7*\xe7\xfcC\ -/:[C2\xcb{\x93\xdcj@r\x12>P=\ -b\xe4\x9b\xef \x19\xfe\xe98\x1d\xf8\xdb\xcb;p\xfd\ -\xe2\xb2\xe6\x0c2\x04\xe2\xe0H\xa6\xcbm\x94\xea\x1f\xaf\ -\xa8\xfa\x9f\xd4:\xa1\x96\x0d\xd8x\xf2\xaa]\x0c\xcf\xc9\ -\xf4\xdcP\x11\xfa\x8c\xe4\xe7_\xcaX\x15\xf0\x8a2c\ -\x94\xfc\x1a\x10H\xaf\x93\xd7\xc0\xb91H\xee\x96\xe0=\ -\xd0\xf3\x9b\x9f3\x22\x97\xfe{\xba\x85\xf2\x18\xees\x03\ -\xbd\xcb\xb3n1\x0c\xe8\x0f%\xe3=O\x19\xf1\xdfL\ -j\xf9\x0cr\xa2\xa8\xd7\xa1\xf8g\x83]'\xed=X\ -Q\x03\xe7F\x80\xfeWl\xcf(9\x96\xed\xbb\x0b\xdb\ -\xd0)\xdb\xfac\xba.\x9fO\x81_\xfb\x9b\xd2\x7f\xe1\ -y\xa9\xce#q\x7fxN\xc2{\x99j\x18\x89\x5c\x07\ -\xaeiVa\xbd@\xca\x85\x7f\xa87\x01\xe7\xaa<\x03\ -\xdfQBzb\xa9:\x00Z\x1b\x9c\x1by\x0e|f\ -\x84u?~\xad\xa17\x81\xf8o\xb8\xc9_1O\x83\ -\x1c\x0c\xb0U!\x06\x09\xb1H\xfc\x1d\x0bm\xda\xffH\ -\x83\x05m\xdb\xa2gB\xdd\x15\xe8'\x0e}\xbe\xe1=\ -\xb2\xd4\xae)m\x80\x0e\x9by\xdeZ\x0e\ -;\x90\xcc]\x87i#\xd3s=\xf6K\xe6\xdc;\x89\ -{\x89s\xbeGQ5\xfcd\x88\xdf\x949\xd0\x9c\xa0\ -N\x1c\x0b\xf8\x93\x22\xe0\x9f\xaf\xa3\x87]*\xf7R\xd8\ -Q\xc1\xe2u\x00\x9a\xae\xe4a\x1f\xf3\x07\xe8K\xd0\xf7\ -\xbd\x04\xcf\x11\x87\x7fq\x83\xcb\xa5r\xb3*\x12\xcfb\ -F\xde3o\xda\xc7\xaf@\xfd\x7f@\x07@<\xaf\xbc\ -2\xaeT\x1d\x00\xd7\x80\x18+sM\xccb\xefCg\ -\x19t\xf0\x12\xef+/\xfe+i@\xadh\xa8\x11\xa8\ -p\xfd\xbf@\x07\xd87\xa1\xdc}\x8f(\x1d`\xb1h\ -\x1d\x00\xc9V\x88\xf3\xc8\xb3\xb7\x16\xe4\x92%o\xe8\x22\ -9\xffW\xa0\x01\xb8\x87z\xe1\x0a\xd9\xff\x0fx5\xda\ -Wiz\x1a`\xdf\x95\x98gJ{\xffE\xdc\x00\x9d\ -.I\x94\xdcTp\xfc\xffb\xdc\x97\x1f\xff\x00\xd6\xcd\ -\xc9\xdcP\xb7\xb2\x17\x83\xe4&\xf4\xea\x84:\xa7\xb9\x0f\ -\xceQ\xf9\x0a\xd6B\xbeK:\x1e\xce\xd7\xc7\xe55\xb2\ -o\xee\x14\xcdk\x14\x15\xffh\xaf\xf2\x9ezUF\xdd\ -\xf2\xf2\xe3\x1f\xe7\xac\x8b\xb8\xaf\x8ct\x02\x90\xe1\x18\xdf\ -\x88>\xe0o ?\x11\xd7g\x02\xbc\x8b\x8aY@\x1e\ -\x9cC7\x92\x93\xf8En[\x09w\xe22N\x89\xb9\ -\x13\xa7\x80\xf8\x87\x5c\x9el\xbf\xfd\xb8\x1eh%\xdce\ -\xe3\xe3_\xf2\xfe\xcf\xa0\xaf!\xbc\x82_\x1b|\x01\x90\ -\xc3\x086\x01\xe8\x85i{\xc7\xd1\xf8n.YL^\ -J\x9fBi\x03lq\xb1\xf1q\x05\xc3?\xd0}\x86\ -\x9b\x15\x95\xc7P9\xb1j~\xff\xe7r\xf4\x7f\xa7x\ -v\xc6\xd9e\xb8\xff!\xaeA[\x98\x87Q\xce\x1c\x0c\ -\xa8}\xe2e'\xd7=e\x7fyJ\x9f%\xd1\xb6\xa6\ -\x22\xe0\x1f\xfc\x9cy\xe17i\x1b\xa5R\xf3\x98\xf8\xfd\ -\xdfM\x10\xb0$\xff\x9e\xaeP\x8e\x85\xf0\xfcK\xcb\xd5\ -\x16\xf4\xc7\xe9\xe08=\xc8>\x90\x1b\x98\xa7\xc8\xe8\x03\ -\x86\xfb \xb8\x8f\xa7\xa8y+\x00\xfe\xc1w\x04>\xa5\ -\xc2\xde\x93\x95\x83w>\xb0h\xdc\xb7D\x10-\x97g\ -\xae\xd0\xc7>R\xf0\xb3\xe2\x5cNA\x80\xdfa\xff\xaa\ -@Lv9\xe5W\x82\xbb\x1c\x10\x03\x82z\x98\xe0K\ -\x07?\x1c\xc4\xb8\xf7 \x0a\xd2\x0eL\xa2{6T\ -\xfa\x1e\xfc\xa9\x90G\xe3\xb8\xf0\xec\x0b\xe1\xbf1\x82P\ -\xe9\x9f\xaf+$C\x85Aa\xed\xa1?\x05Bi\x1c\ -\x17\xc3\xbf\x10\x0d,@\x90\xaf\x00s\xad\x06\xf9B>\ -\x8d\xdb\x12\xb8\x17\xc2?\xd8\x05~\x0a0\xdfj\x90/\ -\xf8\xb1\x04l>QC\x80\x06\x86#HQ\x809W\ -\x83| \x85\xc6\xa9X\xdc\x0b\xe1\x1f\xfc\xc2\xbb\x15`\ -\xde\xd5 \x1f\xd8\xcd*\xf2\xf5\x8b\xc5\xbf\x10\x0d\xe8!\ -\x08Q\x80\xb9W\x83l\x10B\xe3\xb2L\xdc\x8b\xa0\x81\ -\x81\x08\xbe)\xc0\x1a\xaaA:\x88E0\xa0<\xb8\x17\ -\xc2?\x83E\xe9\x8c\xe9\x0a\xb0\x96j(\x1f\x00\xce\xe6\ -\xd38,\x17\xfe\x85h@\x15\x81\x03\xab\xda&\xacJ\ -\x90O\xe3LU\x1a\xdc\x8b\xa0\x81:\x08vT\xd3@\ -\x95\x80|\x1aWud\xc1}5\x0dTI\x90+\xee\ -\xc5\xd0\x80\x03\xabZ\x1fPDH\xa7q#W\xdc\x8b\ -\xa0\x01\x90)\xa0W\xc4*\xc0\x9a\xab\x81\x82X\x1a'\ -2\xc9\xfbr\xd0\x00\xe8\x94`WT\xfb\x07*\x1fB\ -h\x5cH\xa5\xe7\xcb@\x03|\x1f\x11\xf8\x96\xaa}\xc5\ -\xbf\x1eR\xe8\xbd\xd7\x13\xc4\xc9\xaf\x18B4\x00~E\ -\xf0-C|\xa1Z7\xacx\xc8\xa7\xf7z8K\xc0\ -\xa7\xfb\xabp_\x0a\x1d@l\x09|E\x10c\x962\ -\x87\xa4\x1aJ\x81\x13\xd5\xa3zT\x8f\ -\xeaQ=D\x0ef\xf1\x8fe\xf2\xd3\xe0\xe2\x9fK\xf0\ -\xe7\x98\xe2\x9f\xd5\x84?\x0b\xcb\x83\xb2\xe4\x87\xb0\xbc\x11\ -\x96G\xc2\xf2\xaa\x84<+6A\xe5\x92\xf2PX^\ -\x0a\xcbSay+,\x8fK\xc8kay^\x5c\xde\ -\xb7E?L\x09j\xdf\x19\x84>\xf5{\xf4\x8b\x96\x9d\ -(\x90t\x88\xd0[\xfeB\xd0\x17\xc1r\x04G\x11\xdc\ -D\x10TIp\x93\x9e\xc3rzN\x7f\xc9K\xc7\x12\ -z\x0e\xf8\xe0\x0d\x11\xaccQ~y\xb0\xdd9\xac\xca\ -\xb7)\xf9\xc0\xa1\xe7\x14B\xcf\xd1\x90%\x107(\xef\ ->\x08\xad]\x1f\x81\x13\x828\x05X\xa7\xa4\x10G\xcf\ -Y\xbf\xbc{ \xf0\xf7J\x08& x\xa5\x00\xeb\x91\ -\x16^\xd1kP\x92d\x0f\x04\xd6^\x13\x81-\x824\ -\x05X\x83\xac\x90F\xaf\xa5fi{ \xb4\xf6-,\ -E\xe8\x9d)?`\xd3k\x12\xb9\x07\xac\xe24o\xfb\ -\x9b\xad]p\x0flY\x22\xce\x82\xc0\xfa\xe1\xac\xfc\x0e\ -4/\x0e\xd2\xe85\x16\xae\x9fU\x9c\xcfWe^'\ -)\xbcb\x09\xc9\x05\x16%+\x9d*\x7fn\xbf\xec\xfe\ -\xbc\x13\xab\xb8~\x00\xfa\xc2/\x94\xef\xbaE\xb58\xa0\ -\xee\x06\xd4\xd2Z\xd9\x92\xaa1\x08}\x9c\xa0\xd6,\xfc\ -]\xc5\xf5\xfc\x8c\xa3\xd7\xcc_\xff\xfa_\xb2n\xbav\ -\x14\xf4\xd6\x84\x9a\x0a\x19\xee\xd6dN\xe0!\x5c\xdb<\ -?*\x88d\x7fzL\xb2\xdf?\xc0\xfdgr\x1f\x9c\ -\xc5u\x0f\xd3\x0eM\xc7\xf5\x94q\xcf;\x5c\x0bIn\ -{\xb1\x8eU\xa4\xcfWl\xbe\x0f\xae\x97\xa5\x87k\xf8\ -f\xdd\xd8\x86\xd7I\xf5Z)\xbb\xe7\x04\xd4\x97\x80\xbe\ -O\xb9\x0f\xddp\x0d\x02\xa8\xf5&\xa7}\x08a\x15\xd9\ -2\x15\x14\xcf\xd4\xa5\xeb'\x9a\xe2Z\x87\xd03C\x96\ -\x01\xf56\xf2\xdf\x06\xe1\x9aET}a\x99\xee\xdd'\ -\xb3\x8a\xec8\xf9\xdb2\xb8\xdec\x1b\x5coI\x9e\xb5\ -\xc0\xf1>\xe4e\xe3\x9a\xb0P\xb3I\x86\xda\x03\x1cV\ -\x91\x0d+\xdf\xb5\xa39A\x9d\xcb\xdcG\xe7\xe5\xda\x03\ -Cx@\xbd2\x5c\x1bSz\xfe\xc8\xb7\xdf\xe5\x8aw\ -\xa8\x87\x0a\xfc\xecW\x0c\xa8\xef\x96q\xd6B\xda\xf9\xf2\ -}\x17r[{\xf2\xa6^\xb8N\xe4\xaf\x1c\xd0\x97\x19\ -j\x9bIA\x07Ar[?\xd4\xe1\x5c\xdb\x11\xf7\x87\ -\x96xp\x0aHNR,\xc9~w\x9f\xcc}|\x91\ -\xcc\x09>\x81\xe5\x1e\xd4\xe0+\xf8\x16I\xd5\x84\x95t\ -\x0f\xd2~\x90i.\xff\x96\x97\x1f\xc8o\xfdH\x87\xc9\ -\xf6\xdf\x8ff\x22\x81L\xcb\xcd\xc4\xb5\xc2q\xdf{D\ -/T\xefJ\xbd\x22\xfc!\xfd\x07\xeaiA_\x1e\xa8\ -/\x0c\xfd\x02%\x19\x05q\x11\xf8y\xe5\x90\x0b\xf2Y\ -?\xd4\xfc?4C\xa2\x1eB\xec\xcfad\xfa\xd1Y\ -t\x8fF\xedR\xeb\xba\xf2u?\xa8?\x0c\xb4\xc1\xcb\ -\xcb,\xf3\xf9\xb9\x0f\xce\x88\xaf\x15^\x11\xeb\x07\xba\xb7\ -m\x8f\xf8\xdd\xbd\xd2'\xc6\xe5\x90\xb9\xa1\xeeT\xff\xca\ -\xf2\xea/\xb0G\xd6\xfa\xb8>\x7fY:\x04\x9c\x19\xd0\ -\x19%\xac\x9b)\xfb\xfa\xa1\xcf\xe7\x99\xa5\xa5\xcb9\x1e\ -\x17\xf7m\xa6\xfa\xc6K+\xaf)]*\xfd\xc8,\x5c\ -\x1b\xb8\xb4\x01\xfc\x03j\xc2J\xb0\xc72\xae_\x17\xeb\ -8e\xf5\xba\xc9{\xe9C\xd7\x11\x95C\x9d$\xf4\x8c\ -\x0c\xb7\xe5X\x17\x14\xbb\xdd9\x19\xa2\xfb\xe4\xca{\xfd\ -\xe8\xf9\xd03\x13\xd7\xdd\x1538I1d\x8a\xd3 \ -\x89\xeb\xb8JD\x07\xe8|C\xff\xa1\xd2\x06\xeeMU\ -\xb6<\x94y\xfdY\xd7\xb7\x95:\x8fl\x9f\xed\xf2\xaf\ -\x17\x8cd\x5c\xca\xb6\x81\xb8&\x9f\xb8\x015\x19\xa9^\ -\x83\xa5\xee\x81l\xebG6\x08\xf4\xb7\x12\x8f\xfbXJ\ -G\xaf\xa0z\xc9\xb9\xf7O\x8b}7\xf0A\xa83_\ -\x06\xddI\xbf~\xdc?\xfd\x1fl\x9b\x8a\x1b\xd0C\x07\ -\xfb6*`\xed\xb0.\xb0\x87\xc1>\x16\xbd\x01<2\ -\xf3\xbc\x8d\x98^\xe9rX?\x9c\xfd\x1dC\xb1\xee)\ -nd^\xb2-\xeb\xfd\xd2\x03\xe8\xda\xcc\x1e\xa5\xda\x96\ -\xa0\x8f\x95\xa1\x0f\xca\xb4~\xa8\x09.n\xff\xa1\xb64\ -\xfc\xbb\xfc\xf8\x9e0P\xb2\xa74[\x03\xf7M\x11\xec\ -\xcb!\xd7\xf5kc=\x0etx\x91\xeb\xcfJ!S\ -\x9d\x87W\xe0\xfa\x9ba=\x19\xf4hq#\xef\xc5\xf5\ -\xb2\xce_\x85\xad\x9f\x9b\x99\x8c\xce\xc7\x90\x8a\xad\x8d\x88\ -t\xc2\xbc\x17\xe2{,C\xbf\x95B_jE\xac\xff\ -\xf0L\x5c'_$\xfe\xa1o\xc7\xde\xf1\x15\x8b\x7f\x90\ -?o\xee\x8a_\xffS/\xcaoZ!\xeboJ\xf5\ -\xb8\xcd\x11c\xa3\x22}\x1f\xec\xbb\x8a\xe3\x7f\xba\xd8F\ -\x04;Y\xdc\xc8\x09:^q\xf2\x1f\xfc<\x9bz\x97\ -j\x8fH\xa8\x83I\x07\xb0\xff\xce#K\xd5=\xb3\xae\ -0+N\xfe[Q}G\xf2\x9e_\xc32\x08\xf4\x80\ -b\x80~\x07\xf4\x87m\x9e\x8a\x88\xeb\x80\xee\xe9\xed(\ -v\xed\xd0\xeb\x00\xf7\xe7\xac\xb0\xf5S\x00>\x9fd\xfb\ -\xae\xb8\xdfw\x09\x80~\xbd\xc2\xfdA\xe5D\xfb\xa0\xdb\ -\x16D?\x13\xbb~\xd0=\x93\xcb\xf6\x85\xc8\xbc\xfeB\ -?\x85E\x13\x04\xda\xc5\xfb\x06T\x18\xed\xeb\xe0\x1e\x06\ -\xa5\xf5:\xc1\xb2\xafl?\x88\xe4\xeb\x17\xd7\x0b\x01\xf8\ -\xc0\xd6\xfe\xd8\x07\x0b1-\x0a\xe7\xcd\x8b\xc7\xf7\xe4\xb9\ -\x0fp\xee\xb7\x0fA\xe7+Z\xec\xdaa_\xa0\x7f\x87\ -L\xf6\xefr\x81\x9a\xc7\xd0\xcbl\xa31\xd5\x83P\xf8\ -,\xc39\xbc\x016 \x0f\xf3\xa2\x82\xf8\xb7\xd8\xde\xcf\ -\xbe\xe5L\xa6\x9f\xfc\x0f\xdbi\xb8o\xcc\x0a=\xd9\xf7\ -\x01\xbd\x0bb\x81\xf9Q\xc1\xe2\xd7N\x92\xb8\x973\xee\ -\xe1(\xad\xfd\x8b\xe8\x06\xde\x03\xfa+\xac\x0d\xe2\x91`\ -\xc7C?\xd0\x12{\x8a\xf4+\xe8\x0d&\xfa\x10\xb2q\ -\x0f\x9d\x82\x98\x97d.\xb2\x85Rw\x8d\x94\xde\x16D\ -\xef\x05yS\x9a\xbd\x89\x07\x8fKf]\xb6\x93T\xef\ -*\xbe\xfe\xe5T\xads\xe8A\xc5\xf9\xf9\x19\xd7\xbb/\ -~\xa6\x84\xf4)>\x1f\xfa\xfa\xba\xf49a\x9a\xe4 \ -}qv\xd1\xfeI\x14\xd7\xa6i\x10\xf1P\x88\xf3\x14\ -\xc4\xbc(\xf35\x10[\x95\xac\x17\x97(\xfc\xeb\xe2\x18\ -<\xf4\xdf\x12\x89\xce\x9f\x9f\xa8X4\xff\xd9\xd07\x16\ -l\xc0\xcc\xa4\xb2\x97\x9f\xfa\x9d\xea\x93gI\xf5\x81K\ -;0\x19=\xab;\x89\xed\x93\x12\xfd8\xb4\xa9\xbfC\ -sI\xdb7\x1e\xc7~%\xf1-\xc3\xf9\x93@\xe6\x95\ -N\xff\x88>\xb3\xfd\x0f\x88~~\xbe\x90M\x07}\xee\ -O/.\xd97Y\xc4\xc0=\x12\xd6\xb4\xa3\xe2\xa2X\ -v=\xa7\xe2\xda\xa1\xe7\xc9L\xcf\xf5d\xfa1s\xbc\ -'\xe0\xbb\x05^\x0a=\xa7\xa0\xf7\x94$\xeb\xa66\x98\ -C\xf9\x9aJ\xd7w\xcb^?\xf8\x15\x8e\xcfE\xc8\x16\ -\xad\xd7g]\xdfZ\xb4~\xd8+4OI\x06\xf8\xeb\ -\x8a\xceL\xc7\x92\xfd\xe6\x11\xaf\xa0\xfaI\xe4\x89\xec\x03\ -X\xfa\xe0\xe1\xe7S\xfe\xe5r\xf1X\x91\xf8\x87~s\ -\xdc\x94\xaf\x22\xdfD\xf1\x80\x16\xd4\xd9\x04\xfb\x03\xf1F\ -IF\xa6\xe7\xba\xc23\x8f\xf1\x1f\x17Q\xf6\x97$Z\ -:\x0f\xd3Pao\xb2\xf2\xf1U\x91\xfc\x1fb3\x90\ -g\x80\x07\xf4AK\xfe\x8a}\xdc\xd9\xb7\xf7`\x1a\xc5\ -:\x1d\xf8_\x90\x8e\x07\xfd<\xcb\x9cb^6\xf5=\ -9\xaf\x1f|/9\x81\x87e\xf1\xad\xc3\xdaK\xc6\xbf\ -\xd1\x1c3\xce-\xc7\xb178\x0b)\x8e\xbd\xe9x\x15\ -_\xa7\xd1\xa5}\xdf\xa3%\xeas\xcda\xc5\x90\xc9L\ -\xe3B]H\x1e\xeb\x87\x98`\xe6\xf9\x95\xb2\xf6\x99\xe6\ -\xe7\xcf\x8b\xf87=\x81~Zz\x98\xbe`\xde\x18`\ -\xbf\xd1\xdf\x80\xae\x07}\xb4\xa8\x9e\x8d\x8f\xd0\x99\x89\x17\ -\xe9\x0f\x83\xd8\x18\x15\xe3l&\xf3\xfa\x81\xc7C\x1c-\ -\xc5i \x8ds\x99t*\xfe\xdd\x01\xf1\xf9/\xb4\x9d\ -\x9b\xff\xee\x1e\x96\xf3\x05_#\xb1\xcf\x89\xeaw\xa4S\ -\xc8\x0b\x81\xf7\x00\xdf\x009\x9duu\x13\x99\x17\xe6\x89\ -\xf5\x1e\xf0\x8f\xe6\xdcq)\xc2\x11\x7f\xfd\xa5\xd8\xed%\ -\x06\xe2\xed`\xcf@l\x1cb\xc2\x98\xff\xc8\xeeS\xe7\ -\xe7\xbf\x94\x9e\xff\x04\xeb\xdf6\xa0\x98\x8c\xe7$~\xc6\ -g\xbfd\xbfW\xc1>\x8e\x14\xcd@\xec\x87\xa2\xfd\xa2\ -\xbf\x85\xb3\x94\x89t\xb4b=\xfa\xd09\xc2\xfc?7\ -\x13\xef\x19\xce\x0b@2\x13\xd6\x0c\xba<\xee\x01Z\x98\ -\x03'\xd3\xba\xf9\xc0\xcf\x7f*=\xff\x8d\xbf\xfe\x0cV\ -\xd1\xfaA\x0f*\xb1~Q\xdf\xd5\x15\xdf/\x12~\x07\ -v\x05\xf4\xa8\xdbj\x8ay\x09\xf0\xc8\xd4\xbd\xe3\xb1N\ -\x05{\x86\xf5\x05\xf8[\xbeM)\x9fu\xf3\x81\x9f\xff\ -Vz\xfe#\xce_3\xc1k\xc68\xca\xcd\xc0zh\ -\xf2\x06\x89\xec\x8b\xb2Ad\x8f6\x1dy\x9c\xed\xb2`\ -=K\xc2\xfcW\xe0]\x80\x93\xd4]\xa30\xe0x\xe6\ -J\x89s\x0c\x14\x11\x84\xf3_\xcb\xce\x7f\xb6\x14\xc0\x91\ -\xe2\xf6?\x95\x14\x84\xf3\x9f\xff\xd8\xfc\xf7?\xfd\xfeC\ -\xf5\xfd\x97\xea\xfbO\xd5\xf7\xdf\xc4\xde\x05\xfb\xa3\xee?\ -\x8a\xd8\x83?\xee\xfe\xab\x98=\xf8\xa3\xee?\x97\xb2\x0f\ -\xbf\xdd\xfdw\xba\xcc\x00I\xd7?\xe0\xd7\xd9\xe1\xd7\xd3\ -\xe1\xd7\xd1\xe1\xd7\xcb\xe1\xd7\xc5\xe1\xd7k\xa8\xae{S\ -\xc9\x83I\xfd(\xc4G0\xf5\x93_\x1f\x83_\x07\x83\ -_\xff\x82_\xe7\xc2\x84\x8fw\xa8\x13a\x84\xc0\x9c\x10\ -\xa8\x13\xd1\xaa\xec:\x11\x22\xce\x85\x06\x82A\x086!\ -\xb8\x8e\xe0\x19\x82\x08\x16\xc5\x83\xe5\x09\x11\xf4\xb3\xaf\xd3\ -\xef\x1aD\xbf[b\xba\x171os\x04\x81\x08R\x7f\ -\x01\xaf\x12\x86T\xfa\xdd\xe6\xc2\xeb\x90`\xee=\x10\xf8\ -\x22(\xa8\x84y\x0bC\x01=\x97\x1e\xe2\xd6 4\xf7\ -\xc9\x08b\x14`\xde\xc2\x10C\xcf\xad\xd8\x1aD\xcc\x9d\ -\xa5\x00s\x15\x07,\xe15\xb0\x8a\xd3\x8c\x22\xee\xbb(\ -<\x14\xa3%\x16u>|\x15`n\x92\x82/\xab\xf8\ -\x99\x863.\xdf\xb3Z\xccw\xa6#\xe4O\xd3&%\ -\x8b3\x8b\x85\x02z\xce\xfc\xbd\x0f\x94\xcf\xbc\xe9\xb8\xf6\ -\x0a}\x9cW\x011\xdb\xac+\x0ed\xce\x9dC\xd8\xdf\ -\x9bs\xff\x14\x99\xed\xbb\x1b\xdf\x8f\x06\x7f[a|G\ -:\xbfS \xabH6\xc9\xce\xdf\xd1\xbc!\xef\x16\xe6\ -\x9c\x1bv\x11\xc7vx\x05yb\x82\x15<\x92\x97\x93\ -F\xb2\xbf<%\xb3|\x9c\xb0\x1fU\x8a\xbc\xa0TV\ -\x91\x5c\x95m\xcf\xd1{S\xf7\x8c\xc1\xf1\x8b\xd2\xee\x8f\ -\x88\x1b\xe0\x93\x87|\x10|\xaf\xa0|y\xad|\x9d@\ -J\x1a\xa7b\xad\x10'\x87{~\xb2\x0d\x1e\xce\x9f\x01\ -\x7fn9\xe8\x89\xaf\xcfH5w\xf0\x1fC.\xbaX\ -:\x91b@\xdc5m\xffDI\xd7\xc0\xd7\xc5\xca?\ -\x7f\xeb\xe68\x97\xa9\xb4\x5c3\xbc\xab\xec\x5c\x9c\xe3\xc1\ -\xcf}\xc4\xf7\x02\xca\x88\xe3\xc3\xdf\xe2\x9c\xa0\xb2i\x89\ -\xafG\x96s\xefu\xf0\xbdX\x88?\x8b\x9f\xc3'\x1c\ -\xe7\x85\xbc\x0b\xb8\xab\x02yS\x90\xe3\x02\xb9\xdbp\xcf\ -\x0a\x9f\x95R\xee\xa1\xb2?=\xa2cA\xa5\xae\xe1U\ -\xb9\xe7O\xe7!\x88\x8b\xaf\xc3\x9ar\x82\x8e\x15\xdd\xf7\ -,\x96w(\xc0\xff\xd1\xb9I?2\x13\xf1\xa0'b\ -\xd7\x00\xeb/\xe3\x9e@\xf9\xe7\x8f\x00\xf8\xb9\xc8\xb9g\ -\xa7\x91\x99\x1e\xab\x0b\xf3\x08\xca|\x16\xce{\xeb\x8ep\ -\xe1#\xf2y\x90c\x06\xb9\x87\xa5\xc4\x06\xcb7\x7f\xfa\ -\x0e;'9\xae\xe4\xdc\x0b\xf2\xa9<8\xfc\xb7\xe5\xe0\ -\xe3\xb0\x06\xfb\x7fH\xf6\x87\x07\xa2q\x10|B~\xfb\ -\x8f\xde\x95yi\x9d\xc8\xf7@^(\x8e\xc5K\xa3\x13\ -\xc0\x9d\x97}\x13D\xe6{Q\xb9a\xdd\xc5\xe1\xb3|\ -\xf3\xb7n!\xf2^\x07\xc4\x1f\x0b\xf3H\xca;w>\ -\xac\xd0\xc3:F\x89\x81\xf0\x0a\xb9\x1eb\x9e-\xf9\xfc\ -!/\x1f\xf1\x10\xce\x8f\x92\xe7\x16\xee\xb9\x83\xee S\ -\x5c\x13\xdf\xb5\x9e^\x227\x11\x06\xe8L2\xcf\x1fr\ -\xfa\xb6\x0f\x11y\xaf+\xdbo\xbf\xec\xf1w|o\xae\ -\x1b\xce\xaf,A\x9bO/\x8b\xcb_+\xc7\xfc)\x1a\ -\x15\xa5\xdfd^(\xf3>\x9c\x04@\xe7H\x22\xbe/\ -< G\x0a\xe7\xe3\xc8:\xff\xfd\x93\xf0\xfd\xb1\xe2\xc4\ -\xcf\xa5j<\xc8\xe1>\x09\xce\xef\x12q_\x9d\xfd\xee\ -\x1e\x95\xe7$\xe3\xfc!\x87\x81\x97\x97Ur\xff/\xad\ -\x95\xcf\xfe\xafi\x87u\xea\x12\xfb\x1f\x19 \xfb\xfe\x8b\ -\xc8w\xe1\x8f\x9c{'e\xcfy\xc0\xf9D\xbdpN\ -\x9d\xf0\xa0\xee\xeb\x89\xfc^\xb9\xf8\x0f\xe4W\xe6G\xde\ -\xc1\xb6\x09\xbe\x9b\x02\x80\xfe\x1f\xf2\xb4\x81ve\xe3?\ -\xdad\xfa\xa9\x85\x22\xef\xfbg]\xdb\x22;\xff\x01\x80\ -\xdc\xa1\xf5\x9d\xa9;$p\xb7\x04\xc9M\x0c\x90s\x22\ -\xd3}\x12]L\xdf\x90\x9f/\xf8\x1e\xce\x19\x17:c\xf9\xaf\ -\xfdp\xce\x1b\xf0\xe5\xack\x9b\xb1\x1e\x09:2\xce\xb3\ --_\x9e1}_x\x98H\xb9\x08#\xfb\xe6\x8e\xd2\ -t\xc1b\xf3\x07\x19\x0awKA\x87\x843S\x10\x1f\ -\x85u\xe1bg\x0c\xe9o\xdc\xb4\x84\xe28F\xf6\x17\ -\xd8(\xec\xcfO0\x0d\x17\xe1\xa2\x14|\xd0~\x07\xb8\ -\xeb\x07w\xeaE\x0d\x90e8?M\x92\xf9\xc3>\xec\ -\x1c^\xe2\xee~A\xec+:\x87W\x97\xbe\xdb=\xab\ -T{\x11\xdf\xed\xb6\xd0\xc6x\xc2:\x85\xa0\xbfG \ -O\x15\xceM\xd6\xd5\x8d\xe2k\x05p9d\xe6\xe5\x0d\ -\x92\xdb/X\xbf)\x99\xf7\x0by\x99p\x1f\x8f\xff~\ -\xe0\x05\xe2\x06\xe8q\x90\xef\x96\xb8L\x0b\xd9XVX\ -nfyo\xc2k\x06\xff\x04\xc8o\xb8;\x095\xd3\ -\x00\xb7\xa5\xd9\x91\x14O+3\xef\xbb8\xfd\x8b\xb9\xb3\ -\x02\xb5\xca\xf0\xbe\xc1\xbf?\xbd\x22\xf6\x9d\x9c\x84\xf7\xd4\ -\xfd\x1at\x9e!\x8f\xb1p]H\x87\x84\xfcE|>\ -%\xb9\x13\xf0>\xa4(/\xb8\xf4\xf3\xc3\x8f{\x14\x9e\ -%\xb0A\x0a\xdf\x8b\xecS\xc8\xa3\xc4\xfa\x0d\xdc/X\ -\xdbQ,\xad\xc2\x80\x9cu\x9c\xbf\x86\xd6\x0a\xb8\x97f\ -\xe4\xbf\xbd[\x16\xcd\x0b\x02?fC\xcf_\x07\xf3\x82\ -\xdcG\x1eh\x1d\x0e\xf8lQw\xab\x9a\xe19\xe1\xda\ -\x16\xe9?\xc5\xbe;\xdboo!\x8d\x97w\xfe\xa0\x97\ -@-\x1a\xea~\x94\xc4\xfe\x1f~\xbc\xa9\xe8w\xc0\xff\ -VPwW\xc0\xee\x815\xa4\xee\x1d\x87\xcf\x1b\xf8+\ -3\x5c\x17\x93\xd9\xc8\xae\xc69\xae\x90;)\xe0C\x00\ -\x1e\xce\xbf\xf3\x92\xe9eW\xcal\x05\xe6\xcd\xce\xc3\xf4\ -\x82m\x94\x95\xe5\xce\xff\xe5\xc7\xcaD\xf27\xb8\xc3\x01\ -\xf2\x0f\xe8\x16\xdf\x99\xb5\xd0.\xba\xbb\x079\xaahM\ -\xb0\xb6\xcc\x0b\xab\xf0\x9a\x0a\xf1\x0e\xf2\xe8\xf4b|\x07\ -\x18\xe7}\x0b\x9eSn\x01>\xe7@\x97\xc0\xa3\xa1f\ -a\x92\xad\xa1\xb4\xf6\x03?\xceW\xd2\x7f\x8b\xe6\x01\xbc\ -\x9f?\xc0?YB\xc7,\xbc\xcbW\xb2\xde\x14\xe8\x03\ -8o\xfb\xe0T\x5c_\x09x\x00\x9c#\xb8\xbb\x07\xbe\ -g|\x9f\x91\x9fw,\x9d\xee\xc7\xf7\xdf\x8a\xf6\x9f\xa3\ -\xf9\x00\x0f)\x88\x0dG\xf0\x12\xdf;(\xf7\x1e\x15\xf3\ -\xf7\x0b\x82\x5cj\xa7\xf2\xfd\xe7b\xe3\x17Pk\x09p\ -\x8bA\xb4\xfdPY \x18\xbf(=~T\x91\xf7u\ -\xa5\x07\xe1\xf8\x11?~W\x15zt\x8b\x8a\xdfU\xd9\ -\xf8iU\x8f_\xff\x0e\xf9\x03\xbfC\xfeFU\xcd\x9f\ -\xc1yD\x1a\x04\x11\x03?\xd5\x08\x22\x18~*\xd3\xf9\ -G\xd5Y`2\x0f&\xfc\x87Q\xb4\xaf1\xf0S\xad\ -h\xdf!OK\x9f\xa0z\xfa\x14\xe6ii\x8a\xce\xd3\ -\x12\xc2e\x0d\x16\x95\x1b\xb8\x07\xc1c\x16\xc5\x1f\xbeJ\ -\x091\xf43\xf6\xd0\xcf\xac!L3B\xefn\x8e\xe0\ -\x10\x82\xc4\x0a8w\x89\xf4\xb3\x9b\x8b8K\x00\xffC\ -\x10V\x01\xef\x15\x860\xfa]\xc2\xeb\xfe\x15\xef\x16\x9c\ -\x03\x7f\x1fj\xd0\xfbR\xceg\xe8\x8a\xd6!%\xb73\ -\x0e\xb1\x8ahMr|\xd3\xbayaM|d\x1b\x81\ -\x9f\x18|;\xe9\xc7\xe6P9\x13\xe0\xd3-\xbbfj\ -\x22\xab\x88\xce%{7\xc4\xe4\xd6\x1b\xe1\xbc\x02\x5c\x93\ -\x1ej\x09\x09\xda\xedP\xbf\x22-\x01\xc7\xa2\xc0\xee\xc2\ -\xbam\xe9\xfb\xc1?c\x12\xac[\x07\xfb9\xe0\xbd\x12\ -\xd5\xc1G\xf6\x19\xd8\xcbP\xf3\xae\x949\xf0\xcfw\x99\ -\xefN?6\xbb\x14\x9f\x10W\xec\x9c\xa0\xde\x5c)v\ -?\x9f\xb7\x94\xb2\xe7:\x18\xcf\x90K\x22\xbc>\xf0)\ -\x80\x9f\x11h\x00\xd7@\xf0\xdfO\xf91\x84\xfc?P\ -\x03\x04|\x1c\x22\xf4\xf5\xaf\xa5\xbf_\x17\xfb\x8a\xc0\xaf\ -)8\xc0\x7f\x07\xef\xa4\xfch\xc5\xed'\xb0\xff\xc07\ -Y\xbc\xce\x17\x8f\xcc\xba\xbe\xa5\xfc\xef\x07\xbf\xde\x89y\ -\xc5\xfcz\xb0\x0f\xa9\xb8N\x9a\xb6h\xfa\xa6\xf7\x19h\ -T\xf0n5\xcc9ycOa<\x94\xfe~\xf0k\ -\x85y\x0a\xe0\x99C\xc7d\xca\xb07\xe9\xfc\x1b\xa8g\ -U\xb4\x05<\xea\xfey\xf1\xef\x8a\x7f?\xf8\x0d\xd1^\ -\x82?\x80?\x0a\xbeGIZ\xa7\x86\x8a\x8b\xb9\xfc[\ -\xcc\xf7-\x22^\x22\xfe\xfdP3\xd5i`\xb1\xb8N\ -\xde\x93\xcbd\x19y\x0f\xc5\xe7\x0f~\xcf\x9f\x9f\x04\xce\ -\xc2\x03:\x9e+\xc9\xfb\x9bb\xba\x17\xac\x17\x00\xfeM\ -\xc9\xf9\xab.\xb6\xaf\xe1Ny\xe1\xfe\xc5\xbc\xc0|S\ -\x80nJ\x7f\xff\xf6!\xc5\xea\xa5\xe5>\xf6\x90\xf0\xdd\ -\xf4\xfa\x11\xaf\x14\xc4\x1f\xc4@\x85\xe2I\xa5\xe3\x1f\xed\ -\x1f\xf0\x0f\xa0y\xc8\xad\xc0\xb9\x08\x92\xc6\xa3p\xbd\xbd\ -1\xc5\xf6/\xef\xd9\x15\xe18\x84\x88\xf7\x0b\xd8\xf5\xe8\ -o\x81\x06!\xbf\x07\xe7\xf9@\xcc\x03\x7f_2\xbb_\ -\xd0\xcf\x04CD=\xa4\xa2\xf7\xf3{\xbd ~S\x18\ -[\xa1c\xeb\xe0\x7f\x84\xfc\x0c\x88\xf3\xe2{\xde6\xad\ -K\xc5;U\x93eN1\xdc\x81\x5c\x02?\xa9\xc8\xf3\ -\x0fy~;\x86\xe2\xde2 _\xf2^\x5c\xa3\xe8\xd4\ -B\x9b\xaa\x1b\xc6?\xc2\xe8,A\x1c2\xeb\x86\x13Y\ -8g\xe1\x18\x02:\xf7\xe0\x8b\x17\x96\x15\x98vK\xc6\ -\x80\xa8\xf7C]\x1c\xc4\xbf\x0b\xe7\x9a\xfe\x83\x92\xe3\xe8\ -\x99\xa2r/ 7\x12\xe2\x18\x10\xa7\x009\x0b\xf1\x11\ -\xf0\xbd\xc13\xa0\x86\xa5p\xfe\x16\xf8\xcaD\xf0>\x81\ -\xf5\xf3\xcf:\x95\xc3\x00\xfc\x16\xea\xeb\x80\xfc\xc6\xf2V\ -`\x80\xcf\x1e\xeaxB\x0c\x0c\xd7\x92E<\x11\xf2\x93\ -\xb0\xbfVD\xdc\x01\xf2\xc5\xc0\x17*&g\x8d\xd6\x91\ -\xa9\xda\x80\xb9\xf7]1\xae3\x5c\x17b\xff6\xe4\xba\ -B\x1cVp\x80\x9f\x1bbU\xc9\x1b\x8c\x8a\xf1\x16Q\ -\x03\xea2\xc1\xbe\x94\xc23\xf8\xfa9\xf5\xd9\xba\x05\xf6\ -E\x83\xdf\x16x5\xd0>\xaeOq}+>;\xd0\ -?\x04\xe2\xc4\x98F\x817\x8b\x88\xcd\x81\xdf\x19jU\ -\x80\x5c\x869\x96\x91\xab\xc7\xb7\x0d\x8ax.Z\x1b\xd4\ -\x82\x85\xb8\x1b\xce\x0f\x82\x18(\x9d\xfb\x0by\xa4\xb8\x9e\ -\x14\xf0`\xc8SC4\x9e\xed\xbb\x0b\xe7\xffB\xedJ\ -\x1cs<<\x93\xf2\xc1JVG\x8eo\x97$\x16\xf1\ -\xac\xce\xb8n\x0d\xc8p*\x8fX\xe0\x19\xc2>?\xc1\ -\xfb\xed\x82y\xd5\x92\xf9\x05\xf9\xfagI\xfd[\xfa\xdc\ -\xe5\xf2\x00_\xff\xe6\xdb\x1fO*\xf8}\x82 h\x7f\ -(\x82\xfdUi\xf6ge\xdb\xdf\xccJ\xf4\xc6\xc0\xbb\ -\xc1O\xa1IP\xbe\x8aB?E\x8d\x92~\x0az\xce\ -\x0d\x100\x11\xbcG\x90\x8e C\x0c\xa4\xd3\x7f\xc3\xa4\ -\xbf\xc3\xff\xee9\x04\xdc\x12\xb8\x11\x7fv\xb9\xf4w\xf8\ -\xef\xe5\x96\xf8\x1e\xe4C >\x0du\xe7 \xa6\x07\xf9\ -'B|\x82+0\xe7b\xdf\x858\x19\xd4\xbc\x05\xdd\ -\x06\xc7\x82\xe9\xdeeX\xbe\xad-\xc6{\xf8\xeb-\xe4\ -C\xa0\x8f\xf0\xfbH\x80L\x86\x5c\xd7\xfc\x08\xbf\xc2\xba\ -3\xa0\xeb\x0a\xd4\x92\xe5\xefU\xe1\xf7!\xf7\x0f\x06<\ -\x03\xea\xc9\xe0\xba\xd7\xd6\xcd\xb1\xbc\x80\xb8\x92\x90\xbe\x9e\ -Q\xf8\xfd\xc2zDo\xb0n\x8c\xf3\xe2-\x04\xe2g\ -\x88_S\xb9\x08\xf9T~\x1b\x15\xdf\x11\xf8>U\x1f\ -\x06x<\xe4d\x95\xc8o\xc49\x08]q\xfdH\x88\ -\x9b'Q9*E\xdf\x07\x1b\x0b\xed7\xd4\xc3\xc3}\ -;\x84\xeb\xe5\xf2\xeb\xb1!\x1d\x02rQh\x1eN}\ -\x1fz\x06B\xdcxe\x0b\xec+H?\xb5\x80\xea\xaf\ -\x22X\xbb\x13\xfd?U\x9f\x93\xc4u\x04i}\x1f\x7f\ -\x1f\xf0\x022\x15\xea{\x81M\x08\xf8\x02\x9d\x18\xea\x99\ -\xa6\xee\x1c\x86\xf5\xf5\xec\xdb{q\xcc\x98\x9b\x9e\x88\xf5\ -OZ\xfee\xa0\x9f\xe9`\x93\xc1\x9cqn\x08]\x03\ -\x12\xf2xA\xbe\xc2w\xf89p \xfb\xa0G\x8a\x00\ -\xbdP\xf4\x8c\xf0\x93q\xde\x1a\xe7\x99C>\x04\xe8f\ -\xd0O\x03\xe4 \xc4z\xa1\x87\x16\xc4[\xa9\xbb\x0a\xc5\ -\xe8\x98:\x0b\xcbu\xb9)\xdb\x07Sz\xa0`\xcc\x16\ -\xeau\x01\x9e\xf8=\xe2\x8a\xcb\x1e>\xfdR\xe7g\xb9\ -\x0e\xb7\x1c\xb2I\xf0\xfc\xc8t~e\x1d\xff\x07\x9d\xab\ -\xf3\x85\ -\x00\x00_\x84\ -I\ -I*\x00\x08\x00\x00\x00\x17\x00\xfe\x00\x04\x00\x01\x00\x00\ -\x00\x00\x00\x00\x00\x00\x01\x03\x00\x01\x00\x00\x00`\x00\x00\ -\x00\x01\x01\x03\x00\x01\x00\x00\x00`\x00\x00\x00\x02\x01\x03\ -\x00\x04\x00\x00\x00\x22\x01\x00\x00\x03\x01\x03\x00\x01\x00\x00\ -\x00\x05\x00\x00\x00\x06\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\ -\x00\x11\x01\x04\x00\x01\x00\x00\x00@T\x00\x00\x12\x01\x03\ -\x00\x01\x00\x00\x00\x01\x00\x00\x00\x15\x01\x03\x00\x01\x00\x00\ -\x00\x04\x00\x00\x00\x16\x01\x03\x00\x01\x00\x00\x00`\x00\x00\ -\x00\x17\x01\x04\x00\x01\x00\x00\x00\x17\x0b\x00\x00\x1a\x01\x05\ -\x00\x01\x00\x00\x00*\x01\x00\x00\x1b\x01\x05\x00\x01\x00\x00\ -\x002\x01\x00\x00\x1c\x01\x03\x00\x01\x00\x00\x00\x01\x00\x00\ -\x00(\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\x001\x01\x02\ -\x00$\x00\x00\x00:\x01\x00\x002\x01\x02\x00\x14\x00\x00\ -\x00^\x01\x00\x00=\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\ -\x00R\x01\x03\x00\x01\x00\x00\x00\x01\x00\x00\x00\xbc\x02\x01\ -\x00\xfa8\x00\x00r\x01\x00\x00I\x86\x01\x00\x8c\x0d\x00\ -\x00l:\x00\x00i\x87\x04\x00\x01\x00\x00\x00X_\x00\ -\x00s\x87\x07\x00H\x0c\x00\x00\xf8G\x00\x00\x00\x00\x00\ -\x00\x08\x00\x08\x00\x08\x00\x08\x00\x00\xf9\x15\x00\x10'\x00\ -\x00\x00\xf9\x15\x00\x10'\x00\x00Adobe P\ -hotoshop CC 2015\ -.5 (Windows)\x00201\ -7:03:08 11:38:26\ -\x00\x0a\x0a \x0a \ -\x0a pain\ -t.net 4.0.9\x0a \ - 2017-03-0\ -7T11:32:29-08:00\ -\x0a 2017-\ -03-08T11:38:26-0\ -8:00\x0a <\ -xmp:MetadataDate\ ->2017-03-08T11:3\ -8:26-08:00\x0a \ - image/tiff\x0a \ - 3\x0a \ - sR\ -GB IEC61966-2.1<\ -/photoshop:ICCPr\ -ofile>\x0a \ -\x0a \ - \x0a \ - adobe\ -:docid:photoshop\ -:94a27cdb-0433-1\ -1e7-b02d-9f84d9f\ -5a326\x0a \ - \x0a <\ -/photoshop:Docum\ -entAncestors>\x0a \ - xmp.iid\ -:d3f831c7-1693-8\ -248-a9a0-2c4f91d\ -81b49\x0a \ - adobe:docid:\ -photoshop:c7bad1\ -dd-0436-11e7-b02\ -d-9f84d9f5a326\x0a xmp.did:a36\ -4ea4e-2280-ea40-\ -ae73-10beb7a78ae\ -8\x0a \ - \x0a \ - \x0a \ - \x0a \ - <\ -stEvt:action>cre\ -ated\x0a \ - xmp.iid:\ -a364ea4e-2280-ea\ -40-ae73-10beb7a7\ -8ae8\x0a \ - 2017-03-07\ -T11:32:29-08:00<\ -/stEvt:when>\x0a \ - <\ -stEvt:softwareAg\ -ent>Adobe Photos\ -hop CC 2015.5 (W\ -indows)\x0a \ - \x0a \ - \x0a \ - saved\x0a \ - <\ -stEvt:instanceID\ ->xmp.iid:d3f831c\ -7-1693-8248-a9a0\ --2c4f91d81b49\ -\x0a \ - 2\ -017-03-08T11:38:\ -26-08:00\x0a \ - Ado\ -be Photoshop CC \ -2015.5 (Windows)\ -\x0a \ - /\x0a \ - \x0a <\ -/rdf:Seq>\x0a \ - \x0a \x0a \ -\x0a\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a\ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a\ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a\ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a\ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a\ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a\ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a\ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \x0a8BIM\x04\ -%\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x008BIM\x04:\x00\x00\x00\ -\x00\x00\xe5\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\x00\x00\ -\x0bprintOutput\x00\x00\x00\x05\ -\x00\x00\x00\x00PstSbool\x01\x00\x00\x00\ -\x00Inteenum\x00\x00\x00\x00Int\ -e\x00\x00\x00\x00Clrm\x00\x00\x00\x0fpri\ -ntSixteenBitbool\ -\x00\x00\x00\x00\x0bprinterName\ -TEXT\x00\x00\x00\x01\x00\x00\x00\x00\x00\x0fpr\ -intProofSetupObj\ -c\x00\x00\x00\x0c\x00P\x00r\x00o\x00o\x00f\x00\ - \x00S\x00e\x00t\x00u\x00p\x00\x00\x00\x00\x00\ -\x0aproofSetup\x00\x00\x00\x01\x00\ -\x00\x00\x00Bltnenum\x00\x00\x00\x0cb\ -uiltinProof\x00\x00\x00\x09p\ -roofCMYK\x008BIM\x04;\x00\ -\x00\x00\x00\x02-\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\ -\x00\x00\x12printOutputOp\ -tions\x00\x00\x00\x17\x00\x00\x00\x00Cpt\ -nbool\x00\x00\x00\x00\x00Clbrbo\ -ol\x00\x00\x00\x00\x00RgsMbool\x00\ -\x00\x00\x00\x00CrnCbool\x00\x00\x00\x00\ -\x00CntCbool\x00\x00\x00\x00\x00Lb\ -lsbool\x00\x00\x00\x00\x00Ngtvb\ -ool\x00\x00\x00\x00\x00EmlDbool\ -\x00\x00\x00\x00\x00Intrbool\x00\x00\x00\ -\x00\x00BckgObjc\x00\x00\x00\x01\x00\x00\ -\x00\x00\x00\x00RGBC\x00\x00\x00\x03\x00\x00\x00\x00\ -Rd doub@o\xe0\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00Grn doub@o\xe0\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00Bl doub\ -@o\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00BrdT\ -UntF#Rlt\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00Bld UntF#Rlt\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00Rslt\ -UntF#Pxl@b\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x0avectorDatabo\ -ol\x01\x00\x00\x00\x00PgPsenum\x00\ -\x00\x00\x00PgPs\x00\x00\x00\x00PgPC\x00\ -\x00\x00\x00LeftUntF#Rlt\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00Top U\ -ntF#Rlt\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00Scl UntF#Prc@\ -Y\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10cropW\ -henPrintingbool\x00\ -\x00\x00\x00\x0ecropRectBott\ -omlong\x00\x00\x00\x00\x00\x00\x00\x0ccr\ -opRectLeftlong\x00\x00\ -\x00\x00\x00\x00\x00\x0dcropRectRi\ -ghtlong\x00\x00\x00\x00\x00\x00\x00\x0bc\ -ropRectToplong\x00\x00\ -\x00\x00\x008BIM\x03\xed\x00\x00\x00\x00\x00\x10\x00\ -\x90\x00\x00\x00\x01\x00\x01\x00\x90\x00\x00\x00\x01\x00\x018\ -BIM\x04&\x00\x00\x00\x00\x00\x0e\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00?\x80\x00\x008BIM\x03\xee\x00\ -\x00\x00\x00\x00\x0d\x0cTransparen\ -cy\x008BIM\x04\x15\x00\x00\x00\x00\x00\x1e\x00\ -\x00\x00\x0d\x00T\x00r\x00a\x00n\x00s\x00p\x00\ -a\x00r\x00e\x00n\x00c\x00y\x00\x008BI\ -M\x045\x00\x00\x00\x00\x00\x11\x00\x00\x00\x01\x00\x00\xff\ -\xff\x00\x00\x00\x00\x00\x00\x00d\x01\x008BIM\x04\ -\x1d\x00\x00\x00\x00\x00\x04\x00\x00\x00\x008BIM\x04\ -\x0d\x00\x00\x00\x00\x00\x04\x00\x00\x00\x1e8BIM\x04\ -\x19\x00\x00\x00\x00\x00\x04\x00\x00\x00\x1e8BIM\x03\ -\xf3\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x01\ -\x008BIM'\x10\x00\x00\x00\x00\x00\x0a\x00\x01\x00\ -\x00\x00\x00\x00\x00\x00\x018BIM\x03\xf5\x00\x00\x00\ -\x00\x00H\x00/ff\x00\x01\x00lff\x00\x06\x00\ -\x00\x00\x00\x00\x01\x00/ff\x00\x01\x00\xa1\x99\x9a\x00\ -\x06\x00\x00\x00\x00\x00\x01\x002\x00\x00\x00\x01\x00Z\x00\ -\x00\x00\x06\x00\x00\x00\x00\x00\x01\x005\x00\x00\x00\x01\x00\ --\x00\x00\x00\x06\x00\x00\x00\x00\x00\x018BIM\x03\ -\xf8\x00\x00\x00\x00\x00p\x00\x00\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x03\ -\xe8\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x03\xe8\x00\x00\x00\ -\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\x03\xe8\x00\x00\x00\x00\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\x03\xe8\x00\x008BIM\x04\x00\x00\x00\x00\ -\x00\x00\x02\x00\x008BIM\x04\x02\x00\x00\x00\x00\x00\ -\x02\x00\x008BIM\x040\x00\x00\x00\x00\x00\x01\x01\ -\x008BIM\x04-\x00\x00\x00\x00\x00\x06\x00\x01\x00\ -\x00\x00\x0a8BIM\x04\x08\x00\x00\x00\x00\x00\x10\x00\ -\x00\x00\x01\x00\x00\x02@\x00\x00\x02@\x00\x00\x00\x008\ -BIM\x04\x1e\x00\x00\x00\x00\x00\x04\x00\x00\x00\x008\ -BIM\x04\x1a\x00\x00\x00\x00\x035\x00\x00\x00\x06\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x00\x00\x00`\x00\ -\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00`\x00\x00\x00`\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\ -\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00null\x00\x00\ -\x00\x02\x00\x00\x00\x06boundsObjc\ -\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00Rct1\x00\x00\ -\x00\x04\x00\x00\x00\x00Top long\x00\x00\ -\x00\x00\x00\x00\x00\x00Leftlong\x00\x00\ -\x00\x00\x00\x00\x00\x00Btomlong\x00\x00\ -\x00`\x00\x00\x00\x00Rghtlong\x00\x00\ -\x00`\x00\x00\x00\x06slicesVlLs\ -\x00\x00\x00\x01Objc\x00\x00\x00\x01\x00\x00\x00\x00\ -\x00\x05slice\x00\x00\x00\x12\x00\x00\x00\x07s\ -liceIDlong\x00\x00\x00\x00\x00\x00\ -\x00\x07groupIDlong\x00\x00\x00\ -\x00\x00\x00\x00\x06originenum\x00\ -\x00\x00\x0cESliceOrigin\x00\ -\x00\x00\x0dautoGenerated\ -\x00\x00\x00\x00Typeenum\x00\x00\x00\x0a\ -ESliceType\x00\x00\x00\x00Im\ -g \x00\x00\x00\x06boundsObjc\ -\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00Rct1\x00\x00\ -\x00\x04\x00\x00\x00\x00Top long\x00\x00\ -\x00\x00\x00\x00\x00\x00Leftlong\x00\x00\ -\x00\x00\x00\x00\x00\x00Btomlong\x00\x00\ -\x00`\x00\x00\x00\x00Rghtlong\x00\x00\ -\x00`\x00\x00\x00\x03urlTEXT\x00\x00\x00\ -\x01\x00\x00\x00\x00\x00\x00nullTEXT\x00\ -\x00\x00\x01\x00\x00\x00\x00\x00\x00MsgeTEX\ -T\x00\x00\x00\x01\x00\x00\x00\x00\x00\x06altTa\ -gTEXT\x00\x00\x00\x01\x00\x00\x00\x00\x00\x0ec\ -ellTextIsHTMLboo\ -l\x01\x00\x00\x00\x08cellTextTE\ -XT\x00\x00\x00\x01\x00\x00\x00\x00\x00\x09horz\ -Alignenum\x00\x00\x00\x0fESl\ -iceHorzAlign\x00\x00\x00\x07\ -default\x00\x00\x00\x09vertA\ -lignenum\x00\x00\x00\x0fESli\ -ceVertAlign\x00\x00\x00\x07d\ -efault\x00\x00\x00\x0bbgColo\ -rTypeenum\x00\x00\x00\x11ESl\ -iceBGColorType\x00\x00\ -\x00\x00None\x00\x00\x00\x09topOut\ -setlong\x00\x00\x00\x00\x00\x00\x00\x0al\ -eftOutsetlong\x00\x00\x00\ -\x00\x00\x00\x00\x0cbottomOutse\ -tlong\x00\x00\x00\x00\x00\x00\x00\x0brig\ -htOutsetlong\x00\x00\x00\x00\ -\x008BIM\x04(\x00\x00\x00\x00\x00\x0c\x00\x00\x00\ -\x02?\xf0\x00\x00\x00\x00\x00\x008BIM\x04\x14\x00\ -\x00\x00\x00\x00\x04\x00\x00\x00\x0d8BIM\x04\x0c\x00\ -\x00\x00\x00\x043\x00\x00\x00\x01\x00\x00\x000\x00\x00\x00\ -0\x00\x00\x00\x90\x00\x00\x1b\x00\x00\x00\x04\x17\x00\x18\x00\ -\x01\xff\xd8\xff\xed\x00\x0cAdobe_CM\x00\ -\x01\xff\xee\x00\x0eAdobe\x00d\x80\x00\x00\x00\ -\x01\xff\xdb\x00\x84\x00\x0c\x08\x08\x08\x09\x08\x0c\x09\x09\x0c\ -\x11\x0b\x0a\x0b\x11\x15\x0f\x0c\x0c\x0f\x15\x18\x13\x13\x15\x13\ -\x13\x18\x11\x0c\x0c\x0c\x0c\x0c\x0c\x11\x0c\x0c\x0c\x0c\x0c\x0c\ -\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\ -\x0c\x0c\x0c\x0c\x0c\x0c\x01\x0d\x0b\x0b\x0d\x0e\x0d\x10\x0e\x0e\ -\x10\x14\x0e\x0e\x0e\x14\x14\x0e\x0e\x0e\x0e\x14\x11\x0c\x0c\x0c\ -\x0c\x0c\x11\x11\x0c\x0c\x0c\x0c\x0c\x0c\x11\x0c\x0c\x0c\x0c\x0c\ -\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\ -\x0c\x0c\x0c\x0c\x0c\x0c\x0c\xff\xc0\x00\x11\x08\x000\x000\ -\x03\x01\x22\x00\x02\x11\x01\x03\x11\x01\xff\xdd\x00\x04\x00\x03\ -\xff\xc4\x01?\x00\x00\x01\x05\x01\x01\x01\x01\x01\x01\x00\x00\ -\x00\x00\x00\x00\x00\x03\x00\x01\x02\x04\x05\x06\x07\x08\x09\x0a\ -\x0b\x01\x00\x01\x05\x01\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\ -\x00\x00\x01\x00\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x10\x00\ -\x01\x04\x01\x03\x02\x04\x02\x05\x07\x06\x08\x05\x03\x0c3\x01\ -\x00\x02\x11\x03\x04!\x121\x05AQa\x13\x22q\x81\ -2\x06\x14\x91\xa1\xb1B#$\x15R\xc1b34r\ -\x82\xd1C\x07%\x92S\xf0\xe1\xf1cs5\x16\xa2\xb2\ -\x83&D\x93TdE\xc2\xa3t6\x17\xd2U\xe2e\ -\xf2\xb3\x84\xc3\xd3u\xe3\xf3F'\x94\xa4\x85\xb4\x95\xc4\ -\xd4\xe4\xf4\xa5\xb5\xc5\xd5\xe5\xf5Vfv\x86\x96\xa6\xb6\ -\xc6\xd6\xe6\xf67GWgw\x87\x97\xa7\xb7\xc7\xd7\xe7\ -\xf7\x11\x00\x02\x02\x01\x02\x04\x04\x03\x04\x05\x06\x07\x07\x06\ -\x055\x01\x00\x02\x11\x03!1\x12\x04AQaq\x22\ -\x13\x052\x81\x91\x14\xa1\xb1B#\xc1R\xd1\xf03$\ -b\xe1r\x82\x92CS\x15cs4\xf1%\x06\x16\xa2\ -\xb2\x83\x07&5\xc2\xd2D\x93T\xa3\x17dEU6\ -te\xe2\xf2\xb3\x84\xc3\xd3u\xe3\xf3F\x94\xa4\x85\xb4\ -\x95\xc4\xd4\xe4\xf4\xa5\xb5\xc5\xd5\xe5\xf5Vfv\x86\x96\ -\xa6\xb6\xc6\xd6\xe6\xf6'7GWgw\x87\x97\xa7\xb7\ -\xc7\xff\xda\x00\x0c\x03\x01\x00\x02\x11\x03\x11\x00?\x00\xf5\ -T\x92@\xce\xbe\xdcl+\xef\xa6\xa7d[S\x1c\xea\ -\xe9f\xae{\x80\xf6\xb0\x7fY\xc9)\x8e_Q\xe9\xf8\ -Q\xf6\xcc\x9a\xb1\xf7}\x1fU\xedd\xff\x00Wy\xf7\ -\x22\xd1\x91\x8f\x93X\xb7\x1e\xd6]S\xb8}n\x0ei\ -\xfe\xd3%\xab\x98\xe8?Uq\xf31\x7fju\xfa\x9d\ -\x95\xd4\xb3\x7fI`\xbbp\xd8\xd3\xfc\xdd~\x94\xb7g\ -\xb3\xf3\x1d\xfc\xc7\xf3?\xe0\xd0rzs~\xab\xf5\xcc\ -\x0c\xae\x98\xe73\x03\xa9\x5c\xdc\x5c\xacB\xe2[\xb9\xda\ -Wcw\xeew\xb7\xe9\xfe\xfd\x7f\xcd\xff\x005v\xc4\ -\x94\xf6)$\x92J\x7f\xff\xd0\xf5U\x9b\xd6\xfa\xf6\x17\ -E\xaa\xb7\xe4\x8b,}\xee-\xaa\x9a\x9b\xb9\xee#W\ -}\x22\xc6\xedo\xf5\x96\x92\xe5\xfe\xbd\xfe\x87\x1f\xa6\xf5\ -\x01\xa3\xb0\xf3kt\xf84\xcb\x9d\xff\x00\x9e\x98\x92\x94\ ->\xb7\xf5[\xc4\xe1t\x0c\xab\x01\xfa.\xb6k\x1f\xf9\ -\xed\xcd\xff\x00\xa6\xb3\xba\x9d\x1f\x5cz\x8d\xf4u,\x9c\ -*q\x9b\xd3w_UN\xb09\xbb\x84Y\xea=\x8c\ -s\x9fe\x8d\xf4\xfd\x9f\xcd\xad\xff\x00\xad\xcf\xeau\xf4\ -Km\xe9\xaf5\xbe\xb2\x1f{\xd8@x\xa5\xb2\xeb\x9d\ -S\x8f\xd1s\x7f\xcf\xf4\xfdOO\xf4\x89\xfe\xaa]\x99\ -\x97\xf5~\x8bs\xec\x17\xbe\xdd\xfb^L\xb8\xd7\xb9\xcd\ -\xaf\xd5#\xfc&\xcf\xa7\xff\x00\x82~\x91%6>\xaf\ -\xf5Gun\x8f\x8d\x9fcZ\xcb.i\xf5\x1a\xd9\xda\ -\x1c\xd7:\xb7\xed\xdd\xee\xda\xed\x9b\x96\x8a\xe6?\xc5\xf9\ -,\xe9\x19\x18\x8e>\xecL\xabj\x8f\x01\xedw\xfdV\ -\xf5\xd3\xa4\xa7\xff\xd1\xf5U\x87\xf5\xd3\x0d\xf9\x7fV\xf2\ -\xd9[\x0d\x9606\xc65\xa2O\xb1\xcds\xf6\xb4\x7f\ -\xc1\xef[\x89$\xa7\x92\xa3\xeb\xadY8\x8c\xa2\x9e\x97\ -\x97\xd4\x1ek\x0c\xb86\xb0kq\xdb\xb6\xc1\xfe\x13u\ -n\xfeS\x13\xe3u_\xad\x1e\x8b1\xfa_\xd5\xe6a\ -\xe3\xd66\xd6\xcbl\x0ckG\x95_\xab\xae\xb1$\x94\ -\xe0}U\xe9\x1dK\x01\xd9\xf9]G\xd3\xae\xec\xfb\xbd\ -oB\xa2KX}\xc5\xee\xdc\x7f}\xcf\xfa\x1e\xff\x00\ -\xf8\xc5\xbe\x92I)\xff\xd9\x008BIM\x04!\x00\ -\x00\x00\x00\x00a\x00\x00\x00\x01\x01\x00\x00\x00\x0f\x00A\ -\x00d\x00o\x00b\x00e\x00 \x00P\x00h\x00o\ -\x00t\x00o\x00s\x00h\x00o\x00p\x00\x00\x00\x19\ -\x00A\x00d\x00o\x00b\x00e\x00 \x00P\x00h\ -\x00o\x00t\x00o\x00s\x00h\x00o\x00p\x00 \ -\x00C\x00C\x00 \x002\x000\x001\x005\x00.\ -\x005\x00\x00\x00\x01\x00\x00\x00\x0cHLino\x02\ -\x10\x00\x00mntrRGB XYZ \x07\ -\xce\x00\x02\x00\x09\x00\x06\x001\x00\x00acspM\ -SFT\x00\x00\x00\x00IEC sRGB\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf6\xd6\x00\ -\x01\x00\x00\x00\x00\xd3-HP \x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11cprt\x00\ -\x00\x01P\x00\x00\x003desc\x00\x00\x01\x84\x00\ -\x00\x00lwtpt\x00\x00\x01\xf0\x00\x00\x00\x14b\ -kpt\x00\x00\x02\x04\x00\x00\x00\x14rXYZ\x00\ -\x00\x02\x18\x00\x00\x00\x14gXYZ\x00\x00\x02,\x00\ -\x00\x00\x14bXYZ\x00\x00\x02@\x00\x00\x00\x14d\ -mnd\x00\x00\x02T\x00\x00\x00pdmdd\x00\ -\x00\x02\xc4\x00\x00\x00\x88vued\x00\x00\x03L\x00\ -\x00\x00\x86view\x00\x00\x03\xd4\x00\x00\x00$l\ -umi\x00\x00\x03\xf8\x00\x00\x00\x14meas\x00\ -\x00\x04\x0c\x00\x00\x00$tech\x00\x00\x040\x00\ -\x00\x00\x0crTRC\x00\x00\x04<\x00\x00\x08\x0cg\ -TRC\x00\x00\x04<\x00\x00\x08\x0cbTRC\x00\ -\x00\x04<\x00\x00\x08\x0ctext\x00\x00\x00\x00C\ -opyright (c) 199\ -8 Hewlett-Packar\ -d Company\x00\x00desc\x00\ -\x00\x00\x00\x00\x00\x00\x12sRGB IEC6\ -1966-2.1\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x12sRGB IEC6196\ -6-2.1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00XYZ \x00\x00\x00\x00\x00\ -\x00\xf3Q\x00\x01\x00\x00\x00\x01\x16\xccXYZ \x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00X\ -YZ \x00\x00\x00\x00\x00\x00o\xa2\x00\x008\xf5\x00\ -\x00\x03\x90XYZ \x00\x00\x00\x00\x00\x00b\x99\x00\ -\x00\xb7\x85\x00\x00\x18\xdaXYZ \x00\x00\x00\x00\x00\ -\x00$\xa0\x00\x00\x0f\x84\x00\x00\xb6\xcfdesc\x00\ -\x00\x00\x00\x00\x00\x00\x16IEC http:\ -//www.iec.ch\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x16IEC http\ -://www.iec.ch\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00desc\x00\ -\x00\x00\x00\x00\x00\x00.IEC 61966\ --2.1 Default RGB\ - colour space - \ -sRGB\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00.\ -IEC 61966-2.1 De\ -fault RGB colour\ - space - sRGB\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00desc\x00\x00\x00\x00\x00\x00\x00,R\ -eference Viewing\ - Condition in IE\ -C61966-2.1\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00,Reference \ -Viewing Conditio\ -n in IEC61966-2.\ -1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00view\x00\ -\x00\x00\x00\x00\x13\xa4\xfe\x00\x14_.\x00\x10\xcf\x14\x00\ -\x03\xed\xcc\x00\x04\x13\x0b\x00\x03\x5c\x9e\x00\x00\x00\x01X\ -YZ \x00\x00\x00\x00\x00L\x09V\x00P\x00\x00\x00\ -W\x1f\xe7meas\x00\x00\x00\x00\x00\x00\x00\x01\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x02\x8f\x00\x00\x00\x02sig \x00\x00\x00\x00C\ -RT curv\x00\x00\x00\x00\x00\x00\x04\x00\x00\ -\x00\x00\x05\x00\x0a\x00\x0f\x00\x14\x00\x19\x00\x1e\x00#\x00\ -(\x00-\x002\x007\x00;\x00@\x00E\x00J\x00\ -O\x00T\x00Y\x00^\x00c\x00h\x00m\x00r\x00\ -w\x00|\x00\x81\x00\x86\x00\x8b\x00\x90\x00\x95\x00\x9a\x00\ -\x9f\x00\xa4\x00\xa9\x00\xae\x00\xb2\x00\xb7\x00\xbc\x00\xc1\x00\ -\xc6\x00\xcb\x00\xd0\x00\xd5\x00\xdb\x00\xe0\x00\xe5\x00\xeb\x00\ -\xf0\x00\xf6\x00\xfb\x01\x01\x01\x07\x01\x0d\x01\x13\x01\x19\x01\ -\x1f\x01%\x01+\x012\x018\x01>\x01E\x01L\x01\ -R\x01Y\x01`\x01g\x01n\x01u\x01|\x01\x83\x01\ -\x8b\x01\x92\x01\x9a\x01\xa1\x01\xa9\x01\xb1\x01\xb9\x01\xc1\x01\ -\xc9\x01\xd1\x01\xd9\x01\xe1\x01\xe9\x01\xf2\x01\xfa\x02\x03\x02\ -\x0c\x02\x14\x02\x1d\x02&\x02/\x028\x02A\x02K\x02\ -T\x02]\x02g\x02q\x02z\x02\x84\x02\x8e\x02\x98\x02\ -\xa2\x02\xac\x02\xb6\x02\xc1\x02\xcb\x02\xd5\x02\xe0\x02\xeb\x02\ -\xf5\x03\x00\x03\x0b\x03\x16\x03!\x03-\x038\x03C\x03\ -O\x03Z\x03f\x03r\x03~\x03\x8a\x03\x96\x03\xa2\x03\ -\xae\x03\xba\x03\xc7\x03\xd3\x03\xe0\x03\xec\x03\xf9\x04\x06\x04\ -\x13\x04 \x04-\x04;\x04H\x04U\x04c\x04q\x04\ -~\x04\x8c\x04\x9a\x04\xa8\x04\xb6\x04\xc4\x04\xd3\x04\xe1\x04\ -\xf0\x04\xfe\x05\x0d\x05\x1c\x05+\x05:\x05I\x05X\x05\ -g\x05w\x05\x86\x05\x96\x05\xa6\x05\xb5\x05\xc5\x05\xd5\x05\ -\xe5\x05\xf6\x06\x06\x06\x16\x06'\x067\x06H\x06Y\x06\ -j\x06{\x06\x8c\x06\x9d\x06\xaf\x06\xc0\x06\xd1\x06\xe3\x06\ -\xf5\x07\x07\x07\x19\x07+\x07=\x07O\x07a\x07t\x07\ -\x86\x07\x99\x07\xac\x07\xbf\x07\xd2\x07\xe5\x07\xf8\x08\x0b\x08\ -\x1f\x082\x08F\x08Z\x08n\x08\x82\x08\x96\x08\xaa\x08\ -\xbe\x08\xd2\x08\xe7\x08\xfb\x09\x10\x09%\x09:\x09O\x09\ -d\x09y\x09\x8f\x09\xa4\x09\xba\x09\xcf\x09\xe5\x09\xfb\x0a\ -\x11\x0a'\x0a=\x0aT\x0aj\x0a\x81\x0a\x98\x0a\xae\x0a\ -\xc5\x0a\xdc\x0a\xf3\x0b\x0b\x0b\x22\x0b9\x0bQ\x0bi\x0b\ -\x80\x0b\x98\x0b\xb0\x0b\xc8\x0b\xe1\x0b\xf9\x0c\x12\x0c*\x0c\ -C\x0c\x5c\x0cu\x0c\x8e\x0c\xa7\x0c\xc0\x0c\xd9\x0c\xf3\x0d\ -\x0d\x0d&\x0d@\x0dZ\x0dt\x0d\x8e\x0d\xa9\x0d\xc3\x0d\ -\xde\x0d\xf8\x0e\x13\x0e.\x0eI\x0ed\x0e\x7f\x0e\x9b\x0e\ -\xb6\x0e\xd2\x0e\xee\x0f\x09\x0f%\x0fA\x0f^\x0fz\x0f\ -\x96\x0f\xb3\x0f\xcf\x0f\xec\x10\x09\x10&\x10C\x10a\x10\ -~\x10\x9b\x10\xb9\x10\xd7\x10\xf5\x11\x13\x111\x11O\x11\ -m\x11\x8c\x11\xaa\x11\xc9\x11\xe8\x12\x07\x12&\x12E\x12\ -d\x12\x84\x12\xa3\x12\xc3\x12\xe3\x13\x03\x13#\x13C\x13\ -c\x13\x83\x13\xa4\x13\xc5\x13\xe5\x14\x06\x14'\x14I\x14\ -j\x14\x8b\x14\xad\x14\xce\x14\xf0\x15\x12\x154\x15V\x15\ -x\x15\x9b\x15\xbd\x15\xe0\x16\x03\x16&\x16I\x16l\x16\ -\x8f\x16\xb2\x16\xd6\x16\xfa\x17\x1d\x17A\x17e\x17\x89\x17\ -\xae\x17\xd2\x17\xf7\x18\x1b\x18@\x18e\x18\x8a\x18\xaf\x18\ -\xd5\x18\xfa\x19 \x19E\x19k\x19\x91\x19\xb7\x19\xdd\x1a\ -\x04\x1a*\x1aQ\x1aw\x1a\x9e\x1a\xc5\x1a\xec\x1b\x14\x1b\ -;\x1bc\x1b\x8a\x1b\xb2\x1b\xda\x1c\x02\x1c*\x1cR\x1c\ -{\x1c\xa3\x1c\xcc\x1c\xf5\x1d\x1e\x1dG\x1dp\x1d\x99\x1d\ -\xc3\x1d\xec\x1e\x16\x1e@\x1ej\x1e\x94\x1e\xbe\x1e\xe9\x1f\ -\x13\x1f>\x1fi\x1f\x94\x1f\xbf\x1f\xea \x15 A \ -l \x98 \xc4 \xf0!\x1c!H!u!\xa1!\ -\xce!\xfb\x22'\x22U\x22\x82\x22\xaf\x22\xdd#\x0a#\ -8#f#\x94#\xc2#\xf0$\x1f$M$|$\ -\xab$\xda%\x09%8%h%\x97%\xc7%\xf7&\ -'&W&\x87&\xb7&\xe8'\x18'I'z'\ -\xab'\xdc(\x0d(?(q(\xa2(\xd4)\x06)\ -8)k)\x9d)\xd0*\x02*5*h*\x9b*\ -\xcf+\x02+6+i+\x9d+\xd1,\x05,9,\ -n,\xa2,\xd7-\x0c-A-v-\xab-\xe1.\ -\x16.L.\x82.\xb7.\xee/$/Z/\x91/\ -\xc7/\xfe050l0\xa40\xdb1\x121J1\ -\x821\xba1\xf22*2c2\x9b2\xd43\x0d3\ -F3\x7f3\xb83\xf14+4e4\x9e4\xd85\ -\x135M5\x875\xc25\xfd676r6\xae6\ -\xe97$7`7\x9c7\xd78\x148P8\x8c8\ -\xc89\x059B9\x7f9\xbc9\xf9:6:t:\ -\xb2:\xef;-;k;\xaa;\xe8<' >`>\ -\xa0>\xe0?!?a?\xa2?\xe2@#@d@\ -\xa6@\xe7A)AjA\xacA\xeeB0BrB\ -\xb5B\xf7C:C}C\xc0D\x03DGD\x8aD\ -\xceE\x12EUE\x9aE\xdeF\x22FgF\xabF\ -\xf0G5G{G\xc0H\x05HKH\x91H\xd7I\ -\x1dIcI\xa9I\xf0J7J}J\xc4K\x0cK\ -SK\x9aK\xe2L*LrL\xbaM\x02MJM\ -\x93M\xdcN%NnN\xb7O\x00OIO\x93O\ -\xddP'PqP\xbbQ\x06QPQ\x9bQ\xe6R\ -1R|R\xc7S\x13S_S\xaaS\xf6TBT\ -\x8fT\xdbU(UuU\xc2V\x0fV\x5cV\xa9V\ -\xf7WDW\x92W\xe0X/X}X\xcbY\x1aY\ -iY\xb8Z\x07ZVZ\xa6Z\xf5[E[\x95[\ -\xe5\x5c5\x5c\x86\x5c\xd6]']x]\xc9^\x1a^\ -l^\xbd_\x0f_a_\xb3`\x05`W`\xaa`\ -\xfcaOa\xa2a\xf5bIb\x9cb\xf0cCc\ -\x97c\xebd@d\x94d\xe9e=e\x92e\xe7f\ -=f\x92f\xe8g=g\x93g\xe9h?h\x96h\ -\xeciCi\x9ai\xf1jHj\x9fj\xf7kOk\ -\xa7k\xfflWl\xafm\x08m`m\xb9n\x12n\ -kn\xc4o\x1eoxo\xd1p+p\x86p\xe0q\ -:q\x95q\xf0rKr\xa6s\x01s]s\xb8t\ -\x14tpt\xccu(u\x85u\xe1v>v\x9bv\ -\xf8wVw\xb3x\x11xnx\xccy*y\x89y\ -\xe7zFz\xa5{\x04{c{\xc2|!|\x81|\ -\xe1}A}\xa1~\x01~b~\xc2\x7f#\x7f\x84\x7f\ -\xe5\x80G\x80\xa8\x81\x0a\x81k\x81\xcd\x820\x82\x92\x82\ -\xf4\x83W\x83\xba\x84\x1d\x84\x80\x84\xe3\x85G\x85\xab\x86\ -\x0e\x86r\x86\xd7\x87;\x87\x9f\x88\x04\x88i\x88\xce\x89\ -3\x89\x99\x89\xfe\x8ad\x8a\xca\x8b0\x8b\x96\x8b\xfc\x8c\ -c\x8c\xca\x8d1\x8d\x98\x8d\xff\x8ef\x8e\xce\x8f6\x8f\ -\x9e\x90\x06\x90n\x90\xd6\x91?\x91\xa8\x92\x11\x92z\x92\ -\xe3\x93M\x93\xb6\x94 \x94\x8a\x94\xf4\x95_\x95\xc9\x96\ -4\x96\x9f\x97\x0a\x97u\x97\xe0\x98L\x98\xb8\x99$\x99\ -\x90\x99\xfc\x9ah\x9a\xd5\x9bB\x9b\xaf\x9c\x1c\x9c\x89\x9c\ -\xf7\x9dd\x9d\xd2\x9e@\x9e\xae\x9f\x1d\x9f\x8b\x9f\xfa\xa0\ -i\xa0\xd8\xa1G\xa1\xb6\xa2&\xa2\x96\xa3\x06\xa3v\xa3\ -\xe6\xa4V\xa4\xc7\xa58\xa5\xa9\xa6\x1a\xa6\x8b\xa6\xfd\xa7\ -n\xa7\xe0\xa8R\xa8\xc4\xa97\xa9\xa9\xaa\x1c\xaa\x8f\xab\ -\x02\xabu\xab\xe9\xac\x5c\xac\xd0\xadD\xad\xb8\xae-\xae\ -\xa1\xaf\x16\xaf\x8b\xb0\x00\xb0u\xb0\xea\xb1`\xb1\xd6\xb2\ -K\xb2\xc2\xb38\xb3\xae\xb4%\xb4\x9c\xb5\x13\xb5\x8a\xb6\ -\x01\xb6y\xb6\xf0\xb7h\xb7\xe0\xb8Y\xb8\xd1\xb9J\xb9\ -\xc2\xba;\xba\xb5\xbb.\xbb\xa7\xbc!\xbc\x9b\xbd\x15\xbd\ -\x8f\xbe\x0a\xbe\x84\xbe\xff\xbfz\xbf\xf5\xc0p\xc0\xec\xc1\ -g\xc1\xe3\xc2_\xc2\xdb\xc3X\xc3\xd4\xc4Q\xc4\xce\xc5\ -K\xc5\xc8\xc6F\xc6\xc3\xc7A\xc7\xbf\xc8=\xc8\xbc\xc9\ -:\xc9\xb9\xca8\xca\xb7\xcb6\xcb\xb6\xcc5\xcc\xb5\xcd\ -5\xcd\xb5\xce6\xce\xb6\xcf7\xcf\xb8\xd09\xd0\xba\xd1\ -<\xd1\xbe\xd2?\xd2\xc1\xd3D\xd3\xc6\xd4I\xd4\xcb\xd5\ -N\xd5\xd1\xd6U\xd6\xd8\xd7\x5c\xd7\xe0\xd8d\xd8\xe8\xd9\ -l\xd9\xf1\xdav\xda\xfb\xdb\x80\xdc\x05\xdc\x8a\xdd\x10\xdd\ -\x96\xde\x1c\xde\xa2\xdf)\xdf\xaf\xe06\xe0\xbd\xe1D\xe1\ -\xcc\xe2S\xe2\xdb\xe3c\xe3\xeb\xe4s\xe4\xfc\xe5\x84\xe6\ -\x0d\xe6\x96\xe7\x1f\xe7\xa9\xe82\xe8\xbc\xe9F\xe9\xd0\xea\ -[\xea\xe5\xebp\xeb\xfb\xec\x86\xed\x11\xed\x9c\xee(\xee\ -\xb4\xef@\xef\xcc\xf0X\xf0\xe5\xf1r\xf1\xff\xf2\x8c\xf3\ -\x19\xf3\xa7\xf44\xf4\xc2\xf5P\xf5\xde\xf6m\xf6\xfb\xf7\ -\x8a\xf8\x19\xf8\xa8\xf98\xf9\xc7\xfaW\xfa\xe7\xfbw\xfc\ -\x07\xfc\x98\xfd)\xfd\xba\xfeK\xfe\xdc\xffm\xff\xff\x80\ -\x00 P8$\x16\x0d\x07\x84BaP\xb8d6\x1d\ -\x0f\x88DbQ8\xa4V-\x17\x8cFcQ\xb8\xe4\ -v=\x1f\x90HdR9$\x96M'\x94JeR\ -\xb9d\xb6]/\x98LfS9\xa4\xd6m7\x9cN\ -gS\xb9\xe4\xf6}?\xa0PhT:%\x16\x8dG\ -\xa4RiT\xbae6\x9dO\xa8TjU:\xa5V\ -\xadW\xacVkU\xba\xe5v\xbd_\xb0XlV;\ -%\x96\x10\x01\x07ZDA\x1b`\xac\x1bo\x0f\x81\xae\ -A\x10\x0d\xd4\x02\xf9\xbc<\x1eW\xb6\xe3\xc6\xfc\xda\xbf\ -<[vl&\x166\x0a\xc4\x06\x84x\xb2\xb6,F\ -Y\xb6\x04E@\x5c\xa02(\xfc\xcc=\xdd\x99\xb6c\ -\x83<\xb2n\xe8U\x0f]#\x93\x0d\xa7\xc3\x04\xf5C\ -\x01n\xb4\xde\x1e\xd8\x12\xc1\x1b0\xac\xb1\xf1\xb7v7\ -\xf7J\xe6\xce\xf5:\xea\xe02\xb5\x1c:\xc8\xbf\x8cu\ -\x19\xf2O\xe0N`.x\xfd\xe8>\x18\xbd3cc\ -\xac\x9d\xe2vi ~\xe0K\x923?\x8b\x10*b\x1eA\x04\xa8U\x05\x8dH\ -\xc1\xdd\x07\x9aN\x01\xd4e\x9c\xf0\xa9\x82\xd2\x1e\xa7)\ -\xfd\x0d\x9f,\xa0\x0a\xb7\xad\xe1\x105\x11\x88\x00\x94L\ -\x16\x02\x11HP\x81\x80(\xc1\xad\x17\x93\x064d6\ -\xc3g\xf1\xf9\x03G\x09(]\x1d\x8eA\xc4|F\xa2\ -\x90\x91\x94fH\x83\xe1\xcb#\x97\xb0\x11\xff\x02\x22\xe0\ -\x14\x9c\x02\x832\x88|\x18\xca\x83\xe4F\x0d\x08\x08\xc1\ -\xa1-\x90\xe6T\xbc=G3\x0a;\x13\x02Ah\xa1\ -3\x99\x0e`\x08\x05\x22\x06\xdc\xdcR\x18s\x88\xcc\xcc\ -\x1f\x87\xbaP\xbb\x00MhZ8\x86\xf3\xe9\x12\xbb\x00\ -h\x82\xf0|\x9d\xe5U\x0c\x14=\x87\xb9\xd51Q\x88\ -\xa8\x93G\x96\xc0\xed$$\xa2\x0d\x09\xbaT\x97\xf4\xc8\ -\xbd\x1a\x9fI\xa07O\x88b\x0dDR1\x00P0\ -\x88\x1bUIB`U\x83\x05\x1bW\xa1\xa0]d\x0d\ -\x8a\xf5\xa9\xb359\xc8\x5c0r\x15\xb5\xe8`\xdb\x9f\ -\x07jx\x0b\xd8\x81\xd0\x9bc\x98\x12p\x04\x02\xa1\x94\ -\xe1Wg\x85\x8c\x0b\x07XZ\x88 ik\x90A\x95\ -\xb4>\xa2\x13\x89\x864\x1a\xf7\x092\xa2\x077)\x1f\ -=\x0e\x08\x84\xb6h\x11\x12\xf1\x94<\xda\xb5\x83\xb8\x03\ -\x82U\xa8\xael6`Cj\x85\xd1'QQ\x7f\x84\ -\x87\xde\x04y\xa8\x80\x1e\x0c\x04\x0axI\xa1\x14\x82\x01\ -:\x18y\xe2\x07\x05\x9eU\x85s\xa1\xedx\xcc/\x10\ -X7\x07X\xe9\x22\x887F\xf9\x5c]\xe4\x82\x9a\x99\ -\x8d\x0d\xf8\xe8tH!\x92Q\xfcWf\x01\x99\xdb\x99\ -\x9a\x18\xc3\xe0\xf9\x01\xe2\xb6tkT\xa0\xd2\x1e\x7f\x96\ -Z\x08zth\x86*\x98\x04\xe9\x00\xbet+\x1a\xf7\ -\x98\x22\x86\x17\x9a\x88\xaaoj\x85fl\xf7\xe1\x81D\ -\xce(\x18\xef\x90 \x86h\x87A\x86Y\xec\x82\x06\x5c\ -\xa8\x0a;I\x96\x0a\xed\x81\xa2\x18an\x03#\xcc\xec\ -j\xef\x80\x03Y\x01`\xd6\xd8\x0a\x86\xb7D\xa2\x0c\x87\ -\xe8#\xfe[\x89G\x1f\x0c[\xaa\x827\x14X\x04\x1c\ -h\x9e\x86FF0\xdcjr\x84\x9e\xebx\xd3\xe0\xd8\ -\x87\xcc\x88\x86o<@:\x07\xe9\xf2\xaaQ\xe2M#\ -I\xf2\x11\x97'\xca\xf2\xfdj\xb35\x018H\xa6h\ -\x81\xfd\xa8J\x86\x18=\xc8\xc6\xde\x9b$\xf7]\xdf\xaa\ -\xaf\xc0,\x1ckf4X\x86\x17^H\xa4\xcf\x1c\x05\ -\x7f\x81\xe7\xaa!\xf7\xa4M\x85\x1e\xa8\xc9\x96\xc0G\xe9\ -_\xed\x86\xcc\xd9\xd8gz\x1f\x0a\x92\xc8\x85B\x97\xcc\ -g`\xc0\x18\x0e\x86\x1d\xffi\xad^\x95\xa1\x8d9\xf1\ -~\x8a-\xca\x1c\x91\xd3\xd0\xe2\x88s\xc6i\x02\xffD\ -\x03\xf5\x80E\x05\xf4\x80v\x966\x11\x00 !\x83\xda\ -\x06\x0ef`+\x81\xa4\x0c\x1e\xc3\x9e\x01\xc1Rz\x95\ -\xc2\x10L\x83B\xf1\xe3\x90\xb1\xf5\x07\xc7\x84!\x1e\x03\ -e<\x0fHL8\xc7\x0c)\x16*\xa4m\x0a(-\ -\x0b\xc8\xaa\x1e\x01\x8d \x04\x81d@\x08KH\x0e\x04\ -\x802\x1e\x01\xd8h\x06\x1b\xf8>v\xa0=\xdb\x923\ -\xf89\x05\xd3\x91\x0d\xf0\x88lC\x07\x5c\x87\x80kx\ -\x03p&!\x82f\x18\x0ab\x18$\x87 \x8e\x1a\x01\ -epO\x10x\xee\x1aB\xc22\x03\x96-\x13\x8a\xe2\ -x\x86L\xe1\xbcC\xe6\x90\x05\xa2\xec?\x87\x800\x0e\ -\xb0\xc0O\x1bU(\x19\x80\xa5a\xe4\x8b\xa7\x96g\x9e\ -th(\xcb(\x02\xb7\xb0i\x0eA!\x91\x05q\xda\ -\x1c\x82%\xe6\x04\x95\xc3NQ\x90\xb0P*\xc1\x80\x18\ -d\x11>k\xc0\xaeN\x06\xb0E'\xc2\xa9\xaa\x02`\ -\xbd\x1c#Q\xf6\xc5\x96\x00\xeci\xd2<\x86!Q\xce\ -0\x9b \xb3p2d\x9cH\x80\x8f-\xc5\x84\x8a,\ -\x08\xd4~,\x01\xd5\x09\x87\xa0\xe2\x89\x90\x88\xc0\x17\xe1\ -\xb2\x86\x074\x1f\x1fC\xc6e\x0e\xf5\x06<\x10@<\ -\x12\xa0\x9ej\x06\x22\x190\x07\x18\xac\x9b@\xb6e\x0f\ -\x19hL$ N\x9cC\x0d\xe1\x03r\x98\xe8G\xc2\ -\x89\x1dl@y\x8d\xe3\x027!\x10\xd6\x89\x93\xb0p\ -\xcc\x01\xc4\xc0\x87\xdb\x04#i\xf4\x1b\x88\xa3\x8c\x0b\xc3\ -\xa9\x0ct#\xe6m\x0a\xc0\x5c`F\xd4\xdf%\xe0\x9a\ -\x86\x06\x00\x81C\xc4\xf90e\xca\x0cv\xcd\x8a\x10\xb4\ -\xa0\x90\xe8Pc\xb9`N\xb6\x22\xa2GL\xf8\x1e\x84\ -\xd2N\x02\xb0\xd6\x0e\xe9@\x94\x22\x02\xe2\x96\x04\xb1\xc5\ -K\xc5\xb5\x0a%\xce(#\x0a\xf7\x1a\x08\x02\x81\x18\x97\ -\x94vv\x0e\x02\xf6<\x86\xeb\xed\x1d\xe3QiS\xf1\ -\xbb=\x94\x18\xef*\x8ep%\xd4\xd1vD\x06=Q\ -\x0e#N\xaa2\xcadK\x168M\x181\x04\x86Q\ -\xd1\xa5W\xc4ta\x1aS\xd1]\xcd\xd3\x87\x16\xc2\xad\ -i\x1a\xb1\xec\x85\xa2\xf1\xac&\x06%q\x0d5\x5c\x96\ -P\xf0\x80(h`&\x0b\xd0.\x06\x8aZ\xfc\x07\x92\ -P\xfdQ\x8f\xa4\x044\xb1\xaf\x02H`\xe6\xb1B\xfc\ -ZX\xd0\x85]\x09X0\xb2A\xe4\x1bYQ\x0c\xf6\ -\x07\xf8\xfd~\x00\xca\xb1-J\xb20\x1b\xfc\xb3!T\ -\xfcoPP[\x19\xec\x81%\x03\xf6\xac&\xcbp\x8e\ -,\x88\x83Q\x17\x8dM\xaa\x93KBc\x82\xb47\x95\ --\x84b&\xe1\xb6)S\xa0\xf5%\x93DK \xb0\ -U\x5c\xc8\x5c\xe8\xa0\xa0\xbe\x84Z\x92J\x99\x01s\xb2\ -\x19\xe9\xe0\x86.\xe0\xf0\xba\xc4I,\xb0\x8f\xdcG\x82\ -\x9b\xbc\x19\xae\xa1\x0b\x1d7\x8cc)\x91~\x17\xaa1\ -(G`\xb9\x1e\xa3\xf2 -o\x80DH\xe3\x94^\ -\xdc\xe2H\xd7\x97\xb0\xd8\x86\x80\x5c\x86[\xe1Gy\xab\ -\xd9*\x004\xd0WSzrE\xe7\xb4}\x0a\x0fx\ -g\x92E$\x07BC\xa5q\x04>\xb8\x8c@\xd5[\ -\x84\xbd\xf6$\xed\xa4(\xb6\xb6\xdaC\x10\x90\xc8\x8c\x82\ -\xc0\x1c\x92\x8bCg\xc9\x03\x86\x1cb\xe1\xc1\xa9BG\ -\x1d\x82\xa61\x1ar\x10\x86.\xb5\xda\x97\x97\x86\x1a$\ -\xa1\x0f\x1e\x0as\x1c\x16\x08b\xbbP\xc2\xa8\x15O\x89\ -\xf4H\xab\xb0\xa0\xaf!|\x90A!\xce\xbf\xc5@%\ -\xb8$\x82\x19@x\xa4C\x1d\xe0\x9ew#\x041\xe3\ -\xa2J\xb6\x81\x90|Z\xe0\xd0A\x90\xc6-\x90\xc1T\ -\xc0\x1c$\x93\x0ea\xe0*\xdb\x88\xfc\xe8b`\xae\xd2\ -\x12I\xc4\x13\x86\x18\x18\xcf@\xf0\x86R\xf1\xc4-)\ -`\xb8\x09\xb9x\x92\x18\xe0\xaf\x8f\x02\x18\xa8\xb3\x16i\ -^\xd9\xc4 I,\xfd\xa1$\x14\x8b9\xcfbI\x92\ -rY\x0c\x1dzlf=\xb1^\x0d\x88\x18\xff\xd0\x84\ -~Q\x03\x07\xcc\x14\x86m\xe1!V4Z\x04+\x14\ -9\x85\xf9$\xcckem\x92\x0a\x8d\x90\xc1L\xa6$\ -\x97\xac:#\xe0p\x22\xc8e b`\xb2T\xea2\ -<\xbe@\xa2\xf6\x1bRH\x85\xc9`\xbf\x0b!q#\ -\x91\x0d,j\xac\xa0\x0cG\x1c\xa0\xd4\x12.Et\x92\ -{V\x07\xc2u\xae\x16+5\x0d\x8f\xc8\x1f\xa3\x87p\ -\xd3\xd8\xc4u@\x1cH#\x82\xc4\ -i\xcd\x07\x02(\x8a\xef\x08Y@\x08!\x83\xd2\x19`\ -\xf6\x19\xf0\xc4\xb2\xe2nP\x0b\xf6\xfbH\xb6\x91H\xb6\ -k(\xf2\x8a\x07`&\x0e\xc8\x11\x8e\xc2\x19\x0a\x03\x0b\ -\x02&g\x05\xec\x1b+\xf6\xf5g*r#\xc8#e\ -\x00M@\x15\x08\xe8\xe6\x03\xe8\xaa\x8a\xa7\xc8\x81/\xb4\ -k\xc2\x90\x99A\xe0\xb3i\xd8\x1b\xf0\xec\x22\xc0\x02x\ -\xa7\x84?B\x16\xf4a\xb8\x14\xcf@\x17\xc0\xb6 \x8b\ -\xf6\x8f0\x9cEH\xb2D\x00E\x0aF\x9ck\xc8d\ -+\x8a@\x171\x5c\x0a\x0cC\x12b4\x08Qh\x14\ -\xa0I\x16\xe0\xb4\x9a\xe8L\x1c.\xde\x18\xe8\xab\x10\xa6\ -\x9c\xd5C\x88\x99A\xe4\x95\xc1\x80H\x81\x98\x0f\xe6f\ -\x1d\xa6k\x16B8\xb2@`\x0f\x0e8\x10\xe9J\xdc\ -\xa9|\x9e\xc9\x88\xa7\xe1\xb6X\x01\xda\xa3\xa9R\xa8\xc9\ -\xb1\x19\xc2H\xebn\xba\x9cN\xbe+i\xd1\x1b\xe2\xf6\ -\x9d\xc2\xfc\x1bi\x86\x84!\xac\x9e\x89\xec\xc8\xd1\xc4'\ -\xe7`\xb5\xc1ds\x82v\x1f\xe9R\x9b\x040\x1c\xaa\ -(\x9dQ\xfe0!\xb2\x9d\xeaA\x1e\x91\xea+0\xa4\ -\xae\xc1D\xa6\xe7\x1e#jv7\x11\x22\x9d\x81\xbc\x8c\ -!\xaa\x9ef \x1b\xec\xd4\xa92\x12Z\xa4\xf0\xeam\ -\xbe\x09\xa9\x1e\x97\x91\x1c\xa2\xe2\xfc\x1b\x8a\x85\x1e& \ -\x1b\xd1\xfe\xf2\xf2;%\xf2a&2e&ri&\ -\xb2m&\xf2q'2u'ry'\xb2}'\xf2\ -\x81(2\x85(r\x89(\xb2\x8d(\xf2\x91)2\x95\ -)r\x98(\x22\x02\x00\x03\x00\x01\xa0\x03\x00\x01\x00\x00\ -\x00\x01\x00\x00\x00\x02\xa0\x04\x00\x01\x00\x00\x00`\x00\x00\ -\x00\x03\xa0\x04\x00\x01\x00\x00\x00`\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\ -\x00\x00\x02\x9e\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a \x0d\x0a \ - Artboard\ -\x0d\x0a Created with\ - Sketch.\x0d\ -\x0a \x0d\x0a \ - \x0d\x0a \ - \x0d\x0a \ - \x0d\x0a <\ -/g>\x0d\x0a\x0d\x0a\ -\x00\x00\x02\xa4\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a \x0d\x0a \ - Icons / \ -System / Carat /\ - White / Default\ -\x0d\x0a Created with\ - Sketch.\x0d\ -\x0a \x0d\x0a <\ -polygon id=\x22Tria\ -ngle\x22 fill=\x22#FFF\ -FFF\x22 transform=\x22\ -translate(8.0000\ -00, 8.000000) sc\ -ale(1, -1) trans\ -late(-8.000000, \ --8.000000) \x22 poi\ -nts=\x228 6 12 10 4\ - 10\x22>\x0d\ -\x0a \x0d\x0a\x0d\x0a\ -\x00\x00\x05!\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a \x0d\x0a \ - icon / o\ -utliner / slice \ -/ standard copy \ -2\x0d\x0a <\ -desc>Created wit\ -h Sketch.\ -\x0d\x0a \x0d\x0a \x0d\x0a \ - \x0d\x0a \ - \x0d\ -\x0a \x0d\x0a\ - \x0d\x0a \ - \x0d\x0a\x0d\x0a\ -\ -\x00\x00\x035\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a \x0d\x0a \ - icon / o\ -utliner / layer \ -/ default\x0d\x0a Cre\ -ated with Sketch\ -.\x0d\x0a \x0d\x0a \ - \x0d\x0a \ - \x0d\x0a \ - \ -\x0d\x0a \ - \x0d\x0a \ -\x0d\x0a \x0d\x0a\x0d\x0a\ -\x00\x00\x04\xa0\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a \x0d\x0a \ - icon / o\ -utliner / entity\ - / Not active - \ -Default\x0d\ -\x0a Creat\ -ed with Sketch.<\ -/desc>\x0d\x0a \x0d\x0a <\ -g id=\x22icon-/-out\ -liner-/-entity-/\ --Not-active---De\ -fault\x22 stroke=\x22n\ -one\x22 stroke-widt\ -h=\x221\x22 fill=\x22none\ -\x22 fill-rule=\x22eve\ -nodd\x22>\x0d\x0a \ -\x0d\x0a \ - \x0d\x0a\x0d\x0a\ -\x00\x00\x09\x94\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a \x0d\x0a \ - Artboard\ -\x0d\x0a Created with\ - Sketch.\x0d\ -\x0a \x0d\x0a <\ -g id=\x22Sky-Icon-/\ --System-/-View\x22 \ -transform=\x22trans\ -late(-1.000000, \ --1.000000)\x22>\x0d\x0a \ - \x0d\x0a \ - \x0d\ -\x0a \x0d\x0a <\ -path d=\x22M7.06342\ -091,12.9074237 L\ -7.88176629,12.08\ -90784 C8.2054235\ -6,12.1935613 8.5\ -5066739,12.25000\ -46 8.90909425,12\ -.2500046 C10.754\ -2281,12.2500046 \ -12.2500046,10.75\ -42281 12.2500046\ -,8.90909425 C12.\ -2500046,8.550667\ -39 12.1935613,8.\ -20542356 12.0890\ -784,7.88176629 L\ -13.4371592,6.533\ -68547 C14.319022\ -1,7.17645386 15.\ -2844155,7.968256\ -79 16.3333395,8.\ -90909425 C13.022\ -4727,11.8787923 \ -10.5438307,13.36\ -36414 8.89741345\ -,13.3636414 C8.3\ -7051833,13.36364\ -14 7.75918749,13\ -.2115688 7.06342\ -091,12.9074237 Z\ - M5.69216773,12.\ -1787833 C4.48306\ -461,11.4370945 3\ -.08062505,10.347\ -1982 1.48484904,\ -8.90909425 C4.78\ -014139,5.9393961\ -7 7.25099619,4.4\ -5454713 8.897413\ -45,4.45454713 C9\ -.76312087,4.4545\ -4713 10.8589211,\ -4.865077 12.1848\ -142,5.68613676 L\ -11.2977095,6.573\ -24152 C10.691167\ -6,5.95308542 9.8\ -450802,5.5681839\ -1 8.90909425,5.5\ -6818391 C7.06396\ -042,5.56818391 5\ -.56818391,7.0639\ -6042 5.56818391,\ -8.90909425 C5.56\ -818391,9.8450802\ - 5.95308542,10.6\ -911676 6.5732415\ -2,11.2977095 L5.\ -69216773,12.1787\ -833 Z M8.8358430\ -8,11.1350016 L11\ -.1461965,8.82464\ -811 C11.1472437,\ -8.85266758 11.14\ -77719,8.88081938\ - 11.1477719,8.90\ -909425 C11.14777\ -19,10.1391835 10\ -.1480347,11.1363\ -678 8.91479629,1\ -1.1363678 C8.888\ -36881,11.1363678\ - 8.86204856,11.1\ -359099 8.8358430\ -8,11.1350016 Z M\ -7.3616286,10.509\ -3224 C6.94241377\ -,10.1044297 6.68\ -182069,9.5371166\ -3 6.68182069,8.9\ -0909425 C6.68182\ -069,7.67900503 7\ -.68155792,6.6818\ -2069 8.91479629,\ -6.68182069 C9.54\ -237304,6.6818206\ -9 10.1094814,6.9\ -4005568 10.51514\ -44,7.35580661 L7\ -.3616286,10.5093\ -224 Z\x22 id=\x22Combi\ -ned-Shape\x22 fill=\ -\x22#E9E9E9\x22>\x0d\x0a <\ -polygon id=\x22Rect\ -angle-25\x22 fill=\x22\ -#E9E9E9\x22 transfo\ -rm=\x22translate(8.\ -582044, 8.280986\ -) rotate(45.0000\ -00) translate(-8\ -.582044, -8.2809\ -86) \x22 points=\x227.\ -7813425 0.916636\ -365 9.38274632 0\ -.913653421 9.358\ -23763 15.6483178\ - 7.7813425 15.61\ -58919\x22>\x0d\x0a \x0d\ -\x0a \x0d\x0a\x0d\x0a\ -\x00\x00\x05\x1f\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a \x0d\x0a \ - icon / o\ -utliner / slice \ -/ Editor only -\ - Saved\x0d\x0a\ - Create\ -d with Sketch.\x0d\x0a \x0d\x0a \x0d\x0a \x0d\x0a \ -\x0d\x0a\x0d\x0a\ -\x00\x00\x02\x9e\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a \x0d\x0a \ - Artboard\ -\x0d\x0a Created with\ - Sketch.\x0d\ -\x0a \x0d\x0a \ - \x0d\x0a \ - \x0d\x0a \ - \x0d\x0a <\ -/g>\x0d\x0a\x0d\x0a\ -\x00\x00\x05#\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a \x0d\x0a \ - icon / o\ -utliner / slice \ -/ Editor only -\ - Updated\ -\x0d\x0a Crea\ -ted with Sketch.\ -\x0d\x0a \x0d\x0a \ -\x0d\x0a \ - \x0d\x0a\ - \x0d\x0a\ -\x0d\x0a\ -\x00\x00\x06\x09\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a \x0d\x0a \ - icon / o\ -utliner / lock /\ - on\x0d\x0a \ - Created w\ -ith Sketch.\x0d\x0a \x0d\x0a \ - \x0d\x0a\ - \x0d\x0a \ - \x0d\x0a \ - \x0d\x0a\ - \ -\x0d\x0a \ - \x0d\x0a \ -\x0d\x0a \x0d\x0a\ -\x0d\x0a\ -\x00\x00\x15\xa4\ -I\ -I*\x00B\x08\x00\x00\x80?\xe0@\x08$\x16\x0d\x07\ -\x84BaP\xb8d6\x1d\x0f\x88DbQ8\xa4V\ --\x17\x8cFcQ\xb8\xe4v\x0b\x02\x7f\xc7\xa4R9\ -$\x96M'\x94JeR\xb8\xa4\x82Y/\x98Lf\ -S9\xa4\xd6a.\x9bNgS\xb9\xe4\xf6}#\x9c\ -O\xe8T:%\x16\x8d/\xa0\xd1\xe9T\xbae6\x9d\ -\x1f\x81\xd3\xeaU:\xa5V\x91Q\xabVkU\xba\xe4\ -B\x93]\xb0XlU*\xfd\x8e\xcdg\xb4N\xec\xb6\ -\x9be\xb6\xdd&\xb5\xdb\xeeW;\xa4J\xe3u\xbc^\ -o7{\xd5\xf6\xfdi\xbe_\xf0X:\xde\x07\x09\x87\ -\xc4Sp\xd8\x9cf6\x7f\x8b\xc7drS<\x86O\ --\x97\x93\xe5s\x19\xbc\xe4k5\x9d\xd0hk\xd5\x8d\ -\x16\x97M-\xd2Q\x00:\xbb\xf1\xaf\x5c\x1a}\xecG\ -pQ\x94\x14c\x05\x0e\xc1B;\xa8K\xbe\x0a\xf0\x82\ -\xb8\xf5`\x16|\x15\x9c\x04\xe41\x12\xbc\xb75\xf7?\ -\x94\xd4\xd0\xf8v\xc3?T7 .AJ\x10Q\xbc\ -\x14\x036\x90\xc1\x19pUx\x0f\xcc\xa5K\xfa\x5cx\ -\x0e\x8d\x0b\x9f2\xe9\xd7M\x1f1\xc4\x80\xe1 )\xc1\ -@\x95g\xe7\x93\xcc\x01\x92\x0fI.c+\xafzc\ -\x03&\x0f\x8a\xa44\xc1\x80\xe9\xfb\x07\x91\xa8(\xaa\xbd\ -\x15\xa8(\xe4MC\x07\x12\xa7\x04*\xef\x0a\x8d\x05(\ -\xa3\xfcD\x03\x1d\x11(\xe6\x90\x0fh(\x16\xc4\x1e\xc8\ -)\x0a\x03\xc6\x04i'\x19\x9f*<8\x96F\xe9\x5c\ -@\x9f\x0c\xd1\xe8\x8c\x82\x92h(L\xd1\x1bh(\xdd\ -\x0c\x13E\xc2\x87\x1c\xa5RbS\x1d\xa6q\x10\xfe\x01\ -D\xa7A\x06\x90\x0fM:\x1eD\x032\xe8\xf6@\xcc\ -\x07\xf2s'%\x13\x22O(%\x83|\xd4\x08\x1e\xf3\ -iL\x82\x892\xd2&\xe1\x97\x00D\xec,\x923\xcb\ -\x80\x99L\xcb\x83\xda\x9f\xcd\x09;\xaa3\x85I\x01`\ -\x82\x84\xb3\x92:n9\x00 \xa0KR\x06\xac:\xa5\ -O\xa9-\x02\x91G\xa30\x86\xf2 \xa0m\x14\x93\x9e\ -\x8f\xf8\xa3\x01\x17\x89M*\x92T\xe9\x1d.\x8dPb\ -*@X\xa0\xa0M>\x98\x1f\x0e\x18\x9cL\xd7\x05\xda\ -KT\xa4U\xe2=U\xa2\xb4\xcc~\x82V\x08 \x10\ -\xa99\xa8!X\x82\x96\xef\xf9\xc2\x06Z\x07!\xebi\ -\x9f\xee\x1b`\xd8\x97\xa8(8\xae\x1f\x08(\x9f$\x17\ -H\xf5|\x8e\xdch\xe5\x80\x88>c@\x8e\x7f]\x94\ -=\x8c\xa6\x1c\x00\x15\xe4:\x02\xf7\xa9_0\x103\x15\ -\x83\x1e\x9b\x88(F\xb1\x1f\x17\x90\x04(\x13\x18)r\ -\xcfO\xe9\xf5\xca\x8d\xdc\xe8\x5c\x184\x86\xb0y\xfa`\ -\xd6*a\x18\x05\xe3\x03\xf1\x1f\x8d\x9e\xe8\xf53~\xa0\ -\x97\xfa\xcf\x16\xa0\x81\xfc\x90f\x22\xd8^\x11\x0f(\xb8\ -j\x0dL\x83\xc8)\x92\x82\x83\x0a5\xf4\x00\x0d\x92A\ -.\x94\xe3\xf7\xf2\xdcs\xbf\xe1\xbc\x04\xf5\xa29R3\ -\xa3#\x18h\xdb\xa5\x81\xc7\xce\x9cb\xa0\xa1b\x8e\xe1\ -\x8c\x95\xc12N\xa5\xf9\xeeB\xba\x1a@~\xbc\x1e\x11\ -{\x09\xe6\x87i\x08\xbe\xca\x8bR\xe9\x00\x03A\x96h\ -(\x96\xa6\x14\x12@\xc2\x99\xeb@\x06D\xbc\x16Z\xb0\ -\xa0\xe1\xe5\x886\xce\x8a\xef\xe8\xa5/L\x8f\x88)\x07\ -xc\x00XU\x8d\x91\xf8\xeae\xba\xee\xeb\xc3\x86;\ -\xea\xc4R\x15\xc0\xa2|\xc2%\x1d\xdd!\xed\xd8\x7f\x17\ -\xe8(\x06\xa6\x0c\xb2A8\x9c\xf2\x0c\x13\xfa\x82\x07\x92\ -Ff\xa8o\xb2^\x12\x9e\xbazX\xdb\xa6\xe9\xc6\x92\ -\x0a\x0f\xa9\x87\x0d\x11$\x1f}E\xf9\x9f0\xf2*\x08\ -\x18I\x07\xb75\xa2\xf6i\xe3\xa7A\x91\xa9\x00\xe4\xa6\ -\xb8dN\xac<'\xbdK\x10\xe1\x90:\xb1\x01\xe5\xb4\ -}\x8a\x848|\x93d\xdb\xa2\x00\x00b\x9a\xff\x88\x10\ -\x16(\x9e{La\xdfF\x83\xceY*zF\xdej\ -wt\x8e\xc9\x01\x12T\x9cp\x00\x01\xef\x01\xec\xbc6\ -\xb6c\x8e\x18r`\xa2`G\xbf\x97\xc4O\xd4\x18\xb5\ - \xa1(\xa9\x0d\xd4\x90\x09\x0a\x1b\x0f\x04D\x80\x02\x92\ -\x97>\xdbH\x22\x89)\x87\x0cY\xc0\xb0\x9d\x03\x8aR\ -\x83\x1b)\x08\xa9\x0cT\x90\x0f\x0c\x1a\x99t$\x10 \ -\x15!\xb0\xd5\x81L((\xea\x0d\x92\x00\x05dS\xc5\ -\xa2H\x09\xb0\xc5\x1e\x8a\xf3\xb4T\x87\xb3VEe\x19\ -\xf0\x10\xf5\x067\xc8( *C\x19$\x1b3\x04\xa6\ -F\x11\x05\x07\xa5Ho5g\x22\xec\xa0y>Pj\ -\xe8\x82\x04H\xb8\x92\x22\xf9zS#iD\x15!r\ -\xd5\x82D:(\xcb\xa4D\x12\x00\xeeT\x87\xc2]\x03\ - =|\x0f\xa2\xea\xa6`\xe9\x04O`\x00\x05=C\ -V! X}\x8eE\x14\xd7\x06\xb0>?$\x80\xdd\ -tE5\x81\x048\x16/\x8b\xaa\x83\x08\x04\x82\x19\x94\ -\xe1\xf4\x01e\x00!\x12\x92\x8dd\x94X\x9aC\x8e\x9a\ -\x99\x15$\x14+\x15\x22\x00\x8cM@\xce\xa0\x084\x1e\ -\x11\x09\x85B\xe1\x90\xd8t>!\x11\x00\x19\xa2\x88\x98\ -9\xda%\x19\x8dF\xe1)\xe8\x1ah\xc6\xff\x91G$\ -\x92XD\x89\xff&\x95G\x002\xd0\x01\xa6`\x22~\ -\xcc\xda\x10pl\xaeq\x1aq\x86g\x82D\x0c\xfd\xf5\ -9\xa1P\xe1G\xfa0\x19\xcfInA\xc3\xb4Jt\ -)\xdf-\x00\x8bS5W,\xa2\x9fY\xacVi\xd5\ -(I\x9e\xc0^\x94(k\x96X1\xa6>\x98\xb3Z\ -\xe31C1\xa2\x0e\x97\xb6Q*Ez\xaaeU'\ -\x91\xdc\xe5u\xbb\xe4\x9a\xbd\x0c\xb7'\xe0\xe6\x0b\xfc\xe1\ -\xc4\x0d\xc5\x0a\x91\xb8\xd7\xae\x1e\xd8j\xc9\x03\x1f\x99V\ -\xb53!$\xa9&\xae\xe6xe\xfb3\x1a\xd0hb\ -X\x18]\x18\xfe\x08\xa4\xb9\xd8\xd0q\x8e\x92H\xa5\x8f\ -\x976\x15\x9br\x9a\x0eY\xda\xe9e\xac\xc06\xfcx\ -\x93\xe1>s\xf7\xbd\xdcCG\xc7\x86i\xa1\xc6\xdep\ -q\xf3\xd1d\xc1\xc3\x5c\xa8}H\xd7wKu\xa3\x96\ -\xe3l\x1d%\xdc\x889*C\x8b\xbb\x97\x91\xc6\xf1B\ -\xb9>\xb872#\x925\x0c2\xaf\xc6\x1c\x1c\x19\xee\ -\x84\xca`\xc7H\xf9\x1c\xfd!+r\x0a\x83\x22\xcf|\ -\x02\x83\x9e`\x1c\x16\x1e\x12\xf0q\xa4\xd1=PC\xda\ -\xf7>\x08\xd0\xd1\x0c\x09'\xf46Y \xe0$\x10\x85\ -\x12\xe0|F;\x91q1\xe6\xd29\xc3h\x1c}E\ -\xa4ZP3D\x08I\xf8\x01F\xa2a1\x1c\x17)\ -,(\xf5\xc7\x8f\x14,\x92-\xcd\xa2\x0cP \xe0\x1c\ -d\x84\x1d\x088\xf0\x83\x94\xc8\xf9\xf6\xa25\x0aB\x92\ --\xa0\xe4:\x0e\x0b\xc9\x089\xfa\xc2\xa3\xe5\x22q\x1f\ -;\x93\x0b\xad %P\xc0\xd0,Cg\xf1G\x0fK\ -HQ\xe0\x83\x96\x089q\x1a\x80G\x08\x0b<\x1c\x88\ -A\xf7>\x03\x93P>\x83\x89\x088\xa0\x83\x82\x13r\ -\x12~\xce\xa2\xe4pL\x15\x0a$\xc6\xe5R\x0e<\xca\ -\x9c\xac\x038\xa8\x947\x080\x0bC\xd3\xac9\xf8\xa9\ -\x0b+\xb9X\xaeRM\xddL\xda\xd2\x8a\x22\xddB \ -\xc5:\x0e\x04S\xd5\x92\x88|7(\xfc\xe4\xb5\xd5\x0d\ -\x85t\xd2UJ\xca`4\x86i\x99\xfaW \xe0\xf5\ -gd#G\x12\x0e)\xa3\xe6c\x0f^46\x8b3\ -_,\xcbp(\xa9\x15\x09@\x87d\xdb\xa8A~\x03\ -\xdc\x22\xbb\x84I\x9dm%\xa6\xc8]\x0c=\xaa\xb9\x95\ -Wp\x06^^$B\x0e:[\xd2\xd2\xa4G\x08w\ -\xd0\xec+_\xb2\xe5O\x09@7R\xffv4\x93<\ -5\x0d\x92(8K{7f\xe2\xa47\xae\xe5\xb6\x05\ -\x80\xbfX\x1a\xf9\x82\xb7r\x93V9 \xe3\xdb\xf1\x86\ -\xa9\xecz\x0cC\x5c 9\x1br8\x91\x96.\xb9\xe5\ -\x8bf2\xf7R\xc0\xdaPE \xe2\xd6B\x93\x15\x19\ -0\xebrOU\x9e]\x5c\xe2\xb0\xaa]\x9c\x22h\xa0\ -d\x83\x8d\xc88\xb0\x83\x80\xf6\xf6T\x00\x15PX\x06\ -H\xc1\xc4\xb9\x9b\xa2\xe8\x0b6\xb4\xb2\xe6\x16LT\x0a\ -\xc5\xa7\xd0\xafA\xa5\x01\xfc\xda\xda\x9f\x889\x858\xce\ -\xa5M\x18uh\xae+\xf9\x95\xe8O^\xbd\xb9 \xe3\ -~\xf6\x08\x1e\xfb\xf0p\xa9\x06)C^\x83)\xa85\ -\x0c\x83\x02(\x5c\xe0\x83\x1d\xe89\xc6\x83\x9a\x13\xa9\x9e\ -\xa9\x19\x1a\xb7\x1d\xbc\xa3z\xe5K\xbbs<\xf7?\xd0\ -:\xdc\xdfC\xd2t\xbd2#\xd1\xf4\xfdWW\xd3u\ -=g_\xd8k<\xefc\xdav\xbd_]\xdbw=\ -\xd4'\xd9\xf7}\xf7\x7fn\xf7\x1e\x07\x87\xe2/\x9e\x17\ -\x8b\xe4y4\x7f{\xe5y\xbes3\xe3\xf9\xfe\x97\xa6\ -\x86\xfa>\xa7\xaf\xeb\xfa\xde\xc7\xb7\xe7{^\xe7\xbf\xe2\ -\xfb\xdf\x07\xc7\xdf|_'\xcf\xda\xfc\xdfG\xd7\xd6}\ -_g\xdf\xd2\xfd\xdf\x87\xe7\xcf~_\xa7\xef\x9c~\xdf\ -\xc7\xf7\xe0\xf9\x9f\xe3\xffwo\xea\x00@4\xb4@@\ -\x00\x13\x00\xfe\x00\x04\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\ -\x01\x04\x00\x01\x00\x00\x00`\x00\x00\x00\x01\x01\x04\x00\x01\ -\x00\x00\x00`\x00\x00\x00\x02\x01\x03\x00\x04\x00\x00\x00,\ -\x09\x00\x00\x03\x01\x03\x00\x01\x00\x00\x00\x05\x00\x00\x00\x06\ -\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\x00\x11\x01\x04\x00\x01\ -\x00\x00\x00\x08\x00\x00\x00\x15\x01\x03\x00\x01\x00\x00\x00\x04\ -\x00\x00\x00\x16\x01\x04\x00\x01\x00\x00\x00`\x00\x00\x00\x17\ -\x01\x04\x00\x01\x00\x00\x009\x08\x00\x00\x1a\x01\x05\x00\x01\ -\x00\x00\x004\x09\x00\x00\x1b\x01\x05\x00\x01\x00\x00\x00<\ -\x09\x00\x00\x1c\x01\x03\x00\x01\x00\x00\x00\x01\x00\x00\x00(\ -\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\x001\x01\x02\x00\x10\ -\x00\x00\x00D\x09\x00\x00=\x01\x03\x00\x01\x00\x00\x00\x02\ -\x00\x00\x00R\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\x00S\ -\x01\x03\x00\x04\x00\x00\x00T\x09\x00\x00s\x87\x07\x00H\ -\x0c\x00\x00\x5c\x09\x00\x00\x00\x00\x00\x00\x08\x00\x08\x00\x08\ -\x00\x08\x00\x802\x02\x00\xe8\x03\x00\x00\x802\x02\x00\xe8\ -\x03\x00\x00paint.net 4.0\ -.9\x00\x01\x00\x01\x00\x01\x00\x01\x00\x00\x00\x0cHL\ -ino\x02\x10\x00\x00mntrRGB X\ -YZ \x07\xce\x00\x02\x00\x09\x00\x06\x001\x00\x00a\ -cspMSFT\x00\x00\x00\x00IEC s\ -RGB\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\xf6\xd6\x00\x01\x00\x00\x00\x00\xd3-HP \x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11c\ -prt\x00\x00\x01P\x00\x00\x003desc\x00\ -\x00\x01\x84\x00\x00\x00lwtpt\x00\x00\x01\xf0\x00\ -\x00\x00\x14bkpt\x00\x00\x02\x04\x00\x00\x00\x14r\ -XYZ\x00\x00\x02\x18\x00\x00\x00\x14gXYZ\x00\ -\x00\x02,\x00\x00\x00\x14bXYZ\x00\x00\x02@\x00\ -\x00\x00\x14dmnd\x00\x00\x02T\x00\x00\x00pd\ -mdd\x00\x00\x02\xc4\x00\x00\x00\x88vued\x00\ -\x00\x03L\x00\x00\x00\x86view\x00\x00\x03\xd4\x00\ -\x00\x00$lumi\x00\x00\x03\xf8\x00\x00\x00\x14m\ -eas\x00\x00\x04\x0c\x00\x00\x00$tech\x00\ -\x00\x040\x00\x00\x00\x0crTRC\x00\x00\x04<\x00\ -\x00\x08\x0cgTRC\x00\x00\x04<\x00\x00\x08\x0cb\ -TRC\x00\x00\x04<\x00\x00\x08\x0ctext\x00\ -\x00\x00\x00Copyright (c)\ - 1998 Hewlett-Pa\ -ckard Company\x00\x00d\ -esc\x00\x00\x00\x00\x00\x00\x00\x12sRGB \ -IEC61966-2.1\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x12sRGB IEC\ -61966-2.1\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00XYZ \x00\ -\x00\x00\x00\x00\x00\xf3Q\x00\x01\x00\x00\x00\x01\x16\xccX\ -YZ \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00XYZ \x00\x00\x00\x00\x00\x00o\xa2\x00\ -\x008\xf5\x00\x00\x03\x90XYZ \x00\x00\x00\x00\x00\ -\x00b\x99\x00\x00\xb7\x85\x00\x00\x18\xdaXYZ \x00\ -\x00\x00\x00\x00\x00$\xa0\x00\x00\x0f\x84\x00\x00\xb6\xcfd\ -esc\x00\x00\x00\x00\x00\x00\x00\x16IEC h\ -ttp://www.iec.ch\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16IEC \ -http://www.iec.c\ -h\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00d\ -esc\x00\x00\x00\x00\x00\x00\x00.IEC 6\ -1966-2.1 Default\ - RGB colour spac\ -e - sRGB\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00.IEC 61966-2.\ -1 Default RGB co\ -lour space - sRG\ -B\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00desc\x00\x00\x00\x00\x00\ -\x00\x00,Reference Vie\ -wing Condition i\ -n IEC61966-2.1\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00,Refere\ -nce Viewing Cond\ -ition in IEC6196\ -6-2.1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00v\ -iew\x00\x00\x00\x00\x00\x13\xa4\xfe\x00\x14_.\x00\ -\x10\xcf\x14\x00\x03\xed\xcc\x00\x04\x13\x0b\x00\x03\x5c\x9e\x00\ -\x00\x00\x01XYZ \x00\x00\x00\x00\x00L\x09V\x00\ -P\x00\x00\x00W\x1f\xe7meas\x00\x00\x00\x00\x00\ -\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x02\x8f\x00\x00\x00\x02sig \x00\ -\x00\x00\x00CRT curv\x00\x00\x00\x00\x00\ -\x00\x04\x00\x00\x00\x00\x05\x00\x0a\x00\x0f\x00\x14\x00\x19\x00\ -\x1e\x00#\x00(\x00-\x002\x007\x00;\x00@\x00\ -E\x00J\x00O\x00T\x00Y\x00^\x00c\x00h\x00\ -m\x00r\x00w\x00|\x00\x81\x00\x86\x00\x8b\x00\x90\x00\ -\x95\x00\x9a\x00\x9f\x00\xa4\x00\xa9\x00\xae\x00\xb2\x00\xb7\x00\ -\xbc\x00\xc1\x00\xc6\x00\xcb\x00\xd0\x00\xd5\x00\xdb\x00\xe0\x00\ -\xe5\x00\xeb\x00\xf0\x00\xf6\x00\xfb\x01\x01\x01\x07\x01\x0d\x01\ -\x13\x01\x19\x01\x1f\x01%\x01+\x012\x018\x01>\x01\ -E\x01L\x01R\x01Y\x01`\x01g\x01n\x01u\x01\ -|\x01\x83\x01\x8b\x01\x92\x01\x9a\x01\xa1\x01\xa9\x01\xb1\x01\ -\xb9\x01\xc1\x01\xc9\x01\xd1\x01\xd9\x01\xe1\x01\xe9\x01\xf2\x01\ -\xfa\x02\x03\x02\x0c\x02\x14\x02\x1d\x02&\x02/\x028\x02\ -A\x02K\x02T\x02]\x02g\x02q\x02z\x02\x84\x02\ -\x8e\x02\x98\x02\xa2\x02\xac\x02\xb6\x02\xc1\x02\xcb\x02\xd5\x02\ -\xe0\x02\xeb\x02\xf5\x03\x00\x03\x0b\x03\x16\x03!\x03-\x03\ -8\x03C\x03O\x03Z\x03f\x03r\x03~\x03\x8a\x03\ -\x96\x03\xa2\x03\xae\x03\xba\x03\xc7\x03\xd3\x03\xe0\x03\xec\x03\ -\xf9\x04\x06\x04\x13\x04 \x04-\x04;\x04H\x04U\x04\ -c\x04q\x04~\x04\x8c\x04\x9a\x04\xa8\x04\xb6\x04\xc4\x04\ -\xd3\x04\xe1\x04\xf0\x04\xfe\x05\x0d\x05\x1c\x05+\x05:\x05\ -I\x05X\x05g\x05w\x05\x86\x05\x96\x05\xa6\x05\xb5\x05\ -\xc5\x05\xd5\x05\xe5\x05\xf6\x06\x06\x06\x16\x06'\x067\x06\ -H\x06Y\x06j\x06{\x06\x8c\x06\x9d\x06\xaf\x06\xc0\x06\ -\xd1\x06\xe3\x06\xf5\x07\x07\x07\x19\x07+\x07=\x07O\x07\ -a\x07t\x07\x86\x07\x99\x07\xac\x07\xbf\x07\xd2\x07\xe5\x07\ -\xf8\x08\x0b\x08\x1f\x082\x08F\x08Z\x08n\x08\x82\x08\ -\x96\x08\xaa\x08\xbe\x08\xd2\x08\xe7\x08\xfb\x09\x10\x09%\x09\ -:\x09O\x09d\x09y\x09\x8f\x09\xa4\x09\xba\x09\xcf\x09\ -\xe5\x09\xfb\x0a\x11\x0a'\x0a=\x0aT\x0aj\x0a\x81\x0a\ -\x98\x0a\xae\x0a\xc5\x0a\xdc\x0a\xf3\x0b\x0b\x0b\x22\x0b9\x0b\ -Q\x0bi\x0b\x80\x0b\x98\x0b\xb0\x0b\xc8\x0b\xe1\x0b\xf9\x0c\ -\x12\x0c*\x0cC\x0c\x5c\x0cu\x0c\x8e\x0c\xa7\x0c\xc0\x0c\ -\xd9\x0c\xf3\x0d\x0d\x0d&\x0d@\x0dZ\x0dt\x0d\x8e\x0d\ -\xa9\x0d\xc3\x0d\xde\x0d\xf8\x0e\x13\x0e.\x0eI\x0ed\x0e\ -\x7f\x0e\x9b\x0e\xb6\x0e\xd2\x0e\xee\x0f\x09\x0f%\x0fA\x0f\ -^\x0fz\x0f\x96\x0f\xb3\x0f\xcf\x0f\xec\x10\x09\x10&\x10\ -C\x10a\x10~\x10\x9b\x10\xb9\x10\xd7\x10\xf5\x11\x13\x11\ -1\x11O\x11m\x11\x8c\x11\xaa\x11\xc9\x11\xe8\x12\x07\x12\ -&\x12E\x12d\x12\x84\x12\xa3\x12\xc3\x12\xe3\x13\x03\x13\ -#\x13C\x13c\x13\x83\x13\xa4\x13\xc5\x13\xe5\x14\x06\x14\ -'\x14I\x14j\x14\x8b\x14\xad\x14\xce\x14\xf0\x15\x12\x15\ -4\x15V\x15x\x15\x9b\x15\xbd\x15\xe0\x16\x03\x16&\x16\ -I\x16l\x16\x8f\x16\xb2\x16\xd6\x16\xfa\x17\x1d\x17A\x17\ -e\x17\x89\x17\xae\x17\xd2\x17\xf7\x18\x1b\x18@\x18e\x18\ -\x8a\x18\xaf\x18\xd5\x18\xfa\x19 \x19E\x19k\x19\x91\x19\ -\xb7\x19\xdd\x1a\x04\x1a*\x1aQ\x1aw\x1a\x9e\x1a\xc5\x1a\ -\xec\x1b\x14\x1b;\x1bc\x1b\x8a\x1b\xb2\x1b\xda\x1c\x02\x1c\ -*\x1cR\x1c{\x1c\xa3\x1c\xcc\x1c\xf5\x1d\x1e\x1dG\x1d\ -p\x1d\x99\x1d\xc3\x1d\xec\x1e\x16\x1e@\x1ej\x1e\x94\x1e\ -\xbe\x1e\xe9\x1f\x13\x1f>\x1fi\x1f\x94\x1f\xbf\x1f\xea \ -\x15 A l \x98 \xc4 \xf0!\x1c!H!\ -u!\xa1!\xce!\xfb\x22'\x22U\x22\x82\x22\xaf\x22\ -\xdd#\x0a#8#f#\x94#\xc2#\xf0$\x1f$\ -M$|$\xab$\xda%\x09%8%h%\x97%\ -\xc7%\xf7&'&W&\x87&\xb7&\xe8'\x18'\ -I'z'\xab'\xdc(\x0d(?(q(\xa2(\ -\xd4)\x06)8)k)\x9d)\xd0*\x02*5*\ -h*\x9b*\xcf+\x02+6+i+\x9d+\xd1,\ -\x05,9,n,\xa2,\xd7-\x0c-A-v-\ -\xab-\xe1.\x16.L.\x82.\xb7.\xee/$/\ -Z/\x91/\xc7/\xfe050l0\xa40\xdb1\ -\x121J1\x821\xba1\xf22*2c2\x9b2\ -\xd43\x0d3F3\x7f3\xb83\xf14+4e4\ -\x9e4\xd85\x135M5\x875\xc25\xfd676\ -r6\xae6\xe97$7`7\x9c7\xd78\x148\ -P8\x8c8\xc89\x059B9\x7f9\xbc9\xf9:\ -6:t:\xb2:\xef;-;k;\xaa;\xe8<\ -'\ - >`>\xa0>\xe0?!?a?\xa2?\xe2@\ -#@d@\xa6@\xe7A)AjA\xacA\xeeB\ -0BrB\xb5B\xf7C:C}C\xc0D\x03D\ -GD\x8aD\xceE\x12EUE\x9aE\xdeF\x22F\ -gF\xabF\xf0G5G{G\xc0H\x05HKH\ -\x91H\xd7I\x1dIcI\xa9I\xf0J7J}J\ -\xc4K\x0cKSK\x9aK\xe2L*LrL\xbaM\ -\x02MJM\x93M\xdcN%NnN\xb7O\x00O\ -IO\x93O\xddP'PqP\xbbQ\x06QPQ\ -\x9bQ\xe6R1R|R\xc7S\x13S_S\xaaS\ -\xf6TBT\x8fT\xdbU(UuU\xc2V\x0fV\ -\x5cV\xa9V\xf7WDW\x92W\xe0X/X}X\ -\xcbY\x1aYiY\xb8Z\x07ZVZ\xa6Z\xf5[\ -E[\x95[\xe5\x5c5\x5c\x86\x5c\xd6]']x]\ -\xc9^\x1a^l^\xbd_\x0f_a_\xb3`\x05`\ -W`\xaa`\xfcaOa\xa2a\xf5bIb\x9cb\ -\xf0cCc\x97c\xebd@d\x94d\xe9e=e\ -\x92e\xe7f=f\x92f\xe8g=g\x93g\xe9h\ -?h\x96h\xeciCi\x9ai\xf1jHj\x9fj\ -\xf7kOk\xa7k\xfflWl\xafm\x08m`m\ -\xb9n\x12nkn\xc4o\x1eoxo\xd1p+p\ -\x86p\xe0q:q\x95q\xf0rKr\xa6s\x01s\ -]s\xb8t\x14tpt\xccu(u\x85u\xe1v\ ->v\x9bv\xf8wVw\xb3x\x11xnx\xccy\ -*y\x89y\xe7zFz\xa5{\x04{c{\xc2|\ -!|\x81|\xe1}A}\xa1~\x01~b~\xc2\x7f\ -#\x7f\x84\x7f\xe5\x80G\x80\xa8\x81\x0a\x81k\x81\xcd\x82\ -0\x82\x92\x82\xf4\x83W\x83\xba\x84\x1d\x84\x80\x84\xe3\x85\ -G\x85\xab\x86\x0e\x86r\x86\xd7\x87;\x87\x9f\x88\x04\x88\ -i\x88\xce\x893\x89\x99\x89\xfe\x8ad\x8a\xca\x8b0\x8b\ -\x96\x8b\xfc\x8cc\x8c\xca\x8d1\x8d\x98\x8d\xff\x8ef\x8e\ -\xce\x8f6\x8f\x9e\x90\x06\x90n\x90\xd6\x91?\x91\xa8\x92\ -\x11\x92z\x92\xe3\x93M\x93\xb6\x94 \x94\x8a\x94\xf4\x95\ -_\x95\xc9\x964\x96\x9f\x97\x0a\x97u\x97\xe0\x98L\x98\ -\xb8\x99$\x99\x90\x99\xfc\x9ah\x9a\xd5\x9bB\x9b\xaf\x9c\ -\x1c\x9c\x89\x9c\xf7\x9dd\x9d\xd2\x9e@\x9e\xae\x9f\x1d\x9f\ -\x8b\x9f\xfa\xa0i\xa0\xd8\xa1G\xa1\xb6\xa2&\xa2\x96\xa3\ -\x06\xa3v\xa3\xe6\xa4V\xa4\xc7\xa58\xa5\xa9\xa6\x1a\xa6\ -\x8b\xa6\xfd\xa7n\xa7\xe0\xa8R\xa8\xc4\xa97\xa9\xa9\xaa\ -\x1c\xaa\x8f\xab\x02\xabu\xab\xe9\xac\x5c\xac\xd0\xadD\xad\ -\xb8\xae-\xae\xa1\xaf\x16\xaf\x8b\xb0\x00\xb0u\xb0\xea\xb1\ -`\xb1\xd6\xb2K\xb2\xc2\xb38\xb3\xae\xb4%\xb4\x9c\xb5\ -\x13\xb5\x8a\xb6\x01\xb6y\xb6\xf0\xb7h\xb7\xe0\xb8Y\xb8\ -\xd1\xb9J\xb9\xc2\xba;\xba\xb5\xbb.\xbb\xa7\xbc!\xbc\ -\x9b\xbd\x15\xbd\x8f\xbe\x0a\xbe\x84\xbe\xff\xbfz\xbf\xf5\xc0\ -p\xc0\xec\xc1g\xc1\xe3\xc2_\xc2\xdb\xc3X\xc3\xd4\xc4\ -Q\xc4\xce\xc5K\xc5\xc8\xc6F\xc6\xc3\xc7A\xc7\xbf\xc8\ -=\xc8\xbc\xc9:\xc9\xb9\xca8\xca\xb7\xcb6\xcb\xb6\xcc\ -5\xcc\xb5\xcd5\xcd\xb5\xce6\xce\xb6\xcf7\xcf\xb8\xd0\ -9\xd0\xba\xd1<\xd1\xbe\xd2?\xd2\xc1\xd3D\xd3\xc6\xd4\ -I\xd4\xcb\xd5N\xd5\xd1\xd6U\xd6\xd8\xd7\x5c\xd7\xe0\xd8\ -d\xd8\xe8\xd9l\xd9\xf1\xdav\xda\xfb\xdb\x80\xdc\x05\xdc\ -\x8a\xdd\x10\xdd\x96\xde\x1c\xde\xa2\xdf)\xdf\xaf\xe06\xe0\ -\xbd\xe1D\xe1\xcc\xe2S\xe2\xdb\xe3c\xe3\xeb\xe4s\xe4\ -\xfc\xe5\x84\xe6\x0d\xe6\x96\xe7\x1f\xe7\xa9\xe82\xe8\xbc\xe9\ -F\xe9\xd0\xea[\xea\xe5\xebp\xeb\xfb\xec\x86\xed\x11\xed\ -\x9c\xee(\xee\xb4\xef@\xef\xcc\xf0X\xf0\xe5\xf1r\xf1\ -\xff\xf2\x8c\xf3\x19\xf3\xa7\xf44\xf4\xc2\xf5P\xf5\xde\xf6\ -m\xf6\xfb\xf7\x8a\xf8\x19\xf8\xa8\xf98\xf9\xc7\xfaW\xfa\ -\xe7\xfbw\xfc\x07\xfc\x98\xfd)\xfd\xba\xfeK\xfe\xdc\xff\ -m\xff\xff\ -\x00\x00\x89\xf8\ -I\ -I*\x00\x08\x00\x00\x00\x18\x00\xfe\x00\x04\x00\x01\x00\x00\ -\x00\x00\x00\x00\x00\x00\x01\x03\x00\x01\x00\x00\x00`\x00\x00\ -\x00\x01\x01\x03\x00\x01\x00\x00\x00`\x00\x00\x00\x02\x01\x03\ -\x00\x04\x00\x00\x00.\x01\x00\x00\x03\x01\x03\x00\x01\x00\x00\ -\x00\x05\x00\x00\x00\x06\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\ -\x00\x11\x01\x04\x00\x01\x00\x00\x00\xfcS\x00\x00\x12\x01\x03\ -\x00\x01\x00\x00\x00\x01\x00\x00\x00\x15\x01\x03\x00\x01\x00\x00\ -\x00\x04\x00\x00\x00\x16\x01\x03\x00\x01\x00\x00\x00`\x00\x00\ -\x00\x17\x01\x04\x00\x01\x00\x00\x00\xf9\x12\x00\x00\x1a\x01\x05\ -\x00\x01\x00\x00\x006\x01\x00\x00\x1b\x01\x05\x00\x01\x00\x00\ -\x00>\x01\x00\x00\x1c\x01\x03\x00\x01\x00\x00\x00\x01\x00\x00\ -\x00(\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\x001\x01\x02\ -\x00\x22\x00\x00\x00F\x01\x00\x002\x01\x02\x00\x14\x00\x00\ -\x00h\x01\x00\x00=\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\ -\x00R\x01\x03\x00\x01\x00\x00\x00\x01\x00\x00\x00\xbc\x02\x01\ -\x00\xf68\x00\x00|\x01\x00\x00I\x86\x01\x00B\x0d\x00\ -\x00r:\x00\x00i\x87\x04\x00\x01\x00\x00\x00\xf8f\x00\ -\x00s\x87\x07\x00H\x0c\x00\x00\xb4G\x00\x00\x5c\x93\x07\ -\x00\xd0\x22\x00\x00$g\x00\x00\x00\x00\x00\x00\x08\x00\x08\ -\x00\x08\x00\x08\x00\x00\xf9\x15\x00\x10'\x00\x00\x00\xf9\x15\ -\x00\x10'\x00\x00Adobe Photo\ -shop CC 2017 (Wi\ -ndows)\x002017:04:0\ -4 11:01:55\x00\ -\x0a\x0a \ - \x0a \x0a \ - paint.net \ -4.0.9\x0a \ - 2017-03-01T11:2\ -0:20-08:00\x0a \ - 2017-04-04T\ -11:01:55-07:00\x0a\ - 2017-\ -04-04T11:01:55-0\ -7:00\x0a \ - imag\ -e/tiff\x0a 3\x0a \ - sRGB IEC\ -61966-2.1\ -\x0a \x0a \ - \x0a \ - adobe:docid\ -:photoshop:6e5b1\ -c59-1960-11e7-ba\ -e7-e6e7a5cd2814<\ -/rdf:li>\x0a \ - \x0a\ - \x0a \ - xmp.iid:db7b2\ -8e8-30e9-e04f-9f\ -78-916e5c5110e6<\ -/xmpMM:InstanceI\ -D>\x0a ad\ -obe:docid:photos\ -hop:bf3203a1-196\ -0-11e7-bae7-e6e7\ -a5cd2814\x0a \ - x\ -mp.did:8f625742-\ -0048-e64f-ab3c-d\ -4b1a5a27a24\x0a \ -\x0a\ - \x0a \ - \x0a \ - created\x0a \ - \ -xmp.iid:8f6257\ -42-0048-e64f-ab3\ -c-d4b1a5a27a24\x0a \ - \ -2017-03-01T11:20\ -:20-08:00\x0a \ - Ad\ -obe Photoshop CC\ - 2017 (Windows)<\ -/stEvt:softwareA\ -gent>\x0a \ - \x0a \ - \x0a\ - \ - \ -saved\x0a \ - xmp.iid\ -:db7b28e8-30e9-e\ -04f-9f78-916e5c5\ -110e6\x0a \ - 2017-04-0\ -4T11:01:55-07:00\ -\x0a \ - \ -Adobe Photo\ -shop CC 2017 (Wi\ -ndows)\x0a \ - <\ -stEvt:changed>/<\ -/stEvt:changed>\x0a\ - <\ -/rdf:li>\x0a \ - \x0a\ - \x0a \ -\x0a \ -\x0a\x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a\ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a\ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a\ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a\ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a\ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a\ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a\ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \x0a8BIM\x04%\x00\x00\x00\x00\x00\x10\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x008BI\ -M\x04:\x00\x00\x00\x00\x00\xe5\x00\x00\x00\x10\x00\x00\x00\ -\x01\x00\x00\x00\x00\x00\x0bprintOutp\ -ut\x00\x00\x00\x05\x00\x00\x00\x00PstSbo\ -ol\x01\x00\x00\x00\x00Inteenum\x00\ -\x00\x00\x00Inte\x00\x00\x00\x00Clrm\x00\ -\x00\x00\x0fprintSixteenB\ -itbool\x00\x00\x00\x00\x0bprint\ -erNameTEXT\x00\x00\x00\x01\x00\x00\ -\x00\x00\x00\x0fprintProofSe\ -tupObjc\x00\x00\x00\x0c\x00P\x00r\x00\ -o\x00o\x00f\x00 \x00S\x00e\x00t\x00u\x00\ -p\x00\x00\x00\x00\x00\x0aproofSetu\ -p\x00\x00\x00\x01\x00\x00\x00\x00Bltnenu\ -m\x00\x00\x00\x0cbuiltinProo\ -f\x00\x00\x00\x09proofCMYK\x008\ -BIM\x04;\x00\x00\x00\x00\x02-\x00\x00\x00\x10\x00\ -\x00\x00\x01\x00\x00\x00\x00\x00\x12printOu\ -tputOptions\x00\x00\x00\x17\x00\ -\x00\x00\x00Cptnbool\x00\x00\x00\x00\x00\ -Clbrbool\x00\x00\x00\x00\x00Rgs\ -Mbool\x00\x00\x00\x00\x00CrnCbo\ -ol\x00\x00\x00\x00\x00CntCbool\x00\ -\x00\x00\x00\x00Lblsbool\x00\x00\x00\x00\ -\x00Ngtvbool\x00\x00\x00\x00\x00Em\ -lDbool\x00\x00\x00\x00\x00Intrb\ -ool\x00\x00\x00\x00\x00BckgObjc\ -\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00RGBC\x00\x00\ -\x00\x03\x00\x00\x00\x00Rd doub@o\ -\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00Grn do\ -ub@o\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00Bl\ - doub@o\xe0\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00BrdTUntF#Rlt\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00Bld Un\ -tF#Rlt\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00RsltUntF#Pxl@b\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0avector\ -Databool\x01\x00\x00\x00\x00PgP\ -senum\x00\x00\x00\x00PgPs\x00\x00\x00\ -\x00PgPC\x00\x00\x00\x00LeftUnt\ -F#Rlt\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00Top UntF#Rlt\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00Scl Unt\ -F#Prc@Y\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x10cropWhenPrintin\ -gbool\x00\x00\x00\x00\x0ecropRe\ -ctBottomlong\x00\x00\x00\x00\ -\x00\x00\x00\x0ccropRectLeft\ -long\x00\x00\x00\x00\x00\x00\x00\x0dcrop\ -RectRightlong\x00\x00\x00\ -\x00\x00\x00\x00\x0bcropRectTop\ -long\x00\x00\x00\x00\x008BIM\x03\xed\x00\ -\x00\x00\x00\x00\x10\x00\x90\x00\x00\x00\x01\x00\x01\x00\x90\x00\ -\x00\x00\x01\x00\x018BIM\x04&\x00\x00\x00\x00\x00\ -\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00?\x80\x00\x008\ -BIM\x03\xee\x00\x00\x00\x00\x00\x0d\x0cTran\ -sparency\x008BIM\x04\x15\x00\ -\x00\x00\x00\x00\x1e\x00\x00\x00\x0d\x00T\x00r\x00a\x00\ -n\x00s\x00p\x00a\x00r\x00e\x00n\x00c\x00\ -y\x00\x008BIM\x045\x00\x00\x00\x00\x00\x11\x00\ -\x00\x00\x01\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00d\x01\ -\x008BIM\x04\x1d\x00\x00\x00\x00\x00\x04\x00\x00\x00\ -\x008BIM\x04\x0d\x00\x00\x00\x00\x00\x04\x00\x00\x00\ -\x1e8BIM\x04\x19\x00\x00\x00\x00\x00\x04\x00\x00\x00\ -\x1e8BIM\x03\xf3\x00\x00\x00\x00\x00\x09\x00\x00\x00\ -\x00\x00\x00\x00\x00\x01\x008BIM'\x10\x00\x00\x00\ -\x00\x00\x0a\x00\x01\x00\x00\x00\x00\x00\x00\x00\x018BI\ -M\x03\xf5\x00\x00\x00\x00\x00H\x00/ff\x00\x01\x00\ -lff\x00\x06\x00\x00\x00\x00\x00\x01\x00/ff\x00\ -\x01\x00\xa1\x99\x9a\x00\x06\x00\x00\x00\x00\x00\x01\x002\x00\ -\x00\x00\x01\x00Z\x00\x00\x00\x06\x00\x00\x00\x00\x00\x01\x00\ -5\x00\x00\x00\x01\x00-\x00\x00\x00\x06\x00\x00\x00\x00\x00\ -\x018BIM\x03\xf8\x00\x00\x00\x00\x00p\x00\x00\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\x03\xe8\x00\x00\x00\x00\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\x03\xe8\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x03\xe8\x00\ -\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\x03\xe8\x00\x008BI\ -M\x04\x00\x00\x00\x00\x00\x00\x02\x00\x018BIM\x04\ -\x02\x00\x00\x00\x00\x00\x04\x00\x00\x00\x008BIM\x04\ -0\x00\x00\x00\x00\x00\x02\x01\x018BIM\x04-\x00\ -\x00\x00\x00\x00\x06\x00\x01\x00\x00\x00\x048BIM\x04\ -\x08\x00\x00\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x02@\x00\ -\x00\x02@\x00\x00\x00\x008BIM\x04\x1e\x00\x00\x00\ -\x00\x00\x04\x00\x00\x00\x008BIM\x04\x1a\x00\x00\x00\ -\x00\x035\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00`\x00\x00\x00`\x00\x00\x00\x00\x00\x00\x00\x01\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x00\ -\x00\x00`\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\x00\ -\x00\x00null\x00\x00\x00\x02\x00\x00\x00\x06bo\ -undsObjc\x00\x00\x00\x01\x00\x00\x00\x00\ -\x00\x00Rct1\x00\x00\x00\x04\x00\x00\x00\x00To\ -p long\x00\x00\x00\x00\x00\x00\x00\x00Le\ -ftlong\x00\x00\x00\x00\x00\x00\x00\x00Bt\ -omlong\x00\x00\x00`\x00\x00\x00\x00Rg\ -htlong\x00\x00\x00`\x00\x00\x00\x06sl\ -icesVlLs\x00\x00\x00\x01Objc\ -\x00\x00\x00\x01\x00\x00\x00\x00\x00\x05slice\x00\ -\x00\x00\x12\x00\x00\x00\x07sliceIDlo\ -ng\x00\x00\x00\x00\x00\x00\x00\x07groupI\ -Dlong\x00\x00\x00\x00\x00\x00\x00\x06ori\ -ginenum\x00\x00\x00\x0cESlic\ -eOrigin\x00\x00\x00\x0dautoG\ -enerated\x00\x00\x00\x00Type\ -enum\x00\x00\x00\x0aESliceTy\ -pe\x00\x00\x00\x00Img \x00\x00\x00\x06bo\ -undsObjc\x00\x00\x00\x01\x00\x00\x00\x00\ -\x00\x00Rct1\x00\x00\x00\x04\x00\x00\x00\x00To\ -p long\x00\x00\x00\x00\x00\x00\x00\x00Le\ -ftlong\x00\x00\x00\x00\x00\x00\x00\x00Bt\ -omlong\x00\x00\x00`\x00\x00\x00\x00Rg\ -htlong\x00\x00\x00`\x00\x00\x00\x03ur\ -lTEXT\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00n\ -ullTEXT\x00\x00\x00\x01\x00\x00\x00\x00\x00\ -\x00MsgeTEXT\x00\x00\x00\x01\x00\x00\x00\ -\x00\x00\x06altTagTEXT\x00\x00\x00\ -\x01\x00\x00\x00\x00\x00\x0ecellTextI\ -sHTMLbool\x01\x00\x00\x00\x08ce\ -llTextTEXT\x00\x00\x00\x01\x00\x00\ -\x00\x00\x00\x09horzAlignenu\ -m\x00\x00\x00\x0fESliceHorzA\ -lign\x00\x00\x00\x07default\x00\ -\x00\x00\x09vertAlignenum\ -\x00\x00\x00\x0fESliceVertAl\ -ign\x00\x00\x00\x07default\x00\x00\ -\x00\x0bbgColorTypeenu\ -m\x00\x00\x00\x11ESliceBGCol\ -orType\x00\x00\x00\x00None\x00\x00\ -\x00\x09topOutsetlong\x00\ -\x00\x00\x00\x00\x00\x00\x0aleftOutse\ -tlong\x00\x00\x00\x00\x00\x00\x00\x0cbot\ -tomOutsetlong\x00\x00\x00\ -\x00\x00\x00\x00\x0brightOutset\ -long\x00\x00\x00\x00\x008BIM\x04(\x00\ -\x00\x00\x00\x00\x0c\x00\x00\x00\x02?\xf0\x00\x00\x00\x00\x00\ -\x008BIM\x04\x14\x00\x00\x00\x00\x00\x04\x00\x00\x00\ -\x048BIM\x04\x0c\x00\x00\x00\x00\x03\xeb\x00\x00\x00\ -\x01\x00\x00\x000\x00\x00\x000\x00\x00\x00\x90\x00\x00\x1b\ -\x00\x00\x00\x03\xcf\x00\x18\x00\x01\xff\xd8\xff\xed\x00\x0cA\ -dobe_CM\x00\x01\xff\xee\x00\x0eAdo\ -be\x00d\x80\x00\x00\x00\x01\xff\xdb\x00\x84\x00\x0c\x08\ -\x08\x08\x09\x08\x0c\x09\x09\x0c\x11\x0b\x0a\x0b\x11\x15\x0f\x0c\ -\x0c\x0f\x15\x18\x13\x13\x15\x13\x13\x18\x11\x0c\x0c\x0c\x0c\x0c\ -\x0c\x11\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\ -\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x01\x0d\ -\x0b\x0b\x0d\x0e\x0d\x10\x0e\x0e\x10\x14\x0e\x0e\x0e\x14\x14\x0e\ -\x0e\x0e\x0e\x14\x11\x0c\x0c\x0c\x0c\x0c\x11\x11\x0c\x0c\x0c\x0c\ -\x0c\x0c\x11\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\ -\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\xff\ -\xc0\x00\x11\x08\x000\x000\x03\x01\x22\x00\x02\x11\x01\x03\ -\x11\x01\xff\xdd\x00\x04\x00\x03\xff\xc4\x01?\x00\x00\x01\x05\ -\x01\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x03\x00\x01\ -\x02\x04\x05\x06\x07\x08\x09\x0a\x0b\x01\x00\x01\x05\x01\x01\x01\ -\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x03\x04\x05\ -\x06\x07\x08\x09\x0a\x0b\x10\x00\x01\x04\x01\x03\x02\x04\x02\x05\ -\x07\x06\x08\x05\x03\x0c3\x01\x00\x02\x11\x03\x04!\x121\ -\x05AQa\x13\x22q\x812\x06\x14\x91\xa1\xb1B#\ -$\x15R\xc1b34r\x82\xd1C\x07%\x92S\xf0\ -\xe1\xf1cs5\x16\xa2\xb2\x83&D\x93TdE\xc2\ -\xa3t6\x17\xd2U\xe2e\xf2\xb3\x84\xc3\xd3u\xe3\xf3\ -F'\x94\xa4\x85\xb4\x95\xc4\xd4\xe4\xf4\xa5\xb5\xc5\xd5\xe5\ -\xf5Vfv\x86\x96\xa6\xb6\xc6\xd6\xe6\xf67GWg\ -w\x87\x97\xa7\xb7\xc7\xd7\xe7\xf7\x11\x00\x02\x02\x01\x02\x04\ -\x04\x03\x04\x05\x06\x07\x07\x06\x055\x01\x00\x02\x11\x03!\ -1\x12\x04AQaq\x22\x13\x052\x81\x91\x14\xa1\xb1\ -B#\xc1R\xd1\xf03$b\xe1r\x82\x92CS\x15\ -cs4\xf1%\x06\x16\xa2\xb2\x83\x07&5\xc2\xd2D\ -\x93T\xa3\x17dEU6te\xe2\xf2\xb3\x84\xc3\xd3\ -u\xe3\xf3F\x94\xa4\x85\xb4\x95\xc4\xd4\xe4\xf4\xa5\xb5\xc5\ -\xd5\xe5\xf5Vfv\x86\x96\xa6\xb6\xc6\xd6\xe6\xf6'7\ -GWgw\x87\x97\xa7\xb7\xc7\xff\xda\x00\x0c\x03\x01\x00\ -\x02\x11\x03\x11\x00?\x00\xf4<\xdc\xcc\x96d\x9a\xa9;\ -@\x80\x00\x00\x92O\xc6P\xfd~\xab\xe0\xff\x00\xfbl\ -\x7f\xe4R\xc9\xff\x00\x95\x1b\xfdz\xff\x00\xef\xabU\xce\ -\x0dis\xb4\x00I>A%9^\xbfU\xf0\x7f\xfd\ -\xb6?\xf2)z\xfdW\xc1\xff\x00\xf6\xd8\xff\x00\xc8\xa2\ -UU\xf9\xe0\xdde\x8e\xaa\x92}\x95\xb7\xc0x\xa7{\ -o\xe9\xeem\x82\xc3n9 =\xae\xd4\x89\xee\x12R\ -/_\xaa\xf8?\xfc\xc1\xff\x00\x91D\xc0\xcc\xc8\xb3#\ -\xd2\xb4\xee\x04\x1e@\x04\x11\xfdU\xa4\xb20\x7f\xe5\x03\ -\xff\x00\x5c\xfc\xa9)\xff\xd0\xef\xf2\x7f\xe5F\xff\x00^\ -\xbf\xfb\xea\xb9\x9f\x7f\xa7W\xa6\x1a\x5c\xfb\x81c@\xf3\ -\x11\xfcU<\x9f\xf9Q\xbf\xd7\xaf\xfe\xfa\xacu\x0f\xe9\ -\x18\x9f\xf1\x9f\xc5\x89)\x1e>NU\x14\xb6\xaf\xb2\xbd\ -\xdbg\xdd\xa8\xe4\xcf\xee\xa8\xe5]\x95\x93I\xa8\xe2\xbd\ -\x92A\x9dO\x1f\xd9\x0a\xdfP\xb6\xea\xb1\xf7\xd3\xa1\x90\ -\x1c\xee`x\xa9aYu\x98\xed}\xdfH\xcc\x1e$\ -~k\x92R\xd8y\x02\xfa\xa7ik\x98v\xb8\x1f\x10\ -\xa8`\xff\x00\xca\x07\xfe\xb9\xf9U\x9e\x97\xf4.\xff\x00\ -\x8d*\xb6\x0f\xfc\xa0\x7f\xeb\x9f\x95%?\xff\xd1\xef\xf2\ -\x7f\xe5F\xff\x00^\xbf\xfb\xea?R;,\xc6\xb4\x83\ -\xb1\x8f\x97\x11\xf1i\xff\x00\xbe\xa8f\xe1d\xbf$\xdb\ -P\x90b\x0c\xc1\x04!\xfd\x9b\xaa~\xf3\xff\x00\xed\xcf\ -\xfc\xc9%'\xb7\xa8\xe1[[\xabxyk\x84\x1d\x08\ -N\xce\xa7\x86\xc65\x8d\x0f\x0dh\x00\x0d\xa7\x80\xab\xfd\ -\x9b\xaa~\xf3\xff\x00\xed\xcf\xf6\xa5\xf6n\xa9\xfb\xcf\xff\ -\x00\xb7?\xda\x92\x9b\x1d(\x1fJ\xd7A\x0du\x84\xb4\ -\x9e\xe1V\xc1\xff\x00\x94\x0f\xc6\xcf\xca\x9f\xec\xddS\xf7\ -\x9f\xff\x00n\x7f\xe6H\xb88Y\x15\xdf\xea\xda\x03@\ -\x04s$\x92\x92\x9f\xff\xd9\x008BIM\x04!\x00\ -\x00\x00\x00\x00]\x00\x00\x00\x01\x01\x00\x00\x00\x0f\x00A\ -\x00d\x00o\x00b\x00e\x00 \x00P\x00h\x00o\ -\x00t\x00o\x00s\x00h\x00o\x00p\x00\x00\x00\x17\ -\x00A\x00d\x00o\x00b\x00e\x00 \x00P\x00h\ -\x00o\x00t\x00o\x00s\x00h\x00o\x00p\x00 \ -\x00C\x00C\x00 \x002\x000\x001\x007\x00\x00\ -\x00\x01\x00\x00\x00\x0cHLino\x02\x10\x00\x00m\ -ntrRGB XYZ \x07\xce\x00\x02\x00\ -\x09\x00\x06\x001\x00\x00acspMSFT\x00\ -\x00\x00\x00IEC sRGB\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf6\xd6\x00\x01\x00\x00\x00\ -\x00\xd3-HP \x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x11cprt\x00\x00\x01P\x00\ -\x00\x003desc\x00\x00\x01\x84\x00\x00\x00lw\ -tpt\x00\x00\x01\xf0\x00\x00\x00\x14bkpt\x00\ -\x00\x02\x04\x00\x00\x00\x14rXYZ\x00\x00\x02\x18\x00\ -\x00\x00\x14gXYZ\x00\x00\x02,\x00\x00\x00\x14b\ -XYZ\x00\x00\x02@\x00\x00\x00\x14dmnd\x00\ -\x00\x02T\x00\x00\x00pdmdd\x00\x00\x02\xc4\x00\ -\x00\x00\x88vued\x00\x00\x03L\x00\x00\x00\x86v\ -iew\x00\x00\x03\xd4\x00\x00\x00$lumi\x00\ -\x00\x03\xf8\x00\x00\x00\x14meas\x00\x00\x04\x0c\x00\ -\x00\x00$tech\x00\x00\x040\x00\x00\x00\x0cr\ -TRC\x00\x00\x04<\x00\x00\x08\x0cgTRC\x00\ -\x00\x04<\x00\x00\x08\x0cbTRC\x00\x00\x04<\x00\ -\x00\x08\x0ctext\x00\x00\x00\x00Copyr\ -ight (c) 1998 He\ -wlett-Packard Co\ -mpany\x00\x00desc\x00\x00\x00\x00\x00\ -\x00\x00\x12sRGB IEC61966\ --2.1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\ -sRGB IEC61966-2.\ -1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00XYZ \x00\x00\x00\x00\x00\x00\xf3Q\x00\ -\x01\x00\x00\x00\x01\x16\xccXYZ \x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00XYZ \x00\ -\x00\x00\x00\x00\x00o\xa2\x00\x008\xf5\x00\x00\x03\x90X\ -YZ \x00\x00\x00\x00\x00\x00b\x99\x00\x00\xb7\x85\x00\ -\x00\x18\xdaXYZ \x00\x00\x00\x00\x00\x00$\xa0\x00\ -\x00\x0f\x84\x00\x00\xb6\xcfdesc\x00\x00\x00\x00\x00\ -\x00\x00\x16IEC http://ww\ -w.iec.ch\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x16IEC http://w\ -ww.iec.ch\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00desc\x00\x00\x00\x00\x00\ -\x00\x00.IEC 61966-2.1\ - Default RGB col\ -our space - sRGB\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00.IEC \ -61966-2.1 Defaul\ -t RGB colour spa\ -ce - sRGB\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00d\ -esc\x00\x00\x00\x00\x00\x00\x00,Refer\ -ence Viewing Con\ -dition in IEC619\ -66-2.1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00,Reference View\ -ing Condition in\ - IEC61966-2.1\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00view\x00\x00\x00\x00\x00\ -\x13\xa4\xfe\x00\x14_.\x00\x10\xcf\x14\x00\x03\xed\xcc\x00\ -\x04\x13\x0b\x00\x03\x5c\x9e\x00\x00\x00\x01XYZ \x00\ -\x00\x00\x00\x00L\x09V\x00P\x00\x00\x00W\x1f\xe7m\ -eas\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x8f\x00\ -\x00\x00\x02sig \x00\x00\x00\x00CRT c\ -urv\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x05\x00\ -\x0a\x00\x0f\x00\x14\x00\x19\x00\x1e\x00#\x00(\x00-\x00\ -2\x007\x00;\x00@\x00E\x00J\x00O\x00T\x00\ -Y\x00^\x00c\x00h\x00m\x00r\x00w\x00|\x00\ -\x81\x00\x86\x00\x8b\x00\x90\x00\x95\x00\x9a\x00\x9f\x00\xa4\x00\ -\xa9\x00\xae\x00\xb2\x00\xb7\x00\xbc\x00\xc1\x00\xc6\x00\xcb\x00\ -\xd0\x00\xd5\x00\xdb\x00\xe0\x00\xe5\x00\xeb\x00\xf0\x00\xf6\x00\ -\xfb\x01\x01\x01\x07\x01\x0d\x01\x13\x01\x19\x01\x1f\x01%\x01\ -+\x012\x018\x01>\x01E\x01L\x01R\x01Y\x01\ -`\x01g\x01n\x01u\x01|\x01\x83\x01\x8b\x01\x92\x01\ -\x9a\x01\xa1\x01\xa9\x01\xb1\x01\xb9\x01\xc1\x01\xc9\x01\xd1\x01\ -\xd9\x01\xe1\x01\xe9\x01\xf2\x01\xfa\x02\x03\x02\x0c\x02\x14\x02\ -\x1d\x02&\x02/\x028\x02A\x02K\x02T\x02]\x02\ -g\x02q\x02z\x02\x84\x02\x8e\x02\x98\x02\xa2\x02\xac\x02\ -\xb6\x02\xc1\x02\xcb\x02\xd5\x02\xe0\x02\xeb\x02\xf5\x03\x00\x03\ -\x0b\x03\x16\x03!\x03-\x038\x03C\x03O\x03Z\x03\ -f\x03r\x03~\x03\x8a\x03\x96\x03\xa2\x03\xae\x03\xba\x03\ -\xc7\x03\xd3\x03\xe0\x03\xec\x03\xf9\x04\x06\x04\x13\x04 \x04\ --\x04;\x04H\x04U\x04c\x04q\x04~\x04\x8c\x04\ -\x9a\x04\xa8\x04\xb6\x04\xc4\x04\xd3\x04\xe1\x04\xf0\x04\xfe\x05\ -\x0d\x05\x1c\x05+\x05:\x05I\x05X\x05g\x05w\x05\ -\x86\x05\x96\x05\xa6\x05\xb5\x05\xc5\x05\xd5\x05\xe5\x05\xf6\x06\ -\x06\x06\x16\x06'\x067\x06H\x06Y\x06j\x06{\x06\ -\x8c\x06\x9d\x06\xaf\x06\xc0\x06\xd1\x06\xe3\x06\xf5\x07\x07\x07\ -\x19\x07+\x07=\x07O\x07a\x07t\x07\x86\x07\x99\x07\ -\xac\x07\xbf\x07\xd2\x07\xe5\x07\xf8\x08\x0b\x08\x1f\x082\x08\ -F\x08Z\x08n\x08\x82\x08\x96\x08\xaa\x08\xbe\x08\xd2\x08\ -\xe7\x08\xfb\x09\x10\x09%\x09:\x09O\x09d\x09y\x09\ -\x8f\x09\xa4\x09\xba\x09\xcf\x09\xe5\x09\xfb\x0a\x11\x0a'\x0a\ -=\x0aT\x0aj\x0a\x81\x0a\x98\x0a\xae\x0a\xc5\x0a\xdc\x0a\ -\xf3\x0b\x0b\x0b\x22\x0b9\x0bQ\x0bi\x0b\x80\x0b\x98\x0b\ -\xb0\x0b\xc8\x0b\xe1\x0b\xf9\x0c\x12\x0c*\x0cC\x0c\x5c\x0c\ -u\x0c\x8e\x0c\xa7\x0c\xc0\x0c\xd9\x0c\xf3\x0d\x0d\x0d&\x0d\ -@\x0dZ\x0dt\x0d\x8e\x0d\xa9\x0d\xc3\x0d\xde\x0d\xf8\x0e\ -\x13\x0e.\x0eI\x0ed\x0e\x7f\x0e\x9b\x0e\xb6\x0e\xd2\x0e\ -\xee\x0f\x09\x0f%\x0fA\x0f^\x0fz\x0f\x96\x0f\xb3\x0f\ -\xcf\x0f\xec\x10\x09\x10&\x10C\x10a\x10~\x10\x9b\x10\ -\xb9\x10\xd7\x10\xf5\x11\x13\x111\x11O\x11m\x11\x8c\x11\ -\xaa\x11\xc9\x11\xe8\x12\x07\x12&\x12E\x12d\x12\x84\x12\ -\xa3\x12\xc3\x12\xe3\x13\x03\x13#\x13C\x13c\x13\x83\x13\ -\xa4\x13\xc5\x13\xe5\x14\x06\x14'\x14I\x14j\x14\x8b\x14\ -\xad\x14\xce\x14\xf0\x15\x12\x154\x15V\x15x\x15\x9b\x15\ -\xbd\x15\xe0\x16\x03\x16&\x16I\x16l\x16\x8f\x16\xb2\x16\ -\xd6\x16\xfa\x17\x1d\x17A\x17e\x17\x89\x17\xae\x17\xd2\x17\ -\xf7\x18\x1b\x18@\x18e\x18\x8a\x18\xaf\x18\xd5\x18\xfa\x19\ - \x19E\x19k\x19\x91\x19\xb7\x19\xdd\x1a\x04\x1a*\x1a\ -Q\x1aw\x1a\x9e\x1a\xc5\x1a\xec\x1b\x14\x1b;\x1bc\x1b\ -\x8a\x1b\xb2\x1b\xda\x1c\x02\x1c*\x1cR\x1c{\x1c\xa3\x1c\ -\xcc\x1c\xf5\x1d\x1e\x1dG\x1dp\x1d\x99\x1d\xc3\x1d\xec\x1e\ -\x16\x1e@\x1ej\x1e\x94\x1e\xbe\x1e\xe9\x1f\x13\x1f>\x1f\ -i\x1f\x94\x1f\xbf\x1f\xea \x15 A l \x98 \ -\xc4 \xf0!\x1c!H!u!\xa1!\xce!\xfb\x22\ -'\x22U\x22\x82\x22\xaf\x22\xdd#\x0a#8#f#\ -\x94#\xc2#\xf0$\x1f$M$|$\xab$\xda%\ -\x09%8%h%\x97%\xc7%\xf7&'&W&\ -\x87&\xb7&\xe8'\x18'I'z'\xab'\xdc(\ -\x0d(?(q(\xa2(\xd4)\x06)8)k)\ -\x9d)\xd0*\x02*5*h*\x9b*\xcf+\x02+\ -6+i+\x9d+\xd1,\x05,9,n,\xa2,\ -\xd7-\x0c-A-v-\xab-\xe1.\x16.L.\ -\x82.\xb7.\xee/$/Z/\x91/\xc7/\xfe0\ -50l0\xa40\xdb1\x121J1\x821\xba1\ -\xf22*2c2\x9b2\xd43\x0d3F3\x7f3\ -\xb83\xf14+4e4\x9e4\xd85\x135M5\ -\x875\xc25\xfd676r6\xae6\xe97$7\ -`7\x9c7\xd78\x148P8\x8c8\xc89\x059\ -B9\x7f9\xbc9\xf9:6:t:\xb2:\xef;\ --;k;\xaa;\xe8<' >`>\xa0>\xe0?\ -!?a?\xa2?\xe2@#@d@\xa6@\xe7A\ -)AjA\xacA\xeeB0BrB\xb5B\xf7C\ -:C}C\xc0D\x03DGD\x8aD\xceE\x12E\ -UE\x9aE\xdeF\x22FgF\xabF\xf0G5G\ -{G\xc0H\x05HKH\x91H\xd7I\x1dIcI\ -\xa9I\xf0J7J}J\xc4K\x0cKSK\x9aK\ -\xe2L*LrL\xbaM\x02MJM\x93M\xdcN\ -%NnN\xb7O\x00OIO\x93O\xddP'P\ -qP\xbbQ\x06QPQ\x9bQ\xe6R1R|R\ -\xc7S\x13S_S\xaaS\xf6TBT\x8fT\xdbU\ -(UuU\xc2V\x0fV\x5cV\xa9V\xf7WDW\ -\x92W\xe0X/X}X\xcbY\x1aYiY\xb8Z\ -\x07ZVZ\xa6Z\xf5[E[\x95[\xe5\x5c5\x5c\ -\x86\x5c\xd6]']x]\xc9^\x1a^l^\xbd_\ -\x0f_a_\xb3`\x05`W`\xaa`\xfcaOa\ -\xa2a\xf5bIb\x9cb\xf0cCc\x97c\xebd\ -@d\x94d\xe9e=e\x92e\xe7f=f\x92f\ -\xe8g=g\x93g\xe9h?h\x96h\xeciCi\ -\x9ai\xf1jHj\x9fj\xf7kOk\xa7k\xffl\ -Wl\xafm\x08m`m\xb9n\x12nkn\xc4o\ -\x1eoxo\xd1p+p\x86p\xe0q:q\x95q\ -\xf0rKr\xa6s\x01s]s\xb8t\x14tpt\ -\xccu(u\x85u\xe1v>v\x9bv\xf8wVw\ -\xb3x\x11xnx\xccy*y\x89y\xe7zFz\ -\xa5{\x04{c{\xc2|!|\x81|\xe1}A}\ -\xa1~\x01~b~\xc2\x7f#\x7f\x84\x7f\xe5\x80G\x80\ -\xa8\x81\x0a\x81k\x81\xcd\x820\x82\x92\x82\xf4\x83W\x83\ -\xba\x84\x1d\x84\x80\x84\xe3\x85G\x85\xab\x86\x0e\x86r\x86\ -\xd7\x87;\x87\x9f\x88\x04\x88i\x88\xce\x893\x89\x99\x89\ -\xfe\x8ad\x8a\xca\x8b0\x8b\x96\x8b\xfc\x8cc\x8c\xca\x8d\ -1\x8d\x98\x8d\xff\x8ef\x8e\xce\x8f6\x8f\x9e\x90\x06\x90\ -n\x90\xd6\x91?\x91\xa8\x92\x11\x92z\x92\xe3\x93M\x93\ -\xb6\x94 \x94\x8a\x94\xf4\x95_\x95\xc9\x964\x96\x9f\x97\ -\x0a\x97u\x97\xe0\x98L\x98\xb8\x99$\x99\x90\x99\xfc\x9a\ -h\x9a\xd5\x9bB\x9b\xaf\x9c\x1c\x9c\x89\x9c\xf7\x9dd\x9d\ -\xd2\x9e@\x9e\xae\x9f\x1d\x9f\x8b\x9f\xfa\xa0i\xa0\xd8\xa1\ -G\xa1\xb6\xa2&\xa2\x96\xa3\x06\xa3v\xa3\xe6\xa4V\xa4\ -\xc7\xa58\xa5\xa9\xa6\x1a\xa6\x8b\xa6\xfd\xa7n\xa7\xe0\xa8\ -R\xa8\xc4\xa97\xa9\xa9\xaa\x1c\xaa\x8f\xab\x02\xabu\xab\ -\xe9\xac\x5c\xac\xd0\xadD\xad\xb8\xae-\xae\xa1\xaf\x16\xaf\ -\x8b\xb0\x00\xb0u\xb0\xea\xb1`\xb1\xd6\xb2K\xb2\xc2\xb3\ -8\xb3\xae\xb4%\xb4\x9c\xb5\x13\xb5\x8a\xb6\x01\xb6y\xb6\ -\xf0\xb7h\xb7\xe0\xb8Y\xb8\xd1\xb9J\xb9\xc2\xba;\xba\ -\xb5\xbb.\xbb\xa7\xbc!\xbc\x9b\xbd\x15\xbd\x8f\xbe\x0a\xbe\ -\x84\xbe\xff\xbfz\xbf\xf5\xc0p\xc0\xec\xc1g\xc1\xe3\xc2\ -_\xc2\xdb\xc3X\xc3\xd4\xc4Q\xc4\xce\xc5K\xc5\xc8\xc6\ -F\xc6\xc3\xc7A\xc7\xbf\xc8=\xc8\xbc\xc9:\xc9\xb9\xca\ -8\xca\xb7\xcb6\xcb\xb6\xcc5\xcc\xb5\xcd5\xcd\xb5\xce\ -6\xce\xb6\xcf7\xcf\xb8\xd09\xd0\xba\xd1<\xd1\xbe\xd2\ -?\xd2\xc1\xd3D\xd3\xc6\xd4I\xd4\xcb\xd5N\xd5\xd1\xd6\ -U\xd6\xd8\xd7\x5c\xd7\xe0\xd8d\xd8\xe8\xd9l\xd9\xf1\xda\ -v\xda\xfb\xdb\x80\xdc\x05\xdc\x8a\xdd\x10\xdd\x96\xde\x1c\xde\ -\xa2\xdf)\xdf\xaf\xe06\xe0\xbd\xe1D\xe1\xcc\xe2S\xe2\ -\xdb\xe3c\xe3\xeb\xe4s\xe4\xfc\xe5\x84\xe6\x0d\xe6\x96\xe7\ -\x1f\xe7\xa9\xe82\xe8\xbc\xe9F\xe9\xd0\xea[\xea\xe5\xeb\ -p\xeb\xfb\xec\x86\xed\x11\xed\x9c\xee(\xee\xb4\xef@\xef\ -\xcc\xf0X\xf0\xe5\xf1r\xf1\xff\xf2\x8c\xf3\x19\xf3\xa7\xf4\ -4\xf4\xc2\xf5P\xf5\xde\xf6m\xf6\xfb\xf7\x8a\xf8\x19\xf8\ -\xa8\xf98\xf9\xc7\xfaW\xfa\xe7\xfbw\xfc\x07\xfc\x98\xfd\ -)\xfd\xba\xfeK\xfe\xdc\xffm\xff\xff\x80\x00 P8\ -$\x16\x0d\x07\x84BaP\xb8d6\x1d\x0f\x88Db\ -Q8\xa4V-\x17\x8cFcQ\xb8\xe4v=\x1f\x90\ -HdR9$\x96M'\x94JeR\xb9d\xb6]\ -/\x98A\x00\x930(*l\x0c\x9c\x03\x02\x13`P\ -0\x07?\x02?\xe8O\xe8X\x06 \x01\xa4\x00hO\ -\xfa$\x1a\x93H\x82R\xdf\xf0J}J\x06\xff\xa4\x80\ -\xa9t\xd0\x05\x1a\x07U\xa5\xd5\xeb\xf4\xfa\x8d\x86\x05S\ -\x81S\xe9VhK\xfc\x05o\x01\xd5\xaa\xf6\xca\x8d~\ -\x0fh\xb4\xd2\x00P\x8a\x95\x92\xefK\xb0P\xacW\x9a\ -M\xca\x9dI\xbe]05\xca\xf0\x02\x98\xfe\xc8>\xf2\ -O\xa7\xa6U\xe2\xf3\xcc<2O\xb7\xce\x1aSO\x07\ -\xe8Bcm!\x10\x87\xa7)\x89\xb5C\x00v\xb4#\ -?\x01\x81*\x98\x88]\xf7i\x87\xa4g\xb18+\x1e\ -\xe7\x01\xb7\x8e\xed\xaa\x17:\x15\xfa\x0d\xba\xde\xda\xf7\x98\ -Ln;\x7f\xbe\xe2\xf0!\x99\xec\x0d\xe2\xbbj\xe8T\ -\xab\x18^\x7f6\x9f\x90\xc8uz\xbb>\xcf\x81\xfc\xf8\ -\xf4=\x9c\xbe\xb6\xf3#\xdc\xbaa|VN\x0f\xa3c\ -6\xfa\x94\x04\xbfAb\xcf\xf4\xe0)\xc0\x03:r\x08\ --\xebzc\x03\xc1\x10L\x15\x05>\xe6\x94\x1cc\x13\ -p\x89\x04h\xc2\x86+\xee\x90\x00\xd0\xc8\x10(C\x83\ - \xdb\x0f\x91\x00LD\x05\xc1q,M\x13\xc5\x09B\ -\xa4fE\x85\xf9\x17\x17\x8d\xa6\xfcdk\xb9\x08\xb0;\ -\x1b\x84\x84LtV5A0_\x14\xc8\x12\x0c\x85!\ -\xa2\xe7\xd4\x8c|\x93RI\x00SI\x84|\x8c}\x1f\ -(\xc4\x0a\x01\x07\xb2\xa8\x9aCK\x058\x0f-\x812\ -$\xbd/\xcc\x13\x0a\x04gL\x86\x08\xed3\x8a\x87\x84\ -\xd4v#\x09\x98\x08\x02\x8a\xf3\x88\xda7\xce\x84\x5c\xa7\ -1O\x13\xcc\xf5\x03\x9d\x13\xe9\xc44P\x02\x11\xc9A\ -\x9b\xa8\xc42\x03\x01\x03-\x14?\x0c\x14h\xf0\xe3O\ -t\x8d%I\xa3\xe7\x95,w\x0c\x94\xc8|oS\x86\ -\xad\x0d\x0d\x0d\x95\x09\x0e\xfe\x8b#}!JU\x15M\ -T\x873\x07\x99\xe1E\x0c\xa1\xf1\xb9Y\x9ah\xc4\xb6\ -\x03\x810\xf8\xdaDN\x22\xb8\xdbS\xc4\xae\x13\x9bU\ -\xc8q\xab\xae\xe1\xa1V\x15UV\x9e\x14\xc8\xc8\x1e\x9b\ -\xb6\x89\xa9O\xd1\x03u\xacD\xd7\xb5\xfb\xa4\x89\xaaF\ -\xdd\xbch\x9e\xb7\x09\xe6\xea\xcav\x13\xa8\xe0\x1f\xb7I\ -\xfb;\xb8\x8e\xdb\xb2\xf29Wr\xd4\x82<\xc8E\x80\ -\xe3\xbb\xab+\xa3d9\xd7\xdd\xe3}-\xd0-\xec\xe0\ -X\xc8\xa3\xc6\xe4\xbc\xce\xc5\xde\xbf\xb9`\x04\xdc\x02\x84\ -X\x88T\x05\xe2\x80r8\xca\x9e\x87\x8d\x9c\x1e\xd6f\ -\xe5j\x8b\xd6\xe0MB6\x10\xe2\xc6L7^\xe8\x89\ -\xf9\x95\x9fc\xa6\x5c(\x9a\xf9\x89\x9be!\xf72\x87\ -\x02\x80xN\x15\x80:\xb6\x15 \xed.\x92\x9d\xea\x81\ -\xe8O\x06R\xe9\xad\x97r\xb5\x9b\xae\x17\xa6\x8c\xe0`\ -\xeec\xcdr\xbb\xb9\xa5\x93|\xdd\xb4\x83\xcc\x08\xeb\x80\ -\xa8\xf9\xaf\x93an\xc4\x1cb\xec\xb0\xc7\xb3\x87\x96\x89\ -\xbbi\xe4\x12\xe6GQ\xbf\xa3z8\xfb\x8c\xdb\xa8~\ -i\xef\x06E\x89\xbd\xef\x88>\xb8\x08\x82\xb1\xd1\x12U\ -\x86\x5c(~\x8eY\x9b\xa8\xcc\x1f\xdb\xc6\xd9\xa5[K\ -\x95\xd5y9h\xe8{\xefX\x07\xc6\xa74d\xef\xa8\ -\xbcD\x04\x81a\x0fD\x14\x82\x9d(2\x0a\xf5\x00\xd3\ -Z\x07\x02G\x7f\x5cu\x9d\x9d\x89\xccu\xf6\x8758\ -o\x1a\xd0\xbf:\x8a\x82\x1d\xe8)\x17\x91epa\xe1\ -\x87\x9c\xaa\x1d\x8ccT\xce9Zr\x15\xc6\xdf\x93\x0b\ -\x19E\xb6\x89I\xe7\xc8\xcf\xeb\x88\x1b\xc1\xa7\xbdwh\ -Gz\x08\x02\x82\x07\xc4(|B\x00\x9e\xd2\x06\xc2%\ -\x0e\x04#\x07\xb7\xdcy\x98\xdf\x89n`~\x85\x8b\xe2\ -a\x16_q\xecz{\xbe\xf7|\xf0\x1e\x13\xc4x\xc4\ -5f=p\xce\x10\x06\xd4\x09\x1a+P\x049%H\ -\xdc\x88\xd9\xf7\x80\xc1\x01\x07\x0d!\x8e\xf7I\xe0\x0c\x0b\ -\x90l9\xc1\xb0\xb8\x1d \xc90MC\xc0v\x09\xc8\ -L \xc5l)\x13\x0e\xe9\xce\xbd\xf0(\x22\xa1\x80\xad\ -p\xa0\xc8\x1f6V2\xe2\x81\xfc\x09\x1bP-\xb6\xbc\ -\xe5D\xf4\x1e\x92\xfc\x22\x8e]E9\x976\xdf\x02<\ -I\x0b\x01\xce&\x09\x03\xf4\x04\x80\xbaD=c\x94o\ -\x08X\xac\x19\x86TY\x17\xad\xf1\xd5\x81!\x19\x17\xc5\ -t3p\xe4mf9\x86:\xc7\xc8\xb3!rKf\ -\x01\x90\xc6\xe8\xdd\x9e\xd3\xdcR)L5GQ\x0a\xa3\ -C\x00xRk\xa8~\x08\xe8\xfc\x1cEL\x81\x12\x8a\ -\xaa\x17@\x00c!\xc1\xe9\x1c\x5c#\xd4y6p\xc6\ -\x0f#;\xcddP\xfd\x93\xc6\xd2\x16\xca\xc7\xe0\xfbs\ -\x11\xc5=\x00Y<\x01\x9c\x10\xab\x07\xd2\x8c'=\xd1\ -Y)\xc4\xb0\x88\x95A\xadI\xb7\xf7\x02\x8e\xe1\x9c5\ -\x8c\x86f3<\xc8z\x02V\xb0n[\x09\xc9\xb9\x99\ -70\xe6\x86\xa3\x9cO!\xf6b\x09\xc0\x9f1\xc3\x19\ - \x1dS,r\x8d\x89\x9c3\x9dp\xef\x1dO \xd0\ -\x80\xf8\x9f\x14\x01T\xd9\x06\xb0\xb8\x90\x09y\xbc\x1f\x04\ -\xec\xe1\x10\xa9\xeaWC\x01\x14+d81\x912\xcd\ -W1\xb6\xd4\xdb#K\x91D\x11\xb1\xe9\x91\x18\xde\xe2\ -\xe4\xe2`\x81\xf109\x89\x020\xa5\x87\x90\xee\x15T\ -\x0cJ\x8b\x8a\x0c)\x8f\xa0\xe0\x1b\x0c\x18\xa4\x82z\x1c\ -\x0c\x02e\x11\x0c\x13\x1c'\x867>\x89\x16\xe1K\x0e\ -\xb4l)?A\x80,\x13\x0c\x85E\xe2\xbat\xce\xb2\ -4\xf2!\xc4:\x87\x93\xc6\x1f2H\x1eG$\xc0\xfb\ -cs\x02a$ IM\xc1jL\x14\xc3=\x9c\x11\ -\x02\xa4)j\x00\x8e\x135\x0c?\x8fz\x8c=IC\ -\xdf\x02a\xca\xa6\x09\x00\x95S\xc2\xe1\x14\x7fC\xcd\x0e\ -\x05\x00H;\xaa\xc0\xeaH\x93\x96\x18\xd2W\x11-\x22\ -,\x91\x96\xeeJ \x11\xc7\xab\x0e)\xa2D\x125\xac\ -Z\x83\xba\xdc\x12\x88\x85F\x1e\xe3\xd6\x8d\x87P\xa2{\ -\x86@\xbbD\xd4D&\x05\xe0\xfd_\xc4\xf5=!\xe2\ -\xae\xc2\x09W\x04\x1b\x12$.\x9c\xd3\xa2DIb\x15\ -\x01^\xc5*\x81\x95\x92J\xcfR!=\xdb\xbbyH\ -\x00\xd2\xce\x04\x011g\xc5\xf9\x10I\xe3\xe2\x5c\x84\xa4\ -X3-\x0aC\x096\xac-\x88\x1b\x5c(\x97a\x0a\ -\xa6!V\xda\x02\xa1\xc7m\xc6\xe2@\xab\x93\x9e\xaf\x11\ -\xb7\x90\xc6\xeb\x15,W3\xcd\xcaYg-/\xa2-\ -iE\x22B\xe6\x0b@ys\xc2Y\x10\xb9\x82@:\ -\x0aK\xac#S\xd0w\xbbBR\xda\x05YXC\xe8\ -\x18\xaa\x12\x93\x986\xa4\x08]\x17\xc4`\xafx`\xc0\ -\x1eCa\xe3J`T\x92\x8dw\x16!\x11:cL\ -\xe2:%\x83\x22\xf2\xfe\x0e\xc5\x0e\x01\xc8dg\x0bx\ -\x0c\x18\xae\xa1\xfa\x9e\x98\xa0\x0b\x01\xa2\xbf\x06\x0d\xc8\x9e\ -\x05\x88`\xe9\xc2C\x8c%\xe1P=n\x9a\xeb\x82\x15\ -\x92\xc6E.\x19\x1a\xda.\x09\x15d2\xe4D\x85l\ -L\x1b,q\x09z\xb0N|\xa0\xb3N\x10\xc2\x9e\x1a\ -\x22\x17\xa07\x0a\x8cl$\xd5UL\x0eB8-c\ -\xd0\xe2D \xf03\x99\xc3`g\x22kwc'U\ -\xees\x0e5\xc7\xcbv\xdfK\xe0\x89\x93\x87\x18\xb5\x05\ -\x07\xbc\xac&B\x8eY\x0c\xc4@$e\xd04\xecG\ -`\xe7U@\xbf2\x03\xa9\xc2'F)\x10\x12\x99\xac\ -<\x0a\x0c\xdc\x22r3]\xb1v\xf6\x93\x99l\x96\xb7\ -\xb2m\xc2y\xf6V\xfa\x91($\xf6 \xac\x17D\xa2\ -KB\x0b`u\xa1\xc2I\x0c\xaeC\xd5*\x83\xd0\x18\ -\xdf%p\xbb\xd2Uh\x87\xcaqY*e^qp\ -\x10\x032\x02\xf0w\x8aHDe\xac2\xd8\x8b>\xbc\ -IYr\x88\xfb\x1fR\xfe\xfc\xa0\xbat4\x11\xea?\ -!c\x8bZ\x0d\xb0\xa5\xad\xc13\xdd\x19:\xec}\x9b\ -\x03dB\xe8\xf0\xb0e\xc1\xd0(\xa2jD\xf0o[\ -\xc5\xb8\xcf\x1c\xcb_\x08w|\xae\x22\xbe\xd4\x04\x1e\xcc\ -eD\x13\xa4\x85\xd8\xea\x95\xc42\x84\x8d\x80\xa9\xb7\xc1\ -K\xdd~#\x18|_\xf2\x19M#\xc3dD\xb6*\ -\x18\xe1\xcb}\x9d\xa2.L\xda\x0a\xeezg\xd9\xed\x94\ -\xa3\x85\x9aD\xa3\x0f~\x0fJ/\xb7\x0f\xae\xdf\x0a\x9b\ -\x85\xdd\xee=\xca\x86p\x01\x0b\x9d\xea\xf4\x16\xecg}\ -b\xf7vuc9\xdd\xc7o7'\xb4\xb6Y\x0d\xcf\ -\xf0\x1f@\xa2m\xf80\xf7\xf2#\xe0\x14+\x81pG\ -;\xc1\xb77\x0aZ\x5c3\x87>\x09\x0d\x220\xec\x8c\ -c{\xca[\xe2LL\x15\xb1G\x19\x8d\xc6N\x09\xf1\ -\xdd\xf7\xbfw\xf9\x0b\xdb\xbc\x97q?\x1e\x0e\x01\xb8I\ -\x0a\xe1i\xc7\x86\xa2Y]\x86\xb8\x89\x19\xa5\x0d\xda\xc9\ -\x11w\xd6\x1c:\xc0\x8b\xbb\xa1\xafi\x90m\xab\xbe\x90\ -_\x1f\xe4.\x83\x91\xed\xed\xc1\xd1w')\xe9\x5c\xaf\ -\xa6i\xa9^\x22Ee%\xeb\xa4\x15\xc4\xb7nip\ -\xaf\x9f\x18\xde\xd6_|O\x8e\xc0\x82\xbb\x17A!]\ -\x0f\xb3\xf0^\x8d\xda\x88OK\x0a\xfd5\x05\xee\xc9\xcf\ -\xd4H\xc6\xa2V8\x84\x8a>\xb6\xdf\x8fB\xd0p\x97\ -\xba\xab\x9e\xa0\xed\x04\x81\xef\xf8\xbe\xf4C\xb8\x04zP\ -\x14C5\xa0\xe2\x1br8\x1d\xbd\xd1m\xeb\xc7$\x9e\ -\x00\xa0\x18\x86#!\xbe5\xd5 /\xa6(&WJ\ -\xa1\x10*\xa3\x17s \x94\x00w\xc1>\xef\x88\x92\xe7\ -6\xc4\xff\x08\x81\xbdU\x00\x1a\x02\x0f>$\xc5?\x9b\ -\x86\xben\x1b\x00\xff\xd9\x04\xef\xf5\x04-\xd5\xbe(\x7f\ -\x00\x89\x17?\x8cT\x12\xcd\x8fI9\x84\xec\x1e\x10\xe3\ -\xe3\x91H\xd4\x885A\x1a\xeb\xefl\x92MP%\x00\ -#\x17\xdcO\x1e\x88_\x0a\xdc\xac\x0f`\xb4\x85\x82B\ -\xf1\xc8dp\xa9d\xe2G\x92Y\xef(\x22fB\xcf\ -g\xa2\xf9\x82\x04\xfeh\xe4$(\xac\x10\xa1L\x89 \ -\x8e\x0b/\xf4R\x8c\xdc\x14\x01\x0e\xcda(\x0fBI\ -\x00\x8f \x22\xe5\x98\x9d\xc5\xa4\x92P\x1c\x88%\x86\x22\ -h\x88V+\x94#\xc0q\x06`\x8b\x04\x01u\x03e\ -T<\x01\xfa\xe1\x8fl\x1a\xe2@\xc8\xec\xe8#)\x16\ -\x1eNf\xcf\x0e,\xfe\x223\x02B@\x0fP\x98\x13\ -\x0dn\x0a@\xcf\x07\x06\xf6\x12\xb0\xa8\x0fA?\x0a\xe1\ -\x0e$\x0b\xce\x8b\xeb\xd4x\x8ec\x08\x87\x94\xfd\xb0\x18\ -\xf9%\xae\xfa\xf0 \x00\x0e6\x82\x8f<$\x10@\x17\ -0f\x07\x00\x8c\x22\x08\xb2\x19Ay\x07P\xa4$G\ ->\x01\x8d:\xf5\xa2\x1e\x16\x10\xfc\x13a\x09\x10,\xb6\ -#\xe9\xaa\x02k\xd0\x15\xf0\x82#\x07\x90\xe2\x8c\xf2\xf9\ -\x05p\xef%\xb4\xefk\x8e\xd5MX\x98\x22@I!\ -4\x18\x0f\xf2!\xed\x1a\x01\x8d\x17\x0e\xe2B\xa6\xe0H\ -\x05\x8cl\x15\x08\xd0!\xa1k\x15!D\x0f\xf1X\x0b\ -\xf0~\xceHb\xd90\xcf\x11m\xe3\x08\xca\xc6\xda1\ -#\x05\xac\xfc\xef\xab2\xfe\x82?\x13\x114p\xc2!\ -\x13\xb1?\x14\x02?\x14QH\xc6\xd1N!\x91R\x16\ -\xb1W\x15\xb0\xb4\xe1\xed\xdb\x00\xca\xbeU\xcf\xd9\x16\xce\ -\xf1\x17\x10\xce\xc5g\xb0\xda\xc27\x18\x116!\xd1\x88\ -\xa8\xf1\x8d\x18\xeao\x191L\x22\x11\x9b\x19\xe0\xff\x15\ -\xc2>\xe9\xe9a\x1a\x8f\xd4\x96\xa6<\xe2\xcd\xeb\x17M\ -\xef\x12\x8b\x92\xd5\xa2;\x1c\x11\x85\x13\x84\xab\x13\xd1\xc9\ -\x1c\xa2;\x19\x11K\x19b\x17\x1dqY\x1d\xb1\xa2\xe5\ -\xcaG\x16Nt!p\x87\x08\xae+\x16\xed\xe8\xbe\x91\ -\xf0\xef\x8dT\xcan\xfe#\x91\xfc\x06H\xc7\x1cR\x03\ -\x18\xb2\x08#r\x0d\x19Q\xd5\x15R\x17\x1d\xc2<\xc8\ -\xf2!\x12EX31\xaf\x22\xac\xf4\x92\x90\x1f\x22\x22\ -\x15\x09Q~I1\x83$\x11\x87$r\x06@\xe07\ -(`B\x06r\x8c\x08\x08\x5c\xcc\x01\xcf\x0eax\xcc\ -\x01\xd0A2O\x1d\x22\x1f!Q\xa0#\xf0I\x1eB\ -4\xee\xa7\x17\x0cB$\xc4p\xca\xf9rp!0^\ -\x88\xd1-'q3\x1c\x22\x1b\x1cj\xe6%\x8fJ\x01\ -\x00\x14rP\xcc\x9e\xaab\x84\xc18\x10P:\x11\x09\ -0\x1f\x82Y*2\x10!R\xa9!\x91\xdf\x16\x0bx\ -\xfd0\x11\x11\x90\x8ed\xef6\x1fR9\x17\xc2=#\ -\xf2C-2\x81-bN\xbf\xf0:\x19\x04z\x06\x02\ -0\x18\xb34\x16\xc4\xe8\x0d\xeb\xa2%r\xf9%1\x9d\ -%q^p\x0e\xa1+\x023+G\x19\x1b\x11\x1c\xb8\ -ew\x09\x021,pc\x1f\xb2y-\x02\x19-J\ -\x90$\xe6\xde\x8f\x08\xf4#\xe1\x0f7\xe0\xd0\x85!Z\ -\x13\x22Q42\xa7%R\xaa#\xcf\x1c\xc3q\xff+\ -*\xc0\xf2mI5\xb1!\x0c\xf2u1\xb3k9\xb3\ - \xd1\xd2H$\x22r\x01\xeb\xf8\x17\x81\xd6a\xe2@\ -\xab\x01\xdc\x1d,\xba\x09\x004hbE8\xc2\x1d/\ -\xf2X#\xb1\x0ax\x10\x0b'\xcd\xde\xe2qk&\x93\ -\xa5\x1bR\xc2!\x13e\x1f\x92=:\xf3\xe9$S\xb5\ -(\x22C\x0d\xf0j\xcdpn$\xe4\x00\x0a`N\x1c\ -4\x1c\x1bBI=\x91Q9\x13\x019Q\xa4\xf1\xf3\ -P#\x12'\x0c3X\xfd\xc9\xe55\xf3\x10#jb\ -\x93r;\x1b\xf4\x011\xf3o23r$@\x83E\ -\xa0\xa2\x80\x02P\xc8,\x86\xc8\xa2GBQ\x99B\x93\ -\xde#\x91\xe0\xee\x10J\x22\xcf$VS\xa3C\xd1\x1f\ -?R`\xe3K\x91\x06\x13\xfdD\xd2\xcf;\x14S@\ -s$$J\x1c\x04\xe0`\xa8\x01J\x19\xe2P\xc5\xe0\ -&\x1e4\xb4\x1d\xd4#\x1c\xf2\x0f4Q\xd9G\x227\ -\x10\xb1\x0f\x11\x22.\xb7\xe7\x95\x01r\xbbC\xee/\x17\ -3b\xe7\x8d\x01\x0dr\xcd'\xb4P!sp$\x84\ -\xa6\x15\xd4\xf4\x1b@9O\xa0F$\x0bN\x17\xef\x9e\ -\x08S\x8bK\xd2Q8\xf3G9\x22;%\xc8\x05?\ -b\x0fCe\x9f+\x82#+\xc9t[3\x131p\ -'?\xf4\x97@3\xb3 T\x9e$\xa0\x8bT \xad\ -7\xe1\x0e\x15\x228\x8f\x88&\x1a\x15T\xcd\x22OF\ -\xd2\x13G\x13J\x02\xac\xe70\x8e\xa42\xcb\x81H0\ -\xc7Hr.\xefR2!\xe7\xaas\x01\xabX!\x95\ -\x12\xf4O'\xf4\x9dEbR\x0cU\x94\x0f@\xd3Y\ -\xa1\x08\xc5#\xef\x02\xa0\xcc\x16\x95\xa8\x142\xf7P\xd2\ -\xa5=\xb5a*\xd4.\xc9\x00{\x16umM5q\ -MuuM\xb3\xa9\x17\x91\xbc#S\x1dX\xd5=Y\ -\x02Xda\x0c\x8f\x00\xf2\x22\x11\x02\x10\x80\xcb\x0f\xc1\ -`\x13\x82aU\xd2\xfd[t-!\xc7\x83L\xc2-\ -\x16\x85cRB!R\x8cK,\x14\x8a!\x95~\x88\ -\xb5\x82\x1a\xb5\x87NsmN\xd4T&\x00\xbfb\xe0\ -\xecWL\xe0!\xe0\xf1c\xa0\xad;\xe1W_u\xb1\ -/\xa2\x13=\xd2\x1a\x85\xf1\xa6\x86\x8b\xdc\xd9\xcaW?\ -4@z5.\xdf3\x196\x957N\xa2\x15N\xe2\ -_b\xe0\xbfc$?cb\x1dc\xa0\xf1c\xeb\xf9\ -d\x22__\x96K_\xd5\x16\xc3$v\xeeU\x1c \ -\xd6\x08\x07\xd6\x0c!\xef\xdfWt\xdcH\xa4\x8e\xc5\x94\ -K]U\x8b \x15\x8fb\xd61cB!h\x16\x84\ -\x17\x96\x88%\xd6\x8c!\x16M0'\x01Vl\x92#\ -p\x86\x91\xc9!\x5cu'M\x93`\x22\xf4F\x88\xb5\ -\xd2#5\xd7k\x95\xda&\x0a\x9e\x09@\xb8\x10W\x04\ -\x14b Y\xc0yUA\xa1U\x96\xcddt\xc14\ -\x91\x084T\xcbV\x91\x14\xde\x16\x0bC\xa2&}h\ -\x1cn6b\xef\xd6gST\xe9]\x93\xb6%\x8f\xec\ -\xb0\x81V\x1a\xc8\x9e\x8a\x22\x0ev\xe1\xaa\xc0`\xb6\x06\ -P\x05Z\xf1GK\xf5\x11L6N\x80\x12_W\xad\ -\x99>\xd7+?\x14\x855\xc1\x11n\xa2-:\xb6i\ -s\xf6\xf9t\x22^\x04\x17\x90\x05\x07$t@B\x05\ -!\xady\xe1\x96\xd0\x81$\x0e\xe9\x96\x1dA\xcb*\x17\ -\x19vw\x1c#\xd4\xc9\x0b\x96\x04\x22\xb6\x9fj\x22\x1c\ -\xd4\xc5\xaf\x1e\xf4\xdf\x1fT\x91,\xb3\xadf\xb7A@\ -\x92J#\x16\xce \xf6\xd3%\xb6\x94pi\xd2\x07\xd0\ -\xcfG\xf4\xd5nu\xcb|\xd6\xacJ\x0f\x9e\xfa4\xe5\ -}w\x89@V\xfb}\xe25~\x22\x0d~b:\xfc\ -\xf7\xbe\x22\x97\xf5nV\x0em\xc5D\xca\x0f\xe42f\ -7a\xf6#\x80\x96'f\xf6+\x81\x023\x81B\x0b\ -\x81\x8299x:\x22\xb0\x87Y@\xc4\x07i\xdf\x05\ -X+sMR\xd5q\xf7}W\x87\x84\xe2\x11g\x18\ -@\x22\xf8D \x98H#r\xafeO\xd4\x82n\xab\ -&\xa6H\x88\x15\xcf#veS4\x95\x80\xb5;x\ -\xd8r\x22Xv xz#Tw9\x98\x81\x01\x15\ -o\x1e\xb2-\x5c\xd6\x9a \xb7\x84#\x8b>\x13\x01|\ -\xb3\x80h\x08\x22 \xbb@\xee\x0a\x81\xf3\x8da\xf1\x89\ -\xe2.\x03X\xe0\x04\x04\xce\x0e\xc9\x06!\xf5\xa8\x16\x81\ -@\x10\x18\xf4\x0c7j\xa4x\x1e\x22sU|B\x1b\ -jx\xb9ab\x17\x8b\xe26\x94,^\x0a\x98\xdcO\ -\x0b\xac\x14\x81\x1a\xba`\xe9d\xee!C4\xcf\x5c0\ -\x15\x82V\xa5n\x94C\x82\xf7\xd1,\x8aj#\xa9\xf6\ -\x89\xb9\x1aLM\x86\x0a-\x83\x92\x96S\x00\xf3S&\ -N\xedr\xd5\xc8\x92x\x8a\xcf\x97qH\xcf9N(\ -,$\x0c\x12\x01\xb2\x0e\x039|\x03\xf9JH\x17\x9e\ -\x1a\xc1\x97\x85@u/5b\xc3V\x99\x90\xc2\x15M\ -\x193\x8bMJCMO\x93\xa23n\xe5co\x22\ -8\x06\xb9\xb4\x08A'\x9b\xa1qC\x88)\xc2\x0aS\x82\x81\ -*\xcf\xcf\x18\x0b\xfcH\x06P\x09\x8c\xae\xbd\xc9\xbb\x9e\ -\xa1>\x0a\x91\xa3\x05\x83\x87\xdc\x1cG \xa2\xaa\xf4V\ -\xa0\xa3\x90i\x0b\x9cJ\x9c\x0a\xab\xbc\x0a4\x12\xa2\x9a\ -\x91\x08\x0c|D\x83\x92\x0a> \xa0[\x10{ \xa4\ -(\x1d\x17\x91\xa14d|\xa8\xf0\xdaY\x1b%p\xfa\ -|\xf9\x19\x822\x0aI\xa0\xa13Dn6\xa3k\x92\ -\x19\x97\x0a\x1cp\x95IiLt\xe7\x1f\xe0\x11\x9d)\ -\x90i\x00\xf4\xd3\xa1\xe4L\x8e=6\xa7\xf2s&\xa5\ -\x13\x02O'\xa5\x8e\x99\x9e\x08\x1f\xb3IJ\x82\x89R\ -\xc2,\x5c\x00s\x88\xb2\x18\xce\x8e\x03\xdb\x03\xb1\xf3\xc2\ -}2$\xf2\x99\x9c\x15:\xc7\xf1`\x82\x84\xb3r:\ -nN \x18\xa1:\x06&\xac8\xa5LI4\xf8\x91\ -5\xc6h\x86\x90\x15\xe8(\x1bC$\xe7\xa3\xfc\x01\x0a\ -P\x08d]\xa54\x8aKS$\x94\x9a5?\x08\x94\ -\x09d\x82\x814\xe2`|S\xe2uER$\x95B\ -\x81='\xb5R+\x1eG\xc8!b\x82\x81\x0a\x93\x96\ -\x82\x15\x8d\xa9n\xda\x9c@M\x9cq\xcd'\xe9\xfe~\ -Z\x80\xd5\xa8~\x17\xa8(8\xae\x1f\x08(\x9f\x0b\x86\ -\x85\xd2=]$W\x22=_\x22\x11\xe0\x8e\x82\xd0h\ -%\x8a\xa5\x9c-\xa8\xe7Q\x15\xf2\xea-\x1e\x1bh(\ -H\xb1[\xa8 \xa1p\x17,\xf5x\x9e\x5c\xc8\xed\xd0\ -\x85\xcf\xc1\xad\x02` \xa0R\x98F\x82\xd8\x88\xfa\x0f\ -b\x87\xba=|_KA\xec\xda\x87\xf29\x98\x8b`\ -\xa8\xe6B\x8d\xe0\xe84x\x0f \xa6J\x0a\x0c(\xd2\ -\xf2\x086\xdc\x04\xb2S\x8c \x97\xda\xdat<\xa08\ -l\xf4\x05\xafSG\x0e\xa8\xb9\x1a5\x83\x9bZ(\x1c\ -yi\x06*\x0a\x16)\x83-\xc0N%\xf9\xa0\x01\x9b\ -.F\x90\x17\xab\x87\x81N\xb4y\xa1\xda\x123\xaf#\ -\x14\x9a@\x00\xd2\xa5\x9a\x0a%\xa8\xed\xa9A#\x8c)\ -\x9e\xa5\xaa.\xa5\x94\x8e(6\xba\x02\x0d\xb0\x22\xfb\xc2\ --I\xd2\xa3\xe2@A\xa9\x87\x02\x0a\x15\xdc\x11be\ -\xb7\xaf\xad\xa8\xf1#\x91(V\xf4\x8a\xf1\xe8\xa4u\x1e\ -\x07\x88.\x18\x82\x00zn\x9e\x9c\xf1\x0b\xfb\xf8\x82\x07\ -\x97\x06T\xa8n\xd2V\x06\x9d\xba:)\xb5\xa3\xe9\x06\ -\x92\x0a\x0f\xa9\x87\x0d\x09p\x1f|\xe3\xe5|\xe6\xacG\ -p\x00\x06\x1c/\x22\x89\xf7\xe8\x93\xa3\x1e\x11\xb0\xaa\xa4\ -E\x5c\x03\xba{\xce\xb0\xed\xa9\x05#\x8f\xfe\x0a#\xe9\ -\x22\x06\x87\xad4M9\xf0\x18\xa6\xd1\x22\x0d\x19\xcb\xa7\ -~c\x12w\x81\x1f(<\x15\xfd\x07\xa4k\xd3\xa7S\ -\xf0\xec\x90q\xaa~,\x82\x01\xfd\xa7\x97\xdb\xe3,s\ -j9TD\x7f\xd6\xe9J\x12\x95\x16\xa9\xb0\xa9\x0d\xd5\ -\xc0\xdc\x09\xe8\xd2\x81@\x88\x90\x00RR\x83\x87\xda\xaf\ - \x89\x08\xa7\x8b4\x8e\x13\x9f\xf9JR\xa3e \x95\ -!\x8a\xb8\x1c\xa9\x82G\x82\xf8\x82\x84\x12\xa46\x128\ -)\x83%\x1dJ\xb8`\x00\xacJa\xb5\x16\x89\x1c&\ -\x984x\xa6W\xf1R\x1e\xe9\x1d\x87\x14g\xa8C\xd4\ -\xa8\xdf \xa0\x80\xa9\x0cu\xc0\x0e\x8c\x1a\x95\x18D\x80\ -\x1e\x95!\xbe\x91\xc1\x14+(\xcaU\x5c\x00\x00\x88T\ -\x86\xf2\xe0\x04p\xd8\xf9A\xc8&T\x85\xd2G]p\ -\xf9\xf6\x13\x95*\x22\x08+\xca)\xe3\xe1\xf2\x80\x80\x1e\ -\x0b#\x80\xfa.\xa8\xf2\x07\x10D\xec\x00!\xe9N\x10\ -\xa9\x1d\x14FH\x00O\xd3\xf0\x1f$\x03t\x82\xb9\x92\ -\x9e\x10\xd7\x04$.\x89\xf8\x1f\xb0\xb2\xa4>\x8d\xa8!\ -TK\x1d\xa0\xc6RltT\xa8\xa9$\x01X\xa6\x90\ -\x00\x0c\x09\x183\x82\x9d@\x10\x88L*\x17\x0c\x86\xc3\ -\xa1\xf1\x08\x8cJ&\x00fE\x910\x93\xb4R7\x1c\ -\x8e\xc2\xd3\xe3I\x09\x89\xff$\x8fI\xa4\xf0\xa9#\xfe\ -Q,\x8f@\x80 \x06\x94\xc8D\xfa\x9a\xb4! \xd9\ -l\xea8\xe3\x04O\x84\x82\xca\x0b\xeawD\xa2\xc3\x1a\ -\x94\x803\xe2\x96\xdb\x84\x87\xa8\xd5\x08c\xc0\x07T\x16\ -\x0cj\xeeYUF\xb7Z\xad\xd4%\xf0\xb6u\x88\xbc\ -\xfe\xb2\xa8k\xd5\xe9y\xa6\x0a3LZ-\xf1\xd6m\ -\xc8\xcf*\xb7\x5c(\xd2\xf2\xc5\xb1S)\x92\xdd\xe7U\ -\xdb\xfc\xb2\xc1\x0e\xb93S\xf2\xa3\x06\x0av\xe2\x02c\ -\x85C\x0c\x8b\xd7\x17\x7fhe\x81o\xcc\xcb^\x12\x1d\ -\xcaI\xe5\xe9\xbba\x9a\x1d\x81\xcfGt\xbah\xde\x12\ -\x1a\xe2\xd6\x82][\x06,$c\xa9\x8e\xcb\xd4\xb6\xc2\ -\xe6\xd6\xbd\x16f)a%\xad\xde\xaa\x04\xcd\x06\xf1\x87\ -bnK\xe7I~\xe1D\xf5\x1c\xe8~\xae \xd3\xea\ -\x87_=\x86D$5\xd1\x8d\x9a\xe4#D\xb7vM\ -\x866J\x92~8\x9b\x96\xa8\x03\x1b\xd5\xc6.X\x97\ -C\xd3}\x95\xfd!\xdd8\x9b?\xf60~\xff\x8c4\ -$\x0c}\xd0\xc3\xfd/\x1d\x16\xc2:\x03C\x1b\xd4\x1d\ -\x08F\x10\x84\xc2\x0aBO0\x0a\x15\x0fC(`\xd1\ -G\x1f8\x0e\x1c}\xdf\x94qb3\x84\x95\x94\xfe,\ -\xd0\x90\x0e\x12B\x92\xf2X\x0a\x8b\x87\x80\xa61<\xdb\ -Sj5\x03\x8f(\xe0\x8aBFx\xa9\x0c?R\xf1\ -1l.\x12xy\xf4\x91^\x98\x81\xe4\x5c\x85\xc4\xa8\ -\xa0\x8a#\xd4,\xe7BG\x94$\xa6x\x0f\xb5\x19H\ -5\x14\xa5-\xc1B\x08\x84$\x17\x94\x10\xa8\xfd\x02\x18\ -\x16\xc2\x91\x80sc\xd9\x1d\xe3\x92R\xc8\x88Y\x89J\ -9>cC\x0e\xf4$\xb0Bd4 \xe2\x01g\xf3\ -\x91\x0a>\xe80qNK\xc4\x94\xa8PBA\x09\xda\ ->\x85@!v\x18\x0c\x8au\x1amwigFo\ -N\xe2!R%\xa5\x10\x80\x12\x8d\xa8\x9ac\xf1\xc0x\ -\x0a\xb5z\x98s\xaa\xa7\x0a\x9aQ\x9b\xda)\x08\xa7\xc0\ -\x00\x22\xa3\xad\x95\x17-\x08\x16^\x02\xbdw\xab\x1b\xba\ -\xfd\xb5\xab\x95\xb6\x183J\x8a\xe5:\xb7\xb2\x91\xe3\x8d\ -/\x14\x96\xc31\x94\xb0Z\x9bM\xa6\xb0\xd6\xf6\xf4\x14\ -K\xca\x94\xa8B\xb2\xed\xf40\xc0\xa3\xc5jH\xebm\ -mVz\xe8e-u\xfd*\x00\xe2\x22!*\x1d.\ -\x0a\xd8\x8f[\x07d\xbe\xa5\xaa\xe6\xb8\xaa\xeab\xee\xc6\ -\xd6\x22\x89\x16RI\x09\x09/GD\xddBF\xf7\x80\ -\xb5\x84\xaf\xe6\x0b\x10_\xf0\x07:Z\x97\x0f\x81\xc9\x09\ -\x1f\x10\x90/\x08V\xd94 \x86\x03\xb225\xc9\x09\ -\xab\x99\xb2\xfc\xc3\xf2\xa8+\x14\x80\xdf\xb3<\x1b\x7f\x8f\ -\xd2-\x09\x16q\xe4\xb0\xa9\x9f\xc0Q\xd0/\xcf\xa8\x1b\ -+\x12\xaf\xb2\xc8\x0f.\x9d\xacT\xa8nBEt$\ -\x07\xbd\x144 \xa9K\xc9+C8B4%\xc3X\ -[\xf4k.\x22\x05R\xa1a\x09\x14\x12\xa0\xf9\x09\xa8\ -\x5c+\xe8\x00\x80\x10\x82\xc1\x8e\x01\x0a\x86D0:\xb5\ -d?ZZ7e\xa5\x02\xdd\x12\x84\xc8\xd2\x04Y\x93\ -\xf08\x89[D 0K\xc1\xd4\xa8\x11\xa2\xd0\x98D\ -\x00\x9e\x10\x83\xc1\x098\xd0\x93>\x8f46\xe3\x1c.\ -\xe6\xb8\xfd\xed\xa7\xd1\x1f}\xe3\x9d\xe8\xba>\x93w\xe7\ -\xfa^\xa3\xa9\xea\xb1\x1e\x9f\xab\xeb\xba\xfe\xc1(\xe8{\ -\x1e\xd3\xb5\xde\xfb>\xdb\xb9\xee\xb4\x1e\xb7\xbb\xef\xbb\xfe\ -\x8b\xb8\xf0\x01E\x01L\x01R\x01Y\x01`\x01g\x01n\x01\ -u\x01|\x01\x83\x01\x8b\x01\x92\x01\x9a\x01\xa1\x01\xa9\x01\ -\xb1\x01\xb9\x01\xc1\x01\xc9\x01\xd1\x01\xd9\x01\xe1\x01\xe9\x01\ -\xf2\x01\xfa\x02\x03\x02\x0c\x02\x14\x02\x1d\x02&\x02/\x02\ -8\x02A\x02K\x02T\x02]\x02g\x02q\x02z\x02\ -\x84\x02\x8e\x02\x98\x02\xa2\x02\xac\x02\xb6\x02\xc1\x02\xcb\x02\ -\xd5\x02\xe0\x02\xeb\x02\xf5\x03\x00\x03\x0b\x03\x16\x03!\x03\ --\x038\x03C\x03O\x03Z\x03f\x03r\x03~\x03\ -\x8a\x03\x96\x03\xa2\x03\xae\x03\xba\x03\xc7\x03\xd3\x03\xe0\x03\ -\xec\x03\xf9\x04\x06\x04\x13\x04 \x04-\x04;\x04H\x04\ -U\x04c\x04q\x04~\x04\x8c\x04\x9a\x04\xa8\x04\xb6\x04\ -\xc4\x04\xd3\x04\xe1\x04\xf0\x04\xfe\x05\x0d\x05\x1c\x05+\x05\ -:\x05I\x05X\x05g\x05w\x05\x86\x05\x96\x05\xa6\x05\ -\xb5\x05\xc5\x05\xd5\x05\xe5\x05\xf6\x06\x06\x06\x16\x06'\x06\ -7\x06H\x06Y\x06j\x06{\x06\x8c\x06\x9d\x06\xaf\x06\ -\xc0\x06\xd1\x06\xe3\x06\xf5\x07\x07\x07\x19\x07+\x07=\x07\ -O\x07a\x07t\x07\x86\x07\x99\x07\xac\x07\xbf\x07\xd2\x07\ -\xe5\x07\xf8\x08\x0b\x08\x1f\x082\x08F\x08Z\x08n\x08\ -\x82\x08\x96\x08\xaa\x08\xbe\x08\xd2\x08\xe7\x08\xfb\x09\x10\x09\ -%\x09:\x09O\x09d\x09y\x09\x8f\x09\xa4\x09\xba\x09\ -\xcf\x09\xe5\x09\xfb\x0a\x11\x0a'\x0a=\x0aT\x0aj\x0a\ -\x81\x0a\x98\x0a\xae\x0a\xc5\x0a\xdc\x0a\xf3\x0b\x0b\x0b\x22\x0b\ -9\x0bQ\x0bi\x0b\x80\x0b\x98\x0b\xb0\x0b\xc8\x0b\xe1\x0b\ -\xf9\x0c\x12\x0c*\x0cC\x0c\x5c\x0cu\x0c\x8e\x0c\xa7\x0c\ -\xc0\x0c\xd9\x0c\xf3\x0d\x0d\x0d&\x0d@\x0dZ\x0dt\x0d\ -\x8e\x0d\xa9\x0d\xc3\x0d\xde\x0d\xf8\x0e\x13\x0e.\x0eI\x0e\ -d\x0e\x7f\x0e\x9b\x0e\xb6\x0e\xd2\x0e\xee\x0f\x09\x0f%\x0f\ -A\x0f^\x0fz\x0f\x96\x0f\xb3\x0f\xcf\x0f\xec\x10\x09\x10\ -&\x10C\x10a\x10~\x10\x9b\x10\xb9\x10\xd7\x10\xf5\x11\ -\x13\x111\x11O\x11m\x11\x8c\x11\xaa\x11\xc9\x11\xe8\x12\ -\x07\x12&\x12E\x12d\x12\x84\x12\xa3\x12\xc3\x12\xe3\x13\ -\x03\x13#\x13C\x13c\x13\x83\x13\xa4\x13\xc5\x13\xe5\x14\ -\x06\x14'\x14I\x14j\x14\x8b\x14\xad\x14\xce\x14\xf0\x15\ -\x12\x154\x15V\x15x\x15\x9b\x15\xbd\x15\xe0\x16\x03\x16\ -&\x16I\x16l\x16\x8f\x16\xb2\x16\xd6\x16\xfa\x17\x1d\x17\ -A\x17e\x17\x89\x17\xae\x17\xd2\x17\xf7\x18\x1b\x18@\x18\ -e\x18\x8a\x18\xaf\x18\xd5\x18\xfa\x19 \x19E\x19k\x19\ -\x91\x19\xb7\x19\xdd\x1a\x04\x1a*\x1aQ\x1aw\x1a\x9e\x1a\ -\xc5\x1a\xec\x1b\x14\x1b;\x1bc\x1b\x8a\x1b\xb2\x1b\xda\x1c\ -\x02\x1c*\x1cR\x1c{\x1c\xa3\x1c\xcc\x1c\xf5\x1d\x1e\x1d\ -G\x1dp\x1d\x99\x1d\xc3\x1d\xec\x1e\x16\x1e@\x1ej\x1e\ -\x94\x1e\xbe\x1e\xe9\x1f\x13\x1f>\x1fi\x1f\x94\x1f\xbf\x1f\ -\xea \x15 A l \x98 \xc4 \xf0!\x1c!\ -H!u!\xa1!\xce!\xfb\x22'\x22U\x22\x82\x22\ -\xaf\x22\xdd#\x0a#8#f#\x94#\xc2#\xf0$\ -\x1f$M$|$\xab$\xda%\x09%8%h%\ -\x97%\xc7%\xf7&'&W&\x87&\xb7&\xe8'\ -\x18'I'z'\xab'\xdc(\x0d(?(q(\ -\xa2(\xd4)\x06)8)k)\x9d)\xd0*\x02*\ -5*h*\x9b*\xcf+\x02+6+i+\x9d+\ -\xd1,\x05,9,n,\xa2,\xd7-\x0c-A-\ -v-\xab-\xe1.\x16.L.\x82.\xb7.\xee/\ -$/Z/\x91/\xc7/\xfe050l0\xa40\ -\xdb1\x121J1\x821\xba1\xf22*2c2\ -\x9b2\xd43\x0d3F3\x7f3\xb83\xf14+4\ -e4\x9e4\xd85\x135M5\x875\xc25\xfd6\ -76r6\xae6\xe97$7`7\x9c7\xd78\ -\x148P8\x8c8\xc89\x059B9\x7f9\xbc9\ -\xf9:6:t:\xb2:\xef;-;k;\xaa;\ -\xe8<' >`>\xa0>\xe0?!?a?\xa2?\ -\xe2@#@d@\xa6@\xe7A)AjA\xacA\ -\xeeB0BrB\xb5B\xf7C:C}C\xc0D\ -\x03DGD\x8aD\xceE\x12EUE\x9aE\xdeF\ -\x22FgF\xabF\xf0G5G{G\xc0H\x05H\ -KH\x91H\xd7I\x1dIcI\xa9I\xf0J7J\ -}J\xc4K\x0cKSK\x9aK\xe2L*LrL\ -\xbaM\x02MJM\x93M\xdcN%NnN\xb7O\ -\x00OIO\x93O\xddP'PqP\xbbQ\x06Q\ -PQ\x9bQ\xe6R1R|R\xc7S\x13S_S\ -\xaaS\xf6TBT\x8fT\xdbU(UuU\xc2V\ -\x0fV\x5cV\xa9V\xf7WDW\x92W\xe0X/X\ -}X\xcbY\x1aYiY\xb8Z\x07ZVZ\xa6Z\ -\xf5[E[\x95[\xe5\x5c5\x5c\x86\x5c\xd6]']\ -x]\xc9^\x1a^l^\xbd_\x0f_a_\xb3`\ -\x05`W`\xaa`\xfcaOa\xa2a\xf5bIb\ -\x9cb\xf0cCc\x97c\xebd@d\x94d\xe9e\ -=e\x92e\xe7f=f\x92f\xe8g=g\x93g\ -\xe9h?h\x96h\xeciCi\x9ai\xf1jHj\ -\x9fj\xf7kOk\xa7k\xfflWl\xafm\x08m\ -`m\xb9n\x12nkn\xc4o\x1eoxo\xd1p\ -+p\x86p\xe0q:q\x95q\xf0rKr\xa6s\ -\x01s]s\xb8t\x14tpt\xccu(u\x85u\ -\xe1v>v\x9bv\xf8wVw\xb3x\x11xnx\ -\xccy*y\x89y\xe7zFz\xa5{\x04{c{\ -\xc2|!|\x81|\xe1}A}\xa1~\x01~b~\ -\xc2\x7f#\x7f\x84\x7f\xe5\x80G\x80\xa8\x81\x0a\x81k\x81\ -\xcd\x820\x82\x92\x82\xf4\x83W\x83\xba\x84\x1d\x84\x80\x84\ -\xe3\x85G\x85\xab\x86\x0e\x86r\x86\xd7\x87;\x87\x9f\x88\ -\x04\x88i\x88\xce\x893\x89\x99\x89\xfe\x8ad\x8a\xca\x8b\ -0\x8b\x96\x8b\xfc\x8cc\x8c\xca\x8d1\x8d\x98\x8d\xff\x8e\ -f\x8e\xce\x8f6\x8f\x9e\x90\x06\x90n\x90\xd6\x91?\x91\ -\xa8\x92\x11\x92z\x92\xe3\x93M\x93\xb6\x94 \x94\x8a\x94\ -\xf4\x95_\x95\xc9\x964\x96\x9f\x97\x0a\x97u\x97\xe0\x98\ -L\x98\xb8\x99$\x99\x90\x99\xfc\x9ah\x9a\xd5\x9bB\x9b\ -\xaf\x9c\x1c\x9c\x89\x9c\xf7\x9dd\x9d\xd2\x9e@\x9e\xae\x9f\ -\x1d\x9f\x8b\x9f\xfa\xa0i\xa0\xd8\xa1G\xa1\xb6\xa2&\xa2\ -\x96\xa3\x06\xa3v\xa3\xe6\xa4V\xa4\xc7\xa58\xa5\xa9\xa6\ -\x1a\xa6\x8b\xa6\xfd\xa7n\xa7\xe0\xa8R\xa8\xc4\xa97\xa9\ -\xa9\xaa\x1c\xaa\x8f\xab\x02\xabu\xab\xe9\xac\x5c\xac\xd0\xad\ -D\xad\xb8\xae-\xae\xa1\xaf\x16\xaf\x8b\xb0\x00\xb0u\xb0\ -\xea\xb1`\xb1\xd6\xb2K\xb2\xc2\xb38\xb3\xae\xb4%\xb4\ -\x9c\xb5\x13\xb5\x8a\xb6\x01\xb6y\xb6\xf0\xb7h\xb7\xe0\xb8\ -Y\xb8\xd1\xb9J\xb9\xc2\xba;\xba\xb5\xbb.\xbb\xa7\xbc\ -!\xbc\x9b\xbd\x15\xbd\x8f\xbe\x0a\xbe\x84\xbe\xff\xbfz\xbf\ -\xf5\xc0p\xc0\xec\xc1g\xc1\xe3\xc2_\xc2\xdb\xc3X\xc3\ -\xd4\xc4Q\xc4\xce\xc5K\xc5\xc8\xc6F\xc6\xc3\xc7A\xc7\ -\xbf\xc8=\xc8\xbc\xc9:\xc9\xb9\xca8\xca\xb7\xcb6\xcb\ -\xb6\xcc5\xcc\xb5\xcd5\xcd\xb5\xce6\xce\xb6\xcf7\xcf\ -\xb8\xd09\xd0\xba\xd1<\xd1\xbe\xd2?\xd2\xc1\xd3D\xd3\ -\xc6\xd4I\xd4\xcb\xd5N\xd5\xd1\xd6U\xd6\xd8\xd7\x5c\xd7\ -\xe0\xd8d\xd8\xe8\xd9l\xd9\xf1\xdav\xda\xfb\xdb\x80\xdc\ -\x05\xdc\x8a\xdd\x10\xdd\x96\xde\x1c\xde\xa2\xdf)\xdf\xaf\xe0\ -6\xe0\xbd\xe1D\xe1\xcc\xe2S\xe2\xdb\xe3c\xe3\xeb\xe4\ -s\xe4\xfc\xe5\x84\xe6\x0d\xe6\x96\xe7\x1f\xe7\xa9\xe82\xe8\ -\xbc\xe9F\xe9\xd0\xea[\xea\xe5\xebp\xeb\xfb\xec\x86\xed\ -\x11\xed\x9c\xee(\xee\xb4\xef@\xef\xcc\xf0X\xf0\xe5\xf1\ -r\xf1\xff\xf2\x8c\xf3\x19\xf3\xa7\xf44\xf4\xc2\xf5P\xf5\ -\xde\xf6m\xf6\xfb\xf7\x8a\xf8\x19\xf8\xa8\xf98\xf9\xc7\xfa\ -W\xfa\xe7\xfbw\xfc\x07\xfc\x98\xfd)\xfd\xba\xfeK\xfe\ -\xdc\xffm\xff\xff\ -\x00\x00\x03\xaa\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a \x0d\x0a \ - icon / o\ -utliner / entity\ - / Default - Sav\ -ed\x0d\x0a \ -Created wi\ -th Sketch.\x0d\x0a \x0d\x0a \x0d\x0a \ - \x0d\x0a \x0d\ -\x0a\x0d\x0a\ -\x00\x00\x04q\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a \x0d\x0a \ - icon / o\ -utliner / entity\ - / Editor only -\ - Default\ -\x0d\x0a Crea\ -ted with Sketch.\ -\x0d\x0a \x0d\x0a \ -\x0d\x0a \ - \x0d\x0a \ - \x0d\x0a\x0d\x0a\ -\ -\x00\x00\x02\x9b\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a \x0d\x0a \ - Artboard\ -\x0d\x0a Created with\ - Sketch.\x0d\ -\x0a \x0d\x0a \ - \x0d\x0a \ - <\ -/circle>\x0d\x0a \ - \x0d\x0a \ -\x0d\x0a\x0d\x0a\ -\x00\x00#k\ -\x00\ -\x00\xf0\x80x\x9c\xed\x5c\x07\x5c\x93\xc7\xdf\xbf'\x09\x09\ -[\xb62\xc4\x88\x03\x17#\xcc\x10\x01\xd9CE\x11\x10\ -\xd4\xbaB\xf2\x00\x91,\x930\xc4=\xaaV\xad\x03\xad\ -\x0b\xb7\xd6=\xea^\xad\xd6\x89V\xabu\xb7\xd5\xb6\x8e\ -?\xae*\xe2`\xa3y\xef\x9e$\x10\x14\x15$\x8a\xf6\ -}\xbe\xf9\xdc\x93\xbb\xdf\xdd\xfd\xd6\xddsw\xcf\xb8'\ -&\x06t\x02\x00\xe8\x83\x16\xe0\x15\xa0\xc1\x18\x06T\x07\ -*\xf17\x14\x1e0\xad8\x85\x88\xc3r\x98+FU\ -\xd3aa\x8c\xae\x8eS\xe0\xc1\x5c\xc3'q!f\xa1\ -U\xc6Z\x1dG\xb5m\xb4x6\xd7\x94\x9f\x0d0;\ -\xa0\xa7\x8ac>\x98}u<\x10s\xd0\xe2\xd3AK\ -\x16\x0b\x1d\x81\x13\x8cE`\x1eD\xdc\x0a\xc6\xd3\xb0\xb8\ -\x9a\xf2\x94\x1f\xd1\x91\xb3\x16&GM<\x08\x18\x90\xde\ -\x0c\x00\x7f\xa7\xc9\xd1\x88n\xea\x08\xe3\x1eS\x04\x1a\x1d\ -\xee.\x9c\x22Ge\x8c\xa3\x00\xe8\x1e;w \x8a\x1b\ -\xec\x83\xf4\xe3\xc8/\xd0O\xaa\x9fa\xd58\x00\x9c\xcd\ -4\xff\xc1|I2\xce\x8cM\x93($\xf24\x89\x94\ -\x19\x1a\xca\xf4pg\xf92;$\x09\xc4|I\x96\xbc\ -#@I\x8e\xbb\x07\xc7\xdd\x93\xc9\xf2\xe1x\xf8p\xbc\ -X\xc0\xbf[\xb6\x94\xcbK\xc7\x15\xccda\xb8\x9c'\x13H\x15\x02\x89\x98\x89\ -\xd2\xdcdI\x86\x22\xc0\xc9\xc9\x90\xa9\x05\xb5]\x22i\ -\xb5 \xb1\xdc\x95\xb0\xd1\x95'\x11\xb9es\xa5n,\ -Ww\xb7\xba*\xf1y\xd5u\xa4\x192!\xa1\x1a\x9f\ -\xe7\x86\x0bq\x11.V\xc8a=V\x9d\xf5\xa4\x9a\xb6\ -\xab[du\xf6[\x05Cmcb\xde\xad\xafHT\ -gM\xb9\x22\x9f\xef\xc3\xe6\xe1P\x0b\x1cOv\ -\xf1\xf3\xf3rwa\xb3y\x9e.\xbe\xc9\x1e\xde\xc9\xc9\ -\x1e8\xd7\xdd\xc3\x8bh\xcb\xda\xd5\xdf`\xad\x91\xaef\ -M\x98\xca\xf3\xf4\xc0}\xfd\xd8.)\xfc\x14\x96\x8b\xb7\ -\x9f\x17\xdf\xc5\xcf;\xc5\xcf\x85\xeb\xe5\xc3\xf2e\xf9&\ -\xfbp\xb9\xbe\x1a\xd6Z\xd5\xdf`\xdd[&\x80\xa31\ -W\xd8H\x11u\xb0yCT\x94\x00ynD\x1dm\ -\x1b\x8f\x0f\x7f[\xdb\x12\xe3\xa6\x94+\x93\xe3hT\x08\ -p\xd2\x0c\x0bNoT@u\x88\xd1\x85\xc3\xe5\xa1\x11\ -7\x90G\x9c\xf8\xb0\xc1kQ\xdf^M\xf0f\x03\xd6\ -\xcf\x05oT\x7f\xbb\x8c\xac4\x5c\xfc\xae\x01K\xab\xd4\ -\xdb\x99\xc8%)\x8a,\xae\x0c\x0fN\x85\x9e\xae\xcfh\ -QW\xb57\xfc]\xe7y\xa1\x93\x86\x90s3\x1b\xd7\ -\x0c\x9e)\xbe>\xc98\xcb\xc7\x85\xcd\xe7y\xb8p\xd9\ -^\xb0\x05\x90\x0f}\xbdY\x9e\x9e\xbe\x1e\x5c/\x16\x8b\ -\xdf\xb8f\x80m\xc0\xd2\x1a\xad\x9b\xae\x19j\xd8\xf3\xd2\ -\xb8\xe2T\x9c\x1f\xe8\xa6\xa9\xa8!|I-W\xbf\x11\ -\xb0\x91-\xe7\xf3\xdfj9\x15\xb5\xf6\x98\xa8\x19g_\ -\x1bCUE\xb5\x96\x99\xaa5\xac\x9bz\x11\x0b\xd7\xcf\ -n\xd5\x0b\xe8\xba\x14\xd6=H!\xa4\x10R\x08)\x84\ -\x14B\x0a!\x85\x90BH!\xa4\x10R\x08)\x84\x14\ -B\x0a!\x85\x90BH!\xa4\x10R\x08)\x84\x14B\ -\x0a!\x85\x90BH!\xa4\x10R\x08)\x84\x14B\x0a\ -!\x85\x90BH!\xa4\x10R\x08)\x84\x14B\x0a!\ -\x85\x90BH!\xa4\x10R\x08)\x84\x14B\x0a\xd1\xb1\ -\x10\xc3\x9a-\xa9\xb8\x98\x1f\xe0\x94\xe5\xd4-\xd0\x01\x1b\ -\x00\xa8\xf6\xed\x22\x1d(\x80\xd8`\xcb\x0e\x89\x8e\xa1\xb5\ -#v\xc3\x9a\xfdz\xbeb\xf4\xfa\xfcC\x06z\xd2\xcc\ -\xad\xdb\xf4\x8e\xf5\x22\xf28D^\x01\xca\xd7\xec'\x06\ -FR\x99@\xac\xe8\x9d\xa1\x90f(`\x12m\xec\x05\ -\xb1rE|\xb2D\x22$JD\x8b\x158.\xce\x10\ -i\xe2\xe8?T(C\xe9fD\xddxA6*\x11\ -\x22P\xa0:5\x8f\xf0\x85\ -\xca6\x8a:E\xa9\x95rW\xe9\xa8\xf6\xb5\x0b\x91\xa2\ -\x13\xfe\xb0%(\xfa\xea^A\xb4\x0d%H\x15\xd4u\ -\x1dk\xb7\x0c\xcd\x0e\xc5\xa8\xde\xd5\x96\xab0T\x1dT\ -\xdey\x13\xda4\xed\xb2u\x16\xd0\xa0fp\x03\xe2\x0c\ -\xa1Pe\x10\xa0'K2\xc4|\xf9kc\x0bO\xc1\ -\xd2\xa8\x89NH\xad\x93\x01\xbcv\xd6\x80\x90\x9a\xb3\x8b\ -P#\xae\xe6\xe4Ai\xba\x5c(\xe0\xe1\xf2DaO\ -t\xfac\xb5\xe4\xe8\x11y0b\x01\x03\x83HD\x87\ -i\xf1f\xa4\xca$\x19\xd2Z$\xba\x84\xd8\x97\xab\x19\ -\xd9\xc3\xe3Q%\xd5^]\x986\xe1f($\x91\xb8\ -\x18\x97\xa1}\xb2\x84\xf6#\xa4\x9a\x89\xc9PU\x18Q\ -PN\xb4(\x95\xf9\x09\xec\xa7f\xc8\x84\xb5\xa67\xc2\ -\xf9\xb5)1\xf2\xd4\xdaS \x9d+T$pSk\ -\xd1Ly8\xac\x87g+\xa2\xe5Q\x091=5\x83\ -\xac\xbe\x86\x5c\xab\xb0A\x9aD\x96\x13,\x14\xa4j<\ -\xd5Le|\x94\x86\x8c\xbc\xcb\xc7S\xb8\x19\xc4(k\ -\x90\x89\xcb\x14u\x14O\xd4\x90k\x177JN%\xf6\ -\xd1k9\xd7\x5cU!$\xb2:\x03\xa9\xd1K\x22F\ -\xff\x06\x0a\x89\x14N\xa5r\x5c\xdbq\x86B\xe8\xc87\ -\xa8\xc6\xc9\xc4p\xfd\x06\xddH\x86\x06\xe5\xd7\xc8\xc4\x19\ -\xd4AU\x0f\x06J\xb7\x22PC\xb7\x22\xa2\xa8\x09U\ -g\xa51\x91\xdc\xa9v\xd1PU\xc0`\x17@g\x02\ -m\x01h\x010\xe5\xef\xca\xc7\xc0\x98\xd8=9$4\ -\x06\xa6\x0b\x81)\x91\x02\xfcq\xa8\x9e\xf2:\x98\x04\x8c\ -\xf5\xf5\xf5\x0d\xf4\x8d\x0d\x0c\x8c\xcd\x8d\x0c\x8d\xcc\xad\x9b\ -\x19\x1b7\xb3naiimi\xd9\xc2\xdc\x98\x80\xfa\ -\xafn`&FF&\xa6&f\xa6\xa6fV\xa6\xa6\ -\xa6V\xe8`j\xa5\xaab^\x1f\x06\xca\x9f\x81\xb9>\ -T~(\x15s\x02\x14s\x8cj\x8e)\xff\x82\x86\xd2\ -\x95\xc7\xb1nPK=\x8c\x80\xdaqT\x80Qhz\ -t\x86\xbe\x81\xa1\x11\xf6z&\x06(TM\xa6\x19\xc0\ -h\x18\x95B\xa3\xe81\xe8\xfazTcO\x98iN\ -\xa5\xb5\xb6`\xe9\x05\xf7\xe1Z:\x0d\x1f\xefA\xb7\x9a\ -\xb3r{H\x9b\xb6\xd6qG\x92=\xbdd\x13.\x84\ -2\xda\xe5\xc6\x17\xddz\xca\x93{\xdb\xac\xda1\xb1}\ -\xd8\xdc\x04~\xf8\xd1\xd5\x0a\x9f\xe6\x17\xfb\xde\xc6\x9f\xed\ -\x9ct\xecR\xc6\x9d\xe7\x11\xce\xf3\xd6|\xbd\xeb\xbb\xe3\ -\x97\xff\xf7\xe2\xfb\xdd'\xae\x14\x14'\xa6dN\x9e\xbf\ -v\xcf\xc9\xabwK|#\x93R\xb3\xa6,X\xb77\ -\xff\xda\xbdRs@\xa1@mi\x84N\x0c\xba\x9e7\ -\xa1Bk\x96\x05\x0dj0\xdc\xc9R\xcfc\xfc\x1c+\ -\xa4\xc1\x91\xb8\x0bE\x9em\x93o\xc9&\xe4\x86\xc6[\ -\xf3\xe4^O\xdb\xd1\x91\x02\x8c\xf6\xdeG/B%V\ -7\xe7\x87\xf7\xf5Q\xe0\xb7\xabUx\xbb\x06\xce5*\ -(\xff\x04\xc6TB\xa69\xe8\x06\x8a\x13r\xa3\xdbu\ -l\x9b\x1b\xdd=\xbamn\x5cnt\xdbyk\xd4\x84\ -\xde\xca\xdf\x8a\xfb\x1a\x89\xf0\xbey\x8e\x0a\xc3a6\x89\ -g\xfa\xf5{\xba\x7f\xdd\x8e\xeei\x17\xae\xb4?\xeaj\ -vq\xf4\x9a\xcc\xb2- \xd8\xc2x\xe2\x91~\xe5\xd9\ -n+\x0a%\x07\x0e;\xde\xa98\xbd}\xa7(\xbf\xe4\ -\xa5\xcf\x98\x07\x8f\x8b\xa2{\x9df\x1aph\xcdSn\ -\xffp\xe4\x87Q\xbb\x95`C\x7f\xdf\x82A#\x16\x1c\ -\xec\xf5\xabC\xeb\xb6\xebD\xfb\xf7ms\xef\xd2*\xa0\ -\xdb\xc39\xe3iQ\x97]G\xd8\xcc\xd8\xb4\xde#_\ -\xf0\xd7\xbaI\xf3\x0a\xd7l\xba}7i\xb6W\xc9\x8f\ -\xb2\x7f\x0a\x13-\x08\xcd\x94@y\x81\xd0\xd7\xfb\xb9G\ -^\xf8\xf0\xd5\xcb\x1e\xdb]\xaaJ\xecx\xc5\xd2\xe9\xde\ - \xf9\xb2\x91K\xfd\xa7\xf0\xbd\xe6}\xbfn\xe2`\xeb\ -\x19\x17V^m\xb6\xa6\xd5\x86\xbeO\x8bF\x8f\x92\xf3\ -z\xfa\xb3\xc75\xa3\x85l\xb3\xb9\x90\x9a\x19\xb0\xa1\xa3\ -\xebH\xbb\xb3\xebv\x8f\xf3^\xe5egJ\xd9\xfa\xed\ -\x933\x07z,\xbe\xb6\x0f\xdb:\xee\xe7\xaf;\x17\x89\ -W\xe6\xfd= \xec\xe4\x94\x97\xdft\xa4:\xdee\xfb\ -\xadu`wNm\xd6q\xbf\xf5\xbf\xdf\x7f[\x11Z\ -\xb69\xa1\xe7\xc8\xa51\xbff?\xcax\xde\xf2b\xfc\ -\x8fP\xadu\xca\x8b\x84R\xec\x11\x0a\xce\xf4%\x97^\ -\xf4\xda\x12\x18\xd5Y\xeel\xbb\xc8\xfaq\xe6\xccV\xe1\ -\x7f\xeb%_\x8f\x7f8\x82w\xdc,w\xa9\xe9\xdc\xa1\ -]F\x0f:r#\x90\x11\x9e\xeel\xf3\xe3\xe4c\xbb\ -\xa4\x15\xae\x0e_O\xef;k\xc3\xadG\xee7w=\ -|8o\xdf\x98\xd96]\x0fKs\x97\xfc\xfb\xf4q\ -\xfe\x98k\xdfveK\x13\x96/\x10\xcd3\x1cR8\ -\xb1\xf5_/\x1em\xfd_\xb1q\xd2\xd5~\xf6\x0f\xcf\ -\xcf\x9c\xa8\x04mwZ\xc4\xcd\xd9\xde\xc1\xf7\xc6\xd5Y\ -\xab\xbc\x87?\x0b\xfe\x8a\xed}\xf1\x17l}\xe1\xf25\ -\x85\xcfr\xf3`+v\x1f\xab\xbc\xa4jb\xc3\xaa\x9c\ -')\xd7fM\x9c\xd2\xda\xba\xed\xbc;C\xc6\x8f\x8e\ -\x18\x10\x10\x91\xbd\xb7lw\xe2 \x8b\xe9\x9b\xb6(A\ -\xf4\xb7Y\xc7)\xb9\xcbF\xf7_M\xa9\xec\xb9/G\ -\xf84\xabh\xd85Q\xc6\xce\xfb\xdb\xb7\x94\x01\xab\xdc\ -\xf8Es/\x19\xd9\x1f\x980\x88z\xe3\xd2\xf9\x13\x1b\ -\xbfo~=\xb4\xd4=\x7fzo\xc6\xed\xbd\xdf\xf5\xdc\ -L\x1f\x9c\xb5\xf3\xf7W\xf7\xb6GG\x0f\xdf\xd1\x7f\xf6\ -\xaf\xbf\x9aE\xccdl\x8f\x88]\xbb6\xbe\xdf\x96\x89\ -\xc1e\xe5\x1b\xd6\xacS^~W_\xfbC5\x9e\xb5\ -&\xce\xd8A\x80Xy\xa0\x8f \x05\x03>\xbc\x18J\ -\x86\x0bC&\xbc4J\x83q\x05\x0cr\x22\x86.\x83\ -\x9a\xbf\xa7\x04\x13\x84\xc2\x1f\x13.\xc7\xdc\x01\x0b\xf8\xaa\ -\x07F\xe3\xa8\x9e\x02\xb1\x84\x02\x17\x0b\x22x\xfd\x81\xbe\ -\x81\xd2\xaf\xff\x00&\xe3\x1c\x5c,\x18\xc05\x0a\x9c\x16\ -\xb9<\xb94&>\x22\x81\x98D\xc3C\x99\xe8C)\ -\xa0\x16J\xae\xaa\xa6\xa1K.Q\xb1L&h\x18\xcc\ -yR\x19\x9cd\xb0X\x18\xf7\xe4\xe3r8-c\x93\ -`\x5c\x98\xa5\x90\x22:\x1a\xe3\xad\x92\xd3Q\x9c\x82F\ -w+\x19T\x10\xc6[\xa0x\xaa*\xde\x85(\xa3\x8a\ -\x07\xa18_$\x86\xcb\x01\x0a\xd2Y\xca\x17\xf1Q\x1c\ -}\x11jjf\x06Z&P{\xc2\xf8\xe4L\x01\x9e\ -\x05\xe3\x97a\xbc\xad0C$\x80q\xb4\x02\xb5\x12\xe1\ -\x5c\xb8t!\xe6\x8f\xb6\x0a\x9c\x97\x06\xe3h\x05h,\ -K\x88\x83W24\x7f8\x07\x1b\xa7j\xc5\x93\xb5\xe2\ -\x0a81#\xa3B%\xd2\x11\xc4\x0c\xc6\xec\xc0\xeb\xc8\ -d\xf9\xf9\xb1\x99Qx\x96\x10W(\x5cb\xe1\x05;\ -W\xc6g\x86JDR\xae\x18\xae\xefU6\x13\xb0x\ -\xe3#4Z\x8ezgf=\x81\xdaV\x15{\xde\x87\ -h3\xcc\xe6l\x0d\xad\xaer\x92Up~\x85\xab}\ -\xea\xec\x1aZ\xf2\x22\x00\xf6~\x0d@\x8b?khm\ -W\xc0>\x0a\xdbm\xcfy-{lP\x7f\xd1\xfa\xf8\ -\x94\x00\xe7\xb9\x22\x87V\xe3\xbd\x05\xea\x01-y\xae\x88\ -]\xb5{\x98a\xaa\x15\x0c\x13\xf9\x8d\x07\xd7)\x192\ -&\xbc\xfe\xe2\xe1L\x97\xd7;\xf1\x07W\xac[\x8f.\ -qx\x0a\x8e\xae\xf3pf\x22\xece\xf02\x156\xb7\ -\x98/ \xbe\xa3%\x10\xbf\xad\x11?\xb0\xdakP\xf5\ -k\x08\xcb5\xaf\x80\xd5\x10W`v\xde\x0aP\x1f\x9f\ -\x054K#@\x1d\xb8\x0c\xe6`\xd5\xed\xd6\xd3 \x11\ -\xa03/\xa9\xd5=U\xbf'P\xc7\xe5\x04e\x16:\ -\xc8\x05\xc4\x22\x1a\x84\xc6%0y\x19\xb2LU\x1e\xb1\ -n\xd6\x83\xd7\x88\xcd\x80\x15\xb0\x85\xd7\xb3m@\x07x\ -u\xe7\x01\x07\x99\xae \x08\x84\x83\xee\xa07\xbc\xbe\xed\ -\x0f\x06\xc3+\xda4 \x82W\xb7Y`\x14\x18\x0f&\ -\x83\xe9`6\xf8\x0e,\x06\xcb\xc1\x1a\xb0\x01l\x05;\ -\xc0^\xf0#8\x02N\x823\xe07p\x05\x5c\x077\ -A\x01\xf8\x17\x14\x81\x12P\x09\x172\x0c\xcc\x04\xb3\xc4\ -l\xb1VX;\xac3\xe6\x81\xb1\xb1@,\x1c\xeb\x89\ -\xc5a\xfd\xb1\xa1X*&\xc62\xb0Q\xd8Dl:\ -\x96\x8b-\xc6Vb\x1b\xb0\xed\xd8~\xec\x08v\x1a\xbb\ -\x80\xfd\x81\xdd\xc2\x1e`\xcf\xb0\x0a\x0a\x95bL\xb1\xa2\ -\xb4\xa4\xb4\xa7\xb8Q\xd8\x94`J\x0fJ\x02e\x10%\ -\x952\x9c\x92C\x99D\x99IYHYE\xd9L\xd9\ -C9B9C\xb9B\xb9I\xf9\x97RL\x05T#\ -\xaa\x0d\xb55\xd5\x85\xca\xa6\x86R{S\x07PS\xa8\ -2\xea\x18\xea4\xea|\xea*\xeaV\xea\x01j>\xf5\ -\x12\xf5&\xf5\x11\xb5\x9cF\xa7Y\xd2\x984\x17ZW\ -Z\x14\xad/\x8dG\x1bN\x1bC\x9bA[L[O\ -\xdbC;N\xbbD\xbbE+\xa2\xbd\xd23\xd1s\xd0\ -\xeb\xac\xc7\xd1\x8b\xd6\xeb\xa7\x97\xaa\x97\xa57Yo\xbe\ -\xdeZ\xbd\xddz'\xf4\xae\xe8\x15\xe8\x95\xd0\xe9t\x1b\ -\xba3\xdd\x97\x1eE\xefO\x1fF\x1fI\x9fA_J\ -\xdfF\xff\x99~\x81~\x87^\xcc`0l\x19\x9d\x19\ -\x01\x8c\xde\x0c.C\xc1\x98\xccX\xc4\xd8\xcc8\xcc\xb8\ -\xc8(`\x94\xe9\x1b\xe9\xb7\xd2\xf7\xd0\x8f\xd0\x1f\xa0/\ -\xd6\x9f\xa0?_\x7f\xa3\xfe!\xfd\x8b\xfa\xf7\xf4+\x0d\ -\xcc\x0c\xda\x19p\x0cz\x1b\xf0\x0dF\x18\xcc2Xc\ -p\xc0\xe0\xbcA\x81A\xa5\xa1\xb9\xa1\xb3a\x80a\x82\ -\xe10\xc3\xf1\x86\x0b\x0d\xb7\x1a\x9e0\xbca\xf8\xdc\xc8\ -\xc8\xc8\xc9\xc8\xcf\xa8\x8f\x91\xc0h\x9c\xd1B\xa3\x1f\x8c\ -N\x19\xdd2*7\xb60\xeed\x1cj<\xd08\xc3\ -x\xa6\xf1:\xe3\x9f\x8d\xff0~nbb\xd2\xde$\ -\xc8d\x80\x89\xc2d\xa6\xc9\x06\x93c&\x7f\x9b\x94\x99\ -Z\x9a\xba\x9aF\x9b\xf2M\xc7\x9a\xe6\x99\xee1\xbdh\ -Z\xd8\xcc\xa0Y\xbbf\xc1\xcd\x067\xcbi6\xbf\xd9\ -\xcef\xe7\x9b=230ko\x16j\xc65\x1bc\ -\x96g\xb6\xdf\xec\x9aY\xb1\xb9\xa59\xcb\xbc\xb7\xb9\xc8\ -|\x86\xf9F\xf3\xd3\xe6\xf7-\x18\x16\xed-\xc2-\xf8\ -\x16\x93,V[\x1c\xb3\xb8cI\xb5lc\x19j\xc9\ -\xb3\x9ch\xb9\xc6\xf2\x84e\x81\x15\xdd\xca\xd9*\xdaj\ -\x98\xd5t\xab-V\xe7\xac\x8a\xac-\xac\xbd\xac\x13\xad\ -\xb3\xad\xf3\xac\x7f\xb2\xbeiC\xb5io\x13m#\xb4\ -\x99e\xb3\xc3\xe6\xaaME\xf3\x96\xcd\x83\x9b\xe3\xcd\xbf\ -i\xbe\xb5\xf9\xc5\xe6\xa5-\xec[\x04\xb5\xc0[Lk\ -\xb1\xad\xc5\x95\x16\x15\xb6L\xdbp\xdbt\xdb9\xb6{\ -m\xff\xb2\xa3\xd9u\xb2\xebc\x97e\xb7\xcc\xee\x84\xdd\ -#{+\xfb\xae\xf6<\xfbi\xf6;\xec\xfft\xa08\ -tr\x88s\x18\xe9\xb0\xda\xe1\xacCqK\xc7\x96\x91\ --\xa5-\x17\xb5<\xd6\xf2\x91\xa3\x8dc\x90\xe30\xc7\ -y\x8e\x87\x1c\x1f\xb4\xb2l\x15\xd8J\xd0j^\xab\xc3\ -\xad\x1e2\xad\x99\xc1L!s!\xf38\xb3\xa8\xb5C\ -\xeb\xa8\xd6\x19\xadW\xb6>\xd7\xba\xd2\xc9\xd9\xa9\xaf\xd3\ -\x04\xa7mN\x7f\xb51l\xc3n\x93\xd2f^\x9b\xa3\ -m\x8a\xda\xb6j\x1b\xd3vT\xdbMm\xfflg\xd0\ -\x8e\xdd.\xad\xdd\x82v\xf9\xedJ\xdb;\xb7Oj?\ -\xa5\xfd\xde\xf6\xf7\x9d[8G;\xe78or\xbe\xd1\ -\xc1\xa4C\xb7\x0e\xc3;\xac\xeap\xb9#\xbd#\xbbc\ -z\xc7\xa5\x1d\x7f\xebD\xe9\xe4\xdd)\xadS^\xa7\xf3\ -\x9d)\x9d}:\x0b:/\xed|\xa1\x8b^\x17\xbf.\ -\xe2.\xab\xba\x5cs1v\x09v\xc9t\xd9\xe4r\xcb\ -\xd5\xc6\xb5\xa7\xeb\x04\xd7\xbd\xae\x85nm\xdd\x06\xb8\xcd\ -q\xcbw{\xe5\xee\xed.t_\xe3~\x9de\xc1\xea\ -\xce\x9a\xc0:\xc0z\xe6\xd1\xc9\x83\xe7\x91\xe7q\xd9\xd3\ -\xc43\xc2s\xac\xe7>\xcf\xa7^\x9d\xbdp\xafe^\ -\xbf{[z\xc7xO\xf1>\xea\xfd\xd2\xc7\xd7G\xe6\ -\xb3\xd5\xe7\x81o[\xdf\xa1\xbeK|\xaf\xb1\xad\xd8\xb1\ -\xec\x19\xecS~z~!~c\xfd~\xf4+\xe7\xf8\ -p\x14\x9c\x1d\x9c']]\xba\xa6w\xdd\xd8\xf5\xbe\xbf\ -\xb3?\xee\xbf\xc6\xffN\x80S\x007`e\xc0\xcd@\ -f\xe0\xd0\xc0\x15\x817\xbb\xb5\xee\xc6\xed\xb6\xaa\xdb\xed\ -\xa06A\xfc\xa0\xb5A\xf7\x82;\x06\x0f\x0b\xde\x1c\x5c\ -\x18\xe2\x1e\x22\x0b\xd9\x1dR\x1a\xca\x09\x1d\x1d\xfas\x18\ -5,2lZ\xd8\xb9p\x8b\xf0\xbe\xe1\x8b\xc3\xff\x8e\ -p\x8aH\x8d\xd8\x14Q\x14\xe9\x1d92\xf2\xe7(\xbd\ -\xa8\x1eQs\xa2\xaeE\xb7\x8c\xe6Eo\x88.\xea\xee\ -\xdb}t\xf7\xe3=\x8c{\xc4\xf7X\xdc\xe3v\xcfN\ -=e=\x0f\xc4Pb\xba\xc7\xcc\x8d\xb9\xd1\xab]/\ -q\xaf\xbd\xbdA\xef\xe8\xdes{\xff\x15\xeb\x1c;<\ -\xf6`\x1fz\x9f\xd8>y}\xee\xc6\xb1\xe2F\xc5\xe5\ -\xc7[\xc6\x0f\x89\xdf\x18_\x92\x10\x920+\xe1z\xdf\ -\x0e}3\xfa\x1eMl\x9680qCbiRX\ -Rn\xd2\xcd~n\xfdF\xf7;\xd3\xdf\xae\xbf\xa0\xff\ -\xbe\x01\x8c\x01\x89\x03\xd6\x0e(\xfe*\xfc\xab\xef\xbe*\ -\x18\xe8=p\xf2\xc0\xab\x83\x9c\x07e\x0f:=\xd8n\ -\xb0p\xf0OC\x9a\x0d\xe1\x0e\xd99Toh\xd2\xd0\ -\x8dC\xab\xb8\xbd\xb9\xab\xb8\xc5\xc9\xd1\xc9K\x92\x8bx\ -\xa1\xbc\x05\xbc\x7f\xf9A\xfcy\xfc\x07x\x00\x9e\x8b\xdf\ -K\x09H\xc9M\xb9\x9f\x1a\x90:7\xf5AZ\xb7\xb4\ -\xf9i\x8f\x04\xa1\x82\xc5\x82\xa7\xc3\xa2\x86-\x1fV\x9a\ -\xde;}]\xbaR\x98$\xdc&\xd2\x17\x0d\x15\xed\x17\ -[\x88\xd3\xc5\xc7%\x8e\x92l\xc9\x05ig\xe9d\xe9\ -\xcd\xe1\x9c\xe1\xdf\x0d/\x92\xf5\x90\xad\x95c\xf2A\xf2\ -}\x0a+\xb8\x98:\x9b\xd1!\xe3\xeb\x8c[\x99\x81\x99\ -y\x99eY\x89Y;\xb3\xcd\xb3\xc5\xd9gGt\x1a\ -\xf1\xcd\x88{9\x119\xdf\x8f\xa4\x8d\xe4\x8d<:\xaa\ -\xf5\xa8\xf1\xa3n\x8d\x0e\x1e\xbdr\x0c6&y\xcc\xd1\ -\xb1m\xc6N\x1a[0.r\xdc\xfa\xf1\x86\xe3\xd3\xc7\ -\xff:\xc1}B\xee\x84\x17\x13\x93&\x1e\x98\xd4r\xd2\ -\xb8Iw\xbe\x8e\xfcz\xd3d\xd3\xc9\xb2\xc9\xd7\xa6t\ -\x9d\xb2|*m\xaa`\xea\xb9o<\xbfY\xf4\xcd\xab\ -i\xfci\xbfLw\x9f>\x7fz\xd5\x0c\xde\x8c_\xbe\ -e}\xbb\xf0[\xe5\xcc\x94\x99\xe7f\xf9\xccZ6\x9b\ ->[<\xfb\xea\x9cns\xd6\xe7\x9a\xe7\xe6\xe4\xde\x99\ -\x1b3w\xcf<\xe6\xbci\xf3^|7\xe4\xbb\xd3\xf3\ -\xbd\xe6/_`\xb8 c\xc1\xcd\x85=\x17\xee[\xd4\ -v\xd1\xecEU\x8b\xd3\x16_\xc9\x0b\xc9\xdb\xb6\xc4a\ -\xc97KJ\x97\xf2\x97^\x5c\x16\xb4l\xeb\xf2\x96\xcb\ -\xa7/\xafX!X\xf1\xfb\xca\xc8\x95{V\xb5_5\ -\x7f5}u\xe6\xea\xbbk\x12\xd7\xe4\x7f\xcf\xfe~\xc3\ -Z\xbb\xb5\xd3\xd7\xbe\x5c'^ws}\xdc\xfa\xe3\x1b\ -|7l\xd8\xe8\xb0q\xd6&\xca\xa6\x8cM\x0f6\x0f\ -\xdc\xfc\xdb\x96\xb0-\xfb\xb6\xbal]\xb9\xcdf\xdb\xf4\ -\x1f\xc0\x0f\x19?<\xdc>t\xfb\xd5\x1d=v\x1c\xdd\ -\xc9\xde\xb9uW\xbb]Kv[\xee\x9e\xb6\x07\xdb3\ -bO\xd1\xde\xb4\xbd7\xf7\xf5\xdfwa\x7f\xf7\xfdG\ -\x0ft=\xb0\xfb\xa0\xeb\xc1u?\xb6\xfe1\xef'\xeb\ -\x9ff\x1d2<4\xe9\x90\xf2p\xce\xe1\xe2\x9f\xa5?\ -?:\x92z\xe4\xce\xd1!G\xaf\x1f\xebw\xec\xf2\xf1\ ->\xc7\xcf\x9d\xe8q\xe2\xd4\xc9\x88\x93\xc7\xf2\x83\xf3\x0f\ -\x9f\x0a8\xf5\xe3i\xce\xe9\xfd\xbf\xb0\x7f\xd9{\xc6\xe7\ -\xcc\x9e\xb3\xdegw\xff\xea\xfd\xeb\xees>\xe7\xf6\x9c\ -\xf7=\xbf\xef7\xbf\xdf\x0e\x5c\xf0\xbfp\xe8b\xb7\x8b\ -G.\x85]:y9\xfa\xf2\x99+\xbd\xae\x5c\xb8\xda\ -\xf7\xea\xef\xd7\x06^\xbb\xf9;\xff\xf7\xfb\x7f\x08\xffx\ -\xfag\xe6\x9f\x95\xd7\xc7\xdd\xd0\xbb1\xed/\xb3\xbf\xe6\ -\xff\xed\xf0\xf7\xaa\x7f:\xfe\xb3\xed\xa6\xcf\xcd\x9fn\x85\ -\xdd:{;\xfe\xf6\xf5;\xbc;\xff\xfeO\xfe\xbf\xaa\ -\x82IwM\xee\xce\xbf\xd7\xea\xde\x86\xfb\x1e\xf7\x7f|\ -\x10\xf1\xe0\xb7\x87_=,\xf8W\xfao\xe5\xa3\xc9\x8f\ -\xcd\x1f/)\xecP\xb8\xebI\xd0\x93\xb3E\xfd\x8a\x0a\ -\x9e\xca\x9e*\x9f\xcdxn\xfb|\xdd\x0b\xaf\x17G\x8b\ -c\x8b\xff.\x11\x95T\x96N+\xb3-[_\xce.\ -\xcf\xafH\xaa\xb8W\x99U\xc5\xa8Z\xf8\xb2\xe3\xcb\x03\ -\xafz\xbc\xba\xa1\x14U\xdf\x8f&A\x82\x04\x09\x12$\ -H\x90 A\x82\x04\x09\x12$H\x90 A\x82\x04\x09\ -\x12$H\x90 A\x82\x84\x1a\xb1\xb1\xb1\xfc\x9c\x9c\x9c\ -\x85zzz\xf4\xf7\x97&\xa1K\xb8\xba\xba\xfa\xe5\xe7\ -\xe7\x97\x9f={V\xb9l\xd9\xb2\x13VVV\xb6M\ -\xad\xd3\xff\x17\xd8\xdb\xdb;\x1d>|\xf8\x09\xf2\xbd&\ -\xec\xdd\xbb\xb7\x00\xb5IS\xeb\xf6_\x07\x1ak\x0e\x1e\ -<\xf8P\xdb\xf7\x9ap\xf2\xe4\xc9\xb2\xb8\xb8\xb8\x94\xa6\ -\xd6\xf1\xbf\x8cE\x8b\x16\x1d\xae\xcb\xf7\xda\x01\xce\x09\x8b\ -\xe8t:\xa3\xb1\xb2\xac\xad\xad\xed\xc2\xc2\xc2\xfa\x0a\x85\ -\xc2)s\xe7\xce\xdd\xb7q\xe3\xc6+\xfb\xf6\xed\xbb\x0b\ -\xdb\xb9\x14\x05\x14\xdf\xb4i\xd3\xd5y\xf3\xe6\xed\x17\x89\ -DS\xc3\xc3\xc3\x13Q\x1d]\xd8\xf99\x22))I\ -\xf4>\xdfk\x02\x9a\x13>\xc4\x17666\xf6C\x86\ -\x0c\xc9Z\xbe|y\xfe\x993g^\xd5W\x9e&\xa0\ -:+W\xae<=t\xe8\xd0\xec\xe6\xcd\x9b\xb7\xfc\x18\ -~h*\x8c\x1c9rqC|\xa1\x9e\x138\xf5\xe1\ -\xed\xe2\xe2\xc2\x9e\x16X,V\xc0\x81\x03\x07\xee7\xc4\xfe\xd7\xe7\ -\x044\x8f\xa31\xe2\xd8\xb1c/>\xb6\xef5\xe1\xf8\ -\xf1\xe3\xc5\xc9\xc9\xc99\xba\x98\x9b\x9a\x1a\xa8\xdf\xa2q\ -\xb6!\xf6k\xe6\x046\x9b\x1d\xb1u\xeb\xd6?>\x95\ -\xdf_\x0f\xdb\xb6m\xbb\xce\xe1p\xa2\x9a\xda\x87\x8d\x05\ -\xecG\xfac\xc6\x8cY\xd6\x10\xdb\x8f\x1e=\xfa\xbc\xa9\ -\xfc\xfez@k&\x0aDS\xfb\xb1\xb1h\xe8\x9c\xf0\ -9\x85\xdc\xdc\xdc\xbd&&&fM\xed\xc3\xc6\xe2C\ -\xe6\x84\xcf%\xa0\xf1\xc8\xc9\xc9\xa9sS\xfb\xb0\xb1\xf8\ -\x909\xe1s\x09h\x5c\xf4\xf5\xf5\x0doj\x1f6\x16\ -\xea9aiS\xfb\xf3C\x02\xba\xa6\xfe/\xb4\x01B\ -ff\xe6\x5c]\xf9\x05]\xc7)\x14\x8a9h\xcd\x02\ -\xc7\x89N\x86\x86\x86&0\x18;::\xb6\xdf\xb3g\ -\xcf\x1d]\xb7\x01Z\x9f5\xb5\xff\x1a\x03??\xbfH\ -dGc}\xb1s\xe7\xce\x9b!!!\xf1\xefZ\xa3\ -\xa0\xb1\xfbc\x9c\x07\xc8\x86O\xe93]\xa1S\xa7N\ -\xde\xe8:\xa7\xb1>@\xcfu\x18\x0c\x86\xc1\xfb\xe4}\ -\x0c\xff\xa3\x80l\x80\xb6x}\x0a\x9f\xe9\x0a\xe8\xfa~\ -\xff\xfe\xfd\xf7ta?\xba\xb7Y\x9f\xfb6\x1f\xcb\xff\ -( [\xbe\x94{xFFF\xa6\x1b6l\xb8\xa4\ -K\xfb\xd1\xf3\xb5\xb8\xb8\xb8\xd4w\xc9\xfd\x98\xfeGa\ -\xdd\xbau\x17\xd0|\xf3\xa9\xfc\xf8!@\xdfk\x9a=\ -{\xf6\xae\x8f\xe5\x03t\xdf\xf5m\xf7l>\xb6\xffQ\ -\x989s\xe6v\xadoR}v\xe0\xf1x\xa3>\xb6\ -\x0f\x96-[v\x12=\x1bx]\xf6\xa7\xf0?\x0a\xe8\ -\x99DS\xf8\xf6}pww\xf7\xff\xe5\x97_\xaa>\ -\x85\x0f\xd0\x9c\xe0\xe6\xe6\xd6U[\xfe\xa7\xf2?z\x96\ -\xd0\xa5K\x17\xdf\xa6\xf2s]@c>Z#6\xd6\ -\xb6\x86<\xe7BsB|||\xf5\x17\x7f>\x95\xff\ -Q\xd8\xbau\xeb\x9f\xfa\xfa\xfa\x86M\xe9sm\x0c\x1f\ ->\xfc[]\xd85q\xe2\xc45\x0d]7\x8d\x1a5\ -*\x0f\xcd\x09\x9f\xd2\xff(\xa4\xa6\xa6\x8eoj\xbf#\ -\xa0{\x86\xba\xba\x97\xec\xe9\xe9\x19\x84\xc6\xf6\x15+V\ -\x9cjH=\xf4\x8cx\xc7\x8e\x1d\xff|J\xff\x1f:\ -t\xa8\x10]{7\xb5\xff\x07\x0f\x1e\x9c\xa9\x0b{N\ -\x9c8QB\xa3\xd1\x88\x0f\x96\xa3\xfe\xd7\x86\xaelY\ -\xbat\xe9\xf1\xba\xf8\xa3u\xce\x87\xce\x09o\xd3y\xe1\ -\xc2\x85\x87t\xa1\xf3\xe6\xcd\x9b\xaf}<\xcf\xd6\x0fh\ -\xdc\xd0\x85-\xb3f\xcd\xda\xf96\x19\x1f:'\xd4u\ -\x9d\x800c\xc6\x8cm\xba\xd0\x19\xd9\xfe\xf1<[?\ -\xe8j\xdeC\xd7U\xef\x92\x83\xfa3\xea\xd7\x0d\xe1Y\ -\xd7u\x02B^^\xdeQ]\xe8\x0cm\xff\xfb\xe3y\ -\xb6~\x98?\x7f\xfeA]\xd8\xb2}\xfb\xf6\xbf\xea#\ -\x0f\xad\xf95\xef[\xd7'\xa09\x01\xcd#\xda\x058\x1cN\xb4.\xae\x0b\xb2\xb2\xb2\xbe\xfb\x90\xf7\ -\x0e\xd039\xf4\xeePc\xe5#\x1b\xbe\xd4=\x02\xdd\ -\xbbw\x1f\xa8\x8b6@\xeb\x9a\x9e={\x0e\xd1<\x1f\ -x\x17\xd0\xfa5&&f\xa8.\xde\xc1\x86\xba\xbfD\ -6|\x0a_},DFF\xf6\xd7\xd5\xf51z\xe6\ -\x84\xae{\xd0\xfeR\xb4O\x0f\xbdg\x8d\x02\x8a#\x1a\ -Z\x7f\xbd\xbe\x1f\xbc\xb1}\xbf\xb1\xf3\xd0\xe7\x80\xd0\xd0\ -\xd0\x84\xa6x>\xa5\xab\x80\xde\xe3\xfe\xdc\xd7=\xefC\ -PPP\xac.\xde\xc5m\xaa\x80\xf63|)\xeb\x9f\ -\xb7\xa1c\xc7\x8e\x9e\xe8\xfa\xaa\xa9}\xf9\xa1\x01\xcd)\ -\xe8=\xa7\xa6\xf6cc`fff\xb5`\xc1\x82\x9f\ -\x9a\xda\x97\x1f\x1a\xd0\xf3\x84/}N\xa0P(Tt\ -\xaf\xb3\xa9}\xa9\x09h\xbf}C\xaf\x19\xff\x0bs\x02\ -\xbaF\xf8\xd4\xefMi\x07\xf4\xce\x85\xbf\xbf\x7f\x0f\xa4\ -\x0b\xba\x97\x8f\xf6%7\xa4\xbezNphj?6\ -\x06M\xb1\xff\x1d\xc9\xaak\xff;J\xa3\xfd\xf9\x0d\xe1\ -\x85\xe6\x04\xb4\xe7\xb3\xa9\xfc\xa7+\xa0\xb5\xc5\xd7_\x7f\ -\xbd\xf6S\x8c5\xef\xeb\xb3\xe8;\x15\xe8{\x15\xf5\xe5\ -\x89\xe6\x04\xb4\xf7\xf9S\xf9\xeac\x02\xad\x91\xc6\x8f\x1f\ -\xbf\xb2!\xf6\xbf/\xa0\xfbp\x13&LX\xd5\x90}\ -D\xe8\xdeQC\xe7\x84\xcf\xf9\xdetCannn\ -\x8d\xbe3\x84\xd6J\x1fr\xed\x86\xea\xa0\xf7\xac\xfa\xf5\ -\xeb'\xb6\xb0\xb0\xb0\xf9\x10\x1d\x1a:' Y\xba\xf6\ -\xc3\xe7\x00SSSs4W\xa31\x1b}\xa3\x06=\ -w\xdf\xb2e\xcb\xefh\xec\x85\xe1\x01\x8a\xa3g\xeb\xdf\ -|\xf3\xcd&T\xa6k\xd7\xae\xddQ\x1d]\xc8F\xf3\ -S}\xee\xe3}N\xcf\x83\xff\x8b\xe8\xd3\xa7\x0f\xfe\xb6\ -1\x11\xb5\xfd\x97\xbe\x16\xfd\x12\x80\xbe\xeb\xf8\xfa\x9c\x80\ -\xdeM\xfd\xd2\xd7\xa0_\x12\xd0\xf7M5s\x02\x9a\xd7\ -\xffK\xdf4\xfbR\xa0\x99\x13\xd0w\x7f\x9bZ\x17\x12\ -$H\x90 A\x82\x04\x09\x12$H\x90 A\x82\x04\ -\x09\x12$H\x90 A\x82\x04\x09\x12$H\x90\xa8\x06\ -u\x05\x06\xa8\xf0\x1f\x83?\xb0\x82\x02hD\x1c\x80\xa1\ -+\xa85qU\xd1`\xbe$\x19g\xc6\xa6I\x14\x12\ -y\x9aD\xca\x0c\x93\xf02D\xb8X\xc1\x0c\xe3*\xb8\ -\xcc\x10\xa1\x84\x97\x0e\xd8!\xd111\x092\xe2=$\ -\x14\xef\xc9\x1d!\x03\xc0\xc0\x8f\xe0c\x01\x03\xdaI\x17\ -\x03C\x02\xa0)\x95\x00\xd0J\x09\xd6\x85D~!@\ -\xdf7/D\xf5\xc4\x12\x99H\x09\xf4\x91\x02\x9a\xf7\xed\ -;\x00\x80j\xbc?0\xe2\xd3\xb8R\x9c\xc9B|\x84\ -\x19b\xf4\xed\x19+\x18\x18 \x1e\xa4\x01.\x90\x02\x1c\ -0\x01K\xa5\x9fP,G{,irX\x85H\x8f\ -\x10\xa0g\xba\xc8r[\x94\xe6\x09\x93\x85(\x8d\xa9\xed\ -\x11\x88S\xb2\xd5\xf9D:]\x9c.\xd1N\x0b\xe5\xd2\ -\x94Zi\x9e\x10\xf1\xd7\xd7\xb8\x1b\xd1\xe4i\x22$\x03\ -\xed\xe9\xc3\x08\x19\x19r\x85:\x1b\xbd\x9fg\xa6\xf6:\ -\xac%\xc2\x15\x5c>t\xae\x9ab \xe4\x8e\xc0e\x09\ -\x02\x11\xce\x97d$\x07_m\x17Y\x94\xc4\xdaK\xf0\ -L\xc9\x96I\xd5uk\x03\x83\xb2\x0d\x8110\x02\xf6\ -\xa09\xb0\x86\xbf\xe6\xc0\x12\x963V\xffl\xe0\xcfZ\ -\xfd\xb3\x84\xa1\x05Q\xc2\x068T\xff\xec\x81\x1dA\xb1\ -\x84^D\xa5P\x8d\x16\xc0\xb6\x9a\x839\xa4\xb7Ps\ -\xb6\x87r\x8c\xa1<\xfd\x97\x80\xc2_H?\x02^\x01\ -\x9a_\xb9\xf2\x84\xedQ\xa0\x04\x98\xd3\x93WJ\xac\xc0\ -\xef\x18lf\xfa\xc3*%V\x96r\x1c\xeaw\xb8\x5c\ -\x89-b<\x05&v}\xa7\xec\xbbr\xb7\xb4\xf4\xee\ -\xd5\xfdS\x13\xed\xfe\x07\x80\xa8T\x89\x9d\xb0+\x06T\ -\xfb\xac\xfcW\xc5J\xea\xab\xd3\xd9-\xef\x01\xb0\xb8\x04\ -r\xe1\x94\x01\x0a{}\xe5\x13%\xa5r#\xe7\x01\xe4\ -\x98^Q\x8a8V\x02\xcca\xe3\x03%\xb6\xd9\xf1_\ -$2\xe0~\x89\x92\xbe\x88\x01\x00=\xfb\xc5=%\xa5\ -8\x87\xf1\x18\xea\x849\x9c.QRO\xd8E\xfcq\ -G\x89]\x8f*\x04/\x01\xa6\xbf\xacD\x09\x9e\xff\xa3\ -\xc4\xa6R\x8a\x00\xe4\x92^qY\x89\xed5{\x0a*\ -\x10\x17\x18\xbf\xde\xf9\x19(GUa\xfcy\xf8sP\ -\x06\xeb,\x85\xf1\xd2\xf0\x17\xa0\x04\x80\xb9O\x94\x8c\x82\ -9Q\x9dL\x8c\xdb\xdf)\x84\xd4\x88bP\x0a\xb0\xc8\ -\xd2\xa7J\xca\xcdxJ%\x00\xd7\x1fCjd\x09\xaa\ -\xe7]\xfcT\x89-4(\x87\xc4GJ\xac\xd8\xab\x14\ -1v\xbcW\xa4\xc4\xeer\x10\xf1_%v\xafe\x19\ -\x92lz\x09\xf2*O\xad\x80\xc4\x87J\xec\x82I9\ -R\x0d\xdb\x05\x0b,fTA\x22\xb4t;V\x01\x89\ -`\x14\x8c\x9e\xb4\x7f\x09i\xf7\x95 \xab\x02T\xc13\ -\xa7\xea>\xe4\xd8\xf5\x15A\xc3*}+\x91\x9d\xa67\ -\x9f*\xc1\xabR%\xad<\x0d\xd2\xef)\xb1?\x0d\xab\ - \x1d|\x0b\xa5\xaf\xb9W\xa2\xa4\xe41\xae\xdfU\x82\ -\xf1U\xc8Of\xcf\x8b\x94\x94 \xfbS\xd0\xe3\xf9\xff\ -\xdcUb\x85\xc6/!\x19d\x16)i%z\x80\xb1\ -\x04\xba\xac\xb2@\x09\x86\x13\xd4\xddEJp\x03J\x10\ -\xa0\x96\xa8\x18[\xee\x0c\xfe\x80\x94\x1dD\x1e\x8a\x1d\x87\ -*u\x85\x12\xb0<\x06\xd4\xf7\x10\xa4\x5c#\xf2J`\ -l'4K%\xc6\x1e\x9a\xb5\x0dRJ\x88\xbc\x7f`\ -\xec$\xf4\x03#\xaf\x04\x99\x02\xf5<\x0a)\x7f\x13y\ -\x07a\xec/\xe8\xcd\xb4r$O\xa0\x96\xb2\x9f\xc8\x9b\ -\x0a\xad)\xa5\xc3\xcc\xaewaK/a\xe8\x15\xc3\xac\ -I(\x0bkU\x05\xa3!\xb0m\xec\xf3!\xcfS\xf1\ -\xb0d\xb9\xddK\xe4\x82\x0d0cz\x89J\x18x\x01\ -\x13\xcb\x90g0\xa7g\xb0\xb5n\xd3\x8b\x91$\xe8\xaf\ -'PC\xa8\xe3`\x98\x9f\xf6\x02\x09\x80\xfeN\xaaD\ -M\xb0\x1c\x96\xbbe\x04i\xf6'\x1f*\xc1b\xd4,\ -\x98\xc19\xe8\xee5\xcf!\xd3\xc5\xb0\xa9\xcf2*P\ -\xab\xb6,\x80\xc4a\xcf\x00\x96Z\xfeD\x89\xfd\xcf\xbe\ -\x1c\xb5\xbf\xfb\xf3gJ\xec\x95\x0cR9O!\xa3g\ -ne\xa8\xabDW\xc1\xf8w&P\xb8\xe9B\x18\xab\ -\x8a*E\xddj \xa4R\xee\x0e\xd1+\x07\x14\xfa\xd0\ -\xfb\x90\xfer`\x09\xec\x84X\x7fh\x9bA\xe1\xb2D\ -\xb6\x83\x03;q\xf9\x13\xc8\xbcjX\x09\x80\x95\x13*\ -/)\xb1\xa5\x8c2\x00\xb5\x8b-\x85\xf1\xd3P(\xd4\ -\xca\xf3\x16\x8c\xdf\xf7\xaf\x00P\xac\xd5O0^1\xac\ -\x12<\x05\x18u:<\x13\xd6\x17\x94\xa0J/\xc1\x13\ -\xa8\xc7\xf5;J\xda\x8d\x1e\xc0\xee\x04\xa4\x9dvx\x85\ -\x06k\xd59\xf5\x22\x87\x01\xbd\xcaX\x04\xfd|?\x00\ -\x80G\xd0\xfc\xb5\xb0/\xaew\x80\x86\xa6\x94\x95*)\ -\x15\xe9\xe0!\xa0x\xae,\x83'k\xf9*\xd8\xd91\ -\x0ed\x0c\x16\xdf\x07Tk\xd1O\x95\xf0\xc4\xae<$\ -\xb6\x81\x8a\xd9\x9d(U\x02q\x0101\x8f\xce\xd9\x98\ -\xff\xfb\xfd\x07\xbf\x9f\xda\x94\xd3\xdd\xbc\x08`\xf4\x85p\ -\x90X\x06\xe0p\x81\x97U))\xa7\x18\xe0\x18\xc0\xfc\ -\x0a^)\xa9\xf7\x1c`\x97\x004\xdb\x13\xcar\xce+\ -p\x04*\xb5\x90\xff\x12\x0d{\x94\xa6\xf8\x1d8\xdb\x14\ -?\xd2\xda\xff\xb0\xb5\xeauT\x8c\x1c\xedo0U\xad\ -q\x08x\x8cS\xe7\xc5r\x15\x0a\xcd\xda\x22BU\xce\ -X\xbb\x1c:\xfc\x1f\x02\xea)+\ -\x00\x00\x80\x08\ -I\ -I*\x00\x08\x00\x00\x00\x18\x00\xfe\x00\x04\x00\x01\x00\x00\ -\x00\x00\x00\x00\x00\x00\x01\x03\x00\x01\x00\x00\x00`\x00\x00\ -\x00\x01\x01\x03\x00\x01\x00\x00\x00`\x00\x00\x00\x02\x01\x03\ -\x00\x04\x00\x00\x00.\x01\x00\x00\x03\x01\x03\x00\x01\x00\x00\ -\x00\x05\x00\x00\x00\x06\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\ -\x00\x11\x01\x04\x00\x01\x00\x00\x00NS\x00\x00\x12\x01\x03\ -\x00\x01\x00\x00\x00\x01\x00\x00\x00\x15\x01\x03\x00\x01\x00\x00\ -\x00\x04\x00\x00\x00\x16\x01\x03\x00\x01\x00\x00\x00`\x00\x00\ -\x00\x17\x01\x04\x00\x01\x00\x00\x000\x12\x00\x00\x1a\x01\x05\ -\x00\x01\x00\x00\x006\x01\x00\x00\x1b\x01\x05\x00\x01\x00\x00\ -\x00>\x01\x00\x00\x1c\x01\x03\x00\x01\x00\x00\x00\x01\x00\x00\ -\x00(\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\x001\x01\x02\ -\x00\x22\x00\x00\x00F\x01\x00\x002\x01\x02\x00\x14\x00\x00\ -\x00h\x01\x00\x00=\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\ -\x00R\x01\x03\x00\x01\x00\x00\x00\x01\x00\x00\x00\xbc\x02\x01\ -\x00\x1f8\x00\x00|\x01\x00\x00I\x86\x01\x00j\x0d\x00\ -\x00\x9c9\x00\x00i\x87\x04\x00\x01\x00\x00\x00\x80e\x00\ -\x00s\x87\x07\x00H\x0c\x00\x00\x06G\x00\x00\x5c\x93\x07\ -\x00X\x1a\x00\x00\xace\x00\x00\x00\x00\x00\x00\x08\x00\x08\ -\x00\x08\x00\x08\x00\x00\xf9\x15\x00\x10'\x00\x00\x00\xf9\x15\ -\x00\x10'\x00\x00Adobe Photo\ -shop CC 2017 (Wi\ -ndows)\x002017:04:0\ -4 11:01:25\x00\ -\x0a\x0a \ - \x0a \x0a \ - paint.net \ -4.0.9\x0a \ - 2017-03-01T11:2\ -0:20-08:00\x0a \ - 2017-04-04T\ -11:01:25-07:00\x0a\ - 2017-\ -04-04T11:01:25-0\ -7:00\x0a \ - imag\ -e/tiff\x0a 3\x0a \ - sRGB IEC\ -61966-2.1\ -\x0a xmp.\ -iid:7284f562-66e\ -c-6d4b-bfaf-a292\ -c87d086e\x0a \ - adobe:doc\ -id:photoshop:aca\ -ee4ff-1960-11e7-\ -bae7-e6e7a5cd281\ -4\x0a xmp.did:\ -15df0628-f397-b6\ -41-8e6b-37248a21\ -c43f\x0a\ - \x0a \ - \x0a \ - \x0a\ - \ - \ -created\x0a \ - xmp.i\ -id:15df0628-f397\ --b641-8e6b-37248\ -a21c43f\x0a \ - 2017-03\ --01T11:20:20-08:\ -00\x0a\ - \ - Adobe Pho\ -toshop CC 2017 (\ -Windows)\x0a \ - \x0a \ - \x0a \ - saved\x0a \ - \ -xmp.iid:7284f5\ -62-66ec-6d4b-bfa\ -f-a292c87d086e\x0a \ - \ -2017-04-04T11:01\ -:25-07:00\x0a \ - Ad\ -obe Photoshop CC\ - 2017 (Windows)<\ -/stEvt:softwareA\ -gent>\x0a \ - /\x0a \ - \x0a \x0a \ - \x0a \x0a <\ -/rdf:RDF>\x0a\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a\ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a\ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a\ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a\ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a\ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a\ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a\ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a\ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \x0a\x008BIM\x04\ -%\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x008BIM\x04:\x00\x00\x00\ -\x00\x00\xe5\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\x00\x00\ -\x0bprintOutput\x00\x00\x00\x05\ -\x00\x00\x00\x00PstSbool\x01\x00\x00\x00\ -\x00Inteenum\x00\x00\x00\x00Int\ -e\x00\x00\x00\x00Clrm\x00\x00\x00\x0fpri\ -ntSixteenBitbool\ -\x00\x00\x00\x00\x0bprinterName\ -TEXT\x00\x00\x00\x01\x00\x00\x00\x00\x00\x0fpr\ -intProofSetupObj\ -c\x00\x00\x00\x0c\x00P\x00r\x00o\x00o\x00f\x00\ - \x00S\x00e\x00t\x00u\x00p\x00\x00\x00\x00\x00\ -\x0aproofSetup\x00\x00\x00\x01\x00\ -\x00\x00\x00Bltnenum\x00\x00\x00\x0cb\ -uiltinProof\x00\x00\x00\x09p\ -roofCMYK\x008BIM\x04;\x00\ -\x00\x00\x00\x02-\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\ -\x00\x00\x12printOutputOp\ -tions\x00\x00\x00\x17\x00\x00\x00\x00Cpt\ -nbool\x00\x00\x00\x00\x00Clbrbo\ -ol\x00\x00\x00\x00\x00RgsMbool\x00\ -\x00\x00\x00\x00CrnCbool\x00\x00\x00\x00\ -\x00CntCbool\x00\x00\x00\x00\x00Lb\ -lsbool\x00\x00\x00\x00\x00Ngtvb\ -ool\x00\x00\x00\x00\x00EmlDbool\ -\x00\x00\x00\x00\x00Intrbool\x00\x00\x00\ -\x00\x00BckgObjc\x00\x00\x00\x01\x00\x00\ -\x00\x00\x00\x00RGBC\x00\x00\x00\x03\x00\x00\x00\x00\ -Rd doub@o\xe0\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00Grn doub@o\xe0\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00Bl doub\ -@o\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00BrdT\ -UntF#Rlt\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00Bld UntF#Rlt\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00Rslt\ -UntF#Pxl@b\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x0avectorDatabo\ -ol\x01\x00\x00\x00\x00PgPsenum\x00\ -\x00\x00\x00PgPs\x00\x00\x00\x00PgPC\x00\ -\x00\x00\x00LeftUntF#Rlt\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00Top U\ -ntF#Rlt\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00Scl UntF#Prc@\ -Y\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10cropW\ -henPrintingbool\x00\ -\x00\x00\x00\x0ecropRectBott\ -omlong\x00\x00\x00\x00\x00\x00\x00\x0ccr\ -opRectLeftlong\x00\x00\ -\x00\x00\x00\x00\x00\x0dcropRectRi\ -ghtlong\x00\x00\x00\x00\x00\x00\x00\x0bc\ -ropRectToplong\x00\x00\ -\x00\x00\x008BIM\x03\xed\x00\x00\x00\x00\x00\x10\x00\ -\x90\x00\x00\x00\x01\x00\x01\x00\x90\x00\x00\x00\x01\x00\x018\ -BIM\x04&\x00\x00\x00\x00\x00\x0e\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00?\x80\x00\x008BIM\x03\xee\x00\ -\x00\x00\x00\x00\x0d\x0cTransparen\ -cy\x008BIM\x04\x15\x00\x00\x00\x00\x00\x1e\x00\ -\x00\x00\x0d\x00T\x00r\x00a\x00n\x00s\x00p\x00\ -a\x00r\x00e\x00n\x00c\x00y\x00\x008BI\ -M\x045\x00\x00\x00\x00\x00\x11\x00\x00\x00\x01\x00\x00\xff\ -\xff\x00\x00\x00\x00\x00\x00\x00d\x01\x008BIM\x04\ -\x1d\x00\x00\x00\x00\x00\x04\x00\x00\x00\x008BIM\x04\ -\x0d\x00\x00\x00\x00\x00\x04\x00\x00\x00\x1e8BIM\x04\ -\x19\x00\x00\x00\x00\x00\x04\x00\x00\x00\x1e8BIM\x03\ -\xf3\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x01\ -\x008BIM'\x10\x00\x00\x00\x00\x00\x0a\x00\x01\x00\ -\x00\x00\x00\x00\x00\x00\x018BIM\x03\xf5\x00\x00\x00\ -\x00\x00H\x00/ff\x00\x01\x00lff\x00\x06\x00\ -\x00\x00\x00\x00\x01\x00/ff\x00\x01\x00\xa1\x99\x9a\x00\ -\x06\x00\x00\x00\x00\x00\x01\x002\x00\x00\x00\x01\x00Z\x00\ -\x00\x00\x06\x00\x00\x00\x00\x00\x01\x005\x00\x00\x00\x01\x00\ --\x00\x00\x00\x06\x00\x00\x00\x00\x00\x018BIM\x03\ -\xf8\x00\x00\x00\x00\x00p\x00\x00\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x03\ -\xe8\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x03\xe8\x00\x00\x00\ -\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\x03\xe8\x00\x00\x00\x00\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\x03\xe8\x00\x008BIM\x04\x00\x00\x00\x00\ -\x00\x00\x02\x00\x008BIM\x04\x02\x00\x00\x00\x00\x00\ -\x02\x00\x008BIM\x040\x00\x00\x00\x00\x00\x01\x01\ -\x008BIM\x04-\x00\x00\x00\x00\x00\x06\x00\x01\x00\ -\x00\x00\x038BIM\x04\x08\x00\x00\x00\x00\x00$\x00\ -\x00\x00\x01\x00\x00\x02@\x00\x00\x02@\x00\x00\x00\x04\x00\ -\x00\x01+\x00\x00\x00\x0a\xc5\x00\x00\x00\x01\x1b\x01\x00\x00\ -\x0a\xd5\x018BIM\x04\x1e\x00\x00\x00\x00\x00\x04\x00\ -\x00\x00\x008BIM\x04\x1a\x00\x00\x00\x00\x035\x00\ -\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x00\ -\x00\x00`\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x00\x00\x00`\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00nu\ -ll\x00\x00\x00\x02\x00\x00\x00\x06bounds\ -Objc\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00Rc\ -t1\x00\x00\x00\x04\x00\x00\x00\x00Top lo\ -ng\x00\x00\x00\x00\x00\x00\x00\x00Leftlo\ -ng\x00\x00\x00\x00\x00\x00\x00\x00Btomlo\ -ng\x00\x00\x00`\x00\x00\x00\x00Rghtlo\ -ng\x00\x00\x00`\x00\x00\x00\x06slices\ -VlLs\x00\x00\x00\x01Objc\x00\x00\x00\x01\ -\x00\x00\x00\x00\x00\x05slice\x00\x00\x00\x12\x00\ -\x00\x00\x07sliceIDlong\x00\x00\ -\x00\x00\x00\x00\x00\x07groupIDlon\ -g\x00\x00\x00\x00\x00\x00\x00\x06origine\ -num\x00\x00\x00\x0cESliceOri\ -gin\x00\x00\x00\x0dautoGener\ -ated\x00\x00\x00\x00Typeenum\ -\x00\x00\x00\x0aESliceType\x00\x00\ -\x00\x00Img \x00\x00\x00\x06bounds\ -Objc\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00Rc\ -t1\x00\x00\x00\x04\x00\x00\x00\x00Top lo\ -ng\x00\x00\x00\x00\x00\x00\x00\x00Leftlo\ -ng\x00\x00\x00\x00\x00\x00\x00\x00Btomlo\ -ng\x00\x00\x00`\x00\x00\x00\x00Rghtlo\ -ng\x00\x00\x00`\x00\x00\x00\x03urlTEX\ -T\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00nullT\ -EXT\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00Msg\ -eTEXT\x00\x00\x00\x01\x00\x00\x00\x00\x00\x06a\ -ltTagTEXT\x00\x00\x00\x01\x00\x00\x00\ -\x00\x00\x0ecellTextIsHTM\ -Lbool\x01\x00\x00\x00\x08cellTe\ -xtTEXT\x00\x00\x00\x01\x00\x00\x00\x00\x00\x09\ -horzAlignenum\x00\x00\x00\ -\x0fESliceHorzAlign\ -\x00\x00\x00\x07default\x00\x00\x00\x09v\ -ertAlignenum\x00\x00\x00\x0f\ -ESliceVertAlign\x00\ -\x00\x00\x07default\x00\x00\x00\x0bbg\ -ColorTypeenum\x00\x00\x00\ -\x11ESliceBGColorTy\ -pe\x00\x00\x00\x00None\x00\x00\x00\x09to\ -pOutsetlong\x00\x00\x00\x00\x00\ -\x00\x00\x0aleftOutsetlon\ -g\x00\x00\x00\x00\x00\x00\x00\x0cbottomO\ -utsetlong\x00\x00\x00\x00\x00\x00\x00\ -\x0brightOutsetlong\ -\x00\x00\x00\x00\x008BIM\x04(\x00\x00\x00\x00\x00\ -\x0c\x00\x00\x00\x02?\xf0\x00\x00\x00\x00\x00\x008BI\ -M\x04\x14\x00\x00\x00\x00\x00\x04\x00\x00\x00\x048BI\ -M\x04\x0c\x00\x00\x00\x00\x04\x02\x00\x00\x00\x01\x00\x00\x00\ -0\x00\x00\x000\x00\x00\x00\x90\x00\x00\x1b\x00\x00\x00\x03\ -\xe6\x00\x18\x00\x01\xff\xd8\xff\xed\x00\x0cAdobe\ -_CM\x00\x01\xff\xee\x00\x0eAdobe\x00d\ -\x80\x00\x00\x00\x01\xff\xdb\x00\x84\x00\x0c\x08\x08\x08\x09\x08\ -\x0c\x09\x09\x0c\x11\x0b\x0a\x0b\x11\x15\x0f\x0c\x0c\x0f\x15\x18\ -\x13\x13\x15\x13\x13\x18\x11\x0c\x0c\x0c\x0c\x0c\x0c\x11\x0c\x0c\ -\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\ -\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x01\x0d\x0b\x0b\x0d\x0e\ -\x0d\x10\x0e\x0e\x10\x14\x0e\x0e\x0e\x14\x14\x0e\x0e\x0e\x0e\x14\ -\x11\x0c\x0c\x0c\x0c\x0c\x11\x11\x0c\x0c\x0c\x0c\x0c\x0c\x11\x0c\ -\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\ -\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\xff\xc0\x00\x11\x08\ -\x000\x000\x03\x01\x22\x00\x02\x11\x01\x03\x11\x01\xff\xdd\ -\x00\x04\x00\x03\xff\xc4\x01?\x00\x00\x01\x05\x01\x01\x01\x01\ -\x01\x01\x00\x00\x00\x00\x00\x00\x00\x03\x00\x01\x02\x04\x05\x06\ -\x07\x08\x09\x0a\x0b\x01\x00\x01\x05\x01\x01\x01\x01\x01\x01\x00\ -\x00\x00\x00\x00\x00\x00\x01\x00\x02\x03\x04\x05\x06\x07\x08\x09\ -\x0a\x0b\x10\x00\x01\x04\x01\x03\x02\x04\x02\x05\x07\x06\x08\x05\ -\x03\x0c3\x01\x00\x02\x11\x03\x04!\x121\x05AQa\ -\x13\x22q\x812\x06\x14\x91\xa1\xb1B#$\x15R\xc1\ -b34r\x82\xd1C\x07%\x92S\xf0\xe1\xf1cs\ -5\x16\xa2\xb2\x83&D\x93TdE\xc2\xa3t6\x17\ -\xd2U\xe2e\xf2\xb3\x84\xc3\xd3u\xe3\xf3F'\x94\xa4\ -\x85\xb4\x95\xc4\xd4\xe4\xf4\xa5\xb5\xc5\xd5\xe5\xf5Vfv\ -\x86\x96\xa6\xb6\xc6\xd6\xe6\xf67GWgw\x87\x97\xa7\ -\xb7\xc7\xd7\xe7\xf7\x11\x00\x02\x02\x01\x02\x04\x04\x03\x04\x05\ -\x06\x07\x07\x06\x055\x01\x00\x02\x11\x03!1\x12\x04A\ -Qaq\x22\x13\x052\x81\x91\x14\xa1\xb1B#\xc1R\ -\xd1\xf03$b\xe1r\x82\x92CS\x15cs4\xf1\ -%\x06\x16\xa2\xb2\x83\x07&5\xc2\xd2D\x93T\xa3\x17\ -dEU6te\xe2\xf2\xb3\x84\xc3\xd3u\xe3\xf3F\ -\x94\xa4\x85\xb4\x95\xc4\xd4\xe4\xf4\xa5\xb5\xc5\xd5\xe5\xf5V\ -fv\x86\x96\xa6\xb6\xc6\xd6\xe6\xf6'7GWgw\ -\x87\x97\xa7\xb7\xc7\xff\xda\x00\x0c\x03\x01\x00\x02\x11\x03\x11\ -\x00?\x00\xf4<\xdc\xcc\x96d\x9a\xa9;@\x80\x00\x00\ -\x92O\xc6P\xfd~\xab\xe0\xff\x00\xfbl\x7f\xe4R\xc9\ -\xff\x00\x95\x1b\xfdz\xff\x00\xef\xabR\xcb\x19[\x0b\xec\ -!\xad\x1c\x92\x92\x9c\xbf_\xaa\xf8?\xfe\xdb\x1f\xf9\x14\ -\xbd~\xab\xe0\xff\x00\xfbl\x7f\xe4T\xed\xea\xee\x9f\xd0\ -\xb0\x06\xfe\xf3\xff\x00\xf2#\xff\x00$\x95]]\xd3\xfa\ -f\x02\xd3\xf9\xcc\xff\x00\xc8\x9f\xfc\x92Ja\xeb\xf5_\ -\x07\xff\x00\x98?\xf2(\x98\x19\x99\x16dzV\x9d\xc0\ -\x83\xc8\x00\x82?\xaa\xb4+\xb1\x960>\xb2\x1c\xd3\xc1\ -\x0b+\x07\xfeP?\xf5\xcf\xca\x92\x9f\xff\xd0\xef\xf2\x7f\ -\xe5F\xff\x00^\xbf\xfb\xea\x16fS\xb2-\xff\x00\x83\ -i\x867\xfe\xff\x00\xfd\xa4\x5c\x9f\xf9Q\xbf\xd7\xaf\xfe\ -\xfa\x87\x9b\x8a\xec{\x09\x03\xf4O>\xc3\xe0O\xe6\x1f\ -\xfb\xeaJnt\xecJ\x85-\xb9\xed\x0e{\xf5\x13\xac\ -\x0e\xd0\xa9dc\xde-\xb5\xfe\x9b\x85a\xce;\xbbD\ -\xf2\xad\xe0f\xd4\xda\x856\xb81\xcc\xd1\xa4\xe8\x08\xf8\ -\xa5\x9f\x9bS\xaa4\xd4\xe0\xf7?G\x11\xa8\x03\xe2\x92\ -\x9a\x98y.\xc7\xb4\x7f\xa3y\x01\xe3\xfe\xff\x00\xfd\x94\ -L\x1d:\x8b\x87\x9d\x9f\x95C\x0b\x15\xd9\x16\x87\x11\xfa\ -&\x19q\xf1#\xf3\x07\xfd\xf9O\x07^\xa2\xe3\xe7g\ -\xe5IO\xff\xd1\xef\xf2\x7f\xe5F\xff\x00^\xbf\xfb\xea\ -\xd4{\x1a\xf6\x96<\x074\xe8A\xe1g\xe6\xe1d\xbf\ -$\xdbP\x90b\x0c\xc1\x04!\xfd\x9b\xaa~\xf3\xff\x00\ -\xed\xcf\xfc\xc9%&\xb7\xa4\xb4\x99\xa6\xc2\xd1\xfb\xae\x1b\ -\x87\xdf\xf4\x92\xab\xa4\xb4\x19\xba\xc2\xe1\xfb\xad\x1bG\xdf\ -\xf4\x90~\xcd\xd5?y\xff\x00\xf6\xe7\xfed\x97\xd9\xba\ -\xa7\xef?\xfe\xdc\xff\x00\xcc\x92S\xa8\xc65\x8d\x0c`\ -\x0dh\xd0\x01\xc2\xca\xc1\xff\x00\x94\x0f\xc6\xcf\xca\x9f\xec\ -\xddS\xf7\x9f\xff\x00n\x7f\xe6H\xb88Y\x15\xdf\xea\ -\xda\x03@\x04s$\x92\x92\x9f\xff\xd98BIM\x04\ -!\x00\x00\x00\x00\x00]\x00\x00\x00\x01\x01\x00\x00\x00\x0f\ -\x00A\x00d\x00o\x00b\x00e\x00 \x00P\x00h\ -\x00o\x00t\x00o\x00s\x00h\x00o\x00p\x00\x00\ -\x00\x17\x00A\x00d\x00o\x00b\x00e\x00 \x00P\ -\x00h\x00o\x00t\x00o\x00s\x00h\x00o\x00p\ -\x00 \x00C\x00C\x00 \x002\x000\x001\x007\ -\x00\x00\x00\x01\x00\x00\x00\x0cHLino\x02\x10\x00\ -\x00mntrRGB XYZ \x07\xce\x00\ -\x02\x00\x09\x00\x06\x001\x00\x00acspMSF\ -T\x00\x00\x00\x00IEC sRGB\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf6\xd6\x00\x01\x00\ -\x00\x00\x00\xd3-HP \x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x11cprt\x00\x00\x01\ -P\x00\x00\x003desc\x00\x00\x01\x84\x00\x00\x00\ -lwtpt\x00\x00\x01\xf0\x00\x00\x00\x14bkp\ -t\x00\x00\x02\x04\x00\x00\x00\x14rXYZ\x00\x00\x02\ -\x18\x00\x00\x00\x14gXYZ\x00\x00\x02,\x00\x00\x00\ -\x14bXYZ\x00\x00\x02@\x00\x00\x00\x14dmn\ -d\x00\x00\x02T\x00\x00\x00pdmdd\x00\x00\x02\ -\xc4\x00\x00\x00\x88vued\x00\x00\x03L\x00\x00\x00\ -\x86view\x00\x00\x03\xd4\x00\x00\x00$lum\ -i\x00\x00\x03\xf8\x00\x00\x00\x14meas\x00\x00\x04\ -\x0c\x00\x00\x00$tech\x00\x00\x040\x00\x00\x00\ -\x0crTRC\x00\x00\x04<\x00\x00\x08\x0cgTR\ -C\x00\x00\x04<\x00\x00\x08\x0cbTRC\x00\x00\x04\ -<\x00\x00\x08\x0ctext\x00\x00\x00\x00Cop\ -yright (c) 1998 \ -Hewlett-Packard \ -Company\x00\x00desc\x00\x00\x00\ -\x00\x00\x00\x00\x12sRGB IEC619\ -66-2.1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x12sRGB IEC61966-\ -2.1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00XYZ \x00\x00\x00\x00\x00\x00\xf3\ -Q\x00\x01\x00\x00\x00\x01\x16\xccXYZ \x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00XYZ\ - \x00\x00\x00\x00\x00\x00o\xa2\x00\x008\xf5\x00\x00\x03\ -\x90XYZ \x00\x00\x00\x00\x00\x00b\x99\x00\x00\xb7\ -\x85\x00\x00\x18\xdaXYZ \x00\x00\x00\x00\x00\x00$\ -\xa0\x00\x00\x0f\x84\x00\x00\xb6\xcfdesc\x00\x00\x00\ -\x00\x00\x00\x00\x16IEC http://\ -www.iec.ch\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x16IEC http:/\ -/www.iec.ch\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00desc\x00\x00\x00\ -\x00\x00\x00\x00.IEC 61966-2\ -.1 Default RGB c\ -olour space - sR\ -GB\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00.IE\ -C 61966-2.1 Defa\ -ult RGB colour s\ -pace - sRGB\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00desc\x00\x00\x00\x00\x00\x00\x00,Ref\ -erence Viewing C\ -ondition in IEC6\ -1966-2.1\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00,Reference Vi\ -ewing Condition \ -in IEC61966-2.1\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00view\x00\x00\x00\ -\x00\x00\x13\xa4\xfe\x00\x14_.\x00\x10\xcf\x14\x00\x03\xed\ -\xcc\x00\x04\x13\x0b\x00\x03\x5c\x9e\x00\x00\x00\x01XYZ\ - \x00\x00\x00\x00\x00L\x09V\x00P\x00\x00\x00W\x1f\ -\xe7meas\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\ -\x8f\x00\x00\x00\x02sig \x00\x00\x00\x00CRT\ - curv\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\ -\x05\x00\x0a\x00\x0f\x00\x14\x00\x19\x00\x1e\x00#\x00(\x00\ --\x002\x007\x00;\x00@\x00E\x00J\x00O\x00\ -T\x00Y\x00^\x00c\x00h\x00m\x00r\x00w\x00\ -|\x00\x81\x00\x86\x00\x8b\x00\x90\x00\x95\x00\x9a\x00\x9f\x00\ -\xa4\x00\xa9\x00\xae\x00\xb2\x00\xb7\x00\xbc\x00\xc1\x00\xc6\x00\ -\xcb\x00\xd0\x00\xd5\x00\xdb\x00\xe0\x00\xe5\x00\xeb\x00\xf0\x00\ -\xf6\x00\xfb\x01\x01\x01\x07\x01\x0d\x01\x13\x01\x19\x01\x1f\x01\ -%\x01+\x012\x018\x01>\x01E\x01L\x01R\x01\ -Y\x01`\x01g\x01n\x01u\x01|\x01\x83\x01\x8b\x01\ -\x92\x01\x9a\x01\xa1\x01\xa9\x01\xb1\x01\xb9\x01\xc1\x01\xc9\x01\ -\xd1\x01\xd9\x01\xe1\x01\xe9\x01\xf2\x01\xfa\x02\x03\x02\x0c\x02\ -\x14\x02\x1d\x02&\x02/\x028\x02A\x02K\x02T\x02\ -]\x02g\x02q\x02z\x02\x84\x02\x8e\x02\x98\x02\xa2\x02\ -\xac\x02\xb6\x02\xc1\x02\xcb\x02\xd5\x02\xe0\x02\xeb\x02\xf5\x03\ -\x00\x03\x0b\x03\x16\x03!\x03-\x038\x03C\x03O\x03\ -Z\x03f\x03r\x03~\x03\x8a\x03\x96\x03\xa2\x03\xae\x03\ -\xba\x03\xc7\x03\xd3\x03\xe0\x03\xec\x03\xf9\x04\x06\x04\x13\x04\ - \x04-\x04;\x04H\x04U\x04c\x04q\x04~\x04\ -\x8c\x04\x9a\x04\xa8\x04\xb6\x04\xc4\x04\xd3\x04\xe1\x04\xf0\x04\ -\xfe\x05\x0d\x05\x1c\x05+\x05:\x05I\x05X\x05g\x05\ -w\x05\x86\x05\x96\x05\xa6\x05\xb5\x05\xc5\x05\xd5\x05\xe5\x05\ -\xf6\x06\x06\x06\x16\x06'\x067\x06H\x06Y\x06j\x06\ -{\x06\x8c\x06\x9d\x06\xaf\x06\xc0\x06\xd1\x06\xe3\x06\xf5\x07\ -\x07\x07\x19\x07+\x07=\x07O\x07a\x07t\x07\x86\x07\ -\x99\x07\xac\x07\xbf\x07\xd2\x07\xe5\x07\xf8\x08\x0b\x08\x1f\x08\ -2\x08F\x08Z\x08n\x08\x82\x08\x96\x08\xaa\x08\xbe\x08\ -\xd2\x08\xe7\x08\xfb\x09\x10\x09%\x09:\x09O\x09d\x09\ -y\x09\x8f\x09\xa4\x09\xba\x09\xcf\x09\xe5\x09\xfb\x0a\x11\x0a\ -'\x0a=\x0aT\x0aj\x0a\x81\x0a\x98\x0a\xae\x0a\xc5\x0a\ -\xdc\x0a\xf3\x0b\x0b\x0b\x22\x0b9\x0bQ\x0bi\x0b\x80\x0b\ -\x98\x0b\xb0\x0b\xc8\x0b\xe1\x0b\xf9\x0c\x12\x0c*\x0cC\x0c\ -\x5c\x0cu\x0c\x8e\x0c\xa7\x0c\xc0\x0c\xd9\x0c\xf3\x0d\x0d\x0d\ -&\x0d@\x0dZ\x0dt\x0d\x8e\x0d\xa9\x0d\xc3\x0d\xde\x0d\ -\xf8\x0e\x13\x0e.\x0eI\x0ed\x0e\x7f\x0e\x9b\x0e\xb6\x0e\ -\xd2\x0e\xee\x0f\x09\x0f%\x0fA\x0f^\x0fz\x0f\x96\x0f\ -\xb3\x0f\xcf\x0f\xec\x10\x09\x10&\x10C\x10a\x10~\x10\ -\x9b\x10\xb9\x10\xd7\x10\xf5\x11\x13\x111\x11O\x11m\x11\ -\x8c\x11\xaa\x11\xc9\x11\xe8\x12\x07\x12&\x12E\x12d\x12\ -\x84\x12\xa3\x12\xc3\x12\xe3\x13\x03\x13#\x13C\x13c\x13\ -\x83\x13\xa4\x13\xc5\x13\xe5\x14\x06\x14'\x14I\x14j\x14\ -\x8b\x14\xad\x14\xce\x14\xf0\x15\x12\x154\x15V\x15x\x15\ -\x9b\x15\xbd\x15\xe0\x16\x03\x16&\x16I\x16l\x16\x8f\x16\ -\xb2\x16\xd6\x16\xfa\x17\x1d\x17A\x17e\x17\x89\x17\xae\x17\ -\xd2\x17\xf7\x18\x1b\x18@\x18e\x18\x8a\x18\xaf\x18\xd5\x18\ -\xfa\x19 \x19E\x19k\x19\x91\x19\xb7\x19\xdd\x1a\x04\x1a\ -*\x1aQ\x1aw\x1a\x9e\x1a\xc5\x1a\xec\x1b\x14\x1b;\x1b\ -c\x1b\x8a\x1b\xb2\x1b\xda\x1c\x02\x1c*\x1cR\x1c{\x1c\ -\xa3\x1c\xcc\x1c\xf5\x1d\x1e\x1dG\x1dp\x1d\x99\x1d\xc3\x1d\ -\xec\x1e\x16\x1e@\x1ej\x1e\x94\x1e\xbe\x1e\xe9\x1f\x13\x1f\ ->\x1fi\x1f\x94\x1f\xbf\x1f\xea \x15 A l \ -\x98 \xc4 \xf0!\x1c!H!u!\xa1!\xce!\ -\xfb\x22'\x22U\x22\x82\x22\xaf\x22\xdd#\x0a#8#\ -f#\x94#\xc2#\xf0$\x1f$M$|$\xab$\ -\xda%\x09%8%h%\x97%\xc7%\xf7&'&\ -W&\x87&\xb7&\xe8'\x18'I'z'\xab'\ -\xdc(\x0d(?(q(\xa2(\xd4)\x06)8)\ -k)\x9d)\xd0*\x02*5*h*\x9b*\xcf+\ -\x02+6+i+\x9d+\xd1,\x05,9,n,\ -\xa2,\xd7-\x0c-A-v-\xab-\xe1.\x16.\ -L.\x82.\xb7.\xee/$/Z/\x91/\xc7/\ -\xfe050l0\xa40\xdb1\x121J1\x821\ -\xba1\xf22*2c2\x9b2\xd43\x0d3F3\ -\x7f3\xb83\xf14+4e4\x9e4\xd85\x135\ -M5\x875\xc25\xfd676r6\xae6\xe97\ -$7`7\x9c7\xd78\x148P8\x8c8\xc89\ -\x059B9\x7f9\xbc9\xf9:6:t:\xb2:\ -\xef;-;k;\xaa;\xe8<' >`>\xa0>\ -\xe0?!?a?\xa2?\xe2@#@d@\xa6@\ -\xe7A)AjA\xacA\xeeB0BrB\xb5B\ -\xf7C:C}C\xc0D\x03DGD\x8aD\xceE\ -\x12EUE\x9aE\xdeF\x22FgF\xabF\xf0G\ -5G{G\xc0H\x05HKH\x91H\xd7I\x1dI\ -cI\xa9I\xf0J7J}J\xc4K\x0cKSK\ -\x9aK\xe2L*LrL\xbaM\x02MJM\x93M\ -\xdcN%NnN\xb7O\x00OIO\x93O\xddP\ -'PqP\xbbQ\x06QPQ\x9bQ\xe6R1R\ -|R\xc7S\x13S_S\xaaS\xf6TBT\x8fT\ -\xdbU(UuU\xc2V\x0fV\x5cV\xa9V\xf7W\ -DW\x92W\xe0X/X}X\xcbY\x1aYiY\ -\xb8Z\x07ZVZ\xa6Z\xf5[E[\x95[\xe5\x5c\ -5\x5c\x86\x5c\xd6]']x]\xc9^\x1a^l^\ -\xbd_\x0f_a_\xb3`\x05`W`\xaa`\xfca\ -Oa\xa2a\xf5bIb\x9cb\xf0cCc\x97c\ -\xebd@d\x94d\xe9e=e\x92e\xe7f=f\ -\x92f\xe8g=g\x93g\xe9h?h\x96h\xeci\ -Ci\x9ai\xf1jHj\x9fj\xf7kOk\xa7k\ -\xfflWl\xafm\x08m`m\xb9n\x12nkn\ -\xc4o\x1eoxo\xd1p+p\x86p\xe0q:q\ -\x95q\xf0rKr\xa6s\x01s]s\xb8t\x14t\ -pt\xccu(u\x85u\xe1v>v\x9bv\xf8w\ -Vw\xb3x\x11xnx\xccy*y\x89y\xe7z\ -Fz\xa5{\x04{c{\xc2|!|\x81|\xe1}\ -A}\xa1~\x01~b~\xc2\x7f#\x7f\x84\x7f\xe5\x80\ -G\x80\xa8\x81\x0a\x81k\x81\xcd\x820\x82\x92\x82\xf4\x83\ -W\x83\xba\x84\x1d\x84\x80\x84\xe3\x85G\x85\xab\x86\x0e\x86\ -r\x86\xd7\x87;\x87\x9f\x88\x04\x88i\x88\xce\x893\x89\ -\x99\x89\xfe\x8ad\x8a\xca\x8b0\x8b\x96\x8b\xfc\x8cc\x8c\ -\xca\x8d1\x8d\x98\x8d\xff\x8ef\x8e\xce\x8f6\x8f\x9e\x90\ -\x06\x90n\x90\xd6\x91?\x91\xa8\x92\x11\x92z\x92\xe3\x93\ -M\x93\xb6\x94 \x94\x8a\x94\xf4\x95_\x95\xc9\x964\x96\ -\x9f\x97\x0a\x97u\x97\xe0\x98L\x98\xb8\x99$\x99\x90\x99\ -\xfc\x9ah\x9a\xd5\x9bB\x9b\xaf\x9c\x1c\x9c\x89\x9c\xf7\x9d\ -d\x9d\xd2\x9e@\x9e\xae\x9f\x1d\x9f\x8b\x9f\xfa\xa0i\xa0\ -\xd8\xa1G\xa1\xb6\xa2&\xa2\x96\xa3\x06\xa3v\xa3\xe6\xa4\ -V\xa4\xc7\xa58\xa5\xa9\xa6\x1a\xa6\x8b\xa6\xfd\xa7n\xa7\ -\xe0\xa8R\xa8\xc4\xa97\xa9\xa9\xaa\x1c\xaa\x8f\xab\x02\xab\ -u\xab\xe9\xac\x5c\xac\xd0\xadD\xad\xb8\xae-\xae\xa1\xaf\ -\x16\xaf\x8b\xb0\x00\xb0u\xb0\xea\xb1`\xb1\xd6\xb2K\xb2\ -\xc2\xb38\xb3\xae\xb4%\xb4\x9c\xb5\x13\xb5\x8a\xb6\x01\xb6\ -y\xb6\xf0\xb7h\xb7\xe0\xb8Y\xb8\xd1\xb9J\xb9\xc2\xba\ -;\xba\xb5\xbb.\xbb\xa7\xbc!\xbc\x9b\xbd\x15\xbd\x8f\xbe\ -\x0a\xbe\x84\xbe\xff\xbfz\xbf\xf5\xc0p\xc0\xec\xc1g\xc1\ -\xe3\xc2_\xc2\xdb\xc3X\xc3\xd4\xc4Q\xc4\xce\xc5K\xc5\ -\xc8\xc6F\xc6\xc3\xc7A\xc7\xbf\xc8=\xc8\xbc\xc9:\xc9\ -\xb9\xca8\xca\xb7\xcb6\xcb\xb6\xcc5\xcc\xb5\xcd5\xcd\ -\xb5\xce6\xce\xb6\xcf7\xcf\xb8\xd09\xd0\xba\xd1<\xd1\ -\xbe\xd2?\xd2\xc1\xd3D\xd3\xc6\xd4I\xd4\xcb\xd5N\xd5\ -\xd1\xd6U\xd6\xd8\xd7\x5c\xd7\xe0\xd8d\xd8\xe8\xd9l\xd9\ -\xf1\xdav\xda\xfb\xdb\x80\xdc\x05\xdc\x8a\xdd\x10\xdd\x96\xde\ -\x1c\xde\xa2\xdf)\xdf\xaf\xe06\xe0\xbd\xe1D\xe1\xcc\xe2\ -S\xe2\xdb\xe3c\xe3\xeb\xe4s\xe4\xfc\xe5\x84\xe6\x0d\xe6\ -\x96\xe7\x1f\xe7\xa9\xe82\xe8\xbc\xe9F\xe9\xd0\xea[\xea\ -\xe5\xebp\xeb\xfb\xec\x86\xed\x11\xed\x9c\xee(\xee\xb4\xef\ -@\xef\xcc\xf0X\xf0\xe5\xf1r\xf1\xff\xf2\x8c\xf3\x19\xf3\ -\xa7\xf44\xf4\xc2\xf5P\xf5\xde\xf6m\xf6\xfb\xf7\x8a\xf8\ -\x19\xf8\xa8\xf98\xf9\xc7\xfaW\xfa\xe7\xfbw\xfc\x07\xfc\ -\x98\xfd)\xfd\xba\xfeK\xfe\xdc\xffm\xff\xff\x80\x00 \ -P8$\x16\x0d\x07\x84BaP\xb8d6\x1d\x0f\x88\ -DbQ8\xa4V-\x17\x8cFcQ\xb8\xe4v=\ -\x1f\x90HdR9$\x96M'\x94JeR\xb9d\ -\xb6]/\x98A\x00\x930(*l\x0c\x9c\x03\x02\x13\ -`P0\x07?\x02?\xe8O\xe8X\x06 \x01\xa4\x00\ -hO\xfa$\x1a\x93H\x82R\xdf\xf0J}J\x06\xff\ -\xa4\x80\xa9t\xd0\x05\x1a\x07U\xa5\xd5\xeb\xf4\xfa\x8d\x86\ -\x05S\x81S\xe9VhK\xfc\x05o\x01\xd5\xaa\xf6\xca\ -\x8d~\x0fh\xb4\xd2\x00P\x8a\x95\x92\xefK\xb0P\xac\ -W\x9aM\xca\x9dI\xbe]05\xca\xf0\x02\x98\xfe\xc8\ ->\xf2O\xa7\xa6U\xe2\xf3\xcc<2O\xb7\xce\x1aS\ -O\x07\xe8Bcm!\x10\x87\xa7)\x89\xb5C\x00v\ -\xb4#?\x01\x81*\x98\x88]\xf7i\x87\xa4g\xb18\ -+\x1e\xe7\x01\xb7\x8e\xed\xaa\x17:\x15\xfa\x0d\xba\xde\xda\ -\xf7\x98Ln;\x7f\xbe\xe2\xf0!\x99\xec\x0d\xe2\xbbj\ -\xe8T\xab\x18^\x7f6\x9f\x90\xc8uz\xbb>\xcf\x81\ -\xfc\xf8\xf4=\x9c\xbe\xb6\xf3#\xdc\xbaa|VN\x0f\ -\xa3c6\xfa\x94\x04\xbfAb\xcf\xf4\xe0)\xc0\x03:\ -r\x08-\xebzc\x03\xc1\x10L\x15\x05>\xe6\x94\x1c\ -c\x13p\x89\x04h\xc2\x86+\xee\x90\x00\xd0\xc8\x10(\ -C\x83 \xdb\x0f\x91\x00LD\x05\xc1q,M\x13\xc5\ -\x09B\xa4fE\x85\xf9\x17\x17\x8d\xa6\xfcdk\xb9\x08\ -\xb0;\x1b\x84\x84LtV5A0_\x14\xc8\x12\x0c\ -\x85!\xa2\xe7\xd4\x8c|\x93RI\x00SI\x84|\x8c\ -}\x1f(\xc4\x0a\x01\x07\xb2\xa8\x9aCK\x058\x0f-\ -\x812$\xbd/\xcc\x13\x0a\x04gL\x86\x08\xed3\x8a\ -\x87\x84\xd4v#\x09\x98\x08\x02\x8a\xf3\x88\xda7\xce\x84\ -\x5c\xa71O\x13\xcc\xf5\x03\x9d\x13\xe9\xc44P\x02\x11\ -\xc9A\x9b\xa8\xc42\x03\x01\x03-\x14?\x0c\x14h\xf0\ -\xe3Ot\x8d%I\xa3\xe7\x95,w\x0c\x94\xc8|o\ -S\x86\xad\x0d\x0d\x0d\x95\x09\x0e\xfe\x8b#}!JU\ -\x15MT\x873\x07\x99\xe1E\x0c\xa1\xf1\xb9Y\x9ah\ -\xc4\xb6\x03\x810\xf8\xdaDN\x22\xb8\xdbS\xc4\xae\x13\ -\x9bU\xc8q\xab\xae\xe1\xa1V\x15UV\x9e\x14\xc8\xc8\ -\x1e\x9b\xb6\x89\xa9O\xd1\x03u\xacD\xd7\xb5\xfb\xa4\x89\ -\xaaF\xdd\xbch\x9e\xb7\x09\xe6\xea\xcav\x13\xa8\xe0\x1f\ -\xb7I\xfb;\xb8\x8e\xdb\xb2\xf29Wr\xd4\x82<\xc8\ -E\x80\xe3\xbb\xab+\xa3d9\xd7\xdd\xe3}-\xd0-\ -\xec\xe0X\xc8\xa3\xc6\xe4\xbc\xce\xc5\xde\xbf\xb9`\x04\xdc\ -\x02\x84X\x88T\x05\xe2\x80r8\xca\x9e\x87\x8d\x9c\x1e\ -\xd6f\xe5j\x8b\xd6\xe0MB6\x10\xe2\xc6L7^\ -\xe8\x89\xf9\x95\x9fc\xa6\x5c(\x9a\xf9\x89\x9be!\xf7\ -2\x87\x02\x80xN\x15\x80:\xb6\x15 \xed.\x92\x9d\ -\xea\x81\xe8O\x06R\xe9\xad\x97r\xb5\x9b\xae\x17\xa6\x8c\ -\xe0`\xeec\xcdr\xbb\xb9\xa5\x93|\xdd\xb4\x83\xcc\x08\ -\xeb\x80\xa8\xf9\xaf\x93an\xc4\x1cb\xec\xb0\xc7\xb3\x87\ -\x96\x89\xbbi\xe4\x12\xe6GQ\xbf\xa3z8\xfb\x8c\xdb\ -\xa8~i\xef\x06E\x89\xbd\xef\x88>\xb8\x08\x82\xb1\xd1\ -\x12U\x86\x5c(~\x8eY\x9b\xa8\xcc\x1f\xdb\xc6\xd9\xa5\ -[K\x95\xd5y9h\xe8{\xefX\x07\xc6\xa74d\ -\xef\xbc\xee\xfa\x08t\x00\xa4^E\x95\xc1\x87L\x1er\ -\xa8v1\x8dS8\xe5i\xc8W\x1b~L,e\x16\ -\xda%'\x9f#?t o\x06\x9e\xf5\xcfx\x15W\ -@\x08tQ\x7fK\xd3\xf5(m\x99\xdd\x0c\xe2\x01\xb5\ -\xe7\x9a6\xa0\x11\xc9T\x9b\x926\xfb\xf9\x82\x04\x1ci\ -\x18\xfe\x0f\xbdJx`\xa1\x15\xf1\x95\xbc(d\x1fl\ -\xb8\xcf\x14\x1f\xf9\xe6\xd7\xa3\xb6\xf65\x17g\xda\xdf\x88\ -\xa7/Es<\xdf\xbf\xfd\xcfmh\x1c\x04\x84d\x01\ -\x15\xcf\x99\xc3\x91\xb5\x98\xe6\x18\xeb\x1f\x22\xcc\x85\xc9-\ -\x97\x92C\x1b\xa3vw\xae\xfd\xfeAT\xc0\xf8]\x18\ -\xae\x060l\x1e\x91\xc5\xc2=G\x93g\x0c`\xf2\x04\ -\xbb\x06D\xfc\x99<\x0f!l\xac~\x0f\xb71\x04\xe0\ -\xb41K\xcd\xfd\xc0\xa3\xb7\xcc\xfa 1\x99\x81\x0e\xbd\ -\xf8\x00\x95\xac\x1b\x96\xc2rnfM\xcc9\xa1\xa8\xe7\ -!\x91\x02\x02\xb1,\x0d\x02\xf8\x9c\x0e\xc1DQ\x06Q\ -D\x14\x03\x10-\x15\xc0\xeb\xfe\x021h\x82)a\xe4\ -;\xd6`\xe9\x8cC\x8cl\xc6Q\x9e6#@\xce\x1a\ -\x11\xacb\x0e\xb8\xdc9\xa1\x8c4|b(V\xc1\xb0\ -c\x07a\xca\xaecm\xa9\xb6@\xb7\x22\x88 s\xb6\ -\x220E\xc5\xc3\x07=\x15\xc0\xb0\x1b\x09R,.\x04\ -\x09\x1c\x14\x01\x5c\x91\x06\xf0\xa8\x8f\x15!\xad%\xc6X\ -\xbf\x93B\xbc\x5cI\xd1J\x9fG@\xe3o\x90a\xe3\ -Gh\xf0F\x9d[\xeb}\xaf\xbe??\x16H\xf5H\ -\xe4,\x1fln#D\x85P\xd8\x81h8T\x81\xc0\ -\xd3\x840\xa6l\x0d\x92`]C\xf2M\x0b\xf1^)\ -\xe6@\x90B\x83Dc)8\xe4\xf9%3\x88\x87O\ -\xe2\x12\xc3\xd7$\xfc\xc8\xe3\xb8}r\xd5=\x01y\xbc\ -\x07\x03\x8c\xe1\x11\xc1\x12r\x05W\xf6/\xa7@\xad\x11\ -\xd3\xac9J\x01\xc4\x98_\x0cs\x8e\xb0rJ\x10\x97\ -\x96\xee\xe5[\xd2\x9a\xf0\xa6A\x11\x09\x08\xdd\xdb\xcaD\ -\x00\xb4\x0c\x03\x05\xba\x0c\x1c\xa1\x10|D@%\x12D\ -\x90\x00z\x07\xc0\xf6\x13\xd4LB\x8aJ,#]\xc2\ -@\x99\xf1\xd2h\x91\xb7V\xc6\xe6\xac\xadW2\x01\xca\ -O\xd7-\x11\x1f\xc4\xdcE \xe2\x96\x04d\xce\x1d\x84\ -\x98\x1e\xa6@\x9a\x87\x11\x11\xc7M\xc6\xe3\xa3\x0d\xa3\x1a\ -\x9e\x0b\x84L\xf8`\x08\x8c\x15\xee\x98\x18\x03\xc7\xd2<\ -eS\xd0\x84\xd06\x92\xbfR',\xa5\xa3\xfaA\x09\ -L4\xd5Q\x06\x18j\xc0z\xa6\xa4\x80P\xd5\xd1\x12\ -%k\x00zhd\xba\x1a8!Y\x0d\xe0\xf2\xe1\x84\ --\xa2\x90\x91VC\x0f\xc4HV\xaeA\xb2z\x90\x87\ -p\xf6d1.\x01\xb5\xec\x08\x08J\xfc)A\xdd\x81\ -\x09Ul\x93\xd3\xc1\x8c.\x03\xdd\x89\x0b+0\x96Q\ -\xb9\xe7\x1d\xea;\x98q\xae>\x1e\xb6\xf9`\xf5\xcc\x9b\ -\xeb\xaf$\xa5\x88\x82 UPE\x852\x03\xc0\x96\xc2\ -\x12\xean8\xc6\xe3.\x0e\x81A\xb5)\xe2Oc\xa8\ -\xec\xa82\xd6IoYJD\xec\xa7\xe5N\x22Oa\ -\xdd\xbd\xb7\xbaI\xcd 6\x08u\x04W\x93\xc0\x1bi\ -PP\xf6\xb9C\xd2\x97\x85#\xdc2\x05\xd9$\x86\x90\ -f'\x02\xf0w]H<\x07\x9a\x90\xf0\x8b(p\x11\ -\x5c&\xc5\x98\x1fc\xea\x22\xd5\x22D\x0d\xef@D\x9d\ -b8Y2\x1b\x90\x90\x12x\xf8\x0eW\xcc'\x5c\xfb\ -\xa2G\xe5#\xa4\xa8\x8e\xa2\x93:\xa3-R_uK\ -\xa4\x8a\xfa\xec\x10i\xfff\xc8\xe5,\x07\x01\x1a\xf5\x8b\ -\x1b\xbc\x91#p\xeb\x1c\xc2\xf7\x0a\x0a\xcb\x0c-\xe7t\ -b\x1d#\x8c\xa9D\xb0*\x06\x84\xbe!\x17\xb2 \x0e\ -'\xab\xe3|\xc3\x90O\xb9\xe2\xe8\x8eO\x17\xc9Z(\ -\xf5\xb3\x7f\x16O\x01+\xb9\x03n\xa4\x1d\x99\x82T\x04\ -\x8d\x83\x9c|\x11\xc4nA\x16\x18=\x14\x8e|\x8c8\ -D\x86I\x0es\x14W\xd62\x22+\xf2\x80\xdbF\xe0\ -t\x12);\xe2\x1c\xf2\xc0P\x18\xf9l\x5c\x91\x8c]\ -\x1d1\x85\xb2c6\xd1\xc7cW'\x81/\xe9\x0d\xb7\ -\x8f6\xdf\x11\x89\x22\x0a\xc1\xa8\x99\xceC\x00\x04gP\ -\x14\x90(\xb0\xa4\x11\xa2c>\x07\xda =\xc8\xe6P\ -\x15\xf9I\x1c*\xaa =\x9f\x5c\x97\x1a\xc30\x8a_\ -\x985\x07+L cx\xd2\x1e\xd7\x0a\xe4\x15\xab\xa6\ -i\x82\x06M\xec\xe6\xd2&\x065\x00\x1e\xab\xa2\x84d\ -\x81=L\x06\x111\xe6\xa7B\xafV\x09bI\xa0\xb4\ -&To\x83\xb7Z\x0e\x80\xbf\xad\xc1\xb4\xa0\x94D>\ -\xb2\xc3g\x0b\x0e3\x15Hn\xd3\xe4\x8b\xdd\xe0\xe1\xb1\ -\xc4XU\xd9A\xaf\x02\x90\x5c\x0f\x8f\x08q9\x01\xc2\ -wj\x0cPG\xb5\xc1b@\xaf\xc2\x102\x8b\x0d\xbc\ -'\x09F\xb0\xcayU\xcfY5\x9c\x0f \xf8\xf3!\ -\x9a\xf4D\x8a\xc9M\xb3H#\x89n\xdaR\x91T\xcc\ -\xd1\x8e'\xf6:\x90\xbb@\x84\x94\xf1\x1f\xbf\xc5\x98<\ -\xe0A- \x0bN\x0c(\x04\x07\x09\x0c$\xb3qh\ -W\xbe|F\x10\xb2\xcb\x01\xcc(,l\xbe\xf9u\xfc\ -\xd2U\xd0\xed\x8f=&\xde\x16\xb9\x00p\x88w\x8fN\ -\xa0\xeb~B\x96p|P\x01\xa0A\xa4\x01\xcd\xcb\xc7\ -\x06\x97\x05z\x1f\x86e\x1d\xc7\x0cD\xa79\x0f\x02\x83\ -\x9e\x08\x92\x11\x0d\x04GA\x15P\x13x\x108\xbc;\ -\xde\xce\xf4\xad\xc9sKW>\x8a@\x9d\xc7+\x08:\ -x\x83_\xb4\x92&\x86\x038\xdbU\xfbn\xed\xf2a\ -\xc3u\x94\x16\x98p\x88\x1eR\xa2\x05\xa3\xad\x89\x19\xde\ -N/\xa5\x11H\x18\x88/\x09\x1a\xd9\xee\xf8\x82m)\ -\x90)\xc6\x90\x19\xef@} da\xce8B\x8f\x81\ -\x04\xb2\xcb\xaf\xf3n\x1d\x12G\x17\x89\x1b|\x80-\x03\ -\x0d\x0f\xc5\xf3\x09\x19\xa3\xee\xb6\xb6\xf6\xe6\xdd\x0a\x1d\xa7\ -O\x00\x1d\xce\x0a\x00\x09\xc2\x1cDm\x06\x0ba\xc9\x22\ -\x0a/L\x22\x84\x97\xa9\x0e\xe8'\xb0nK\x08'=\ -\x80\x82\xcf\x82`?\xf9\x0e3\x1eVk\xad\x8f\x90\x9a\ -\xdcy\x9d4B\xdf\xba\xb1\x96\xb5\xec\x06\x81\x01k\xf1\ -\xc7\x19<\x01\x89\x13\xa9\x22\xc1\x980=g\x86\xec6\ -\x13\xa3\x84\xcf\xac\x07\x99\x0c\xf2\xed$b\x0f\x8f-'\ -ms7q#>s[\x85\xf0\xec\xae\xb9\xf2C\x1f\ -?\xac{\x83\xff\xdc\x03\xfc\x22\x08\xf5\xb7\xbc\x81\xef\xf1\ -\x1e\x1c\xbe8\xb5\x14w\x12\xfd\xe9\x1f\xbcu\xae\xda\x22\ -j\xdeZ\xed.\xd3-\xf0\xa4\xeeH\xb7\xaeL\x120\ -\x18\x16\xab\x02\x07k\x06He\x06\x1c\x81\xbaC\x80\xa0\ -\xf5\xc4\x14\x03\x904\x04F\x1e$\x8b\xd6\x16KD\xa6\ -\x84\x86\xe2\x01f\x100L\x0c+\x88\xfbb.ul\ -\xc8\xb6\xce\x96W\x0d\xec[P\x0e!\xcf\x82\x7f(\x8e\ -\x15\xd0p\x1b0BH\x89\x96\x18\xae\xc8\xa6\xaff\x17\ -\xc0i\x08`\x82H\x83\xe8\x1c\x01\xb0s\x09\xe4\xbfo\ -5\x05\x8cf\xfc\x09\xac\xc0pdXb&\xf3\x81\x8b\ -\x0a\xe1\xec\xbd\xc4\x86\x18\x90\xb8\x16\x8d\x8e\x0e\x00\x9a\xa6\ -\xab\x88\x91\xc0\x80\x0a\x04\x88\xfda\xf2\x1e\xe0\x97\x0d`\ -<\x9eO\x22#\x0e\xd6q\x90\xa0\xde\xb0\xa4\xf3J\xee\ -wh&\x16P\xf4\x1b\xe05\x0f\xa0@H\x8b|\x0c\ -Q\x04\x07Jj\xf6\x018\x18J\x88\x94\xe4\x82\xe5\xe1\ -\xcc\x1b\xef\xca\x06\xea\xcd\x0d\xe2.\xbbEb\xf2\xb0\x04\ -\x8f\xecl\xa9\xb0\xa8\xb7jP\xf8G6\x12\xd1@\x17\ -k\x82\x08\x84\x88=a\xca\x1b\xc0\x9f\x15 F\xa6\xb0\ -p\x15\xd0t\xa6d\x88\xc5f\xbe\x0f\x80\xb6\x830\x98\ -\xf7\xe2\x14\xfb\xaf\xbe\xcc\xb0\xa3\x13-\xef\x13lr\xbc\ -k4o'$\xfc\xafVHk\xe2\xfd\xc0~\x01\xe4\ -.{\xe6\x1e\x18\x11\xa0\x1e\x0c\xea\x01\x0c\xeeHj&\ -\x13\xc1\x0a\xee\xe1#\x09g\x91\x17\x09\xec3'\xd7\x00\ -\x22$d/z~\x91\x80\xdf1\x84\xc7g|\xef@\ -2\x03\xe1c\x1d\xe1\xba\xebD\x86\xaa\xa0\xd2\x08a\x97\ -\x1e\xe1|\x7f`g\x1f`~\xceA2\xfa\x04\x86>\ -\xe0\x9d `B>\xf0\xdc\xf6\xe25\x0e1\xc4\x220\ -\x06\x88\x10\x0a\xf3Pj\xec\xc0\x00\xe8!\x10\x15)\xc8\ -\x08\x80\xacH\x8c\xf2\x11\x8c\x92\x12\x00\xea\x7fj\xe0\x0b\ -\xd2D\x0e\xc4\x89\x0fAd\x13\xe1\x05% \xc4\xb6\x0d\ - \xc6,\xc7\x09\xf1y\x0e\x85v\xfcB0\xf3\x82\x09\ -\x03@8\x04D\x98\x14\xc1\xa0\xb8\xc4\x80\xc3A\xc7\x02\ -\xc0I\x19\xa5\x88\xa0`\x0a\x00\xcd`\xd4\x000\x03\xc4\ -\x80Y\x85z\x05\x81\xd5*!\xca\xdd\x8a\xcf!\x0e\xd5\ -\x1c\x0d\xe7\x0ep^\xa4rfd\xeeF\xbc\x8aR\xbc\ -\xc2\x0a\xfa\xc0\x98\x0b\xce\x12\x10\x01BH\x92(\x0d!\ -Y-\xa10o\x84\x00\x0a`\xce\x0f2\xe9-\xe4\x86\ -\x0fR\xf0\x0b\x01u/aR \x8c\xbf*\xa0d\x80\ -\xb2\x12\x9aq*\xbb\x92\xb7\x062 \xdfJ\x00\xee\x82\ -\x17,\xe1?,\x80\xc0H\x09\xdc\xd9@\xaa\x05A\xef\ -2\xe1\xeaRj\x16\x01r\xda\x15\x81\xae\x9b\xc0.\x03\ -\xa4\x80\xdb\xc1`\x13m\xb6\x0c\xc2\x104 \x1e\x02g\ -F\xe3\x13\x02\xb22a\x05\xcf-\x06\x10\xeb\x1b\xc2\x11\ -\x222\xc4!\x11\xa6\x01-\xa8\x13\xa1\x8a\x04\xf3\x80\x06\ -$\x80\x93\xa1p\x14\xb1f\x0b\x85&\xdbaJ\x09\x13\ -\x98\x0bD\x80\x8d\x01\xb0\x19\xb1\x04\x0c@v\xa3\x22\x0e\ -\xf6\xc7\xce\xff\xd1w6Q/6\x92\xbav\x89be\ -\x88^\xdf\x82\x19)@:\x13\xf3\xd0\x19\x0c<\x03D\ -\x80p@\xd6\xd5\x81V\xd5\xc4\xc0W\xa0\xd8\x0e\xb3\xec\ -\x12d\x81*!\xd4\x1c\xa5\x1a\x0c\x00o?A\xca\xdd\ -f\xbb\x122\xad\x0e\x13\x08VS\x0d6r\xb8\xcc\xf0\ -\xa7&\xb1;\x06\xc9l\x223\x80\x04\xe0`B!6\ -\x18o\x94D\xc2\xa5\x01\x81\x22\x0e\x8c\xf2\x11\xc4\x81$\ -@\xbc\x0e\xaf\xd0\xf3B@\xb9A\xec\x1ef6\xd8\x82\ -\x1d5@'\x052Z\xd8*AA3\xbbAlo\ -\x1c\xf0\x10\x1fNJ{\x821\x01\xe0\x92\xfe\xc1g\x1e\ -DQ3\xa1,\x12t\x8c\x0f\x0d\xd2%\x8d\xa4\x87\xe1\ -\x14\x0aT\x9c\x0c\xe4\x80<\x01\xfb\x0b\xe0\x98\xb0\xca|\ -\x22k\x1d\x16\xf0f!\xb1u\x00\x12\xb5AJ\xe0[\ -2\xbf\x18s\x18#I\x16\x09@\xb9,\xe1AHD\ -N\x1d\x94\xdc\x1c\xeer\x12\x80\xf38\x81L\xfe\x225\ -(\xc0\x0d9\x80\x90\x0bG$?@$\x02\xf4\xa22\ -\x01\xfb,\xe0\xc0\x16\xd5\x0c\x14\x821%\x8b!%\xc7\ -XY\xf1-\x1cq1A\x90\xecH\xe70\x1a\xb5,\ -\x19BAO@\xb3%!\x04\x14t\xd8H\x0e\x8f\x1a\ -\x01\x80\x16\x0c\xb6\x18\xe1p\x9d\xd3\xf4\x1c\x82\x08\xc4\x92\ -\x94\x03\xd4}\x19@\xa0\xf8\x80 H\x94\xa4\x0f\xd5l\ -\x0b\xb3\x88\x14\xecZt/\xb4\x9e\x93l \xef'Q\ -\xd4iR\x13\xbdRU~\xc0\xd3\x14\xc1\x02?\x22\xe0\ -\xa8\x10\xb5\x9c\x14\xe9\x80\xfe\x84P\x98k\x12\x0f`\xb4\ -\x17\x95\xb0\x15b@\xed\x14b\xf2LdV2\x16\x22\ -\x12\x1a\xae.\x9dX\xe2\x0aw\x15+R\xe2Q\x0c\x80\ -\xa0K\x01\x0c\x14\xec\x89ZB^w\x15\xaa\x0b,\x98\ -$\x93\xb0\xd8\x15\xbc}M\x86\xa9Qz\x11\x12h\x22\ -\xf2l%`S`\xa0f\x835[^BQ(\x13\ -\xec\x0e\xa0\xa4\xd1M\x18\xb5\xf4\x06Gm\xdf\x5c\xc2\x09\ -\x09\xd5\xc1K\xf4k1\x16, p\xeey\xb5\x94%\ -G\xc3\x22\x81S\x08`h\x08V\x14#\xe1\x9bea\ -\x80\x0f\x16\x5c\x0a\xc1\xdff!\xd6\xb1\xa6\xbbW\xb5\x16\ -#O\xba\xec\x95\x1f!\x95#`\x22,\x96S\xc7L\ -\xa2b6\x00\x06r@\xb9h\xe0\xe9e\x22-'a\ -\x1e\xf5!$\x0e\xc8X\x1f\x82aE\xd4af\xf5\xf6\ -\x1e0Z\x9fD@\xb2\xee\xe5Y3\xc8D\xb4|\xb5\ -A$\xe6\xf6\x94 \x90&\x1b\xaa\x82\x0d\xf0\xb8\x18\x81\ -j\xa7\xe7C\x16\xd1\xbbKb\x19c\x00}\x5c\x22\x1e\ -\xed\xf3\xbe\x0d\xd4\xc7\x1dO:H\x14\xf0\xf4J\x10l\ -\xea\x14Djk2\xe1\xee\x1e\xb3\xd0\x13\xe1\x0c\xcf*\ -0H\xe4\x81j\x88\x02\x15\xf0T\x22\xd6\xe9n\xc2\x1c\ -\xbb\xd4\xc3\x13T\x1c\xbck\xca\x88\xe4\xf4\x91\x006N\ -\x80\xde\x11`\x8ft\xa0\xb2\x7fr\xf6\x17ASC\x80\ -\xe8\xc3UTL\x0d\xd8\x15h\xec\x07\xcf5\x12\x94\x10\ -\xe3\xb5\xffF\xe20\xea%\x00\xeanLUV\x0a\x05\ - f~`\x8bx\xa0\xaeP\xe0\x0eL#\xee\x17w\ -\x98\x15!Qy\xe1%b\x05'[\x96\xad@\xce6\ -\xbbwp\xb6\xe5Ek\x8f\xc62f7R\xc1\xabS\ -\x07<\x86\x97J\x08\xe0\xb1]\x97gZ\x22V\x98a\ -\x9f}\xa1\x87TAau!P\x1d\xd7\xe8\x1dIG\ -W\x87\xc70\x13\x04#/\xbb:`v\xf7k+{\ -f\xe3+\xf7;B(b\x8bIp\x07\x14&\x06$\ -z\x06\x13\xcc\xf8\x80#VB\xbeU\xa8\xc032\x80\ -\x8c\xa1\xb2\x19\xe7\xda\x1a\x0b|\xe8\xe8c_.4\x1e\ -\x07\xb3E\x92\xb7\x1c\xb3\x13\x1d-\xf7hV\xcb\x85b\ -7*\x91%r\x83-Fw\xb30\xf3knO\x81\ -k\xd8U\x85\x98t\x22\xd7\xa9\x11W\xac\x1e\x11\xc3c\ -U\x89F\xd75`Xqo\xb8w\x89\x22%\x84\x15\ -\x19\x86H\x15\x86\x96\xf3\x80\x92\xc3s\xd8\x95\x8a\xb8\x97\ -\x7f\x0c\xc1@\xb1'+\x0e\xd9\x88Vx\x95\xc6J\xb7\ -4q\x06\x8d9\x01Ty\x8a\xd8\xd0!\xd2\xa9b\xb8\ -l!U\x82u\xd8f\x22\x970Z\xf6|\x22\xb6\x80\ -\x7f\x16C\x8d8\xf4 \x98]\x8bXa%\xf63&\ -2\xb6\xe9\xad1\x84\xf2\xc1\x13\xd8\xa9\x8fy\x14 \xb8\ -\x99FO)Xx\xbe\x84\xe6H~y\x0d\x80\xb9\x17\ -\x92\xe2\x06\xa8\x17\x22\xff\xa27g*\xd9\x92\x15\xc5R\ -7t\x22\xe9e\x22\x80\xd4FA\xbeF\x82\xe8.\xe3\ -v^B\xb2_C\x19\x96\x06p+b\xbfJT\x84\ -/\x02\xd5\x96\x83zic\x96;Y^6\xa2\x86`\ -\x09\x81\x97B\x1c+#\x0ciF\x9c\x1f\xc1\xfb\x97\xe3\ -\x1cjf\x04-#j \xe3\x94\x1f\xc3\x8c9\xa2\xb7\ -\x96b\x87\x82\x00\xd7\x9ba\x0b\x81\xaa\x8f\x89\xcf\xc3+\ -\xc2>\x96F\x0ak&\x08j\xa3\x14;\x85\xfc!\x86\ -\xa2_\xa5\xe4\x5c\xecpj\xc2\x0b\x9eFl_\xd9\xe0\ -^&\x7f\x9d4\xb7\x9eFy\x9c\xe2\x84]\x82\xcf\x95\ -e\xda^\x06\x1fD\xc2\x07r\xb8\xbd\x945\x8b\x94y\ -1\xa1\xa4\xf7\xa1\x19\x05\x8eD5s1\x7f\xa1\xda,\ -O.\x8e}vw\xa1@\x12\x0dZ<\x10\x97\x01\xa2\ -\xfaDO7\xe8\x1d\xc1\xd4\xe5`\x84S\x81\xbc\xb5\xcb\ -\xbaC \x0fh\xe0\xb8\x0e\x91\xe8\x10z\x0d\xa4zl\ -$\xbaT\x1a\xd7D\x09N\xfc\x1c\x220\x98\x00\x83\xa8\ - \xa3\x04\xc1\x02\x140\xb5\xa6\xfa\x90AC\xcdN\x88\ -\xe6\x0d\x87V#\x02\x9f\x0458\x14L\xde\x06\xda\x93\ -\xaa\xe4\x10\xd6\x81\xda\x1d\x19L\x18:\xbc\x16T\xa4#\ -\x86B\x97\xa0\xa9\x0b\xe1\x19O\xc0-\xab\x1a\xd4$\xe7\ -W'a \x15:\xe0\x12a\xe3\xaea\xda$\x87\xfc\ -\x02Q\x94\x09\xd0\x0a\xda\xe0F\x05r\x8dy\x22'\x9d\ -\xb9\xd9\x9dC\xac^\x19\xeb\xb0\xa3\x93\x9e\xfb\x0f\xb0c\ -\xb3\x9d\xa3\xc5\x9f\xc3\xac\x9e\xb9\xef\x95\xbb\x1e_\x99\xca\ -!Y\xf2a\xbb*_\xe6j)k\xe2\x1c;@\x1b\ -1\xde\x16!=[\x01x\x15zJ\x1d\x22P)\xe6\ -B\xdch\xa8\x06PCVB\x9fN\xd9\xdc`e\xf9\ -\x9d\xb9\xe4gC\xb0h\x05\xfd\x9d\xa6\x8a2\x02\x08g\ -\x14\xa5\xb2Y\xd0a\xa2\xa4j\x86\x1a`\x1a\x00X\xe0\ -\x02<\xdb\x8f\x99\xe2\x05\x99\xc2\xdf\xb7\x99\x5c8\x1bu\ -\x8c`\x01\xb7\xe1\xfd\xb2b\x0eJe\xd4\x1f\xbb\x82@\ -\xb0\xd0\x1f\x18(\xb4\xe1\xb9\xa7)@\x1c7\x0c\x1e\xbb\ -.$\xa2\x9e\x98\x06\x1f\xb9\x03\xb4\x22\x99\xf8A\x1b\xb8\ -H[\xea$[\xf2K\xc3\xcc\x98t\xa5\xbd\xba\xd7\xc0\ -<\x05\xc0|\x09\xc0\xbc\x0d\xc0\xe2\x08 \x00\x00\x03\ -\x00\x01\xa0\x03\x00\x01\x00\x00\x00\x01\x00\x00\x00\x02\xa0\x04\ -\x00\x01\x00\x00\x00`\x00\x00\x00\x03\xa0\x04\x00\x01\x00\x00\ -\x00`\x00\x00\x00\x00\x00\x00\x00\x00\x00Adobe\ - Photoshop Docum\ -ent Data Block\x00M\ -IB8nrTM\x00\x00\x00\x00MIB8r\ -yaL\xdc\x19\x00\x00\x01\x00\x03\x00\x00\x00\x03\x00\x00\ -\x00]\x00\x00\x00\x5c\x00\x00\x00\x04\x00\xff\xff\x9b\x0b\x00\ -\x00\x00\x00C\x04\x00\x00\x01\x00C\x04\x00\x00\x02\x00C\ -\x04\x00\x00MIB8mron\xff\x00\x08\x00<\ -\x01\x00\x00\x00\x00\x00\x00(\x00\x00\x00\x00\x00\xff\xff\x00\ -\x00\xff\xff\x00\x00\xff\xff\x00\x00\xff\xff\x00\x00\xff\xff\x00\ -\x00\xff\xff\x00\x00\xff\xff\x00\x00\xff\xff\x00\x00\xff\xff\x00\ -\x00\xff\xff\x07Layer 0MIB8i\ -nul\x14\x00\x00\x00\x07\x00\x00\x00L\x00a\x00y\ -\x00e\x00r\x00 \x000\x00\x00\x00MIB8r\ -snl\x04\x00\x00\x00ryalMIB8d\ -iyl\x04\x00\x00\x00\x03\x00\x00\x00MIB8l\ -blc\x04\x00\x00\x00\x01\x00\x00\x00MIB8x\ -fni\x04\x00\x00\x00\x00\x00\x00\x00MIB8o\ -knk\x04\x00\x00\x00\x00\x00\x00\x00MIB8f\ -psl\x04\x00\x00\x00\x00\x00\x00\x00MIB8r\ -lcl\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00M\ -IB8dmhsH\x00\x00\x00\x01\x00\x00\x00M\ -IB8tsuc\x00\x00\x00\x004\x00\x00\x00\x10\ -\x00\x00\x00\x01\x00\x00\x00\x00\x00\x08\x00\x00\x00met\ -adata\x01\x00\x00\x00\x09\x00\x00\x00lay\ -erTimebuod\xc2\x93A\xe0\xf78\ -\xd6A\x00MIB8prxf\x10\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\ -\x00S\x00O\x00\x0f\x00\x0c\x00\x0a\x00\x09\x00\x09\x00\x09\ -\x00\x09\x00\x15\x00I\x00K\x00\x12\x00\x14\x00\x14\x00\x12\ -\x00\x13\x00\x13\x00\x13\x00#\x00!\x00\x1e\x00\x1d\x00\x1f\ -\x00\x1d\x00\x1d\x00\x1d\x00\x1c\x00\x1e\x00\x1d\x00(\x00'\ -\x00&\x00&\x00&\x00%\x00$\x00$\x00\x22\x00 \ -\x00 \x00\x1e\x00\x22\x00\x1f\x00\x1e\x00\x1e\x00\x1f\x00!\ -\x00 \x00 \x00#\x00!\x00%\x00%\x00$\x00'\ -\x00(\x00(\x00+\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1c\ -\x00\x1d\x00\x1e\x00\x1e\x00\x1f\x00 \x00#\x00\x13\x00\x13\ -\x00\x13\x00\x12\x00\x14\x00\x12\x00\x13\x00\x13\x00M\x00L\ -\x00\x09\x00\x09\x00\x08\x00\x09\x00\x0a\x00\x0a\x00\x0c\x00L\ -\x00W\x00 \x00\xfd\x00\x04\x05\x11!-1\xfe/\xfc\ -0\x181//0110010/1/0\ -010/0110/01\xfe0\x0a/2\ -1100/00//\xfe1\x000\xfe1\x05\ -010/01\xfe0\xfe1\xff0\x081/0\ -/-'\x18\x08\x01\xfe\x00\xff\x00\x07\x01\x14X\xab\xdb\ -\xec\xf0\xf0\xfd\xf1\x00\xf0\xfe\xf1\x00\xf2\xfd\xf1\xff\xf0\x01\ -\xf1\xf0\xf8\xf1\x03\xf0\xf1\xf1\xf0\xfe\xf1\xfe\xf0\x07\xf1\xf0\ -\xf0\xf1\xf1\xf0\xf1\xf0\xfc\xf1\xff\xf0\x1b\xf1\xf0\xf0\xf1\xf2\ -\xf1\xf0\xf1\xf0\xf1\xf1\xf2\xf0\xf1\xf0\xf1\xf0\xf0\xf1\xf0\xee\ -\xe4\xc2|.\x06\x00\x00\xff\x00\x03\x16\x86\xed\xfd\xb3\xff\ -\x04\xf9\xbfA\x06\x00\x03\x00\x08l\xf4\xb0\xff\x03\xfe\xbd\ -*\x01\x02\x00$\xd0\xae\xff\x02\xf8x\x07\x02\x02O\xf6\ -\xad\xff\x01\xc0\x14\x02\x05r\xfd\xad\xff\x01\xe1#\x02\x08\ -\x86\xfe\xad\xff\x01\xed+\x02\x08\x8f\xfe\xad\xff\x01\xef-\ -\x02\x09\x91\xfe\xf1\xff\x00\xfe\xdb\xff\xfe\xfe\xfd\xff\x00\xfe\ -\xec\xff\x01\xef,\x02\x08\x91\xfe\xfa\xff\x17\xfe\xcf\xc2\xc3\ -\xc2\xc4\xc3\xc4\xc3\xc3\xc4\xc4\xc1\xc3\xc3\xc2\xc3\xc2\xc2\xc3\ -\xc2\xc3\xc4\xc4\xfe\xc2\xfd\xc3\x0a\xc2\xc3\xc3\xc2\xc3\xc3\xc2\ -\xc3\xc2\xc2\xc1\xfe\xc3\xff\xc4\xf9\xc3\x06\xc4\xc3\xc3\xc4\xc2\ -\xc3\xc4\xfe\xc3\xff\xc2\x01\xc7\xf1\xf9\xff\x01\xf0-\x02\x09\ -\x90\xfe\xfa\xff\x03\xfaK\x18\x17\xfc\x18\x16\x17\x18\x16\x19\ -\x17\x18\x19\x19\x18\x19\x18\x17\x18\x19\x19\x18\x17\x17\x19\x17\ -\x17\x19\x17\xfb\x18\x11\x17\x16\x18\x16\x19\x19\x17\x18\x18\x19\ -\x18\x18\x19\x17\x19\x18\x19\x18\xfd\x19\x08\x18\x19\x19\x18\x19\ -\x19\x17,\xc7\xf9\xff\x01\xf0,\x01\x09\x90\xf9\xff\x01\xf9\ -8\xc0\x00\x01\x15\xc0\xf9\xff\x01\xef.\x02\x09\x91\xfe\xfa\ -\xff\x01\xf97\xc0\x00\x02\x14\xc2\xfe\xfa\xff\x01\xf0-\x02\ -\x09\x90\xfe\xfa\xff\x01\xf88\xc0\x00\x02\x14\xc2\xfe\xfa\xff\ -\x01\xef/\x01\x08\x90\xf9\xff\x01\xf99\xc0\x00\x01\x14\xc1\ -\xf9\xff\x01\xf0/\x02\x09\x90\xfe\xfa\xff\x01\xf97\xc0\x00\ -\x01\x12\xc0\xf9\xff\x01\xef-\x02\x09\x91\xfe\xfa\xff\x01\xf9\ -8\xc0\x00\x01\x14\xc2\xf9\xff\x01\xf1-\x02\x09\x90\xfe\xfa\ -\xff\x01\xfa8\xc0\x00\x01\x15\xc1\xf9\xff\x01\xef-\x01\x09\ -\x92\xf9\xff\x01\xf97\xe7\x00\x0d\x1aU\x87\xb8\xd5\xe6\xf7\ -\xf7\xe6\xd6\xb9\x88V\x1a\xe8\x00\x01\x15\xc2\xf9\xff\x01\xef\ -,\x02\x09\x91\xfe\xfa\xff\x01\xf98\xea\x00\x03\x1bw\xc7\ -\xfe\xf5\xff\x03\xfe\xc9x\x1d\xeb\x00\x01\x14\xc2\xf9\xff\x01\ -\xf0/\x01\x09\x90\xf9\xff\x01\xfa7\xec\x00\x028\xa8\xfb\ -\xef\xff\x02\xfb\xaa:\xed\x00\x01\x15\xc2\xf9\xff\x01\xef-\ -\x01\x09\x91\xf9\xff\x01\xf87\xee\x00\x01\x1c\xaa\xe9\xff\x01\ -\xac\x1e\xef\x00\x02\x14\xc1\xfe\xfa\xff\x01\xef/\x02\x08\x90\ -\xfe\xfa\xff\x01\xf98\xf0\x00\x02\x06x\xf4\xe7\xff\x02\xf5\ -z\x07\xf1\x00\x01\x15\xc2\xf9\xff\x01\xf0-\x02\x09\x91\xfe\ -\xfa\xff\x01\xf97\xf1\x00\x01F\xd9\xe3\xff\x01\xdbH\xf2\ -\x00\x01\x14\xc3\xf9\xff\x01\xf0/\x02\x09\x91\xfe\xfa\xff\x01\ -\xfa7\xf3\x00\x01\x02\x85\xdf\xff\x01\x88\x02\xf4\x00\x01\x15\ -\xc1\xf9\xff\x01\xf1-\x02\x09\x92\xfe\xfa\xff\x01\xf88\xf4\ -\x00\x01\x10\xb5\xdd\xff\x01\xb7\x10\xf5\x00\x01\x15\xc2\xf9\xff\ -\x01\xf0.\x01\x09\x90\xf9\xff\x01\xf98\xf5\x00\x01*\xda\ -\xdb\xff\x01\xdb+\xf6\x00\x01\x15\xc2\xf9\xff\x01\xf0.\x02\ -\x09\x90\xfe\xfa\xff\x01\xf99\xf6\x00\x01C\xf2\xd9\xff\x01\ -\xf3E\xf7\x00\x02\x15\xc3\xfe\xfa\xff\x01\xef-\x01\x08\x91\ -\xf9\xff\x01\xf97\xf7\x00\x01D\xf6\xd7\xff\x01\xf7E\xf8\ -\x00\x02\x14\xc2\xfe\xfa\xff\x01\xf0/\x02\x09\x91\xfe\xfa\xff\ -\x01\xf98\xf8\x00\x01F\xf7\xf0\xff\x07\xe5\x91H*\x0d\ -\x0c&\xe3\xee\xff\x01\xf7F\xf9\x00\x01\x14\xc1\xf9\xff\x01\ -\xf0.\x02\x09\x91\xfe\xfa\xff\x01\xf98\xf9\x00\x01G\xf7\ -\xf1\xff\x02\xe0S\x02\xfb\x00\x00\xdb\xed\xff\x01\xf7G\xfa\ -\x00\x01\x14\xc1\xf9\xff\x01\xf0.\x02\x09\x91\xfe\xfa\xff\x01\ -\xf99\xfa\x00\x015\xf5\xf1\xff\x01\x8c\x09\xf9\x00\x00\xdb\ -\xec\xff\x01\xf54\xfb\x00\x01\x14\xc2\xf9\xff\x01\xf1.\x02\ -\x09\x92\xfe\xfa\xff\x01\xf99\xfb\x00\x01\x1e\xe7\xf2\xff\x01\ -\xfdj\xf7\x00\x00\xdb\xeb\xff\x01\xe7\x1d\xfc\x00\x01\x15\xc1\ -\xf9\xff\x01\xf0/\x02\x08\x93\xfe\xfa\xff\x01\xf98\xfc\x00\ -\x01\x0e\xd3\xf1\xff\x00d\xf6\x00\x00\xdb\xea\xff\x01\xd1\x0d\ -\xfd\x00\x02\x15\xc1\xfe\xfa\xff\x01\xef.\x02\x09\x91\xfe\xfa\ -\xff\x01\xf98\xfd\x00\x01\x01\xb4\xf1\xff\x00\x9f\xf5\x00\x00\ -\xdb\xe9\xff\x01\xb1\x01\xfe\x00\x01\x14\xc1\xf9\xff\x01\xef-\ -\x01\x08\x8f\xf9\xff\x01\xf99\xfd\x00\x00|\xf1\xff\x01\xdf\ -\x0a\xf5\x00\x00\xdb\xe8\xff\x00w\xfe\x00\x02\x15\xbf\xfe\xfa\ -\xff\x01\xee.\x02\x09\x92\xfe\xfa\xff\x01\xf89\xfe\x00\x01\ -<\xfc\xf1\xff\x00d\xf4\x00\x00\xdb\xe8\xff\x05\xfb7\x00\ -\x00\x14\xc2\xf9\xff\x01\xef.\x01\x09\x91\xf9\xff\x05\xf98\ -\x00\x00\x0e\xe0\xf1\xff\x01\xe0\x05\xf4\x00\x00\xdb\xe7\xff\x04\ -\xda\x0a\x00\x14\xc1\xf9\xff\x01\xf0-\x02\x09\x90\xfe\xfa\xff\ -\x04\xf98\x00\x00\x8d\xf0\xff\x00\x89\xf3\x00\x00\xdb\xe6\xff\ -\x03\x81\x00\x14\xc1\xf9\xff\x01\xef,\x02\x09\x90\xfe\xfa\xff\ -\x04\xf97\x00\x10\xf3\xf0\xff\x00@\xf3\x00\x00\xdb\xe6\xff\ -\x03\xee\x0c\x15\xc2\xf9\xff\x01\xf1.\x01\x09\x91\xf9\xff\x03\ -\xf98\x00v\xf0\xff\x01\xf6\x05\xf3\x00\x00\xdb\xe5\xff\x02\ -q\x14\xc3\xf9\xff\x01\xf1.\x02\x09\x92\xfe\xfa\xff\x03\xf9\ -9\x00\xb5\xf0\xff\x00\xdc\xf2\x00\x00\x22\xf7'\x00\xd9\xf0\ -\xff\x02\xb2\x13\xc2\xf9\xff\x01\xf0.\x02\x09\x91\xfe\xfa\xff\ -\x03\xf97\x00\xd9\xf0\xff\x00\xc4\xe7\x00\x00\xbe\xf0\xff\x03\ -\xd7\x15\xc2\xfe\xfa\xff\x01\xf0.\x02\x09\x91\xfe\xfa\xff\x03\ -\xf98\x00\xf6\xf0\xff\x00\xb3\xe7\x00\x00\xaf\xf0\xff\x02\xf6\ -\x14\xc1\xf9\xff\x01\xef.\x02\x09\x91\xfe\xfa\xff\x03\xf88\ -\x00\xdf\xf0\xff\x00\xc6\xe7\x00\x00\xc2\xf0\xff\x02\xde\x15\xc1\ -\xf9\xff\x01\xef-\x02\x09\x91\xfe\xfa\xff\x03\xf97\x00\xbb\ -\xf0\xff\x00\xdd\xe7\x00\x00\xd9\xf0\xff\x03\xb9\x14\xc2\xfe\xfa\ -\xff\x01\xf1.\x02\x09\x91\xfe\xfa\xff\x03\xf98\x00\x88\xf0\ -\xff\x01\xf7\x06\xe9\x00\x01\x05\xf5\xf0\xff\x03\x84\x15\xc2\xfe\ -\xfa\xff\x01\xef.\x02\x09\x90\xfe\xfa\xff\x04\xf98\x00\x1f\ -\xfc\xf0\xff\x00B\xe9\x00\x00?\xf0\xff\x03\xf9\x1a\x14\xc1\ -\xf9\xff\x01\xef.\x02\x09\x92\xfe\xfa\xff\x04\xf97\x00\x00\ -\xa9\xf0\xff\x00\x8b\xe9\x00\x00\x89\xf0\xff\x03\x9e\x00\x15\xc2\ -\xf9\xff\x01\xf0.\x01\x09\x91\xf9\xff\x05\xf98\x00\x00\x22\ -\xf2\xf1\xff\x01\xe2\x06\xeb\x00\x01\x06\xe1\xf1\xff\x04\xef\x1b\ -\x00\x15\xc1\xf9\xff\x01\xef.\x01\x09\x91\xf9\xff\x01\xf97\ -\xfe\x00\x00^\xf0\xff\x00h\xeb\x00\x00g\xf0\xff\x04W\ -\x00\x00\x14\xc0\xf9\xff\x01\xef-\x02\x09\x91\xfe\xfa\xff\x01\ -\xf98\xfd\x00\x00\x9f\xf1\xff\x01\xe1\x0b\xed\x00\x01\x0b\xe2\ -\xf1\xff\x00\x9a\xfe\x00\x01\x13\xc0\xf9\xff\x01\xf0.\x02\x09\ -\x91\xfe\xfa\xff\x01\xf97\xfd\x00\x01\x09\xce\xf1\xff\x00\xa4\ -\xed\x00\x00\xa5\xf1\xff\x01\xcc\x07\xfe\x00\x01\x14\xc1\xf9\xff\ -\x01\xf1.\x01\x09\x91\xf9\xff\x01\xfa8\xfc\x00\x01\x1d\xe5\ -\xf1\xff\x00j\xef\x00\x00l\xf1\xff\x01\xe4\x1b\xfd\x00\x01\ -\x15\xc1\xf9\xff\x01\xef-\x02\x09\x91\xfe\xfa\xff\x01\xf97\ -\xfb\x00\x010\xf3\xf2\xff\x01\xfer\xf1\x00\x01u\xfe\xf2\ -\xff\x01\xf2/\xfc\x00\x01\x13\xc2\xf9\xff\x01\xf0-\x02\x09\ -\x91\xfe\xfa\xff\x01\xf99\xfa\x00\x01I\xfc\xf1\xff\x01\x95\ -\x0d\xf5\x00\x01\x0e\x98\xf1\xff\x01\xfcH\xfb\x00\x02\x15\xc2\ -\xfe\xfa\xff\x01\xf1.\x01\x09\x92\xf9\xff\x01\xf98\xf9\x00\ -\x01\x5c\xfc\xf1\xff\x02\xe6_\x05\xf9\x00\x02\x06`\xe8\xf1\ -\xff\x01\xfc\x5c\xfa\x00\x01\x15\xc2\xf9\xff\x01\xf0-\x02\x09\ -\x91\xfe\xfa\xff\x01\xf86\xf8\x00\x01Y\xfc\xf0\xff\x09\xee\ -\x9eV8\x1c\x1c8V\x9f\xef\xf0\xff\x01\xfcY\xf9\x00\ -\x02\x14\xc1\xfe\xfa\xff\x01\xf0-\x02\x09\x91\xfe\xfa\xff\x01\ -\xf98\xf7\x00\x01T\xfb\xd7\xff\x01\xfbU\xf8\x00\x01\x14\ -\xc2\xf9\xff\x01\xf0.\x02\x09\x92\xfe\xfa\xff\x01\xf86\xf6\ -\x00\x01P\xf7\xd9\xff\x01\xf8Q\xf7\x00\x01\x14\xc1\xf9\xff\ -\x01\xf0/\x01\x09\x91\xf9\xff\x01\xf98\xf5\x00\x013\xe1\ -\xdb\xff\x01\xe24\xf6\x00\x02\x15\xc1\xfe\xfa\xff\x01\xf0.\ -\x02\x09\x91\xfe\xfa\xff\x01\xf88\xf4\x00\x01\x14\xbd\xdd\xff\ -\x01\xbf\x15\xf5\x00\x01\x15\xc2\xf9\xff\x01\xf1-\x01\x09\x91\ -\xf9\xff\x01\xfa8\xf3\x00\x01\x03\x8b\xdf\xff\x01\x8e\x04\xf4\ -\x00\x01\x13\xc2\xf9\xff\x01\xf0.\x01\x08\x90\xf9\xff\x01\xf9\ -8\xf1\x00\x01I\xdb\xe3\xff\x01\xdcK\xf2\x00\x02\x14\xc2\ -\xfe\xfa\xff\x01\xf0.\x01\x09\x91\xf9\xff\x01\xf98\xf0\x00\ -\x02\x06x\xf4\xe7\xff\x02\xf4z\x07\xf1\x00\x01\x13\xc2\xf9\ -\xff\x01\xf0.\x02\x08\x91\xfe\xfa\xff\x01\xf97\xee\x00\x01\ -\x1b\xa6\xe9\xff\x01\xa8\x1c\xef\x00\x02\x15\xc0\xfe\xfa\xff\x01\ -\xef-\x02\x09\x91\xfe\xfa\xff\x01\xf89\xec\x00\x023\xa1\ -\xf8\xef\xff\x02\xf9\xa24\xed\x00\x01\x14\xc2\xf9\xff\x01\xef\ --\x01\x09\x90\xf9\xff\x01\xf96\xea\x00\x03\x15m\xbd\xfb\ -\xf5\xff\x03\xfb\xben\x16\xeb\x00\x01\x14\xc0\xf9\xff\x01\xf1\ -,\x01\x09\x90\xf9\xff\x01\xf97\xe7\x00\x0d\x11Iz\xaa\ -\xc7\xd8\xe8\xe9\xd8\xc8\xabzJ\x11\xe8\x00\x01\x14\xc1\xf9\ -\xff\x01\xef/\x02\x09\x90\xfe\xfa\xff\x01\xf98\xc0\x00\x01\ -\x15\xc1\xf9\xff\x01\xf0-\x02\x09\x91\xfe\xfa\xff\x01\xf98\ -\xc0\x00\x01\x14\xc2\xf9\xff\x01\xef.\x02\x09\x91\xfe\xfa\xff\ -\x01\xf98\xc0\x00\x01\x14\xc1\xf9\xff\x01\xf0-\x01\x09\x91\ -\xf9\xff\x01\xf97\xc0\x00\x01\x14\xc1\xf9\xff\x01\xef.\x02\ -\x09\x90\xfe\xfa\xff\x01\xf99\xc0\x00\x02\x15\xc1\xfe\xfa\xff\ -\x01\xf0-\x01\x08\x91\xf9\xff\x01\xfa8\xc0\x00\x01\x15\xc1\ -\xf9\xff\x01\xf0.\x02\x09\x92\xfe\xfa\xff\x01\xf97\xc0\x00\ -\x01\x14\xc1\xf9\xff\x01\xf0-\x02\x09\x90\xfe\xfa\xff\x01\xf9\ -7\xc0\x00\x01\x14\xc3\xf9\xff\x01\xf1-\x02\x09\x91\xfe\xfa\ -\xff\x02\xfad;\xfe:\xfe9\x1589;;9:\ -:8;9:7:9:;99;:98\ -\xfd:\xff8\x017;\xfc9\x09;:9;;8\ -:979\xfe:\xff9\x09:89::8;\ -9J\xcf\xf9\xff\x01\xf0-\x01\x09\x91\xf8\xff\x00\xfa\xfd\ -\xf9\x08\xf8\xf9\xf9\xf8\xf9\xf8\xf8\xf9\xf8\xfd\xf9\x06\xfa\xf9\ -\xf9\xf8\xf9\xf8\xf8\xfe\xf9\x00\xf8\xfe\xf9\x0e\xf8\xf9\xf9\xf8\ -\xf9\xf8\xf9\xf8\xf8\xf9\xf8\xf9\xf9\xf8\xf8\xfd\xf9\x00\xf8\xfe\ -\xf9\x05\xf8\xf9\xf9\xf8\xfa\xfa\xfe\xf9\xff\xf8\x01\xf9\xfe\xf9\ -\xff\x01\xf0.\x02\x09\x91\xfe\xad\xff\x01\xf0.\x02\x08\x91\ -\xfe\xad\xff\x01\xee-\x01\x09\x8d\xac\xff\x01\xe9+\x02\x07\ -{\xfe\xad\xff\x01\xd5\x1f\x02\x04U\xf6\xae\xff\x02\xfd\xa3\ -\x0f\x02\x01'\xc9\xae\xff\x02\xe7Q\x03\x03\x00\x09]\xe9\ -\xb0\xff\x03\xf0\x80\x13\x00\xff\x00\x03\x12`\xcc\xf7\xfb\xfe\ -\x00\xff\xfc\xfe\x00\xff\xfe\xfe\x02\xff\xfe\xff\xfe\xfe\x05\xff\ -\xfe\xfe\xff\xfe\xff\xfd\xfe\x0a\xff\xfe\xff\xfe\xfe\xff\xfe\xff\ -\xff\xfe\xfe\xfc\xff\xff\xfe\xfe\xff\x04\xfe\xff\xfe\xff\xff\xfb\ -\xfe\xff\xff\xff\xfe\x02\xff\xfe\xff\xfc\xfe\x06\xfd\xf5\xcel\ -\x17\x00\x00\xff\x00\x08\x01\x0a.`\x86\x96\x97\x92\x92\xfe\ -\x91\xff\x92\x13\x93\x92\x92\x91\x92\x92\x90\x91\x92\x91\x90\x91\ -\x92\x91\x91\x93\x91\x91\x94\x91\xfc\x92\x05\x91\x92\x91\x91\x90\ -\x92\xfe\x91\x0f\x90\x92\x92\x93\x91\x90\x92\x92\x90\x92\x91\x90\ -\x91\x92\x92\x90\xfd\x91\x03\x93\x91\x90\x90\xfe\x91\x0b\x93\x90\ -\x90\x92\x8ayU+\x0c\x01\x00\x00\xfd\x00\x04\x01\x05\x0a\ -\x0c\x0b\xfb\x0a\x00\x09\xf2\x0a\xff\x09\xf0\x0a\x00\x09\xf6\x0a\ -\x00\x09\xee\x0a\x02\x08\x04\x01\xfd\x00\x01\x00\x02\x00\x02\x00\ -\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\ -\x02\x00\x02\x00\x02\x00\x02\x00\x06\x00\x06\x00\x06\x00\x06\x00\ -\x06\x00\x11\x00\x10\x00\x0c\x00\x0c\x00\x0e\x00\x0c\x00\x0f\x00\ -\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x12\x00\x11\x00\x14\x00\x10\x00\ -\x12\x00\x14\x00\x12\x00\x0e\x00\x0f\x00\x0f\x00\x10\x00\x0e\x00\ -\x0a\x00\x06\x00\x08\x00\x08\x00\x06\x00\x08\x00\x10\x00\x11\x00\ -\x14\x00\x16\x00\x16\x00\x15\x00\x14\x00\x14\x00\x17\x00\x14\x00\ -\x16\x00\x0c\x00\x0a\x00\x0e\x00\x0f\x00\x0f\x00\x0c\x00\x0e\x00\ -\x0e\x00\x0e\x00\x10\x00\x13\x00\x06\x00\x06\x00\x06\x00\x06\x00\ -\x06\x00\x06\x00\x06\x00\x06\x00\x02\x00\x02\x00\x02\x00\x02\x00\ -\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\ -\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\ -\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xf4\xcc\xc1\xff\ -\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\ -\xc1\xff\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\xe8\x00\x03\xcd\ -\xcc\xcc\xcd\xf8\xcc\x00\xcd\xe8\x00\xf5\xcc\xf4\xcc\xeb\x00\x02\ -\xcf\xcd\xcd\xf1\xcc\x00\xd3\xeb\x00\xf5\xcc\xf4\xcc\xed\x00\xea\ -\xcc\x00\xce\xed\x00\xf5\xcc\xf4\xcc\xef\x00\x00\xd1\xe6\xcc\xef\ -\x00\xf5\xcc\xf4\xcc\xf1\x00\x00\xd4\xe3\xcc\x00\xda\xf1\x00\xf5\ -\xcc\xf4\xcc\xf2\x00\xe0\xcc\x00\xcd\xf2\x00\xf5\xcc\xf4\xcc\xf4\ -\x00\x01\xff\xcd\xde\xcc\x00\xff\xf4\x00\xf5\xcc\xf4\xcc\xf5\x00\ -\x00\xcf\xdb\xcc\x00\xcf\xf5\x00\xf5\xcc\xf4\xcc\xf6\x00\x00\xce\ -\xd9\xcc\x00\xcf\xf6\x00\xf5\xcc\xf4\xcc\xf7\x00\x00\xcd\xd7\xcc\ -\x00\xce\xf7\x00\xf5\xcc\xf4\xcc\xf8\x00\x00\xce\xd5\xcc\x00\xce\ -\xf8\x00\xf5\xcc\xf4\xcc\xf9\x00\xec\xcc\x04\xcd\xce\xd7\xd4\xd0\ -\xeb\xcc\xf9\x00\xf5\xcc\xf4\xcc\xfa\x00\xee\xcc\x01\xcd\xff\xfb\ -\x00\xea\xcc\xfa\x00\xf5\xcc\xf4\xcc\xfb\x00\x00\xce\xef\xcc\x00\ -\xe2\xf9\x00\xea\xcc\x00\xcd\xfb\x00\xf5\xcc\xf4\xcc\xfc\x00\xee\ -\xcc\xf7\x00\xe9\xcc\x00\xd3\xfc\x00\xf5\xcc\xf4\xcc\xfd\x00\x00\ -\xda\xef\xcc\xf6\x00\xe8\xcc\x00\xd7\xfd\x00\xf5\xcc\xf4\xcc\xfe\ -\x00\x00\xff\xf0\xcc\x00\xcd\xf5\x00\xe7\xcc\x00\xff\xfe\x00\xf5\ -\xcc\xf4\xcc\xfe\x00\x00\xcd\xef\xcc\xf5\x00\xe7\xcc\x00\xcd\xfe\ -\x00\xf5\xcc\xf4\xcc\xff\x00\xee\xcc\xf4\x00\xe5\xcc\xff\x00\xf5\ -\xcc\xf4\xcc\x01\x00\xda\xee\xcc\xf4\x00\xe4\xcc\x00\x00\xf5\xcc\ -\xf4\xcc\x00\x00\xee\xcc\xf3\x00\xe5\xcc\x01\xcd\x00\xf5\xcc\xf4\ -\xcc\x00\xcf\xef\xcc\x00\xcf\xf3\x00\xe4\xcc\x00\xd4\xf5\xcc\xf4\ -\xcc\x00\xcd\xee\xcc\xf3\x00\xe4\xcc\x00\xcd\xf5\xcc\xe1\xcc\xf2\ -\x00\x00\xd2\xf7\xd1\xe2\xcc\xe1\xcc\xe7\x00\xe2\xcc\xe2\xcc\x00\ -\xcd\xe7\x00\xe2\xcc\xe1\xcc\xe7\x00\x00\xcd\xe3\xcc\xe1\xcc\xe7\ -\x00\xe2\xcc\xe1\xcc\x00\xd4\xe9\x00\xe1\xcc\xf4\xcc\x00\xcd\xee\ -\xcc\xe9\x00\x00\xce\xef\xcc\x00\xcd\xf5\xcc\xf4\xcc\x01\x00\xcd\ -\xf0\xcc\x00\xcd\xe9\x00\xee\xcc\x00\x00\xf5\xcc\xf4\xcc\x01\x00\ -\xd2\xef\xcc\x00\xd4\xeb\x00\x00\xd4\xef\xcc\x01\xcf\x00\xf5\xcc\ -\xf4\xcc\xff\x00\x00\xce\xf0\xcc\x00\xcd\xeb\x00\x00\xcd\xf0\xcc\ -\x02\xcd\x00\x00\xf5\xcc\xf4\xcc\xfe\x00\x00\xcd\xf0\xcc\x00\xd0\ -\xed\x00\x00\xd0\xf0\xcc\x00\xcd\xfe\x00\xf5\xcc\xf4\xcc\xfe\x00\ -\x00\xe2\xf0\xcc\x00\xcd\xed\x00\xf0\xcc\x01\xcd\xda\xfe\x00\xf5\ -\xcc\xf4\xcc\xfd\x00\x00\xd3\xef\xcc\xef\x00\x00\xcd\xf0\xcc\x00\ -\xcf\xfd\x00\xf5\xcc\xf4\xcc\xfc\x00\x00\xcf\xf0\xcc\x00\xcd\xf1\ -\x00\xef\xcc\x00\xce\xfc\x00\xf5\xcc\xf4\xcc\xfb\x00\x00\xce\xf0\ -\xcc\x01\xcd\xd7\xf5\x00\x00\xda\xef\xcc\x00\xcd\xfb\x00\xf5\xcc\ -\xf4\xcc\xfa\x00\x00\xcd\xed\xcc\xf9\x00\x00\xd4\xee\xcc\x00\xcd\ -\xfa\x00\xf5\xcc\xf4\xcc\xf9\x00\x00\xce\xeb\xcc\xff\xd1\xff\xcc\ -\x00\xcd\xee\xcc\x00\xce\xf9\x00\xf5\xcc\xf4\xcc\xf8\x00\x00\xce\ -\xd4\xcc\xf8\x00\xf5\xcc\xf4\xcc\xf7\x00\xd5\xcc\xf7\x00\xf5\xcc\ -\xf4\xcc\xf6\x00\x00\xcd\xd9\xcc\x00\xcd\xf6\x00\xf5\xcc\xf4\xcc\ -\xf5\x00\x01\xcc\xcd\xdc\xcc\x00\xce\xf5\x00\xf5\xcc\xf4\xcc\xf4\ -\x00\x01\xff\xcd\xde\xcc\x00\xff\xf4\x00\xf5\xcc\xf4\xcc\xf2\x00\ -\x00\xce\xe0\xcc\xf2\x00\xf5\xcc\xf4\xcc\xf1\x00\x00\xd4\xe3\xcc\ -\x00\xda\xf1\x00\xf5\xcc\xf4\xcc\xef\x00\x00\xcf\xe7\xcc\x00\xd1\ -\xef\x00\xf5\xcc\xf4\xcc\xed\x00\x00\xcd\xeb\xcc\x00\xcd\xed\x00\ -\xf5\xcc\xf4\xcc\xeb\x00\x02\xce\xcd\xcd\xf1\xcc\x00\xd0\xeb\x00\ -\xf5\xcc\xf4\xcc\xe8\x00\x04\xd2\xce\xcc\xcc\xcd\xfa\xcc\x01\xce\ -\xd2\xe8\x00\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\xc1\xff\xf5\ -\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\xc1\ -\xff\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\ -\xcc\xc1\xff\xf5\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\ -\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\x01\x00\x02\ -\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\ -\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x06\x00\x06\x00\x06\ -\x00\x06\x00\x06\x00\x11\x00\x10\x00\x0c\x00\x0c\x00\x0e\x00\x0c\ -\x00\x0f\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x12\x00\x11\x00\x14\ -\x00\x10\x00\x12\x00\x14\x00\x12\x00\x0e\x00\x0f\x00\x0f\x00\x10\ -\x00\x0e\x00\x0a\x00\x06\x00\x08\x00\x08\x00\x06\x00\x08\x00\x10\ -\x00\x11\x00\x14\x00\x16\x00\x16\x00\x15\x00\x14\x00\x14\x00\x17\ -\x00\x14\x00\x16\x00\x0c\x00\x0a\x00\x0e\x00\x0f\x00\x0f\x00\x0c\ -\x00\x0e\x00\x0e\x00\x0e\x00\x10\x00\x13\x00\x06\x00\x06\x00\x06\ -\x00\x06\x00\x06\x00\x06\x00\x06\x00\x06\x00\x02\x00\x02\x00\x02\ -\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\ -\x00\x02\x00\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\ -\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xf4\ -\xcc\xc1\xff\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\xc1\xff\xf5\ -\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\xe8\ -\x00\x03\xcd\xcc\xcc\xcd\xf8\xcc\x00\xcd\xe8\x00\xf5\xcc\xf4\xcc\ -\xeb\x00\x02\xcf\xcd\xcd\xf1\xcc\x00\xd3\xeb\x00\xf5\xcc\xf4\xcc\ -\xed\x00\xea\xcc\x00\xce\xed\x00\xf5\xcc\xf4\xcc\xef\x00\x00\xd1\ -\xe6\xcc\xef\x00\xf5\xcc\xf4\xcc\xf1\x00\x00\xd4\xe3\xcc\x00\xda\ -\xf1\x00\xf5\xcc\xf4\xcc\xf2\x00\xe0\xcc\x00\xcd\xf2\x00\xf5\xcc\ -\xf4\xcc\xf4\x00\x01\xff\xcd\xde\xcc\x00\xff\xf4\x00\xf5\xcc\xf4\ -\xcc\xf5\x00\x00\xcf\xdb\xcc\x00\xcf\xf5\x00\xf5\xcc\xf4\xcc\xf6\ -\x00\x00\xce\xd9\xcc\x00\xcf\xf6\x00\xf5\xcc\xf4\xcc\xf7\x00\x00\ -\xcd\xd7\xcc\x00\xce\xf7\x00\xf5\xcc\xf4\xcc\xf8\x00\x00\xce\xd5\ -\xcc\x00\xce\xf8\x00\xf5\xcc\xf4\xcc\xf9\x00\xec\xcc\x04\xcd\xce\ -\xd7\xd4\xd0\xeb\xcc\xf9\x00\xf5\xcc\xf4\xcc\xfa\x00\xee\xcc\x01\ -\xcd\xff\xfb\x00\xea\xcc\xfa\x00\xf5\xcc\xf4\xcc\xfb\x00\x00\xce\ -\xef\xcc\x00\xe2\xf9\x00\xea\xcc\x00\xcd\xfb\x00\xf5\xcc\xf4\xcc\ -\xfc\x00\xee\xcc\xf7\x00\xe9\xcc\x00\xd3\xfc\x00\xf5\xcc\xf4\xcc\ -\xfd\x00\x00\xda\xef\xcc\xf6\x00\xe8\xcc\x00\xd7\xfd\x00\xf5\xcc\ -\xf4\xcc\xfe\x00\x00\xff\xf0\xcc\x00\xcd\xf5\x00\xe7\xcc\x00\xff\ -\xfe\x00\xf5\xcc\xf4\xcc\xfe\x00\x00\xcd\xef\xcc\xf5\x00\xe7\xcc\ -\x00\xcd\xfe\x00\xf5\xcc\xf4\xcc\xff\x00\xee\xcc\xf4\x00\xe5\xcc\ -\xff\x00\xf5\xcc\xf4\xcc\x01\x00\xda\xee\xcc\xf4\x00\xe4\xcc\x00\ -\x00\xf5\xcc\xf4\xcc\x00\x00\xee\xcc\xf3\x00\xe5\xcc\x01\xcd\x00\ -\xf5\xcc\xf4\xcc\x00\xcf\xef\xcc\x00\xcf\xf3\x00\xe4\xcc\x00\xd4\ -\xf5\xcc\xf4\xcc\x00\xcd\xee\xcc\xf3\x00\xe4\xcc\x00\xcd\xf5\xcc\ -\xe1\xcc\xf2\x00\x00\xd2\xf7\xd1\xe2\xcc\xe1\xcc\xe7\x00\xe2\xcc\ -\xe2\xcc\x00\xcd\xe7\x00\xe2\xcc\xe1\xcc\xe7\x00\x00\xcd\xe3\xcc\ -\xe1\xcc\xe7\x00\xe2\xcc\xe1\xcc\x00\xd4\xe9\x00\xe1\xcc\xf4\xcc\ -\x00\xcd\xee\xcc\xe9\x00\x00\xce\xef\xcc\x00\xcd\xf5\xcc\xf4\xcc\ -\x01\x00\xcd\xf0\xcc\x00\xcd\xe9\x00\xee\xcc\x00\x00\xf5\xcc\xf4\ -\xcc\x01\x00\xd2\xef\xcc\x00\xd4\xeb\x00\x00\xd4\xef\xcc\x01\xcf\ -\x00\xf5\xcc\xf4\xcc\xff\x00\x00\xce\xf0\xcc\x00\xcd\xeb\x00\x00\ -\xcd\xf0\xcc\x02\xcd\x00\x00\xf5\xcc\xf4\xcc\xfe\x00\x00\xcd\xf0\ -\xcc\x00\xd0\xed\x00\x00\xd0\xf0\xcc\x00\xcd\xfe\x00\xf5\xcc\xf4\ -\xcc\xfe\x00\x00\xe2\xf0\xcc\x00\xcd\xed\x00\xf0\xcc\x01\xcd\xda\ -\xfe\x00\xf5\xcc\xf4\xcc\xfd\x00\x00\xd3\xef\xcc\xef\x00\x00\xcd\ -\xf0\xcc\x00\xcf\xfd\x00\xf5\xcc\xf4\xcc\xfc\x00\x00\xcf\xf0\xcc\ -\x00\xcd\xf1\x00\xef\xcc\x00\xce\xfc\x00\xf5\xcc\xf4\xcc\xfb\x00\ -\x00\xce\xf0\xcc\x01\xcd\xd7\xf5\x00\x00\xda\xef\xcc\x00\xcd\xfb\ -\x00\xf5\xcc\xf4\xcc\xfa\x00\x00\xcd\xed\xcc\xf9\x00\x00\xd4\xee\ -\xcc\x00\xcd\xfa\x00\xf5\xcc\xf4\xcc\xf9\x00\x00\xce\xeb\xcc\xff\ -\xd1\xff\xcc\x00\xcd\xee\xcc\x00\xce\xf9\x00\xf5\xcc\xf4\xcc\xf8\ -\x00\x00\xce\xd4\xcc\xf8\x00\xf5\xcc\xf4\xcc\xf7\x00\xd5\xcc\xf7\ -\x00\xf5\xcc\xf4\xcc\xf6\x00\x00\xcd\xd9\xcc\x00\xcd\xf6\x00\xf5\ -\xcc\xf4\xcc\xf5\x00\x01\xcc\xcd\xdc\xcc\x00\xce\xf5\x00\xf5\xcc\ -\xf4\xcc\xf4\x00\x01\xff\xcd\xde\xcc\x00\xff\xf4\x00\xf5\xcc\xf4\ -\xcc\xf2\x00\x00\xce\xe0\xcc\xf2\x00\xf5\xcc\xf4\xcc\xf1\x00\x00\ -\xd4\xe3\xcc\x00\xda\xf1\x00\xf5\xcc\xf4\xcc\xef\x00\x00\xcf\xe7\ -\xcc\x00\xd1\xef\x00\xf5\xcc\xf4\xcc\xed\x00\x00\xcd\xeb\xcc\x00\ -\xcd\xed\x00\xf5\xcc\xf4\xcc\xeb\x00\x02\xce\xcd\xcd\xf1\xcc\x00\ -\xd0\xeb\x00\xf5\xcc\xf4\xcc\xe8\x00\x04\xd2\xce\xcc\xcc\xcd\xfa\ -\xcc\x01\xce\xd2\xe8\x00\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\ -\xc1\xff\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\ -\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\xc1\xff\ -\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\ -\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\ -\x01\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\ -\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x06\x00\ -\x06\x00\x06\x00\x06\x00\x06\x00\x11\x00\x10\x00\x0c\x00\x0c\x00\ -\x0e\x00\x0c\x00\x0f\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x12\x00\ -\x11\x00\x14\x00\x10\x00\x12\x00\x14\x00\x12\x00\x0e\x00\x0f\x00\ -\x0f\x00\x10\x00\x0e\x00\x0a\x00\x06\x00\x08\x00\x08\x00\x06\x00\ -\x08\x00\x10\x00\x11\x00\x14\x00\x16\x00\x16\x00\x15\x00\x14\x00\ -\x14\x00\x17\x00\x14\x00\x16\x00\x0c\x00\x0a\x00\x0e\x00\x0f\x00\ -\x0f\x00\x0c\x00\x0e\x00\x0e\x00\x0e\x00\x10\x00\x13\x00\x06\x00\ -\x06\x00\x06\x00\x06\x00\x06\x00\x06\x00\x06\x00\x06\x00\x02\x00\ -\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\ -\x02\x00\x02\x00\x02\x00\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\ -\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\ -\xa8\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\ -\xc1\xff\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\ -\xf4\xcc\xe8\x00\x03\xcd\xcc\xcc\xcd\xf8\xcc\x00\xcd\xe8\x00\xf5\ -\xcc\xf4\xcc\xeb\x00\x02\xcf\xcd\xcd\xf1\xcc\x00\xd3\xeb\x00\xf5\ -\xcc\xf4\xcc\xed\x00\xea\xcc\x00\xce\xed\x00\xf5\xcc\xf4\xcc\xef\ -\x00\x00\xd1\xe6\xcc\xef\x00\xf5\xcc\xf4\xcc\xf1\x00\x00\xd4\xe3\ -\xcc\x00\xda\xf1\x00\xf5\xcc\xf4\xcc\xf2\x00\xe0\xcc\x00\xcd\xf2\ -\x00\xf5\xcc\xf4\xcc\xf4\x00\x01\xff\xcd\xde\xcc\x00\xff\xf4\x00\ -\xf5\xcc\xf4\xcc\xf5\x00\x00\xcf\xdb\xcc\x00\xcf\xf5\x00\xf5\xcc\ -\xf4\xcc\xf6\x00\x00\xce\xd9\xcc\x00\xcf\xf6\x00\xf5\xcc\xf4\xcc\ -\xf7\x00\x00\xcd\xd7\xcc\x00\xce\xf7\x00\xf5\xcc\xf4\xcc\xf8\x00\ -\x00\xce\xd5\xcc\x00\xce\xf8\x00\xf5\xcc\xf4\xcc\xf9\x00\xec\xcc\ -\x04\xcd\xce\xd7\xd4\xd0\xeb\xcc\xf9\x00\xf5\xcc\xf4\xcc\xfa\x00\ -\xee\xcc\x01\xcd\xff\xfb\x00\xea\xcc\xfa\x00\xf5\xcc\xf4\xcc\xfb\ -\x00\x00\xce\xef\xcc\x00\xe2\xf9\x00\xea\xcc\x00\xcd\xfb\x00\xf5\ -\xcc\xf4\xcc\xfc\x00\xee\xcc\xf7\x00\xe9\xcc\x00\xd3\xfc\x00\xf5\ -\xcc\xf4\xcc\xfd\x00\x00\xda\xef\xcc\xf6\x00\xe8\xcc\x00\xd7\xfd\ -\x00\xf5\xcc\xf4\xcc\xfe\x00\x00\xff\xf0\xcc\x00\xcd\xf5\x00\xe7\ -\xcc\x00\xff\xfe\x00\xf5\xcc\xf4\xcc\xfe\x00\x00\xcd\xef\xcc\xf5\ -\x00\xe7\xcc\x00\xcd\xfe\x00\xf5\xcc\xf4\xcc\xff\x00\xee\xcc\xf4\ -\x00\xe5\xcc\xff\x00\xf5\xcc\xf4\xcc\x01\x00\xda\xee\xcc\xf4\x00\ -\xe4\xcc\x00\x00\xf5\xcc\xf4\xcc\x00\x00\xee\xcc\xf3\x00\xe5\xcc\ -\x01\xcd\x00\xf5\xcc\xf4\xcc\x00\xcf\xef\xcc\x00\xcf\xf3\x00\xe4\ -\xcc\x00\xd4\xf5\xcc\xf4\xcc\x00\xcd\xee\xcc\xf3\x00\xe4\xcc\x00\ -\xcd\xf5\xcc\xe1\xcc\xf2\x00\x00\xd2\xf7\xd1\xe2\xcc\xe1\xcc\xe7\ -\x00\xe2\xcc\xe2\xcc\x00\xcd\xe7\x00\xe2\xcc\xe1\xcc\xe7\x00\x00\ -\xcd\xe3\xcc\xe1\xcc\xe7\x00\xe2\xcc\xe1\xcc\x00\xd4\xe9\x00\xe1\ -\xcc\xf4\xcc\x00\xcd\xee\xcc\xe9\x00\x00\xce\xef\xcc\x00\xcd\xf5\ -\xcc\xf4\xcc\x01\x00\xcd\xf0\xcc\x00\xcd\xe9\x00\xee\xcc\x00\x00\ -\xf5\xcc\xf4\xcc\x01\x00\xd2\xef\xcc\x00\xd4\xeb\x00\x00\xd4\xef\ -\xcc\x01\xcf\x00\xf5\xcc\xf4\xcc\xff\x00\x00\xce\xf0\xcc\x00\xcd\ -\xeb\x00\x00\xcd\xf0\xcc\x02\xcd\x00\x00\xf5\xcc\xf4\xcc\xfe\x00\ -\x00\xcd\xf0\xcc\x00\xd0\xed\x00\x00\xd0\xf0\xcc\x00\xcd\xfe\x00\ -\xf5\xcc\xf4\xcc\xfe\x00\x00\xe2\xf0\xcc\x00\xcd\xed\x00\xf0\xcc\ -\x01\xcd\xda\xfe\x00\xf5\xcc\xf4\xcc\xfd\x00\x00\xd3\xef\xcc\xef\ -\x00\x00\xcd\xf0\xcc\x00\xcf\xfd\x00\xf5\xcc\xf4\xcc\xfc\x00\x00\ -\xcf\xf0\xcc\x00\xcd\xf1\x00\xef\xcc\x00\xce\xfc\x00\xf5\xcc\xf4\ -\xcc\xfb\x00\x00\xce\xf0\xcc\x01\xcd\xd7\xf5\x00\x00\xda\xef\xcc\ -\x00\xcd\xfb\x00\xf5\xcc\xf4\xcc\xfa\x00\x00\xcd\xed\xcc\xf9\x00\ -\x00\xd4\xee\xcc\x00\xcd\xfa\x00\xf5\xcc\xf4\xcc\xf9\x00\x00\xce\ -\xeb\xcc\xff\xd1\xff\xcc\x00\xcd\xee\xcc\x00\xce\xf9\x00\xf5\xcc\ -\xf4\xcc\xf8\x00\x00\xce\xd4\xcc\xf8\x00\xf5\xcc\xf4\xcc\xf7\x00\ -\xd5\xcc\xf7\x00\xf5\xcc\xf4\xcc\xf6\x00\x00\xcd\xd9\xcc\x00\xcd\ -\xf6\x00\xf5\xcc\xf4\xcc\xf5\x00\x01\xcc\xcd\xdc\xcc\x00\xce\xf5\ -\x00\xf5\xcc\xf4\xcc\xf4\x00\x01\xff\xcd\xde\xcc\x00\xff\xf4\x00\ -\xf5\xcc\xf4\xcc\xf2\x00\x00\xce\xe0\xcc\xf2\x00\xf5\xcc\xf4\xcc\ -\xf1\x00\x00\xd4\xe3\xcc\x00\xda\xf1\x00\xf5\xcc\xf4\xcc\xef\x00\ -\x00\xcf\xe7\xcc\x00\xd1\xef\x00\xf5\xcc\xf4\xcc\xed\x00\x00\xcd\ -\xeb\xcc\x00\xcd\xed\x00\xf5\xcc\xf4\xcc\xeb\x00\x02\xce\xcd\xcd\ -\xf1\xcc\x00\xd0\xeb\x00\xf5\xcc\xf4\xcc\xe8\x00\x04\xd2\xce\xcc\ -\xcc\xcd\xfa\xcc\x01\xce\xd2\xe8\x00\xf5\xcc\xf4\xcc\xc1\xff\xf5\ -\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\xc1\ -\xff\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\ -\xcc\xc1\xff\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\xa8\xcc\xa8\xcc\xa8\ -\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\ -\xcc\xa8\xccMIB8ksML\x0e\x00\x00\x00\x00\ -\x00\xff\xff\x00\x00\x00\x00\x00\x002\x00\x80\x00\x00\x00M\ -IB8ttaP\x00\x00\x00\x00MIB8k\ -sMF\x0c\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\ -\x002\x00\x00\x00\x00\x00\ -\x00\x00\x05}\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22 standalone=\x22\ -no\x22?>\x0d\x0a\x0d\x0a \x0d\x0a \ - eye on<\ -/title>\x0d\x0a Created with \ -Sketch.\x0d\x0a\ - \x0d\x0a \x0d\x0a <\ -path d=\x22M62.3998\ -86,20.262032 C61\ -.0656979,18.1619\ -773 49.0033003,3\ -.55271368e-15 32\ -.0083577,3.55271\ -368e-15 C15.0134\ -15,3.55271368e-1\ -5 2.9510174,18.1\ -619773 1.5499679\ -5,20.262032 C-0.\ -516655982,23.447\ -0641 -0.51665598\ -2,27.7140347 1.5\ -4996795,30.97200\ -66 C2.9510174,32\ -.9991215 15.0134\ -15,50.9422798 32\ -.0083577,50.9422\ -798 C49.0033003,\ -50.9422798 61.06\ -56979,32.9991215\ - 62.399886,30.97\ -20066 C64.533371\ -3,27.7140347 64.\ -5333713,23.44706\ -41 62.399886,20.\ -262032 L62.39988\ -6,20.262032 Z M3\ -2.0083577,39.943\ -5857 C24.6110597\ -,39.9435857 18.6\ -786333,33.503620\ -9 18.6786333,25.\ -4711399 C18.6786\ -333,17.5115986 2\ -4.6110597,10.998\ -6941 32.0083577,\ -10.9986941 C32.7\ -407935,10.998694\ -1 33.4732293,11.\ -0716338 34.14184\ -3,11.2175131 L34\ -.141843,23.15530\ -55 L45.1405371,2\ -3.1553055 C45.27\ -12206,23.8786238\ - 45.338082,24.67\ -48819 45.338082,\ -25.4711399 C45.3\ -38082,33.5036209\ - 39.3387943,39.9\ -435857 32.008357\ -7,39.9435857 L32\ -.0083577,39.9435\ -857 Z\x22 id=\x22Shape\ -\x22 fill=\x22#CCCCCC\x22\ ->\x0d\x0a \x0d\x0a\x0d\x0a\ -\x00\x00\x1f\xef\ -\x00\ -\x00\xe4\x14x\x9c\xed\x5c\x07\x5cS\xc7\x1f\xbf\x0c\x12\xf6\ -^2c\x98*\x10\xc2&\xc8\xde\x0a\x82l\x14\x85\x90\ -\x04\x88\x84$f\x80\xab\xe2\xaa\xd6U\x95\xba\xb5uo\ -\xc5\xd6]\xad\xdb\xd6Z\xf7\xb6u\xfc\xb1\xd6\xbaW\x15\ -\xb5\xa8\xf0\xbf{!\x10\x10-J\x00\xfb\xff\xbfo>\ -\xf7r\xef\xd6o\xdc\xbd\xbb\xdf\xdd\xbb{\x89\x89\xa0;\ -\x00@\x13\x98\x83Z@\x86>\x02P\x5cH\xd8_\x1e\ -\xbc\x10T\xfcD\xcc\x0f\xd3\x11\xcc\x09\xa4\xfap\x98\x98\ -@\xa9\xf7\x13\xe1\xc5HYN\xeam\x82\xb1J\x1a\xb3\ -z?\x96[\xa5L\x0be\xfa\xe9\x80`\x054\x14~\ -\x82\x1d\xc1\xba\xc1\xefL\xb0Q)\xc7U\x85\x16\x13]\ -\x01\x1d\xfa<\x08^\x98\xdf\x14\xfa\x93\x09)\x8d\xe9\x89\ -?\xa0\xab\x9f5\xbc\xe5\x8e\x8fG~C\x1a\x00\xfe\xa3\ -&\xf0\x95to\xdc\x9e \x05T\x00t\xe3\x00\x88]\ -\x8c\xe4\x87\xfaP\xfc\xb4_\x8f\x02\xc0\xc5P\xf9\x1f\xce\ -\x15\xe5\xf3h\xc9E\x22\x99HZ$\x12\xd3\x22#i\ -^\x9eL\x7f\x9ak&_\xc8\x15\x95I\xbb\x01t\xcb\ -\xf2\xf4byz\xd3\x98\xbe,/o\x96\xa7\x0f\xe8\x19\ -:D\xcc\xe6\x14\xf3d\xb4|^!_\x18L\x7f\xb4\ -k/\x9d\xc6\xe7\x06\xd33}\x13=\x13\xc5\x91\xbc\x22\ -~\xdc0\x09/uX\x9f4\xce\xb0bN \x97\x1e\ -\x1a\xa2\xdds\x08kH\x89\xb8\x84'c\xd3\x86\x94\x08\ -\x84R\xd6\x90`:\x1b\xd1gA?\x0af\xd0iX\ -\x12Yq0]\xc1XVb2-R$\xe1\xd1|\ -=\xfc\xdc9L\xef\x00\x9a\x7f\xa0\x07\xd370\xc0\xcb\ -\xc7\x0d1\xea\xc7\xf0\x0cd0}\xdc=\x99,\xcf@\ -\x96'\x93V\x0fz\x886\xbc\xf6\x94p\x0bX)Q\ -1\xf5\xe4\xe0]0\xbdH&\x13\xb3\x18\x8c\xb2\xb22\ -\x8f2o\x0f\x91\xa4\x90\xc1\x0c\x0c\x0cdxz1\xbc\ -\xbc\xdca\x0aw\xe9P\xa1\x8c=\xc4](uP\x14\ -\xa2,'\x8a'\xe5H\xf8b\x19_$\xa4\xa1{v\ -\xbeH.\x0b\xa6\xd3\xb5i*\xa8\x97\xabD\xdc@H\ -(\xf5\xc0d\xf4\xe0\x88J\x18C\xd8b\x06\xd3\xc3\x93\ -\xd1R&.\xa7!\x8fX.\x11`\xacq9\x0c\x9e\ -\x80W\xc2\x13\xca\xa40\x1f\xb3\xc5|be\xdd\xb5L\ -\xb2!\xfa\x9d\x84!\xb7\x89\x89\xef\xe7\xb7\xa4\xa4\xc5\x9c\ -RYt\xa9\xec\xfd9\xa5iC\xc5\x05\xee\x01\xcc|&|\xc6|}\xb9<\x0e\ -\xd3\xcb\x97\xeb\x8b\xe9\xa0i\xf6\xb7\x8a\x8e\x12q\xe4\xa8\ -\xe9\xd6\x17\xcd\xfd\xc0\xa2U\xb2\xbfUt\x92\x84\x0f\xbb\ -\x1d\xb6\xa0\x8d$Z(\xe6-Rq|\xa9L$\x19\ -\x1a\xd2\xa4\xf9c\x1dB*op\xd3Pe\x84\x80\x8f\ -u\x10b\xb6D\xcaC\xcd?\x98\xael\xff\xf4\xb72\ -\xa0<\xd8c\xc4bsP\xd7\x12\xc2\xc1Z8\xb7'\ -\xa3I\xe8\xbb\xb3\xf1?\xb6\x02\xdf\xca\xfen\x1aeE\ -<\xe1\xfb\x9eL\x95T\xef.D**\x90\x95\xb1%\ -\xbc\xf0B\xa8\xe9\x90\x7f\x1cw\x94\xa56\xcd\xf6\x96\xbe\ -\x19\x0a\x857\xab\x1e\xc6\xdb\xf5\xa3\xac\xf3f\xf5\xa9H\ -\xaa\xd2\xb7+\x06\x0eF\xfd\xc8\x01\x07-F\xc3\xa8\xd5\ -\x92p\xea\x07N\x04'\x82\x13\xc1\x89\xe0Dp\x228\ -\x11\x9c\x08N\x04'\x82\x13\xc1\x89\xe0Dp\x228\x11\ -\x9c\x08N\x04'\x82\x13\xc1\x89\xe0Dp\x228\x11\x9c\ -\x08N\x04'\x82\x13\xc1\x89\xe0Dp\x228\x11\x9c\x08\ -N\x04'\x82\x13\xc1\x89\xe0Dp\x228\x11\x9c\x08N\ -\x04'\x82\x13\xc1\x89\xe0Dp\x22j&\xa2\xddx\x0e\ -\x8c'\xe4\x06\xd3\xcb\xe8\xa1! \x22>\x91\xec\x84\ -\x9d93\x04\xcd\x80\xc5\xb10\xef\xcd\xfax\xect\x1e\ -\xd0\x11K\xf8BY\x92\x5c&\x96\xcb\xe0-:&\x07\ -\x92\xa5\xb2\xd4|\x91H\x80\xa5\x88\x17\xcax<\xa1\xbc\ -D\xe9G\xff\x91\x02\x09\xba7\xc0\xf2\xa6\xf2\x87\xa0\x14\ -\x11|\x19\xca\xd3X&O\xd2\x87]\xc2K\x8b\xceJ\ -k \xa6\xc8\x90,\x11\x89\x0aRy2\xb98)\x7f\ -\x10\x07\x06\xeb\x82d \x01\x22\xf8+\x004\x90\x0ax\ -@\x06\xe4@\x8ce\xd1\x167\xa4V\x16\x13!\x90\x09\ -\xeb9\xd2\xcd\x97\xf3\x052\xbe\x10+\x12\xdeka\xa9\ -#\x13\xb3{+$\x0eB\xe9\x89\xeeM$6V\x91\ -8\x09;y \x85\xa1\x16\x98\x5cb\x99P)\x04\x14\ -2_\xd2p\x93R(Ml\x8c\x91\x08#\x1bo\x84\ -\xb2\xc6\x9b\x84|\x81\xb4\xe1\xa6O\xa1\xac\xb4\xe1&\xba\ -D\x10\xd5p\x03\xf5\xd8Xt\x04\xa7\xb8\xb0^\x11\x0a\ -\x06AJlD$P\x1c\x9b\x04)\x5c\x1a\x8d+\x92\ -\xe7\x87\x89\xaa\x1a*3V\x22|+,B\xf0v\xba\ -\x08\x097-](\x8bqH\x11\xc8T\x1bC\x84\x80\ -Kk)\ -\x8b\xae2\x06\xb1\xa0\x12\xae\xa7\x0cO\xe1\x17\x16\xa9F\ -\xe8(# o\x0d\xc1\xa8\xe5\x90\x1e(x\x00q@\ -q\xf6\xb3\xfe\x1fkU\xceX\x9c~\xa3\x04\xa1\xa3\xea\ -s=T\x90\xd3M\x93\xb0\x85R1[\xc2\x13r\x86\ -*Z\xa2\x19\x16c\x87bA\x1al\xedl \x04R\ -\xd8\xc6\xd9\xd0\xcf\x83~\x0e\x18Z\xff\x94\xfab)\x8d\ -0z\xa0\xae\xae\x9e\x04\x97\xa0\x88\xb5\xc5\xee\xc8J>\ -\xc9z\x0d\xf7v\xd8}\x97\xa6\xf7\xa4\xa7\xd8\xbd\x96\x92\ -SE).\x8a\xfeA[\xd9\xe0\x14r\x91\xaa1\x7f\ -\x1c`\x14\x14\xc0\x18\x01\xbcR\xea3)B\x96\xcc\x9b\ -\xdf\x10\xe2\x85]\xfb\xc1\xab2\xc4\x17\xbb\xba7\x86`\ -e\xbe\xc4\xfcb$IK \xddF\xd1\xea\x8f\xc3t\ -\xa1\x90\x8dX\x7fGlr\xe7\xa9\xe0\xb1^\xab\xee\xd8\ -\x1d\x05\xd3\x07\x09\x0b\xd1\xac\xaf\x7f\xac\x16\x88a\x0aW\ -\x9f\xd7\xaeY\x1dX!\x1f\xc9\xb7Ar\x05\xf2\xea\x9d\ -B;oC5L5m\x8b\x09\x94h\xec\xc6\x80P\ -.\x10(\x04\x02\x94|\x91\x5c\xc8\x956\xebE82\ -\xa6\x92M\xf4\xe8\xa94{\xd0\xec\xf9\x00\x11\x8d\xcf\x11\ -\xc6FJ\xe3c\x82\xee)R\x01\x9f\xc3\x93f\x08\x12\ -\xd0\x83NhBG\x03\x8b\x83\x1ec\xe8\xa8\xd8M|\ -\x94J\xd9\xd4B\x89H.n\x12D\x11a\xc7\xff\x94\ -}xt*\xca\xa48\x12\x08\xef\xf5\xd8r\x99(\x96\ -'\xe4I\xd0q<\x8c\xfb\xa1b\xe5\x10\xa4\xadH\x8c\ -BPL|I!\xad\x03\xe4'\xc9%\x82&\x03\x19\ -\xa6\xfc\xa6!\x89\xd2\xc2\xa6\x83\x1d\x85-\x90\xa5\xb1\x0b\ -\x9b\x84\xe9sx0\x1fo\x88,^\x1a\x97\x96\x98\xa0\ -\xecN5\x95\xc1M\x12k\x15\x89$\xc3\xc2\x05\xfcB\ -\xa5\xa6\x0c\x14\xc2\xc7)\x83\x91v\xb9\xbc\x02\xb6\x1c\xeb\ -O\xb5Jy\x12Y\x0b\xc93\x94\xc1M\x93\xeb\xe4\x17\ -b\xa7\x5cU\x94k\xa4\xc8\x10\x11\xdb\x10\x81\xd8\xe8#\ -\x12\xa2\x7f-\x99H\x0c\x07M)OUq\xda\x02\xa8\ -\xc8\xb7Bu\xf3\xb1\x8e\xf9\xadp\x1d\x09\xea~\x9b\x05\ -cO\x90\xab\x22\x1ft\xc4\xd0\xc7\xa01\xdc\x14\xf3\xa2\ -*T<\x95\xba\x98b\x8f\xd6\xab(O\xe1\x08\xb0\x09\ -\xa0'\x81\xb2\x11X\x02B\xdd\xa5\xba\x07@\x17;\xe5\ -\x98\x1b\x99\x08\xef\x1f\x02}\xec\x0epG\xa1|u\x97\ -\xc18\xa0\xab\xa9\xa9\xa9\xa5\xa9\xab\xa5\xa5k\xa4\xa3\xad\ -cdf\xa0\xabk`fibbfbbi\xa4\ -\x8b\xa1\xfe\xafe\x10\xf4tt\xf4\xf4\xf5\x0c\xf5\xf5\x0d\ -M\xf5\xf5\xf5M\xd1E\xdfT\x91\xc5\xa85\x05\xd4\xed\ -\x03F\x9a\x90\xf9<\x12\x81\x0e\x88F\x04\x92\x11\xa1\xee\ -*\x14\x94Rw\x88\x10\x0a\xb9\xd4 `\xa8W\x1c\x09\ -\x10\x88d\x0d\x0aUSK[\x87\xd0<\x92\x00\x88$\ -e\xa4! \x90\x09$\x22\x99\xa8A\xa5hj\x90t\ -\xbda\xa4\x11\x89\xdc\xd5\x98\xa9\x11\xde\x97mB\x1f<\ -\xda\x8bb:c\xc9w\x11\x0e\x8ef)\xfb\xf3\xbd}\ -$cNGR\x9d*R\x1f_\x7f\xc2\x91\xfa\x9a/\ -\xdd4\xd69\xea\xab4n\xf4\x81e2?\x8b3\xe9\ -\xbf\xf3\xfe\xda<\xee\xe0Y\xf9\x8d\xa71.3\x97\x7f\ -\xbee\xd6\xa1s\x7f<[\xb1\xf5\xc7\xf37\xab3\x0a\ -J\xc7\xcf^\xb9\xed\xa7\x0b\x7f>\xf7\x8f\xcd,,\x9b\ -0g\xd5\xf6\xc3\x17o\xbd0\x02D\x22\xe4\x96\x8c\xf1\ -D\xa5h\xf8b,te\x1a\x93!\x07\x83\xe9&\x1a\ -^\xa3g\x98\x22\x0e\xf6\xa7\x9c~\xec\xed\x98\x7f]2\ -\xa6\x222\xd5\x8c#\xf5y\xe2DA\x0cP\x9d}\x0f\ -\x9c\x81L,\xb3\xe0F\xa7\xfb\xc9x\xbf7\xb0\xf0n\ -\x0e\x5c\x1aY\xa8\xfb\x0d\xe8\x920\x9aF \x14T\xa7\ -U\xc4;us\xac\x88\xef\x15\xefX\x91R\x11\xef8\ -sy}@R\xdd\xa9\xea4\xb7\x05\xbfN\x9dV\x10\ -\xb9\xdfm\xcd\x8a\x87z\xd6S\x08!\x17\xc6\xa5U\xa4\ -F.\xaf^h\xb7!v\xdd\xa4G\xe2Z\xc9\xaa\xa2\ -\xe7\xf67\xfdk_o\xac\x94\xae{\xd3o\xeb\xf7\xf6\ -[Y\xd6\xb5G\x17^\x1d\x90uz\xf6\x90:\xe0T\ -Y\xf6f{>\xa8y\x9a\x1e \x12\x16\x04\xdd\xbb\x9b\ -n\xfb\xe5\xe11V\x03^\xbd\xfa\xfa\xf5\xe5\xf2\x8a\x8a\ -oV\x9c(\xee\x97\xf3\xbb\xd5\xe95.a\xe6\xbc:\ -\x90\xbdS?h\xb2\xe0\xf8\xfa\x19'\x8el\xae\x03\xc1\ -\xd4\x8d\xc1ww\x97\xad\x91\xf7\xd7\xfaeKM\xf9\x82\ -\xde>y\xb5\x87o\x95g\xdf\x0bv\x0aY\x11{A\ -8vz\xd5oO\x8b\xc9O\xf6\x14\xd7\x81\x93K&\ -'V\x16\xcf\xb79csv\xb5Cr\xe6Tw\xfd\ -Y\x17\x87\xcd\xe9\xf5m\x90\xf9\xd9;\xb5r\xc6\xf9\x09\ -\xaf\xec\x17\xbc)p\x5cu\xbe\x22;X\xe7\x9e\x9d}\ -\xd6\xda.5n+'n\x1a#\xaf\xddZ\xf8\xf4\xd2\ -V\x85\xf8u\xa0\xee4\xa6\x94@\xfb\xac\x9a7\x03\xec\ -\x8d\xfb\x1b\x1c\xdd\x16m\xb6\xe8\xf5\xcb:\xf0\x07s\xe8\ -\xca\x98\xe8_\xfdC^]\x13l;\xc8\x18\xfe\xbd\x13\ -d$\xe6\xda\x8as\xc2_\xbe\xfdY\xfa\xc5\xfa\x91\xf7\ -\x08o\xacc\x9f\xa7;\xce\x9cc>;\xf7\xab\x01\x8c\ -\xad[\xfc\x0eS\x16\xe4>\xebgp+pXh\x9f\ -\x9aU\xa7\x9et\x17\x9c\xba\xb2j\x86\xf3\xe5\xddO\x1f\ -\x17>-\xc9\xda\x9bZ\xe3\xac_\x1es\xa4t\x00\xbb\ -v\xeb.\xd2\xde\xc0%S\xad\x07\xf4\xdf\xeb{y\xfd\ -0o\x8f\xbb{\xd3\x1e\x98q\x85\xc7o\x9f\xf0;lV`\x82\xa7U\xd5e\xea#\xcf:\x10p\ -\xa6bQ6l:\xa9ug0\xad\x85\xa4W\x8f]\ -q\xf9L\xcd\xd7[\x02\xec\xe3\x0f\xed\x99P\xea\xe6r\ -\xb9VtJrb\xe0\xba\x8b,\x8f\xd0\xac\x83>\xfd\ -\x1fl\xddyVT\xba\xab\x0e\xd0\x1e\x9d\x1c\xc8[4\ -z\xd6\xd9\xbfr'\xcf<>\xdb\xfb\xa1\xc3\xe6K\xe5\ -\x81_\xc6'\xb1k\x19\x9b\xb3\xee\xe7L!\x96\xc7\x1d\ -\xae9n\xe7..\xb6\xad\xe5\xcc\xab\x03\x89\xf2\xd9\x99\ -\x03\xd6\xcbK}\x82\xa7\x19\xfe\xb9#\x8e\xf6\x9c\xb6\x91\ -\xbe\xff\xf8\x91}\xbf\x14dxo\xeb\x9f=}\xb8\xd1\ -\xd5J\xfb\x9d7\xaf\xe4}6\xe2\xce\x9c\x0cJq\xee\ -\xd4\xa2\x9ad\x9dK\xe5k\xb3\x1f\xd5\x81\xc5\x153n\ ->\x1b\xb9\xec\x14\xa3,\xf9v\xaa\xb0\xdbE\x07\xf2\x91\ -\xb3\x7f\xdb\xef\xae\x03\x8b`\xdb\x19\x97\xfd\x9f~#7\ -\xb1\xab\x07\xce\x9a\x9a\xe1\xb3\xedp\xf6\x9e\xbbW\x8f\xfa\ -\xe9\xed*\x9f\xb5\xeb\xdc\xf3\x0d9u`\xe3\xd7^\xf3\ -\x7f>P\xfcWIhL8\x87Z=\xf9M\x1dx\ -f\xa15kFAF\xf4<\xf3\xc3k\x8a'\x7f\xbd\ -\x8521DoP\xaf\x98-{6>[\xc7Z\x95\ -\xbav\xfc\xd8;\x9e\x13\xae=\xdc?\xea\xd5\xde\x935\ -zi\x8f\x9fx\x1c\xffe\xa3\xf9\x17~W\x1el\xb8\ -\x92\x974\xaf\xc7\xd9\x1a\xfb\xe8\xc3\xb7_\xe6O\xda}\ -aW\xff\x0d\x0fo\x95\xffa\xfd\xf7\xc4n\xa71]\ -\x9eU<\x96}\xef^\xb5\xa6\xae\xe3\xd4\x04&\x9c+\ -\xf7/\x96\x0d7\xf8k@\x1d\xf8,\x13>\x9b\xf3\xab\ -Ekm3W\xed\xd8\xb3\xd2\xe6\x87\x91\x17\xd2\x1cG\ -\xd7\x01\xad\x8c\xcaA\x07ic\xc9\xe16\x9f\xdf\xff\xd9\ -\x82\xcd\xe6v\xd9k\xb7.i\xf2\xa5\x8b\xe5\xe7\xc93\ -\xff\x06\xe4\xb9\xc4\xf8*\xf7\x13_U\xc7\xae\xad\xa6R\ -/\x1d\x9c8\xed\xda\xd1(\xe3\xd0\xaa\xbb\xa7O\x0c\x9c\ -\xd0\xc7\xdc

\xf3\xee\xea\x97\xdfM\x15\xbd\x89\x8b\ -\x8dO\x0a\x15\x9d\xdbS\xf1\xf0\x9b+\xfdFW>\x1f\ -\xbe`\xd6\xd1\x17\xe5\x8c\x17\xf3^\x7f\xde\x9fZyK\ -6b\xfc\xb3\x93\xebi\x0fX}\x17\xfa\x16Ox\xed\ -\xb07\xa8\xa6\x0e$\xbd\xe9~7}\xc4}\xdd>K\ -\xbe\xbc/\xd8\xf9\xe3\xac]\xdf\xfda\x7f\x8d\xb3\xd7\xf7\ -H\xb7\xa0\x9c\x8b[\x02\x97\x07V\x1a_\xd4\x0b\xa7\xee\ -\xe8\xb3$\xd1\xb7o\xefn+\x96\xcc\xca e\x9d\xde\ -GHt\x0a\xad;\xf7\xbe>\xe8W\xc58\xd7\x15\xeb\ -\xc9\x07\x00\xcc\x22\x85#7\x08\x07\x5c8\x1d\xce\x87S\ -\x03\x1a\x9c\x1c\x17A\xbf\x0c:)\xe6C\x13a\x8b\x7f\ -HA\x03\x91\xf0G\x83f\xba'`\x02\xff\xfa\x01S\ -7.\x81/\x14\x11\xa1\x11Y\x02g\xa0\xe8\xcb\x15Y\ -\xd9\xfdh\xd4\x13\xd0\x88\xd4\x82\xb6+4\x97\xd8\x1c\xa9\ -815&\x0d3\xae\xa2#i\xe8\xf3\x16\xa0\x09\x9e\ -_P\x98'g\xdd\xe3\x92i4\xf0a0\xe2\x88%\ -2\xf4U\x1d\xe8\xf7\xe6\xf2\xa4\xd0\x5c#\x8c\x83~A\ -\x99L\x8c\xc2\xd1\xd8o\x9a_\x8c\xfcD4\xea\x9bJ\ - \x83\xd0o\x89\xfc\x85\x0a\xbf\x1b\x96F\xe1\x0fC~\ -n\x89\x10\x9a\x89D\xc4\xb3\x98[\xc2E\xfeC\xd0\xff\ -E\xa9\x1c\x99\x8f\xa4\x04\xe8\x1f_\xca\xe7\x95A\xff9\ -\xe8w\x14\xc8K\xf8\xd0\x8ff&\xa6%<64i\ -1\xbb\xc2Q\xc6\xe3\x14A?\x9a\x19\xe8J\xd2R\xe0\ -\x5c\x96\xdc\x13\xdaf\xba\x85*\xfe|\x15\xbf\x0c\x1al\ -H\xa8H\x91x(f\xd9\xd0\x5c9\xddh\xcc\xc0\xc0\ -\x00Z\x1c\xafL\xc0\x93\xc9\xdc\x93\xd9\x9cb\xb6\x84K\ -\x8b\x14\x95\x88\xd9B8\xc3S\xc8\x8c\xc1\xf8\xadO\x87\ -\xa8(\xea\xbd\x91\xad\x04\xaa[\x85\xefi_\xac\xce\x08\ -\xe6\xc7\x1a\xc3ZJ'Z\x0a\xed.8\x0b$Mo\ -\x0c\xcb\x9f\x07\xc0\xf6\xcf\x01\xb0\xfc\xad1\xccq1l\ -\xa3\xb0\xde\xb6\x9dT\x91\xc7\x1c\xb5\x17\x95\x8f\xfc\xf0y\ -\x1c\x0f\xa4\xd0\x06\xfcc\x82V@\x85\x9e\x07*\xaeA\ -=\xb4(\x85eKCz\xe3@\xfbU.\xa1\xc1\x19\ -8\x87Gso\xde\x88?:c\xcb|\xb8\xa5\xf0\x0a\ -xh\xa6\xcf\xa3e\xc0V\xc6\x17\x16\xc2\xea\x16r\xf9\ -\xd8\xf7\x8a\xf8\xc2wU\xe2Gfk\x06E\xbb\x860\ -Y^\x0bLs=\x80\xe1IS@zp\x0c\x90M\ -t\x00)\xe7\x1b\x18Ch\xa8\xb7\x04\xad\x0c\x80\x9e\xbc\ -L\xfb[\x8av\x8f\xa1\x85i&q\x1a\xbaH\xf9\xd8\ -\xe4\x0aD\xa6\xa4\xd18rI\xa9\x22\x0e\x9bOi\x00\ -m\xd8I\x99\x82.\xc0\x0e8\x00W8\xeb\xf7\x82\x9d\ -L\x10\x08\x03\xd1\xa0\x17H\x02i \x1b\x0c\x04\x1c\xd8\ -\x19\x95\x00\x09(\x03#\xc0h0\x1eL\x06\xd3\xc1,\ -0\x1f,\x02\xcb\xc1\x1aP\x096\x81\xed\xe0\x07\xb0\x1f\ -\xfc\x04\x8e\x82S\xe0<\xb8\x0c\xaa\xc0Mp\x0f<\x06\ -\xcf\xc1+h\xe0R\x09z\x04\x13B\x17\x82=\xc1\x89\ -\xd0\x83\xe0E\x08 \x84\x10\xa2\x09\x09\x84\x14B6!\ -\x8fPH\x10\x12\xe4\x84\x11\x84\xb1\x84\xc9\x84\x0a\xc2|\ -\xc2\x12\xc2\x1a\xc2w\x84\xef\x09\xfb\x09G\x08\xa7\x09\xbf\ -\x12\xae\x13\xee\x10\xfe\x22\xd4\x10ID]\xa2)\xd1\x96\ -\xe8Ld\x10\x03\x88\xe1\xc4\xde\xc44\xe2\x00b!q\ -0q\x18q\x1c\xf1K\xe2\x5c\xe2R\xe2z\xe26\xe2\ -~\xe2Q\xe2yb\x15\xf1\x1e\xb1\x9a\x04H:$s\ -RW\x92;)\x80\x14IJ\x22\xf5#\x15\x90$\xa4\ -\x91\xa4I\xa4\xd9\xa4\xa5\xa4J\xd2N\xd2a\xd2YR\ -\x15\xe9>\xe9o2\x85lB\xa6\x91\xdd\xc9A\xe48\ -r:\x99C\x1eL\x1eI\x9eB\x9eO^M\xdeF\ ->D>K\xbeN~L\xae\xd5\xd0\xd3\xb0\xd1\xe8\xa1\ -\xc1\xd2\x88\xd7\xc8\xd2(\xd4(\xd3\x18\xaf1[c\xa5\ -\xc6V\x8d\x1f5\xcek\xdc\xd4xN\xa1P\xcc).\ -\x14\x7fJ\x1c%\x9b2\x882\x9c2\x85\xf25e#\ -e\x1f\xe54\xe5\x06\x05\x0eh\xd4.\xd4\x1e\xd4`j\ -\x12\x95M\x95Q\xc7S\xe7Q\xd7S\xf7R\xcfPo\ -R_j\xeah\xdakzi\xc6h\xf6\xd3\x14j\x8e\ -\xd1\x9c\xad\xb9Vs\x8f\xe6\x19\xcd[\x9a\xaf\xb4\x0c\xb5\ -\x9c\xb4XZIZ\x5c\xad\xa1Z\xd3\xb4\x96k\xed\xd4\ -:\xa9uS\xeb\x95\xb6\x91\xb6\x8bv\xb0v\x9a\xf6 \ -\xed\xd1\xdas\xb5+\xb5\x7f\xd4\xbe\xa2\xfdTGG\x87\ -\xae\x13\xa8\xd3W\x87\xaf3Jg\xae\xce\xb7:?\xeb\ -\x5c\xd7\xf9[\xd7X\xb7\xbbn\xa4n\x8e\xae\x5c\xf7K\ -\xddU\xba\xfbt\x7f\xd5}\xaa\xa7\xa7\xe7\xac\x17\xa6\xd7\ -OO\xa6\xf7\xa5\xde\x1a\xbd\x83z\xd7\xf4^\xea\x9b\xe8\ -{\xe8\xc7\xebs\xf5\xcb\xf5\x17\xe8o\xd3?\xa3\xff\xd0\ -@\xcb\xc0\xc9 \xdc`\xa0\xc10\x83\xd9\x06\x9b\x0dN\ -\x1a\xdc7\xd42t6\x8c4d\x1b\x8e4\x5c`\xf8\ -\xbd\xe1E\xc3j#\x13#\xa6Q\x92Q\x89\xd1\x14\xa3\ -\xb5FG\x8cn\x1bS\x8d\x9d\x8d\xa3\x8d\xb9\xc6\xe3\x8c\ -\x97\x19\x1f4\xbeaB2q0\x894\xe1\x98\x8c5\ -Yn\xf2\xa3\xc9MS\x8a\xa9\x8bi\xbc\xe9 \xd3\xc9\ -\xa6\x1bLO\x98>636\xf31\xcb0\x1bb\xb6\ -\xc0l\xb7Y\x959\xc9\xdc\xd9<\xde\x5c`>\xcd|\ -\x93\xf9\x05\xf3\x1a\x0b[\x8bp\x0b\x9e\xc5D\x8bJ\x8b\ -3\x16/,\xad-\xc3,y\x96\x93,7Z\x9e\xb7\ -\xac\xe9B\xeb\x12\xdd\xa5\xb8\xcb\x8c.\xdb\xbb\x5c\xb5\x22\ -[u\xb7\xeakUf\xf5\x8d\xd5\x8fV\xf7\xadM\xad\ -\x83\xac9\xd6\x93\xac7Y\xfffC\xb4\xe9n\x93b\ -3\xdcf\x99\xcd1\x9bj[;\xdbX[\xb1\xed<\ -\xdb\x83\xb6\xf7\xed\xcc\xed\xc2\xec\x06\xd9\xcd\xb4\xdbcw\ -\xc7\xde\xc4>\xc4\x9eo?\xd3~\xaf\xfd]\x9a\x19-\ -\x9c&\xa0\xcd\xa5\x1d\xa2=\xeej\xd35\xae\xab\xbc\xeb\ -\x92\xae'\xba\xbe\xa2\xbb\xd0\xd3\xe9c\xe8\x1b\xe9W\x1d\ -\xb4\x1d\x02\x1c\x0a\x1cf:\x1cpx\xech\xef\x98\xe8\ -8\xc2q\x9d\xe3oNZN\x01NENs\x9c\x0e\ -;\xbdpvq\xcet\x9e\xe0\xbc\xdd\xf9\xb6\x8b\xa5K\ -\xbc\xcb0\x97u.W\x5c\xf5\x5cC]\x07\xbb.u\ -=\xd7\x8d\xd2-\xa0[q\xb7\xaf\xbb\x9d\xeaN\xec\xee\ -\xdb\xbd\xa8\xfb\x82\xee'{\x10{\xf8\xf5\xe0\xf7\xf8\xba\ -\xc7i7\x0d\xb7@7\xa1\xdbR\xb7\x8b\xee\xba\xee\xe1\ -\xee\xa5\xee\xeb\xdc\xaf{\x98{$x\x8c\xf1\xd8\xee\xf1\ -\x90\xe1\xc8\xe8\xc7\x98\xc18\xcc\xa8\xf5\xf4\xf5\x14x.\ -\xf7\xbc\xcc4f\xf6b\x8ea\xeed\xfe\xe5\xd5\xdd\x8b\ -\xe3\xb5\xc0\xeb\x9c\xb7\x9ew\x8cw\xb9\xf7\x0e\xef'>\ -=|x>\xdf\xf8\x5c\xf25\xf1M\xf4\x9d\xe0{\xc0\ -\xf7\x8d\x9f\xbf\x9f\xc4\xaf\xd2\xef\x8e\xbf\xa3\x7f\x9e\xffB\ -\xff\x8b\x01\xa6\x01\xc9\x01S\x02~\x0e\xd4\x08\x8c\x08,\ -\x0f\xfc!\xf0o\x96\x1fK\xc6\xda\xc4z\x14\xe4\x1eT\ -\x1c\xb46\xe8vO\x97\x9e\xbc\x9e\xcb{\xde\x08\xa6\x07\ -\xb3\x83\x97\x04W\x85\xd0B\xf2B\x16\x87T\x85v\x0d\ -e\x87.\x0d\xfd=\xcc!\x8c\x1b\xb62\xecVx\xb7\ -\xf0A\xe1\xeb\xc3\x1fFxFH\x22\xb6F\xbc\x88d\ -E~\x16\xb9/\x8a\x14\x15\x1b5)\xeaD\xb4qt\ -z\xf4\xfc\xe8k1\xf4\x98\xc2\x98u1\x8fc}c\ -\x87\xc7\xee\x8b\xd3\x88\xeb\x1d7#\xeeb\xbcm<'\ -~M\xfc\xe3^\xfe\xbd>\xebu\xa8\xb7n\xef\xd4\xde\ -\xf3{\xff\x9e\xd0=A\x92\xb03\x91\x98\xd8+\xf1\xab\ -\xc4+}\x9c\xfa\x08\xfblO\x02I\xf1I_%]\ -MvI\x1e\x9c\xbc\xab/\xa5or\xdf\x05}\xffL\ -a\xa6\x8cH9\x9cj\x92\x9a\x9b\xba6\xf5yZD\ -\xda\xb4\xb4\xcb\xe9\xae\xe9\xf2\xf4\x03\x19\x06\x199\x19k\ -2^dFeVdVe1\xb2>\xcb:\x9am\ -\x95\xcd\xcf\xde\xd1\x8f\xda/\xa3\xdf\xca~\xd5\xfd\xa3\xfb\ -\xcf\xea\x7f3\xc77g|\xce\x85\x01.\x03\x86\x0c8\ -2\xd0j\xa0`\xe0\xee\x5c\x83\x5cv\xee\xe6<\x8d\xbc\ -\xcc\xbc\xb5y\xaf\xd9I\xec\xa5\xec\xea\xfc\xf8\xfc\x85\xf9\ -\x8f9\x91\x9c9\x9c{\xdc0\xeeL\xee\x1d^0\xaf\ -\x82w\xab \xb8\xa0\xa2\xe0vap\xe1W\x85w\x8a\ -B\x8bf\x17\xdd\xe7G\xf2\xe7\xf3\x9f\x0c\x8a\x1b\xb4h\ -\xd0\x8b\xe2\xa4\xe2U\xc5u\x82L\xc1\xc6\x12\xcd\x92\xbc\ -\x92\xef\x85\xc6\xc2b\xe1!\x91\x9dh\x88\xe8\xb4\xb8\x87\ -x\xbc\xb8j0k\xf0\xac\xc1\x8f%\xbd%+\xa5\x04\ -\xe9\x00\xe9\x0e\x99)4\xa6\x8e\xc9]\xe5\x9f\xcb\xaf\x97\ -\x86\x94.(}Y\x96Q\xb6y\x88\xd1\x10\xe1\x90c\ -C\xbb\x0f\x9d8\xf4\xd6\xb0\x98a+\x86\x93\x87s\x86\ -\x1f\x18\xd1u\xc4\xe8\x11\xd7?\x0b\xffl\xc9H\xc2\xc8\ -\xfc\x91\x07\xca\x1d\xca\xc7\x95\xdf\x1c\x15;j\xf5h\xed\ -\xd1\xc5\xa3\x8f\x8f\xf1\x1cS1\xe6\xd9\xd8\xcc\xb1;\xc7\ -\xd9\x8e\x1b5\xee\xc6\xe7\xb1\x9f\xaf\x1b\xaf?^2\xfe\ -\xe2\x84\xa0\x09\x8b\xbe \x7f\xc1\xff\xe2\xc4D\xef\x89\xf3\ -&\xd6N\xe2N\xfae\xb2\xe7\xe4\xd9\x93_O\xe1L\ -\xf9e*s\xea\xdc\xa9u_\x16|yb\x9a\xdf\xb4\ -o\xa6S\xa6\x0b\xa7_\x98\x11:cu\x85Q\xc5\xb0\ -\x8a\x1b_%~\xb5m&m\xe6\xa4\x99\xcff\xe5\xce\ -:2\xdbg\xf6\xa29\xdas\xe4s\xaa\xe6&\xcc\xdd\ -1\xcfq\xde\xf4y\xaf\xe7\x17\xcd?\xbf b\xc1\xc6\ -\x856\x0b'.|\xf15\xf7\xeb3\xdf\x84}S\xb9\ -\xc8v\xd1\xe4E5\x8b\xf9\x8b/-\x89]\xb2m\xa9\ -\xf3\xd2\xd9\xcb(\xcbJ\x97\xfd\xb9\ -\xf1\xbe\xfb\xfb\x0b\xf7\xdf8\x90{\xe0\xf2\xc1\xac\x83\xe7\ -\x0e\xf5=t\xe2\xc7\xde?\xfe\xfcS\xccO\x07\x0f\x87\ -\x1f\xde\xfbs\xf0\xcf?\x1ca\x1d\xf9\xfe\x97\x80_\xb6\ -\x1f\xf5;\xba\xed\x98\xef\xb1\xad\xc7}\x8fo=\xe1w\ -b\xdbI\xff\x93;N\x05\x9e\xday\xba\xe7\xe9=g\ -B\xcf\xec?\x1bu\xf6\xa7s\xf1\xe7\x8e\x9e\xefs\xfe\ -\xf4\x85\xf4\x0b\x97.\xe6\x5c\xac\xba\xc4\xbdt\xfbW\xc1\ -\xafO~+\xfd\xed\xd5\xe5QW4\xaeL\xbajx\ -u\xf65\x9bkK\xff\xd3\xed?\x1b\xab\xfc\xaav_\ -\x8f\xba~\xec\xf7\xd4\xdf/\xdf\xe0\xdc\xb8\xf7\x87\xf4\x8f\ -\xd77\xc7\xfd\xa9\xf7\xe7\xec[\xf6\xb7\xd6\xdc\xf6\xba\xfd\ -\xc3\x9d\x98;\xa7\xee\xf6\xbf{\xf3\x9e\xf8\xde\xab\xfb\xe3\ -\x1f\x18=X\xf8\xd0\xf5\xe1\x96Ga\x8f\x8e=\xcez\ -|\xf3\x89\xe4I\xdd_S\x9evy\xba\xea\x99\xcf\xb3\ -\x03\xd5\xc9\xd5\xd7\x9e\x97<\x7f\xf5b\xd2\xcb./W\ -\xff\x1d\xf0\xf7\xe1\x9a\xcc\x9a[\xaf\xca^S_\xcf}\ -\xd3\xed\xcd\xce\xda\xde\xb5W\xeaJ\x1a\xdeH\xe0\xc0\x81\ -\x03\x07\x0e\x1c8p\xe0\xc0\x81\x03\x07\x0e\x1c8p\xe0\ -\xc0\x81\x03\x07\x0e\x1c8p\xe0\xc0\x81\x03\x07\x8e\xffc\ -\x90\xc9dMGG\xc7\xac\xce\xe6\xe3\xff\x15aaa\ -\x8b\x0a\x0a\x0a\xea\xe0\xff7\xa8.:\x9b\x9f\xff'\xa0\ -v\x8ft\xaft)))Guuu\xed\xda\x83\x96\ -\x8e\x8e\x8e\x15\x9dNO\xf7\xf3\xf3\x9b\xd0\xabW\xaf\x1d\ -\x19\x19\x19\xe7srr\xfe\xe4p8/\x90C~\x18\ -v\x01\xc6}\xef\xef\xef\xff\x85\x83\x83C\x06\xca\xd3\x1e\ -\xbc|*@\xed\x1d\xb5{\xd5:\x188p\xe0]k\ -k\xebw\xec\xf2\xfd0@\xfdY{zz\x96%'\ -'\x1f\x86e\xd7\xaa\xd2i\xa5\xab\xed\xdb\xb7\xef\x11X\ -\xc6\x10\xd8.l\xd5\xc1\xd3\xa7\x0877\xb7\x12.\x97\ -[\xa3\x94\x9b\xc7\xe3\xbdvww\x17}ly\x16\x16\ -\x16\x01QQQ\xaba9\xaf>B\xe7-:T\x16\ -,s\xad\xa5\xa5%K\x9d\xb2\x7f*\x80r\x05\x0d\x18\ -0\xe0\x96\xaa\xcc\x91\x91\x91+\xe13\xa2\xdd\xda2`\ -\x1b\xb5A:R\x97\xce\xdf\xe5\xa2\xa3\xa3\xd7\xb7W?\ -\xd9\x99\xd0\xd6\xd6\xee\x02\xfb\x8a\x9fTeMKK;\ -\xad\xaf\xafO\x7f_>\x12\x89DA}D~~\xfe\ -\xb3\xf6\xd6\xbd\xd2AZ\xd5L&s\x18\xa4M\xed(\ -\xfdt\x04\x90.CBB\xe6\xa9\xca\x9a\x97\x97\xf7\xd0\ -\xd6\xd66\xb6\xa5\xf46661\x99\x99\x99\xbfv\x94\ -\xde\x9b\xbb\xac\xac\xac\xcb\x90\xb7\xb8\x8e\xd6S{\xc3\xd5\ -\xd55\x1f\x8e\x09/Ud}\x83\xc6R\xe59g\xf8\ -G\x84\xb6\xcc\xe7\x9d\xa5\xf7\xe6\x0e\xd9L\x88\xa7\xce\xd6\ -\x9b:ann\xee\xdb\xbf\x7f\xff\xdfU\xe5\x8c\x89\x89\ -\xd9\x80\xfa\xf9\xf8\xf8\xf8\xad\x9d\xad\xf3\xe6\x0e\xda\xae\xdb\ -\xa9T\xea[\xdf:\xfa7CKK\xcb,11q\ -\xaf\xaa\x9c\xf0\xb9\xf8\xbb\xb3u\xfd\xbe\xfe\xc8\xd8\xd8\xb8\ -Gg\xebM\x9d \x12\x89d\x16\x8b5\xa3\xb3u\xdb\ -Z\x07\xc7\xe6\xa7p\x5c\x8a\xeel\xbd\xa9\x13P\x9e\xa8\ -O\xb9\xdd7whN\xfd\xbfR\x07\xc8\xc6A\xf2\xa8\ -C/9997\xd1\xb3\x84l\x16##\xa3\xee\x14\ -\x0aEOCCC\xd7\xd0\xd0\xd0\x19\x8e57\xda\xa1\ -\x0eb:[\x7fm\x01\xb2;\xd5\xa1\xfb~\xfd\xfaU\ -\xd1\xe9\xf4\xd4\xf7\xd9(\xa8\xefn\x8f\xe7\xe0]\xb6\xf3\ -\xa7\x0ed\xff\xa0yN[u\x10\x10\x100\x05\xce\xa3\ -\xb5\xfe\x89^{\xe8\x1f9$\x83\x99\x99\x99OG\xe8\ -L]@\xf3\xfb\xe6\xeb\x11\x1f\xe1\xde\xf4\xe8\xd1cP\ -ki\xb6\x97\xfe\x91C\xb2\xfc[\xd6\xf0`\x9f\xac\x9f\ -\x9e\x9e~\xb6\xad2\x7f\xe8\x1a^{\xea\x1f9\xb4\x96\ -\x82\xc6\x9b\xf6\xd2\x9b:\x80\xe6\xb7qqq[\xd4!\ -/\xea\xf3MMM[\xfd\xa5\x90\xf6\xd6?r\xb1\xb1\ -\xb1\xdf\xa9|\xab\xec\x93\x83\x97\x97\xd7\x085\xc8\xd9\xb0\ -\xd6\x0f\xc7\xbf\xe7\xce\xce\xce\x03ZC\xbb#\xf4\x8f\x1c\ -ZGio=~\x0c,--{\xa2\xb5\xff\xb6\xca\ -\x87\xec\xcb\xbc\xbc\xbc\xc7\xcd\xc2\xa6\xa3y\xdc\xfb\xe8w\ -\x94\xfe\xd1\xbb\x04h[\xf8w\x94^[\x03\xd4\xe7\xa3\ -\xfeB\x1d}\x0e\xd4\xb3\x86\x81\x81\x81\x13\x1cC\xce\xa9\ -\xc6\xf5\xe9\xd3\xe7\x80\xb6\xb6\xb6\xc5\xbbx\xe8(\xfd#\ -\x07i\xfd\xf6!\xef6\xda\x1b\x81\x81\x81S\xd5!\x97\ -\xbf\xbf\xffDe\x99h^\xd5\xfc}\x0c\x9c\x7f\xfd\xf1\ -\xae\xb6\xd7\x91\xfaG\xce\xc7\xc7gt\xc7i\xf8\xdd@\ -k\x86h\xcdD\x1d2YYY\x855/\x1f\xbd\x9b\ -Q\xed\xd7\xd0:\x86\xab\xab+\xb7y\xba\x8e\xd6?z\ -\xaf\x81\xdaH\x87(\xf9=\x80\xfa)U\x87H\x15h\x8d\xa8\xf9\xf8\ -\x8a\xd6\x92\x0c\x0c\x0c\x1cQ\xd9\xd0^\xb8\xdeV>\xe1\ -\xdc\xf7\x91r\xde\xf1\xa9\xc0\xd9\xd9y\xa0:\xdaU\xf7\ -\xee\xdd?\xf0+\xdao\x03\xf5\xf1={\xf6\x9c\xd9\x5c\ -gAAA_\xa9\x83G\x07\x07\x87Lu\xe8L\xdd\ -P\x9e\x87i\x8bC\xedS\xb5\xbfh\x0bP\x9bh\xf6\ -\xfe\xffc\xce\x114qh\xddC\x1d\xbc\xb5\x07\x90\xed\ -\xdd|\x8d\xe0c\x1c\x9c\xe3.W\x17O\xa6\xa6\xa6^\ -\xeaX\x1bG.%%\xe5\xd8\xa7\xbeg\x1a\xbd\xa7F\ -\xfbt\xda*\xeb\x87\xbc{\xff'\xa8c\x8d\x10\x8d\xeb\ -\x9fZ\x9f\xff.\xc06\xe7\xa9\x865\xe9Z\x0f\x0f\x0f\ -I[yA6h[\xfb\x1dd[\x98\x98\x980\xd4\ -\xa1\x9b\x8e\x82\x9d\x9d]\xbc:\xe6\x05p\x1c\x9d\xf51\ -\xfb\x0e\xd0;\xb9\xe0\xe0\xe0\xb9m\xa5\x8fd\xf8\xb7\x9e\ -\x11prr\xcaQG\x1d\xa0\xf3\x8dp,\xcd}\xd7\ -\xfb\x01U \x1b\xd3\xc5\xc5%\xaf\xf9\xda\xd0\xc7\xea\x1e\ -\xc9\xd0\x11\xbaj/8::f\xabk~\x8c\xde9\ -\xa1y\x0f:_\x8a\xe6Z\xe8,\x01r\xc8\x8f\xc2\x90\ -\xfd\x85\xecLu\xd0B<#\xde;[\x7f\xea\x00\x9d\ -NOS\xe7y\xc6\xf6vH\xf7\xe8\xbcqg\xebM\ -\x9d\xa0\xd1h\xc9\xea\xda\x07\xdd\x11.00\xf0\xcb\x7f\ -\xda\xf3\xf2o\x83\x99\x99\x99\xb7:\xe6\xff\xed\xe5T\xcf\ -1#\x87\xce\xee\xa03<\x9d\xad7uBSS\xd3\ -4!!awg\xeb\xba\xb9C\xba\xd6\xd7\xd7\xa7\xc5\ -\xc4\xc4T\xaa\x86\xa35)\xb4\x97\xbb\xb3\xf5\xa6N\xc0\ -\xe7\x9a\x84\xd6:;[\xe7-\xf55h\x7f\xa7\x97\x97\ -\xd7p\x18\xfeF\xe5\xb9x\x89\xcetv\xb6\xde\xd4\x0d\ -4G\xe8\x8c}#J\x87\xf6\x5c@\x1ez\xb7\xc4\x1b\ -\xb2\xf9\x91\xbd\xa5\x9a\x1e\xceEf\xb7\xc6\x06\xfe7\xa1\ -\x93\xce\xbf?k\xcd\xf9w\xb4\xae\x8e\xf6\x9d\xab\xe6M\ -JJ\xfa\x11\x9d\xf5\xef(\xfdt\x14\xd0\xda\x0a\xfaf\ -D{\xeb\x1e}\xdb\x03\xcd\x19Z\xcb\x17\xda\xe7\xd9\x9c\ -/4\x1fD\xdf\xbchO}t\x16\x90\x8d\x14\x1e\x1e\ -\xbe\xa4\xd9\xf9\xf969\xf4\xae\x10\xed\x8dh\xcb9\x22\ -\xb4\x16\xd5l\x1fd\x8d:\xd7\x08?5 \xbb\x0f}\ -\xdb\x06\xd9J\x1f3wCy\xd0>+X\x86\x10\x96\ -e\xae\x0e\x9e\xac\xac\xac\xc2\xd17\x8eT\xe9\xa09\xf7\ -\xff\xfa\xb7\xbf\xa8T\xaa\x11\x1a\xabQ\x9f\x8d\xde\xe7\xa2\ -o2eff^Bk\x0d\x0a\x0d\x0a \x0d\x0a \ - Artboard\ -\x0d\x0a Created with\ - Sketch.\x0d\ -\x0a \x0d\x0a \ - \x0d\x0a \ - <\ -/circle>\x0d\x0a \ - \x0d\x0a \ -\x0d\x0a\x0d\x0a\ -\x00\x00\x04\x5c\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a \x0d\x0a \ - icon / o\ -utliner / entity\ - / error / Edit\ -or only\x0d\ -\x0a Creat\ -ed with Sketch.<\ -/desc>\x0d\x0a \x0d\x0a \ -\x0d\x0a \x0d\x0a\x0d\x0a\ -\x00\x00\x15\xcc\ -I\ -I*\x00j\x08\x00\x00\x80?\xe0@\x08$\x16\x0d\x07\ -\x84BaP\xb8d6\x1d\x0f\x88DbQ8\xa4V\ --\x17\x8cFcQ\xb8\xe4v\x0b\x02\x7f\xc7\xa4R9\ -$\x96M'\x94JeR\xb8\xa4\x82Y/\x98Lf\ -S9\xa4\xd6a.\x9bNgS\xb9\xe4\xf6}#\x9c\ -O\xe8T:%\x16\x8d/\xa0\xd1\xe9T\xbae6\x9d\ -\x1f\x81\xd3\xeaU:\xa5V\x91Q\xabVkU\xba\xe4\ -B\x93]\xb0XlU*\xfd\x8e\xcdg\xb4N\xec\xb6\ -\x9be\xb6\xdd&\xb5\xdb\xeeW;\xa4J\xe3u\xbc^\ -o7{\xd5\xf6\xfdi\xbe_\xf0X:\xde\x07\x09\x87\ -\xc4Sp\xd6`\x0e6\xb4\xd0\xc8\x02\xdf\xb91L\x14\ -3\x05\x0dH\x02PWX\x0b<\xe6\xc6\x80\x5c\xc0]\ -#XY\xa7}Vqx\x0a\xc5\xcfCJflB\ -\x90R\x86\x84\x9f \x22AA\x11\xd7\x9e\x85o X\ -\x828K-8\xb1\xe9G\xd5\xda96\x1d|\xf5\xa9\ -\xcf\x06>:G8)\xd2\x0a\x0c\x9e; \xa8>\x10\ -!1\xc5\xd4\xcf9vo\x1dw\x9b6f\xfaK\x12\ -\x04\x84\x14/RohL\xc3?\xa2\xf6s\xe5\xb1~\ -+~y\x5c\x80\x04\xf4\x99\xa4*\x0a<,G\xe3B\ -8\xbe\x81\x99(\x99\xbfK\x04\x1a\xac\xbf\x893\x9ej\ -\x00\xce\x91\xf0U\xa0\xa2r\xde\xd0\x92\xd0H\xd6\xab\xa4\ -+\xec\x1e\xabB)+bf\x13\x88(\xc6\x94\x1c\xa8\ -)\x9c\x82\x9dH)\xe2\xd0\x82I\x03\xde\x82\x06\xa8+\ -f\x924#\xe4\x13\x01%\x11\x1b\x0a\xd6\xaeQ*;\ -\x13\x8d\xe8+\xda\x8e\x1d\xc8)*\x82\x94\xc1\xa4\xa4l\ -\x22\xc9\x00\x02h\xcb\x01\x81\xf9-\x8c\x11R\x0a\x05\xa3\ -1\x08\x00)JA\xa1`\x92\xc8J\xd4\xd2\xa9\xc8\xc8\ -\xc4N\x16\xa0\xa6z\x0a\x01\xa2\xb3\x11\x1c\x02O\x03\xf8\ -a=\x9e\xa9y\xad?\x82g\xb5\x05%\x80\x02\xe22\ -y\xcf\x00 I=\x86\x11\x8a;5\xaa\xd4\x82\x9f6\ -\xa2\xf19j\x82\x89H\xa9\xea\xcf\x00B\x88eO\x97\ -j\x19\x9dQ\x8b\xc7\xf5LONh\x93BJ\xc1#\ -b=I*\x95\x82\x9bJ\x22F}l 2g\xe9\ -~\x8a\x9f\x14\xc4\xcb]\xa9\x918\xb6\x82\x94H(\x04\ -\x88\x9fm\x08U\x04\x9b\x88\xd5d\xb2H\x90\xdb\x1c\x8d\ -D\xe5\xa2\x0a%\xa2\xa3\xa4\xcaF\xab0\x01(\x90C\ -\xe8\xa1)2\x8d\xb6u\xa2\xbaY\xea]h\x86\xc2n\ -\x8b\xa4\xed \x80:\x22i\xc1!\x8bB~\xab&\xbd\ -\xf4\x06\x9e\xb7\xed\x9a\x82\x02\xc8\x89\xc72\x83\xd74\xc4\ -\xbd\xdc\xebm\xd6\x86@\x02\x9a@VULh\xdd\x04\ -\x92k\x1cNG \xa3\x8a*\x19\xcc\xb1|\xeb\x84\xae\ -WJ\x95\x85\xa1p\x012\x90\x0c\xc8\xa852\x9c\xeb\ -\x1dFg\x07U1\xfcb\xe2 \x08\xf1\x04\x912\xae\ -@\xb7\xe4J>H\x85D\xe5\xb2\x0a$\xa2'\xac\xca\ -\xec-\x19x+\x99Q\xc8\x849\x0fgX:\xf1\x9e\ -\xa8\xd9\xfa\x13\x13\x9a\x08(^\x88\x9bs(L\xb7\xc4\ -\xe7\xda\x0a\x02\x22%\x84\xca(\xea+\xf6\xa8\xa2\xea\xc8\ -DO\xa6\x82\xa8\x89\xb12\xb2\xabtO^\xde(\x89\ -\x932\x87\x1bLE\x9d\xad\x1bj\x0f\x13\xb8\xe8$\xc0\ -\x88nr\x96\xea\xb6\xee\xe8-\xe4\x88\x1a\x93,\xe1\x8f\ -\xeaK\xae\xd6\xa2pH7\x09/\xee[\xa6\xc0\xd8\xef\ -\x00\x07\x1e\x87\xf22\x97&\x96\xf0\x0bo.\xa1\xf3(\ -/7\xc3s\xbcW>ft=\x1a\x1d\xd2\x86\x9d:\ -'\xd5\xa8\xdd\xe2\x7f\xd6\xa0\x9dx\x01\xc3\xa1\xfcHi\ -\xc5\xad\x9cn\xf3\xc8r[\xf2\xf5\xdf'\xde\x00\x01\xe1\ -x\x88w\x8d\xe4->WD\x88\xf7\x1d\xd2\xed\xd4\xad\ -\x9e\x82{\xc1\x1b_(\x0ey}\x12j\x08\x05k\x94\ -\xe0v\xb7\xe6G\x22\x0a\x03\x22&\xbe\xb52\xecH\x8f\ -\xc4\xa1\x7fi\xdc\x22\x95\x99xk$\x0a\xb8\x82\x02s\ -\x12K\x13\x10\xd14\x22%\x04\x8a\x82\x14\xffI\xf4\x10\ -'&\xbd\x09\x81$,+\x88(?\x80\xe5\x14V\x9d\ -\xd0\xb4x \x91\xe2|\x05\x8c\xd7\xa2qLAB\xcc\ -\x1b]F4C\xa0\x90\xf5\x08KT#,J\xd8g\ -\x84Vd.\xa1QS\x1f\xa6\x84\x16\xa9\xf0d\xfd\x9e\ -|2,(\x00L\x10P\xcf\x0eJ\xb0zA\x22\x1d\ -\xbf\xb9R\xdc\x80\x05\xc9\x05\x08\xc4T^/x\x90\xe5\ -\x1a@\x00}\xe4D\xd0\x89\xb8|\xcab\x0cN-\xa8\ -\x00`A\x92$\xa2@b\x8cO\xb1\x5c\x89\x99\x01\xa0\ -\x0b\x12\xd8\xfc\x1adTQ \x90\xbf\x13K\xc4d\x8c\ -\xc4F4F\xa8\xd9\x1bL\x84pKq\xcc\x8aGS\ -\xe9\x1d\xe3\x0cy=1\x94\x82A\xa8\xf8\x9e#J|\ -\x8f\xe4J7H(\xe5\x1d#\xb4x.\xb1\xeaF\xc6\ -y!\x1f\xa4\x99\x10\x92\xb1\xc6B\x119\x0c\x0c\xe4C\ -\x08\x8cE\xb2N\x00\x09\x1cD#\xec\x92\x94$>Q\ -\xc891!\xe4\xd1t\x95\xb2\xbc\x87\xcb\x10a\x1a\xc9\ -\xdcn\x04*\xe4 \x12\x00(hG8\x07\x99B\xf0\ -\xe2\x8e\x82{-d\xbc\x85\x932&M\x90\x06k5\ -\x80\x00\x82\x8f\xe0\xb0\x88L*\x0a\x04\x86\x83\x06\x11\x07\ -\xac.'\x14\x8a\xc5\xa1,\xc8\xc8*\x10\x88\x84\x1b!\ -\x00\x18\xbb\xec\x03$A\x0c\xa4\xe8\x89 \x05\xf9\x17\x96\ -\xcb\xa2\x8d\x09\x88\xb1\xf94i\xcb\xe1J!\x9c\xe8\xbf\ -7\x9e\xcf\xa7\xf4\x08\xbb\xfe\x87A\xa2\xd1\xa8\xf18\x14\ -\x0e\x11\x07\x9b\xc3@\x90\xf8\x8d\x22z\xda\xaa\x81\xdeU\ -\x86D aS\x82\xad\x86\x96\x02]v\x7f1hL\ -\xe6\xb4\x09\xcc\xee\xc7l\xb6\xcbho\xfbu\xca\xe7J\ -\x82A\xa7\xb4\xfa\x88\xc2%s\x89\xc6Y\x88xA\xe2\ -\xe7*4N\x86i\x9b\xecN\xcbg~M\xa7\xf6\xa1\ -\x9c\xf3\x15\x94\xae\xdc2\xb9\x8a\x0d\xd6\x99x\x87D/\ -y[\xf8>\x10\xeb\x84\x01r\x8e\x9c8jT\xfe\xca\ -\xe3&\x98\xebN\x1f'\x99\xda\xcf\xb2\xfbm\xcc_7\ -w\xa7g\xaaYFw\x08\x8a\xfe\xe2\xae\xb6\xd4\xf1>\ -}\xb5\xae\x99l1\xf3\xec\x8e\xd3u\xd4\x8an:\xbd\ -\x88.\xf0\x01M\x97\xdes\xf7\xccU\xfc\xa3\x08Wu\ -\x06v\x01\xa3;\x9bf\xe7\xec\xad}\x9f\x8c\x17\xaf\xf2\ -\xddv\xfb\xb2\xee\xff\x03\x14\xcf\xfe\x8c\x0f\xd8\x00\xcfm\ -\x80\x88\x10\x13\x0b s\xb9\xecc]\x04\xf5\xd2}_\ -\x17\xd2\x0fm_vuPx\x19U\xc0\x02R\x9c\xc4\ -\x14#e\x0b\xf7\xa4Bm\x9a\xf5\xa1\x90l\xe1'b\ -\x11\x8a\x19XQ\xbe\x85\x9f\xb6a\x7f\x15\x90\x82\xa5r\ -?\x008\xe0@\x0cc\xb3\x16#s\xa2WF'\x8a\ -\xdb\xa8\xaaC_b\xd7y\xbfh\x1dE\xfczB\x08\ -D\x81@>\x90\x81\x99\xe9(]X\x91\xb1\x89\x9f\x09\ -\x19\xb5\x91e\xd5\xbaH~d\xa7\x85\xd8R\x88e\xc0\ -yP\x06W\xa4\x9c|\xa5\x9817\x83\xa6\x06f_\ -\x9d\x169\x89-~\xa4\xb7eJ\x1d\x97\x02%@\x15\ -\x9e\x92\xaeo\x8f\xe5\xa9\x06\x5c\x9d\xd8\xa9\xda\x8bR'\ -\x94^{\x99]Y\xfa\x80\xa0\xa8J\x19\xed\x90 \xd9\ -\x0a\x8e_h\xdayE\xa4\x11jI\xf2\xa5T:\x05\ -?\xa0\xd6\x0a\x15\xf1\x9c\x1e\xf6J\xa1\xa7\xd4J\xc9l\ -\xa8\xd1Z\x95\xf1R\x85\xc5\xc0\xa3Oc\x80\x0c<\x8e\ -\xc3\x18\xf6\xae\xa1\xe7\x14\xbes\xadV\xda\x82\xcbOk\ -tR\xb9vMKP\x12>-sY\x08\x05\xd1s\ -V\x04\x02\x03(\x1c,\x94\xecjj\x88\xa7(\xab9\ -S\xb3n\x94\xba\xd0D\xed'\xd5\x7f\x0a\x11\xc4 )\ -J\x8c\xb0\x0a\xf9\x1d\xec3\x96(\xab\xe5\xba\xc6\xece\ -\xabL\x0a\xa2@\x97gr\x15^\xa9<\x16\xfe\xb1\xeb\ -\x07O\x0dPn\xbcII\xc1\xd9\xc8\xbb\x0b\xc5d;\ -\xfe\x89\xc0q\xb5\x03\x14\xc8\x10\x8b\xb9\x0b\xbc2;\x92\ -\x0b\xc42\x84\xff\x22\xca2T+'\xcb%\x8c?\x00\ -\xc4s5\x0b\x04\xce\x11\x5c\xc1\x09\xcc\xb3\xb8\xfa\xe5\xb2\ -\x12\xeb+@E\xb2\xec\x8dJ/\x90\x81\x05=J\x85\ -E\xc0\xf8\xd1\x9f\x10\x81\x08%4\xe4\x90\xa0I\xc3!\ -\x87S\xceW\x1dy\x0bR\xaa\xd0\x00T\xd8vt$\ -\x8da\xc7M\xa1\x13\xd22\x05(oB\x09\x0d\xb7h\ -\x14Xr\xc3uB\xb6\xfcl\xd8\xdf\x80\xd3\xd7\x81t\ -\x01\xfd\xeb,2\xd8p\xe9\x08K8W\xcf:\xda\x12\ -\xa0\x01\x7f\x88\x90R\xe1\xa6\xe3.\xc3\xd1*\x0d\x98s\ -_|\xca9\xecK\x90BVP\xc5\xb0\x95\xd0P\xb7\ -\x97\xa2\xcc \x1b\xad\x18B\xee\xc0\xdeBz\x0c\x83\xb4\ -\xea\xbb~\xe2\xe9\xed\xbb\x9e\xf3\xbd\x9d;\xbe\xfb\xc1\xf0\ -\x9f/\x03\xc3\xf1\xbcy\xd7\x8e\xf2<\xbf1\xf5\xf1|\ -\xdfC\xd1\xc8|\xafK\xd5\xf5\x96\xef?\xd7\xf6\xbd\xbf\ -g\xdb\xf7\xbd/w\xdf\xf8\xbc\xbf\x87\xe3\xf9\xbc/\x97\ -\xe7\xfa\xbb\x9f\xa7\xeb\xfb\xb8\xcf\xb7\xef\xfc\xb6\x8f\xc7\xf3\ -\xfd\xb4o\xd7\xf7\xfe\xb2\xc4\x04\x13\x00\xfe\x00\x04\x00\x01\ -\x00\x00\x00\x00\x00\x00\x00\x00\x01\x04\x00\x01\x00\x00\x00`\ -\x00\x00\x00\x01\x01\x04\x00\x01\x00\x00\x00`\x00\x00\x00\x02\ -\x01\x03\x00\x04\x00\x00\x00T\x09\x00\x00\x03\x01\x03\x00\x01\ -\x00\x00\x00\x05\x00\x00\x00\x06\x01\x03\x00\x01\x00\x00\x00\x02\ -\x00\x00\x00\x11\x01\x04\x00\x01\x00\x00\x00\x08\x00\x00\x00\x15\ -\x01\x03\x00\x01\x00\x00\x00\x04\x00\x00\x00\x16\x01\x04\x00\x01\ -\x00\x00\x00`\x00\x00\x00\x17\x01\x04\x00\x01\x00\x00\x00b\ -\x08\x00\x00\x1a\x01\x05\x00\x01\x00\x00\x00\x5c\x09\x00\x00\x1b\ -\x01\x05\x00\x01\x00\x00\x00d\x09\x00\x00\x1c\x01\x03\x00\x01\ -\x00\x00\x00\x01\x00\x00\x00(\x01\x03\x00\x01\x00\x00\x00\x02\ -\x00\x00\x001\x01\x02\x00\x10\x00\x00\x00l\x09\x00\x00=\ -\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\x00R\x01\x03\x00\x01\ -\x00\x00\x00\x02\x00\x00\x00S\x01\x03\x00\x04\x00\x00\x00|\ -\x09\x00\x00s\x87\x07\x00H\x0c\x00\x00\x84\x09\x00\x00\x00\ -\x00\x00\x00\x08\x00\x08\x00\x08\x00\x08\x00\x802\x02\x00\xe8\ -\x03\x00\x00\x802\x02\x00\xe8\x03\x00\x00paint\ -.net 4.0.9\x00\x01\x00\x01\x00\x01\ -\x00\x01\x00\x00\x00\x0cHLino\x02\x10\x00\x00m\ -ntrRGB XYZ \x07\xce\x00\x02\x00\ -\x09\x00\x06\x001\x00\x00acspMSFT\x00\ -\x00\x00\x00IEC sRGB\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf6\xd6\x00\x01\x00\x00\x00\ -\x00\xd3-HP \x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x11cprt\x00\x00\x01P\x00\ -\x00\x003desc\x00\x00\x01\x84\x00\x00\x00lw\ -tpt\x00\x00\x01\xf0\x00\x00\x00\x14bkpt\x00\ -\x00\x02\x04\x00\x00\x00\x14rXYZ\x00\x00\x02\x18\x00\ -\x00\x00\x14gXYZ\x00\x00\x02,\x00\x00\x00\x14b\ -XYZ\x00\x00\x02@\x00\x00\x00\x14dmnd\x00\ -\x00\x02T\x00\x00\x00pdmdd\x00\x00\x02\xc4\x00\ -\x00\x00\x88vued\x00\x00\x03L\x00\x00\x00\x86v\ -iew\x00\x00\x03\xd4\x00\x00\x00$lumi\x00\ -\x00\x03\xf8\x00\x00\x00\x14meas\x00\x00\x04\x0c\x00\ -\x00\x00$tech\x00\x00\x040\x00\x00\x00\x0cr\ -TRC\x00\x00\x04<\x00\x00\x08\x0cgTRC\x00\ -\x00\x04<\x00\x00\x08\x0cbTRC\x00\x00\x04<\x00\ -\x00\x08\x0ctext\x00\x00\x00\x00Copyr\ -ight (c) 1998 He\ -wlett-Packard Co\ -mpany\x00\x00desc\x00\x00\x00\x00\x00\ -\x00\x00\x12sRGB IEC61966\ --2.1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\ -sRGB IEC61966-2.\ -1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00XYZ \x00\x00\x00\x00\x00\x00\xf3Q\x00\ -\x01\x00\x00\x00\x01\x16\xccXYZ \x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00XYZ \x00\ -\x00\x00\x00\x00\x00o\xa2\x00\x008\xf5\x00\x00\x03\x90X\ -YZ \x00\x00\x00\x00\x00\x00b\x99\x00\x00\xb7\x85\x00\ -\x00\x18\xdaXYZ \x00\x00\x00\x00\x00\x00$\xa0\x00\ -\x00\x0f\x84\x00\x00\xb6\xcfdesc\x00\x00\x00\x00\x00\ -\x00\x00\x16IEC http://ww\ -w.iec.ch\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x16IEC http://w\ -ww.iec.ch\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00desc\x00\x00\x00\x00\x00\ -\x00\x00.IEC 61966-2.1\ - Default RGB col\ -our space - sRGB\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00.IEC \ -61966-2.1 Defaul\ -t RGB colour spa\ -ce - sRGB\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00d\ -esc\x00\x00\x00\x00\x00\x00\x00,Refer\ -ence Viewing Con\ -dition in IEC619\ -66-2.1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00,Reference View\ -ing Condition in\ - IEC61966-2.1\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00view\x00\x00\x00\x00\x00\ -\x13\xa4\xfe\x00\x14_.\x00\x10\xcf\x14\x00\x03\xed\xcc\x00\ -\x04\x13\x0b\x00\x03\x5c\x9e\x00\x00\x00\x01XYZ \x00\ -\x00\x00\x00\x00L\x09V\x00P\x00\x00\x00W\x1f\xe7m\ -eas\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x8f\x00\ -\x00\x00\x02sig \x00\x00\x00\x00CRT c\ -urv\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x05\x00\ -\x0a\x00\x0f\x00\x14\x00\x19\x00\x1e\x00#\x00(\x00-\x00\ -2\x007\x00;\x00@\x00E\x00J\x00O\x00T\x00\ -Y\x00^\x00c\x00h\x00m\x00r\x00w\x00|\x00\ -\x81\x00\x86\x00\x8b\x00\x90\x00\x95\x00\x9a\x00\x9f\x00\xa4\x00\ -\xa9\x00\xae\x00\xb2\x00\xb7\x00\xbc\x00\xc1\x00\xc6\x00\xcb\x00\ -\xd0\x00\xd5\x00\xdb\x00\xe0\x00\xe5\x00\xeb\x00\xf0\x00\xf6\x00\ -\xfb\x01\x01\x01\x07\x01\x0d\x01\x13\x01\x19\x01\x1f\x01%\x01\ -+\x012\x018\x01>\x01E\x01L\x01R\x01Y\x01\ -`\x01g\x01n\x01u\x01|\x01\x83\x01\x8b\x01\x92\x01\ -\x9a\x01\xa1\x01\xa9\x01\xb1\x01\xb9\x01\xc1\x01\xc9\x01\xd1\x01\ -\xd9\x01\xe1\x01\xe9\x01\xf2\x01\xfa\x02\x03\x02\x0c\x02\x14\x02\ -\x1d\x02&\x02/\x028\x02A\x02K\x02T\x02]\x02\ -g\x02q\x02z\x02\x84\x02\x8e\x02\x98\x02\xa2\x02\xac\x02\ -\xb6\x02\xc1\x02\xcb\x02\xd5\x02\xe0\x02\xeb\x02\xf5\x03\x00\x03\ -\x0b\x03\x16\x03!\x03-\x038\x03C\x03O\x03Z\x03\ -f\x03r\x03~\x03\x8a\x03\x96\x03\xa2\x03\xae\x03\xba\x03\ -\xc7\x03\xd3\x03\xe0\x03\xec\x03\xf9\x04\x06\x04\x13\x04 \x04\ --\x04;\x04H\x04U\x04c\x04q\x04~\x04\x8c\x04\ -\x9a\x04\xa8\x04\xb6\x04\xc4\x04\xd3\x04\xe1\x04\xf0\x04\xfe\x05\ -\x0d\x05\x1c\x05+\x05:\x05I\x05X\x05g\x05w\x05\ -\x86\x05\x96\x05\xa6\x05\xb5\x05\xc5\x05\xd5\x05\xe5\x05\xf6\x06\ -\x06\x06\x16\x06'\x067\x06H\x06Y\x06j\x06{\x06\ -\x8c\x06\x9d\x06\xaf\x06\xc0\x06\xd1\x06\xe3\x06\xf5\x07\x07\x07\ -\x19\x07+\x07=\x07O\x07a\x07t\x07\x86\x07\x99\x07\ -\xac\x07\xbf\x07\xd2\x07\xe5\x07\xf8\x08\x0b\x08\x1f\x082\x08\ -F\x08Z\x08n\x08\x82\x08\x96\x08\xaa\x08\xbe\x08\xd2\x08\ -\xe7\x08\xfb\x09\x10\x09%\x09:\x09O\x09d\x09y\x09\ -\x8f\x09\xa4\x09\xba\x09\xcf\x09\xe5\x09\xfb\x0a\x11\x0a'\x0a\ -=\x0aT\x0aj\x0a\x81\x0a\x98\x0a\xae\x0a\xc5\x0a\xdc\x0a\ -\xf3\x0b\x0b\x0b\x22\x0b9\x0bQ\x0bi\x0b\x80\x0b\x98\x0b\ -\xb0\x0b\xc8\x0b\xe1\x0b\xf9\x0c\x12\x0c*\x0cC\x0c\x5c\x0c\ -u\x0c\x8e\x0c\xa7\x0c\xc0\x0c\xd9\x0c\xf3\x0d\x0d\x0d&\x0d\ -@\x0dZ\x0dt\x0d\x8e\x0d\xa9\x0d\xc3\x0d\xde\x0d\xf8\x0e\ -\x13\x0e.\x0eI\x0ed\x0e\x7f\x0e\x9b\x0e\xb6\x0e\xd2\x0e\ -\xee\x0f\x09\x0f%\x0fA\x0f^\x0fz\x0f\x96\x0f\xb3\x0f\ -\xcf\x0f\xec\x10\x09\x10&\x10C\x10a\x10~\x10\x9b\x10\ -\xb9\x10\xd7\x10\xf5\x11\x13\x111\x11O\x11m\x11\x8c\x11\ -\xaa\x11\xc9\x11\xe8\x12\x07\x12&\x12E\x12d\x12\x84\x12\ -\xa3\x12\xc3\x12\xe3\x13\x03\x13#\x13C\x13c\x13\x83\x13\ -\xa4\x13\xc5\x13\xe5\x14\x06\x14'\x14I\x14j\x14\x8b\x14\ -\xad\x14\xce\x14\xf0\x15\x12\x154\x15V\x15x\x15\x9b\x15\ -\xbd\x15\xe0\x16\x03\x16&\x16I\x16l\x16\x8f\x16\xb2\x16\ -\xd6\x16\xfa\x17\x1d\x17A\x17e\x17\x89\x17\xae\x17\xd2\x17\ -\xf7\x18\x1b\x18@\x18e\x18\x8a\x18\xaf\x18\xd5\x18\xfa\x19\ - \x19E\x19k\x19\x91\x19\xb7\x19\xdd\x1a\x04\x1a*\x1a\ -Q\x1aw\x1a\x9e\x1a\xc5\x1a\xec\x1b\x14\x1b;\x1bc\x1b\ -\x8a\x1b\xb2\x1b\xda\x1c\x02\x1c*\x1cR\x1c{\x1c\xa3\x1c\ -\xcc\x1c\xf5\x1d\x1e\x1dG\x1dp\x1d\x99\x1d\xc3\x1d\xec\x1e\ -\x16\x1e@\x1ej\x1e\x94\x1e\xbe\x1e\xe9\x1f\x13\x1f>\x1f\ -i\x1f\x94\x1f\xbf\x1f\xea \x15 A l \x98 \ -\xc4 \xf0!\x1c!H!u!\xa1!\xce!\xfb\x22\ -'\x22U\x22\x82\x22\xaf\x22\xdd#\x0a#8#f#\ -\x94#\xc2#\xf0$\x1f$M$|$\xab$\xda%\ -\x09%8%h%\x97%\xc7%\xf7&'&W&\ -\x87&\xb7&\xe8'\x18'I'z'\xab'\xdc(\ -\x0d(?(q(\xa2(\xd4)\x06)8)k)\ -\x9d)\xd0*\x02*5*h*\x9b*\xcf+\x02+\ -6+i+\x9d+\xd1,\x05,9,n,\xa2,\ -\xd7-\x0c-A-v-\xab-\xe1.\x16.L.\ -\x82.\xb7.\xee/$/Z/\x91/\xc7/\xfe0\ -50l0\xa40\xdb1\x121J1\x821\xba1\ -\xf22*2c2\x9b2\xd43\x0d3F3\x7f3\ -\xb83\xf14+4e4\x9e4\xd85\x135M5\ -\x875\xc25\xfd676r6\xae6\xe97$7\ -`7\x9c7\xd78\x148P8\x8c8\xc89\x059\ -B9\x7f9\xbc9\xf9:6:t:\xb2:\xef;\ --;k;\xaa;\xe8<' >`>\xa0>\xe0?\ -!?a?\xa2?\xe2@#@d@\xa6@\xe7A\ -)AjA\xacA\xeeB0BrB\xb5B\xf7C\ -:C}C\xc0D\x03DGD\x8aD\xceE\x12E\ -UE\x9aE\xdeF\x22FgF\xabF\xf0G5G\ -{G\xc0H\x05HKH\x91H\xd7I\x1dIcI\ -\xa9I\xf0J7J}J\xc4K\x0cKSK\x9aK\ -\xe2L*LrL\xbaM\x02MJM\x93M\xdcN\ -%NnN\xb7O\x00OIO\x93O\xddP'P\ -qP\xbbQ\x06QPQ\x9bQ\xe6R1R|R\ -\xc7S\x13S_S\xaaS\xf6TBT\x8fT\xdbU\ -(UuU\xc2V\x0fV\x5cV\xa9V\xf7WDW\ -\x92W\xe0X/X}X\xcbY\x1aYiY\xb8Z\ -\x07ZVZ\xa6Z\xf5[E[\x95[\xe5\x5c5\x5c\ -\x86\x5c\xd6]']x]\xc9^\x1a^l^\xbd_\ -\x0f_a_\xb3`\x05`W`\xaa`\xfcaOa\ -\xa2a\xf5bIb\x9cb\xf0cCc\x97c\xebd\ -@d\x94d\xe9e=e\x92e\xe7f=f\x92f\ -\xe8g=g\x93g\xe9h?h\x96h\xeciCi\ -\x9ai\xf1jHj\x9fj\xf7kOk\xa7k\xffl\ -Wl\xafm\x08m`m\xb9n\x12nkn\xc4o\ -\x1eoxo\xd1p+p\x86p\xe0q:q\x95q\ -\xf0rKr\xa6s\x01s]s\xb8t\x14tpt\ -\xccu(u\x85u\xe1v>v\x9bv\xf8wVw\ -\xb3x\x11xnx\xccy*y\x89y\xe7zFz\ -\xa5{\x04{c{\xc2|!|\x81|\xe1}A}\ -\xa1~\x01~b~\xc2\x7f#\x7f\x84\x7f\xe5\x80G\x80\ -\xa8\x81\x0a\x81k\x81\xcd\x820\x82\x92\x82\xf4\x83W\x83\ -\xba\x84\x1d\x84\x80\x84\xe3\x85G\x85\xab\x86\x0e\x86r\x86\ -\xd7\x87;\x87\x9f\x88\x04\x88i\x88\xce\x893\x89\x99\x89\ -\xfe\x8ad\x8a\xca\x8b0\x8b\x96\x8b\xfc\x8cc\x8c\xca\x8d\ -1\x8d\x98\x8d\xff\x8ef\x8e\xce\x8f6\x8f\x9e\x90\x06\x90\ -n\x90\xd6\x91?\x91\xa8\x92\x11\x92z\x92\xe3\x93M\x93\ -\xb6\x94 \x94\x8a\x94\xf4\x95_\x95\xc9\x964\x96\x9f\x97\ -\x0a\x97u\x97\xe0\x98L\x98\xb8\x99$\x99\x90\x99\xfc\x9a\ -h\x9a\xd5\x9bB\x9b\xaf\x9c\x1c\x9c\x89\x9c\xf7\x9dd\x9d\ -\xd2\x9e@\x9e\xae\x9f\x1d\x9f\x8b\x9f\xfa\xa0i\xa0\xd8\xa1\ -G\xa1\xb6\xa2&\xa2\x96\xa3\x06\xa3v\xa3\xe6\xa4V\xa4\ -\xc7\xa58\xa5\xa9\xa6\x1a\xa6\x8b\xa6\xfd\xa7n\xa7\xe0\xa8\ -R\xa8\xc4\xa97\xa9\xa9\xaa\x1c\xaa\x8f\xab\x02\xabu\xab\ -\xe9\xac\x5c\xac\xd0\xadD\xad\xb8\xae-\xae\xa1\xaf\x16\xaf\ -\x8b\xb0\x00\xb0u\xb0\xea\xb1`\xb1\xd6\xb2K\xb2\xc2\xb3\ -8\xb3\xae\xb4%\xb4\x9c\xb5\x13\xb5\x8a\xb6\x01\xb6y\xb6\ -\xf0\xb7h\xb7\xe0\xb8Y\xb8\xd1\xb9J\xb9\xc2\xba;\xba\ -\xb5\xbb.\xbb\xa7\xbc!\xbc\x9b\xbd\x15\xbd\x8f\xbe\x0a\xbe\ -\x84\xbe\xff\xbfz\xbf\xf5\xc0p\xc0\xec\xc1g\xc1\xe3\xc2\ -_\xc2\xdb\xc3X\xc3\xd4\xc4Q\xc4\xce\xc5K\xc5\xc8\xc6\ -F\xc6\xc3\xc7A\xc7\xbf\xc8=\xc8\xbc\xc9:\xc9\xb9\xca\ -8\xca\xb7\xcb6\xcb\xb6\xcc5\xcc\xb5\xcd5\xcd\xb5\xce\ -6\xce\xb6\xcf7\xcf\xb8\xd09\xd0\xba\xd1<\xd1\xbe\xd2\ -?\xd2\xc1\xd3D\xd3\xc6\xd4I\xd4\xcb\xd5N\xd5\xd1\xd6\ -U\xd6\xd8\xd7\x5c\xd7\xe0\xd8d\xd8\xe8\xd9l\xd9\xf1\xda\ -v\xda\xfb\xdb\x80\xdc\x05\xdc\x8a\xdd\x10\xdd\x96\xde\x1c\xde\ -\xa2\xdf)\xdf\xaf\xe06\xe0\xbd\xe1D\xe1\xcc\xe2S\xe2\ -\xdb\xe3c\xe3\xeb\xe4s\xe4\xfc\xe5\x84\xe6\x0d\xe6\x96\xe7\ -\x1f\xe7\xa9\xe82\xe8\xbc\xe9F\xe9\xd0\xea[\xea\xe5\xeb\ -p\xeb\xfb\xec\x86\xed\x11\xed\x9c\xee(\xee\xb4\xef@\xef\ -\xcc\xf0X\xf0\xe5\xf1r\xf1\xff\xf2\x8c\xf3\x19\xf3\xa7\xf4\ -4\xf4\xc2\xf5P\xf5\xde\xf6m\xf6\xfb\xf7\x8a\xf8\x19\xf8\ -\xa8\xf98\xf9\xc7\xfaW\xfa\xe7\xfbw\xfc\x07\xfc\x98\xfd\ -)\xfd\xba\xfeK\xfe\xdc\xffm\xff\xff\ -\x00\x00\x03\xae\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a \x0d\x0a \ - icon / o\ -utliner / entity\ - / Default - Upd\ -ated\x0d\x0a \ - Created \ -with Sketch.\x0d\x0a <\ -/defs>\x0d\x0a \ -\x0d\x0a \x0d\x0a <\ -/g>\x0d\x0a\x0d\x0a\ -\x00\x00\x04\x8d\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a \x0d\x0a \ - icon / o\ -utliner / entity\ - / error / Not \ -active \x0d\ -\x0a Creat\ -ed with Sketch.<\ -/desc>\x0d\x0a \x0d\x0a \x0d\x0a \x0d\x0a\x0d\x0a\ -\x00\x00\x04s\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a \x0d\x0a \ - icon / o\ -utliner / entity\ - / Editor only \ -- Updated\x0d\x0a Cre\ -ated with Sketch\ -.\x0d\x0a \x0d\x0a \ - \x0d\x0a \ - \x0d\x0a\ - \x0d\x0a\ -\x0d\x0a\ -\x00\x00\x15\x0a\ -I\ -I*\x00\xa8\x07\x00\x00\x80?\xe0@\x08$\x16\x0d\x07\ -\x84BaP\xb8d6\x1d\x0f\x88DbQ8\xa4V\ --\x17\x8cFcQ\xb8\xe4v\x0b\x02\x7f\xc7\xa4R9\ -$\x96M'\x94JeR\xb8\xa4\x82Y/\x98Lf\ -S9\xa4\xd6a.\x9bNgS\xb9\xe4\xf6}#\x9c\ -O\xe8T:%\x16\x8d/\xa0\xd1\xe9T\xbae6\x9d\ -\x1f\x81\xd3\xeaU:\xa5V\x91Q\xabVkU\xba\xe4\ -B\x93]\xb0XlU*\xfd\x8e\xcdg\xb4N\xec\xb6\ -\x9be\xb6\xdd&\xb5\xdb\xeeW;\xa4J\xe3u\xbc^\ -o7{\xd5\xf6\xfdi\xbe_\xf0X:\xde\x07\x09\x87\ -\xc4Sp\xd6`\x0e6\xb5 \x05\xc1E0P\xcc\x14\ -5\x05\x09A]pW6r\x0a\xd6\xc6\x80_U\x9c\ -^\x02\xb1s\xd0\xd2\xa4\x01H)B\x0aO\x82\x91 \ -\xa0\x88\xeb\xce\x0a\xb7\x82\xac`\xab-\x0b\xd2\x8f\xa5\xb4\ -p,:\x99\xec\x80\x19\x059\xc1N\x90^<\xed\xd9\ -\x05A\xc1S\x1a\x1d\x1c\xf3\x85f\xeb\xd7x\x93i\x01\ -b\x0a\x90\x82\x85\xeaM\xe8)\x9bB\xbd\x9c\xf6l^\ -\xaa\xdfnW \x01AP\xb0S\xc5\x89\xf9\x058\xe8\ -R\x93?e\x83\xfa\xac\xbd\xcb\x82\x04\x03 \xa5Z\x0a\ -'.\x84\xb3B5\xaa\xe9\x0a\xfa\xff\xaa\xd0\x0aJ\x90\ -\x13\x88(\xc6\x94\x1c\xa8)\x9c\x82\x9dH)\xe2\xcc<\ -((j\x82\xb5\x898\xf8\xd0\xbeiD \xc2\xb4\xeb\ -\x94$\x8e\xa4\x03{\xbe\x8e\x9d\xc8)*\x82\x94\xcd\x09\ -\xb0\x8b$\x00\x0a\x0a\x18 \xa3\x04,\x82\xb2(\xc4\x1c\ -\x00\x0aM\x09a\x09\xc5\xab\xacV\xaaE\xf22\x04\x16\ -\xa0\xa6z\x0a\x01\xa2\xb29\x1c\x82\x8f\xed\x09\xeb\x06\x82\ -q\x9a\x08.#-\xb2\x08\x1240\xeca&\xae\x92\ -z\xa7(\xa2\xe9\x01j\x82\x89H\xac\xbe\x82\x0a-\x09\ -v\xa1\xa4\x02\xf2\x0aOJ\xe8\xa9*\xd0\x8d\x88\xf4\xdc\ -\xabP\xea|\xe0\xbb B\x02\x0a_\xa2\xa7\xc4\xe8\xd0\ -\xd2\x0ab@-\xa0\xa5\x12\x0a\xf8\xa2\x07\xda\x0a\x154\ -&\xe25D\xaa\x95\x22\x9bE\xa2)\x01h\x82\x89h\ -\xa8\xe8\xd0\x91\xad\x22\x04\xfd\xa0\x90b(J4#m\ -G6.u2\x99T!\x8e2\x0a\xe7\xa0\x80:\x22\ -i\xa0\xa1\x8bB~\xd6G\xf8\x1a\x82\xd4H ,\x88\ -\x9cm\x08=]\xc8\xeb\xddx\xb6X\x08Z@)\xa0\ -\xa5b*74$\x9a\xc6\x90Kh \xe2\x8a\x86m\ -\x0c7,\xdbk}|\xa5\xdb\xa8R@L\xbc\xa8\xa8\ -4\xd0\x9c\xf7:\x04\x1d \xa6**<4$Ly\ -x\xad\xd7\x9a\x95z\xa1)\x01l\x82\x89(\x89\xea\xd0\ -\xb9\xab:@\x0a\xc3\x88\xac\x14\xc6\xd6\xc9n\x10\xb6\xe1\ -J>\x18\x84$\x06\x82\x0a\x17\xa2&\xdbB\x13^H\ -\x15<\x82\x00\x88\x89`\xd0\x8a8=\xb2\xbcd*6\ -F\x83\xa4\x13P\x01\x8c\x22\x06\xc3B\xc9\xe1(\x15%\ -b\xa2&KB\x1cf\xcb\xf6r\xa2\xe7h2@\xdf\ - \x92*\x1f\xa11\xba&A\xa3 \xb62 j4\ -2\xa5\xe1\x9b\xc9\xd8\xfb\x18\xc7f\xda\xa0\x01\xab!\xda\ -\xc0\x03\xad-\x89\x06\x8e\x00k\xc8~\xc0\xc6\xecX\xf6\ -\xc96\xec\xcb\x1e\xa2\xa8\x1f\xfbV\xd8\x86\xed\xdb\x83L\ -\x7f\xee{\xaa\x1d\xbb\x80;\xca'\xa7\xb5[\xea\xc5\xbf\ -\xa0\x9a\x9c\x88\x88\xf0\xb9o\x11\xae\xa2\x9aJ\x80\xf0fD\x18aE\ -\x81\xad\xa4d\xbal\xdaU,\x81\xcb\xa6\xd3\x18\x1c\xce\ -\xa5\x5c\xae\xceb\xb5\xeb\x0d\x8a\x0d@\x00Af\xd40\ -\x0c:\xc7\x09\x95!\xe0\xc7\x8b`\x00\xd1#L\xdc\xa1\ -\x15Il\xde\xb2\x00\xad\xdd\xef\xf3\xb9\xd6\x03\x076\xb2\ -\xd9\xe6\xb6\x9b]\xb2T\x0f\x83:\xe0\xc0[\x93\xa6\x0c\ -\x1a\x91\xbf\xae\xf7\x9a\xb5\xeee\x84\xce\xcb\xf0Y\xed\x0c\ -G\x0dB\x91\xe2\xacr\xa2,\x19u\xa1\x13\xc8\xdbY\ -\x88\xadT\x01W\x9a\xdf/\xda-\xccR\xc1\xba\xde\xc0\ -\xf4\x96\x8d6\xc5\xfeQ\x83+\xb4#9\x1b;\x87\xb3\ -\xda\xcd6\xfb\xed\xf6\x83\xa3\xa2\xe0b8W)U2\ -\x06\xcf\xd0\x84\xe4n\xeee\xea\xb1\x9c\xeanz~l\ -\xefZi\x89\xe1\x80\xa0\xdb\x08\x18\x8e\xe4\xbf\x91\x90\xb0\ -\x99\x9d\xa6n\xb5\xe9\xd1z\x1f\xd6\x01\xebK\xde\xd6\x0d\ -*\x15\x90b\xa5aIP1\x01#1_\x86\xc9\xe3\ -m\x9eX\x02\x10?\xe1W\xa9\x06a\xde\xc7a\x9eJ\ -\x87\xa4\x18\x84G\x13s\xe9\x06\x19\x922\x85\xfe\x84Y\ -\xa7\x91\xfc\x86 V\xf2/_\xe0$\xa2\x04n\x92\xa2\ -\x19\x06\x1eSq\x95#'\x1d(\xad\xfa\x8bW\xd8\xc9\ -\x80\x7f\xe4U\x864I\xe3g\x9d\x15\x1d\x90b%7\ -\x15\x922\xae@J\xe1'>\x14\x92\x1a\x88\xc6[X\ -\xa4\xa4\x9aL\x8a\x8f\xf9=\x03\x94SiM\x0c\x95[\ -\xd7\xe5\xceK\xdd\x09z\x5c\x85\xe7\x19~\x1aiTI\ -\xb2N\x94%)RVs_\xb9\x12tXdz\x09\ ->\x98\x119\x89\xa1J\x85\xc4\x18\xa3M\xc3\xc8:~\ -\x96&\xf9j\x85ShJY;\xa1\xd1*&\x1eE\ -A$\x18\xd6A\x81tL\xd5A\x83$\x8e%\x9ee\ -x\xb2\x13\x8b\xa9\x9a^]\xac\x13\xdam\x11\xa7d\xd3\ -\xfc(F\x10`\xa5\x062\xd0a\xdd#9^\x99\xb6\ -\x80n+4\xf2\x98\xb2\x13J\xd5\x10\xad\xec\xbaJ\xad\ -\x96j\xfbA8\xb2\xadT\x9a\xcdC\xec\xfbbc\x9f\ -\xe4;\x1e\xddg\xeb+\x89(\xb6\x90\x9br\xe5\x85\xad\ -\xfa\xba\x81\xba\xae9\xce\xef\xb9\xa7g\x06x\xbc\xab\x8b\ -\xb2\xd3\xbb\xafu~\xf1\xbf\x13\xfb\xd1\xd7\xbd\xaf\xf6v\ -\xc5\xb80K\xf7\x08D\x8b\xe4\x18AM\xc5D\x18\xf8\ -\xc2\x9a \x81\x06%\x13r\x81\x06\x18q4\xa6\xe4\xc7\ -\x00\x09\xac\x00\xc41\xfcL\x8dA\x87L\x91x\xc7\xb1\ -\xc1\xbd\x06$2\x9c)\xc5@\xcb\x0c\xc1\x06\xb5\xf0@\ -6\x12\x07\xf3[\x8a\xbf@\xc3\xa4\x1a\x0b\xcds{\xc9\ -#\x00\x12\xa7\xdd\x03.\x19\x0c\xf2\x99=\x10`\xd9#\ -5\xf4K\xffT\xba\xb4f\xec\xff\x0cPh\xa5\x03\x0b\ -t\xd9\x14\xc2\xc6\x923{Y\xd85m\x83i\xda\xac\ -\xbd\xa3k\xdb\xb6\xf9{m\xdc7=\xd2\xc4\xca\xf7]\ -\xe3y\xdd\xaf\xed\xeb}\xdf\xaa\xbd\xff\x81\xe0\xa9\xed\xf3\ -\x83\xe1\xb8usr\xe28\xbe1m\xdd\xf8\xdeC\x91\ -\xe3\xb8^K\x95\xe5\xb8\xae[\x99\xde\xb9\x8ek\x9d\xdc\ -\xf9\xce{\xa1\xda\xba\x0e\x8b\xa5\xd0\xf8\xfe\x9b\xa9\xdb\xfa\ -N\xab\xad\xc1\x10\x10\x00\x13\x00\xfe\x00\x04\x00\x01\x00\x00\ -\x00\x00\x00\x00\x00\x00\x01\x04\x00\x01\x00\x00\x00`\x00\x00\ -\x00\x01\x01\x04\x00\x01\x00\x00\x00`\x00\x00\x00\x02\x01\x03\ -\x00\x04\x00\x00\x00\x92\x08\x00\x00\x03\x01\x03\x00\x01\x00\x00\ -\x00\x05\x00\x00\x00\x06\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\ -\x00\x11\x01\x04\x00\x01\x00\x00\x00\x08\x00\x00\x00\x15\x01\x03\ -\x00\x01\x00\x00\x00\x04\x00\x00\x00\x16\x01\x04\x00\x01\x00\x00\ -\x00`\x00\x00\x00\x17\x01\x04\x00\x01\x00\x00\x00\x9f\x07\x00\ -\x00\x1a\x01\x05\x00\x01\x00\x00\x00\x9a\x08\x00\x00\x1b\x01\x05\ -\x00\x01\x00\x00\x00\xa2\x08\x00\x00\x1c\x01\x03\x00\x01\x00\x00\ -\x00\x01\x00\x00\x00(\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\ -\x001\x01\x02\x00\x10\x00\x00\x00\xaa\x08\x00\x00=\x01\x03\ -\x00\x01\x00\x00\x00\x02\x00\x00\x00R\x01\x03\x00\x01\x00\x00\ -\x00\x02\x00\x00\x00S\x01\x03\x00\x04\x00\x00\x00\xba\x08\x00\ -\x00s\x87\x07\x00H\x0c\x00\x00\xc2\x08\x00\x00\x00\x00\x00\ -\x00\x08\x00\x08\x00\x08\x00\x08\x00\x802\x02\x00\xe8\x03\x00\ -\x00\x802\x02\x00\xe8\x03\x00\x00paint.n\ -et 4.0.9\x00\x01\x00\x01\x00\x01\x00\x01\ -\x00\x00\x00\x0cHLino\x02\x10\x00\x00mnt\ -rRGB XYZ \x07\xce\x00\x02\x00\x09\x00\ -\x06\x001\x00\x00acspMSFT\x00\x00\x00\ -\x00IEC sRGB\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\xf6\xd6\x00\x01\x00\x00\x00\x00\xd3\ --HP \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x11cprt\x00\x00\x01P\x00\x00\x00\ -3desc\x00\x00\x01\x84\x00\x00\x00lwtp\ -t\x00\x00\x01\xf0\x00\x00\x00\x14bkpt\x00\x00\x02\ -\x04\x00\x00\x00\x14rXYZ\x00\x00\x02\x18\x00\x00\x00\ -\x14gXYZ\x00\x00\x02,\x00\x00\x00\x14bXY\ -Z\x00\x00\x02@\x00\x00\x00\x14dmnd\x00\x00\x02\ -T\x00\x00\x00pdmdd\x00\x00\x02\xc4\x00\x00\x00\ -\x88vued\x00\x00\x03L\x00\x00\x00\x86vie\ -w\x00\x00\x03\xd4\x00\x00\x00$lumi\x00\x00\x03\ -\xf8\x00\x00\x00\x14meas\x00\x00\x04\x0c\x00\x00\x00\ -$tech\x00\x00\x040\x00\x00\x00\x0crTR\ -C\x00\x00\x04<\x00\x00\x08\x0cgTRC\x00\x00\x04\ -<\x00\x00\x08\x0cbTRC\x00\x00\x04<\x00\x00\x08\ -\x0ctext\x00\x00\x00\x00Copyrig\ -ht (c) 1998 Hewl\ -ett-Packard Comp\ -any\x00\x00desc\x00\x00\x00\x00\x00\x00\x00\ -\x12sRGB IEC61966-2\ -.1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12sR\ -GB IEC61966-2.1\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00XYZ \x00\x00\x00\x00\x00\x00\xf3Q\x00\x01\x00\ -\x00\x00\x01\x16\xccXYZ \x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00XYZ \x00\x00\x00\ -\x00\x00\x00o\xa2\x00\x008\xf5\x00\x00\x03\x90XYZ\ - \x00\x00\x00\x00\x00\x00b\x99\x00\x00\xb7\x85\x00\x00\x18\ -\xdaXYZ \x00\x00\x00\x00\x00\x00$\xa0\x00\x00\x0f\ -\x84\x00\x00\xb6\xcfdesc\x00\x00\x00\x00\x00\x00\x00\ -\x16IEC http://www.\ -iec.ch\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x16IEC http://www\ -.iec.ch\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00desc\x00\x00\x00\x00\x00\x00\x00\ -.IEC 61966-2.1 D\ -efault RGB colou\ -r space - sRGB\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00.IEC 61\ -966-2.1 Default \ -RGB colour space\ - - sRGB\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00des\ -c\x00\x00\x00\x00\x00\x00\x00,Referen\ -ce Viewing Condi\ -tion in IEC61966\ --2.1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00,\ -Reference Viewin\ -g Condition in I\ -EC61966-2.1\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00view\x00\x00\x00\x00\x00\x13\xa4\ -\xfe\x00\x14_.\x00\x10\xcf\x14\x00\x03\xed\xcc\x00\x04\x13\ -\x0b\x00\x03\x5c\x9e\x00\x00\x00\x01XYZ \x00\x00\x00\ -\x00\x00L\x09V\x00P\x00\x00\x00W\x1f\xe7mea\ -s\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x8f\x00\x00\x00\ -\x02sig \x00\x00\x00\x00CRT cur\ -v\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x05\x00\x0a\x00\ -\x0f\x00\x14\x00\x19\x00\x1e\x00#\x00(\x00-\x002\x00\ -7\x00;\x00@\x00E\x00J\x00O\x00T\x00Y\x00\ -^\x00c\x00h\x00m\x00r\x00w\x00|\x00\x81\x00\ -\x86\x00\x8b\x00\x90\x00\x95\x00\x9a\x00\x9f\x00\xa4\x00\xa9\x00\ -\xae\x00\xb2\x00\xb7\x00\xbc\x00\xc1\x00\xc6\x00\xcb\x00\xd0\x00\ -\xd5\x00\xdb\x00\xe0\x00\xe5\x00\xeb\x00\xf0\x00\xf6\x00\xfb\x01\ -\x01\x01\x07\x01\x0d\x01\x13\x01\x19\x01\x1f\x01%\x01+\x01\ -2\x018\x01>\x01E\x01L\x01R\x01Y\x01`\x01\ -g\x01n\x01u\x01|\x01\x83\x01\x8b\x01\x92\x01\x9a\x01\ -\xa1\x01\xa9\x01\xb1\x01\xb9\x01\xc1\x01\xc9\x01\xd1\x01\xd9\x01\ -\xe1\x01\xe9\x01\xf2\x01\xfa\x02\x03\x02\x0c\x02\x14\x02\x1d\x02\ -&\x02/\x028\x02A\x02K\x02T\x02]\x02g\x02\ -q\x02z\x02\x84\x02\x8e\x02\x98\x02\xa2\x02\xac\x02\xb6\x02\ -\xc1\x02\xcb\x02\xd5\x02\xe0\x02\xeb\x02\xf5\x03\x00\x03\x0b\x03\ -\x16\x03!\x03-\x038\x03C\x03O\x03Z\x03f\x03\ -r\x03~\x03\x8a\x03\x96\x03\xa2\x03\xae\x03\xba\x03\xc7\x03\ -\xd3\x03\xe0\x03\xec\x03\xf9\x04\x06\x04\x13\x04 \x04-\x04\ -;\x04H\x04U\x04c\x04q\x04~\x04\x8c\x04\x9a\x04\ -\xa8\x04\xb6\x04\xc4\x04\xd3\x04\xe1\x04\xf0\x04\xfe\x05\x0d\x05\ -\x1c\x05+\x05:\x05I\x05X\x05g\x05w\x05\x86\x05\ -\x96\x05\xa6\x05\xb5\x05\xc5\x05\xd5\x05\xe5\x05\xf6\x06\x06\x06\ -\x16\x06'\x067\x06H\x06Y\x06j\x06{\x06\x8c\x06\ -\x9d\x06\xaf\x06\xc0\x06\xd1\x06\xe3\x06\xf5\x07\x07\x07\x19\x07\ -+\x07=\x07O\x07a\x07t\x07\x86\x07\x99\x07\xac\x07\ -\xbf\x07\xd2\x07\xe5\x07\xf8\x08\x0b\x08\x1f\x082\x08F\x08\ -Z\x08n\x08\x82\x08\x96\x08\xaa\x08\xbe\x08\xd2\x08\xe7\x08\ -\xfb\x09\x10\x09%\x09:\x09O\x09d\x09y\x09\x8f\x09\ -\xa4\x09\xba\x09\xcf\x09\xe5\x09\xfb\x0a\x11\x0a'\x0a=\x0a\ -T\x0aj\x0a\x81\x0a\x98\x0a\xae\x0a\xc5\x0a\xdc\x0a\xf3\x0b\ -\x0b\x0b\x22\x0b9\x0bQ\x0bi\x0b\x80\x0b\x98\x0b\xb0\x0b\ -\xc8\x0b\xe1\x0b\xf9\x0c\x12\x0c*\x0cC\x0c\x5c\x0cu\x0c\ -\x8e\x0c\xa7\x0c\xc0\x0c\xd9\x0c\xf3\x0d\x0d\x0d&\x0d@\x0d\ -Z\x0dt\x0d\x8e\x0d\xa9\x0d\xc3\x0d\xde\x0d\xf8\x0e\x13\x0e\ -.\x0eI\x0ed\x0e\x7f\x0e\x9b\x0e\xb6\x0e\xd2\x0e\xee\x0f\ -\x09\x0f%\x0fA\x0f^\x0fz\x0f\x96\x0f\xb3\x0f\xcf\x0f\ -\xec\x10\x09\x10&\x10C\x10a\x10~\x10\x9b\x10\xb9\x10\ -\xd7\x10\xf5\x11\x13\x111\x11O\x11m\x11\x8c\x11\xaa\x11\ -\xc9\x11\xe8\x12\x07\x12&\x12E\x12d\x12\x84\x12\xa3\x12\ -\xc3\x12\xe3\x13\x03\x13#\x13C\x13c\x13\x83\x13\xa4\x13\ -\xc5\x13\xe5\x14\x06\x14'\x14I\x14j\x14\x8b\x14\xad\x14\ -\xce\x14\xf0\x15\x12\x154\x15V\x15x\x15\x9b\x15\xbd\x15\ -\xe0\x16\x03\x16&\x16I\x16l\x16\x8f\x16\xb2\x16\xd6\x16\ -\xfa\x17\x1d\x17A\x17e\x17\x89\x17\xae\x17\xd2\x17\xf7\x18\ -\x1b\x18@\x18e\x18\x8a\x18\xaf\x18\xd5\x18\xfa\x19 \x19\ -E\x19k\x19\x91\x19\xb7\x19\xdd\x1a\x04\x1a*\x1aQ\x1a\ -w\x1a\x9e\x1a\xc5\x1a\xec\x1b\x14\x1b;\x1bc\x1b\x8a\x1b\ -\xb2\x1b\xda\x1c\x02\x1c*\x1cR\x1c{\x1c\xa3\x1c\xcc\x1c\ -\xf5\x1d\x1e\x1dG\x1dp\x1d\x99\x1d\xc3\x1d\xec\x1e\x16\x1e\ -@\x1ej\x1e\x94\x1e\xbe\x1e\xe9\x1f\x13\x1f>\x1fi\x1f\ -\x94\x1f\xbf\x1f\xea \x15 A l \x98 \xc4 \ -\xf0!\x1c!H!u!\xa1!\xce!\xfb\x22'\x22\ -U\x22\x82\x22\xaf\x22\xdd#\x0a#8#f#\x94#\ -\xc2#\xf0$\x1f$M$|$\xab$\xda%\x09%\ -8%h%\x97%\xc7%\xf7&'&W&\x87&\ -\xb7&\xe8'\x18'I'z'\xab'\xdc(\x0d(\ -?(q(\xa2(\xd4)\x06)8)k)\x9d)\ -\xd0*\x02*5*h*\x9b*\xcf+\x02+6+\ -i+\x9d+\xd1,\x05,9,n,\xa2,\xd7-\ -\x0c-A-v-\xab-\xe1.\x16.L.\x82.\ -\xb7.\xee/$/Z/\x91/\xc7/\xfe050\ -l0\xa40\xdb1\x121J1\x821\xba1\xf22\ -*2c2\x9b2\xd43\x0d3F3\x7f3\xb83\ -\xf14+4e4\x9e4\xd85\x135M5\x875\ -\xc25\xfd676r6\xae6\xe97$7`7\ -\x9c7\xd78\x148P8\x8c8\xc89\x059B9\ -\x7f9\xbc9\xf9:6:t:\xb2:\xef;-;\ -k;\xaa;\xe8<' >`>\xa0>\xe0?!?\ -a?\xa2?\xe2@#@d@\xa6@\xe7A)A\ -jA\xacA\xeeB0BrB\xb5B\xf7C:C\ -}C\xc0D\x03DGD\x8aD\xceE\x12EUE\ -\x9aE\xdeF\x22FgF\xabF\xf0G5G{G\ -\xc0H\x05HKH\x91H\xd7I\x1dIcI\xa9I\ -\xf0J7J}J\xc4K\x0cKSK\x9aK\xe2L\ -*LrL\xbaM\x02MJM\x93M\xdcN%N\ -nN\xb7O\x00OIO\x93O\xddP'PqP\ -\xbbQ\x06QPQ\x9bQ\xe6R1R|R\xc7S\ -\x13S_S\xaaS\xf6TBT\x8fT\xdbU(U\ -uU\xc2V\x0fV\x5cV\xa9V\xf7WDW\x92W\ -\xe0X/X}X\xcbY\x1aYiY\xb8Z\x07Z\ -VZ\xa6Z\xf5[E[\x95[\xe5\x5c5\x5c\x86\x5c\ -\xd6]']x]\xc9^\x1a^l^\xbd_\x0f_\ -a_\xb3`\x05`W`\xaa`\xfcaOa\xa2a\ -\xf5bIb\x9cb\xf0cCc\x97c\xebd@d\ -\x94d\xe9e=e\x92e\xe7f=f\x92f\xe8g\ -=g\x93g\xe9h?h\x96h\xeciCi\x9ai\ -\xf1jHj\x9fj\xf7kOk\xa7k\xfflWl\ -\xafm\x08m`m\xb9n\x12nkn\xc4o\x1eo\ -xo\xd1p+p\x86p\xe0q:q\x95q\xf0r\ -Kr\xa6s\x01s]s\xb8t\x14tpt\xccu\ -(u\x85u\xe1v>v\x9bv\xf8wVw\xb3x\ -\x11xnx\xccy*y\x89y\xe7zFz\xa5{\ -\x04{c{\xc2|!|\x81|\xe1}A}\xa1~\ -\x01~b~\xc2\x7f#\x7f\x84\x7f\xe5\x80G\x80\xa8\x81\ -\x0a\x81k\x81\xcd\x820\x82\x92\x82\xf4\x83W\x83\xba\x84\ -\x1d\x84\x80\x84\xe3\x85G\x85\xab\x86\x0e\x86r\x86\xd7\x87\ -;\x87\x9f\x88\x04\x88i\x88\xce\x893\x89\x99\x89\xfe\x8a\ -d\x8a\xca\x8b0\x8b\x96\x8b\xfc\x8cc\x8c\xca\x8d1\x8d\ -\x98\x8d\xff\x8ef\x8e\xce\x8f6\x8f\x9e\x90\x06\x90n\x90\ -\xd6\x91?\x91\xa8\x92\x11\x92z\x92\xe3\x93M\x93\xb6\x94\ - \x94\x8a\x94\xf4\x95_\x95\xc9\x964\x96\x9f\x97\x0a\x97\ -u\x97\xe0\x98L\x98\xb8\x99$\x99\x90\x99\xfc\x9ah\x9a\ -\xd5\x9bB\x9b\xaf\x9c\x1c\x9c\x89\x9c\xf7\x9dd\x9d\xd2\x9e\ -@\x9e\xae\x9f\x1d\x9f\x8b\x9f\xfa\xa0i\xa0\xd8\xa1G\xa1\ -\xb6\xa2&\xa2\x96\xa3\x06\xa3v\xa3\xe6\xa4V\xa4\xc7\xa5\ -8\xa5\xa9\xa6\x1a\xa6\x8b\xa6\xfd\xa7n\xa7\xe0\xa8R\xa8\ -\xc4\xa97\xa9\xa9\xaa\x1c\xaa\x8f\xab\x02\xabu\xab\xe9\xac\ -\x5c\xac\xd0\xadD\xad\xb8\xae-\xae\xa1\xaf\x16\xaf\x8b\xb0\ -\x00\xb0u\xb0\xea\xb1`\xb1\xd6\xb2K\xb2\xc2\xb38\xb3\ -\xae\xb4%\xb4\x9c\xb5\x13\xb5\x8a\xb6\x01\xb6y\xb6\xf0\xb7\ -h\xb7\xe0\xb8Y\xb8\xd1\xb9J\xb9\xc2\xba;\xba\xb5\xbb\ -.\xbb\xa7\xbc!\xbc\x9b\xbd\x15\xbd\x8f\xbe\x0a\xbe\x84\xbe\ -\xff\xbfz\xbf\xf5\xc0p\xc0\xec\xc1g\xc1\xe3\xc2_\xc2\ -\xdb\xc3X\xc3\xd4\xc4Q\xc4\xce\xc5K\xc5\xc8\xc6F\xc6\ -\xc3\xc7A\xc7\xbf\xc8=\xc8\xbc\xc9:\xc9\xb9\xca8\xca\ -\xb7\xcb6\xcb\xb6\xcc5\xcc\xb5\xcd5\xcd\xb5\xce6\xce\ -\xb6\xcf7\xcf\xb8\xd09\xd0\xba\xd1<\xd1\xbe\xd2?\xd2\ -\xc1\xd3D\xd3\xc6\xd4I\xd4\xcb\xd5N\xd5\xd1\xd6U\xd6\ -\xd8\xd7\x5c\xd7\xe0\xd8d\xd8\xe8\xd9l\xd9\xf1\xdav\xda\ -\xfb\xdb\x80\xdc\x05\xdc\x8a\xdd\x10\xdd\x96\xde\x1c\xde\xa2\xdf\ -)\xdf\xaf\xe06\xe0\xbd\xe1D\xe1\xcc\xe2S\xe2\xdb\xe3\ -c\xe3\xeb\xe4s\xe4\xfc\xe5\x84\xe6\x0d\xe6\x96\xe7\x1f\xe7\ -\xa9\xe82\xe8\xbc\xe9F\xe9\xd0\xea[\xea\xe5\xebp\xeb\ -\xfb\xec\x86\xed\x11\xed\x9c\xee(\xee\xb4\xef@\xef\xcc\xf0\ -X\xf0\xe5\xf1r\xf1\xff\xf2\x8c\xf3\x19\xf3\xa7\xf44\xf4\ -\xc2\xf5P\xf5\xde\xf6m\xf6\xfb\xf7\x8a\xf8\x19\xf8\xa8\xf9\ -8\xf9\xc7\xfaW\xfa\xe7\xfbw\xfc\x07\xfc\x98\xfd)\xfd\ -\xba\xfeK\xfe\xdc\xffm\xff\xff\ -\x00\x00\x04o\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a \x0d\x0a \ - icon / o\ -utliner / entity\ - / Editor only \ -- Saved\x0d\ -\x0a Creat\ -ed with Sketch.<\ -/desc>\x0d\x0a \x0d\x0a <\ -g id=\x22icon-/-out\ -liner-/-entity-/\ ---Editor-only---\ -Saved\x22 stroke=\x22n\ -one\x22 stroke-widt\ -h=\x221\x22 fill=\x22none\ -\x22 fill-rule=\x22eve\ -nodd\x22>\x0d\x0a \ -\x0d\x0a \ -\x0d\x0a\x0d\x0a\ -\x00\x00\x07\x1d\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22 standalone=\x22\ -no\x22?>\x0d\x0a\x0d\x0a \x0d\x0a \ - lock on\ -\x0d\x0a Created with\ - Sketch.\x0d\ -\x0a \x0d\x0a \x0d\x0a \ -\x0d\x0a \x0d\x0a\x0d\x0a\ -\x00\x00\x05\x1d\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a \x0d\x0a \ - icon / o\ -utliner / slice \ -/ standard copy<\ -/title>\x0d\x0a Created with \ -Sketch.\x0d\x0a\ - \x0d\x0a \x0d\x0a \ -\x0d\x0a \ - \x0d\x0a \ - \x0d\x0a \ - \x0d\x0a \x0d\x0a\x0d\x0a\ -\x00\x00\x04\xa0\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a \x0d\x0a \ - icon / o\ -utliner / entity\ - / Not active - \ -Updated\x0d\ -\x0a Creat\ -ed with Sketch.<\ -/desc>\x0d\x0a \x0d\x0a <\ -g id=\x22icon-/-out\ -liner-/-entity-/\ --Not-active---Up\ -dated\x22 stroke=\x22n\ -one\x22 stroke-widt\ -h=\x221\x22 fill=\x22none\ -\x22 fill-rule=\x22eve\ -nodd\x22>\x0d\x0a \ -\x0d\x0a \ - \x0d\x0a\x0d\x0a\ -\x00\x00\x04\x9c\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a \x0d\x0a \ - icon / o\ -utliner / entity\ - / Not active - \ -Saved\x0d\x0a \ - Created\ - with Sketch.\x0d\x0a \ -\x0d\x0a \x0d\x0a \ -\x0d\x0a \x0d\x0a\x0d\x0a\ -\x00\x00\x06\xdc\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a \x0d\x0a \ - Group 13\ -\x0d\x0a Created with\ - Sketch.\x0d\ -\x0a \x0d\x0a \ - \x0d\x0a \ - \x0d\x0a\ - \ -\x0d\x0a \ - \ - \x0d\x0a \ - \x0d\x0a \ - \x0d\x0a \ - \x0d\x0a \x0d\x0a\x0d\x0a\ -\x00\x00\x03\x87\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a \x0d\x0a \ - icon / o\ -utliner / entity\ - / Loop v2\x0d\x0a Cr\ -eated with Sketc\ -h.\x0d\x0a <\ -g id=\x22icon-/-out\ -liner-/-entity-/\ --Loop-v2\x22 stroke\ -=\x22none\x22 stroke-w\ -idth=\x221\x22 fill=\x22n\ -one\x22 fill-rule=\x22\ -evenodd\x22>\x0d\x0a \ - \x0d\x0a \x0d\x0a\x0d\x0a\ -\x00\x00_l\ -I\ -I*\x00\x08\x00\x00\x00\x17\x00\xfe\x00\x04\x00\x01\x00\x00\ -\x00\x00\x00\x00\x00\x00\x01\x03\x00\x01\x00\x00\x00`\x00\x00\ -\x00\x01\x01\x03\x00\x01\x00\x00\x00`\x00\x00\x00\x02\x01\x03\ -\x00\x04\x00\x00\x00\x22\x01\x00\x00\x03\x01\x03\x00\x01\x00\x00\ -\x00\x05\x00\x00\x00\x06\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\ -\x00\x11\x01\x04\x00\x01\x00\x00\x00DS\x00\x00\x12\x01\x03\ -\x00\x01\x00\x00\x00\x01\x00\x00\x00\x15\x01\x03\x00\x01\x00\x00\ -\x00\x04\x00\x00\x00\x16\x01\x03\x00\x01\x00\x00\x00`\x00\x00\ -\x00\x17\x01\x04\x00\x01\x00\x00\x00\xfa\x0b\x00\x00\x1a\x01\x05\ -\x00\x01\x00\x00\x00*\x01\x00\x00\x1b\x01\x05\x00\x01\x00\x00\ -\x002\x01\x00\x00\x1c\x01\x03\x00\x01\x00\x00\x00\x01\x00\x00\ -\x00(\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\x001\x01\x02\ -\x00$\x00\x00\x00:\x01\x00\x002\x01\x02\x00\x14\x00\x00\ -\x00^\x01\x00\x00=\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\ -\x00R\x01\x03\x00\x01\x00\x00\x00\x01\x00\x00\x00\xbc\x02\x01\ -\x00\xfa8\x00\x00r\x01\x00\x00I\x86\x01\x00\x90\x0c\x00\ -\x00l:\x00\x00i\x87\x04\x00\x01\x00\x00\x00@_\x00\ -\x00s\x87\x07\x00H\x0c\x00\x00\xfcF\x00\x00\x00\x00\x00\ -\x00\x08\x00\x08\x00\x08\x00\x08\x00\x00\xf9\x15\x00\x10'\x00\ -\x00\x00\xf9\x15\x00\x10'\x00\x00Adobe P\ -hotoshop CC 2015\ -.5 (Windows)\x00201\ -7:03:08 11:37:45\ -\x00\x0a\x0a \x0a \ -\x0a pain\ -t.net 4.0.9\x0a \ - 2017-03-0\ -7T11:32:29-08:00\ -\x0a 2017-\ -03-08T11:37:45-0\ -8:00\x0a <\ -xmp:MetadataDate\ ->2017-03-08T11:3\ -7:45-08:00\x0a \ - image/tiff\x0a \ - 3\x0a \ - sR\ -GB IEC61966-2.1<\ -/photoshop:ICCPr\ -ofile>\x0a \ -\x0a \ - \x0a \ - adobe\ -:docid:photoshop\ -:94a27cdb-0433-1\ -1e7-b02d-9f84d9f\ -5a326\x0a \ - \x0a <\ -/photoshop:Docum\ -entAncestors>\x0a \ - xmp.iid\ -:16fdf09c-857d-9\ -44e-9783-e127cb1\ -b9cf4\x0a \ - adobe:docid:\ -photoshop:9f9351\ -ac-0436-11e7-b02\ -d-9f84d9f5a326\x0a xmp.did:ca7\ -71a70-f965-e14f-\ -9103-360465543db\ -f\x0a \ - \x0a \ - \x0a \ - \x0a \ - <\ -stEvt:action>cre\ -ated\x0a \ - xmp.iid:\ -ca771a70-f965-e1\ -4f-9103-36046554\ -3dbf\x0a \ - 2017-03-07\ -T11:32:29-08:00<\ -/stEvt:when>\x0a \ - <\ -stEvt:softwareAg\ -ent>Adobe Photos\ -hop CC 2015.5 (W\ -indows)\x0a \ - \x0a \ - \x0a \ - saved\x0a \ - <\ -stEvt:instanceID\ ->xmp.iid:16fdf09\ -c-857d-944e-9783\ --e127cb1b9cf4\ -\x0a \ - 2\ -017-03-08T11:37:\ -45-08:00\x0a \ - Ado\ -be Photoshop CC \ -2015.5 (Windows)\ -\x0a \ - /\x0a \ - \x0a <\ -/rdf:Seq>\x0a \ - \x0a \x0a \ -\x0a\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a\ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a\ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a\ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a\ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a\ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a\ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a\ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \x0a8BIM\x04\ -%\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x008BIM\x04:\x00\x00\x00\ -\x00\x00\xe5\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\x00\x00\ -\x0bprintOutput\x00\x00\x00\x05\ -\x00\x00\x00\x00PstSbool\x01\x00\x00\x00\ -\x00Inteenum\x00\x00\x00\x00Int\ -e\x00\x00\x00\x00Clrm\x00\x00\x00\x0fpri\ -ntSixteenBitbool\ -\x00\x00\x00\x00\x0bprinterName\ -TEXT\x00\x00\x00\x01\x00\x00\x00\x00\x00\x0fpr\ -intProofSetupObj\ -c\x00\x00\x00\x0c\x00P\x00r\x00o\x00o\x00f\x00\ - \x00S\x00e\x00t\x00u\x00p\x00\x00\x00\x00\x00\ -\x0aproofSetup\x00\x00\x00\x01\x00\ -\x00\x00\x00Bltnenum\x00\x00\x00\x0cb\ -uiltinProof\x00\x00\x00\x09p\ -roofCMYK\x008BIM\x04;\x00\ -\x00\x00\x00\x02-\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\ -\x00\x00\x12printOutputOp\ -tions\x00\x00\x00\x17\x00\x00\x00\x00Cpt\ -nbool\x00\x00\x00\x00\x00Clbrbo\ -ol\x00\x00\x00\x00\x00RgsMbool\x00\ -\x00\x00\x00\x00CrnCbool\x00\x00\x00\x00\ -\x00CntCbool\x00\x00\x00\x00\x00Lb\ -lsbool\x00\x00\x00\x00\x00Ngtvb\ -ool\x00\x00\x00\x00\x00EmlDbool\ -\x00\x00\x00\x00\x00Intrbool\x00\x00\x00\ -\x00\x00BckgObjc\x00\x00\x00\x01\x00\x00\ -\x00\x00\x00\x00RGBC\x00\x00\x00\x03\x00\x00\x00\x00\ -Rd doub@o\xe0\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00Grn doub@o\xe0\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00Bl doub\ -@o\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00BrdT\ -UntF#Rlt\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00Bld UntF#Rlt\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00Rslt\ -UntF#Pxl@b\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x0avectorDatabo\ -ol\x01\x00\x00\x00\x00PgPsenum\x00\ -\x00\x00\x00PgPs\x00\x00\x00\x00PgPC\x00\ -\x00\x00\x00LeftUntF#Rlt\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00Top U\ -ntF#Rlt\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00Scl UntF#Prc@\ -Y\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10cropW\ -henPrintingbool\x00\ -\x00\x00\x00\x0ecropRectBott\ -omlong\x00\x00\x00\x00\x00\x00\x00\x0ccr\ -opRectLeftlong\x00\x00\ -\x00\x00\x00\x00\x00\x0dcropRectRi\ -ghtlong\x00\x00\x00\x00\x00\x00\x00\x0bc\ -ropRectToplong\x00\x00\ -\x00\x00\x008BIM\x03\xed\x00\x00\x00\x00\x00\x10\x00\ -\x90\x00\x00\x00\x01\x00\x01\x00\x90\x00\x00\x00\x01\x00\x018\ -BIM\x04&\x00\x00\x00\x00\x00\x0e\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00?\x80\x00\x008BIM\x03\xee\x00\ -\x00\x00\x00\x00\x0d\x0cTransparen\ -cy\x008BIM\x04\x15\x00\x00\x00\x00\x00\x1e\x00\ -\x00\x00\x0d\x00T\x00r\x00a\x00n\x00s\x00p\x00\ -a\x00r\x00e\x00n\x00c\x00y\x00\x008BI\ -M\x045\x00\x00\x00\x00\x00\x11\x00\x00\x00\x01\x00\x00\xff\ -\xff\x00\x00\x00\x00\x00\x00\x00d\x01\x008BIM\x04\ -\x1d\x00\x00\x00\x00\x00\x04\x00\x00\x00\x008BIM\x04\ -\x0d\x00\x00\x00\x00\x00\x04\x00\x00\x00\x1e8BIM\x04\ -\x19\x00\x00\x00\x00\x00\x04\x00\x00\x00\x1e8BIM\x03\ -\xf3\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x01\ -\x008BIM'\x10\x00\x00\x00\x00\x00\x0a\x00\x01\x00\ -\x00\x00\x00\x00\x00\x00\x018BIM\x03\xf5\x00\x00\x00\ -\x00\x00H\x00/ff\x00\x01\x00lff\x00\x06\x00\ -\x00\x00\x00\x00\x01\x00/ff\x00\x01\x00\xa1\x99\x9a\x00\ -\x06\x00\x00\x00\x00\x00\x01\x002\x00\x00\x00\x01\x00Z\x00\ -\x00\x00\x06\x00\x00\x00\x00\x00\x01\x005\x00\x00\x00\x01\x00\ --\x00\x00\x00\x06\x00\x00\x00\x00\x00\x018BIM\x03\ -\xf8\x00\x00\x00\x00\x00p\x00\x00\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x03\ -\xe8\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x03\xe8\x00\x00\x00\ -\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\x03\xe8\x00\x00\x00\x00\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\x03\xe8\x00\x008BIM\x04\x00\x00\x00\x00\ -\x00\x00\x02\x00\x008BIM\x04\x02\x00\x00\x00\x00\x00\ -\x02\x00\x008BIM\x040\x00\x00\x00\x00\x00\x01\x01\ -\x008BIM\x04-\x00\x00\x00\x00\x00\x06\x00\x01\x00\ -\x00\x00\x0a8BIM\x04\x08\x00\x00\x00\x00\x00\x10\x00\ -\x00\x00\x01\x00\x00\x02@\x00\x00\x02@\x00\x00\x00\x008\ -BIM\x04\x1e\x00\x00\x00\x00\x00\x04\x00\x00\x00\x008\ -BIM\x04\x1a\x00\x00\x00\x00\x035\x00\x00\x00\x06\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x00\x00\x00`\x00\ -\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00`\x00\x00\x00`\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\ -\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00null\x00\x00\ -\x00\x02\x00\x00\x00\x06boundsObjc\ -\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00Rct1\x00\x00\ -\x00\x04\x00\x00\x00\x00Top long\x00\x00\ -\x00\x00\x00\x00\x00\x00Leftlong\x00\x00\ -\x00\x00\x00\x00\x00\x00Btomlong\x00\x00\ -\x00`\x00\x00\x00\x00Rghtlong\x00\x00\ -\x00`\x00\x00\x00\x06slicesVlLs\ -\x00\x00\x00\x01Objc\x00\x00\x00\x01\x00\x00\x00\x00\ -\x00\x05slice\x00\x00\x00\x12\x00\x00\x00\x07s\ -liceIDlong\x00\x00\x00\x00\x00\x00\ -\x00\x07groupIDlong\x00\x00\x00\ -\x00\x00\x00\x00\x06originenum\x00\ -\x00\x00\x0cESliceOrigin\x00\ -\x00\x00\x0dautoGenerated\ -\x00\x00\x00\x00Typeenum\x00\x00\x00\x0a\ -ESliceType\x00\x00\x00\x00Im\ -g \x00\x00\x00\x06boundsObjc\ -\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00Rct1\x00\x00\ -\x00\x04\x00\x00\x00\x00Top long\x00\x00\ -\x00\x00\x00\x00\x00\x00Leftlong\x00\x00\ -\x00\x00\x00\x00\x00\x00Btomlong\x00\x00\ -\x00`\x00\x00\x00\x00Rghtlong\x00\x00\ -\x00`\x00\x00\x00\x03urlTEXT\x00\x00\x00\ -\x01\x00\x00\x00\x00\x00\x00nullTEXT\x00\ -\x00\x00\x01\x00\x00\x00\x00\x00\x00MsgeTEX\ -T\x00\x00\x00\x01\x00\x00\x00\x00\x00\x06altTa\ -gTEXT\x00\x00\x00\x01\x00\x00\x00\x00\x00\x0ec\ -ellTextIsHTMLboo\ -l\x01\x00\x00\x00\x08cellTextTE\ -XT\x00\x00\x00\x01\x00\x00\x00\x00\x00\x09horz\ -Alignenum\x00\x00\x00\x0fESl\ -iceHorzAlign\x00\x00\x00\x07\ -default\x00\x00\x00\x09vertA\ -lignenum\x00\x00\x00\x0fESli\ -ceVertAlign\x00\x00\x00\x07d\ -efault\x00\x00\x00\x0bbgColo\ -rTypeenum\x00\x00\x00\x11ESl\ -iceBGColorType\x00\x00\ -\x00\x00None\x00\x00\x00\x09topOut\ -setlong\x00\x00\x00\x00\x00\x00\x00\x0al\ -eftOutsetlong\x00\x00\x00\ -\x00\x00\x00\x00\x0cbottomOutse\ -tlong\x00\x00\x00\x00\x00\x00\x00\x0brig\ -htOutsetlong\x00\x00\x00\x00\ -\x008BIM\x04(\x00\x00\x00\x00\x00\x0c\x00\x00\x00\ -\x02?\xf0\x00\x00\x00\x00\x00\x008BIM\x04\x14\x00\ -\x00\x00\x00\x00\x04\x00\x00\x00\x0c8BIM\x04\x0c\x00\ -\x00\x00\x00\x038\x00\x00\x00\x01\x00\x00\x000\x00\x00\x00\ -0\x00\x00\x00\x90\x00\x00\x1b\x00\x00\x00\x03\x1c\x00\x18\x00\ -\x01\xff\xd8\xff\xed\x00\x0cAdobe_CM\x00\ -\x01\xff\xee\x00\x0eAdobe\x00d\x80\x00\x00\x00\ -\x01\xff\xdb\x00\x84\x00\x0c\x08\x08\x08\x09\x08\x0c\x09\x09\x0c\ -\x11\x0b\x0a\x0b\x11\x15\x0f\x0c\x0c\x0f\x15\x18\x13\x13\x15\x13\ -\x13\x18\x11\x0c\x0c\x0c\x0c\x0c\x0c\x11\x0c\x0c\x0c\x0c\x0c\x0c\ -\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\ -\x0c\x0c\x0c\x0c\x0c\x0c\x01\x0d\x0b\x0b\x0d\x0e\x0d\x10\x0e\x0e\ -\x10\x14\x0e\x0e\x0e\x14\x14\x0e\x0e\x0e\x0e\x14\x11\x0c\x0c\x0c\ -\x0c\x0c\x11\x11\x0c\x0c\x0c\x0c\x0c\x0c\x11\x0c\x0c\x0c\x0c\x0c\ -\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\ -\x0c\x0c\x0c\x0c\x0c\x0c\x0c\xff\xc0\x00\x11\x08\x000\x000\ -\x03\x01\x22\x00\x02\x11\x01\x03\x11\x01\xff\xdd\x00\x04\x00\x03\ -\xff\xc4\x01?\x00\x00\x01\x05\x01\x01\x01\x01\x01\x01\x00\x00\ -\x00\x00\x00\x00\x00\x03\x00\x01\x02\x04\x05\x06\x07\x08\x09\x0a\ -\x0b\x01\x00\x01\x05\x01\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\ -\x00\x00\x01\x00\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x10\x00\ -\x01\x04\x01\x03\x02\x04\x02\x05\x07\x06\x08\x05\x03\x0c3\x01\ -\x00\x02\x11\x03\x04!\x121\x05AQa\x13\x22q\x81\ -2\x06\x14\x91\xa1\xb1B#$\x15R\xc1b34r\ -\x82\xd1C\x07%\x92S\xf0\xe1\xf1cs5\x16\xa2\xb2\ -\x83&D\x93TdE\xc2\xa3t6\x17\xd2U\xe2e\ -\xf2\xb3\x84\xc3\xd3u\xe3\xf3F'\x94\xa4\x85\xb4\x95\xc4\ -\xd4\xe4\xf4\xa5\xb5\xc5\xd5\xe5\xf5Vfv\x86\x96\xa6\xb6\ -\xc6\xd6\xe6\xf67GWgw\x87\x97\xa7\xb7\xc7\xd7\xe7\ -\xf7\x11\x00\x02\x02\x01\x02\x04\x04\x03\x04\x05\x06\x07\x07\x06\ -\x055\x01\x00\x02\x11\x03!1\x12\x04AQaq\x22\ -\x13\x052\x81\x91\x14\xa1\xb1B#\xc1R\xd1\xf03$\ -b\xe1r\x82\x92CS\x15cs4\xf1%\x06\x16\xa2\ -\xb2\x83\x07&5\xc2\xd2D\x93T\xa3\x17dEU6\ -te\xe2\xf2\xb3\x84\xc3\xd3u\xe3\xf3F\x94\xa4\x85\xb4\ -\x95\xc4\xd4\xe4\xf4\xa5\xb5\xc5\xd5\xe5\xf5Vfv\x86\x96\ -\xa6\xb6\xc6\xd6\xe6\xf6'7GWgw\x87\x97\xa7\xb7\ -\xc7\xff\xda\x00\x0c\x03\x01\x00\x02\x11\x03\x11\x00?\x00\xf5\ -T\x92P\xb5\xceensZ^\xe6\x82CG$\xa4\ -\xa5YuU\xff\x008\xf6\xb2x\xdc@N\xd7\xb1\xe3\ -s\x1c\x1c\xdf\x10d*X\xb8,\xb1\x9e\xbe[K\xee\ -\xb3S\xbb\xb0\xec6\xa6}#\x07&\xa7\xd2H\xaa\xe7\ -\x06=\x93\x22O\x05%:\x09$\x92J\x7f\xff\xd0\xf5\ -T\x1c\x9c\xaa\xf1\x9a\x0b\xe4\x97\x18kZ$\x94eK\ -\xaa{YM\xbd\xeb\xb0\x1f\x97\xfa\x84\x94\xb7\xdb\xefw\ -\xf3x\xaf>\x05\xda\x7f\x04+\x9b\xd4.s.}m\ -`\xa6\x5c\xd6\x93:\xf3:|\x15\xac\xf3x\xc6s\xa9\ -0F\xae#\x9d\xa3\xe9mK\x05\xd6Y\x88\xd7Zw\ -\x17L\x1e\xf1:nIL\xf1/7\xe3\xb2\xd2\x00.\ -\xe4\x0e$\x1d\xa8\xca\x97J\xd3\x1d\xf5\x9ekyj\xba\ -\x92\x9f\xff\xd1\xf5UW\xa8\xd6l\xc3\xb0\x01$A\x00\ -y\x1f\xfc\x8a\xb4\x92Jh7\xa95\xf5\x86\xb6\x8b-\ -1\x0e\x86\xe8t\xd7\xc5&_\x9b\xb42\x8cA[\x06\ -\x808\xc0\x1f/b\xbe\x92Jj`\xe3\xddQ\xb5\xf7\ -@u\xae\xdd\xb5\xbc\x05m$\x92S\xff\xd98BI\ -M\x04!\x00\x00\x00\x00\x00a\x00\x00\x00\x01\x01\x00\x00\ -\x00\x0f\x00A\x00d\x00o\x00b\x00e\x00 \x00P\ -\x00h\x00o\x00t\x00o\x00s\x00h\x00o\x00p\ -\x00\x00\x00\x19\x00A\x00d\x00o\x00b\x00e\x00 \ -\x00P\x00h\x00o\x00t\x00o\x00s\x00h\x00o\ -\x00p\x00 \x00C\x00C\x00 \x002\x000\x001\ -\x005\x00.\x005\x00\x00\x00\x01\x00\x00\x00\x0cHL\ -ino\x02\x10\x00\x00mntrRGB X\ -YZ \x07\xce\x00\x02\x00\x09\x00\x06\x001\x00\x00a\ -cspMSFT\x00\x00\x00\x00IEC s\ -RGB\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\xf6\xd6\x00\x01\x00\x00\x00\x00\xd3-HP \x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11c\ -prt\x00\x00\x01P\x00\x00\x003desc\x00\ -\x00\x01\x84\x00\x00\x00lwtpt\x00\x00\x01\xf0\x00\ -\x00\x00\x14bkpt\x00\x00\x02\x04\x00\x00\x00\x14r\ -XYZ\x00\x00\x02\x18\x00\x00\x00\x14gXYZ\x00\ -\x00\x02,\x00\x00\x00\x14bXYZ\x00\x00\x02@\x00\ -\x00\x00\x14dmnd\x00\x00\x02T\x00\x00\x00pd\ -mdd\x00\x00\x02\xc4\x00\x00\x00\x88vued\x00\ -\x00\x03L\x00\x00\x00\x86view\x00\x00\x03\xd4\x00\ -\x00\x00$lumi\x00\x00\x03\xf8\x00\x00\x00\x14m\ -eas\x00\x00\x04\x0c\x00\x00\x00$tech\x00\ -\x00\x040\x00\x00\x00\x0crTRC\x00\x00\x04<\x00\ -\x00\x08\x0cgTRC\x00\x00\x04<\x00\x00\x08\x0cb\ -TRC\x00\x00\x04<\x00\x00\x08\x0ctext\x00\ -\x00\x00\x00Copyright (c)\ - 1998 Hewlett-Pa\ -ckard Company\x00\x00d\ -esc\x00\x00\x00\x00\x00\x00\x00\x12sRGB \ -IEC61966-2.1\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x12sRGB IEC\ -61966-2.1\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00XYZ \x00\ -\x00\x00\x00\x00\x00\xf3Q\x00\x01\x00\x00\x00\x01\x16\xccX\ -YZ \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00XYZ \x00\x00\x00\x00\x00\x00o\xa2\x00\ -\x008\xf5\x00\x00\x03\x90XYZ \x00\x00\x00\x00\x00\ -\x00b\x99\x00\x00\xb7\x85\x00\x00\x18\xdaXYZ \x00\ -\x00\x00\x00\x00\x00$\xa0\x00\x00\x0f\x84\x00\x00\xb6\xcfd\ -esc\x00\x00\x00\x00\x00\x00\x00\x16IEC h\ -ttp://www.iec.ch\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16IEC \ -http://www.iec.c\ -h\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00d\ -esc\x00\x00\x00\x00\x00\x00\x00.IEC 6\ -1966-2.1 Default\ - RGB colour spac\ -e - sRGB\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00.IEC 61966-2.\ -1 Default RGB co\ -lour space - sRG\ -B\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00desc\x00\x00\x00\x00\x00\ -\x00\x00,Reference Vie\ -wing Condition i\ -n IEC61966-2.1\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00,Refere\ -nce Viewing Cond\ -ition in IEC6196\ -6-2.1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00v\ -iew\x00\x00\x00\x00\x00\x13\xa4\xfe\x00\x14_.\x00\ -\x10\xcf\x14\x00\x03\xed\xcc\x00\x04\x13\x0b\x00\x03\x5c\x9e\x00\ -\x00\x00\x01XYZ \x00\x00\x00\x00\x00L\x09V\x00\ -P\x00\x00\x00W\x1f\xe7meas\x00\x00\x00\x00\x00\ -\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x02\x8f\x00\x00\x00\x02sig \x00\ -\x00\x00\x00CRT curv\x00\x00\x00\x00\x00\ -\x00\x04\x00\x00\x00\x00\x05\x00\x0a\x00\x0f\x00\x14\x00\x19\x00\ -\x1e\x00#\x00(\x00-\x002\x007\x00;\x00@\x00\ -E\x00J\x00O\x00T\x00Y\x00^\x00c\x00h\x00\ -m\x00r\x00w\x00|\x00\x81\x00\x86\x00\x8b\x00\x90\x00\ -\x95\x00\x9a\x00\x9f\x00\xa4\x00\xa9\x00\xae\x00\xb2\x00\xb7\x00\ -\xbc\x00\xc1\x00\xc6\x00\xcb\x00\xd0\x00\xd5\x00\xdb\x00\xe0\x00\ -\xe5\x00\xeb\x00\xf0\x00\xf6\x00\xfb\x01\x01\x01\x07\x01\x0d\x01\ -\x13\x01\x19\x01\x1f\x01%\x01+\x012\x018\x01>\x01\ -E\x01L\x01R\x01Y\x01`\x01g\x01n\x01u\x01\ -|\x01\x83\x01\x8b\x01\x92\x01\x9a\x01\xa1\x01\xa9\x01\xb1\x01\ -\xb9\x01\xc1\x01\xc9\x01\xd1\x01\xd9\x01\xe1\x01\xe9\x01\xf2\x01\ -\xfa\x02\x03\x02\x0c\x02\x14\x02\x1d\x02&\x02/\x028\x02\ -A\x02K\x02T\x02]\x02g\x02q\x02z\x02\x84\x02\ -\x8e\x02\x98\x02\xa2\x02\xac\x02\xb6\x02\xc1\x02\xcb\x02\xd5\x02\ -\xe0\x02\xeb\x02\xf5\x03\x00\x03\x0b\x03\x16\x03!\x03-\x03\ -8\x03C\x03O\x03Z\x03f\x03r\x03~\x03\x8a\x03\ -\x96\x03\xa2\x03\xae\x03\xba\x03\xc7\x03\xd3\x03\xe0\x03\xec\x03\ -\xf9\x04\x06\x04\x13\x04 \x04-\x04;\x04H\x04U\x04\ -c\x04q\x04~\x04\x8c\x04\x9a\x04\xa8\x04\xb6\x04\xc4\x04\ -\xd3\x04\xe1\x04\xf0\x04\xfe\x05\x0d\x05\x1c\x05+\x05:\x05\ -I\x05X\x05g\x05w\x05\x86\x05\x96\x05\xa6\x05\xb5\x05\ -\xc5\x05\xd5\x05\xe5\x05\xf6\x06\x06\x06\x16\x06'\x067\x06\ -H\x06Y\x06j\x06{\x06\x8c\x06\x9d\x06\xaf\x06\xc0\x06\ -\xd1\x06\xe3\x06\xf5\x07\x07\x07\x19\x07+\x07=\x07O\x07\ -a\x07t\x07\x86\x07\x99\x07\xac\x07\xbf\x07\xd2\x07\xe5\x07\ -\xf8\x08\x0b\x08\x1f\x082\x08F\x08Z\x08n\x08\x82\x08\ -\x96\x08\xaa\x08\xbe\x08\xd2\x08\xe7\x08\xfb\x09\x10\x09%\x09\ -:\x09O\x09d\x09y\x09\x8f\x09\xa4\x09\xba\x09\xcf\x09\ -\xe5\x09\xfb\x0a\x11\x0a'\x0a=\x0aT\x0aj\x0a\x81\x0a\ -\x98\x0a\xae\x0a\xc5\x0a\xdc\x0a\xf3\x0b\x0b\x0b\x22\x0b9\x0b\ -Q\x0bi\x0b\x80\x0b\x98\x0b\xb0\x0b\xc8\x0b\xe1\x0b\xf9\x0c\ -\x12\x0c*\x0cC\x0c\x5c\x0cu\x0c\x8e\x0c\xa7\x0c\xc0\x0c\ -\xd9\x0c\xf3\x0d\x0d\x0d&\x0d@\x0dZ\x0dt\x0d\x8e\x0d\ -\xa9\x0d\xc3\x0d\xde\x0d\xf8\x0e\x13\x0e.\x0eI\x0ed\x0e\ -\x7f\x0e\x9b\x0e\xb6\x0e\xd2\x0e\xee\x0f\x09\x0f%\x0fA\x0f\ -^\x0fz\x0f\x96\x0f\xb3\x0f\xcf\x0f\xec\x10\x09\x10&\x10\ -C\x10a\x10~\x10\x9b\x10\xb9\x10\xd7\x10\xf5\x11\x13\x11\ -1\x11O\x11m\x11\x8c\x11\xaa\x11\xc9\x11\xe8\x12\x07\x12\ -&\x12E\x12d\x12\x84\x12\xa3\x12\xc3\x12\xe3\x13\x03\x13\ -#\x13C\x13c\x13\x83\x13\xa4\x13\xc5\x13\xe5\x14\x06\x14\ -'\x14I\x14j\x14\x8b\x14\xad\x14\xce\x14\xf0\x15\x12\x15\ -4\x15V\x15x\x15\x9b\x15\xbd\x15\xe0\x16\x03\x16&\x16\ -I\x16l\x16\x8f\x16\xb2\x16\xd6\x16\xfa\x17\x1d\x17A\x17\ -e\x17\x89\x17\xae\x17\xd2\x17\xf7\x18\x1b\x18@\x18e\x18\ -\x8a\x18\xaf\x18\xd5\x18\xfa\x19 \x19E\x19k\x19\x91\x19\ -\xb7\x19\xdd\x1a\x04\x1a*\x1aQ\x1aw\x1a\x9e\x1a\xc5\x1a\ -\xec\x1b\x14\x1b;\x1bc\x1b\x8a\x1b\xb2\x1b\xda\x1c\x02\x1c\ -*\x1cR\x1c{\x1c\xa3\x1c\xcc\x1c\xf5\x1d\x1e\x1dG\x1d\ -p\x1d\x99\x1d\xc3\x1d\xec\x1e\x16\x1e@\x1ej\x1e\x94\x1e\ -\xbe\x1e\xe9\x1f\x13\x1f>\x1fi\x1f\x94\x1f\xbf\x1f\xea \ -\x15 A l \x98 \xc4 \xf0!\x1c!H!\ -u!\xa1!\xce!\xfb\x22'\x22U\x22\x82\x22\xaf\x22\ -\xdd#\x0a#8#f#\x94#\xc2#\xf0$\x1f$\ -M$|$\xab$\xda%\x09%8%h%\x97%\ -\xc7%\xf7&'&W&\x87&\xb7&\xe8'\x18'\ -I'z'\xab'\xdc(\x0d(?(q(\xa2(\ -\xd4)\x06)8)k)\x9d)\xd0*\x02*5*\ -h*\x9b*\xcf+\x02+6+i+\x9d+\xd1,\ -\x05,9,n,\xa2,\xd7-\x0c-A-v-\ -\xab-\xe1.\x16.L.\x82.\xb7.\xee/$/\ -Z/\x91/\xc7/\xfe050l0\xa40\xdb1\ -\x121J1\x821\xba1\xf22*2c2\x9b2\ -\xd43\x0d3F3\x7f3\xb83\xf14+4e4\ -\x9e4\xd85\x135M5\x875\xc25\xfd676\ -r6\xae6\xe97$7`7\x9c7\xd78\x148\ -P8\x8c8\xc89\x059B9\x7f9\xbc9\xf9:\ -6:t:\xb2:\xef;-;k;\xaa;\xe8<\ -'\ - >`>\xa0>\xe0?!?a?\xa2?\xe2@\ -#@d@\xa6@\xe7A)AjA\xacA\xeeB\ -0BrB\xb5B\xf7C:C}C\xc0D\x03D\ -GD\x8aD\xceE\x12EUE\x9aE\xdeF\x22F\ -gF\xabF\xf0G5G{G\xc0H\x05HKH\ -\x91H\xd7I\x1dIcI\xa9I\xf0J7J}J\ -\xc4K\x0cKSK\x9aK\xe2L*LrL\xbaM\ -\x02MJM\x93M\xdcN%NnN\xb7O\x00O\ -IO\x93O\xddP'PqP\xbbQ\x06QPQ\ -\x9bQ\xe6R1R|R\xc7S\x13S_S\xaaS\ -\xf6TBT\x8fT\xdbU(UuU\xc2V\x0fV\ -\x5cV\xa9V\xf7WDW\x92W\xe0X/X}X\ -\xcbY\x1aYiY\xb8Z\x07ZVZ\xa6Z\xf5[\ -E[\x95[\xe5\x5c5\x5c\x86\x5c\xd6]']x]\ -\xc9^\x1a^l^\xbd_\x0f_a_\xb3`\x05`\ -W`\xaa`\xfcaOa\xa2a\xf5bIb\x9cb\ -\xf0cCc\x97c\xebd@d\x94d\xe9e=e\ -\x92e\xe7f=f\x92f\xe8g=g\x93g\xe9h\ -?h\x96h\xeciCi\x9ai\xf1jHj\x9fj\ -\xf7kOk\xa7k\xfflWl\xafm\x08m`m\ -\xb9n\x12nkn\xc4o\x1eoxo\xd1p+p\ -\x86p\xe0q:q\x95q\xf0rKr\xa6s\x01s\ -]s\xb8t\x14tpt\xccu(u\x85u\xe1v\ ->v\x9bv\xf8wVw\xb3x\x11xnx\xccy\ -*y\x89y\xe7zFz\xa5{\x04{c{\xc2|\ -!|\x81|\xe1}A}\xa1~\x01~b~\xc2\x7f\ -#\x7f\x84\x7f\xe5\x80G\x80\xa8\x81\x0a\x81k\x81\xcd\x82\ -0\x82\x92\x82\xf4\x83W\x83\xba\x84\x1d\x84\x80\x84\xe3\x85\ -G\x85\xab\x86\x0e\x86r\x86\xd7\x87;\x87\x9f\x88\x04\x88\ -i\x88\xce\x893\x89\x99\x89\xfe\x8ad\x8a\xca\x8b0\x8b\ -\x96\x8b\xfc\x8cc\x8c\xca\x8d1\x8d\x98\x8d\xff\x8ef\x8e\ -\xce\x8f6\x8f\x9e\x90\x06\x90n\x90\xd6\x91?\x91\xa8\x92\ -\x11\x92z\x92\xe3\x93M\x93\xb6\x94 \x94\x8a\x94\xf4\x95\ -_\x95\xc9\x964\x96\x9f\x97\x0a\x97u\x97\xe0\x98L\x98\ -\xb8\x99$\x99\x90\x99\xfc\x9ah\x9a\xd5\x9bB\x9b\xaf\x9c\ -\x1c\x9c\x89\x9c\xf7\x9dd\x9d\xd2\x9e@\x9e\xae\x9f\x1d\x9f\ -\x8b\x9f\xfa\xa0i\xa0\xd8\xa1G\xa1\xb6\xa2&\xa2\x96\xa3\ -\x06\xa3v\xa3\xe6\xa4V\xa4\xc7\xa58\xa5\xa9\xa6\x1a\xa6\ -\x8b\xa6\xfd\xa7n\xa7\xe0\xa8R\xa8\xc4\xa97\xa9\xa9\xaa\ -\x1c\xaa\x8f\xab\x02\xabu\xab\xe9\xac\x5c\xac\xd0\xadD\xad\ -\xb8\xae-\xae\xa1\xaf\x16\xaf\x8b\xb0\x00\xb0u\xb0\xea\xb1\ -`\xb1\xd6\xb2K\xb2\xc2\xb38\xb3\xae\xb4%\xb4\x9c\xb5\ -\x13\xb5\x8a\xb6\x01\xb6y\xb6\xf0\xb7h\xb7\xe0\xb8Y\xb8\ -\xd1\xb9J\xb9\xc2\xba;\xba\xb5\xbb.\xbb\xa7\xbc!\xbc\ -\x9b\xbd\x15\xbd\x8f\xbe\x0a\xbe\x84\xbe\xff\xbfz\xbf\xf5\xc0\ -p\xc0\xec\xc1g\xc1\xe3\xc2_\xc2\xdb\xc3X\xc3\xd4\xc4\ -Q\xc4\xce\xc5K\xc5\xc8\xc6F\xc6\xc3\xc7A\xc7\xbf\xc8\ -=\xc8\xbc\xc9:\xc9\xb9\xca8\xca\xb7\xcb6\xcb\xb6\xcc\ -5\xcc\xb5\xcd5\xcd\xb5\xce6\xce\xb6\xcf7\xcf\xb8\xd0\ -9\xd0\xba\xd1<\xd1\xbe\xd2?\xd2\xc1\xd3D\xd3\xc6\xd4\ -I\xd4\xcb\xd5N\xd5\xd1\xd6U\xd6\xd8\xd7\x5c\xd7\xe0\xd8\ -d\xd8\xe8\xd9l\xd9\xf1\xdav\xda\xfb\xdb\x80\xdc\x05\xdc\ -\x8a\xdd\x10\xdd\x96\xde\x1c\xde\xa2\xdf)\xdf\xaf\xe06\xe0\ -\xbd\xe1D\xe1\xcc\xe2S\xe2\xdb\xe3c\xe3\xeb\xe4s\xe4\ -\xfc\xe5\x84\xe6\x0d\xe6\x96\xe7\x1f\xe7\xa9\xe82\xe8\xbc\xe9\ -F\xe9\xd0\xea[\xea\xe5\xebp\xeb\xfb\xec\x86\xed\x11\xed\ -\x9c\xee(\xee\xb4\xef@\xef\xcc\xf0X\xf0\xe5\xf1r\xf1\ -\xff\xf2\x8c\xf3\x19\xf3\xa7\xf44\xf4\xc2\xf5P\xf5\xde\xf6\ -m\xf6\xfb\xf7\x8a\xf8\x19\xf8\xa8\xf98\xf9\xc7\xfaW\xfa\ -\xe7\xfbw\xfc\x07\xfc\x98\xfd)\xfd\xba\xfeK\xfe\xdc\xff\ -m\xff\xff\x80\x00 P8$\x16\x0d\x07\x84BaP\ -\xb8d6\x1d\x0f\x88DbQ8\xa4V-\x17\x8cF\ -cQ\xb8\xe4v=\x1f\x90HdR9$\x96M'\ -\x94JeR\xb9d\xb6]/\x98LfS9\xa4\xd6\ -m7\x9cNgS\xb9\xe4\xf6}?\xa0PhT:\ -%\x16\x8dG\xa4RiT\xbae6\x9dO\xa8Tj\ -U:\xa5V\xadW\xacVkU\xba\xe5v\xbd_\xb0\ -XlV;%\x96\x0a\x01\xb4\x00Cv\xb1\x15\xb4D\ -+\x0c\xdcC\xe0\xeb\xa0F\xd2\x01y\xde^\x0e;\xe3\ -q\xc5\x7fm_\xdcM\xbb6\x17\x0d\x1b\x0a\xe2CD\ -\x5caX\x8f\x8f,\x88rB\xa0VT\x19\x14|\xe6\ -^\xedl\xe31\x85\x9fY.tJ\x87V\x95\xc9\x87\ -\xd4a\xc4\xda\xb1\x81g\x5co\x1elIa\x1d\xa0V\ -X\xf0\xdc;\x17\xdb\xb5r\xc7|\x9dj\xf0YZ\x9e\ -%d\xbd\xc7:\x99yG\xf0O4\x17<}t_\ -\x08\x9e\xa1\xb3|\xb1N\xf1{T\x9b\xa08$f\xf0\ -\x1f\xcb\x1e3u1_\xe7M\xa5\xfdG\xd7w\xb5\xd3\ -\xdb\xf8NA\x7f0rS\xec\xb9\x16\xfeG\x15FO\ -\xf5v6\xc0\x02A\xfd\x01\x9f\xcf\x8c\x0c\x98\x8e\xf0I\ -**\xc1\x83R0m\xc2\x06\x938k\x19fl,\ -`\x9dp\xc9\xca\xe8\x9fG\xcb\xe6\x05\x81\xabX6\x11\ -\x06q(\x80\x11\xc5\x01`A\x15\x85\x0b\xba0V\xc6\ -\x04\xc1\x15\x19\x8d\xa7\xecl~@\xf1\xcaJ-\xc7\x83\ -\x90\xe3\x1f\x91\xa8\xa3\x82j\x99D\xb4\x8c>\x19rI\ -{\x02@\xa8\xb8\x09'\x80\xa1\x94\xa4\x1f\x0cr\xa8\xf9\ -\x12\x86b\x020O\xcb\x849+/\x8fQ\xd4\xc4\x8e\ -\x84\x93(ZPM\x06@\x115\x81H\x81m7\x94\ -\x84,\xe433'\xc9\xee\x94\x00S\xc8\x04-O\x83\ -\x88\xdd?\x913\xd0\x06\x88\x1eT)\xde*Q\x01C\ -\xdaw\x1dS\x1d\x1c\x8a\x92T\x89l\x1dR\x82J \ -]S\x05H\xffM\x8b\xc7\xdd<}&\x81\xb5D!\ -\x90u)H\x09\xd5\x00\xc2 ZU\x85\x09\x01W\x8c\ -\x14}d\x86\x82\xd5\xa87\x18\x15\xa6\xcb\x9a\x04\xb9\xe8\ -[Ju\x1c\x8dp\xb2\x18\x1e6)\xda\x9e\x05\xd6H\ -tMY\x86\x04\x9e\x02\x00\xa8e<}\x9fB\xbd\xac\ -\x160L%gm\xa0\x83E\xbcA\x0c\x97\x08\xfa\x88\ -\x10\xd7(\xd0W]\x04\xca\x889]\x84|\xf8-\x0e\ -\x08\x84\xd0P\x11\x0f\xb1(<\xdb\x95\x9b\xba\x09W\x06\ -\xc3h\x08\xb6\xc8]\x16u\x0a\x18(H{a\x07\x9a\ -\x88\x03a\x80AO\x87\x9a\x00\xfe$\x13\xa1\x876,\ -p\x0a\xd8\xc8V|c\x87\xb5\xf31c\x81\xbbH \x86\x19\xfbi\x863\xee\ -\x02\x04\x98\xa8\x14[\xa9\x96\x15o\x01\xa2\x19R\x90c\ -#\xae\xec\xec.\xd2\xef\xa2\x03[\xc0T\x1a\xdd\xe3\x84\ -\xa4\x19\x07\xe8$\xfe7\x09F7$[\xaa\x84o,\ -X\x07\xfc\xc8\x9e\x86\x11|\xe8\xdcT\xf4\x04\x9f\x03|\ -\xd4A\xb0\x87\xd2\x88\x96a4@C\x87\xca\xa9H\x92\ -T\x9d+\xces\xdd\x01S\xd1t}\xca\xb0\x03\xf7\x80\ -N\x1eS\x9a \xf7\x84\x12\xa1\x84\x17\x8c1\x96^I\ -=\xddy\x8a\xab\xf2\x16\x87\x04\xf7\xa4cE\xc8X\xeb\ -\xeb\x8aE\xff\xb4W\xf9\xbe\xea\xa2>|\x04\xde\x0a(\ -\x0c\x99\xa4\x06~\xb8\xe2\xf0ll}\x86w\xbd\xf7\xa9\ -+pTR~\x86v\x18\x03\x00\xe8a\xbd\xfd\x9a\xd1\ -\xe0\xb6\x0cV\x9a\xa0~\x10\x0du\xae\xc1\x1c\xbb\xc3\x89\ -\x10uB\x05\xd5\x08\x08\x09\x03\xca\x0b\xf7\x00\xedTV\ -\x0d\x805\x05\xc1\x01\x0cC#\xacs\x05\xd8<\x0d\x07\ -d!\x1c\xf0B\x12\x13\xd0k\x09\xc2\x12F\x12\xc2\xf1\ -\xea\x90\xa2\xf2<\xc7\x80\xe1\x86Ce=\x00!\xd1\x0d\ -\xc7\x18\xc1\x87B\xc4Z\xc3\xd1E\x09b\x01\x152\xa0\ -(\x06/\xf0,\x88\x81\x08\x1c\x89@\x90\x0cD\xd0:\ -\xaa\x00\x98\x18\x061L\x1f< <\xf1\x09\x18\xc8\x8b\ -B\xe8FE\xd0\xde8#\x00\xd8\x88.\xea!\x80\xd5\ -k\x11\xe0\xb8\x1a\x04\x11X\x13\x19 B\x0a@\xecq\ -\x04\x91(\x0e\x028\x8c\xae\xd5\xe9:B\x03li\x06\ -\x18\xfc\x0eX\xe0\xf8c\xd1\x8c\xad\xc3Uv\xcf\x99\xf8\ -\x17\x91@u\xa9\x01 -#@\xb4P\x03\x12(\x0b\ -\x81\xd6$\x07\xc1<\x94\x03\xa0RN\x01\x98$V\x1e\ -\xb8u{/nB\x14u\x9e\x01\x5c04\x8e\x80\x91\ -\x14\x020W%\xc1:\x22\x04@>Z\x01$\xd6\x02\ -\x00[XQ\xc2\xce^\x0a\x01\x03/\xc3\x0c\xa5'\xcd\ -\xa4\x06\x81\x04\x18\x15CXD\x99AT\xd5\x82`^\ -\x8eG\xe4\xd1\x1fr\x04{\x1b\x81\xe0;\x1a\xc2\xfb!\ -\x83:n\x0c#\xc0\x19\x9cl\xc2'\x11\xc4\x0e\x82G\ -,#E\x81n\x05e\x81\x1b\x0f\xd1\xf8\xc0\xe1\xb8\xe8\ -\x1cQ\x80p\x0d\x83\x046\xa1\x90\xe1\x1b0ls\x0f\ -I\xfc\x1b\xf0\xb8\x1a\ -\xe2hK\x00\x80\x130\xc4\xe2\x02\x1e\xebn\xb3\x09\x02\ -2\x13\xb0\xd4\x18\x80_\x0d\xa0v!\x87\xd8\x1b\x01\x9c\ -\xe3\xa0h\xe0%\x1c\xb9\xcb\x98\xfe\x82\x16<\xe1^\x13\ -d\xe4\x10\xa0\xcd\x0d\x021\x01\xa0\xfa\x13\x80\x9f\x10\xed\ -v!l\x06\xd8\xcb<[e\xfa\x96\x02\x18\xc8\x81\x94\ -\x17\x8c\x82\x0dP\x01\x10B-\x06.A\x06\x8f\xd2i\ -/D\x06l\xc2\x1b,\xc6;h$\xe5@ \x02\xa8\ -\x90\x0f1T\x12\xe9\xd4!\x91B\x19\xeb\xc5\x13\x02,\ -\xe8\xce\x90\xb2.\x94!\xea\xc8\x0a\x86P\x15\xa2\xa0\x86\ -\xa9\x10\x02\x0c\x92\x9b\x22\xe8\x02Np\x8d\x8f\x10\xb9\xc7\ -\x08C\xe0\x1cHC\x84\xfdj=\x16B(\x8d\xc0R\ -\xfe!\xa4\x00q\xac\x00\x82\x18\x85@\xf6zA<\xbb\ -\xc2nPH\xa0\x92\x89*\xb5\xa9\xd4\xb5\xaf\x10\x93\x80\ -(\x03$>\x01\xa7x\x00\xe0\x12&\x01G\x1e!\x18\ -\x121\xe8\xa7\x91\xa0\x22oh\xe5\xa1\xb2\xc9\x82\x18v\ -\xc1&\xca\xe3\xca#e\x04\x96\xe0\x14\xc9\x22\xe2\x03 \ ->\x8d\x89.\x8d\xa3&\xb9\xc94\xc9\x22\x90\xa0\x8b\xc4\ -b\xc1\xcc\x1b\xf1\xee\x22b\xef\x1b\x81\x8cy\xe3\xf6!\ -aq#\xe1L|\x00\xf8\x0bb\x08\xc9\x91\xd1!\x06\ -$\x04\xcf\x10\xe7\x09e\x19F\xb1\x17\xed^+\x8a\xb8\ -\xcb\xec\xee\x1aa\x91\x22\xe24\x10\x92t\x14\xa0\x91'\ -\xa0\xb4!\x8d\x91&\xa1\x8e\x8d\x92\x0e\x03\xe9\x88\x02.\ -\x148\xb0\xae\x1e\xa1\xe4B\xc1\x9a\x18\x011* \xfe\ -g!\xb4grp#\x80\xc1+ \xf0\xf0\xa0\xd8\x10\ -\xe4r\xae\xe9\xe0\x86\xe3\x04\x1cC\x02/\xe1\xb6\xa9\x81\ -\xda\xb3\xcc\x06\xc7J\x9e\x1cr\xae$\x8f\x92\xf9o\x9a\ -+\x8aA-j\xfc\xa4\xe2\xf8\x1bj\x5c\xa5a\xac\xd9\ -\x0af\xd3r\xde'\xf1\xda\x01!\x1f0\xa1du\x02\ -p\xe0,\x07-\xa5~\x1c\xb2\xd0\xb3\xc86\x1c\xa9\xf2\ -\x1b*P\x1b\x8f\x8a\xab\xa6\x130\x22\xb5\x19Mr\x14\ -G2\x07\xe76#j\xee\xc0k\xd6\x1b\xed\xa6\xa5a\ -\xaa\xa5\xd3J\x9e!\xc2\xb1S4[\x88j\xf8\x00{\ -6`\x9a\x96\x80\x1e\x02N2\x1f\x8a&\x86(d\x1b\ -S+\x0b\x81\xbe\x1a\xcd\xa71\xb0\x095\xf3\x8d8\xf3\ -\x9193\x959s\x999\xb3\x9d9\xf3\xa1:3\xa5\ -:s\xa9:\xb3\xad:\xf3\xb1;3\xb5;s\xb9;\ -\xb3\xbd;\xf3\xc1<3\xc5\x0d\x0a\x0d\x0a \x0d\x0a \ - icon / o\ -utliner / entity\ - / Default\x0d\x0a Cr\ -eated with Sketc\ -h.\x0d\x0a <\ -defs>\x0d\x0a \ - \x0d\x0a \ - \x0d\x0a \x0d\ -\x0a\x0d\x0a\ -\x00\x00\x03\x87\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a \x0d\x0a \ - icon / o\ -utliner / entity\ - / Loop v2\x0d\x0a Cr\ -eated with Sketc\ -h.\x0d\x0a <\ -g id=\x22icon-/-out\ -liner-/-entity-/\ --Loop-v2\x22 stroke\ -=\x22none\x22 stroke-w\ -idth=\x221\x22 fill=\x22n\ -one\x22 fill-rule=\x22\ -evenodd\x22>\x0d\x0a \ - \x0d\x0a \x0d\x0a\x0d\x0a\ -\x00\x00\x19\xf8\ -\x00\ -\x00\xe0\x1cx\x9c\xed\x9c\x09\x5c\x14\xd5\x1f\xc0\xdf\xec\xc5\ -\xb5\xdc\x87\x17\xea\x8a\x1c^\xdc7\xca\xb9\xa0\xa0\x22\x08\ -xf\xc9\xb2;\xc0\xea\xb2\xbb\xee\x01hVj\xa6\xa5\ -\x96Gf^e\x1e\x99GiY\x1e\x99\x1d\x9af\x87\ -\x7f\xcb\xdb\xb2\x03\xf3oj\x99Q\xa6V\x9a\xfc\x7f\xbf\ -Y\x16\x06\x04E\x19\xc0\xfe\xcd\x97\x0f\xb3o\xde\xf5\xfb\ -\xbd\xdf\xbcy\xd7\xcc\x9b\xccL\xd2\x8b\x10bK\xbc\xc8\ -M\x22\x02\x17E,\x07!\xf3\x93\x0f\x07\x8a\xe5\x160\ -n\x88GyQ\xc2j\x7f\x88LI\xaa\xdd\x028\xb8\ -Z\xf3\xc9\xaa\xa4\xdcXq<\xab\xddLjV\x9e\xed\ -\xac\xf1\xe7\x11\xaa#\x11[\xdcT\x17\xaaS\x8d\xdb\x9f\ -\xf2f\xe5\xd3\x83%+\x14\x8f\xc4\x07\x5cAT\x18\xe3\ -\xf6\x00w6\x95S\x1b_\xb0\x0b\x8fQ\x9d\xe0T5\ -#\x03\xdd\xd2\x1e\x84DO\x99\xa9\xb6\xca\xfd\xaer\xa6\ -\x91\xd8\x80\x7f:!\xf2uX~\xb0\x87\xe5\xcf\xfe\xc6\ -\x14B\x02\x5c\xac\xbf\xc9*]\x01-\xcb.\xd6\x99t\ -\xc6b\x9d^&\x97\xcb\xc2BB\xa3e=F\xa8\xb5\ -*]\x99\xb1'\xc1\xd3\xb8\x90\xb0\xb8\x90pYhd\ -\x5cX88H\xbf\xc4r\xbdB9\x9e6\xc9\x0a\xe8\ -\x22\xb56\xde\xe7\x97w\xde\xf7\x91\xa9U\xf1>#\x22\ -3C2\xf5r\xbaX\x9d>\xc9@\xe7N\x1a\x92\xa7\ -\x9c4^\x19\xab\xf2IL\xb0\xefW\x1eW^\xa2/\ -\xa1M\x0aYy\x89Fk\x8c+\x8f\xf7Q\xa0\xfc8\ -p\xa3w\xb0\x8f\x8c\x89b\x1a\x1f\xefcQldf\ -\xb6L\xae3\xd0\xb2\xc8\xa0\xa8@ehx\x8c,:\ -6(426&,\xa2\x0f*\x1a\x15\x1c\x12\x1b\x1c\ -\x1a\x11\x18\x12\x1a\x17\x12\x1b\x17\x12*\xab\xc6'\xc1\x1e\ -\x8e\xfd\x0c\xaa\xc2\xb8\x9c\xd4\xfe\xd5\xe2\xe0,\xde\xa7\xd8\ -d\xd2\xc7\x05\x07\x97\x95\x95\x05\x95\x85\x07\xe9\x0cE\xc1\ -\xa1\xb1\xb1\xb1\xc1!a\xc1aa\x81\x10#\xd08Q\ -kR\x94\x07j\x8d\xdd-\x99X\xf3I\xa5\x8dJ\x83\ -ZoR\xeb\xb4284($\xb8\xa1D*eM\x1a\ -\xbd\xd9\xa0aTS)\x83i\x0d]BkMFH\ -\x17\xda`:\xbd\xf5\xda5,\xb2&\xb8Q\xc1\xa0m\ -f\xe6\xed\xf5-)i0\xa5\xd1\x94Vj\xba}J\ -c\xdeD=\x1d\x9cC\x1buf\x83\x92N+\x85\xa2\ -\xd4\xda\x15M\x0b\xd2\xe3\xe4\x06Za\xa2S\xe1?\x01\ -k[`HX`Hx\x1e\xd4\xb6\x90\xa8\xb8\xb0\xc8\ -\xc0\x90\x98\xb8\x90\x90~\xc1\xf5b\xd6\xcb#S\xa7R\ -\x17Nl \x0f\xa6\xc6\xb2\xf3`\xc5\xac\x9f\x07\xd4A\ -\x95\xc2\xa4hR.\xec\xb8\xac|T\xca\xb8B\x9d\xa1\ -DaJP\x97(\x8a\xe8`\x93\xba\xb0\xb0_p\xad\ -/+j\xcd\xa5\x89\x93\xeb4:\x03\xe8E'\x84\xf7\ -\x0bn\xc8\xbb\xc1T\x19ry\xb6AW\xa8\xd6\xd0\x09\ -\xc6\x9c\x01)\xb2\x8c4yThlTT`XP\ -(;\x1bV\xbc\xba\x05\xce\xcc\x8c\xcb\xd0\x1aM\x0a\xad\ -\x92\xceHM\x00\x8f \xb5Z\x15WX\x18AG\x85\ -\xc7D\x05\xd2\x85\xe1t`(\x1dA\x07\x16D+c\ -\x02\xa3\x14\x11\x91ttxAX\xb4R\xc5\xd8\xa0n\ -\xf2[\xb2N\xd5)\xcdXu\xab\xb3V\xdde\xd6\xac\ -\xe4\xb7d\x9dePC\xb3\xa3\xd04SD\x03\xd9\xdc\ -\x22*]m4\xe9\x0c\x13\x13\xeaT\x7f\xa6A\xc8\xa5\ -'\xd4\xf5\xb5\x06h\xd4L\x03\xa1W\x18\x8c4V\xff\ -x\x1fk\xfd\xf7\xb9%\x01\xa6an\xa38\x85\x12\x9b\ -\x96\x04%S\xc3A\xc5:\xbe\x8d'S\xdf\xeb\x05\xbc\ -%y\xe32\xca\x8ai\xed\xed\xeeLV\xac\xc631\ -\xea\x0aMe\x0a\x03\x9d\x5c\x04\x96N\xb8c\xbfc\xcd\ -\xb5n\xb2[\xec\x1dl1x\xbd\xcb\x13|\xeb\xf5\xb1\ -^\xf3z\xd7\xd3\x12\x95\xd5\xb6[:\x8e\xe0\xea\x9e\x03\ -:\xad\xe0\x9a^\xab\xa1\xc2q\x0f/\x84\x17\xc2\x0b\xe1\ -\x85\xf0Bx!\xbc\x10^\x08/\x84\x17\xc2\x0b\xe1\x85\ -\xf0Bx!\xbc\x10^\x08/\x84\x17\xc2\x0b\xe1\x85\xf0\ -Bx!\xbc\x10^\x08/\x84\x17\xc2\x0b\xe1\x85\xf0B\ -x!\xbc\x10^\x08/\x84\x17\xc2\x0b\xe1\x85\xf0Bx\ -!\xbc\x10^\x08/\x84\x17\xc2\x0b\xe1\x85\xf0Bx!\ -\x1c\x0b\xb1\xaf\xdd\x07FkU\xf1>e>\x89\x09$\ -&%#S\xe4\xc7\xec9s!\xf5`\xc2\xe2\x18\xe7\ -\xd9\xeapfw\x1eq\xd0\x1b\xd4ZS\x96\xd9\xa47\ -\x9b\xe0\x14\xb7\xc9\x91l\xa3)\xb7@\xa7\xd3012\ -\xb4&\x9a\xd6\x9aK\xacn\xfc\x95k\x0cx\xee\xcc\xa4\ -\xcdU\x97c\x8c\x14\xb5\x09\xd3\xd4\xe6I\x1b\x86(J\ -\xe8\xbc\xb4\x91y5\xc2,\x09\xb2\x0d:]a.m\ -2\xeb\xb3\x0a\xc6)\xc1[J\xb2\x89\x81\xe8\xe0\xaf\x90\ -\xc8H.\xa1\x89\x89\x98\x89\x9eIb\xaf\xaf\x89m\xcd\ -&Ec\xd2Vk$-0\xab5&\xb5\x96\xc9\x12\ -\xce\xed\x98\xd8\xf2\xccQ\x83,%\xee\x8b\xf1\x05\x81u\ -J\xec\xc6*q\x16\xb3\xf3\xc0\x08\xbe\xed\x98r\xe9M\ -Zk!\xa0\x90\x05\x86\x9a\x93\x9c\x22cfm\x88A\ -+\xaf=\xd1\x9ajO\x06\x17h\x8c5'C\x8aL\ -\xa55'i%\x9a\xd4\x9a\x13\xb0cm\xd6)\xca\xf1\ -E\xd5\x86\xb0(Hr\x06\xa4\xc8\x89e\xdb$\xc9Q\ -\xc9d*\x9d\xb9 IWQs1\x07\x18\xb4\xb7\xf8\ -\xa5hn\x8d\x97bP\xe5\x0d\xd3\x9a\xfaw\xcf\xd1\x98\ -\xd8\x95!E\xa3\x925\xe4\x9fc\xd4\x98\x18\xff\xecr\ -MRN\x8d\xb7})\xad4\xe9\x0c\xa9\x0a\x93\xa2\xa6\ -Vd\x17e\x1b\xad\xb5\x02\xdd\xd5\xbfr\xc6\x08t\xa1\ -\xa9\xa1\xec\xf3t\xfa\x06\xc5\xe6*5\x16\xffl\x832\ -iT\x8d\xb7\x8b\xd2\xa0\xd3\x8f(\xa6\xe1\xe2\xc2\xf5R\ -k\x8b\xac\x16s\xc2\x80\x1c\xd0)Eg2\xe9J4\ -:mQu\x12\xa95\x04U`\xf9;Z\xfds\xd4\ -E\xc5\xec\x00\x07k\x00\xe8V\xe3\x8d5G\xf8\xb3E\ -\x07\x92N,{?\xab\x7f\x99Z\xe5\xcf\x849\xd5\x96\ - qJu\xaaK\x16q\xd2<\x83Bk\xd4+\x0c\ -\xb4V9\xd1R\x13=\x99\x90.\x18J\xf2\xa0\xb6+\ -\x88\x96\x18\xa1\x8e+\xc0M\x83[I&V\xdf\xa5\x91\ -LLWF\x1e\xa9\xaa\xaa\x16\xa1\xa2,\xa1\x9d\x993\ -\x91UO\x91c\xcdy\x17\xe6\xbcC\xdds\xe1e\xe6\ -\xdc\xce\xaa\xa9%\x97\x00K\xfb`o\xadp\x96r\x09\ -\xaf0\xeet\x12\x5cX\x08!\x1a8J\xaa\x13Y|\ -V.YZ\xe3\x13\xc6\x1cG\xc3\xd1\xea\x13\xc9\x1c\x03\ -k}\x98<\xff`\xdcz,IC\x08\xcfc0\xf7\ -a\x8c-,e\x13T\x9f\x09\xea\x9c\x85Xt\xac\xb6\ -j`\x9d0\xdb\xeak\xcf\x5c\x01A\x92\xe5\xbf:\xac\ -K=\xfbwD\x970\xb2\xa6\xd4\x16\xf2\xab\xff-\x96\ -\xb9\x15\xb6\x1f;n\x83\x11\xac\xd46aDk\xd6h\ -,\x0a\x13I\x81\xce\xacU\x19\xeb\xb5 JS\xa8U\ -M\xbc\xedXU\x9e\xd4\xbb7HJ\xed=\xc4\xa8\x91\ -S{\x8b\xe0\xb9\xc4\xa8Q+i\xe3p\xcd`\xbc\xc9\ -\xa9:r\xc4L\x188\xdc\xe0\xdf\x869\xc9He\xe5\ -mSd\xd0\x99\xf5u\xbc$:f\xeb\x9f\xb5\xfdN\ -\xcb\xc5D\x96\xed\x80p\xee\xa80\x9bt\x03h-m\ -\xc0\xadx\x8c\xf6\x13\xf5\xd6\xee\xc7\xde\x12\x19}0$\ -\xa3\xa4H\xd6\x0a\xe5\x17\x9a\x0d\x9a:\x9d\x18c\xfc\xba\ ->\x99\xc6\xa2\xba\x1d\x9dD\xa11\xe5)\x8a\xea\xf89\ -)iHG\x97\x9b2\x8c\xe9y\x99\x83\xadM\xa9\xad\ -\xd5\xbbNd\xbbb\x9daR\xb2F]d\xb5\x94\xb3\ -\xa5\xf0\xe9Vo\xb4\xae\x8a.T\x98\x99\xb6\xd4\xae\x94\ -6\x98\x1a\x88>\xdc\xea]7\xbaCA\x11\xb3\xc3\x95\ -e\x5cWK\x82\x94\x015\x01\xa8\xc6\x10\x9d\x16\x7f\xed\ -L:=t\x98F\x9am8{\x0d\x18\xf2\x16_i\ -\x01\xd3(\xdf\xe2\xef`\xc0\xa6\xb7\x9e7s\x07\xf5\xb0\ -\xa4\x83\x7fAb%\xa9\xf5\xf7`\x9cx\x09\x85\xcc9\ -\xc6 \x82\x93\xd5&\xca\xb7\xfcSP\x05\x98;a\x17\ -iO\xa8\xaa\x93U?\x13)\xb3\xc3q\xac<\x13\xce\ -/\x11'\xe6\x8c\xa8\xa6`\xba\xaaSd:\x91\xda\xda\ -\xda\xda\xd9J\xed\xec\xa4\xae\x0e\xf6\x0e\xae\x9e\xceR\xa9\ -\xb3g{wwOw\xf7\xf6\xaeR\x86\xea\x9f\x86\xa1\ -\x1c\x1d\x1c\x1c\x9d\x1c]\x9c\x9c\x5c<\x9c\x9c\x9c<\xf0\ -\xe0\xe4aI\xe2\xda\x94\x0c\xaa> \xae\xb6\xa0|\xbe\ -\x90\xf2!\x02WJ\xe8JU}\x03\x05\x95T\xed\xa5\ -\x12AK1\xc5Pm8!\xa1\x04\x22\xb1\xc4\xc6\xd6\ -\xce\xde\x81\xaa\x1fH\x11\x81\xd0\x1a\xe8B(\x11%\x14\ -\x88\x04b\x1b\x89\xadX(\x0d\x87@W\xa1\xa8\x9b[\ -\xa88y\xa8\xc2\xddg\xc2\xd40\x89\xc7\xfc\x95o\xa4\ -t\xf7\xf5\xcc\xd9]\x10\x1ea\x98vHn\xe3\xb7 \ -\xb7\xf2\xf4\xafJc\xa4\xd7\xaa-\x8f\xfb\xa7>\x9b\xa7\ -J\xdb\xb3\xda\x14\xd5\xee\xf0\xb0\xef\xe9\xdf\xde\x9c\xfe\xe1\ -\x11\xf3\x99\xcb\xfd\x03\x16\xaey\xe2\xad\xe7\xf6\x1e\xfd\xef\ -\xef/o\xddw\xec\xec\x95\xe1\x85\xa53\x16\xad\xdd\xf6\ -\xd1\xf1\x1f\xaeF\x0f\x18QT6\xf3\xf9W\xb6\xef?\ -q\xee\x9a+\x11\x08@[\x11\xa3\x93\x8dD\x1c\xc9\xa8\ -\xd0-\xd4M\x04\x1aL\xf0q\x17\x87M\x9d\xef\x81\x1a\ -\xec\xce9T\x19\xee[p\xda0m\x81<\xd7Si\ -\x8c\xf8\xd5O\x82\x0a\xd8\xf8G\xee9\x0cJ\xacn\xa7\ -J\x1b\x16e\xa2\xbf\xafQ\xa1q\x0d\x02jU\xa8\xfa\ -\x8aH\x85\x8cLW\x92H\xae\xe4-\xc8\xf0\xeb\xe9\xbb\ - c`\x86\xef\x82\x9c\x05\x19\xbe\x0b\xd7T{dU\ -}q\xbb\xc0C\xb7\x0b<|\xbb\xc0#\xb7\x0b\ -!\xc02\xd4m\x03\x9b\x08^[\x8b\xeb\xf2P\xe6\x9a\ -Q^\x07j\xfd\x1a\x8a\xa7[\x05m0\x8c\x06\x85\xf3\ -j\xfd\x0a\x96\x10\xb2\xfd\x09B\xda\x7fU\xeb\xe7\xfb\x12\ -\xd4Q\xb8n\xdb>g\x95\xc7\x0b\xeb\x0b\xebc\x1fj\ -Z\x19\x84\x06\xad\xe1\x8e\x11\x9a\x00K^\x10fWc\ -\x1eY\xaa\xa5\x97\x93\xa1\xdd\x94\xd0\x97\x99\x0d2\x18\x89\ -+iY`\xfdJ|\xcf\x09\x1b\xd6\xa3O\x0e]H\ -\xe3\x88\x9f\x96\x0d\x87Z\x06\x13\x16\xb8\xdcZ\x95\x9a\xf9\ -n\x89Z\xdb\xd8E\xbc\xc7d\xf5\xb0\xd4k\xc0}\xcd\ -M\xe216\x88\xb8|\xeeA\x84?\x1f \x22w\x07\ -\x22\x1c\xf3\x22\x84P5\xd7m\xb0\xddp\x82w\xde\x88\ -\xae\xe7,\xf5\x9e\xa1\x81!\xa7`.\x1e\x8cjf\xa0\ -E\xe49y2\xa5\xd9Pj\x09c\xc6Vb\x98C\ -8\x13\x0f\xd2\x01f6\xddI\x0f\x18\xfd\x87A#\xd3\ -\x97$\x9142\x90d\xc1Lg\x14y\x08\xe66\xc5\ -\xa4\x04\xe69ed2\x99Jf\x90\xd9d\x1ey\x8e\ -,%+\xc8\x1a\xb2\x9el\x22[\xc8v\xb2\x8b\xec&\ -\x1f\x91\xcf\xc8\x17\xe4\x189E*\xc8Y\xf2\x13\xa9$\ -W\xc9u\xe8\xecl(G\xca\x9d\xea@u\xa5\xfc\xa8\ -\xdeT\x18\x15C%Pi\xd4`*\x87\x1aE\xe5S\ -E\x94\x962S\x93\xa9\xc7\xa9\xd9\xd4\x02j)\xb5\x92\ -ZO\xbdA\xbdM\xed\xa6>\xa1\x0eQ_R\xa7\xa9\ -\x0b\xd4o\xd4_\x02\xa1@*\xf0\x10t\x16\xf8\x0b\x82\ -\x051\x82d\xc1 A\x9e\xe0AA\x91`\x82`\x92\ -`\xba\xe0\x19\xc1b\xc1*\xc1\xab\x82m\x82\xdd\x82\xcf\ -\x04\xc7\x04\x15\x82\x9f\x04W\x84D\xe8 \xf4\x12v\x13\ -\x06\x0ac\x84ra\x96p\xb4\xb0Ph\x10>*\x9c\ -%\x5c$\x5c%\xdc$\xdc)\xdc/<\x22\xac\x10^\ -\x14\xfe)\x92\x88\xdcE2Q\xa0\xa8\xaf(]4L\ -\xa4\x14M\x10=*\x9a#Z*Z'\xda&\xda+\ -:\x22:-\xaa\x14\xdd\x14;\x8a\xbd\xc5\xbd\xc5q\xe2\ -\x0c\xf1Hq\x91\xb8L\xb7;kw\xdd\xde\xd5>\xc0>\xde>\xcf~\x9c\ -\xfdT\xfb\xc5\xf6\x9b\xec\xf7\xd9\x7fm\x7f\xd9\xc1\xc1\xc1\ -\xc7!\xd6a\xa8\x83\xdaa\x8a\xc3b\x87\xd7\x1d>v\ -8\xed\xf0\xa7\xd4M\xdaK*\x97\x8e\x91\x9a\xa5\xcfH\ -_\x91~ \xfdRz\xd9\xd1\xd1\xd1\xdf1\xc9q\xb4\ -\xa3\xc9\xf1\x19\xc7\xf5\x8e\x1f:~\xeb\xf8\x87\x93\xbbS\ -\x90S\x86\x93\xca\xe91\xa7eN\xdb\x9c\x0e;]r\ -\xb6s\xf6sNv~\xc8y\x92\xf3\x22\xe77\x9d?\ -w\xbe\xe8b\xe7\xe2\xef\x22wQ\xb8<\xea\xb2\xcc\xe5\ -m\x97\x13.W\x5c\xdd]C]\xb3\x5cK\x5c\xe7\xb8\ -np\xfd\xc4\xf5\xbc\x9b\x8d\x9b\xbf[\x9a\x9b\xcam\xba\ -\xdbj\xb7\x0f\xdd\xce\xb8\x0b\xdd\xbb\xbb\xcb\xdd\x95\xee\x8f\ -\xbb\xafq\xdf\xe7~\xd6C\xe2\x11\xe0\x91\xe11\xcec\ -\xb6\xc7k\x1e\x07=*=\xdd<#<\x87{\x96{\ -.\xf3|\xd7\xb3\xc2K\xe8\xe5\xef\x95\xe1\xa5\xf1\x9a\xeb\ -\xb5\xc5\xeb\xb8\xd7_\xed:\xb7KnG\xb7{\xaa\xdd\ -\xa6v\x87\xdb]k\xdf\xa9}R{\xba\xfd\xac\xf6\x9b\ -\xdb\x1fk\xffW\x07Y\x87\xb4\x0e\xe3;\xcc\xef\xb0\xbd\ -\xc37\x1dE\x1d{u\x1c\xda\xb1\xac\xe3\x8b\x1d\xf7u\ -\xbc\xd8\xc9\xa3S\xdfN\xcaN\xb3:m\xe9\xf4\x95\xb7\ -\xc0\xbb\x97w\x8e\xf7\xc3\xde\xab\xbd\x0fx_\xe9\xdc\xa5\ -\xf3\x80\xce\xfa\xceK:\x7f\xd8\xf9b\x17\xaf.I]\ -\xc6uY\xd8\xe5\xbd.\x17\xba\xbawM\xe8\xaa\xee\xba\ -\xb0\xeb\xfb]\x7f\x94y\xca\x92e\x1a\xd9b\xd9^Y\ -e7\xefn\xe9\xdd\xcc\xddVv;\xd8\xed\xbaO\x80\ -\xcf0\x9fi>\x9b}\xbe\xe9n\xdf=\xa6{a\xf7\ -\x85\xdd\xf7t\xaf\xf4\xed\xea\x9b\xe9;\xd9w\xa3\xefW\ -~v~1~\xc5~\xcf\xfb\xed\xf7\xbb\xe6\x1f\xe0?\ -\xc2\x7f\xa6\xffv\xff\xf3\x01\xed\x032\x02&\x05l\x0c\ -\xf8\xba\x87c\x8f\xc4\x1e\x13z\xac\xeaq\xb4\xa7\xa4g\ -L\xcf\xf1=_\xe8\xf9E/A\xaf\xc8^\xc5\xbd\x96\ -\xf5\xfa\xbc\xb7\xa0wTou\xef\x17z\x1f\xea#\xee\ -\x13\xdbG\xdbgU\x9f\x13\x81\xd2\xc0\xe4\xc0\xd2\xc0\x8d\ -\x81\xa7\x83\xbc\x82\x06\x07M\x0b\xda\x1et)\xd87x\ -t\xf0\xfc\xe0\xfd\xc17C\x22C4!kBN\x85\ -\xba\x85\x0e\x0c\x9d\x16\xba3\xf4\xb7\xb0^a\xca\xb0e\ -aG\xc3\x1d\xc3\xfb\x87?\x16\xbe#\xfc\xd7\x88\xde\x11\ -t\xc4\x8b\x11'#\xdd#3#gF\xee\x89\xfc;\ -*:\xca\x10\xb5)\xeaB\xb4ot~\xf4\xf2\xe8\x13\ -1\x1e1\xd91sb>\x8e\x15\xc7\xa6\xc4>\x16\xbb\ -+\xf6\xcf\xb8\xa88S\xdc\x96\xb8_\xfa\x06\xf6\x1d\xdf\ -wC\xdf\xf3\xfd\x02\xfa\xd1\xfd\xd6\xf4;\x13\xef\x13\xaf\ -\x88_\x19_\x91 K\xc8Ox)\xa1\x22\xb1[\xa2\ -\x22qU\xe2\xf7I\xdd\x93TIk\x93\xce%\xf7L\ -\x1e\x97\xfcj\xf2\xa5\x94\x90\x14C\xca\xd6\x94k\xf28\ -\xf9#\xf2\x0fR\x85\xa9\x03Rg\xa5\x1eLsK\x1b\ -\x96\xb64\xed\xdb\xfe>\xfd\x8b\xfao\xec_9 r\ -\xc0\xc3\x03>H\x17\xa7\x0fJ\x9f\x9f~\x22\xa3s\x86\ -2c}F\xe5\xc0\xe8\x81\x8f\x0c\xdc;H:(w\ -\xd0\xd2A\xdf\x0f\xee5\xd80xg\xa6 s`\xe6\ -\xb3\x99_\x0f\xf1\x1b\xa2\x1d\xb2=\x8bded=\x9b\ -\xf5Mv@\xf6\x84\xecw\x86J\x86f\x0f]6\xf4\ -\x87\x9c\xd0\x9c\xc99\xfbs\xdds\xc7\xe6n\xc8\xbd\x9a\ -\x97\x9277\xef\xd4\xb0\x1e\xc3\xcc\xc3\xf6\x0cw\x1e>\ -f\xf8\xfa\xe1\xd7F\xa4\x8eX0\xa2bd\xf0\xc8G\ -F~6\xaa\xe3(\xf5\xa8\x1d\xa3mF\x0f\x1f\xbdv\ -\xf4\x95\x07\xd2\x1ex\xee\x81\xb3c\x22\xc7\xcc\x18s\xfc\ -\xc1\x80\x07\xcb\x1f\xfc\xe4\xa1\x8e\x0fi\x1ezw\xac\xf3\ -X\xc5\xd87\xf3\xc5\xf9#\xf27\xe4\xdfPd)V\ -)\xae\x14d\x14,/\xa8T\xca\x95\xcf+\x7fR%\ -\xa9\x16\xaa.\xd0\xf1\xf4\x02\xfa\x5ca|\xe1\x82\xc2\xf3\ -E\xf1E\xcf\x16](N,^T|Q-W/\ -U\xff:.}\xdc\x8aq\xd7\xc6g\x8d\x7fe|\x95\ -f\x84fs\x89mI~\xc9\xdbZ7\xedx\xed^\ -]\x17]\xb9\xee\x90\xbe\xb7~\x86\xbebB\xdc\x84\xe7\ -&T\x1a\x06\x19\xd6\x1a)\xe3\x83\xc6\x1d&\x0f\x18L\ -\x1d0\xf70?a>]\x9aP\xba\xac\xf4\x8f\xb2\xe1\ -eo\x96\xbb\x96k\xcb\x0fL\xec5\xf1\xa9\x89\xe7&\ -\xf5\x9f\xf4\xf2\xc3\xa2\x87\x95\x0f\xef\x99\xdcm\xf2\xd4\xc9\ -\xa7\x1fI~d\xe5\xa3\xd4\xa3\x05\x8f\xeey\xac\xfbc\ -\xd3\x1f;;e\xc0\x94uS\xed\xa7\x8e\x9f\xfa\x9fi\ -!\xd3\x16L\xfb\xfd\xf1\x11\x8f\xef\x9c\xdey\xfa\x94\xe9\ -g\x9e\x18\xf0\xc4\xc6\x19N3\x0c3N\xcc\xec;s\ -\xc5\x93\xa2'\xd5O\x1e|*\xfc\xa9%O\xdd\x9c\xa5\ -\x9a\xf5\xe9\xec\x90\xd9\x8bf\xdf\x98\xa3\x9c\xf3\xe9\xd3\xa1\ -O/~\xba\xea\x99\xc2g\x0e\xce\x8d\x9a\xfb\xe2<\xc9\ -<\xed\xbc\xe3\xf3\x13\xe7\xaf[\xe0\xba`\xd2\x823\xcf\ -f>\xbbm\xa1l\xe1\xac\x85\xbf?7\xf6\xb9O\x16\ -E,Z\xf1\xbc\xfd\xf3\xe6\xe7+\x16\x0f^\xbcc\x89\ -\xef\x92yKn,-^zlY\xca\xb2\xcd\xcb\xbd\ -\x97?\xb5\xfc\xda\x0b\xaa\x17\x0e\xbf\x98\xf4\xe2\xa6\x15\x9d\ -W\xcc^\xf1\xd7K\xea\x97N\xae\x1c\xb0r\xdb*\xff\ -U\x8bVKV\x97\xae\xfea\xcd\xf05\xfb_\x8ey\ -y\xfd\xda\x8ekg\xaf\xfd\xfb\x15\xed+\x15\xebr\xd6\ -\xed]\x1f\xbd~\xfd\x06\xef\x0ds7\x0a6\x9a7^\ -xu\xcc\xab_\xbc\x96\xfa\xda\x8eM\x81\x9bVn\xf6\ -\xda<\xfbu\xf2\xba\xf9\xf5\x1f\xdf\xc8\x7f\xe3\xf8\x96A\ -[\xf6\xbc\x19\xf3\xe6\xa6\xb7\xfc\xdeZ\xbe\xd5}\xeb\xac\ -m\xd4\xb6\x89\xdb*\xb7\x17o\xaf\xd81j\xc7\xa1\xb7\ -\x07\xbe\xbdgg\xdf\x9d[\xdf\x09z\xe7\x95]\xddv\ --{\xd7\xf3\xdd\xb9\xef\xd9\xbf7\xfd\xbd\xaa\xf7'\xbd\ -\x7f\xe5\x03\xfd\x07\x17w\x17\xed>\xb3g\xec\x9eS\x1f\ -\x8e\xfc\xf0\xe8\xde\xa1{\x0f\xee\x1b\xb4\xef\xe3\x8f\xfa\x7f\ -\xf4\xe1\xfe\xe4\xfd\xef\x7f\x1c\xff\xf1\xaeO\xe2>y\xfb\ -\xd3\x98O\xb7\x7f\x16\xf5\xd9\xb6\x03\x91\x07\xb6\xfe'\xf2\ -?[\x0fF\x1d\xdc\xf6y\xf4\xe7;\xbe\x88\xfdb\xe7\ -\xa1~\x87\xde;\x9cxx\xf7\x91\xd4#\x1f\x1d\xcd8\ -\xfa\xd9\xb1!\xc7\x0e\x1d\x1fv\xfc\xe4\x891'*N\ -\xaaN\x9e\xffR\xf3\xe5\xaf_\x95~u\xfd\xd4\x94\xaf\ -\xc5_\xcf\xfa\xc6\xe5\x9bE\xdfz\x7f\xbb\xea\xbb\x9e\xdf\ -m\xae\x88\xaax\xf7t\xea\xe9\x03\xdf\xe7~\x7f\xea\x8c\ -\xf2\xccO\xff5\xfe\xf7\xc6\xd9\xe9?8\xfe\xb0\xe8\x5c\ -\xd7s\xeb\xcf\x87\x9d\xdfu\xa1\xff\x85/~|\xe0\xc7\ -\xb3?\xe9\x7f\xba~q\xc6\xcf\xae?/\xbf\xd4\xe3\xd2\ -[\xbf$\xfdr\xa0rd\xe5\xd9_\x0d\xbfV\xfd6\ -\xe7r\x87\xcb\xaf\xfc\x1e\xf1\xfb\x9e+\xd9W\xbe\xbdZ\ -r\xf5\xfa\xb5Y\x7ft\xf8c\xdd\x9f1\x7f\xee\xffk\ -\xc4_\xe7\xae\x97\xdd\xb0\xb9\xb1\xf8\xef\x9e\x7f\xef\xbc9\ -\xe8\xe6\xd7U%5+\x93<<<<<<<<\ -<<<<<<<<<<<<<<<<\ -<<<<<\xffbl\x81\x91@[\xeb\xf1oe\ -\x05\x80{e^\x04\xf0Z\xb4\xb5>\xff&\xb0\xde\xb3\ -\xf7+}\x06t\x01ZBVG`\x180\x13\xd8\x01\ -\x1c\x03~\x00\xaeU\x83\xee\xe3\xc0\xdb\xc0\x93\xc0p\x00\ -\xd3\xb4\x84.\xf7\x0bX\xdf\xb1\xde\xb3\xaf\xc1\x8f@\x0a\ -\xc0E\xfe\x9d\x802`?p\x13hx\x97Z\xe3`\ -\x9aO\x80r\xa03\xc0\x85N\xf7#%\xc0_\x80\xb5\ -\xdc7\x00\x1dp\xaf\xf9\xc5\x00\xeb\x80\xeb\xc0\xdd\xda\xbc\ -10\xaf\x0d@\x1c\xc0e\xd9\xef\x17\xfa\x02\xe7\x00v\ -\x99\xd7\x02\xf6@S\xf3\xf0\x06\xd0F\x5c\xd9\xbc1^\ -\x05Z\xaa\x9dlK:\x00\x1f\x01\xec\xb2\x1e\x02|\x80\ -\xdb\xa5\x93\x00\xd8F\xfc\x0e\xb4\xb4\xed\xad\x5c\x01&\x01\ -6@k\xd9\xa75@[.\x01\xd8e\xbd\x04\x0c\x00\ -\x1a\x8a\xdf\x1f\xf8\x12h-\xbb\xd7\xe7\x14\x90\x0e\xb4\xb6\ -\x9dZ\x9a\x02\xe0\x0f\xc0Z\xce\xbf\x01\xecK\xad{\x1e\ -\x05\xc0\x13@[\xd9\xbd>8fB\x9d\xda\xdan\x5c\ -\x12\x09|\x0f\xb0\xcb\xf9\x1a\x80\xed\xfcV\xa0\xadl\xdd\ -\x18\xdb\x01\x17\xa0\xad\xed\xc6%\x9e\xc0\xfb\x00\xbb\x9c\x7f\ -\x02md\xe2;\x82\xedQo\xa0\xad\xed\xc6%\x22`\ ->\xd0\xd6\xb6m*\x97\x814\xa0\xad\xed\xc6%\xa9\xc0\ -\xfd\x5c\xef\xeb\x83s\xea\xff\x97k\x80c\x1c,\x0f\x17\ -v9\x0b\xe0\xbd\x84c\x96^\x80#\x80\xdfB\xf0\x07\ -\xce\x00\x5c\xc8\xb0\x82:\xa3\xeemm\xbf\xe6\x80\xe3N\ -.l_\x01\xe4\x02\xb7\x1b\xa3`\xdb\xcd\x85\xdd\xd9\xa0\ -\xee\x8d\x8d\x9d\xefwp\xfc\x83\xf3\x9c\xe6\xda`\x0e`\ -\x07\xdcI^K\xd8\x1f\xc12D\x00\xada3\xae\xc0\ -\xf9}\xfd\xf5\x88\xbb\x05\xe7\x0c\xe3\x80\xa6\xcal)\xfb\ -#X\x96\x7f\xca\x1a\x1e~\xc7\xe6\x08\xd0\xdc2\xdf\xed\ -\x1a^K\xda\x1f\xc1\xb5\x14\xecoZ\xcan\x5c\x80\xf3\ -\xdb\xb7\x00.\xca\x8bm~(\xd0T\xd9-m\x7f\xe4\ -\x0d\x80\xf5\xdd\xa2\xfb\x8e\xc9@s\xcb\xc8^\xeb\xbf\x0a\ -<\x084Evk\xd8\x1f\xc1u\x94\x96\xb6\xe3\xbd\xd0\ -\x0f\xc0\xb5\xff\xe6\x96\x0f\xc7\x97\x95\x00\xdbo\x1e\x80\xf3\ -\xb8\xdb\xc9o-\xfb\xe3\xb3\x84h\xa0\xb5\xec\xda\x14\xb0\ -\xcd\xc7\xf6\xa2\xb9e\xc3<\xc4\x80\x1fp\x14`\x87\xed\ -\x01\xda\x01\x8d\xe9\xd0Z\xf6G\xbe\x02\xee\xe6\xd9FK\ -\xf34\xc0E\xb9\x9e\x02\xacy\xe2\xbc\xaa\xfe\xf3\x98\xff\ -\x02\x8d\xd5\xbd\xd6\xb4?2\x15h=\x0b7\x0e\xae\x19\ -\xe2\x9a\x09\x17eJ\x02\xea\xe7\x8f\xcff\xd8\xed\x1a\xae\ -c\xa8T*U\xfdx\xadm\x7f|\xae\x81u\xa4U\ -\x8c|\x1bJ\x01.\xca\x83}-\xb6=\x0d\xc9\xc0\xf5\ -\xa3\x8b\x00;\xfeR\x00\x9f\xf7X\xe3\xb4\xb6\xfd\x91\x09\ -@\xebY\xbaa\xb8Z\xcb\xff\x1a\xb8\x9d\x1c\xfc`\xf9\ -A\x80\x9d\xe6c\x00\xdf\x93\xc0p|\xce\x19\xd0D\xb8\ -z\xe6\xb6\x05h\x1d+7\x0eWe\xd9\x0b\xdcI\x16\ -\xaeC\xac\x06\xd8\xe9\xce\x03\x09\xc0\xdd\xe8\xfc\x1e\xc0\x85\ -\xce'\x80{\xb7\x1c7`\xbb\xc1EY\xde\x04\x9a*\ -S\x0f\xb0\xdfOA\xb7F\xa3\xd145\xfdf\x80\x0b\ -\x9d\xb1\xec\xf7f5\xee\xf8\x0e\xe0\xa2,\xf8\xee\xc4\xdd\ -\xc8\xc5:\x8fu\x9f\x9d\xc7*\xa0)ku8\x96\xe5\ -B\xe7o\x81{\xb7\x1c7\xbc\x03pQ\x96o\x80\xbb\ -\x95\x8dm?\xf6\x01\xec|\xb0\x8f\xc0\xbe\xe2v\xe9\xb8\ -j3\xf1}\xc7{6\x1cG\xe0\xbb\x03\x5c\x94\x05\xd7\ -\xda\xd9\xe3\x99\xa6\x82\xef\xf0,\x07\xd8y\xe1X\x09\xc7\ -L\x0d\xc5\xc71\x16\x17\xeb\xe2\xc8t\xa0\xf9\x16l\x1e\ -]\x01.\xd6\x1d\x90\xe6\xbc;Z\x08\xb0\x9fq\xa2N\ -f\xa0~\xbcD\x80\x0b]Q\xd6\xfd\xf2\x8e\xefz\x80\ -\x8b2\xcd\x06\x9a\xa3\x07\xbe;\x8asdv\x9e8\x87\ -v\x00\xacqp\x8e\xcd\x85\xae\xf8\xeeq\xf3-\xc7\x0d\ -8\xf6\xfe\x0dhn\x99\xf0}\xa1{i\x83\xd8\xe0\x1a\ -Q\xfd\xfe\x15\xd7\x92|\x01\xcc\xfb4\xd0\x5c=\x7f\x01\ -\xac\xf3\x8e\xfb\x85\x87\x80\xe6\x96\x0b)\x06\x9a\xab\x0b\xb6\ -\xf1\x0b\x81\xfa6{\x16\xe0B\xc7\x11\x00\x176\xe3\x1a\ -\xeb~\x98\xe6\x80\xf5\x93\xdd^4\x07\xac\x13\xec\xe7\xff\ -\xf7\xb2\x8f\xa0>\xb8\xee\xc1\x85n-\x01\x8e\xbd\xeb\xaf\ -\x11\xdc\x0bk\x00\xaet\x0a\x03\xb8X\x1bG\x0e\x00\xf7\ -\xfb;\xd3\xf8\x9c\x1a\xdf\xd3inY\xef\xe6\xd9\xfb\x9d\ -\xe0b\x8d\x10\xfb\xf5\xfb\xad\xcdo\x8c\x10\xa0\xb9k\xd2\ -\xd8V\x18\x80\xe6\xea\x82c\xd0\xe6\xb6;8\xb6\x08\x06\ -\xb8\xb0Mk\x91\x01p1/x\x0e\xb8\x97\xf7\x0e\xf0\ -\x99\xdcb\xa0\xb9\xf2\xb1\x0c\xff\xd4=\x02c\x00.\xae\ -\x01\xeeo\x1c\x0b4\xf6|\x80\x0d\x8e1\xf3\x81\xfak\ -C\xf7j{,Ck\xd8\xaa\xa5\x18\x05p5?\xc6\ -gN8\xef\xc1\xfd\xa58\xd7\xf2\xae\x06\xdd\xe8\x87\xe3\ -/\x1cgr!\x0buF\xdd\xdb\xda~\x5c\x90\x07p\ -\xb9\x9f\xb1\xa5A\xdb\xe3~\xe3\xb6\xb6\x1b\x97d\x03\x5c\ -\xbd\x07\xdd\x1a<\x03\xdc\xe9\x9d\x97\x7f\x1a\xe1\x00\x17\xf3\ -\xff\x96\x82\xbd\x8f\x19\xc1\xbd;\xb8\x87\xa7\xad\xed\xc6%\ -\x1e\xc0\xbb@[\xd9\xb81\xd0\xd6\xf8\xdc`\x13\xc0\xf6\ -\xc75)|\x97\xbb\xad\xed\xc6%B\x00\xd7:\xdb\xca\ -\xd6\xf5a\xb75\xf8~\xe7\xc3\x00\xbe\x7fm\x0d\xc7\xbd\ -\x9c\xb8\xa7\xb3\xad\xed\xc658Gh\x8b\xf7F\xac\xe0\ -;\x17\x83\x80\x86t\xc31?\x8e\xb7\xd8\xf1\x17\x01M\ -\x19\x03\xff\x93h\x8b\xfd\xef(\xab)\xfb\xdfq]\x1d\ -\xdf;g\xa7\xdd\x07\xe0^\xff\xd6\xb2Ok\x81k+\ -\xf8\xcd\x88\x96\xb6=~\xdb\x03\xe7\x0cM\xd5\x0b\xdf\xf3\ -\xac\xaf\x17\xce\x07\xf1\x9b\x17-i\x8f\xb6\x02\xc7H+\ -\x01\xf6\xfe\xf9\xe6\x82\xcf\x0a\xf1\xdd\x88\xe6\xec#\xc2\xb5\ -(\xf6<\x12\xc7J\x5c\xae\x11\xdeo\xe0\xb8\x0f\xbfm\ -\x83c\xa5{\x99\xbba\x1a|\xcfJ\x0bx\x01\x5c\xe8\ -\x94\x0c\xe07\x8e\xd8rp\xce\xfd\xff\xfe\xed/W\x00\ -\xfbjl\xb3\xf1y.~\x93\xe9$\x80k<\x17\x00\ -t\xe3{(\x1b\x01\x8c3\x10\xc04-\xa1\x0b\xae\xaf\ -\xe3\xb7\xbe\xd8\xd7\x80\xff\x06^\xeb\x82\xf5\x9d\xfd\xed\xbb\ -\xb6\xd6\xe7\xdf\x0a\xd6\xfb\xff\xf7\xb6\x87\x87\x87\x87\x87\x87\ -\x87\x87\x87\x87\x87\x87\x87\x87\x87\x87\x87\x87\x87\x87\x87\x87\ -\x87\x87\x87\x87\x87\x87\x87\x87\xe7\x1f\x81\xf0%\x8a\x08\xe1\ -\x97\x82?\xf2\x92\x80\x88\x187!\xf9/\x09k\xdd\x96\ -\xa8\xff\x03;\xbc\xca\x99\ -\x00\x00\x087\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a \x0d\x0a \ - icon / o\ -utliner / slice \ -/ not active - s\ -aved\x0d\x0a \ - Created \ -with Sketch.\x0d\x0a <\ -/defs>\x0d\x0a \ -\x0d\x0a \x0d\x0a <\ -path d=\x22M3.11645\ -814,1.98491547 C\ -1.81085731,3.256\ -48192 1,5.033548\ -03 1,7 C1,10.691\ -145 3.85693233,1\ -3.7150177 7.4801\ -6927,13.9809903 \ -C7.55923919,13.9\ -867947 7.5433296\ -9,11.4601372 7.4\ -3244079,6.401017\ -95 C4.76920501,3\ -.70741298 3.3305\ -4412,2.23537882 \ -3.11645814,1.984\ -91547 Z\x22 id=\x22Com\ -bined-Shape\x22>\x0d\x0a \ - \x0d\x0a <\ -path d=\x22M14.9826\ -165,6.50282053 C\ -14.7276121,2.868\ -84654 11.6988335\ -,0 8,0 C6.821531\ -33,0 5.71107957,\ -0.29121506 4.736\ -68211,0.80560781\ - C5.52211072,1.5\ -7704166 8.929157\ -37,4.97484587 10\ -.4514738,6.50452\ -22 C10.82345,6.5\ -0282053 14.72604\ -01,6.5045222 14.\ -9826165,6.502820\ -53 Z\x22 id=\x22Combin\ -ed-Shape\x22>\x0d\x0a <\ -path d=\x22M12.3449\ -55,7.6097276 C12\ -.344955,7.609727\ -6 13.3370708,7.7\ -3374209 14.60803\ -62,8.42756253 C1\ -4.2393452,8.7623\ -7994 12.344955,1\ -0.6534218 12.344\ -955,10.6534218 L\ -12.344955,7.6097\ -276 Z\x22 id=\x22Trian\ -gle-2\x22 transform\ -=\x22translate(13.4\ -76496, 9.131575)\ - rotate(90.00000\ -0) translate(-13\ -.476496, -9.1315\ -75) \x22>\x0d\x0a \ - \x0d\x0a \x0d\x0a \x0d\x0a\x0d\x0a\ -\x00\x00\x05(\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a \x0d\x0a \ - Artboard\ -\x0d\x0a Created with\ - Sketch.\x0d\ -\x0a \x0d\x0a \x0d\ -\x0a \x0d\x0a <\ -/g>\x0d\x0a \x0d\x0a<\ -/svg>\x0d\x0a\ -\x00\x00\x05\x14\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a \x0d\x0a \ - Artboard\ -\x0d\x0a Created with\ - Sketch.\x0d\ -\x0a \x0d\x0a <\ -g id=\x22lock_on_No\ -tTransparent\x22 tr\ -ansform=\x22transla\ -te(3.000000, 1.0\ -00000)\x22 fill=\x22#E\ -9E9E9\x22 fill-rule\ -=\x22nonzero\x22>\x0d\x0a \ - \x0d\x0a \x0d\ -\x0a \x0d\x0a\x0d\x0a\ -\x00\x00\x07o\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a \x0d\x0a <\ -title>icon / out\ -liner / visible \ -/ mixed state - \ -hover\x0d\x0a \ - Created\ - with Sketch.\x0d\x0a \x0d\x0a\ - \ -\x0d\x0a \x0d\x0a \ - \x0d\x0a \ - \x0d\x0a \ - \ - \x0d\x0a \ - \ -\x0d\x0a \ - \x0d\x0a \ - \x0d\x0a \ - \x0d\x0a \ -\x0d\x0a\x0d\x0a\ -\x00\x001/\ -\x00\ -\x01\x04 x\x9c\xed=\x07@SW\xd7\xf7%\xec\xa5\ -lpF\x147#\xcc$\xa8\x88\xb8P\xa9\x0a\x8a\xa3\ -\xfaIH\xc2\xd0\x90`\x12\xdc\xab\xcb~\xd5\xd6\x81\xd6\ -]m\xd5\xda\xaa\xd5\xd6Zg\x9d\xe0.8\xab\xb6\xda\ -\xe1\xde\x0a8\x90\x99\xfc\xe7\xbc\xe4a\x8c\x8c\xa0Q\xfb\ -\xf7\xcb\x0d\xe7\xbd;\xce=\xe7\xdcs\xef;\xf7\xdc\xfb\ -\x06\xb1\xb1\xa4-!\xc4\x86x\x115\xb1\x80\x18E\xb4\ -\x076}J\x84\x03\xa5\x17g\xd1q\xc0\xa3\xfc)\xb6\ -.\x1f\x90)+]\x9c\x05\x07g\x86\xce\x90\x06\x94\x8b\ -\x1e\x8e\xbb.\x8e\xb5=\xf4hz2\xf8s\x08\xd5\x80\ -Xj\xe3T\x18\xd5\xb02\xde\x89j\xa4G\xa7\xb5\x1e\ -/.\x1e\x89\x0f\xc4\xbaSAt\xdc\x0d\xe2\xa9T\xdc\ -3|\xd6.\xa7\xe7\x0d\xc3x\ -\x83_!\xbf'\xea\x05\xf4\xa4\xfd\xd9\x95O#\xa4U\ -}\xe6\x1c%\x96'I8\xfdR\xe5*\xb92U\x9e\ -\xc1\x89\x8e\xe6\x04\x05r\xc39\xad\x07\xa5\xc9\xc4\xf2\xb1\ -\xca6\x04\x93\x82\xc0\x10\xf8\xe3p\xb9\x82 \x9e\x80\x1b\ -F:D\x8e\xcb\x10\x8aFIT\x9c$IJ\x9a\xac\ -\xa3O\xfe\xcf{}8i\xe2\x8e>\x83Bc\x03c\ -3\xa2%\xa9i='($\xf1\x13\xde\x19 \x9a0\ -J\xc4\x17\xfbDv\xb2\xeb0N0.=#]\xa2\ -\x12r\xc6\xa5KeJ\xc1\xb8\x8e>B\xe4/\x808\ -f\x07\xf8ph\x14\xd5\xa8\x8e>Z\xc1\x06\xc7\xf6\xe3\ -D\xcb\x15\x12N\xa8\x7f\x98\x9f\x88\x1b\xcc\xe3\x84\xf3\xfd\ -\xb9\xa1|^PH{\x144, \x90\x1f\xc0\x0d\xf1\ -\x0b\xe4\x0a\x02\xf9\x82@.G\x17|:\xd9\xc1\xb1\x83\ -B\x9c,\x88\xeb\xda]\xc7\x0eR\x1d}RU\xaa\x0c\ -A@\xc0\xd8\xb1c\xfd\xc7\x06\xfb\xcb\x15)\x01\x5c>\ -\x9f\x1f\x10\x18\x14\x10\x14\xe4\x07\x18~\xca\xf12\x95p\ -\x9c\x9fL\xd9\x5cK\x84\xa1\xd3U\xa2\x14)\xd22T\ -ir\x19\x07\xd3\xc2$y\xa6\xaa\xa3\x8f\x8f\x1dG/\ -\xe8\xda\x95\x9eQ\xc9H\xa6\xf4\xa7\xdb\xe8/\x92\xa7\x07\ -\x8c\x13f\x04p\xfd\x03\x03\xaa\xaa$\x16U\xd6\xc9\xc8\ -THi\xd1\xc4\xa2\x00\x89T\x92.\x91\xa9\x94P\x8f\ -[e\xbd\x0c\xa6\xef\xaafYY\x5c-c\x9066\ -\xb6fy\xd3\xd3\xab\xac\xa9Tu\x1b\xa3\xaa\xb9\xa6r\ -\xc0\xf8\x0cI@\x9cD)\xcfT\x88$\xdd\xc6@S\ -\x9e\xe9\x15U\x0b\xdc\x05\xd1\x0a\x89P%\xe9\x0a\xd0\x09\ -G\x9b_`\x90_`\xf0\x00n\xa8 0L\x10\x14\ -\xea\x17\xc8\x13\x04\x06v\x080\xc04\xa0\x11+\x17\xa7\ -%\x8f\xd7\xa3\x01\x83\x22d\x003b\xfd\x02\xc3+i\ -\xe8a\x1a\xd2\x801(\x16\xaa\x84FQ\xd1\xc7\xad\xaa\ -=r\xc5\x00\xb9\x5c\xda\xa9\xd6\x0bL\xafa\xba*z\ -\xd4\xc4\x22A\xb2\x5c\x91.TuJK\x17\xa6H\x02\ -Ti\xc9\xc9\x1d\x02\x9e\xe5\xea\xa1Vv\xb4 Z.\ -\x95+\xa0\x95\x92N\xc1\x1d\x02\xaa\xca\xae\xb2VLt\ -t?\x85<9M*\xe9\xa4\x8c\xeb\xd1\x85\x13\xd3-\ -:\x8c\xcb\x0f\x0b\xf3\x0b\xf2\xe7\xea\x93\xd1\xc3\xab\x92N\ -W\xb9(\x13Gl\x94L$QB\x93\x94\x9d\x9e\x1b\ -9\xf4\xb5\xd4E\x98\xf2|.S M\xeb\xa4\xb5\x08\ -b\xb9(M\xfcll\x0b\x84\x22\xa1D\x12\x92\x9c\xec\ -\x07\x22\x05\xfaq\xb9\x92p\xbf$!\x1c$a\x92p\ -a\xa8H\x1c\xc4\xe3\x86t\x08\xd0\x91\xa8\x8e4(\xda\ -_\x0cd\x93\x93C$a\xc1\xbc0?Ir\xb0\xc4\ -\x8f+\x09\x91\xf8%\x85\x8bx~a\xc2\x90PIx\ -pRP\xb8H\x5c51m\xee\xf3\xe2\xeb+\xa7\xa6\ -\xc6w\xa0/4A\x8cL\xa9\x12BqLWZ\x9e\ -4\x90\x87\x1f\x1a,\x11\xf3\xf9\xc9~ S\xb2_R\ -(\xc8#\x0c\x0a\x0c\xf3\x13\x06\x07\x07qy\x81a\x10\ -\x0f\xa1\x87\xc9\xf3\xd5_ \xcdp\x87\xb2\xaa\xb5\x18\x1e\ -\x12\x1c\xce\x0b\xe2\x89Q\x8b!Z-\xf2D!I~\ -\xe2\xb0d\x89(\x5c\x98\xc4\x0b\x16\x051\x8c\xf4\x88\xbd\ -\xc0\xa8\xaf\x22\x0d\xcc\xbeP\xaa\x87S\xa9[Qp\x90\ -$\x9c\xcf\xf3K\x16's\xfdB\xf9!b?~h\ -2\xdfO\x18\x12\xc6\x0d\xe7\x86'\x85\x09\x85\xe1\x0c\x8b\ -*\xc8\xbc\xc0\xaag\x1a\xeaq|\x15\x83(^2\xba\ -\xba\x9e\xa6\x0dt\x86P\xa1\x94\xa0\xf9\xe9\xe8\xc3\xd8\x1f\ -\x9f\x17*`\x1d\xda\x8c\xc1\x08C\xd3\xdeID[\x18\ -\xe8\xfe\xe7r\xab\xaf\x96\xf6bw\x1a\xa7\x82\x17\xaaW\ -\xcfcl\xaaDV\x93e\xd4\xc3\xaa\x9e\x88R\x9e\xac\ -\x1a+TH\xa2R@\xd3\xc6\x98\xa5\xaa\xaa\xbd\xa0\xef\ -Z.\xb9W\xe8\x08\xa5p\xcc\xabuCprxX\ -\x92\x04\xac6O,\x0a\xf2\x13\xf2B\xa0\x07P\x87\xe1\ -\xa1\xdc\xe0\xe0\xf0 a\x08\x97+~\xb5n\x80>\xe0\ -\x0aB\xb8o\xbf\x1b\x9e\x91\x17\xa5\x0ae)\x12q\xa7\ -\x00\xa6\x22\x93\xf1\xff\xa9\xe7\x8c\xb3\x87/\xd7sUN\ -\xe8\xff\x82\x9e\xd3\xe6>o\x13\x19;k`C\xb5\xa8\ -z\xfe\xac\xd6Y\x0e\xd0y\xcb\xe0\xa8\x07Tz\xeaU\ -\x09l\xfa`fbfbfbfbfbfb\ -fbfbfbfbfbfbfbfb\ -fbfbfbfbfbfbfbfb\ -fbfbfbfbfbfbfbfb\ -fbfbfbfbfbfbfbfb\ -fbfbfbfbfbfbfbfb\ -b&v\xcf\xde}\x95\xc8\xc4\x1d}\xc6\xfaDv\x22\ -\x8d\xa8\xa1\x84\xdd\xd0\xb7G\xe5\x99E\xe8Wzy]\ -bb-|\xe9\xf7o\xeb\x1f\x1e\xeey]\xb5E\xf6\ -\xe4\xe2\x1e\xfe\xfc}\xb7\xc7\x0f\xa3\xcb\x04t\xd9u,\ -g\xde`&\xf6\x19\x8a4\x99\xaao\xa6*#S\x05\ -I|\x95\x98\xf4S\xaa\xe2\x93\xe4r)\x8d\x11#S\ -I$\xb2\xcct&\x8e\xe7h\xa9\x02\xd3\xf5\xe8\xba\xf1\ -i\xe3\x10\xa3K\x9a\x0a\xeb<\xa3)Q\xbc#L\x97\ -\x0c\xe86x@%3m\x85~\x0a\xb9<9^\xa2\ -\xca\xcc\xe8\x9b4R\x04\xd9\x0e\xa4\x1fQ\x109\xfc\x92\ -\x09\x87\xc4\x13\x09Q\x91L\x92AW\xb1\xcb\xa8\xc4f\ -\xc8t\x91\xaad:\x89\x1c\x922\xd3\xa4\xaa4\x19M\ -\x12\xd2\xb64vt\xec\x90\xdeZmD >\xcb\xef\ -\xb9\x16\xbb\xe8\xb5\xb8/\xfdF\x82R\xfb\xae3\xb4+\ -C%c\x1a\x01\x8dLRT&\xe2R\x94\xb1\xcfJ\ -\x14\xb2\xe8g\x09\x99\xeaY\xa2O\x92TY\x99x'\ -E5\xa62\xd1-]\xda\xb52\x01z|F\xba\x8b\ -hT\x8aN\x11Z\x01I\x5c\x8f.\xd1D\xfbj9\ -\x89\x13s8byfRg\xf9%\xc2\x84\x1e\x0a\xd9\ -\x0by]\xa4/\xe2uQ\x88\x07\x0c\x94\xa9\xba7\x8f\ -\x93\xaa\x88^\xe8\x22\x15s\xaa\xca\x8fSJUt~\ -\xbfq\xd2\xceq\x95\xd9vc$\x22\x95\x5c\xd1U\xa8\ -\x12V\x8e\x8a~)\xfd\x94\xcc\xa8\xc0\xb8\xee\x1cM+\ -A\x92\xac\xaa\x8a\xfc\x00yF\x95l\xe3ERm~\ -?\x85\xa8\xf3\x90\xca\xec\xfa\x22\x85?\xf0\xeb\xb5\xc7_o\ -9x\xf6\xfa\x93\x84\xe41\xd3\x17\xac\xd9z\xe8\xdc\x8d\ -\xa2\xf0\x1e\x83R\xc6~\xbc\xf0\x9bm\x87\xcf\xdf|\xea\ -LX,\x90\xd6\x82\x96\xc9\xda\xca2\x94\x16\xa1\x19\xd7\ -\xc5\x02$\x18\xed\xe3j\x19\xf4\xde\x5c7\x94`\x7f\xdc\ -\xa9\x82\xe0\x16I\x97\x15\xefgE\xc7\xbb\x8b\x94!\x85\ -\xbeV(\x80u\xcb\xd0\xec\xd3 \xc4*Oq\xb7\x81\ -a*\xc9\x95J\x11\xaa\x97\xa0\xd53\x114\x17\x88\x03\ -\x9b\xe6\xe9L\x22\xc9\x93\x86\xf9\x12\xf7\x85{g\xe5\x1c\ -X\xd7j}\xf1\xc0b\x0d\xd9\xd4w}\xd3S\xe7:\ -\x9c\xb86\xe4\xec\xb9\xbbM\xbc\xf6\xfbw\xb0\x98\xffW\ -\xc5\xc6\xa9\xa7\xa6D\xde\xeb]\xb4CC\xba!\x12\xbb\ -h\xcc\x88\x07S\x9a\x05\xfc\xfe\xfb\xd4\x1d\xc5\x1f\xce_\ -QY\x10p\xe1f\x85\xe7U\xf5\x81z\xda\x92\xbd)\ -\x12\xf5\xcd+.qSu\xd9{G\xadx\ -\x9a\xea\xb2.qj\xef\xef\xafLm\x16\xf3\xce\x02Y\ -|\xea\xc6\x90\x80\xa9\xa7\xd2\xca7\x0e>6\xf6\xc2\xdd\ -\x0d\x99\xb3\x1e\xa8\x9a\xb0\x7f\xe8\x17\xd3k\xe8\xe0P\xe1\ -\xe0\xfd\x8e\x7f&\x96F]P7\xed1\xf2\xfb\xcf>\ -*\xfatl\xc75M\x1a\x93&\x0e\x166[gF\ -l\xba\x1f\x13\x13\xbc\xe8\x9c\xa4\xe3w\xd4\x06g2z\ -_\xe7\xeeO\xaf\xff\x11\xe37\xea\xcfF\xb7\x1c\x1c\xd7\ -\xe6g\xef\x9cn\xbd\x87\xb3\xe8\xe4\xea\xd5~\xcaE\x97\ -n,\xca\xf8\xb5\xfe\xd6\xc0\x87\x87\xa2CO\x1f\xaah\ -\xa6!S\xec\xbd\xdf\x99\xf9E\xec\x86\x1f\xc6\x08f;\ -\xff\xd1bM\xad\x8d9]sc\xfa(R3=\xf9\ -\x1f\xcf\x1a:\xa9\x8b\xcb\x1f\xc7\x0e\xc9\xbaM|gV\ -\x83-\x7fY&\xfd\xfe\xee\x9d\xf1\xa2\x03\xbc\x16\xdfD\ -\xaf\xbe\x10\xb6g\xe3\xa5\x07M\xe7\xac\x1f\xc2\xdbr-\ -\xac\xf1\xaa\x8fOe\x5ck?\xf4\xdedy=\xe1\xc7\ -Nv\xa7\xd7\xaf\x8b\xbb\xd4\xb1\xdf\xe0\x07\xd7F\xba\xc4\ -\xaf\x98\xd2q{\xfe\x85\xc2oR\x9c\xec>_\x9c\xf0\ -{\xe7\xaf\xd5\x97\xce4\xfb\xb3\xf8#e\xaboE\x9d\ -~\xdc\x97#.\xbe\xd5)r\xd7\xe6\xb8\xb8\xb9\xa3\xbf\ -\xcd|\x1a\xfa\xc1\xaca\x93X.\xbf\xef\xdb\xb8\xa0\x9f\ -cW\xde\xcf\xb7#N\xec\xf7\xe5\x8f\x1fqZZc\ -\x93\xce\xd4\xd2?\x17<\xba\x87\x0eq\xbcP\xf8\xed\xe5\ -\x9c93\xb2z\x8d\x96\xef\xdb3\x8f\xbb{\xc5\xae\xbf\ -\xaf\xb8g\x9ej-X\xb2\x5cro\xd4\xecO\xc8\xea\ -o\xa8\xc1\xab\xac\xca\xfe\xcb\xdd\xb4bW\xfe%\x8f\x9f\ -\xd3\xd6N\x1f|\xe8\xa7\xe2i\xac%\xbd\x14\x0f'\x08\ -E\xe1q\xbd/M\x5c2\xbex\xcb\xc0\x95e\xa9S\ -nx\x15\xa6]*Ox\xb8\xf6\xf3i\xbf\x1c/\x9a\ -\xd8\xf4\x8f\xa26m\x8emQ\x7f=kR\xf7\xab\x81\ -?\xed\xd4\x0ak/\xb8a5\xb4\xc8\xa9A\xe2\xa4\x05\ -\xb3{\xa9\x85\x7f\x9fSS\xbe\x91\x9a_\x1f\xcb6\x94\ -\xff9\xd5e\xf3\xe0\xa7\x09\x97\x8a\xbc2.m\xb8\xb8\ -V\x92\xdb~\xaa\xdd\x8a{K4\xe4t\xd3\x1d\xbe\xa1\ -\x9d\xfe^\xa8\x9eS\x91S\x96U6eDi\xf4\xd3\ -z\x0f\x124D\xbc\xb9\xa2YYVE\xd6\x89\xc7\x1f\ -?\x88\x89\xed\xbb\xed\xba\x86\xac\x8e\xccP_\xdb\xa3\xc3\ -\xfd|\xef\xef\xed5\xa4\xe7\x94k{\xb5\x98\xf1\xf1\xf7\ -K\xa6\xde\xae\xf7G\xe4\x8e\x00\x06\xf7\xba\xbc\xa8w$\ -0\x08\xd0a\xce\xff\x95\xa1\xdf\x9b\xc1}W\xcb\xa0\xb7\ -\x16\xd1\x97\x7f\x5c\xb9\xfc\xcaM\xefVq\x09\xdf\xf4j\ -\xfa\xe5\xd8\xa5{\xa7\xf5o\xdcr\xc7\xd9k\x1f)v\ -\xfe\x1e\xcf\xf6j\xf6\x15\xb4\xe7w\xed\xac\xd7\x8c\xb6\xeb\ -\xc3\x09\xed\x9f\xc2\ -i29\x0b\x5c\xcatX\x8f\xe2Wx\x06\x0f\x19\xca\ -\xb1>\x0e.\xa5-x\xb2\xe0<\x09E\xca\x8c\xd8\xf8\ -\xee\x03hW\xab[4\x07?\xd5C\x9e\x0bE\xe7\xb4\ -\xce\xca\x19\xbf\x9e\xfd8\x1cR\xb7\xe0,\xcaP\x80+\ -B\xf5\x83x\xb0X\xa2\x04\xe7\x8d\xfa\x10\xe2\xd2\xb1\xaa\ -\x0c\xccGO\xc0-i\x14\xc6Y\xe8\x03\xb8)@@\ -\x88{a\x83\xa4\xa7\ -\xa8\x1a\x0b\x8d\x0c\xd8\xb7\xda\xd8\xa3\xfet\x9fQ\x1e\xb9\ -\xcf\xf2\xaa\xc2\x93\xaf\x04/\x0c\xd6\x84\xec9\xcf\xf2\x92\ -\x16\x13\xb2\xed#B\xbc.<\xcbk\xf1%\x8cQ\xe8\ -\xb7\xad'\xf4\xda\xe3\x81\xe3E\xef\xf3gi\x12\x91?\ -*\xb42\xd4\x8a`D\xd0\xe3\xe7\x8f\xe4*\xd5\xc3\xe9\ -\xaa\xf5s9\xa87\x11x\xb3\x99\x0a\x0e\xac\xc7E\x12\ -\x8e\x9f\xe1 ~\xe9\x8aU\xcb\xd1>N\x92,\xc1u\ -\xbf\x84\x93\x00\xa3,M\x96\x02\xdd-\x13\xa7\xd1_r\ -K\x93U\xd7\x89/Y\xcd h\xc75\x04\xd7\xd5j\ -\xe26\xc2\x9f\xd4?\xe1F\xd8\xf7s\x89\x85\xab=a\ -\x0f[\x0e%Te\xbf\xf5\xb1M x\xe5\x0djz\ -S;\xee\xe9P\xc5\xa2\x935\x1b\x0f\xca4z\xa9E\ -\xa2\xe3\x06pD\x99\x8a1\xda2zueI\xec\xc0\ -H\xb9\x11o\xd2\x844'\xad\x89\x1f\x18\x9ap\x12A\ -:\x93n\xa4\x17\xe9K\x06\x90!\xe4?D\x04\xc6(\ -\x9d(\xc8X2\x89\xbcG\xa6\x93\x99d\x0e\xf9\x9c,\ -!+\xc8j\xb2\x96l$?\x92md\x17\xd9O\x0e\ -\x91_\xc8Ir\x96\x5c$\x97\xc8ur\x97\x14\x90\x22\ -R\x06\xee\xae5\xe5H\xb9R\xdeTS\xca\x97jG\ -\x05Q<\xaa\x13\xd5\x8d\xeaC\xc5QC\xa8D*\x85\ -\x92Q\x99\xd4$\xea\x03j&\x95E-\xa1\xbe\xa2\xd6\ -R\x9b\xa8\x1d\xd4~\xea(u\x8a\xfa\x9d\xbaL\xdd\xa6\ -\x1eR\xa5,6\xcb\x81\xe5\xc6j\xccj\xc9\x0a`\xf1\ -XQ\xac\xde\xac\x01\xac\xe1\xac\x14\xd6h\xd6\x04\xd6\x87\ -\xacY\xacE\xac\x95\xac\xefX[Y\xfbY\xbf\xb0\xce\ -\xb2.\xb1\xee\xb2\x9e\xb0\x09\xdb\x9e\xed\xc1n\xc6\xf6c\ -\xf3\xd8\xd1\xec\xbe\xec\xa1\xecd\xb6\x82=\x85=\x83\xbd\ -\x80\xbd\x92\xbd\x91\xbd\x93}\x98}\x86}\x89}\x8f]\ -bae\xe1j\xc1\xb1\xf0\xb3\x88\xb0\xe8i1\xd0B\ -d1\xdab\x8a\xc5\xa7\x16K,\xbe\xb5\xd8jq\xc0\ -\xe2\x8c\xc5e\x8b\x02\x0b\xb5\xa5\xa3e#\xcbv\x96\x02\ -\xcb\x18\xcb\xc1\x96)\x96c-\xa7[.\xb0\x5cc\xb9\ -\xc5\xf2\xa0\xe5Y\xcb\xeb\x96EVVV\x1eV\xad\xac\ -\xc2\xadzZ\x0d\xb1\x1ai5\xd1\xeaS\xab/\xac\xbe\ -\xb7\xdagu\xca\xea\xaa\xd5\x13kkko\xebv\xd6\ -\x1d\xad\xfbZ\x0b\xadU\xd6\xd3\xad\x17[\x7fg\xbd\xd7\ -\xfa\xb4\xf5u\xebb\x1b{\x9b\xa66A6\xddm\x86\ -\xda\xc8l\xde\xb7Y`\xb3\xcef\x8f\xcdi\x9b\x9b6\ -e\xb6\xf5m}m\x05\xb6}m\xc5\xb6\xe3mg\xdb\ -\xae\xb6\xddi{\xc2\xf6\xbam\x99\x9d\xb3]+\xbb\x8e\ -v\x03\xecF\xda\xbdg\xb7\xc8n\xa3\xddA\xbb?\xec\ -\x1e\xd9\xdb\xdb\xfb\xd8\xf3\xed\xfb\xdb\xa7\xd9O\xb3_d\ -\xff\x83\xfd\x11\xfb\xcb\xf6%\x0e.\x0em\x1d\xa2\x1d\x86\ -9d:\xccr\xf8\xc6a\x9f\xc3\xef\x0e\x8f\x1c\x1d\x1d\ -[:vv\x1c\xea\xa8r\x9c\xe5\xb8\xd61\xc7\xf1/\ -\xc7b'W'\x7f\xa7\x18'\xb1\xd3T\xa7\xa5N[\ -\x9dN;=\xa8g[\xcf\xb7^T\xbd\xff\xd4\x9bP\ -oA\xbd\xcd\xf5N\xd4\xbbW\xdf\xb6~\xcb\xfa\xd1\xf5\ -\x85\xf5\xa7\xd4_Z\x7fG\xfd\xf3\xf5\x9f8\xbb:s\ -\x9d\xfb:\xa7;\x7f\xea\xbc\xce\xf9\xa8\xf3-\x17k\x97\ -\x96.\xdd\x5c\xc4.\x1f\xba\xacr\xc9q\xb9\xea\xcav\ -m\xee\x1a\xed*r\xfd\xc0u\xb5\xebA\xd7\xebnV\ -n\xad\xdcb\xdcF\xba\xcdt\xdb\xe0v\xdc\xad\xc0\xdd\ -\xc5=\xc4=\xc1}\x9c\xfbR\xf7\xdd\xee\x97<\xd8\x1e\ --=b<\xa4\x1e\xb3=~\xf48\xe7Q\xea\xd9\xd8\ -3\xcaS\xe2\xf9\x89\xe7F\xcf\xd3\x9eO\xbd\x1azu\ -\xf6\x92x\xcd\xf0\xfa\xde\xeb\xacW\xa97\xc7\xbb\x9b\xf7\ -(\xef\xb9\xde\xdb\xbc\xffl`\xd1\xa0m\x83\xfe\x0d\xc6\ -6X\xde\xe0`\x83{\x0d\xdd\x1aF4\x145\x9c\xd1\ -\xf0\xc7\x86\x17\x1a\xb1\x1a\xb5m\x14\xd7hb\xa3U\x8d\ -r\x1b=i\xdc\xa4q\x8f\xc6\x19\x8d\x177\xcei|\ -\xaf\x89G\x93\xceMF6\x99\xdfdO\x93\xdbM]\ -\x9bvj\x9a\xd6t~\xd3\xbdM\xefp\xdc9Q\x1c\ -)g\x11\xe7\x00\xa7\xa0Y\xa3f=\x9be6\xfb\xaa\ -\xd9\xf1fe>\xad|\x06\xfa\xbc\xef\xf3\xbd\xcf\x9f\xcd\ -\xed\x9a\xf3\x9a'7\x9f\xdf<\xbbyA\x8b\xa6-b\ -[Lj\xb1\xbe\xc5\x05_[_\x9eo\xaa\xefB\xdf\ -\xc3\xbeO[\xb6j9\xa8\xe5\xc7-\xb7\xb5\xbc\xd5\xca\ -\xabUL\xab\x09\xad\xd6\xb7\xfa\xa3\xb5c\xeb\xc8\xd6\xa3\ -[\xafl\xfdk\x1b\xab6\xbc6\xa3\xda|\xd1\xe6d\ -[V\xdb\xd0\xb6\xa9m\x97\xb6=\xd1\x8e\xd5.\xac]\ -Z\xbb/\xda\x9djo\xd9\x9e\xdf^\xd6~e\xfb\xf3\ -~\x0e~Q~c\xfc\xd6\xfb]\xf6\xf7\xf0\xef\xe3\xff\ -\xbe\xff6\xff\x07\x01-\x02\x86\x06\xcc\x0d8\x1c\xa0\x0e\ -\x0c\x0d\x94\x06\xae\x0e\xbc\xc8u\xe1\xf6\xe2\xbe\xcf\xdd\xc9\ -}\x18\xd46H\x14\xb44\xe8\xd7`\xc7\xe0\xee\xc1S\ -\x83\xb7\x07\x17\x86\xb4\x0b\x91\x84,\x0f\xf9-\xd454\ -6\xf4\xe3\xd0\xec\xd0\x8a\xb0\xf00E\xd8\xc6\xb0\xdb\xe1\ --\xc2\x13\xc3\x97\x85\x9f\xe7\xb9\xf1\xfa\xf1>\xe5\x1d\xe1\ -[\xf2\xbb\xf0\xa7\xf2w\xf1K\x04a\x02\x95\xe0GA\ -~\x84_\xc4\xa8\x88u\x11\xb7:\xb4\xea \xe9\xb0\xba\ -\xc3\xd5\x8e>\x1d\x85\x1d\xbf\xeax\xa9\x13\xa7Sb\xa7\ -/;]\x8al\x16)\x8c\x5c\x19y\xa5s\xf3\xce\xe2\ -\xcek:\xdf\x8cj\x1352\xea\xbb\xa8\x07]\x02\xbb\ -(\xbal\xe9\xf24Z\x10=9z_Wv\xd7\x1e\ -]gt=\xde\xcd\xa5\xdb\xc0nK\xba\xfd\xd5\xdd\xa7\ -{J\xf7\xf5\xdd\x0bz\x84\xf6\x98\xd8c_O\xcb\x9e\ -\xbd{\xce\xedy>\xa6q\x8c(fmLA\xaf\xf0\ -^\x93{\x1d\xe8\xed\xd0;\xbe\xf7\x92\xdeW\xfa\xb4\xed\ -\xa3\xe8\xb33\x96\x15\xdb+v^\xec\x1f\xef\xf8\xbe#\ -{g[_\xd27\xa6\xef\xbc\xbe\x7f\xf6k\xd5ot\ -\xbf\x9f\xfb[\xf5\xef\xd7\x7fi\xff\x1bq\xdc\xb8Iq\ -\x87\xe3]\xe3G\xc4\xaf\x8b/\x1a\xd0e\xc0\xec\x01\x17\ -\x07\xb6\x1e\x9890;\xa1^\xc2\xb0\x84\xb5\x09O\x07\ -u\x1d\x945\xe8\xd2\xe0\x80\xc1\x93\x07\xff2\xa4\xc1\x90\ -\xb4!\xdb\x87Z\x0fM\x18\xbaf\xe8\x93w\xbb\xbd\xfb\ -\xf9\xbb\xd7\x87\x85\x0e\x9b>\xec\xdc\xf0V\xc3\xc7\x0d?\ -\xfa\x9f\x06\xff\x91\xfeg\xf7\x88z#\x84#6'Z\ -&\x0eJ\x5c\x97X.\xec+\x5c)|\x92\x14\x93\xb4\ -,\xa9@\x14-Z(\xba+\xee,\x9e/\xbe-\xe9\ -(\xc9\x92\xdcL\xee\x98\x9c\x95|+\xa5c\xca\xbc\x94\ -\xdb\xa9\x91\xa9\x0bR\xef\xa5E\xa7-I+\x1c\xd9s\ -\xe4\x8a\x91OG\xf5\x1d\xf5\xcd(\x8dt\x90\xf4\xfbt\ -\x9b\xf4\xc4\xf4\x1d2\x17\xd9(\xd9\x01y\x13\xf98\xf9\ -\xa9\x8cv\x19\xd33.\x8d\x16\x8c\xfe|t\x81\xa2\xb7\ -b\x8d\x92R\x0eWnW\xb9\x813\x95\x9b\xd9:\xf3\ -\xa3\xcc\xcbc:\x8dY:\xa6xl\xc2\xd8\xcd\xe3\x9c\ -\xc7\xc9\xc6\xe5\x8eo;\xfe\x93\xf17't\x9f\xf0\xf5\ -D\x8b\x89\xa2\x89\xd9\x93\x9aMzo\xd2\xe5\xc9Q\x93\ -\xbf\x9aBMI\x9a\x92=\xb5\xf9\xd4\x0f\xa7^\x9f\xd6\ -c\xda\xb7\xef\xd9\xbd7\xea\xbd\xbc\xf7\x03\xdf\xcfz\xff\ -\xf1\x07\x83>\xd8\xf9a\xe3\x0f\xa7}x\xf5\xa3\x1e\x1f\ -\xad\x9f\xee4]1\xfd\xfc\xc7\x11\x1f\xaf\xf8\xaf\xc5\x7f\ -\xd3\xfe{\xfc\x93\xe0O\x16\x7f\xa2\x9e!\x9eqlf\ -\xe0\xcc\x053\xcb?\x15}z\xec3\xeeg\x8b>\xd3\ -\xccJ\x9eu|v\xd8\xec\xe5s\xac\xe6\xc8\xe6\x9c\x9b\ -\x1b9\xf7\xdb,\xe7\xac\x09YW\xe7\xc5\xce\xdb:\x9f\ -3\x7f\xc6\xfc\xc7\x9f\x8f\xf8\xfc\xe8\x82\x90\x05+\x16\xda\ --\xcc\x5cxiQ\x9fE\xdb\x17\xb7XY\xf6\xf4\ -\x0b\xf1\x17\xa7\x97w^\xbeqE\xe3\x153W\x94~\ -\x99\xf6\xe5o_\xf5\xf8j\xeb\xca\x96+\x17\xac\xb2Z\ -5f\xd5\x8d\xd5\x09\xab\x0f\x7f\xcd\xfbz\xed\x9a\x06k\ -f\xae\xa9\xf8F\xf6\xcd\xa5o\xe3\xbe=\xb06|\xed\ -\xdau\x8d\xd6\xcd^\xcfZ\x9f\xb9\xfe\xf6w\xc3\xbe;\ -\xb9\xa1\xeb\x86\xed\x1b\xfd6~\xf5\xbd\xc7\xf73\x7f \ -?d\xfepgS\xe2\xa6s?\xf6\xfe1{3o\ -\xf3\xc6\x9f|\x7fZ\xb6\xc5u\xcb\x8c\xad\xd4\xd6\xf1[\ -\x0b\xb6\xa5n\xbb\xb4}\xc8\xf6S;z\xed\xc8\xde\x19\ -\xb1s\xcb\xcf\xfe?\x7f\xb3\xab\xd9\xae\xa5\xbb\xddw\xcf\ -\xdec\xb7\xe7\xc3=\x9a\xbd\x13\xf6>\xd9\x97\xb1\xef\xde\ -\xfe\x94\xfdW\xb3Gd_\xcc\x19\x9c\xf3\xeb\x81\xfe\x07\ -\x8e\x1f\xec}\xf0\xc8\xa1\xee\x87r\x0eG\x1d\xde{\xa4\ -\xe3\x91]G\x05Gw\x1c\xe3\x1d\xdb\xf6K\xd8/[\ -sCs\xb7\xe4\x85\xe6m9\x1ev|\xeb\x89\xf0\x13\ -\xdbO\xf2O\xee<\xd5\xe1\xd4\x9e\xd3\x91\xa7\xf7\x9f\xe9\ -z\xe6\xd0\xaf1\xbf\xfer\xf6\x9d\xb3\xa7\xce\x0d<\xf7\ -\xdb\xf9a\xe7/\xfd&\xfe\xed\xd6\xef\xd2\xdf\x0b/\x8c\ -\xb9Pvq\xda\x1f\x96\x7f\xcc\xf8\xb3\xfe\x9f\x0b\xfej\ -\xf4\xd7\xca\xbf\xdb\xfc\xfd\xfd\xa5\xb0K\xbb/w\xbd\x9c\ -{%\xfe\xca\xc5\xab\xa2\xabw\xaf)\xaf\x95_\xff\xf0\ -\x86\xe3\x8d\x057\x9b\xde\x5c{+\xe8\xd6\xae\xdb\xddo\ -\x9f\xbc\xf3\xee\x9d\xebw3\xee\x96\xdd\x9b~\xdf\xf9\xfe\ -\xb2\x07\xad\x1f\xfc\x94\xdf9?\xb7`p\xc1\xf5BE\ -\xa1\xe6\xe1\xa7\x8f\xbc\x1f}\xf38\xe4q\xf6\x93~O\ -\xfe*J/*{:\xa3\xd8\xbb\xf8\xdb\x12^\xc9\xe1\ -\xd2A\xa57\xcb\xc6\x96[\x97/\xaahS\xb1S\xdd\ -[\xfd\x87&\xbd\xf2\xfe\x849\x98\x839\x98\xc3?*\ -XXXX:9997h\xd0\xa0Y\x8b\x16-\ -\xfcZ\xb5j\xc5m\xd9\xb2e\x80\x1e\x04\x1a\x82\x01\x0e\ -\x9d\xd6\xe5\xe9\x97c<@\x0f\xf7\x85\xb2*\xea\x06\x18\ -\xe00\x10\xd0\xbau\xeb C>\x06\xf2\x050\xfc\xf4\ -\xf1\xaaJ\xd7\xc4\xcb\x10\xdf\xa0\xbdt=\xd4S\xd3\xa6\ -M[\xb9\xba\xbaz\xc1:\xc4F\xefN\x83\xd1\x01\xeb\ -\xd4\xaf_\xdf\xad{\xf7\xee\x83?\xf9\xe4\x93\xf5\xdf\x7f\ -\xff\xfd\xc5\xdd\xbbw\xdf\xdb\xb7o_\x01\xc2\xfe\xfd\xfb\ -\x0b\xf5\xc10/;;\xfbaU8\x0c^U4\xaa\ -\x02}<\xc3:\x0c=}\x9aU\xe1W\xc7\xab\xba\xba\ -\x8c\xecU\xd5\xc72\xc3|C:{\xf6\xecy\xb0u\ -\xeb\xd6kK\x97.\xcd\x16\x89D\x93|}}\xfd-\ ---\xadj\xd7\xfa\xb3\xe0\xe2\xe2\xe21j\xd4\xa8\xe9\ -@\xeb\xfe\xb1c\xc7*rss5f\xa8;\x1c>\ -|\xb8d\xf1\xe2\xc5{CBB\xa2\x8c\xed\x03\xbcf\ -\x12\x12\x12\xa4999\x8f\xdf\xb6\xfc\xff\x06\xf8\xe5\x97\ -_\xd4\x0b\x17.\xdc\xed\xe3\xe3\xd3\xd6\x18[\xd4\xb8q\ -\xe3\x16k\xd6\xac9\xf9\xb6\xe5\xfe7\xc1\xa1C\x87\x8a\ -\x13\x13\x13\xc7\xc1\xd8\xb6\xaeI\xf7,\x08\x91\x91\x91}\ -\x0f\x1e\xae\x0dj\xd2\xbf\xb5\xb5\ -\xb5\xadJ\xa5\x9ak\x0a\xfd\xff\x93\xfb\x10ec\xe0M\ -\xc9\x8d\xfao\xde\xbcy\xfb\xda\xc6\xbf1\xfa\xc7r\xf0\ -\x91N\xe0\x1ac\xd9\xb2e9x\xfe\xe2\x8b/\x0e`\ -\x9c93q\x04\x98{\xf63y\xfau\xf4\xe3\xfa\xf8\ -L\x19\x93\xaf\x0f\xfayU\xc5\x99z\xfa<\xf5i\x1b\ -\xd23\x04C\xf9\xf5e3\x94\x03a\xc5\x8a\x15\x87q\ -\xedU\x9b\xfeqmf\xcc\xf8W*\x95sj\xd3\xff\ -\x91#GJ;t\xe8\xd0\x1b\xd7\xd8\xb0V\xf3\xc4\xb3\ -!0\xf9\xb8\x96sss\xf3f\xd2\x18G`\xe2\xfa\ -\xb8\xfae\x98\x87\xc0\xd4\xd5\x8fW\xc5O\xaf\x8e\x87>\ -_\xc3:\x0c}&\xce\xd0\xd5/c\xea\x19\xcaj\x18\ -\xc7\xba8\xa6\xb1\x0f\x8c\xd1\x7fm\xe3\x9f\xd1\x7fm\xb4\ -p]\xe7\xe7\xe7\xc7\xab\x89\xd6\xffJpvvvG\ -\xdf\xd2\x18\xfb\x83{\x115\xd12\xd6\xfe\xa3\xfe\xdb\xb7\ -o\x1f\xfe\xa6\xda\xf8O\x0e\xe8\xd3\xa3\x1d\xaaMg\xa6\ -\xb4?\xb8\x9e3\x8f\x7fm0V\xff8\xfeq\x7f\xb4\ -&Z8\xff\x1ak\x7f\xfc\xfd\xfd\xf9L\xbd~\xfd\xfa\ -\x89'L\x98\xb0\xa8\xae\xfb|\xff\x86\x80\xfa\xc7\xb9\xde\ -\x18\xfb_\x9b\xfe\x8d\x1d\xff\xfa\xf6\x07\xfb\x01\xd3\x98\xbf\ -|\xf9\xf2\x838/\xbd\x99\x96\xff3\x82\x93\x93\x93\x8b\ -\xb1\xf6\xdfT\xfe?3\xff6l\xd8\xd0\x07\xe9\xea\x97\ -m\xdb\xb6\xed\xba\xfe\xb5\xf1o\x0f\x8c\xfd\xa9M\xff\xe8\ -\xa3\x9a\xd2\xff\xe4r\xb9\x1d\x7f\xfe\xf9\xe7;\xd5\xcd\x0f\ -qqq\xc9oJ\x07o3\xe8\xfc\x9fZ\xed\x8f\xb1\ -\xe3?333\xcb\x18\xfb\xbfz\xf5\xea\xbc\xda\xf0`\ -NX\x5c\xdb\x9e\xab1\x01\xef\xf1)\x14\x8aY\xe8g\ -\xef\xde\xbd\xfb.\xf6\xaf\xfe\x1e!\xc61\x0f\xef\xd1!\ -\x0e\xee\xa1`\x9dW\xe5kL@\xfd\x1b3\xfe\x8dY\ -\xff\x1ak\x7f\xa0\xbd\xe5\xb5\xf1c\x00\xe7\x04ww\xf7\ -\x06umW\x9b6m\x82\xb3\xb2\xb2\xb6\xe6\xe4\xe4<\ -2\x96\x97!\xe0=\xa4y\xf3\xe6m\x07[\xf9\xda|\ -ec\xedO]\xe6\xdf\xdah\xd5u\x7fZ7'\x08\ -\x8ci\x0f\xfaR\xb8W\xfb\xb2:\xaf\x0e\xb6n\xddz\ -5>>>\xa5v\x09\xea\x16\xea2\xfe\x8d\x9d\x7fk\ -\xa3\x85\xd7\xba\x5c.\x9f\x89\xf3\x80\xb1\xed\xafmNh\ -\xd7\xae](\xea\xc8\xd4z\xaf\xa2\x1f\xae\x99r\xed\xc2\ -\xf8\x9f\xa6\xf4\xff\x8d\xf5\x7fp\x0e\xde\xb9s\xe7\xad\xba\ -\xb4\xdfpN\xb0\xb3\xb3s@\x1b\xf1\xba\xf5n\x08\x9f\ -\x7f\xfe\xf9N\x07\x07\x07\xa7\x9a\xf4aL0v\xfc\x1b\ -\xbb\xfe\xad\xeb\xfe\x83\x87\x87G\xa3\xaf\xbe\xfa\xeah]\ -\xda\xce\xcc\x09B\xa1p<\xb3vx\x1b\x80\xd7\xafX\ -,\x9e\xf4*\xfa\xc7\xf1\x8f\xfb\xa1\xc6\xe8\xdf\x18\xfbo\ -\x8c\xfeQn\xfd\xfd\x1f\xbcn\xa6L\x99\xb2\xbc\x8em\ -\x7fkz7\x04\xf4\x99, \xbc\x8c\xfe\x8d\xf5?\x8d\ -\xf5\xff\xd1\xff|\xd9\xfd\x9f\x84\x84\x84Qu\x99\x13\xfe\ -I\xb0k\xd7\xae\xbb\xde\xde\xdeM_F\xff\xc6\xda\x1f\ -c\xf6?_u\xff\xf9e\xe6\x84\x7f\x0a\xe0\xd8\xe9\xdc\ -\xb9s\xdf\xb7\xad\x7fc\xec\x7fM{\x0c/3'\xfc\ -S\x00\xdb\x9e\x98\x988\xb6.\xfaG\xfbo\x8c\xffS\ -\x9b\xfda\xee?\x1a3\xfek\xdb\xff\xd7\xcd\x09_ \ -~^^\xde[\xd7k]\xc1\xd8>\xa8\xcb\xfe\xbf\xa9\ -\xe6\xdf\xba\xdc\xff\x9a5k\xd6&S\xe9\x04\xd7\xdd\xf8\ -l\x1e\xfa,\x9d:u\x8a\x05\x1f\x0a\xef\x07z\xf2\xf9\ -\xfc\xeeuY\x93\x1b\x0b\xe8\x9f\x19\xa3\x7fc\xf7\x9fM\ -y\xff\xcb\x18\xfd'%%M0\x85\x1e\x8e\x1e=Z\ -\x96\x91\x911\xb3&\x1f\xe5u\xcd\xfb\xd8\x86\x7f\xa2\xfe\ -k\xdbc\xee\xd3\xa7\xcf\x08S\xb4\xff\x9bo\xbe9U\ -\xaf^=\x97\x9a{\xfa\xf5\xe9\x1f\xa1w\xef\xde\xc3k\ -\xd2\xbf\xb1\xfb\xcf\xc6\xe8\xdf\x18\xff\xb36\xfd\xe3\xb5a\ -\xaag\x18\xb7o\xdf~\xc3\x98\xbd\xa3\xd7\xa9\x7flK\ -u{x\xc6\xfa\xff\xc6\xd8\x7f\x9c3\xc7\x8c\x193\xef\ -U\xec\x0f\xf8>\x0da}\xf0\xd4\x94\xedG~qq\ -q5\xee\x9d\xbd\xeeu\x07\xb6\x09\xe7\x9b\xea\xf4o\x8c\ -\xff\xf3\xba\xed?>?\x0d\xbe\xff\xedWmku\xfe\ -\xd2\xc4\x89\x13\x97Tw?\xe1M\xac\xfbv\xec\xd8q\ -\x13\xdb\xa8\xcf\xd7X\xfbo\xac\xff\x89\xf7.\x8c\x19\x8f\ -U\xd9\x9f\x85\x0b\x17\xeez\xdd:X\xbe|\xf9!\xbc\ -\xc6\xde\x86\xfe\x11\xf0\x9e\x84>_\x1c\xff\xf8\x8eKm\ -c\x16\xdfK2\x95\xfd\xc7\xfd\x07C\xfd\x0f\x1c8p\ -\xe4\x9bh?\x02\xce\x09\x01\x01\x01\x11oC\xff\x08\xef\ -\xbc\xf3N\x92\xfe\xf87v\xff\xdfX\xfbS\x1b-C\ -\xfb\x83\xe3\x11}\xc47\xd5~F\x86\xf8\xf8\xf8\xca/\ -\xfe\xbcI\xfd#/\xe6]\x8a\xba\xf8\x9f\xa6\xba\xffn\ -\xa8\xffU\xabV\xe5\x9a\xa2]\xeb\xd6\xad;\x8b6\xb6\ -.u&M\x9a\xb4\x14\xe7\x847\xbd\xef\x07c~\x7f\ -]\xf4o\xec\xfd\xdf\xba>\xff\x83{\x86\xa6zf{\ -\xe8\xd0\xa1\x19x-}\xf9\xe5\x97G\xeaR\x0f\xf7\x8f\ -\xdf\xb4\xfe\xb1\xcd\xb8\xf66v\xff\xcdX\xff\xbf\xae\xf6\ -\x07\xe6\xa3-\xa6j\x93\x8d\x8d\x8d\x1d\xd2\xc4\xf1ZSW\xfdcx\x999\xe1\ -e\x01t4\x87\xe1\xab\xb3?o\xe5\xfd#\xc3\xfa?\ -\xfc\xf0\xc3\xc5Wm\x1b\xfat\xf8\xee\xf4\xcb\xf4\x01\xce\ -\x09x\x7f\xe0u\xea~\xc3\x86\x0d\xe7\xf5y\xe2\xfa\xd7\ -\x18\xfd\xbf\xae\xf5\xaf\x81,.\xa6\xf8v\xd0\xe6\xcd\x9b\ -\xff~\x19\xfdc\xc09\x01\xef\x93\xbd\x0e\xddC\xdb\x9e\ -\x18>3m\xec\xfck\xca\xfd7\x9c\xc3\xaa\xbb\xff\x8b\ -\xf7\xa9M\xf1,\xce\xf4\xe9\xd3\xbf}\xd9>\xc0\x80\xf7\ -\x8bM9'`\x9b\x18\x9b\xaf\x1f\xde\xf6\xfa\xab\xaa\xd0\ -\xbd{\xf7A\xa6\x98\x8f\xf1\xd9\xadW\xe9\x03|n\xc2\ -\x14\xcf\x02`[\xbav\xed:\xb0*\x1eu\xd9\x7f3\ -\xa5\xfek{\xfe\xc7T~\xf6\xbau\xeb\xceT\xf5\xdc\ -Am\x01\xe7\x02\xbc\x9fc\x0a\x19jzG\xc0\xd8\xf5\ -W]\xf6\x9fk\x93\xc7\xd8\xe7\xdf\xc6\x8f\x1f\xbf\xd0D\ -\xd7~\x05\xfa\xf9\xcc\xfd\x81\x9a\x02\xfa\xaf\xb8\xd65\xd5\ -\xf3G\xd8\x86\x9a\xf8\xbd\x8d\xf7_p\xff\xad]\xbbv\ -a\xb5\xe9\x02\x03\xee\xc7\x9bB\x0f\x08(\x17\xae{\xf0\ -\x19\x0d|O\x0f\xdf\x19C\xc08\xe6\xa1\xffe\xca\xfb\ -0@\xab\x02\x9f+\xa8\xa9}\xc6\xbe\xffej\xfbS\ -\x97w\xd8F\x8f\x1e\xfd\xa9\xa9t\xf26\x00\x9f\xe3\xae\ -\xee~B]\xde?5\xe5\xf3'\xc6\x8e\x7f&H\xa5\ -\xd2\x8f\xdf\xb6\x1e_\x05\xf0}\x86\xaa\xee'\x98\xfa\xfb\ -\x1b/\xb3\xff`l\xe8\xd5\xab\xd7\xb07\xfd\x9c\x8a)\ -\x01\xef7\x06\x06\x06v\xd0o\x93\xb1\xcf\x1f\x9ar\xfd\ -\xf5*\xdf\xffi\xd2\xa4IK\xf0\x85Mr\xff\xefm\ -\x00\xae}\xf4\xe7\x84\xba<\xff`\xaa\xf7\xafkZ\x7f\ -\x19\x13\xf0;A\xb8\xd7\xf9\xb6u\xc9\xc0\x86\x0d\x1b~\ -\xdb\xbe}\xfb\xf5\xba\xd4a\xe6\x04S\xde\x7f\xaf\xcb\xf7\ -\x97L\xf1\x0e9\xae\x11\xde\xe6\xfb\x92\xc8;99y\ -\x1a\xca\x82\xef#\xe3{\xc9u\xa9\x8fs\x02\xea\xd4\xd4\ -\xf7\xdf\xdf\x94\xfe1\xfc\x93\xde\x7f\xc7\xf1\x8c\xef\xe7\xd7\ -\x85\x0e>\x7f\x83\xef\x88\x98j\xfc\xbf\xad\xef\xef\xe1\xde\ -\xca\xe6\xcd\x9b/\xbdn\xbd\xe3\xb7=p\xcdP\x93,\ -\xf8\x9d\x0a\x9c\xe3\x8c\xa5Y\xdd\xb7\x5c\xf5\xc1\x94\xfb?\ -U=\xffl\xaa\x80>\x12\xac\xa3\xfe0\xb5\xde7m\ -\xda\xf4gM\xef\x11\x19\x06\xdc;\xc2\xef\xb6\x98\x8a\xbf\ -\xb1\xfa7\xd6\xfe\xd7\xd5\xff\xafk\xe0p8\xad\xf1\x7f\ -\x9f\xbc\x8a\xaf\x84\xcfY\xcd\x981c\x03\xfe\xef\x83\x97\ -\x91\xe1e\xe6\x84\xea\x00\xfd\x1fS~\x7f\xf5M~\xff\ -\xb3a\xc3\x86\xcdp\xaeF\x9b\x8d\xdf\xa8\xc1o2\xa1\ -\x0c\xb8\xc7\x83\x80\xf1\xec\xec\xecGX\x8680\xa7N\ -\xc5:\xa6\xe0\x8d\xbe\x1a~\xdb\xd1\x14\xe3\xdf\x94\xdf?\ -\xfc_\xfb\xfeg\xff\xfe\xfd%\xd5\xcd\x09\xf8\xecXm\ -\xfa\x7f\x9b\xfb?\xff\x96\x80s\x9e\xe1\x9c\x80\xef\xbb\x19\ -\xf3\xad\x857\xf1\xfe\xdd\xffB\xc0\xef\x9b2s\x02\xea\ -A \x10\xc4\x98\xf2\xfd\x17S}\xff\xe1\xdf\x1c\x989\ -\x01\xf7\xbdM\xfd\xfc\x95)\xbe\x7f\xf2\xbf\x14\xea\xb2\xff\ -f\xaa\xef\x9f\xbc\xea\xfe\xcf\xbf)\xd4\xe5\xfd\xf7\xd7\xf5\ -\xfc\xe1\xffrx[\xef?\x9a\xf5\xaf\x0duy\xff\xcb\ -T\xfe'\xda\x1f\x9c{\xf0\x99?\x5c\xa7\xeb\x01\x9f\x01\ -\xb4OxF\x1c\x1d\x1e\x9f\xc1\xc32\xfd<\xecK\xbd\ -\xfa\x02\xbd2\xbe\x1e\x0f\x86\xa6>?\x9a\x16\x02\xd2\xd0\ -\xaf\xa7\x0f\xfa4\x18y\xf4h\xf1u\xfc\xf9\xfeU\xb7\ -E\xc0\xb4\xa5*\xf9#\x22\x22z\xe1\xff\xc2y\x93\xfe\ -\x0f\xd3\x07x\x1d\xe8\x03\xaeO\x0c\xe3x\xd6\x8f\x1b\xd6\ -\xd1\xa7SU\x9d\xaah\xd7\xc4\xab&\x9eU\xd15\x86\ -6\xcah\xd8^}Z\xc6\xdc\xf37\xe5\xfd/3\xd4\ -\x1dL\xb9\xffl\x86\xba\x03\xee\x05\x1ac\x7fF\x8f\x1e\ -\xfd\xd9\xdb\x96\xf5\xdf\x08\xb8Oa\xc4\xff\x1f\xb4NJ\ -J\x9ah\x1e\xff\xa6\x07|\x16\xb2\xb6\xef\xbb\xb2\xd9l\ -\x0b|\xce\xd4\xfc\xffgM\x0b\xb8G\xfe\xfe\xfb\xef\xaf\ -rpp\xa8W\x93\xfe\xf1\xff3\xe3\xff\x8e\xff\xff\xfa\ -\xed\xd4\x7f*\xe0\xfb\xfbQQQ\xfdY,\x16\xbb&\ -\xfd3s@\xaf^\xbd\x86\x9b\xe2;bf\xd0\xfa=\ -\xf8\x8c\x05>\xa7R\x9b\xee\x99\x80\xffS)666\ -\x11\xbf\xeb\x83\xcf\xcf\xeb\xff\xbfP\xc3\xff\x1djL>\ -\x93\xae.\xbf&\x9c\xea\xca\xf4\xf3\x0c\xf3\x0d\xa1\xaa\xb2\ -\x9ahT\xc5\xdfXY\x11\xd0\xde\x1c8p\xe0\xc9\xd7\ -_\x7f}\xeb\xac_\xce\xc4\ -qO\x83I\xe3\xd90\x8d\x80u\xf5\xe2\xf3\xf5\xeb\xeb\ -\x83a=\xa4e(\x0f\x93\xc7\xc8d\x98\xa7_G_\ -\x16}Y\xf5A\x9f\x86a9\x961\xf9X_&\x93\ -\xcd\xc0\xef\xe6\xe2<\x8a\xfe\x0e>_\x83\xfa\xac\x8b\xfe\ -\xf5\xfb\x01\xff'9\xf6\x05\xd2\xb1\xb5\xb5\xb5\xc7xU\ -\x80v\xab\xba2c\x00\xeb\xbf*\x8d\x97\x95\xc5T|\ -\x19\xc0u\x14\xfa2/\xabws0\x07s0\x877\ -\x14\xd8_R\x04\xfdR\x0a~\xe4K\x16\xb1\xa0\xe3\x84\ -$~\xc9~\x16\xd7\xa2F\x89\xe5I\x12N\xbfT\xb9\ -J\xaeL\x95gp\xba\xcaE\x99\xe9\x12\x99\x8a\xd3U\ -\xa8\x12r\xbaH\xe5\xa2Q\x84\xd7%&6v\x80B\ -\x86\xf8\x18\xef#\x1c\xaf \xa4A\x02M\x87\xad\x03|\ -\x0em\x18\xb1\xd0h\x08q\xa0\xdfi\xb0\x88\xc2r8\ -\xb2\xf0\x88\xf5drE\xba\x86\xd8\xa0\x00\xcc\x13\xf7\xad\ -\x09\xc1\x1a\xb5\x83u|\xaa0C\xc2\xe1\x22\x1di\xa6\ -\x0c\xbf>\x83_\x8b\xb4&\xf1$\x95\x08I\x06\x91\x10\ -\x0e\xe1j\xe5\x93\xca\x94\x0a\x14@\x09U\xe8\xf4\xf84\ -1\xa6\x01\xbc1-\x92&I1M\xe9\xda\x93&K\ -\x1e\xa7+\xa7\xd3\xa3d\xa3\xe4\xfai\xa92#\xf9\xb9\ -\xb4H\x8a\xf4m\x18uc\x9e25\x1dy\xf4\xc4\xc6\ -\xd1<2\x95*]q\x08@}\x9d\xd6\xa1V\xbaD\ -%\x14\x83ru9\xb6R\xe1x\x89b@Z\xbaD\ -,\xcfL\x8a:\xc7+\xc9\x90\xf4\xb8B\xd3L\x1e\xa7\ -\xc8\xd0\xd5}>P\xd0\xea\xbe\xa4\x1eq v\xc4V\ -\xf7s'1\xa47q\x01\xad\xb8\x11O\xe2M\x1a\x00\ -\xb4&\xcdA+\xcd\xe1\xe7\x03\xe7\xc6\xa4\x11i\x02\xd0\ -\x92\xf8\x92\x16pl\x05\xd0\x02\xca\x9a\xd1\x18\x1c\xc0n\ -\x039\xdac\x0b\xc0\xc1Z\xbe4vK\xfa\xd7\x16\xea\ -6\xd2QiF\xff\x1aC\xac9p\xf3\x02p\x07\xbe\ -.\xc4\x15~\xb1\xa4\x0f-\x91\x0d\x80\x1d\xfc\x1c =\ -\x88p*\x88\x85\xa5s3?\xae:\xa0<\xd0\x8b\x1b\ -\x10\x10\xc8\xe5\x06\x06r\x03\x03\xb8\x01\xf4\x09\x93pP\ -\x07\xda\x05\x04a\x09\xe4\x06\x04\xa8\xb9$P\xcd\xb5\x0c\ -\xd4\x15\xa9\xb9\x9a@\x1b\xc0\x0f\xf0k\xe5eC\xa9\x89\ -\x86XSn\x83\xd7_\xbcWPPQH\x0a\xd4\x85\ -\xe4aE\xa1\xa6\x80*,(.d\x17\x14\x16B\x8e\ -\xba\xc0\xba\xb0\x00\xa3\x85\x05\xe5P\xd4\x10\x13\x0f1U\ -X\xf8\x10\x8f\x90,xp-{\x92\xbf\x15\x8c2\xc2\ -\xf6\x98~\xbfb\xb3\xc6\xa2do\x94\x15\x8cj\x1b\xe9\ -\xe3\x1f4l\xf5\xee\xb6\x14\x8b\xb48\xb9Q\xc3*\x1e\ -g\xcdb\xf5-\xda\xa0\xa1\xf6\xb9\xb1,\x15\x15\x10\xb9\ -\xdc\x9ce3]\x0d\x91\xfb\xedX6\xb31\x92\xef\xc7\ -\xb2\x9d\xab.\xd4\x10\xf5E\x8dZ]\x01\xe7{\x90\xd9\ -\x9ee3W]\xaa\xf1T\x9f\xc8\xce\xc9>\x90s \ -'\xe7\xc0\x81\xfd99\x90\x80?\x88\xab\xb3+r\xec\ -\xb21\x83\xce\xdb\xaf\xce\xd1\x1c(\xc9\xb1B<(\x86\ -T6u\xb8\xb0DC\x15\x00\xf59@\x88]\xda\xdb\ -\xcb\xb3\xdc\xcb\xc3\xd3\xcb\xc3\xdb\xd3\xcb\xdb\xdb\xcb\xdb\x8b\ ->yzz\xe3_\x99\x97\xb3\xa7\x07\x14A\x19\x94x\ -y{\x22B\x85\xb7\x0d\x8d\xe9\xed\xd9\xfe0\x92jO\ -\xd9\xce\x81s\x09o\x1f\xa1\xdc\xf7A,\xdf\x1fE/\ -\x85\xac\xf0}\x84\xe5\x96\x8dQ\x86!U\xcc\xab\xcc\xcb\ -\x0f\xa0l\xa0\xa6U\x09\x9f\x10\xf1\x22\xab\x83\x84r\xdb\ -\x8f\x04\x03\xb4\xa8\xd6%\xe1\x84_\xa29\xe8}\x88P\ -.4]?-]v\x09\xcf'_\xad\xa1\xae\xf3\x0f\ -C\x95l()\xd4Qg\x95v\xbcS\x0e<\x92\x8f\ -\x80(\xfb\xe9*\x94m\x16\x0a\x97\x07\x87\xc5\xd6\x85\xc4\ -\x91;\xeb\xf0\xdd\xe2\x0a\x8d\xa6\xa2\xf8\xde\xe1\xd9\xdc[\ -\x80\x87\x04@\xb14iR\xfeTC\x1dl\xf0\x84\xb0\ -\x82\xb7>z\xa4a=\xde\x1e~W\xc7\xa3 \x80n\ -'\xa9(\x02\xce\x82bB\x89/\xdf\xd7PWS\xee\ -3$\x80\xd5\xdc\x12\xe8\xdd\x99\xa5OQ\x842B\x85\ -^\xbd\xad\xa1\xae\xf1\xf2\xa1\xc1\xfb\xb5\x0df\xd9\xcc\xd1\ -6\xa0\xe3\xad\x22\x8d\xe5bk0s\xdb\xafk\xa8\x9d\ -N\x85:*\x05\xba6Z@\xe3\x1b\x1d-\xd2\xb0\x0f\ -6\x18_rUC\x95Nz\x08r\xe4\xe8\xd4\x83\x18\ -\x96\xa5\xe1`\x07\x96\x17iH\xc9\xdf\x1a\xea\xb0\xc5c\ -]\x93Q\x17YZMW\x10jT\xe9\xaf\x1a\xean\ -\xd3'\x0cy\x7f\xa6\xb3\xca\x09\xd5\xf1\x16\x94\x95\xf6-\ -\xaa,\xd3uQ\x09\x1fdot\x14\x0a\xd5c\x9f\x12\ -\x96{\x0e-\xbb\x1fe3\x17k\x86\x97\x12\xca\xe6\x8b\ -3\x1a2\xb6\xb8\xb2s\x03\x98\x0e\xe7\x15\x13\xb2)_\ -c]~rR\xac\xb7g\xf7\xf2\xfb\x1a2\xbe\x84\xe9\ -\xd7\xcaa\xc1+!dB\x81\x86U6\xd3\xa2\x8c\x90\ -\xd2{\x1a2\xa1\xf4\x05$~)!#\x0a4\xd4)\ -\x17\xc0.\xbd\xab!\xc3\xcb\x98\xde\xf6\xd7\xb5\x90\x16\x94\ -W\x01H7\x04Z$\xaa\x22\xbc\x5c\xa7\x07\x10\xcaf\ -\x9e\x96\x1dd5|\xfa\x00b)@\xb3\xf4\x8e\x86z\ -\xea]\x01\xed\xd2\xf6\xc93\xa9@]\xac\xdb@c\x89\ -u9\xa0A\xd7\xddd\xa9uba\xebgc\xeb\xf9\ -\x15\x84\xec\x82\xa2C\x0d!RzKC\xb6\xaa\x81\xd2\ -^$\xf0\x80\x11\xab\x98\xaf&d\xe4M\x90*\x02\x22\ -\xa575\x16I0\xcf\xd0c\xc4\x9f\x1e#\x96%<\ -B\x1a\x96\xdd\x80^N\xd5\x22\x94\x82\xc1\xdd\xafw]\ -Z F.4\xec\xec\xcd\x22\x0dk\xa9u\xe9\x0d\x0d\ -{\xbf\x16\x05\x87\xea\x1c\xdd\x08i\xaa\x06-f4<\ -\x02C\xf20\xa2\xa8=\xdd\xb5\x0a\xa2\xd9\xc00#[\ -\xf25l;b\xbd\x0c\x86\x89\xfa\xba\x86\xf5\x03=\x84\ -\x18\x05\xb2\xe1\xca\xbbS\xa0!\xa5\xd0\xf24\x1c\xb5e\ -\xf3Jz\x92\x12\xa0y\xcb5[\xaf3\xd8\xc0\x0ar\ -I!(2\x02\x04\xa2\x96ZC\xbf=(\x80\x02w\ -\xed\x00\xd0!\xb2\x80c\xbe\x86\xdc\x82n\xd1\x0a\xd5\x10\ -4y#_\xa3S\x22C\xae\x98G\xca\x80\xdcC\xe8\ -t\xeb\xa5E\xa8'Pf\x01\x0e\x08\xddE\xfb\x8c\xed\ -}\x14\x0f.\xb6\xd4\x12\x10\xaf4\x0d\xf4\x09\x82\xb0\xef\ -i\xc7]a\xa5|\x05\xe9\x0e\x03\xdb#\x93\xf35,n\xa5hY\ -:\xa5\x92+\xc0\xf3X\x91V6R\x0a\xec.\x90\xca\ -\x8b\x87\xe9\xbdH0\xcdT\xb9\xc3\x13\x94\x0c\xfaO\x1d\ -L\xb4\xa2kQ\xe0*\x01I\x17\x03\x9d5\x8fQ\xa4\ -[\x1a\x8b90\x04\xf4\x8d\x18=\xde\xc8E\xa0R\xe6\ -\x018\x0d\x0f\xdd\xd1\x90\xf30\xdc\x5c\xf7=w\x15\x84\ -C\xd7\xb8\x14\xc14\xf0\xf7#\x10h\x09\xcc\x01O\x9c\ -\x98A\xa9\xebf\xaa\x14\x07x8LL\xe4[0\x12\ -)%\xa0\xef\xf2\xe0\x8aJ\x0bXI\x0aze\x10\xce\ -(\x9b\x00K\xf0\x148\xab\x07BEW}\xb3\xa3\xbd\ -\xec&\xc3\xc0;\xe3\x0dmkx\x16\x9a0\xa9\x0cF\ -\xb8N\xdf:k\x8a\x17\xf0B\xe8\xaf\x8a\xa5v%\x84\ -\xe5\xb0\x0c.A\xb2\xb0\xd4\xc0\x84Q\xc5a`\x0d\xe6\ -\xe5kl\xd5\x17f\x8bCC\xc5\xb3/\xaaA\xb4\x8a\ -\x91\xa5\x8c=|\xc6\x95\xf7\x94\x90OOk\xa8/\xe0\ -\xd2\xd3\x99\xdb\xca\xab)\xac\x88\x90\x8f\xa1\xec(\x5cr\ -\xcc\x0c\xa1\xd32\x0fd\x1cVvFC\xdd\xea\xa0f\ -.\xe8J\xdd\x15\xf3@\xaf-\x1f\x9c\x01K9\x92h\ -{\xb0\xd0\x8f\xd1\x18h\xd3\xea\x18\xd8\xcd\xdf\xae\x83\x8d\ -\xfd\xc2Z7\xdc\xe9\xf9\x08\xc8\x825\x9e\x5cz\x15.\ -\xcbi\xa4\xc1A@8\xea\xaf\x1b\xe6\x0c\xdf\x02B\xe9\ -\x0c7t\x86\xf5b\x18LwNi\x85\xb6\xd1)\xfb\ -\x01\xa1\x82/\x81\xa1\xb8\x1c\x0azI.~\xaa\xd1h\ -\xad(#\x1c\xff\x1e\x88\xfe\x07\xcc \x7f\x0e\x87\xf1(\ -\xb8\x9e\xaf\x9dAh\xfeaw\x08\xab\xf5\xfa\x070\xff\ -<\xd8\xd0\x16\x1a\xd1\xe0 tH!3\xcf\x86\xdf$\ -\x8e\xcd&\xef\xbc\xfa\xa8\xa4\xa2\xa2\xe4\xd1\xd5\x9dS\x9b\ -\x814V\x8b\x0a\xe9\xf9Eg\xc1y0gJ\x8a\xcb\ -\xe1\x1a{\xaesy0\xc7\xf2\xaf\xc3\xd4y\xfb\xe8s\ -\xf34\xef\x00\xb1\xf4>\xa8)\x89\xd1\xda f\x0c\xe7\ -\x10\x0b\xabE\xe2\xca\x0bD79\xec\xab\xd4\xb4nJ\ -(\xa5g\xfe\xfd\xfa\x9d\x863?\xf5\x9cE\xd3e\xe5\ -\xe8f(\xdaZ\x94\x8a#\xd4\x025\xdf\x9d\xc7\x8f\x88\ -\xe0\x0b\x04<8\x84\x0b\xf8\x82\x08>?B\xc0\xe7U\ -\x084<*<\xa2\x9co\x0b\xa9\x88\x08\x9e\x80\x1f\xce\ -W\x0b4|[\x01O\x8b\xdc\xeb\x04#m1\xda\xb0\ -\x12\x9b\xe2\x92\x92\xe2\x92b\xf8\xab(\xb1*\xd5\xc6\xd5\ -%\x04\xc0I[B\x97A\x0c\xca1\xd7\x12\xe3\xa5\xa5\ -\xea\x12M1U\xa2\xae\xbc\xec60\xfd\x08\x91\x07@\ -\xfd\xb3\xef@_\xedX\xd6\x131\xe3lS\x96\xc5\xc0\ -\x22p\xe2*V\xd5cQ\xad\x8eB\xecf\x7f6\x9b\ -\xd8\x0e\xbf\x0dN^\xc14W\xf4\xff\x5c\x12s\x9f\x96\ -\x81cY\x0e\xa0V\xb34j8Z\x02@\xa4Bm\ -G'\xe1\x00\xc7r<\x80\xf5\xc0T\x19\x80\x86F.\ -W[U<9.\xf5D_\xd2\x86\xb2\xf3O\x9c\xbe\ -`aV\x96z\xae&\xcbu^V\xd6\xdc\xac\xac9\ -s\xb3\xe6\x22\xcc\x9d7w\xee\xfc\xb9\xe5Y\x96\x18\x9f\ -\x03\x18\xf5\xe6de\xcd\x83X\xd6\x1c\x1a!kN\xc5\ -\x5c6\xa4\xe7\xa8\xe7\xda\xcf\x9b3'k\xc6\xf8\x81\xed\ -\x1c`\xb9\x00N4ei\xe7`_\x06\x8e\xffC;\ -\x8dm\x01\x9c\x8b\x00\x1e\xd8\xb1l,\xa8\x0a\x5c\x1a\xb0\ -j\xf8Y\x81;nE\xff\x9caY\xe1\x00?'p\ -\xd3\xb51\x078\xbb@\xbe\x1b}\xf6\x00p\x82%\x86\ -=\x1c\x9d\xe8\x85\x86\x03}\xb4\xa1q\xb4\xcb\x0cw\xfa\ -\xecI\x83\x16\xc3\x11~\x0et\x0d\xfc\xb9\xeax=\xfb\ -U#\xd7\xb7\xb9\xd5\xff\x1e\xe7\xee\xd7<\x81#\xf4G\ -\xeeA\x88\xe5\xe7\x1e\x82\xe3\x83\xdc\xc3p\xbc\x9f{\x04\ -\x8ews\x0b\x09;/77\xaf8\x97\xe4\xdd\x22O\ -r\xef\xe4\x82\x17x\x04-\x92\xe3\x15:\x8d\x92\xe3\ -\x05t\xd7B\xcb\xf2\xca+5_\x00\x95N?\x01\xf5\ -\xe6W*\x1f\xe6\xcf\xbc\xfb\xa0~r\x12QKu\xfd\ -H\xf2\xee\xe6jNh\xe8\xc6Py\xba\xbe\x83\xe91\ -\xefd\xae\x96\xdaSr\x22W\xcb\xab\x88\xce\xd5J\x02\ -\xf3[n\xde)\x9d\xfaa&\xb8\x81\x03*\xef\x16$\ -\x1e\x02\xd6%h\xfeM\x88\x17\xea\x06\xa0\x9a`I>\ -\xc8\x0a=x\xa2\x14\x9a\xf48\xf7>\xcd\x1a\x07\xd8]\ -H\xdd%j\x1c\xd0\xa0\x82{\x90\xbaE,N\xe0\x90\ -/\x05\x91N\x14\x90\xfb\x90uX\x93\x0f\xc7C\x9a\x02\ -8\x1e\xd4\x14\xc2\xf1\x80\xe6a\xe5\xe5cx\xac\xeer\ -3\x1b\x10\xb3\x011\x1b\x10\xb3\x011\x1b\x10\xb3\x011\ -\x1b\x10\xb3\x01y\x0b\x06D{\x8f)V9\x8a\x10\xb8\ -\x84\xe9\xfb?t\x08\x9a\xa6\xbb\xd7\xd2O\xa8R1\xf7\ -]\xbak\xf1\x1c\xf4\xf1\xf0\xf0\x7f\xa8-\xb6Q\ -\x00\x00\x09t\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a \x0d\x0a \ - Sky Icon\ - / System / View\ -\x0d\x0a Created with\ - Sketch.\x0d\ -\x0a \x0d\x0a \ - \x0d\x0a \ - \x0d\ -\x0a \ - \x0d\x0a\ - \ - \x0d\x0a \ - \x0d\x0a \ - \x0d\x0a \ - \ - \x0d\x0a \ - <\ -/polygon>\x0d\x0a \ - \x0d\ -\x0a \x0d\x0a \x0d\ -\x0a \x0d\x0a\x0d\x0a\ -\x00\x00\x14\xc4\ -I\ -I*\x00b\x07\x00\x00\x80?\xe0@\x08$\x16\x0d\x07\ -\x84BaP\xb8d6\x1d\x0f\x88DbQ8\xa4V\ --\x17\x8cFcQ\xb8\xe4v\x0b\x02\x7f\xc7\xa4R9\ -$\x96M'\x94JeR\xb8\xa4\x82Y/\x98Lf\ -S9\xa4\xd6a.\x9bNgS\xb9\xe4\xf6}#\x9c\ -O\xe8T:%\x16\x8d/\xa0\xd1\xe9T\xbae6\x9d\ -\x1f\x81\xd3\xeaU:\xa5V\x91Q\xabVkU\xba\xe4\ -B\x93]\xb0XlU*\xfd\x8e\xcdg\xb4N\xec\xb6\ -\x9be\xb6\xdd&\xb5\xdb\xeeW;\xa4J\xe3u\xbc^\ -o7{\xd5\xf6\xfdi\xbe_\xf0X:\xde\x07\x09\x87\ -\xc4Sp\xd8\x9cf6\x7f\x8b\xc7drS<\x86O\ --\x97\x93\xe5s\x19\xbc\xe4k5\x9d\xd0hk\xd5\x8d\ -\x16\x97M-\xd2Q\x00:\xbb\xf4\x805\x05\x1d\xc1F\ -PQ\x8c\x14;\x05\x08\xee!.\xf8+\xc2\x0a\xe3\x82\ -\xb3\xe0\xac\xe8+\x13V\x01s_s\xf9MM\x0f\x8f\ -l\x90\x06\xe0\xa5\xc8)B\x0a7\x82\x80f\xd2\x18#\ -.\x0a\xaf\x82\xa9x\xfc\x0bG.e\xe6\x98\xf3\xeb\xb2\ -\x01\xc4\x14\xe1\x05)\xc1@\x95g\xe7~\x0a\x90\xe3\xb1\ -\xbd|\xda\x17\xa2`\xf5,\x88\x13n\x82\x11\xa8(\xaa\ -\xbd\x15\xa8(\xe4\xe3\x9cJ\x9b\xfc\xab\xbb\x8a4\x00\xa2\ -\xa4\x002\x0a9\xa0\xa3\xda\x0a\x05\xb1\x07\xb2\x0aB\xa0\ -\xa4k\x8e|\xa8\xf0zY\x13%p\x9a|\x90\x08\xc8\ -)&\x82\x84\xcd\x11\xb6\x82\x8d\xce9p\xa1\xc5\x09T\ -r\x94\xc5Na\xfe\x01 \xa4\x1a\x0a=4\xe8y\x11\ -\x0c\xb8\xe7\xf2s\x1d\xa5\x12bO\x1e\xc4\xe8\x10 \x82\ -\x94\xc8(\x93\x22\xa2\xd1\xba\x08,\xb8\xed\xf3\xce\xfe1\ -\xf3\x02}(3(\x10T\x82\x96\x08(K,#\xa6\ -\xe3\xaa\xe3\x9a\xb0\x82\x95'$\xd3\x22D\x90\x08o\xb2\ -\x08\x06\xcd\x899\xe8\x82\x8a.9x\x94\xce\x89-\x0a\ -\x92N\xcc\xf2\x04\x22\xa0\xa5\x8a\x0a\x04\xcf\xa9\x81\xf0\x82\ -\x89\xce9wCLI\xed\x0e\x91\xd1(\xacYF\xa0\ -\xa0B\xa4\xe4\xa0\x85b\x0a[\xa0\xa7\x0a\x0ar#\xe8\ -+^\x82\x17\xa8(8\xaeRh \x9e\xe3\x97H\xf5\ -7;\xd3)\xe5:\xd1\x9f\xe2<\xd1P\xa9\x87\x02\x0a\ -:;\xf2J,\x90M\xc8 F\xb1V\xa0\x00\xa0\xe3\ -\x974T#\x0aW\xa9\xdd~\x85\xa4\x01\xaa\x0a`\xd1\ -\xeaa\x18\x82\x8f\xce9\xef] Vh\x01g\xac\xf0\ -\xf2\x08\x1f\xb8\xe6e\x97l\xa7U\xda=m\xa0\xc9\x00\ -<\x82\x99((0\xa3IH \xd8\xe3\x92\xf4%\xd2\ -\x82\xdd\x8ba\xce\xeb\xbck\xb5\xe9%\xe1\xe9\xb5\xb6\x90\ -\x01\xc8)\x8a\x82\x85\x8a`\xc8\xe3\x93\xb0\x85\xd5\x84\xad\ -\xe6\x92\x0a\x1e8\xe7\x9a\x1d{#\xb9B9;$\x0e\ -\xd2\x08Y\xa0\xa2Z\x98P8\xe3\x0c}\x8f\xafE\x94\ -\xde\xd5\xda\xf7\xce\x22\x9a\xe5H\xdeX\x81\x0f\x92\x0d\x8a\ -\x82\x85W6o\x840C\xbb\x8eE!Z\x0d\xac\xa5\ -EI\x00z\x82\x97\xe8(\x06\xa6\x0c\xae99\x88\x1f\ -\xf9\xc2\xfe\xfa\xa0\x99#W~\xaa\x19\xecq\x9f\xa6\x8e\ -~(\x82\xe4H >\xa6UH J\xe3\x9f{\x06\ -\xc4\xc2Fh `\xe3\x9e\xda\x923\xc1#\x1br\x05\ -\x02\xa0\x83\x92\xa4D\xb8\xe3\xc55\x83\xd9\xccq\x02\xe3\ -\x90\x1c\x22/\xcb#2\x9a\x08\xf2\x00\x00b\xa4 8\ -\xf7\x02yfi\x8ckx\x82_h$\xfe\xa3s\x08\ -\xc0\xec\x82\x91*\x95\xce\x82\x01\xfb\xc7\x1f\xb0\xf4\xac\x97\ -\x14\x82\x11\xf1.\xd8\x9b\x16\xa8(\x94\xa9\x1b\xae8I\ -\xb5\x9f\xe1\x12\x0a\x02\xa5\x99\x86\xec\xa9y\xc0\x00\x9d\xdf\ -mJ)\xb3\x18*F+\x8e\x1e0i\x06\xb2\x82\x08\ -\x0a\x91\xb0\x82\x85>\xa2\x9bw\x00\x14\x82\x9eZ8\xe2\ -o\xba\x81<\x08#\xac\xa7\xfd\x10\xe7Y\xdf\xa6\xa6\xfa\ -\x0a\x10*F3\x8elL\x11 \x18D\x15\xab\x94\xf1\ -\xbc\xeeJ#\xad\x22\xea\x5c\x82\x04B\xa47\x8e; \ -9D\x08m&\xa2\xa4\xb5H H|\xc51#\x90\ -@\xeeT\x96\x8b\xb55c\xe8\xba\x92\x07\x98A\x12\xf0\ -\x00\x01EHB\x10P\xfb\x06\xca[s \x83u\xad\ -\x15 \x86q\xc5\xf4% O\x84\x82=\xf2\x9d\x09\x08\ - ! \xaa\x91l=R~\xe1\x87\xf8\xa9 \xa1X\ -\xa9\x10\x04`\x06\x06u\x00A\xa0\xf0\x88L*\x17\x0c\ -\x86\xc3\xa1\xf1\x08\x88\x01\xff\x14D\xc1\xce\xd1(\xccj\ -7\x09O@\xc0&8\xa3\xfe9$\x92\xc2$Ri\ -Lr?\x13\x8a\x08\xa0\xed\x0886U4\x8d8\xe0\ -\xe2H\xfb\xeak<\x9e\xc2\xa4@h;r\x0e\x1d\x9f\ -Q\xa1N\xf88\xb6>\xe5\x94Q\xe8\xf4\xea|\xfaY\ -'\x8a\x17\xa0\xea\x1a\x95j\x0ci\x8f\xa6+v\x08\xcc\ -\x88\xd1\x07K\xd8i\xe5x\xfa\xaa\xab#\xb3\xca\xaa6\ -\xe9-R\x17\x22O\xc1\xcc\x17\x19\xa3\x8a\x0e*\x8f\xbd\ -o6\x19\x102\x0e\xd6\xa2`%)\xa8\xf9\x9e\x19p\ -\xc3\xd8\xa2\x98\xe9\x5c\x0e\x1b\x22\x04A\xd8\xd0q\x8eF\ -H\xa5\x8f\x973t\xf9\x12\x9a\x0eY\xd0F\xd9\x90q\ -\xe4}\xf3\x8c\xc8i\xa28\xdd|2\xe7\x0e\x91\x07 \ -\xec\x988ke\x125\xc7\xd2\xdb\xc8\xe4\x88\xdb\x07I\ -pb\x0eH8\xe2\x99\x10\xd8\xf1\xe0\xfc\xeex\x03i\ -\xb0\x8a\x0c \xec8>\x0f\xa5'\x83\x9d#\xe8\xee\xe4\ -&E\x05\x83E\xa0\xc0\x1f\x14\x1d\xe7\xa9\x8f\xb4\xa3]\ -\x1e\x7f\xc7\x8f\xd4\xf8E\x090u\x94\x1c\x09\xea\x85Y\ -\x90a\xdd\x1f{\x18\xe4\x88\x0eA\xc8\xb4\x1cf\x7fP\ -\x93\xf1\x07\x13\x11\xf2\xe5%|\xdc\x18M\xbc}RD\ -\x89\x9fA\x8a\x04\x1c\x03\x82\xd0\x83\xa1\x07\x1e\x10r\x99\ -\x1f>\xd3\xe5\x01\x07\x16\xd0r\x1d\x07\x05\xe1\xf4\x1c\xfd\ -]\xd1\xf2\x914\x85[(\xdd\xaf\x85\xd2\x94\x88XA\ -\xca7\xee0B\x8f\x04\x1c\xb0A\xcb\x84\x1c\xe1A\xdc\ -\x94)\xb7A\x81\xf4\x1cHA\xc5\x04\x1c\x10\x90\x90\x98\ -\xc9\x06\x17\x11\xf2\xa2(k\xa0\xb8\xe5\xa6\x8e\xd3T\x88\ -T\x89\x10p\x16W\x9a\x97\x985\x06\x16Q\xf2\xb1R\ -\x98Z\x09\xcd\x9b\x98\xe5\xe3\xfeTA\x8at\x1d\x96\x9a\ -\xe7\xf4\xf4\xf8i\x11\xf9\x19`\x9dY\x1a\x1d\x8e\x9d\xda\ -\x14P3A\xca\xe4\x1c\x1e\xa0)4i{A\x854\ -}\xa8\x5ch\x96\x1e\x9c`(\xb5m\x22\x05\x10yu\ -\x06\x10\xe9J\xa1\x08/\xd0u\xa5\x03:\xe8\x89}\xfd\ -\xa7\x97\x9a\x81gH\xa1\xe4\x18\x88w\xaa\x99\xa9\xe1A\ -\x87d~Y\x9d+\x17\xaa\xb3\x5ckZ\xc0\xff~\x10\ -bE\x07\x09k\xc6\x99CA\x86\xf4|\xb6x\xace\ -\xba\xd8Y\xec\x86\x9a)A\x87$\x1c{v\xad\x05\x1d\ -\x7fA\x88d\x1c\x8dj\xe1\xfbi\x81\xb1\x1e+q\xd2\ -H\x81\xb4\x1c\x8aA\xc5\xab\x91&\xa9@\x01\xd5\x1f\x93\ -'\xfb\xb6\x86\xbb\xdd\xcb\xc60H\x83$\x1cnA\xe3\ -\xe4\x18\x07\xaaZ\xc4\x19k\xb3\x11\xf36\xf9KV\xd9\ -\x83\x03t\xb0ZM\x22\x05j\xc9M\x07\x0f\xe4\x16\x82\ -m\x00\x0c)\x15\x07*Q\xf3\xab\x16kq\x8a\xcb\x1a\ -s\xf1\xcc\xb9\x06H\xa5d\x188fs\xb4\x19EA\ -\xb3\x80\x00\x11B\xe4D\x19IA\x93t\x191A\x8c\ -\xf4\x1c\xc8G\xf4l\xd5\xf6\xcc,\x5c\xcbQ\xd5\xb5}\ -a\xbc\xc0u\x9ds]\xd7\xb5-\x7fa\xd8\xb64\xf7\ -[\xd96}\xa3.\xd9\xb6\x9d\xb3m\xa06\xbd\xbbq\ -\xdc\xb5MOs\xdd\xb7{Cp\xde7\xbd\xf2\xd9\xd5\ -w\xde\x03\x81\xd6\xb7\xfe\x0b\x85\xe1\x97\x9d\xeb\x87\xe2\xb8\ -\xb6\xd7\x84\xe38\xfeA&\xe2y\x1eS\x86\xe4\xf9^\ -c}\xe5\xf9\x9esv\xe6\xf9\xde\x83m\xe7\xfa\x1e\x93\ -d\xe8\xfa^\xa3^\xe9\xfa\x9e\xb3W\xea\xfa\xde\xc3\x16\ -\xeb\xfb\x1e\xd2\xa9\xec\xfb^\xe3\x00\xe3\xbb\x9e\xf3d@\ -@\x13\x00\xfe\x00\x04\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\ -\x01\x04\x00\x01\x00\x00\x00`\x00\x00\x00\x01\x01\x04\x00\x01\ -\x00\x00\x00`\x00\x00\x00\x02\x01\x03\x00\x04\x00\x00\x00L\ -\x08\x00\x00\x03\x01\x03\x00\x01\x00\x00\x00\x05\x00\x00\x00\x06\ -\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\x00\x11\x01\x04\x00\x01\ -\x00\x00\x00\x08\x00\x00\x00\x15\x01\x03\x00\x01\x00\x00\x00\x04\ -\x00\x00\x00\x16\x01\x04\x00\x01\x00\x00\x00`\x00\x00\x00\x17\ -\x01\x04\x00\x01\x00\x00\x00Z\x07\x00\x00\x1a\x01\x05\x00\x01\ -\x00\x00\x00T\x08\x00\x00\x1b\x01\x05\x00\x01\x00\x00\x00\x5c\ -\x08\x00\x00\x1c\x01\x03\x00\x01\x00\x00\x00\x01\x00\x00\x00(\ -\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\x001\x01\x02\x00\x10\ -\x00\x00\x00d\x08\x00\x00=\x01\x03\x00\x01\x00\x00\x00\x02\ -\x00\x00\x00R\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\x00S\ -\x01\x03\x00\x04\x00\x00\x00t\x08\x00\x00s\x87\x07\x00H\ -\x0c\x00\x00|\x08\x00\x00\x00\x00\x00\x00\x08\x00\x08\x00\x08\ -\x00\x08\x00\x802\x02\x00\xe8\x03\x00\x00\x802\x02\x00\xe8\ -\x03\x00\x00paint.net 4.0\ -.9\x00\x01\x00\x01\x00\x01\x00\x01\x00\x00\x00\x0cHL\ -ino\x02\x10\x00\x00mntrRGB X\ -YZ \x07\xce\x00\x02\x00\x09\x00\x06\x001\x00\x00a\ -cspMSFT\x00\x00\x00\x00IEC s\ -RGB\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\xf6\xd6\x00\x01\x00\x00\x00\x00\xd3-HP \x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11c\ -prt\x00\x00\x01P\x00\x00\x003desc\x00\ -\x00\x01\x84\x00\x00\x00lwtpt\x00\x00\x01\xf0\x00\ -\x00\x00\x14bkpt\x00\x00\x02\x04\x00\x00\x00\x14r\ -XYZ\x00\x00\x02\x18\x00\x00\x00\x14gXYZ\x00\ -\x00\x02,\x00\x00\x00\x14bXYZ\x00\x00\x02@\x00\ -\x00\x00\x14dmnd\x00\x00\x02T\x00\x00\x00pd\ -mdd\x00\x00\x02\xc4\x00\x00\x00\x88vued\x00\ -\x00\x03L\x00\x00\x00\x86view\x00\x00\x03\xd4\x00\ -\x00\x00$lumi\x00\x00\x03\xf8\x00\x00\x00\x14m\ -eas\x00\x00\x04\x0c\x00\x00\x00$tech\x00\ -\x00\x040\x00\x00\x00\x0crTRC\x00\x00\x04<\x00\ -\x00\x08\x0cgTRC\x00\x00\x04<\x00\x00\x08\x0cb\ -TRC\x00\x00\x04<\x00\x00\x08\x0ctext\x00\ -\x00\x00\x00Copyright (c)\ - 1998 Hewlett-Pa\ -ckard Company\x00\x00d\ -esc\x00\x00\x00\x00\x00\x00\x00\x12sRGB \ -IEC61966-2.1\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x12sRGB IEC\ -61966-2.1\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00XYZ \x00\ -\x00\x00\x00\x00\x00\xf3Q\x00\x01\x00\x00\x00\x01\x16\xccX\ -YZ \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00XYZ \x00\x00\x00\x00\x00\x00o\xa2\x00\ -\x008\xf5\x00\x00\x03\x90XYZ \x00\x00\x00\x00\x00\ -\x00b\x99\x00\x00\xb7\x85\x00\x00\x18\xdaXYZ \x00\ -\x00\x00\x00\x00\x00$\xa0\x00\x00\x0f\x84\x00\x00\xb6\xcfd\ -esc\x00\x00\x00\x00\x00\x00\x00\x16IEC h\ -ttp://www.iec.ch\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16IEC \ -http://www.iec.c\ -h\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00d\ -esc\x00\x00\x00\x00\x00\x00\x00.IEC 6\ -1966-2.1 Default\ - RGB colour spac\ -e - sRGB\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00.IEC 61966-2.\ -1 Default RGB co\ -lour space - sRG\ -B\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00desc\x00\x00\x00\x00\x00\ -\x00\x00,Reference Vie\ -wing Condition i\ -n IEC61966-2.1\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00,Refere\ -nce Viewing Cond\ -ition in IEC6196\ -6-2.1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00v\ -iew\x00\x00\x00\x00\x00\x13\xa4\xfe\x00\x14_.\x00\ -\x10\xcf\x14\x00\x03\xed\xcc\x00\x04\x13\x0b\x00\x03\x5c\x9e\x00\ -\x00\x00\x01XYZ \x00\x00\x00\x00\x00L\x09V\x00\ -P\x00\x00\x00W\x1f\xe7meas\x00\x00\x00\x00\x00\ -\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x02\x8f\x00\x00\x00\x02sig \x00\ -\x00\x00\x00CRT curv\x00\x00\x00\x00\x00\ -\x00\x04\x00\x00\x00\x00\x05\x00\x0a\x00\x0f\x00\x14\x00\x19\x00\ -\x1e\x00#\x00(\x00-\x002\x007\x00;\x00@\x00\ -E\x00J\x00O\x00T\x00Y\x00^\x00c\x00h\x00\ -m\x00r\x00w\x00|\x00\x81\x00\x86\x00\x8b\x00\x90\x00\ -\x95\x00\x9a\x00\x9f\x00\xa4\x00\xa9\x00\xae\x00\xb2\x00\xb7\x00\ -\xbc\x00\xc1\x00\xc6\x00\xcb\x00\xd0\x00\xd5\x00\xdb\x00\xe0\x00\ -\xe5\x00\xeb\x00\xf0\x00\xf6\x00\xfb\x01\x01\x01\x07\x01\x0d\x01\ -\x13\x01\x19\x01\x1f\x01%\x01+\x012\x018\x01>\x01\ -E\x01L\x01R\x01Y\x01`\x01g\x01n\x01u\x01\ -|\x01\x83\x01\x8b\x01\x92\x01\x9a\x01\xa1\x01\xa9\x01\xb1\x01\ -\xb9\x01\xc1\x01\xc9\x01\xd1\x01\xd9\x01\xe1\x01\xe9\x01\xf2\x01\ -\xfa\x02\x03\x02\x0c\x02\x14\x02\x1d\x02&\x02/\x028\x02\ -A\x02K\x02T\x02]\x02g\x02q\x02z\x02\x84\x02\ -\x8e\x02\x98\x02\xa2\x02\xac\x02\xb6\x02\xc1\x02\xcb\x02\xd5\x02\ -\xe0\x02\xeb\x02\xf5\x03\x00\x03\x0b\x03\x16\x03!\x03-\x03\ -8\x03C\x03O\x03Z\x03f\x03r\x03~\x03\x8a\x03\ -\x96\x03\xa2\x03\xae\x03\xba\x03\xc7\x03\xd3\x03\xe0\x03\xec\x03\ -\xf9\x04\x06\x04\x13\x04 \x04-\x04;\x04H\x04U\x04\ -c\x04q\x04~\x04\x8c\x04\x9a\x04\xa8\x04\xb6\x04\xc4\x04\ -\xd3\x04\xe1\x04\xf0\x04\xfe\x05\x0d\x05\x1c\x05+\x05:\x05\ -I\x05X\x05g\x05w\x05\x86\x05\x96\x05\xa6\x05\xb5\x05\ -\xc5\x05\xd5\x05\xe5\x05\xf6\x06\x06\x06\x16\x06'\x067\x06\ -H\x06Y\x06j\x06{\x06\x8c\x06\x9d\x06\xaf\x06\xc0\x06\ -\xd1\x06\xe3\x06\xf5\x07\x07\x07\x19\x07+\x07=\x07O\x07\ -a\x07t\x07\x86\x07\x99\x07\xac\x07\xbf\x07\xd2\x07\xe5\x07\ -\xf8\x08\x0b\x08\x1f\x082\x08F\x08Z\x08n\x08\x82\x08\ -\x96\x08\xaa\x08\xbe\x08\xd2\x08\xe7\x08\xfb\x09\x10\x09%\x09\ -:\x09O\x09d\x09y\x09\x8f\x09\xa4\x09\xba\x09\xcf\x09\ -\xe5\x09\xfb\x0a\x11\x0a'\x0a=\x0aT\x0aj\x0a\x81\x0a\ -\x98\x0a\xae\x0a\xc5\x0a\xdc\x0a\xf3\x0b\x0b\x0b\x22\x0b9\x0b\ -Q\x0bi\x0b\x80\x0b\x98\x0b\xb0\x0b\xc8\x0b\xe1\x0b\xf9\x0c\ -\x12\x0c*\x0cC\x0c\x5c\x0cu\x0c\x8e\x0c\xa7\x0c\xc0\x0c\ -\xd9\x0c\xf3\x0d\x0d\x0d&\x0d@\x0dZ\x0dt\x0d\x8e\x0d\ -\xa9\x0d\xc3\x0d\xde\x0d\xf8\x0e\x13\x0e.\x0eI\x0ed\x0e\ -\x7f\x0e\x9b\x0e\xb6\x0e\xd2\x0e\xee\x0f\x09\x0f%\x0fA\x0f\ -^\x0fz\x0f\x96\x0f\xb3\x0f\xcf\x0f\xec\x10\x09\x10&\x10\ -C\x10a\x10~\x10\x9b\x10\xb9\x10\xd7\x10\xf5\x11\x13\x11\ -1\x11O\x11m\x11\x8c\x11\xaa\x11\xc9\x11\xe8\x12\x07\x12\ -&\x12E\x12d\x12\x84\x12\xa3\x12\xc3\x12\xe3\x13\x03\x13\ -#\x13C\x13c\x13\x83\x13\xa4\x13\xc5\x13\xe5\x14\x06\x14\ -'\x14I\x14j\x14\x8b\x14\xad\x14\xce\x14\xf0\x15\x12\x15\ -4\x15V\x15x\x15\x9b\x15\xbd\x15\xe0\x16\x03\x16&\x16\ -I\x16l\x16\x8f\x16\xb2\x16\xd6\x16\xfa\x17\x1d\x17A\x17\ -e\x17\x89\x17\xae\x17\xd2\x17\xf7\x18\x1b\x18@\x18e\x18\ -\x8a\x18\xaf\x18\xd5\x18\xfa\x19 \x19E\x19k\x19\x91\x19\ -\xb7\x19\xdd\x1a\x04\x1a*\x1aQ\x1aw\x1a\x9e\x1a\xc5\x1a\ -\xec\x1b\x14\x1b;\x1bc\x1b\x8a\x1b\xb2\x1b\xda\x1c\x02\x1c\ -*\x1cR\x1c{\x1c\xa3\x1c\xcc\x1c\xf5\x1d\x1e\x1dG\x1d\ -p\x1d\x99\x1d\xc3\x1d\xec\x1e\x16\x1e@\x1ej\x1e\x94\x1e\ -\xbe\x1e\xe9\x1f\x13\x1f>\x1fi\x1f\x94\x1f\xbf\x1f\xea \ -\x15 A l \x98 \xc4 \xf0!\x1c!H!\ -u!\xa1!\xce!\xfb\x22'\x22U\x22\x82\x22\xaf\x22\ -\xdd#\x0a#8#f#\x94#\xc2#\xf0$\x1f$\ -M$|$\xab$\xda%\x09%8%h%\x97%\ -\xc7%\xf7&'&W&\x87&\xb7&\xe8'\x18'\ -I'z'\xab'\xdc(\x0d(?(q(\xa2(\ -\xd4)\x06)8)k)\x9d)\xd0*\x02*5*\ -h*\x9b*\xcf+\x02+6+i+\x9d+\xd1,\ -\x05,9,n,\xa2,\xd7-\x0c-A-v-\ -\xab-\xe1.\x16.L.\x82.\xb7.\xee/$/\ -Z/\x91/\xc7/\xfe050l0\xa40\xdb1\ -\x121J1\x821\xba1\xf22*2c2\x9b2\ -\xd43\x0d3F3\x7f3\xb83\xf14+4e4\ -\x9e4\xd85\x135M5\x875\xc25\xfd676\ -r6\xae6\xe97$7`7\x9c7\xd78\x148\ -P8\x8c8\xc89\x059B9\x7f9\xbc9\xf9:\ -6:t:\xb2:\xef;-;k;\xaa;\xe8<\ -'\ - >`>\xa0>\xe0?!?a?\xa2?\xe2@\ -#@d@\xa6@\xe7A)AjA\xacA\xeeB\ -0BrB\xb5B\xf7C:C}C\xc0D\x03D\ -GD\x8aD\xceE\x12EUE\x9aE\xdeF\x22F\ -gF\xabF\xf0G5G{G\xc0H\x05HKH\ -\x91H\xd7I\x1dIcI\xa9I\xf0J7J}J\ -\xc4K\x0cKSK\x9aK\xe2L*LrL\xbaM\ -\x02MJM\x93M\xdcN%NnN\xb7O\x00O\ -IO\x93O\xddP'PqP\xbbQ\x06QPQ\ -\x9bQ\xe6R1R|R\xc7S\x13S_S\xaaS\ -\xf6TBT\x8fT\xdbU(UuU\xc2V\x0fV\ -\x5cV\xa9V\xf7WDW\x92W\xe0X/X}X\ -\xcbY\x1aYiY\xb8Z\x07ZVZ\xa6Z\xf5[\ -E[\x95[\xe5\x5c5\x5c\x86\x5c\xd6]']x]\ -\xc9^\x1a^l^\xbd_\x0f_a_\xb3`\x05`\ -W`\xaa`\xfcaOa\xa2a\xf5bIb\x9cb\ -\xf0cCc\x97c\xebd@d\x94d\xe9e=e\ -\x92e\xe7f=f\x92f\xe8g=g\x93g\xe9h\ -?h\x96h\xeciCi\x9ai\xf1jHj\x9fj\ -\xf7kOk\xa7k\xfflWl\xafm\x08m`m\ -\xb9n\x12nkn\xc4o\x1eoxo\xd1p+p\ -\x86p\xe0q:q\x95q\xf0rKr\xa6s\x01s\ -]s\xb8t\x14tpt\xccu(u\x85u\xe1v\ ->v\x9bv\xf8wVw\xb3x\x11xnx\xccy\ -*y\x89y\xe7zFz\xa5{\x04{c{\xc2|\ -!|\x81|\xe1}A}\xa1~\x01~b~\xc2\x7f\ -#\x7f\x84\x7f\xe5\x80G\x80\xa8\x81\x0a\x81k\x81\xcd\x82\ -0\x82\x92\x82\xf4\x83W\x83\xba\x84\x1d\x84\x80\x84\xe3\x85\ -G\x85\xab\x86\x0e\x86r\x86\xd7\x87;\x87\x9f\x88\x04\x88\ -i\x88\xce\x893\x89\x99\x89\xfe\x8ad\x8a\xca\x8b0\x8b\ -\x96\x8b\xfc\x8cc\x8c\xca\x8d1\x8d\x98\x8d\xff\x8ef\x8e\ -\xce\x8f6\x8f\x9e\x90\x06\x90n\x90\xd6\x91?\x91\xa8\x92\ -\x11\x92z\x92\xe3\x93M\x93\xb6\x94 \x94\x8a\x94\xf4\x95\ -_\x95\xc9\x964\x96\x9f\x97\x0a\x97u\x97\xe0\x98L\x98\ -\xb8\x99$\x99\x90\x99\xfc\x9ah\x9a\xd5\x9bB\x9b\xaf\x9c\ -\x1c\x9c\x89\x9c\xf7\x9dd\x9d\xd2\x9e@\x9e\xae\x9f\x1d\x9f\ -\x8b\x9f\xfa\xa0i\xa0\xd8\xa1G\xa1\xb6\xa2&\xa2\x96\xa3\ -\x06\xa3v\xa3\xe6\xa4V\xa4\xc7\xa58\xa5\xa9\xa6\x1a\xa6\ -\x8b\xa6\xfd\xa7n\xa7\xe0\xa8R\xa8\xc4\xa97\xa9\xa9\xaa\ -\x1c\xaa\x8f\xab\x02\xabu\xab\xe9\xac\x5c\xac\xd0\xadD\xad\ -\xb8\xae-\xae\xa1\xaf\x16\xaf\x8b\xb0\x00\xb0u\xb0\xea\xb1\ -`\xb1\xd6\xb2K\xb2\xc2\xb38\xb3\xae\xb4%\xb4\x9c\xb5\ -\x13\xb5\x8a\xb6\x01\xb6y\xb6\xf0\xb7h\xb7\xe0\xb8Y\xb8\ -\xd1\xb9J\xb9\xc2\xba;\xba\xb5\xbb.\xbb\xa7\xbc!\xbc\ -\x9b\xbd\x15\xbd\x8f\xbe\x0a\xbe\x84\xbe\xff\xbfz\xbf\xf5\xc0\ -p\xc0\xec\xc1g\xc1\xe3\xc2_\xc2\xdb\xc3X\xc3\xd4\xc4\ -Q\xc4\xce\xc5K\xc5\xc8\xc6F\xc6\xc3\xc7A\xc7\xbf\xc8\ -=\xc8\xbc\xc9:\xc9\xb9\xca8\xca\xb7\xcb6\xcb\xb6\xcc\ -5\xcc\xb5\xcd5\xcd\xb5\xce6\xce\xb6\xcf7\xcf\xb8\xd0\ -9\xd0\xba\xd1<\xd1\xbe\xd2?\xd2\xc1\xd3D\xd3\xc6\xd4\ -I\xd4\xcb\xd5N\xd5\xd1\xd6U\xd6\xd8\xd7\x5c\xd7\xe0\xd8\ -d\xd8\xe8\xd9l\xd9\xf1\xdav\xda\xfb\xdb\x80\xdc\x05\xdc\ -\x8a\xdd\x10\xdd\x96\xde\x1c\xde\xa2\xdf)\xdf\xaf\xe06\xe0\ -\xbd\xe1D\xe1\xcc\xe2S\xe2\xdb\xe3c\xe3\xeb\xe4s\xe4\ -\xfc\xe5\x84\xe6\x0d\xe6\x96\xe7\x1f\xe7\xa9\xe82\xe8\xbc\xe9\ -F\xe9\xd0\xea[\xea\xe5\xebp\xeb\xfb\xec\x86\xed\x11\xed\ -\x9c\xee(\xee\xb4\xef@\xef\xcc\xf0X\xf0\xe5\xf1r\xf1\ -\xff\xf2\x8c\xf3\x19\xf3\xa7\xf44\xf4\xc2\xf5P\xf5\xde\xf6\ -m\xf6\xfb\xf7\x8a\xf8\x19\xf8\xa8\xf98\xf9\xc7\xfaW\xfa\ -\xe7\xfbw\xfc\x07\xfc\x98\xfd)\xfd\xba\xfeK\xfe\xdc\xff\ -m\xff\xff\ -\x00\x00\x08A\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a \x0d\x0a \ - icon / o\ -utliner / slice \ -/ not active - s\ -aved copy\x0d\x0a Cre\ -ated with Sketch\ -.\x0d\x0a \x0d\x0a \ - \x0d\x0a \ - \x0d\x0a \ - \x0d\x0a\ - \x0d\x0a \ - \x0d\x0a \ - \ -\x0d\x0a \ - \x0d\x0a\ - \x0d\x0a \ - \x0d\x0a\x0d\x0a\ -\ -\x00\x00\x09\xa3\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a \x0d\x0a \ - Artboard\ -\x0d\x0a Created with\ - Sketch.\x0d\ -\x0a \x0d\x0a \x0d\x0a \ - \x0d\x0a \ - \x0d\x0a\ - \ -\x0d\x0a \ -\x0d\x0a \ -\x0d\x0a \x0d\x0a\ - \x0d\x0a\ -\x0d\x0a\ -\x00\x00\x02\xb6\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a \x0d\x0a \ - Icons / \ -System / Carat /\ - White / Default\ -\x0d\x0a Created with\ - Sketch.\x0d\ -\x0a \x0d\x0a <\ -polygon id=\x22Tria\ -ngle\x22 fill=\x22#FFF\ -FFF\x22 transform=\x22\ -translate(8.0000\ -00, 8.000000) sc\ -ale(1, -1) rotat\ -e(90.000000) tra\ -nslate(-8.000000\ -, -8.000000) \x22 p\ -oints=\x228 6 12 10\ - 4 10\x22>\x0d\x0a \x0d\x0a\x0d\x0a\ -\x00\x00\x8e\x0c\ -I\ -I*\x00\x08\x00\x00\x00\x19\x00\xfe\x00\x04\x00\x01\x00\x00\ -\x00\x00\x00\x00\x00\x00\x01\x03\x00\x01\x00\x00\x00`\x00\x00\ -\x00\x01\x01\x03\x00\x01\x00\x00\x00`\x00\x00\x00\x02\x01\x03\ -\x00\x04\x00\x00\x00:\x01\x00\x00\x03\x01\x03\x00\x01\x00\x00\ -\x00\x05\x00\x00\x00\x06\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\ -\x00\x11\x01\x04\x00\x01\x00\x00\x00`V\x00\x00\x12\x01\x03\ -\x00\x01\x00\x00\x00\x01\x00\x00\x00\x15\x01\x03\x00\x01\x00\x00\ -\x00\x04\x00\x00\x00\x16\x01\x03\x00\x01\x00\x00\x00`\x00\x00\ -\x00\x17\x01\x04\x00\x01\x00\x00\x00\xd9\x15\x00\x00\x1a\x01\x05\ -\x00\x01\x00\x00\x00B\x01\x00\x00\x1b\x01\x05\x00\x01\x00\x00\ -\x00J\x01\x00\x00\x1c\x01\x03\x00\x01\x00\x00\x00\x01\x00\x00\ -\x00(\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\x001\x01\x02\ -\x00\x22\x00\x00\x00R\x01\x00\x002\x01\x02\x00\x14\x00\x00\ -\x00t\x01\x00\x00=\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\ -\x00R\x01\x03\x00\x01\x00\x00\x00\x01\x00\x00\x00\xbc\x02\x01\ -\x00\x1a;\x00\x00\x88\x01\x00\x00\xbb\x83\x07\x00\x0f\x00\x00\ -\x00\xa2<\x00\x00I\x86\x01\x00f\x0d\x00\x00\xb2<\x00\ -\x00i\x87\x04\x00\x01\x00\x00\x00\x0a\x0a \x0a\ - \x0a \ - Adobe Photosho\ -p CC 2015.5 (Win\ -dows)\x0a \ - 2017-03-07T11:3\ -2:29-08:00\x0a \ - 2017-04-04T\ -11:28-07:00\x0a \ - 2017-04-\ -04T11:28-07:00\x0a image/tiff\ -\x0a \ - 3\x0a sRGB IEC61966-\ -2.1\x0a \ - \x0a \x0a \ - a\ -dobe:docid:photo\ -shop:94a27cdb-04\ -33-11e7-b02d-9f8\ -4d9f5a326\x0a \ - adobe:\ -docid:photoshop:\ -acaee4ff-1960-11\ -e7-bae7-e6e7a5cd\ -2814\x0a \ - \x0a \x0a \ - xmp.iid:\ -fa5f33a4-5729-d3\ -41-9ab8-5edce3a2\ -68a4\x0a \ - adobe:docid:p\ -hotoshop:696e80e\ -4-1964-11e7-8c4b\ --d6fec7ab83c2\ -\x0a xmp.did:ca77\ -1a70-f965-e14f-9\ -103-360465543dbf\ -\x0a \ - \x0a \ - \x0a \ - \x0a \ - crea\ -ted\x0a \ - xmp.iid:c\ -a771a70-f965-e14\ -f-9103-360465543\ -dbf\x0a \ - 2017-03-07T\ -11:32:29-08:00\x0a \ - Adobe Photosh\ -op CC 2015.5 (Wi\ -ndows)\x0a \ - \x0a \ - \x0a \ - saved\x0a \ - \ -xmp.iid:16fdf09c\ --857d-944e-9783-\ -e127cb1b9cf4\x0a\ - \ - 20\ -17-03-08T11:37:4\ -5-08:00\x0a \ - Adob\ -e Photoshop CC 2\ -015.5 (Windows)<\ -/stEvt:softwareA\ -gent>\x0a \ - /\x0a \ - \x0a \ - \x0a \ - saved\x0a \ - xmp.\ -iid:fa5f33a4-572\ -9-d341-9ab8-5edc\ -e3a268a4\x0a \ - 2017-0\ -4-04T11:28-07:00\ -\x0a \ - \ -Adobe Photo\ -shop CC 2017 (Wi\ -ndows)\x0a \ - <\ -stEvt:changed>/<\ -/stEvt:changed>\x0a\ - <\ -/rdf:li>\x0a \ - \x0a\ - \x0a \ -\x0a \ -\x0a\x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a\ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a\ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a\ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a\ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a\ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a\ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a\ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \x0a \ - \ - \ - \ - \ - \ - \ -\x0a \ - \x0a\x1c\x01Z\x00\x03\x1b%G\x1c\x02\x00\x00\x02\x00\x00\ -\x008BIM\x04%\x00\x00\x00\x00\x00\x10\xcd\xcf\xfa\ -}\xa8\xc7\xbe\x09\x05pv\xae\xaf\x05\xc3N8BI\ -M\x04:\x00\x00\x00\x00\x00\xe5\x00\x00\x00\x10\x00\x00\x00\ -\x01\x00\x00\x00\x00\x00\x0bprintOutp\ -ut\x00\x00\x00\x05\x00\x00\x00\x00PstSbo\ -ol\x01\x00\x00\x00\x00Inteenum\x00\ -\x00\x00\x00Inte\x00\x00\x00\x00Clrm\x00\ -\x00\x00\x0fprintSixteenB\ -itbool\x00\x00\x00\x00\x0bprint\ -erNameTEXT\x00\x00\x00\x01\x00\x00\ -\x00\x00\x00\x0fprintProofSe\ -tupObjc\x00\x00\x00\x0c\x00P\x00r\x00\ -o\x00o\x00f\x00 \x00S\x00e\x00t\x00u\x00\ -p\x00\x00\x00\x00\x00\x0aproofSetu\ -p\x00\x00\x00\x01\x00\x00\x00\x00Bltnenu\ -m\x00\x00\x00\x0cbuiltinProo\ -f\x00\x00\x00\x09proofCMYK\x008\ -BIM\x04;\x00\x00\x00\x00\x02-\x00\x00\x00\x10\x00\ -\x00\x00\x01\x00\x00\x00\x00\x00\x12printOu\ -tputOptions\x00\x00\x00\x17\x00\ -\x00\x00\x00Cptnbool\x00\x00\x00\x00\x00\ -Clbrbool\x00\x00\x00\x00\x00Rgs\ -Mbool\x00\x00\x00\x00\x00CrnCbo\ -ol\x00\x00\x00\x00\x00CntCbool\x00\ -\x00\x00\x00\x00Lblsbool\x00\x00\x00\x00\ -\x00Ngtvbool\x00\x00\x00\x00\x00Em\ -lDbool\x00\x00\x00\x00\x00Intrb\ -ool\x00\x00\x00\x00\x00BckgObjc\ -\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00RGBC\x00\x00\ -\x00\x03\x00\x00\x00\x00Rd doub@o\ -\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00Grn do\ -ub@o\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00Bl\ - doub@o\xe0\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00BrdTUntF#Rlt\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00Bld Un\ -tF#Rlt\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00RsltUntF#Pxl@b\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0avector\ -Databool\x01\x00\x00\x00\x00PgP\ -senum\x00\x00\x00\x00PgPs\x00\x00\x00\ -\x00PgPC\x00\x00\x00\x00LeftUnt\ -F#Rlt\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00Top UntF#Rlt\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00Scl Unt\ -F#Prc@Y\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x10cropWhenPrintin\ -gbool\x00\x00\x00\x00\x0ecropRe\ -ctBottomlong\x00\x00\x00\x00\ -\x00\x00\x00\x0ccropRectLeft\ -long\x00\x00\x00\x00\x00\x00\x00\x0dcrop\ -RectRightlong\x00\x00\x00\ -\x00\x00\x00\x00\x0bcropRectTop\ -long\x00\x00\x00\x00\x008BIM\x03\xed\x00\ -\x00\x00\x00\x00\x10\x00\x90\x00\x00\x00\x01\x00\x01\x00\x90\x00\ -\x00\x00\x01\x00\x018BIM\x04&\x00\x00\x00\x00\x00\ -\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00?\x80\x00\x008\ -BIM\x03\xee\x00\x00\x00\x00\x00\x0d\x0cTran\ -sparency\x008BIM\x04\x15\x00\ -\x00\x00\x00\x00\x1e\x00\x00\x00\x0d\x00T\x00r\x00a\x00\ -n\x00s\x00p\x00a\x00r\x00e\x00n\x00c\x00\ -y\x00\x008BIM\x045\x00\x00\x00\x00\x00\x11\x00\ -\x00\x00\x01\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00d\x01\ -\x008BIM\x04\x1d\x00\x00\x00\x00\x00\x04\x00\x00\x00\ -\x008BIM\x03\xf2\x00\x00\x00\x00\x00\x0a\x00\x00\xff\ -\xff\xff\xff\xff\xff\x00\x008BIM\x04\x0d\x00\x00\x00\ -\x00\x00\x04\x00\x00\x00\x1e8BIM\x04\x19\x00\x00\x00\ -\x00\x00\x04\x00\x00\x00\x1e8BIM\x03\xf3\x00\x00\x00\ -\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x01\x008BI\ -M'\x10\x00\x00\x00\x00\x00\x0a\x00\x01\x00\x00\x00\x00\x00\ -\x00\x00\x018BIM\x03\xf5\x00\x00\x00\x00\x00H\x00\ -/ff\x00\x01\x00lff\x00\x06\x00\x00\x00\x00\x00\ -\x01\x00/ff\x00\x01\x00\xa1\x99\x9a\x00\x06\x00\x00\x00\ -\x00\x00\x01\x002\x00\x00\x00\x01\x00Z\x00\x00\x00\x06\x00\ -\x00\x00\x00\x00\x01\x005\x00\x00\x00\x01\x00-\x00\x00\x00\ -\x06\x00\x00\x00\x00\x00\x018BIM\x03\xf8\x00\x00\x00\ -\x00\x00p\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x03\xe8\x00\x00\x00\ -\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\x03\xe8\x00\x00\x00\x00\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\x03\xe8\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x03\ -\xe8\x00\x008BIM\x04\x00\x00\x00\x00\x00\x00\x02\x00\ -\x008BIM\x04\x02\x00\x00\x00\x00\x00\x02\x00\x008\ -BIM\x040\x00\x00\x00\x00\x00\x01\x01\x008BI\ -M\x04-\x00\x00\x00\x00\x00\x06\x00\x01\x00\x00\x00\x038\ -BIM\x04\x08\x00\x00\x00\x00\x00\x10\x00\x00\x00\x01\x00\ -\x00\x02@\x00\x00\x02@\x00\x00\x00\x008BIM\x04\ -\x1e\x00\x00\x00\x00\x00\x04\x00\x00\x00\x008BIM\x04\ -\x1a\x00\x00\x00\x00\x035\x00\x00\x00\x06\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00`\x00\x00\x00`\x00\x00\x00\x00\x00\ -\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00`\x00\x00\x00`\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x01\ -\x00\x00\x00\x00\x00\x00null\x00\x00\x00\x02\x00\x00\ -\x00\x06boundsObjc\x00\x00\x00\x01\ -\x00\x00\x00\x00\x00\x00Rct1\x00\x00\x00\x04\x00\x00\ -\x00\x00Top long\x00\x00\x00\x00\x00\x00\ -\x00\x00Leftlong\x00\x00\x00\x00\x00\x00\ -\x00\x00Btomlong\x00\x00\x00`\x00\x00\ -\x00\x00Rghtlong\x00\x00\x00`\x00\x00\ -\x00\x06slicesVlLs\x00\x00\x00\x01\ -Objc\x00\x00\x00\x01\x00\x00\x00\x00\x00\x05sl\ -ice\x00\x00\x00\x12\x00\x00\x00\x07slice\ -IDlong\x00\x00\x00\x00\x00\x00\x00\x07gr\ -oupIDlong\x00\x00\x00\x00\x00\x00\x00\ -\x06originenum\x00\x00\x00\x0cE\ -SliceOrigin\x00\x00\x00\x0da\ -utoGenerated\x00\x00\x00\x00\ -Typeenum\x00\x00\x00\x0aESli\ -ceType\x00\x00\x00\x00Img \x00\x00\ -\x00\x06boundsObjc\x00\x00\x00\x01\ -\x00\x00\x00\x00\x00\x00Rct1\x00\x00\x00\x04\x00\x00\ -\x00\x00Top long\x00\x00\x00\x00\x00\x00\ -\x00\x00Leftlong\x00\x00\x00\x00\x00\x00\ -\x00\x00Btomlong\x00\x00\x00`\x00\x00\ -\x00\x00Rghtlong\x00\x00\x00`\x00\x00\ -\x00\x03urlTEXT\x00\x00\x00\x01\x00\x00\x00\ -\x00\x00\x00nullTEXT\x00\x00\x00\x01\x00\ -\x00\x00\x00\x00\x00MsgeTEXT\x00\x00\x00\ -\x01\x00\x00\x00\x00\x00\x06altTagTEX\ -T\x00\x00\x00\x01\x00\x00\x00\x00\x00\x0ecellT\ -extIsHTMLbool\x01\x00\x00\ -\x00\x08cellTextTEXT\x00\x00\ -\x00\x01\x00\x00\x00\x00\x00\x09horzAlig\ -nenum\x00\x00\x00\x0fESliceH\ -orzAlign\x00\x00\x00\x07defa\ -ult\x00\x00\x00\x09vertAlign\ -enum\x00\x00\x00\x0fESliceVe\ -rtAlign\x00\x00\x00\x07defau\ -lt\x00\x00\x00\x0bbgColorTyp\ -eenum\x00\x00\x00\x11ESliceB\ -GColorType\x00\x00\x00\x00No\ -ne\x00\x00\x00\x09topOutsetl\ -ong\x00\x00\x00\x00\x00\x00\x00\x0aleftO\ -utsetlong\x00\x00\x00\x00\x00\x00\x00\ -\x0cbottomOutsetlon\ -g\x00\x00\x00\x00\x00\x00\x00\x0brightOu\ -tsetlong\x00\x00\x00\x00\x008BI\ -M\x04(\x00\x00\x00\x00\x00\x0c\x00\x00\x00\x02?\xf0\x00\ -\x00\x00\x00\x00\x008BIM\x04\x14\x00\x00\x00\x00\x00\ -\x04\x00\x00\x00\x0d8BIM\x04\x0c\x00\x00\x00\x00\x03\ -\xfb\x00\x00\x00\x01\x00\x00\x000\x00\x00\x000\x00\x00\x00\ -\x90\x00\x00\x1b\x00\x00\x00\x03\xdf\x00\x18\x00\x01\xff\xd8\xff\ -\xed\x00\x0cAdobe_CM\x00\x01\xff\xee\x00\ -\x0eAdobe\x00d\x80\x00\x00\x00\x01\xff\xdb\x00\ -\x84\x00\x0c\x08\x08\x08\x09\x08\x0c\x09\x09\x0c\x11\x0b\x0a\x0b\ -\x11\x15\x0f\x0c\x0c\x0f\x15\x18\x13\x13\x15\x13\x13\x18\x11\x0c\ -\x0c\x0c\x0c\x0c\x0c\x11\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\ -\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\ -\x0c\x0c\x01\x0d\x0b\x0b\x0d\x0e\x0d\x10\x0e\x0e\x10\x14\x0e\x0e\ -\x0e\x14\x14\x0e\x0e\x0e\x0e\x14\x11\x0c\x0c\x0c\x0c\x0c\x11\x11\ -\x0c\x0c\x0c\x0c\x0c\x0c\x11\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\ -\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\ -\x0c\x0c\x0c\xff\xc0\x00\x11\x08\x000\x000\x03\x01\x22\x00\ -\x02\x11\x01\x03\x11\x01\xff\xdd\x00\x04\x00\x03\xff\xc4\x01?\ -\x00\x00\x01\x05\x01\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\ -\x00\x03\x00\x01\x02\x04\x05\x06\x07\x08\x09\x0a\x0b\x01\x00\x01\ -\x05\x01\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\ -\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x10\x00\x01\x04\x01\x03\ -\x02\x04\x02\x05\x07\x06\x08\x05\x03\x0c3\x01\x00\x02\x11\x03\ -\x04!\x121\x05AQa\x13\x22q\x812\x06\x14\x91\ -\xa1\xb1B#$\x15R\xc1b34r\x82\xd1C\x07\ -%\x92S\xf0\xe1\xf1cs5\x16\xa2\xb2\x83&D\x93\ -TdE\xc2\xa3t6\x17\xd2U\xe2e\xf2\xb3\x84\xc3\ -\xd3u\xe3\xf3F'\x94\xa4\x85\xb4\x95\xc4\xd4\xe4\xf4\xa5\ -\xb5\xc5\xd5\xe5\xf5Vfv\x86\x96\xa6\xb6\xc6\xd6\xe6\xf6\ -7GWgw\x87\x97\xa7\xb7\xc7\xd7\xe7\xf7\x11\x00\x02\ -\x02\x01\x02\x04\x04\x03\x04\x05\x06\x07\x07\x06\x055\x01\x00\ -\x02\x11\x03!1\x12\x04AQaq\x22\x13\x052\x81\ -\x91\x14\xa1\xb1B#\xc1R\xd1\xf03$b\xe1r\x82\ -\x92CS\x15cs4\xf1%\x06\x16\xa2\xb2\x83\x07&\ -5\xc2\xd2D\x93T\xa3\x17dEU6te\xe2\xf2\ -\xb3\x84\xc3\xd3u\xe3\xf3F\x94\xa4\x85\xb4\x95\xc4\xd4\xe4\ -\xf4\xa5\xb5\xc5\xd5\xe5\xf5Vfv\x86\x96\xa6\xb6\xc6\xd6\ -\xe6\xf6'7GWgw\x87\x97\xa7\xb7\xc7\xff\xda\x00\ -\x0c\x03\x01\x00\x02\x11\x03\x11\x00?\x00\xf4<\xdc\xcc\x96\ -d\x9a\xa9;@\x80\x00\x00\x92O\xc6P\xfd~\xab\xe0\ -\xff\x00\xfbl\x7f\xe4R\xc9\xff\x00\x95\x1b\xfdz\xff\x00\ -\xef\xabN\xd79\x95\xb9\xcdi{\x9a\x09\x0d\x1c\x92\x92\ -\x9c\xa7e\xf5\x16}79\xb3\xc6\xe6\xb4~V\xa7n\ -OSp\x96\x978\x1e\xe1\x80\x8f\xc1\xaa\xc6.\x0bl\ -g\xaf\x96\xd2\xfb\xac\xd4\xee\x9d\x07a\xb53\xea\x18Y\ -5>\x92EW81\xec\x99\x12x))\x0f\xaf\xd5\ -|\x1f\xfe`\xff\x00\xc8\xa2`fdY\x91\xe9Zw\ -\x02\x0f \x02\x08\xfe\xaa\xd2Y\x18?\xf2\x81\xff\x00\xae\ -~T\x94\xff\x00\xff\xd0\xef\xf2\x7f\xe5F\xff\x00^\xbf\ -\xfb\xea\xd0\xc9\xca\xaf\x19\xa0\xbeIq\x86\xb5\xa2IY\ -\xf9?\xf2\xa3\x7f\xaf_\xfd\xf5Y\xea\x9e\xd6Soz\ -\xec\x07\xe5\xfe\xa1%-\xf6\xfb\xdd\xfc\xde+\xcf\x81v\ -\x9f\xc1\x0a\xe6\xf5\x0b\x9c\xcb\x9f[X)\x975\xa4\xce\ -\xbc\xce\x9f\x05k<\xde1\x9c\xeaL\x11\xab\x88\xe7h\ -\xfa[R\xc1u\x96b5\xd6\x9d\xc5\xd3\x07\xbcN\x9b\ -\x92S\x01E\x01L\x01\ -R\x01Y\x01`\x01g\x01n\x01u\x01|\x01\x83\x01\ -\x8b\x01\x92\x01\x9a\x01\xa1\x01\xa9\x01\xb1\x01\xb9\x01\xc1\x01\ -\xc9\x01\xd1\x01\xd9\x01\xe1\x01\xe9\x01\xf2\x01\xfa\x02\x03\x02\ -\x0c\x02\x14\x02\x1d\x02&\x02/\x028\x02A\x02K\x02\ -T\x02]\x02g\x02q\x02z\x02\x84\x02\x8e\x02\x98\x02\ -\xa2\x02\xac\x02\xb6\x02\xc1\x02\xcb\x02\xd5\x02\xe0\x02\xeb\x02\ -\xf5\x03\x00\x03\x0b\x03\x16\x03!\x03-\x038\x03C\x03\ -O\x03Z\x03f\x03r\x03~\x03\x8a\x03\x96\x03\xa2\x03\ -\xae\x03\xba\x03\xc7\x03\xd3\x03\xe0\x03\xec\x03\xf9\x04\x06\x04\ -\x13\x04 \x04-\x04;\x04H\x04U\x04c\x04q\x04\ -~\x04\x8c\x04\x9a\x04\xa8\x04\xb6\x04\xc4\x04\xd3\x04\xe1\x04\ -\xf0\x04\xfe\x05\x0d\x05\x1c\x05+\x05:\x05I\x05X\x05\ -g\x05w\x05\x86\x05\x96\x05\xa6\x05\xb5\x05\xc5\x05\xd5\x05\ -\xe5\x05\xf6\x06\x06\x06\x16\x06'\x067\x06H\x06Y\x06\ -j\x06{\x06\x8c\x06\x9d\x06\xaf\x06\xc0\x06\xd1\x06\xe3\x06\ -\xf5\x07\x07\x07\x19\x07+\x07=\x07O\x07a\x07t\x07\ -\x86\x07\x99\x07\xac\x07\xbf\x07\xd2\x07\xe5\x07\xf8\x08\x0b\x08\ -\x1f\x082\x08F\x08Z\x08n\x08\x82\x08\x96\x08\xaa\x08\ -\xbe\x08\xd2\x08\xe7\x08\xfb\x09\x10\x09%\x09:\x09O\x09\ -d\x09y\x09\x8f\x09\xa4\x09\xba\x09\xcf\x09\xe5\x09\xfb\x0a\ -\x11\x0a'\x0a=\x0aT\x0aj\x0a\x81\x0a\x98\x0a\xae\x0a\ -\xc5\x0a\xdc\x0a\xf3\x0b\x0b\x0b\x22\x0b9\x0bQ\x0bi\x0b\ -\x80\x0b\x98\x0b\xb0\x0b\xc8\x0b\xe1\x0b\xf9\x0c\x12\x0c*\x0c\ -C\x0c\x5c\x0cu\x0c\x8e\x0c\xa7\x0c\xc0\x0c\xd9\x0c\xf3\x0d\ -\x0d\x0d&\x0d@\x0dZ\x0dt\x0d\x8e\x0d\xa9\x0d\xc3\x0d\ -\xde\x0d\xf8\x0e\x13\x0e.\x0eI\x0ed\x0e\x7f\x0e\x9b\x0e\ -\xb6\x0e\xd2\x0e\xee\x0f\x09\x0f%\x0fA\x0f^\x0fz\x0f\ -\x96\x0f\xb3\x0f\xcf\x0f\xec\x10\x09\x10&\x10C\x10a\x10\ -~\x10\x9b\x10\xb9\x10\xd7\x10\xf5\x11\x13\x111\x11O\x11\ -m\x11\x8c\x11\xaa\x11\xc9\x11\xe8\x12\x07\x12&\x12E\x12\ -d\x12\x84\x12\xa3\x12\xc3\x12\xe3\x13\x03\x13#\x13C\x13\ -c\x13\x83\x13\xa4\x13\xc5\x13\xe5\x14\x06\x14'\x14I\x14\ -j\x14\x8b\x14\xad\x14\xce\x14\xf0\x15\x12\x154\x15V\x15\ -x\x15\x9b\x15\xbd\x15\xe0\x16\x03\x16&\x16I\x16l\x16\ -\x8f\x16\xb2\x16\xd6\x16\xfa\x17\x1d\x17A\x17e\x17\x89\x17\ -\xae\x17\xd2\x17\xf7\x18\x1b\x18@\x18e\x18\x8a\x18\xaf\x18\ -\xd5\x18\xfa\x19 \x19E\x19k\x19\x91\x19\xb7\x19\xdd\x1a\ -\x04\x1a*\x1aQ\x1aw\x1a\x9e\x1a\xc5\x1a\xec\x1b\x14\x1b\ -;\x1bc\x1b\x8a\x1b\xb2\x1b\xda\x1c\x02\x1c*\x1cR\x1c\ -{\x1c\xa3\x1c\xcc\x1c\xf5\x1d\x1e\x1dG\x1dp\x1d\x99\x1d\ -\xc3\x1d\xec\x1e\x16\x1e@\x1ej\x1e\x94\x1e\xbe\x1e\xe9\x1f\ -\x13\x1f>\x1fi\x1f\x94\x1f\xbf\x1f\xea \x15 A \ -l \x98 \xc4 \xf0!\x1c!H!u!\xa1!\ -\xce!\xfb\x22'\x22U\x22\x82\x22\xaf\x22\xdd#\x0a#\ -8#f#\x94#\xc2#\xf0$\x1f$M$|$\ -\xab$\xda%\x09%8%h%\x97%\xc7%\xf7&\ -'&W&\x87&\xb7&\xe8'\x18'I'z'\ -\xab'\xdc(\x0d(?(q(\xa2(\xd4)\x06)\ -8)k)\x9d)\xd0*\x02*5*h*\x9b*\ -\xcf+\x02+6+i+\x9d+\xd1,\x05,9,\ -n,\xa2,\xd7-\x0c-A-v-\xab-\xe1.\ -\x16.L.\x82.\xb7.\xee/$/Z/\x91/\ -\xc7/\xfe050l0\xa40\xdb1\x121J1\ -\x821\xba1\xf22*2c2\x9b2\xd43\x0d3\ -F3\x7f3\xb83\xf14+4e4\x9e4\xd85\ -\x135M5\x875\xc25\xfd676r6\xae6\ -\xe97$7`7\x9c7\xd78\x148P8\x8c8\ -\xc89\x059B9\x7f9\xbc9\xf9:6:t:\ -\xb2:\xef;-;k;\xaa;\xe8<' >`>\ -\xa0>\xe0?!?a?\xa2?\xe2@#@d@\ -\xa6@\xe7A)AjA\xacA\xeeB0BrB\ -\xb5B\xf7C:C}C\xc0D\x03DGD\x8aD\ -\xceE\x12EUE\x9aE\xdeF\x22FgF\xabF\ -\xf0G5G{G\xc0H\x05HKH\x91H\xd7I\ -\x1dIcI\xa9I\xf0J7J}J\xc4K\x0cK\ -SK\x9aK\xe2L*LrL\xbaM\x02MJM\ -\x93M\xdcN%NnN\xb7O\x00OIO\x93O\ -\xddP'PqP\xbbQ\x06QPQ\x9bQ\xe6R\ -1R|R\xc7S\x13S_S\xaaS\xf6TBT\ -\x8fT\xdbU(UuU\xc2V\x0fV\x5cV\xa9V\ -\xf7WDW\x92W\xe0X/X}X\xcbY\x1aY\ -iY\xb8Z\x07ZVZ\xa6Z\xf5[E[\x95[\ -\xe5\x5c5\x5c\x86\x5c\xd6]']x]\xc9^\x1a^\ -l^\xbd_\x0f_a_\xb3`\x05`W`\xaa`\ -\xfcaOa\xa2a\xf5bIb\x9cb\xf0cCc\ -\x97c\xebd@d\x94d\xe9e=e\x92e\xe7f\ -=f\x92f\xe8g=g\x93g\xe9h?h\x96h\ -\xeciCi\x9ai\xf1jHj\x9fj\xf7kOk\ -\xa7k\xfflWl\xafm\x08m`m\xb9n\x12n\ -kn\xc4o\x1eoxo\xd1p+p\x86p\xe0q\ -:q\x95q\xf0rKr\xa6s\x01s]s\xb8t\ -\x14tpt\xccu(u\x85u\xe1v>v\x9bv\ -\xf8wVw\xb3x\x11xnx\xccy*y\x89y\ -\xe7zFz\xa5{\x04{c{\xc2|!|\x81|\ -\xe1}A}\xa1~\x01~b~\xc2\x7f#\x7f\x84\x7f\ -\xe5\x80G\x80\xa8\x81\x0a\x81k\x81\xcd\x820\x82\x92\x82\ -\xf4\x83W\x83\xba\x84\x1d\x84\x80\x84\xe3\x85G\x85\xab\x86\ -\x0e\x86r\x86\xd7\x87;\x87\x9f\x88\x04\x88i\x88\xce\x89\ -3\x89\x99\x89\xfe\x8ad\x8a\xca\x8b0\x8b\x96\x8b\xfc\x8c\ -c\x8c\xca\x8d1\x8d\x98\x8d\xff\x8ef\x8e\xce\x8f6\x8f\ -\x9e\x90\x06\x90n\x90\xd6\x91?\x91\xa8\x92\x11\x92z\x92\ -\xe3\x93M\x93\xb6\x94 \x94\x8a\x94\xf4\x95_\x95\xc9\x96\ -4\x96\x9f\x97\x0a\x97u\x97\xe0\x98L\x98\xb8\x99$\x99\ -\x90\x99\xfc\x9ah\x9a\xd5\x9bB\x9b\xaf\x9c\x1c\x9c\x89\x9c\ -\xf7\x9dd\x9d\xd2\x9e@\x9e\xae\x9f\x1d\x9f\x8b\x9f\xfa\xa0\ -i\xa0\xd8\xa1G\xa1\xb6\xa2&\xa2\x96\xa3\x06\xa3v\xa3\ -\xe6\xa4V\xa4\xc7\xa58\xa5\xa9\xa6\x1a\xa6\x8b\xa6\xfd\xa7\ -n\xa7\xe0\xa8R\xa8\xc4\xa97\xa9\xa9\xaa\x1c\xaa\x8f\xab\ -\x02\xabu\xab\xe9\xac\x5c\xac\xd0\xadD\xad\xb8\xae-\xae\ -\xa1\xaf\x16\xaf\x8b\xb0\x00\xb0u\xb0\xea\xb1`\xb1\xd6\xb2\ -K\xb2\xc2\xb38\xb3\xae\xb4%\xb4\x9c\xb5\x13\xb5\x8a\xb6\ -\x01\xb6y\xb6\xf0\xb7h\xb7\xe0\xb8Y\xb8\xd1\xb9J\xb9\ -\xc2\xba;\xba\xb5\xbb.\xbb\xa7\xbc!\xbc\x9b\xbd\x15\xbd\ -\x8f\xbe\x0a\xbe\x84\xbe\xff\xbfz\xbf\xf5\xc0p\xc0\xec\xc1\ -g\xc1\xe3\xc2_\xc2\xdb\xc3X\xc3\xd4\xc4Q\xc4\xce\xc5\ -K\xc5\xc8\xc6F\xc6\xc3\xc7A\xc7\xbf\xc8=\xc8\xbc\xc9\ -:\xc9\xb9\xca8\xca\xb7\xcb6\xcb\xb6\xcc5\xcc\xb5\xcd\ -5\xcd\xb5\xce6\xce\xb6\xcf7\xcf\xb8\xd09\xd0\xba\xd1\ -<\xd1\xbe\xd2?\xd2\xc1\xd3D\xd3\xc6\xd4I\xd4\xcb\xd5\ -N\xd5\xd1\xd6U\xd6\xd8\xd7\x5c\xd7\xe0\xd8d\xd8\xe8\xd9\ -l\xd9\xf1\xdav\xda\xfb\xdb\x80\xdc\x05\xdc\x8a\xdd\x10\xdd\ -\x96\xde\x1c\xde\xa2\xdf)\xdf\xaf\xe06\xe0\xbd\xe1D\xe1\ -\xcc\xe2S\xe2\xdb\xe3c\xe3\xeb\xe4s\xe4\xfc\xe5\x84\xe6\ -\x0d\xe6\x96\xe7\x1f\xe7\xa9\xe82\xe8\xbc\xe9F\xe9\xd0\xea\ -[\xea\xe5\xebp\xeb\xfb\xec\x86\xed\x11\xed\x9c\xee(\xee\ -\xb4\xef@\xef\xcc\xf0X\xf0\xe5\xf1r\xf1\xff\xf2\x8c\xf3\ -\x19\xf3\xa7\xf44\xf4\xc2\xf5P\xf5\xde\xf6m\xf6\xfb\xf7\ -\x8a\xf8\x19\xf8\xa8\xf98\xf9\xc7\xfaW\xfa\xe7\xfbw\xfc\ -\x07\xfc\x98\xfd)\xfd\xba\xfeK\xfe\xdc\xffm\xff\xff\x80\ -\x00 P8$\x16\x0d\x07\x84BaP\xb8d6\x1d\ -\x0f\x88DbQ8\xa4V-\x17\x8cFcQ\xb8\xe4\ -v=\x1f\x90HdR9$\x96M'\x94JeR\ -\xb9d\xb6]/\x98A\x00\x930(*l\x0c\x9c\x03\ -\x02\x13`P0\x07?\x02?\xe8O\xe8X\x06 \x01\ -\xa4\x00hO\xfa$\x1a\x93H\x82R\xdf\xf0J}J\ -\x06\xff\xa4\x80\xa9t\xd0\x05\x1a\x07U\xa5\xd5\xeb\xf4\xfa\ -\x8d\x86\x05S\x81S\xe9VhK\xfc\x05o\x01\xd5\xaa\ -\xf6\xca\x8d~\x0fh\xb4\xd2\x00P\x8a\x95\x92\xefK\xb0\ -P\xacW\x9aM\xca\x9dI\xbe]05\xca\xf0\x02\x98\ -\xfe\xc8>\xf2O\xa7\xa6U\xe2\xf3\xcc<2O\xb7\xce\ -\x1aSO\x07\xe8Bcm!\x10\x87\xa7)\x89\xb5C\ -\x00v\xb4#?\x01\x81*\x98\x88]\xf7i\x87\xa4g\ -\xb18+\x1e\xe7\x01\xb7\x8e\xed\xaa\x17:\x15\xfa\x0d\xba\ -\xde\xda\xf7\x98Ln;\x7f\xbe\xe2\xf0!\x99\xec\x0d\xe2\ -\xbbj\xe8T\xab\x18^\x7f6\x9f\x90\xc8uz\xbb>\ -\xcf\x81\xfc\xf8\xf4=\x9c\xbe\xb6\xf3#\xdc\xbaa|V\ -N\x0f\xa3c6\xfa\x94\x04\xbfAb\xcf\xf4\xe0)\xc0\ -\x03:r\x08-\xebzc\x03\xc1\x10L\x15\x05>\xe6\ -\x94\x1cc\x13p\x89\x04h\xc2\x86+\xee\x90\x00\xd0\xc8\ -\x10(C\x83 \xdb\x0f\x91\x00LD\x05\xc1q,M\ -\x13\xc5\x09B\xa4fE\x85\xf9\x17\x17\x8d\xa6\xfcdk\ -\xb9\x08\xb0;\x1b\x84\x84LtV5A0_\x14\xc8\ -\x12\x0c\x85!\xa2\xe7\xd4\x8c|\x93RI\x00SI\x84\ -|\x8c}\x1f(\xc4\x0a\x01\x07\xb2\xa8\x9aCK\x058\ -\x0f-\x812$\xbd/\xcc\x13\x0a\x04gL\x86\x08\xed\ -3\x8a\x87\x84\xd4v#\x09\x98\x08\x02\x8a\xf3\x88\xda7\ -\xce\x84\x5c\xa71O\x13\xcc\xf5\x03\x9d\x13\xe9\xc44P\ -\x02\x11\xc9A\x9b\xa8\xc42\x03\x01\x03-\x14?\x0c\x14\ -h\xf0\xe3Ot\x8d%I\xa3\xe7\x95,w\x0c\x94\xc8\ -|oS\x86\xad\x0d\x0d\x0d\x95\x09\x0e\xfe\x8b#}!\ -JU\x15MT\x873\x07\x99\xe1E\x0c\xa1\xf1\xb9Y\ -\x9ah\xc4\xb6\x03\x810\xf8\xdaDN\x22\xb8\xdbS\xc4\ -\xae\x13\x9bU\xc8q\xab\xae\xe1\xa1V\x15UV\x9e\x14\ -\xc8\xc8\x1e\x9b\xb6\x89\xa9O\xd1\x03u\xacD\xd7\xb5\xfb\ -\xa4\x89\xaaF\xdd\xbch\x9e\xb7\x09\xe6\xea\xcav\x13\xa8\ -\xe0\x1f\xb7I\xfb;\xb8\x8e\xdb\xb2\xf29Wr\xd4\x82\ -<\xc8E!C\x81\x17\xc8\x10\x05P\xe0<\xdc\x02\xa0\ -\x97Q\xf8|\xe0\x87\xc6\x08|\x9e\xefA\xf0{C\ -<\x01\x08\x0eli\xb9\xd4\xf2k@p\x12xa\xfd\ -\xfd\x06\xe5&+\xe0\x80\x9b\x12\xf0L>\x8e\xe8,:\ -]\xbb\xe7\x02\x0f\xa5\x17\xbe\xc7\xdc\xfc\x08z\xcc\x80!\ -\x9c 6\x11\xb44V\xa0\x08yn\x89\xcb\x198F\ -\x10\x10p\xd2\x18\xe9\x85\x90\x00\xb0\x1c%!\xc0\xb9p\ -\xa0\xb5\xc3\xb9\xe1\x93\x0f\xc5\xda\xba\x09\x0b\xd5T\xc1\xa0\ -(\x22\xa2@\xadw\xc0\xc8\x1f8\x86J\xf0\xc1\xfc&\ -\x85\x0eA\xfc*(\x1b\x08\x08s\xd0QOI\xea&\ -\x10\xef\x17\xc4\xa8U\x8cA\xa8\x8c\x0c\xb9\x5c\ -/b!\x16_\xf1,\x1f8\xa0\xc6\x1f#\xb83\x08\ -\x04`O\xcb\xd1\x0e%f\x00zRq\x19\xf5\x0a\xe0\ -c1\xc1\xe9\x1c\x5c#\xd4yK`y%\x1f\xbb.\ -\x8a\xcc\xceM\x10\xb6n?\x07\xdb\xd1\x93\xc9\x00\x12M\ -\xd0Z('\x00\xc8_@(\x88\x0bi\xcc)\x04,\ -\xe9\x0c\xcc\x1c{\x92\x84\xa6\x16\xa7\x80qZ\xc1\xb8D\ -\xb6\xe2\x1e\xa5\x87\x90\xef\x0a\x93\xec\x14Aa\xdc:\x93\ -\xd3\xb9wb\xb2Z<\x133$\xdf\xb4T\x013\xcd\ -l'(Z>\xc7\xd3\xd1zcQ\xea\xa2\x91%E\ -\xc5\xb0:\xa3A$\x88\x0b\xaa<*C\xfd!\x0b\xc8\ -]\x04\x1a@l\x10\xc4\x1d)\x14\x80N\x96\x01\x82 \ --)\x80\xa1\x10\x14\xcc0P\x17\x01!El\xc7\x06\ -3&H\x99\x96N\xe3\x5c|\x96yH\x82L\xbf\xd7\ -\x9ed\xe2\x84\xdbD\xa0Z\xa6\x01\xb9\x04+F\xcb\xdc\ -!\x83\xaa\xaa\x0eEH\x0c\x07\x8dY\x1d\xa9\x00\x17U\ -\xd0t\x92D\xd0\xc0_\xf2l\xc9\xab\xd0X8\xab@\ -\xdbL3\x12\x0e\xd3\xaaxF\x9f\x94P\x8aSE\xc9\ -B\xc275\xc7\xdb'\xa2tU\x05\xa8\x00\xd0 \x96\ -p}\x22\x09`C\x06\x81]a\xc4\xcaa\x0eV,\ -G\xcf\x00\xb4\x1c\x08\x84\xe0\x14\x02\x22\x1c\x09@\xf2\x98\ -]\xcd8\xad\xd4\x19WP\x86U4^\x5c\x0d#\x8f\ -\xfe(W\xb4\x13\x22\xaax\xd8w$2\x7f\x0e\xa48\ -\x14\x01 \xf6\xb6C\xcd0\xaf\x81Om\xc6\x80\x1f\xb7\ -@\x9c\x86\x0ek|8\x02\xb5\xc1\x05l({$H\ -\x8df\xa6D\xd5!P\x8a\x01W2.\xbe-\x0c\xd4\ -\xa8\xc4BN-+\x1bLK\xc9\ -\xc8\x0f\x15x\x0ck\x01\x5c\x0c\x06\x8e\x99Kd\xe8P\ -h\x8cU&~\x80\x90\x17\x15\x98Lk\xc0\x80\x22C\ -\x22\xf8w\x0a\xa2\xf7\x0e\x0a\xcb\x8c\xfa$`\x8c\x15\xef\ -\xb4\x18\x03\xc8\x9c'\xc8\x90\xe8\x12;\ -\xa0\xa4ne\xcc\xd7\x17}\xea\x12\xb8\xa1\x97\x04+\x06\ -\xcb\x94B_\xfc/\xba\xe4\xb4\xa7\xe0`*\x06\xb28\ -*\x06\xb688H\xf2\x09<\xc2P\xc6\xceB\xdd\xdb\ -\x88\xdc\xec,\x1a\x90?\x09\xe41\xf5\x06\xe1S\x9f\xc4\ -\x9d\xf0\xa6\xf7\xcadbw\xa3\x19\xab\xa2\xa2\xae\xc4j\ -\xea\xb9\xa78\x91)0C\xa4\xc1\x12\xb0\x08\x07\xfe\xed\ -\xe8\xb8\x92\xa34o>\x22\xfc\xfd\xa04\x13\xa8\xb9\x14\ -\xefCE\xbd\x11B\x9f\xcd\xd2\xc5\xc4P\xfb\xc2\xf8c\ -\x0c\xdf*\x91e\xb6\xdcS\x8d\x16\xb0\x07\x81)\x0c\x10\ -Z\xec1\x8b-|'\xb5\x08\x15\x98\xa0\xbfb\x03\xbc\ -\xbeB$\x94[\xcb\x04U|P\xcbDF\xef\xec\x5c\ -\xa2\x9a\xc5H\xc3\xb0p'\xb6\xc0\xc6\x90\x01\xd7n\x05\ -&\xce/\xc5~\x1f\x83s\x17\x12>\xfb\xf6C\xab\x8b\ -\x99\xb9\xd9e\x5c\xe2\xc5}\xb1\xc8>\x8d\xcc{Q1\ -8 \xf8&\xedxd\xbd&@~\xbdp\xbc\x0d\x86\ -\xc7\x01\x19\xdb\x8a#\xc4\x9c\xa7\x5c\x0c\xb6\x87[\xcf\x22\ -\xfcn\xe5\xb5\xaa\xc8\x9e\xf2\xd1\xfb\xd101\xd0D\x0a\ -\x85'\x19\x19\xcb\xf4\x86)\xc1\xbc5\xa5\x08[\x064\ -\x91!\x5c~\x0c\xef\xa2m\xf4\xe1:\x9b\x85\xe2\xb5w\ -Qx\x81\x12\xd5\xb0\x0bW\xf1D\xc1b\xc3\x90\x8e\xb1\ -\xc1\xc4\x88V\x01\x03\xa5k[\xe8\x98\xb7\xcc\x8deV\ -O\xa9\xf7f[\xb89{s\x90\xdeg\x099\xaf6\ -H+\xf7\x09\x8a\xc1\xb0\x06\xba\xc0 !\x91\xb8u\x8e\ -`\xbb\xd7\xc1\xa0\xec\xecC\x9e\xcc8\x0a\x07\xc1\xc8\xce\ -\xe9x\x9b\xaff!\xa0\xe1\xdb\xc4\x5cb\x0a\xa1\xafx\ -\x10n%\x01z\x92A\x06\xbd\xec!J\xb1,/$\ -\x02\xcc\x1c>\x0cl\xa54\xfa:\x07\x18\xc1\xf1B\xc4\ -Z\xf8\xd1D\x89\xb2\x88\x89\x15\x95\xbb\xba\x90W\x84\xe6\ -zA\x15\x92\xfc;\xca\x90N\xef'\xfb\xc9!'\x80\ -1\xd3\x81h\xe8\x06\xc1\x08\x1c\xf5@\x90\x0cz\xd0;\ -K\x00\x98\x18\xa7@\xfb[\xeb\x92F{\x86@\xba\xc4\ -!\xbc\xfa\x0e\x01\xb0L90\x8a\x89\x5c\xa2\xce*\xfd\ -\x95BH\xb2\xf8rY\xb2\x87\x8f\xad\x5c\x83\xb5\x87\xa1\ -!$\xf0\x06\xd4\xcfM\xd6\x00\xd0 \xd6\xe0\x98\x10\xfd\ -\xd0R\x8d\xc0\xe8$\xf5@p\x11\xfaZ\xa4\x8ac0\ -a\xfd@\xe6\xe2\x12\xc7r\x22?\x80\xaa\x91\xfet\x81\ -\xcf\x81\xdf\x0b\xfc\xc9\x14e\xbd+.\xffB\x04\x7f\xea\ -\xfc\x08.\xa2K\xe4\xa6kbr\x01\x80\x1e\x02\xf0\x14\ -\x03\xac \x02\xd0\x1a\xf6\x001\x01@.\x03\xabt\x03\ -\xe0O\x02@:i\xe0(\x03.8\xda\x8d\xb8\x0e\xad\ -\xbcm\x02X\xad\x87\xd6\xe8\x822\xf2\xe7\x88\xff\x22&\ -\xf3ev\xd9\xed\x18\xa9\x09:\xe2b\x5c_\xec\xd2\x06\ -\x8f\xc6\x04\x88\xf4\x04`W\x02\xa0N\xf4\xe0D4 \ -\x1e\x02E\xf4\x86\xc3\x5c\xfaB4\x16p\x90\x14\x01\x03\ -\x09`\xc3\x04g\xd0\xa7\x0e\xd0#\x0b\xea~\x8d\x96\xff\ -G\x22\x9ag\xf6\xff\xc0\x00\xf3\xe2P\xc7@\x1a\x02\x0e\ -\xe4\x0d`\x89\x0c`\xaaG\xa4\x7f\x08\xc2(\xaf\x0b\x88\ -ua\xd8\xc2\xc9\x14!\x84\xc8\x19\xc1\x84\x8a\x10\x9c\x83\ -p\xa0\xf8\x8azU\xca~ZM\x12f\x08\xae\xe9\xaa\ -\xc8\xa2\x0a$\xc6BD\xfc\x00H\xce\xc1\x1a\x16\x0e,\ -\x05p\xd0`KZ\xf0\xe1\xc4\xf7\xa1\xb0\xad\x01\xc4\x1b\ -O\x06\x1c!\xb2\xeb\x81\xcc~O\xecY\x80\xf1\x13\xe1\ -*\x09\xd1D\x0cB\x18\x1d1L\x1cez\x05\xa7\xe4\ -%\x0b\xe2\xf8PL#\x0e\x8c~\x90T\x22PX\x11\ -\x10\x5c#0\xb8#\xe5\xfe\x13\x91x\x18`Y\x17\xe0\ -nRf\xbe\x1d\xf1\x88\x1dc\xd6\x1c\xa1\xbc\x1cq\x94\ -\x1b\x8e<\x1a\xd1$\x1c\xf1\xa0\x1c1 \xb6A\xec\xb6\ -\x826\x9ea\x14\xdf\xc0\xea!\x87\xfe\x7f@]\x12\x81\ -\xb4%\x08\x8c\xc4,F}\xc9\x94\x5c!\xe4\xe8\xeeZ\ -\xa1O\xf8\xe9\x8eb\xa8\xea \xf9\xe8d$\x00\x9b\x1e\ -\xa0\xc0\xa4 \xfe\x13\xe2`<\xca\xb2\x1e!\xdb\x14\xc1\ -\xd2\x1cq\xc1\x12\x81\xb6mA\xda\x1d\x11\xfa\x1d\xc7V\ -\xeb\xab~\x9f\xc1\xd3\x1a\x81\xe8A,\xb8\x0dk\xc2\x12\ -\x82 N\x80\xde\x09a\x8b#al%\x10\x80\x02q\ -\xc9\x15\xe2.~N\x14x\xee\x5cy\x8d\xdf\x10\x02\x16\ -\xda+\xfe#\xd1\xc8j\xa0\x80\x0a\x020`Q\x88\x1d\ -\xf2\x18\x1c\xc1\xc0Pa\xc8q\xa7\x1d\x19A\xc6\x1br\ -t\x1b\xb1 \xfe\xc7n\xd2n\xfc\x17b \x11\xd2\x94\ -\x0e$\x98\x14\xcb\xd0$\xf1Z\x15\xad\xcb\x0bRH\xe5\ -\x92L\xe1\xae^\xc5\xa5\x86\xe20`\xba\xd0d#\xaa\ -\xc0\x180\xa2 \xf2j\x1daK,\xe1\x1c\x8c\xd1\xa0\ -\x1c\xe1\xc2\xaa\x81\xd4\x1c\x91W\x0d\x02\x16\xfc`F\x15\ -R\xec\x1a\xb0:!J\x9e\x13\x01\x0f/\xa0\xd3\x1cP\ -\x9e\xe4\xe8\x98\xf8\xa8\xa1\x16b#\x16\xaea+g\xfc\ -H\xec\xc5+\xe29\x09a\x02\x14 \x972`\xbc\xeb\ -h\xdc\x1c\xd3&\x09`<<\x01\xfb.K\x9eCN\ -\xaa\x1a\xef\xb0\xebB\x16E\x81\x98\x17\xea\xfc\x08QX\ -\xec\xcc\xa5\x0f\x024\xd9%c\x0a\xb0V\xa8r\xb3%\ -1\xde\xba\x83'\x10m\xa6#\xef\xd4\x0c \xf2\x0ds\ -\x80\x10\xcd\xf6\x1f\xc1\xfa\xe4 e0\xd3<\x22J\xc0\ -\x18\x0c\xdc!q\x8e\x1b\xd1R\xfd\xa2G\x04\x88<\xc4\ -\xb0\xb5\x16%\x9f9\x02\x1f1\x12\xb4#\x11r#\xc0\ -}< \x9b)A\x1c\x16B \xc3,6\xc3\xa4\x12\ -\x91\xe0\x8b=\xa0\xac\xf4\xe0C\x0d\x81\xa1>a\x88\x16\ -\xf3\xec\x14\xa1\xef?!\xea%\x91>\x0f\x01,\x9f`\ -\xa9/\xe2\x16k\xe7\xf4\x05\xf1\xc0$\x92\xa3*rT\ -\xb9c30\xb1\xd6\xdd\x8dS\x0b4\x16!3\xbe#\ -\xa0KB\xe0],\xe1J\x19\xe6\x1e!!'C\xe0\ -\xf0\x144D\x11\x22X_\x0b\xcc\x0ea\x1e\x0a4T\ -\x0c\xd4:!\x08b\x18\xc0\xfdF \xbd(\x22P\xe4\ -)F\x94\xa2 \x0dTt\x08\x81\x95G\xa1z$\x8f\ -\x82\xf8s\x07\x0f!\xe1A\xd2\xae\xe9%\xae\xcb\x91\xdd\ -1Q\xe0\xa2(\xb7%\xa2;\x0b\xc0 \xb5, \x02\ -\xe2\x18\x9c\xc1l\x14tb\x0f\xd3*$\xe2\x9e\x98\xb2\ -a&B/\x12\x14N\x0a\x01\xb3L\xe1\x9e$\x8a4\ -\x07@\x90\xd3,\xe8!\xef\xe0\x11\x00\xd4\xea\xa1/A\ -\x0d\x07\x15\xcd\x0a\xe5FK$\xae\x18\xdd\x8b\xa2\x7fo\ -\x9a\xa93\x1c#\xec\x88\x14L\x8c\xc9\x02\x18\x93\xd3z\ -\x07\x22P\x91\xf3\x96$\x0c\xe4\x18\xc1p\x9ej8$\ -px\xcf\xe1R\x1aj\xc6!k$\xb2\x88p\xb2\xe2\ -F\xf2*\x095\xd0OA\xaf1A\xef56\x91l\ -fo\x9b7J\xf8$+\x08\x14\xe0\x8dV`\xb0\xaa\ -j\xab@\x00U\x1a\x91\xac$Jf\x10\x01@\x09\x95\ -\x80\x0b\xe2@\xecA\xd8\x1c\xf4T\x0a K?!\xef\ -?b>\xf4n\xaa\x1b\x0f\xac\x03b\x18\xd7\xc1d\x13\ -\xcdv\x10@\xc7H\x13\x02\x11UF\x06I!5\xea\ -\x0e\xf8\xeb?+\x12P\xe1\xf4\x997\x0a!PN\xf0\ -$il\x0f\x80\xd3]\xe1\x06!\x8b\x88\xee@U-\ -a\xc2$\x95\x0bP\xe0T\xc9\x22>k\xee\xe4\x05s\ -\x9e$\x91x\x13\x81\x86\xdc\xa2\x18\x18v\x10\x16\x89H\ -\x0e \x9a$\x92>}T\x85[\xee\xd2\xe5ec;\ -B\x1d;\x93m\x5c\xeb\xf974\x9f\x10\x82CV`\ -\x8c\x0a\xeb\x08\x15\x13\x878\xa9C8\xf5P$\x13\x97\ -9\xa2=\x22\x0c\xb8\x05q $\x95{W\xf5\x82!\ -\x88\xd0\x1a\xc1\x98\x0b\xf6t\x06\xc6$\x22\xf4\x83,b\ --;\x00{b\xc2\x1b\x16\xb1n#\x0a\xf0\x9bU\x06\ -#\xc7@\xe3!H\x19\xb4Z \xf3S4\xc1~$\ -\x8a\xfc\xb0\x052\xb0B?(4\x00\x05*\xf0$\x8e\ -\xbe\x0b\xa0\xe9#\x01\x16\xb5\x88.\xcb\x80Y\x0d\x82A\ -TV\x80\x22\xb3`VO\x91U%p\xbf63;\ -\xd68\xbf\xd6<$\x08\x8c\xb0\xe1\x5c\x1bL,!\x91\ -\xf0\x0b\xef\x1a\x16\xaf\x1e$q\x0d.\xc1T\x1a\xa0\x0b\ -q`\x0c#\x8dh\x121\x10\xb2\x02O< |\x09\ -\xd3\xc8\x16\x22\x18`S\x8d6B5#\xf2CO.\ -\x10d\xab\xedn0\xadno9Bb\x10\xe9\xe8`\ -\xfa\x02HJu\xf2\x05\x17`\x06B\x19P\xa1\x16\xd3\ - \xec%\x12'\x22\xa2(*T\xb0\x14r\xfa\x10\xe0\ -\xd3:BL\xcd kP\xa7l!\xf3\xd0\xc3\x81z\ -\xc3\xc2?A(?u\x02\x0fhV\x88!\x8f\xf6Z\ -\xe5\xb3P0c]bL\x12\x17\xb8\x16\x87H\x07\x80\ -\x96!\x8d\xbe\x15\xf0>\x0aBYL'$\xc6\x80P\ -!\x8a\xf0@\x00\xa6\x05\x16\x02%w\xd4\x15\x17\xe8\x1a\ -U6!K*\x0f5;mt\xee\xa77Abw\ -E\x0a\x97I6wM6\xb5\xcc#\x07\xfez)Q\ -x\xe2M2\x13%2\x82\x18\x8c\xcb\xd6\x0b\x80f\x91\ -\x02V4\xe0\x86\x0a\x87v\x15b!R\x95\x22\x17\x02\ -Y\x02\x0bR\xc0\x22\x19\x09\x01g\x09P\x99oU\xb7\ -\x7f\xcaw*\x83-tu\xc7O\xd7O6\xf67]\ -7\xb2\xf4\x02H\xed\xe0\xe0\x11\x98&\x0eb\x18\xfe\xd5\ -\xe9 \xc1\xd0%\x8a\xdcB!6\x18B!{\x81 \ -\x0e\x96\x9c\x94\xc2Wq`\x0a\x00\xd50\x1a\x8fj!\ -\x8d^\x0cX\xb0\x07XT\xdcj\xdb\x7f\xf0\xa5b\x80\ -}zb\x17z\xa9\xe9IP\xb5\x81(\xb7\x81tj\ -\x94V\x17\x89\xc6\xf2(Vt\x0b\xe0mf\xe1\x98%\ -\x8fk~\x81P\x1aE\xf0!\x96\xf8\x13+\x08\x0d\x02\ -`\x98\x01*\x17@o\x90\xa0\x8bV\xd2\xdfm\x12\xe2\ -#V\x7fT\x98\xbe\x89\xed\xd4\xc5U\xc9h\xe2/B\ -\xa2H\x07\x190\x08\xcb*\x17\x22 \x0f\xb9<\x0b\x93\ -\xec\x16\xe1KD\xa45q\x01\xa9.\x82\x19q\xf7\x22\ -&\x0ep\xb1\xa9\xe1rB\x14`K\x1c\x06*\x80#\ -\x95D\xf2\x97\xa0 \xd2\xabb\xb6S\x80\x8d\xdb\x80\xd8\ -\xcf1\x88\x04\xdeu,\xb7u1SBh!\x8e|\ -\xe8\x02_l6\xc6N\xa2\x10\xfe\xc8\xa1s\x82R\xee\ -@\xd4\xc3!*\x22\x18t\x09\x81\x89\x9b\xa1k\x96\xd7\ -\xfb$V\x83\x1d\x09\x9d\x9a\x82!h\xd5X\xae\xe6q\ -iW\xb4$\xa7\xb9400!\x97\x94\x15\x93\xd0A\ --'\x83\x00\xa6\x99a\xe7\x84\xc1>FA\xbe\x1a\xe4\ -\x12\x97 \x80\x13:\x09j\xa2\x1fv\xd7h#\x97<\ -\x91\x81_\x9cB+\x97x\xc3\x97\xa2$\xba\x04@\xd1\ -qq+\xad\x1d\x9d\xa2P\x13\xba8\x18\x8d\x88\x05\xe0\ -v!\x8e\x02\x1b\x01\x9dl ig\xb3\x92!sG\ -48\xf6!h \x15\xe16\x9d!\x0a\x0c\xc29:\ -\x94\x15\x86\x8d\xd1\x8c\x18\xc4!Y\xd1P\x0d\xa1\xa3\x19\ -\x88$\xd9<\x0f\xa18\x09\xfa\x8d[\x22\x17\x0d\x95\xe9\ -,\xbaR#\x0bS\x07\x82\x19G\xa1\x94\x17\x94t\x0d\ -Y\x0e#z\x16\xc4Z\x1c\x22\x9a!\xa7b\x12\xd9\xb7\ -\xad;\xb9+n\xed\xa5U\xe2Q\x99\xd6\xc8\xc1\x22\x85\ -\x82`gL\xe1\xb3M:\x9a!E\xfa\x83@+>\ -\x00\xf3\xae\xe1/\x11b\x19\xad\xc1\x9f8\xd9\xc0u\x18\ -6\xf6p\xb5m\xf9\xcd;uU18\x10H\xf0\x03\ -\x00bSr\x97-)W0!\xeb\xc2\x0a\x8b\xbc\x15\ -\xa5TJd\x07JP\xdc5\xa0%\x10\xcf\xb7}S\ -F\xcc\xc04\x86\xa6D\x22x\x17\x8e1\x82#s\xa9\ -\xabb'\xb0\x98\x07\x16\x90\xaef\x1a-n\xca d\ -\xf8\xd4%o\xba\x04 S\x8f\x01\xa46\x03d!n\ -\xfc\x0fm\xb0\x13\xd3\x84D\xa6\x88\xf6\x10%\x02r\xe9\ -\x11r\xe9}P4\x03(\xe4e\xa2`\x14{\xa8\x11\ -\x81#\xba\xf1\xb7\xb5U\xb7[\xb6%\x16\x11\xd1\x8b\x00\ -\xc4\x07yj\xd5\x0d\x14r\x95[c\xb3v%L\x03\ -o\x81\xb3J\xa2\x19S\x01&\xcf\xa28h\x89\xc7J\ -@3\xbe\xe0>\xfbp*\xfb\x8f\xba\x05SG\x03\x14\ -\xa4OE\x998\xcb|\x1c\xc1\xbf\xa6\xb8Wm\xa2(\ -\xb9\x88H\xed\x97J\x9aP\xfc\xd5V4\x8b:\x81i\ -bJ)\xfb\x86\x18\xcd\xac!\x81q\xc3\xa1L\xde\xc0\ -\xb6 \x94\xab\xb9\xfb\xf7}Q\x0d\x07\xdbH\xc2\xc4\x06\ -\xf4n\xf3!\xd4\xcb\xa8\x223m\x99\x1d$x_\x80\ -XcnY\x7f\x5c\xb0\xb5\x92\xc2V\x10\x9c|\x14\xa0\ -\x91\xc8 \xb4!\x95\xec\x80\x81\x8e\xfb{\xee\x03 ?\ -\x0b\xc0#j:\xe2 \x8c\xaa\x8da\x9a\x18\x011\xca\ -\xa0\xfe\xbd\xd5\xb5\x8b\x90K\x8b\xc2/\x05\x07\x8b\xa2S\ -\x0f\xb0\xfa\xc4\x22\xdcx%E\x1a\x0c\x00\xf0r\x5c\x9e\ -!\xb1\x1c\x82\xc1\xd5\x12\x12\x06\xad1\xfa\x1d\xb2\xcb\x0d\ -\x92\x83 \x01\xc7\x0e\xae\x0a\xf8\x5c\x14\x22p\xa6Y\xfb\ -\x0bb\xf5U\x92\x9c\xc9\xac\x94\xa1\x88\x89\x91\x88\xd8\x90\ -\xeaF\xbf\xce\xc5\x07\x191\x94\x1bq%\x19\xb5\xed\x1a\ -kfOY\x1bHu\xc0U\xd4\x8dO\xbcqB'\ -\xf9\xa7\x0e\x9c\x85\xceiu\x82^e\xa1\x1f\xd5!d\ -\xd2dL*P\xd9\xcf\x12\xdc\x1c\xbc\xe7,\xae\xb8\x1c\ -\xb1.\x1b2|\x1b\x92\x0d!\xfd/\x08\xd9n\xb99\ -r \xbc\xfe~\xbcn\x22\x9a\xc0\x9e\x9d\x08\xc5\xf9\xd6\ -\x8b|`%\x9bIZ\xe1D\xcf,\xf6#f\x05\x0d\ -\x91\x8e\x1b\xf3\x9e\xe3\xc1\xab\x12]\xae\xf0\xe1\xc3(\x9c\ -\xd6\x22\xfce\xd3X\x00\x1e4\xf8\x9a1\xdb\xc7}\x0d\ -o$\x10JxzJ\xa0z\x09\xb0\x80\x02I\xae\x1f\ -\x86H\x1e\x11.\x1b]s\x9f\xc1\xad9\xfdc\x91}\ -\xc3\xcfP\xef\xdc\x99\x1e~}\x01\xb5\xfc\xc2\x8a\xbc#\ -B]E\x104\x9do\x1b\xd3\xe0>%0\x087\x1c\ -\x96\x0c\xca\x99\xc8\xca\xfe\x11\x9c\xfc\xc5n\xa2.\xaf\x14\ -\xe2\x0dY\xfc\x1a\xec\x18\xc1\xde'\xe4\xe2D\x07~T\ -\x09S\x80\x0da\x0at\x0cO\x86\x09+\xc7\x14\xfe\x81\ -\xc2>\xaf\x1aP9\xc6\x92b&\xee1C\xb9\xe7b\ -\x18nF\x84cG\x9co\x02\x0b\xe8\xde\x86^E\xce\ -;&\x99\xe7\xddE\xe8\xc6\xf7\xe9\xa2\x85C\xa5\x8d\xe9\ -`\x02_\xf0\xb4 \x9a\xbb\xcc\x1e9\x80\xbcu\xd8>\ -Q\xec.\xa5\xebt\x8e\xed\xa5\xab\xac>=\xec^\xd5\ -\xdc9\xa4s=\x03h\xa4\xb9\xaa\xa1\x09F\xde\xd7\xee\ -\xbe$\xb5\xb3S\xdbE\xa8\x00\xf8&\x0e\x95\xde\x0d!\ -\x07\xeb>\xed\xf0e#\x19\xb20\x09U\xec#\x1b|\ -\x08?\x18\x0a8\x1d\xba_\x09\xf2.l<\xdc:\x17\ -\x01L\x90\xa0\xd9\xe0\x06&)/\xb7\xda\x00W\xf3\xe0\ -m\xf2_D\xda\x98\x85\xe4/\x14\x18!e3\x828\ -e\xb80\x0a\x98t\x11\x90\x1b\xf4\x7fdRG\xe5)\ -\xa1!\xbe\x1c\xe6$\x89\x14\xcf \x9dIPr\x05x\ -\xa0\x00\xff6c\x02\x1cnE\xe1\xe9%\xed\xe7\xe3\xac\ -<_\x95\xe8?\x94n_\x98\xc5\xde\xac\x22\x1f\xa6c\ ->\x94oE\xdb\xf8~y\xe8\x9f\x9f\xf9\xa6\x82)f\ -\xbf\xd6\xe7\xc4\x13\xc1y\xfc\xa1W!\xc2P)\xe6[\ -\x10\xd7`\x05\x00d\xfbt\xa4)\xf6\xbf\xfb\x22\x0en\ -?\xbc,\xff\xb0 F\x8c;\x06\x9a \x0f\xf7\xf8\x06\ -\x09\x05\x82@\xa0@\x08P\x00\x05\x0d\x01?\xa2\x0f\xe8\ -\x5c2\x1a\x03\x88\xbf`\xd18\xd4l\x01\x08\x81\xc1c\ -\xd18\xf48\x05!\x8eH\xe1\xd184E\xfd(\x86\ -\xc4\xe5\x92H\xf4z\x0d\x19\x85\xcb&\xd1\xc8\x5c\x92Y\ -&\x85NcRG\xed\x0d\xfb\x13\x92>i\x0f\x87\x9d\ --\xde\xe3\xa77\x1b\xd5\x16\xb3\xa2\xa8\xe1{\xd5\xde\xb3\ -\xe9\xd5n\xb9]\x8eA\x80v\x10%\x8c\x08\x05\x99L\ -\xe15\xe9<\x22\x81j\xb7[\xeb\x95\xabm\xc2\xe9u\ -\x9dM \xb7k\xd4v\xd9y\xbd\xdf\xf0\x11\xa9e\x11\ -\xf9\x17\xad`q\x18\x9cV/\x19\x8d\xc7c\xf2\x19\x1c\ -\x96O)\x95\xcbe\xf3\x19\x9c\xd6o9\x9d\xcfg\xf4\ -\x1a\x1d\x16\x8fI{\x80\x80\x00\x00\x00\x03\x00\x01\xa0\x03\ -\x00\x01\x00\x00\x00\x01\x00\x00\x00\x02\xa0\x04\x00\x01\x00\x00\ -\x00`\x00\x00\x00\x03\xa0\x04\x00\x01\x00\x00\x00`\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00Adobe Pho\ -toshop Document \ -Data Block\x00MIB8n\ -rTM\x00\x00\x00\x00MIB8ryaL$\ -!\x00\x00\x01\x00\x03\x00\x00\x00\x03\x00\x00\x00]\x00\x00\ -\x00\x5c\x00\x00\x00\x04\x00\xff\xff\x88\x0d\x00\x00\x00\x00\x0c\ -\x06\x00\x00\x01\x00\x0c\x06\x00\x00\x02\x00\x0c\x06\x00\x00M\ -IB8mron\xff\x00\x08\x00<\x01\x00\x00\x00\ -\x00\x00\x00(\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\x00\ -\x00\xff\xff\x00\x00\xff\xff\x00\x00\xff\xff\x00\x00\xff\xff\x00\ -\x00\xff\xff\x00\x00\xff\xff\x00\x00\xff\xff\x00\x00\xff\xff\x07\ -Layer 0MIB8inul\x14\ -\x00\x00\x00\x07\x00\x00\x00L\x00a\x00y\x00e\x00r\ -\x00 \x000\x00\x00\x00MIB8rsnl\x04\ -\x00\x00\x00ryalMIB8diyl\x04\ -\x00\x00\x00\x03\x00\x00\x00MIB8lblc\x04\ -\x00\x00\x00\x01\x00\x00\x00MIB8xfni\x04\ -\x00\x00\x00\x00\x00\x00\x00MIB8oknk\x04\ -\x00\x00\x00\x00\x00\x00\x00MIB8fpsl\x04\ -\x00\x00\x00\x04\x00\x00\x00MIB8rlcl\x08\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00MIB8d\ -mhsH\x00\x00\x00\x01\x00\x00\x00MIB8t\ -suc\x00\x00\x00\x004\x00\x00\x00\x10\x00\x00\x00\x01\ -\x00\x00\x00\x00\x00\x08\x00\x00\x00metadat\ -a\x01\x00\x00\x00\x09\x00\x00\x00layerTi\ -mebuod\xc5\xa4\xf3l\xf98\xd6A\x00M\ -IB8prxf\x10\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00S\x00O\ -\x00\x0f\x00\x0c\x00\x0a\x00\x09\x00\x09\x00\x09\x00\x09\x00\x15\ -\x00K\x00K\x00\x1e\x00\x1e\x00\x1e\x00\x1c\x00)\x00'\ -\x00(\x00$\x00'\x00\x22\x00'\x00$\x00&\x00%\ -\x00%\x00 \x00\x1d\x00\x1c\x00\x1c\x00\x1d\x00\x1b\x00\x1d\ -\x00!\x00\x22\x00#\x00%\x00!\x00$\x00+\x00+\ -\x00,\x00+\x00(\x00%\x00&\x00.\x00/\x00.\ -\x00+\x00-\x00-\x00.\x00-\x00.\x00/\x00-\ -\x00.\x00-\x00.\x00-\x00-\x00*\x00%\x00#\ -\x00(\x00,\x00+\x00,\x00,\x00%\x00#\x00!\ -\x00&\x00\x22\x00!\x00\x13\x00\x14\x00L\x00\x09\x00\x09\ -\x00\x08\x00\x09\x00\x0a\x00\x0a\x00\x0c\x00L\x00W\x00 \ -\x00\xfd\x00\x04\x05\x11!-1\xfe/\xfc0\x181/\ -/0110010/1/0010/\ -0110/01\xfe0\x0a/21100\ -/00//\xfe1\x000\xfe1\x05010/\ -01\xfe0\xfe1\xff0\x081/0/-'\x18\ -\x08\x01\xfe\x00\xff\x00\x07\x01\x14X\xab\xdb\xec\xf0\xf0\xfd\ -\xf1\x00\xf0\xfe\xf1\x00\xf2\xfd\xf1\xff\xf0\x01\xf1\xf0\xf8\xf1\ -\x03\xf0\xf1\xf1\xf0\xfe\xf1\xfe\xf0\x07\xf1\xf0\xf0\xf1\xf1\xf0\ -\xf1\xf0\xfc\xf1\xff\xf0\x1b\xf1\xf0\xf0\xf1\xf2\xf1\xf0\xf1\xf0\ -\xf1\xf1\xf2\xf0\xf1\xf0\xf1\xf0\xf0\xf1\xf0\xee\xe4\xc2|.\ -\x06\x00\x00\xff\x00\x03\x16\x86\xed\xfd\xb3\xff\x04\xf9\xbfA\ -\x06\x00\x03\x00\x08l\xf4\xb0\xff\x03\xfe\xbd*\x01\x02\x00\ -$\xd0\xae\xff\x02\xf8x\x07\x02\x02O\xf6\xad\xff\x01\xc0\ -\x14\x02\x05r\xfd\xad\xff\x01\xe1#\x02\x08\x86\xfe\xad\xff\ -\x01\xed+\x02\x08\x8f\xfe\xad\xff\x01\xef-\x02\x09\x91\xfe\ -\xf1\xff\x00\xfe\xdb\xff\xfe\xfe\xfd\xff\x00\xfe\xec\xff\x01\xef\ -,\x02\x08\x91\xfe\xfa\xff\x17\xfe\xcf\xc2\xc3\xc2\xc4\xc3\xc4\ -\xc3\xc3\xc4\xc4\xc1\xc3\xc3\xc2\xc3\xc2\xc2\xc3\xc2\xc3\xc4\xc4\ -\xfe\xc2\xff\xc3\x0c\xcb\xd5\xdc\xe1\xe1\xdd\xd5\xcc\xc2\xc3\xc2\ -\xc2\xc1\xfe\xc3\xff\xc4\xf9\xc3\x06\xc4\xc3\xc3\xc4\xc2\xc3\xc4\ -\xfe\xc3\xff\xc2\x01\xc7\xf1\xf9\xff\x01\xf0-\x02\x09\x90\xfe\ -\xfa\xff\x03\xfaK\x18\x17\xfc\x18\x14\x17\x18\x16\x19\x17\x18\ -\x19\x19\x18\x19\x18\x17\x18\x19\x19\x18\x17/~\xce\xf4\xfb\ -\xff\x13\xf7\xc8\x810\x18\x16\x19\x19\x17\x18\x18\x19\x18\x18\ -\x19\x17\x19\x18\x19\x18\xfd\x19\x08\x18\x19\x19\x18\x19\x19\x17\ -,\xc7\xf9\xff\x01\xf0,\x01\x09\x90\xf9\xff\x01\xf98\xeb\ -\x00\x020\x9f\xea\xf5\xff\x02\xeb\x996\xe8\x00\x01\x15\xc0\ -\xf9\xff\x01\xef.\x02\x09\x91\xfe\xfa\xff\x01\xf97\xec\x00\ -\x01u\xf4\xf1\xff\x01\xf7c\xe9\x00\x02\x14\xc2\xfe\xfa\xff\ -\x01\xf0-\x02\x09\x90\xfe\xfa\xff\x01\xf88\xee\x00\x01\x12\ -\x91\xed\xff\x01\x9a\x17\xeb\x00\x02\x14\xc2\xfe\xfa\xff\x01\xef\ -/\x01\x08\x90\xf9\xff\x01\xf99\xef\x00\x01\x0e\xc7\xeb\xff\ -\x01\xba\x02\xec\x00\x01\x14\xc1\xf9\xff\x01\xf0/\x02\x09\x90\ -\xfe\xfa\xff\x01\xf97\xef\x00\x00\x95\xfa\xff\x09\xd1\x9c]\ -B;Hj\xaa\xd6\xfe\xfa\xff\x01\x97\x04\xed\x00\x01\x12\ -\xc0\xf9\xff\x01\xef-\x02\x09\x91\xfe\xfa\xff\x01\xf98\xf0\ -\x00\x00r\xfb\xff\x02\xc9E\x02\xfa\x00\x02\x05C\xbf\xfa\ -\xff\x00\x86\xed\x00\x01\x14\xc2\xf9\xff\x01\xf1-\x02\x09\x90\ -\xfe\xfa\xff\x01\xfa8\xf1\x00\x01-\xf5\xfc\xff\x01\xa3\x09\ -\xf6\x00\x02\x02s\xfc\xfc\xff\x01\xee\x16\xee\x00\x01\x15\xc1\ -\xf9\xff\x01\xef-\x01\x09\x92\xf9\xff\x01\xf97\xf1\x00\x00\ -\xb6\xfc\xff\x01\xa8\x06\xf3\x00\x01C\xe7\xfc\xff\x00\xa0\xee\ -\x00\x01\x15\xc2\xf9\xff\x01\xef,\x02\x09\x91\xfe\xfa\xff\x01\ -\xf98\xf2\x00\x01\x1b\xf4\xfd\xff\x01\xe3\x13\xf1\x00\x01:\ -\xfa\xfd\xff\x01\xf9%\xef\x00\x01\x14\xc2\xf9\xff\x01\xf0/\ -\x01\x09\x90\xf9\xff\x01\xfa7\xf2\x00\x00\x82\xfc\xff\x00g\ -\xef\x00\x00\x8f\xfc\xff\x00\x87\xef\x00\x01\x15\xc2\xf9\xff\x01\ -\xef-\x01\x09\x91\xf9\xff\x01\xf87\xf3\x00\x01\x12\xea\xfd\ -\xff\x01\xe9\x0d\xef\x00\x01\x08\xd8\xfd\xff\x01\xdf\x0a\xf0\x00\ -\x02\x14\xc1\xfe\xfa\xff\x01\xef/\x02\x08\x90\xfe\xfa\xff\x01\ -\xf98\xf3\x00\x00n\xfc\xff\x00\xad\xed\x00\x00o\xfd\xff\ -\x01\xfd0\xf0\x00\x01\x15\xc2\xf9\xff\x01\xf0-\x02\x09\x91\ -\xfe\xfa\xff\x01\xf97\xf4\x00\x01\x0f\xe5\xfd\xff\x01\xfe;\ -\xed\x00\x01\x17\xee\xfd\xff\x00T\xf0\x00\x01\x14\xc3\xf9\xff\ -\x01\xf0/\x02\x09\x91\xfe\xfa\xff\x01\xfa7\xf4\x00\x01(\ -\xef\xfd\xff\x01\xc2\x02\xec\x00\x00\xcb\xfd\xff\x00c\xf0\x00\ -\x01\x15\xc1\xf9\xff\x01\xf1-\x02\x09\x92\xfe\xfa\xff\x01\xf8\ -8\xf4\x00\x06\x01\x1bP\xc0\xff\xffI\xeb\x00\x00\xb0\xfd\ -\xff\x00m\xf0\x00\x01\x15\xc2\xf9\xff\x01\xf0.\x01\x09\x90\ -\xf9\xff\x01\xf98\xf0\x00\x02C\x87\x07\xeb\x00\x00\xb6\xfd\ -\xff\x00m\xf0\x00\x01\x15\xc2\xf9\xff\x01\xf0.\x02\x09\x90\ -\xfe\xfa\xff\x01\xf99\xd8\x00\x01\x09\xda\xfd\xff\x00b\xf0\ -\x00\x02\x15\xc3\xfe\xfa\xff\x01\xef-\x01\x08\x91\xf9\xff\x01\ -\xf97\xd8\x00\x018\xfe\xfd\xff\x00Q\xf0\x00\x02\x14\xc2\ -\xfe\xfa\xff\x01\xf0/\x02\x09\x91\xfe\xfa\xff\x01\xf98\xd8\ -\x00\x00\x9b\xfd\xff\x01\xfc2\xf0\x00\x01\x14\xc1\xf9\xff\x01\ -\xf0.\x02\x09\x91\xfe\xfa\xff\x01\xf98\xd9\x00\x01*\xf8\ -\xfd\xff\x01\xd5\x06\xf0\x00\x01\x14\xc1\xf9\xff\x01\xf0.\x02\ -\x09\x91\xfe\xfa\xff\x01\xf99\xd9\x00\x00\x8e\xfc\xff\x00\x80\ -\xef\x00\x01\x14\xc2\xf9\xff\x01\xf1.\x02\x09\x92\xfe\xfa\xff\ -\x01\xf99\xda\x00\x01\x07\xdf\xfd\xff\x01\xe5\x19\xef\x00\x01\ -\x15\xc1\xf9\xff\x01\xf0/\x02\x08\x93\xfe\xfa\xff\x01\xf98\ -\xda\x00\x01B\xfe\xfd\xff\x04\xef\xc8\xca\xad^\xf2\x00\x02\ -\x15\xc1\xfe\xfa\xff\x01\xef.\x02\x09\x91\xfe\xfa\xff\x01\xf9\ -8\xe0\x00\x06\x0c\x22Cg\x84\x9c\xda\xf7\xff\x01\xb9(\ -\xf4\x00\x01\x14\xc1\xf9\xff\x01\xef-\x01\x08\x8f\xf9\xff\x01\ -\xf99\xe6\x00\x07\x0d(Hn\x97\xbb\xde\xf4\xf1\xff\x01\ -\xd1\x0a\xf5\x00\x02\x15\xbf\xfe\xfa\xff\x01\xee.\x02\x09\x92\ -\xfe\xfa\xff\x01\xf89\xef\x00\x0a\x02\x0e\x1d:Pf~\ -\x9b\xc2\xdf\xf8\xea\xff\x00Q\xf5\x00\x01\x14\xc2\xf9\xff\x01\ -\xef.\x01\x09\x91\xf9\xff\x01\xf98\xf4\x00\x07\x059]\ -\x88\xaf\xd1\xe3\xee\xe2\xff\x00\x9f\xf5\x00\x01\x14\xc1\xf9\xff\ -\x01\xf0-\x02\x09\x90\xfe\xfa\xff\x01\xf98\xf6\x00\x02\x10\ -{\xd0\xe3\xff\x03\xfa\xf0\xdc\xed\xfd\xff\x00\xc1\xf5\x00\x01\ -\x14\xc1\xf9\xff\x01\xef,\x02\x09\x90\xfe\xfa\xff\x01\xf97\ -\xf7\x00\x01$\xd4\xe8\xff\x0a\xfb\xe5\xc7\x9fyR8)\ -\x18\x08\x9d\xfd\xff\x01\xe2\x0f\xf6\x00\x01\x15\xc2\xf9\xff\x01\ -\xf1.\x01\x09\x91\xf9\xff\x01\xf98\xf8\x00\x01\x05\xc8\xed\ -\xff\x07\xf7\xe2\xc0\x9crJ+\x0d\xf9\x00\x00\x8a\xfd\xff\ -\x01\xf8&\xf6\x00\x01\x14\xc3\xf9\xff\x01\xf1.\x02\x09\x92\ -\xfe\xfa\xff\x01\xf99\xf8\x00\x00`\xf4\xff\x09\xfd\xea\xcd\ -\xa7\x82jXC#\x0c\xf3\x00\x00k\xfc\xff\x00J\xf6\ -\x00\x01\x13\xc2\xf9\xff\x01\xf0.\x02\x09\x91\xfe\xfa\xff\x01\ -\xf97\xf8\x00\x00\xaf\xfa\xff\x07\xfb\xe6\xc6\xa3wR/\ -\x11\xeb\x00\x00D\xfc\xff\x00p\xf6\x00\x02\x15\xc2\xfe\xfa\ -\xff\x01\xf0.\x02\x09\x91\xfe\xfa\xff\x01\xf98\xf8\x00\x00\ -\xc1\xfd\xff\x04\xeaxJ+\x0f\xe5\x00\x01#\xf8\xfd\xff\ -\x00\x97\xf6\x00\x01\x14\xc1\xf9\xff\x01\xef.\x02\x09\x91\xfe\ -\xfa\xff\x01\xf88\xf8\x00\x00\xa1\xfd\xff\x01\xe5\x03\xe2\x00\ -\x01\x08\xdf\xfd\xff\x00\xbe\xf6\x00\x01\x15\xc1\xf9\xff\x01\xef\ --\x02\x09\x91\xfe\xfa\xff\x01\xf97\xf8\x00\x00y\xfd\xff\ -\x01\xfc.\xe1\x00\x00\xc0\xfd\xff\x01\xdd\x0a\xf7\x00\x02\x14\ -\xc2\xfe\xfa\xff\x01\xf1.\x02\x09\x91\xfe\xfa\xff\x01\xf98\ -\xf8\x00\x00M\xfc\xff\x00T\xf3\x00\x05?\x95\xb6\xa2f\ -\x0b\xf5\x00\x00\x96\xfd\xff\x01\xf7&\xf7\x00\x02\x15\xc2\xfe\ -\xfa\xff\x01\xef.\x02\x09\x90\xfe\xfa\xff\x01\xf98\xf8\x00\ -\x01.\xfd\xfd\xff\x00w\xf5\x00\x02\x08\x97\xfd\xfd\xff\x01\ -\xc5#\xf6\x00\x00r\xfc\xff\x00C\xf7\x00\x01\x14\xc1\xf9\ -\xff\x01\xef.\x02\x09\x92\xfe\xfa\xff\x01\xf97\xf8\x00\x01\ -\x10\xe8\xfd\xff\x00\xa2\xf6\x00\x01\x01\xaf\xfa\xff\x01\xe11\ -\xf7\x00\x00H\xfc\xff\x00i\xf7\x00\x01\x15\xc2\xf9\xff\x01\ -\xf0.\x01\x09\x91\xf9\xff\x01\xf98\xf7\x00\x00\xcb\xfd\xff\ -\x00\xc7\xf6\x00\x00?\xf8\xff\x00\xb7\xf7\x00\x01'\xfa\xfd\ -\xff\x00\x87\xf7\x00\x01\x15\xc1\xf9\xff\x01\xef.\x01\x09\x91\ -\xf9\xff\x01\xf97\xf7\x00\x00\xa7\xfd\xff\x01\xe3\x0d\xf7\x00\ -\x00\xa0\xf8\xff\x01\xe6\x0b\xf8\x00\x01\x0c\xe4\xfd\xff\x00\x9d\ -\xf7\x00\x01\x14\xc0\xf9\xff\x01\xef-\x02\x09\x91\xfe\xfa\xff\ -\x01\xf98\xf7\x00\x00|\xfd\xff\x01\xf5\x1f\xf7\x00\x00\xcb\ -\xf8\xff\x01\xf7\x22\xf7\x00\x00\xc3\xfd\xff\x00\xb3\xf7\x00\x01\ -\x13\xc0\xf9\xff\x01\xf0.\x02\x09\x91\xfe\xfa\xff\x01\xf97\ -\xf7\x00\x00W\xfd\xff\x01\xfc.\xf7\x00\x00\xc0\xf8\xff\x01\ -\xf3\x1e\xf7\x00\x00\xa0\xfd\xff\x01\xcb\x01\xf8\x00\x01\x14\xc1\ -\xf9\xff\x01\xf1.\x01\x09\x91\xf9\xff\x01\xfa8\xf7\x00\x01\ -0\xfd\xfd\xff\x00A\xf7\x00\x00\x82\xf8\xff\x01\xdc\x05\xf7\ -\x00\x00t\xfd\xff\x01\xe8\x14\xf8\x00\x01\x15\xc1\xf9\xff\x01\ -\xef-\x02\x09\x91\xfe\xfa\xff\x01\xf97\xf7\x00\x01\x14\xee\ -\xfd\xff\x00^\xf7\x00\x01$\xf9\xf9\xff\x00\x90\xf6\x00\x00\ -N\xfd\xff\x01\xfb-\xf8\x00\x01\x13\xc2\xf9\xff\x01\xf0-\ -\x02\x09\x91\xfe\xfa\xff\x01\xf99\xf7\x00\x01\x02\xcd\xfd\xff\ -\x00\x8a\xf6\x00\x00k\xfb\xff\x02\xfe\xa1\x0a\xf6\x00\x005\ -\xfc\xff\x00T\xf8\x00\x02\x15\xc2\xfe\xfa\xff\x01\xf1.\x01\ -\x09\x92\xf9\xff\x01\xf98\xf6\x00\x00\xb4\xfd\xff\x00\xae\xf5\ -\x00\x01P\xd7\xfd\xff\x01\xfa\x22\xf5\x00\x01(\xfa\xfd\xff\ -\x00x\xf8\x00\x01\x15\xc2\xf9\xff\x01\xf0-\x02\x09\x91\xfe\ -\xfa\xff\x01\xf86\xf6\x00\x00\xa1\xfd\xff\x01\xd1\x04\xf5\x00\ -\x00T\xfc\xff\x00H\xf5\x00\x01\x18\xf0\xfd\xff\x00\x9f\xf8\ -\x00\x02\x14\xc1\xfe\xfa\xff\x01\xf0-\x02\x09\x91\xfe\xfa\xff\ -\x01\xf98\xf6\x00\x00\x8c\xfd\xff\x01\xee\x18\xf5\x00\x00=\ -\xfc\xff\x00s\xf5\x00\x01\x06\xda\xfd\xff\x00\xc6\xf8\x00\x01\ -\x14\xc2\xf9\xff\x01\xf0.\x02\x09\x92\xfe\xfa\xff\x01\xf86\ -\xf6\x00\x00r\xfd\xff\x01\xfe4\xf5\x00\x01%\xf7\xfd\xff\ -\x00\x98\xf4\x00\x00\xba\xfd\xff\x01\xe3\x0f\xf9\x00\x01\x14\xc1\ -\xf9\xff\x01\xf0/\x01\x09\x91\xf9\xff\x01\xf98\xf6\x00\x00\ -F\xfc\xff\x00[\xf5\x00\x01\x08\xdc\xfd\xff\x00\x90\xf4\x00\ -\x00\x8f\xfd\xff\x01\xfb,\xf9\x00\x02\x15\xc1\xfe\xfa\xff\x01\ -\xf0.\x02\x09\x91\xfe\xfa\xff\x01\xf88\xf6\x00\x01'\xfa\ -\xfd\xff\x00\x80\xf4\x00\x00t\xfe\xff\x01\xee-\xf4\x00\x00\ -j\xfc\xff\x00K\xf9\x00\x01\x15\xc2\xf9\xff\x01\xf1-\x01\ -\x09\x91\xf9\xff\x01\xfa8\xf6\x00\x01\x0b\xe2\xfd\xff\x00\xab\ -\xf3\x00\x03D\x97\x8a)\xf3\x00\x00@\xfc\xff\x00u\xf9\ -\x00\x01\x13\xc2\xf9\xff\x01\xf0.\x01\x08\x90\xf9\xff\x01\xf9\ -8\xf5\x00\x00\xc4\xfd\xff\x01\xcd\x01\xe2\x00\x01 \xf7\xfd\ -\xff\x00\x9a\xf9\x00\x02\x14\xc2\xfe\xfa\xff\x01\xf0.\x01\x09\ -\x91\xf9\xff\x01\xf98\xf5\x00\x00\x9c\xfd\xff\x01\xeb\x15\xe1\ -\x00\x00\xd8\xfd\xff\x00\xbb\xf9\x00\x01\x13\xc2\xf9\xff\x01\xf0\ -.\x02\x08\x91\xfe\xfa\xff\x01\xf97\xf5\x00\x00t\xfd\xff\ -\x01\xfe1\xe4\x00\x03\x07\x1c=\xd4\xfd\xff\x00\xce\xf9\x00\ -\x02\x15\xc0\xfe\xfa\xff\x01\xef-\x02\x09\x91\xfe\xfa\xff\x01\ -\xf89\xf5\x00\x00N\xfc\xff\x00S\xec\x00\x09\x02\x12\x22\ -3Ei\x8f\xb7\xd7\xf1\xfb\xff\x00\xc9\xf9\x00\x01\x14\xc2\ -\xf9\xff\x01\xef-\x01\x09\x90\xf9\xff\x01\xf96\xf5\x00\x01\ -)\xfb\xfd\xff\x00z\xf2\x00\x08\x03\x1a7Z\x85\xa8\xd0\ -\xe9\xf6\xf4\xff\x00\x8b\xf9\x00\x01\x14\xc0\xf9\xff\x01\xf1,\ -\x01\x09\x90\xf9\xff\x01\xf97\xf5\x00\x01\x0f\xe8\xfd\xff\x00\ -\x92\xf9\x00\x08\x03\x0d\x1d\x0d\x0a\x0d\x0a \x0d\x0a <\ -title>icon / Pre\ -ferences / Globa\ -l\x0d\x0a <\ -desc>Created wit\ -h Sketch.\ -\x0d\x0a \x0d\x0a \ - \x0d\x0a \x0d\x0a\x0d\x0a\ -\x00\x00\x09\xba\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a \x0d\x0a <\ -title>icon / Pre\ -ferences / Camer\ -a\x0d\x0a <\ -desc>Created wit\ -h Sketch.\ -\x0d\x0a \x0d\x0a \ - \x0d\x0a \ - \ -\x0d\x0a \ - \x0d\x0a \x0d\ -\x0a\x0d\x0a\ -\x00\x00\x00\xab\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x10\x00\x00\x00\x0d\x08\x06\x00\x00\x00\xa0\xbb\xee$\ -\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\ -\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00\ -UIDAT8Oc\xfc\xff\xff?\x03%\x80\x09\ -J\x93\x0d\xf0\x1a\xd0\xd8\xd8H\xd0y\x04]@\xc8\x10\ -\x940\xc0\xa7\xb8\xbe\xbe\x9e\x11\xcaD\x01D\x87\x01.\ -\xc3I\x0aDl\x86\x90d\x006o\x10m\x00\xae0\ -\xc0\x9b\x90`N\xc6\xa5\x19\x04\x08\xba\x00\x9ff\x10\x18\ -\xe8\xa4\xcc\xc0\x00\x00\x9d\xda\x22\x8d\x12\xa2\xae,\x00\x00\ -\x00\x00IEND\xaeB`\x82\ -\x00\x00\x05{\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a \x0d\x0a <\ -title>icon / Pre\ -ferences / viewp\ -ort\x0d\x0a \ - Created w\ -ith Sketch.\x0d\x0a \x0d\x0a \ - \x0d\x0a \ - \x0d\x0a \ - \x0d\x0a \ -\x0d\x0a\x0d\x0a\ -\x00\x00\x00\xca\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x10\x00\x00\x00\x0d\x08\x06\x00\x00\x00\xa0\xbb\xee$\ -\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\ -\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00\ -\x09pHYs\x00\x00\x0e\xc3\x00\x00\x0e\xc3\x01\xc7o\ -\xa8d\x00\x00\x00_IDAT8O\xc5\x91\xc1\x0e\ -\xc0 \x08C\xc1\x1f\x07\xbe\x9c\x05'\x86\xc4\xb9\x89\x1e\ -\xf6.r\xa1\xd2\x16U\x15\x0c\x11\xb9\x87\x07\x88\x08\xdb\ -8\x80\xcc<]\x5c\xa1\xb4w\x9b\xff\x05z\x88\x19b\ -\xe0\xe9\x10\xbd\x11\x17I[\xf0E\x17*o\x1d\xcf\x88\ -\x16\x8eB\xb4\xcf\xab\xc0\xc9\x15\xfd\x82\x1d\x11c\xa81\ -\xfa\xfb\x06\xe0\x02\xfbk*\x0b\x22\xb70[\x00\x00\x00\ -\x00IEND\xaeB`\x82\ -\x00\x00\x06\x06\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a Icons / Edit\ -or / EMFX / Moti\ -on\x0d\x0a \ -\x0d\x0a \ -\x0d\x0a \x0d\x0a \x0d\x0a\x0d\x0a\ -\x00\x00\x00\xa0\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x10\x00\x00\x00\x0d\x08\x06\x00\x00\x00\xa0\xbb\xee$\ -\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\ -\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00\ -\x09pHYs\x00\x00\x0e\xc3\x00\x00\x0e\xc3\x01\xc7o\ -\xa8d\x00\x00\x005IDAT8Oclhh\ -\xf8\xcf\x80\x06\xea\xeb\xeb\x19\xa1L\x82\x80\x09J\x93\x0d\ -\xb0\xba\x80\x18\x00s%\xd9.hll\x04[L\xb1\ -\x17F\x0d\x185\x80\x81\x81\x81\x01\x00\xc0\x1c\x0a\x95\xd5\ -0\x97g\x00\x00\x00\x00IEND\xaeB`\x82\ -\x00\x00\x11\xc7\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a \x0d\x0a <\ -title>icon / Pre\ -ferences / Debug\ -\x0d\x0a Created with\ - Sketch.\x0d\ -\x0a \x0d\x0a \ - \x0d\x0a \ - \x0d\x0a \x0d\x0a \x0d\x0a\x0d\x0a\ -\x00\x00\x12>\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a \x0d\x0a <\ -title>icon / Pre\ -ferences / Exper\ -imental\x0d\ -\x0a Creat\ -ed with Sketch.<\ -/desc>\x0d\x0a \x0d\x0a <\ -path d=\x22M15.1323\ -36,4.99076918 C1\ -5.5178274,4.9907\ -6918 15.8485779,\ -5.34903984 16.04\ -13236,5.67028261\ - C16.2340693,5.9\ -9152539 16.20194\ -5,6.90832486 16.\ -0413236,7.261691\ -92 C15.7410536,7\ -.67565898 15.559\ -016,8.029019 15.\ -4952109,8.321771\ -96 C15.4376576,8\ -.58583981 15.459\ -0738,9.15831061 \ -15.5594594,10.03\ -91844 C17.808158\ -9,11.0992855 19.\ -0519645,13.44435\ -78 18.9234674,15\ -.9500515 C18.797\ -9586,19.0877716 \ -16.2512974,21.89\ -56839 13.1394393\ -,22.1143917 L12.\ -9162275,22.12557\ -98 L12.1999856,2\ -2.1255798 C8.794\ -81215,22.1255798\ - 6,19.0982307 6,\ -15.660933 C6,13.\ -3376593 7.088222\ -19,11.2234803 9.\ -09581042,10.1537\ -076 L9.3226506,1\ -0.0391844 L9.162\ -02921,8.06479886\ - L8.71228932,7.2\ -6169192 C8.55166\ -793,6.90832486 8\ -.64804077,5.9915\ -2539 8.84078643,\ -5.67028261 C9.04\ -316938,5.3811641\ -2 9.51285982,5.0\ -6205304 9.885797\ -26,5.00112201 L1\ -0.0060269,4.9907\ -6918 L15.132336,\ -4.99076918 Z M14\ -.5477747,9.22030\ -884 L10.3382049,\ -9.22030884 L10.3\ -087674,10.505628\ -3 C10.3087674,10\ -.5645034 10.2793\ -298,10.6233785 1\ -0.2204547,10.652\ -8161 C8.30701393\ -,11.5065051 7.07\ -063679,13.419945\ -9 7.07063679,15.\ -5394495 C7.07063\ -679,18.5420797 9\ -.54339107,20.985\ -3965 12.5754588,\ -20.8970838 C15.3\ -720262,20.838208\ -7 17.6681551,18.\ -5715173 17.78590\ -53,15.8043875 C1\ -7.9036555,13.626\ -0087 16.6378408,\ -11.5359426 14.63\ -60874,10.6528161\ - C14.5919311,10.\ -6307379 14.56433\ -34,10.5921011 14\ -.5532943,10.5493\ -247 L14.5477747,\ -10.5056283 L14.5\ -477747,9.2203088\ -4 Z M16.248292,1\ -5.5813393 C16.43\ -33656,15.5813393\ - 16.5920002,15.6\ -606566 16.697756\ -5,15.792852 C16.\ -8035128,15.92504\ -74 16.856391,16.\ -1101211 16.82995\ -19,16.2951947 C1\ -6.6977565,17.009\ -05 16.4069265,18\ -.0137353 15.6930\ -712,18.806908 C1\ -4.4693191,20.158\ -1342 12.6801281,\ -20.2309765 12.48\ -27708,20.2344561\ - L12.4146244,20.\ -2346187 C12.0973\ -553,20.2346187 1\ -0.4581319,20.155\ -3014 9.29481208,\ -18.806908 C8.501\ -63946,17.8815399\ - 8.2108095,16.92\ -97328 8.10505315\ -,16.2951947 C8.0\ -7861407,16.11012\ -11 8.10505315,15\ -.9250474 8.23724\ -859,15.792852 C8\ -.32185367,15.687\ -0957 8.44030078,\ -15.6321024 8.579\ -05311,15.6007985\ - L8.68671307,15.\ -5813393 L16.2482\ -92,15.5813393 Z \ -M13.525066,16.42\ -73901 C12.996284\ -3,16.4273901 12.\ -5468198,16.87685\ -46 12.5468198,17\ -.4056363 C12.520\ -3807,17.9344181 \ -12.9698452,18.38\ -38826 13.525066,\ -18.3838826 C14.0\ -538478,18.383882\ -6 14.5033123,17.\ -9344181 14.50331\ -23,17.4056363 C1\ -4.5033123,16.876\ -8546 14.0538478,\ -16.4273901 13.52\ -5066,16.4273901 \ -Z M10.5110101,16\ -.5331465 C10.114\ -4238,16.5331465 \ -9.79715474,16.82\ -39764 9.82359382\ -,17.2205627 C9.8\ -2359382,17.59070\ -99 10.1408629,17\ -.907979 10.51101\ -01,17.907979 C10\ -.8811573,17.9079\ -79 11.1984264,17\ -.5907099 11.1984\ -264,17.2205627 C\ -11.1984264,16.85\ -04155 10.8811573\ -,16.5331465 10.5\ -110101,16.533146\ -5 Z M11.0960618,\ -12.7156002 C11.6\ -351612,12.715600\ -2 12.0891397,13.\ -1695787 12.08913\ -97,13.7086781 C1\ -2.0891397,14.247\ -7775 11.6351612,\ -14.701756 11.096\ -0618,14.701756 C\ -10.5569624,14.70\ -1756 10.1029839,\ -14.2477775 10.10\ -29839,13.7086781\ - C10.1029839,13.\ -1695787 10.55696\ -24,12.7156002 11\ -.0960618,12.7156\ -002 Z M12.429623\ -6,10.4173342 C12\ -.8268547,10.4173\ -342 13.1389649,1\ -0.7294444 13.138\ -9649,11.1266755 \ -C13.1389649,11.5\ -239067 12.826854\ -7,11.8360169 12.\ -4296236,11.83601\ -69 C12.0323924,1\ -1.8360169 11.720\ -2822,11.5239067 \ -11.7202822,11.12\ -66755 C11.720282\ -2,10.7294444 12.\ -0323924,10.41733\ -42 12.4296236,10\ -.4173342 Z M14.4\ -300245,6.2371834\ -4 L10.39708,6.23\ -718344 C10.16157\ -96,6.23718344 9.\ -95551678,6.35493\ -364 9.83776658,6\ -.5609965 C9.7396\ -4141,6.73271554 \ -9.72328721,6.924\ -87734 9.77166837\ -,7.10341063 L9.8\ -0832903,7.208622\ -62 L10.39708,8.0\ -9174915 L10.3970\ -8,8.60845497 L14\ -.5919794,8.60845\ -497 L14.5919794,\ -8.09174915 L15.0\ -187755,7.2086226\ -2 C15.1365257,7.\ -00255976 15.1070\ -882,6.76705935 1\ -4.989338,6.56099\ -65 C14.8715878,6\ -.35493364 14.665\ -5249,6.23718344 \ -14.4300245,6.237\ -18344 Z M12.3728\ -762,6.5763594 C1\ -2.7984811,6.5763\ -594 13.1389649,6\ -.91684325 13.138\ -9649,7.34244807 \ -C13.1389649,7.76\ -805289 12.798481\ -1,8.10853674 12.\ -3728762,8.108536\ -74 C11.9472714,8\ -.10853674 11.606\ -7876,7.76805289 \ -11.6067876,7.342\ -44807 C11.606787\ -6,6.91684325 11.\ -9472714,6.576359\ -4 12.3728762,6.5\ -763594 Z M14.933\ -6824,2 C15.64302\ -38,2 16.2388706,\ -2.53909944 16.23\ -88706,3.27681446\ - C16.2388706,4.0\ -1452947 15.64302\ -38,4.58200257 14\ -.9336824,4.58200\ -257 C14.2243411,\ -4.58200257 13.62\ -84943,4.04290313\ - 13.6284943,3.30\ -518811 C13.62849\ -43,2.56747309 14\ -.2243411,2 14.93\ -36824,2 Z\x22 id=\x22C\ -ombined-Shape\x22 f\ -ill=\x22#FFFFFF\x22 fi\ -ll-rule=\x22nonzero\ -\x22>\x0d\x0a <\ -/g>\x0d\x0a\x0d\x0a\ -\x00\x00\x04\x17\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a \x0d\x0a <\ -title>icon / Pre\ -ferences / Files\ -\x0d\x0a Created with\ - Sketch.\x0d\ -\x0a \x0d\x0a \ - \x0d\x0a \x0d\x0a\x0d\x0a\ -\x00\x00\x03i\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a \x0d\x0a <\ -title>icon / Pre\ -ferences / Gizmo\ -s\x0d\x0a <\ -desc>Created wit\ -h Sketch.\ -\x0d\x0a \x0d\x0a \ - \x0d\x0a \x0d\x0a\ -\x0d\x0a\ -\x00\x00\x00[\ -\x00\ -\x00\x01Fx\x9c\x8d\x8c1\x0a\x800\x10\x04\xe7\xacD\ -P;\xeb\x94\x96>\xc1\xa7\xf9d\xad\x05\xcf\x8d\x88B\ -\xc0\x98Y\x86\x83cY\xa80B\x80V\x99\x0c\x06`\ -\x94z1KS\x22\x0b/\xd5m\xc4\xdd)\xa2\x93\xcd\ -\xb7\xfd~Pk5\xde\x5c\xef\xdaI\xf0\x12\xb6\xbc+\ -\xf6\xf8\xd7M9\x01\x0cb\x81\xee\ -\x00\x00\x00[\ -\x00\ -\x00\x01Fx\x9c\xc5\xc81\x0e@@\x18D\xe1\xf9W\ -!**\xad-\x95n\xc0\xcd\xec\xd1\x1c\xc5\x11\x94\x0a\ -\xf1\xec\xc6\x8a\x0bH|\x93\xd7\x8c\xe4d\xf2^jT\ -i0\xa9\x95\xd4\xc7\xe2\xa5)fqI\xd0\xcb\xe5\x12\ -@\x7f\xe3q\xcep\x8c\xb0w\xb0\xd5\xb0\x96\xb0\x14\x10\ -\xec\xfe\xbe.\xbb\x00\x9d\x16jC\ -\x00\x00\x01F\ -\x00\ -\x00\x02\x00\x01\x00 \x00\x00\x0c\x00\x04\x000\x01\x00\ -\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ -\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x07\xf8\x00\x00\x07\xf8\x00\x00\x0f\xfc\x00\x00\x0f\xfc\ -\x00\x00\x1f\xfc\x00\x00\x1f\xfe\x00\x00?\xfe\x00\x00/\xfe\ -\x00\x00o\xfe\x00\x00\xef\xfe\x00\x00\xcf\xf6\x00\x00\x0d\xb6\ -\x00\x00\x0d\xb4\x00\x00\x0d\xb0\x00\x00\x0d\x80\x00\x00\x0c\x00\ -\x00\x00\x0c\x00\x00\x00\x0c\x00\x00\x00\x0c\x00\x00\x00\x0c\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf0\x03\ -\xff\xff\xf0\x03\xff\xff\xf0\x03\xff\xff\xe0\x01\xff\xff\xe0\x01\ -\xff\xff\xc0\x01\xff\xff\xc0\x00\xff\xff\x80\x00\xff\xff\x80\x00\ -\xff\xff\x00\x00\xff\xfe\x00\x00\xff\xfe\x00\x00\xff\xfe \x00\ -\xff\xff\xe0\x01\xff\xff\xe0\x03\xff\xff\xe0\x0f\xff\xff\xe0\x7f\ -\xff\xff\xe1\xff\xff\xff\xe1\xff\xff\xff\xe1\xff\xff\xff\xe1\xff\ -\xff\xff\xf3\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\ -\x00\x00\x00\xa7\ -\x00\ -\x00\x0c\xbex\x9c\xed\x921\x0a\xc20\x18\x85_t\xe8\ -Rp\x13\xc7\x8e=\x867\xf0J\x1e\xc1cx\x0c\xc1\ -\x8btsut(<_\x8bC1\x12K\x93\xdfA\ -\xfe\x0f\x1e\x09\x09\xf9^\x02\x01V\x08h\x1a\x8c\xe3\xb9\ -\x06\xb6\x00ZEK\xd8+\x01;\x8c\xd4p\x1c\xc7q\ -\x9c?\x85\x11\xa6\xf2\x82\xfe\x8f\xf2R\x15\x09\xf9\x0f\xfc\ -\x99\x15_\xe59\xfe\xa9\xc1\xce?\xe7!\x8b+\xe2\xb7\ -\xbci\x8b\xf8c\xdbt\x92}\xf7\x94\xbf\xa0\xdc\x08k\ -\xbf\x11\xe9\x0f9\x8f~C>*\xf2\xaetk\xf22\ -$\x90G\x05C\xd4rR\xba\xf0\xda?\x90W\x9d\xbb\ -)O\x85i\xaa%\ -\x00\x00\x01F\ -\x00\ -\x00\x02\x00\x01\x00 \x00\x00\x06\x00\x06\x000\x01\x00\ -\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ -\x00\x01\x00\x01\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\ -\x00\xff\xff\xff\x00\x000\x00\x00\x000\x00\x00\x000\x00\ -\x00\x01\xfe\x00\x00\x01\xfe\x00\x00\x000\x00\x00\x000\x00\ -\x00\x001\x80\x00\x00\x01\x80\x00\x00\x03\x00\x00\x00\x03\x00\ -\x00\x00\x06\x00\x00\x00F\x00\x00\x00l\x00\x00\x00|\x00\ -\x00\x00\x7f\x80\x00\x00\x7f\x00\x00\x00~\x00\x00\x00|\x00\ -\x00\x00x\x00\x00\x00p\x00\x00?\xe0\x00\x00 \x00\ -\x00 \x00\x00 \x00\x00 \x00\x00 \x00\ -\x00 \x00\x00 \x00\x00?\xe0\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\xff\xcf\xff\xff\xff\xcf\xff\xff\xff\xcf\xff\ -\xff\xfe\x01\xff\xff\xfe\x01\xff\xff\xff\xcf\xff\xff\xff\xce\x7f\ -\xff\xff\xcc?\xff\xff\xfc?\xff\xff\xf8\x7f\xff\xffx\x7f\ -\xff\xff0\xff\xff\xff\x10\xff\xff\xff\x01\xff\xff\xff\x00\x1f\ -\xff\xff\x00?\xff\xff\x00\x7f\xff\xff\x00\xff\xff\xff\x01\xff\ -\xff\xff\x03\xff\xff\x80\x07\xff\xff\x80\x0f\xff\xff\x9f\xcf\xff\ -\xff\x9f\xcf\xff\xff\x9f\xcf\xff\xff\x9f\xcf\xff\xff\x9f\xcf\xff\ -\xff\x9f\xcf\xff\xff\x9f\xcf\xff\xff\x80\x0f\xff\xff\x80\x0f\xff\ -\xff\xff\xff\xff\xff\ -\x00\x00\x00`\ -\x00\ -\x00\x01Fx\x9cc``b`dPP``\xe0\ -f\xe0e0`d`\x10c``\xd0\x00b\xa0\x10\ -\x83\x03\x103\x02!\x0840 \x00\x13\x14\x83\xc0\xff\ -\xff\xff\x19H\x025@\x1c\x82\x03\x0b\xe0\x91\xab\xc1m\ -\xe4\x7fR@3&\xfe\xdd\xbc\xff\xff\xe7\xe6\xf9\xff\x1f\ -0\xf0\x83i\x10\x1f\x9b:\x5c\x00\x00\x81\xb3~\xf0\ -\x00\x00\x01F\ -\x00\ -\x00\x02\x00\x01\x00 \x00\x00\x0f\x00\x0f\x000\x01\x00\ -\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ -\x00\x01\x00\x01\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\ -\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x03\x80\x00\x00\x02\x80\x00\x00\x02\x80\ -\x00\x00\x02\x80\x00\x00\x02\x80\x00\x00\x04@\x00\x00\x0c`\ -\x00\x03\xf0\x1f\x80\x02\x01\x00\x80\x03\xf0\x1f\x80\x00\x0c`\ -\x00\x00\x04@\x00\x00\x02\x80\x00\x00\x02\x80\x00\x00\x02\x80\ -\x00\x00\x02\x80\x00\x00\x03\x80\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\ -\xff\xff\xfe\xff\xff\xff\xfc\x7f\xff\xff\xfc\x7f\xff\xff\xfc\x7f\ -\xff\xff\xfc\x7f\xff\xff\xfc\x7f\xff\xff\xf9?\xff\xff\xf1\x1f\ -\xff\xfc\x03\x80\x7f\xf0\x1e\xf0\x1f\xfc\x03\x80\x7f\xff\xf1\x1f\ -\xff\xff\xf9?\xff\xff\xfc\x7f\xff\xff\xfc\x7f\xff\xff\xfc\x7f\ -\xff\xff\xfc\x7f\xff\xff\xfc\x7f\xff\xff\xfe\xff\xff\xff\xfe\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\ -\x00\x00\x01F\ -\x00\ -\x00\x02\x00\x01\x00 \x00\x00\x10\x00\x0d\x000\x01\x00\ -\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ -\x00\x01\x00\x01\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\ -\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\ - \x01\x00\x00@\x00\xc0\x01\x80\x008\x0e\x00\x00\x07\xf0\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf9\xff\xff\xcf\xf8\xff\xff\ -\x8f\xfc?\xfe\x1f\xfe\x07\xe0?\xff\x00\x00\x7f\xff\xc0\x01\ -\xff\xff\xf8\x0f\xff\xff\xff\xff\xff\xff\xff\x7f\xff\xff\xfe?\ -\xff\xff\xff\x7f\xff\xff\xff\x7f\xff\xff\xff\x7f\xff\xff\xfe?\ -\xff\xff\xff\x7f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\ -\x00\x00\x00X\ -\x00\ -\x00\x01Fx\x9c\xc5\xcd1\x0a\x800\x0cF\xe1\x97.\ -\xe2\xa4\x93k;:z\x83z\xb3\xf6\xc8\xbdA\xfc\x0b\ -\x05A\x9c\x5c|\xe1#\x90\xa1\x85\x80\x91\x12\xac\xcc\x1c\ -\x06\x1b\xb0\x8bN\x9cb\x9a^\xe5.\x0c=w\xe7\xef\ -\xfc\xa5V>+\x92\x1bDYd\x1a;\xea\xd9,\xe5\ -\xf9\xd7\x05'\x93i\xe6\ -\x00\x00\x01F\ -\x00\ -\x00\x02\x00\x01\x00 \x00\x00\x03\x00\x03\x000\x01\x00\ -\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ -\x00\x01\x00\x01\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\ -\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00\x1e\x00\x00\x00\x1e\x00\ -\x00\x00\x1e\x00\x00\x00\x1e\x00\x00\x18\x1e\x00\x00\x14\x0c\x00\ -\x00\x12\x00\x00\x00\x11\xe0\x00\x00\x10\x10\x00\x00\x10 \x00\ -\x00\x10@\x00\x00\x10\x80\x00\x00\x11\x00\x00\x00\x12\x00\x00\ -\x00\x14\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xf3\xff\xff\xff\xe1\xff\xff\xff\xc0\xff\xff\xff\xc0\xff\ -\xff\xff\xc0\xff\xff\xff\xc0\xff\xff\xe7\xc0\xff\xff\xe3\xe1\xbf\ -\xff\xe1\xf3\xbf\xff\xe0\x1e\x0f\xff\xe0\x0f\xbf\xff\xe0\x1f\xbf\ -\xff\xe0?\xff\xff\xe0\x7f\xff\xff\xe0\xff\xff\xff\xe1\xff\xff\ -\xff\xe3\xff\xff\xff\xe7\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\ -\x00\x00\x01F\ -\x00\ -\x00\x02\x00\x01\x00 \x00\x00\x00\x00\x18\x000\x01\x00\ -\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ -\x00\x01\x00\x01\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\ -\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\xf0\x00\x00\x00\x88\x00\x00\x00\x84\x00\x00\x00\x82\x00\x00\ -\x00A\x00\x00\x00 \x80\x00\x00\x10@\x00\x00\x0b\xa0\x00\ -\x00\x05\xd6\x00\x00\x02\xe9\x00\x00\x01a\x00\x00\x00\x81\x00\ -\x00\x00@\x80\x00\x00\x80@\x00\x00\x80 \x00\x00p \ -\x00\x00\x08 \x00\x00\x04@\x00\x00\x03\x80\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\x0f\xff\xff\xff\x07\xff\xff\xff\x03\xff\xff\xff\x01\xff\xff\ -\xff\x80\xfc\xff\x0f\xc0~|c\xe0?1\xf9\xf0\x1f\x87\ -\xff\xf8\x09\xfd\xff\xfc\x00\xf8\xff\xfe\x00\xf0\x7f\xff\x00\xfd\ -\xdb\xff\x80}\xdb\xff\x00=\xdb\xff\x00\x1d\xc3\xff\x80\x1d\ -\xdb\xff\xf0\x1d\xdb\xff\xf8=\xdb\xff\xfcp\x7f\xff\xff\xf8\ -\xff\xff\xff\xfd\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\ -\x00\x00\x01F\ -\x00\ -\x00\x02\x00\x01\x00 \x00\x00\x01\x00\x01\x000\x01\x00\ -\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ -\x00\x01\x00\x01\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\ -\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x18\x00\x00\x00\x18\x00\x00\x00\x18\x00\x00\x00\xff\x00\x00\ -\x00\xff\x00\x00\x00\x18\x00\x00\x00\x18\x00\x00\x00\x18\xc0\x00\ -\x00\x00\xc0\x00\x00\x01\x80\x00\x00\x01\x80\x00\x00\x03\x00\x00\ -\x00#\x00\x00\x006\x00\x00\x00>\x00\x00\x00?\xc0\x00\ -\x00?\x80\x00\x00?\x00\x00\x00>\x00\x00\x00<\x00\x00\ -\x008\x00\x00\x000\x00\x00\x00 \x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xe7\xff\xff\xff\xe7\xff\xff\xff\xe7\xff\xff\xff\x00\xff\xff\ -\xff\x00\xff\xff\xff\xe7\xff\xff\xff\xe7?\xff\xff\xe6\x1f\xff\ -\xff\xfe\x1f\xff\xff\xfc?\xff\xff\xbc?\xff\xff\x98\x7f\xff\ -\xff\x88\x7f\xff\xff\x80\xff\xff\xff\x80\x0f\xff\xff\x80\x1f\xff\ -\xff\x80?\xff\xff\x80\x7f\xff\xff\x80\xff\xff\xff\x81\xff\xff\ -\xff\x83\xff\xff\xff\x87\xff\xff\xff\x8f\xff\xff\xff\x9f\xff\xff\ -\xff\xff\xff\xff\xff\ -\x00\x00\x01F\ -\x00\ -\x00\x02\x00\x01\x00 \x00\x00\x0f\x00\x0f\x000\x01\x00\ -\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ -\x00\x01\x00\x01\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\ -\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xe0\ -\x00\x00\x18\x18\x00\x00 \x04\x00\x00@\x02\x00\x00\x80\x01\ -\x00\x01\x00\x00\x80\x01\x00\x00\x80\x02\x00\x00@\x02\x00\x00\ -@\x02\x02\x00@\x02\x02\x00\x00\x02\x03\x00\x00\x02\x00\x00\ -\x00\x01\x00\x7f\x80\x01\x00 \x80\x00\x80\x10\x80\x00@\x08\ -\x80\x00 \x04\x80\x00\x18\x1a\x80\x00\x07\xe1\x80\x00\x00\x00\ -\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf8\x1f\ -\xff\xff\xe0\x07\xff\xff\xc7\xe3\xff\xff\x9f\xf9\xff\xff?\xfc\ -\xff\xfe\x7f\xfe\x7f\xfe\x7f\xfe\x7f\xfc\xff\xff?\xfc\xff\xff\ -?\xfc\xfc\x7f?\xfc\xfc\x7f\xff\xfc\xfc\x7f\xff\xfc\xff\xff\ -\xff\xfe\x7f\x80\x7f\xfe\x7f\xc0\x7f\xff?\xe0\x7f\xff\x9f\xf0\ -\x7f\xff\xc7\xe0\x7f\xff\xe0\x04\x7f\xff\xf8\x1e\x7f\xff\xff\xff\ -\x7f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\ -\x00\x00\x01F\ -\x00\ -\x00\x02\x00\x01\x00 \x00\x00\x0f\x00\x0f\x000\x01\x00\ -\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ -\x00\x01\x00\x01\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\ -\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x02\x80\x00\x00\x04@\ -\x00\x00\x08 \x00\x00\x02\x80\x00\x00\x22\x88\x00\x00B\x84\ -\x00\x00\x9e\xf2\x00\x01\x00\x01\x00\x00\x9e\xf2\x00\x00B\x84\ -\x00\x00\x22\x88\x00\x00\x02\x80\x00\x00\x08 \x00\x00\x04@\ -\x00\x00\x02\x80\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff\xfc\x7f\xff\xff\xf8?\ -\xff\xff\xf0\x1f\xff\xff\xfc\x7f\xff\xff\xdcw\xff\xff\x9cs\ -\xff\xff\x00\x01\xff\xfe\x00\x00\xff\xff\x00\x01\xff\xff\x9cs\ -\xff\xff\xdcw\xff\xff\xfc\x7f\xff\xff\xf0\x1f\xff\xff\xf8?\ -\xff\xff\xfc\x7f\xff\xff\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\ -\x00\x00\x01F\ -\x00\ -\x00\x02\x00\x01\x00 \x00\x00\x04\x00\x06\x000\x01\x00\ -\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ -\x00\x01\x00\x01\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\ -\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x03\xe0\x00\x00\x03\xe8\x00\x00\x03\xe0\x00\x00\x03\xe8\ -\x00\x00\x00\x08\x00\x00\x01\xf0\x00\x00\x0c\x00\x00\x00\x0c\x00\ -\x00\x00\x00\x00\x00\x00`\x00\x00\x00`\x00\x00\x00\x00\x00\ -\x00\x1f\x00\x00\x00\x13@\x00\x00\x13@\x00\x00\x1f@\x00\ -\x00\x00@\x00\x00\x0f\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf8\x0f\ -\xff\xff\xf8\x07\xff\xff\xf8\x03\xff\xff\xf8\x03\xff\xff\xf8\x03\ -\xff\xff\xf8\x03\xff\xff\xf0\x03\xff\xff\xe0\x03\xff\xff\xe1\xff\ -\xff\xff\x93\xff\xff\xff\x0f\xff\xff\xff\x0f\xff\xff\xc0\x1f\xff\ -\xff\xc0?\xff\xff\xc0\x1f\xff\xff\xc0\x1f\xff\xff\xc0\x1f\xff\ -\xff\xc0\x1f\xff\xff\xe0\x1f\xff\xff\xf0\x1f\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\ -\x00\x00\x01F\ -\x00\ -\x00\x02\x00\x01\x00 \x00\x00\x01\x00\x01\x000\x01\x00\ -\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ -\x00\x01\x00\x01\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\ -\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x00\ -\x00\x0e\x00\x00\x00\x0e\x00\x00\x00\x00\x80\x00\x00\x01@\x00\ -\x00\x00\xa0\x00\x00\x00P\x00\x00\x00(\x00\x00\x00\x14\x00\ -\x00\x00\x0a\x00\x00\x00\x05\x00\x00\x00\x02\x80\x00\x00\xc1\x00\ -\x00\x00\xc0\xe0\x00\x01\x80\xe0\x00\x01\x80\xe0\x00\x03\x00\x00\ -\x00#\x00\x00\x006\x00\x00\x00>\x00\x00\x00?\xc0\x00\ -\x00?\x80\x00\x00?\x00\x00\x00>\x00\x00\x00<\x00\x00\ -\x008\x00\x00\x000\x00\x00\x00 \x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\xff\xff\xff\xff\xf1\xff\xff\xff\xe0\xff\xff\ -\xff\xe0\xff\xff\xff\xe0\xff\xff\xff\xf0\x7f\xff\xff\xfe?\xff\ -\xff\xff\x1f\xff\xff\xff\x8f\xff\xff\xff\xc7\xff\xff\xff\xe3\xff\ -\xff\xff\xf1\xff\xff\xff\xf8\xff\xff\xff<\x7f\xff\xfe\x1e\x1f\ -\xff\xfe\x1e\x0f\xff\xfc>\x0f\xff\xbc>\x0f\xff\x98\x7f\x1f\ -\xff\x88\x7f\xff\xff\x80\xff\xff\xff\x80\x0f\xff\xff\x80\x1f\xff\ -\xff\x80?\xff\xff\x80\x7f\xff\xff\x80\xff\xff\xff\x81\xff\xff\ -\xff\x83\xff\xff\xff\x87\xff\xff\xff\x8f\xff\xff\xff\x9f\xff\xff\ -\xff\xff\xff\xff\xff\ -\x00\x00\x01F\ -\x00\ -\x00\x02\x00\x01\x00 \x00\x00\x01\x00\x01\x000\x01\x00\ -\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ -\x00\x01\x00\x01\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\ -\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\x00\x00\ -\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\ -\x00\x00\xc0\x00\x00\x01\x80\x00\x00\x01\x80\x00\x00\x03\x00\x00\ -\x00#\x00\x00\x006\x00\x00\x00>\x00\x00\x00?\xc0\x00\ -\x00?\x80\x00\x00?\x00\x00\x00>\x00\x00\x00<\x00\x00\ -\x008\x00\x00\x000\x00\x00\x00 \x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\ -\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff?\xff\xff\xfe\x1f\xff\ -\xff\xfe\x1f\xff\xff\xfc?\xff\xff\xbc?\xff\xff\x98\x7f\xff\ -\xff\x88\x7f\xff\xff\x80\xff\xff\xff\x80\x0f\xff\xff\x80\x1f\xff\ -\xff\x80?\xff\xff\x80\x7f\xff\xff\x80\xff\xff\xff\x81\xff\xff\ -\xff\x83\xff\xff\xff\x87\xff\xff\xff\x8f\xff\xff\xff\x9f\xff\xff\ -\xff\xff\xff\xff\xff\ -\x00\x00\x00\xc9\ -\x00\ -\x00\x0c\xbex\x9cc``b`dPP`\x00\x83\ -\x15<\x0c\x0cb@Z\x03\x88AB\x0e@\xcc\xc8 \ -\x01\x91\xe4a\x18@`<\x93\x04D\xba\xe13\xff\xff\ -g\x98I4\x22\xd5\x0a\x88\xf9g\x88C\xa3\xe6\x8f\x9a\ -?\x10\xe6\x13\x8f\xc8\xcbb4\xcc\xbf\xc3\x0e\xfc\x07\x83\ -!j\xfe\xa8\xe31\xcd\xa4\xb5\xf9\x103i\x142\xff\ -Q\x01\xad\xcd\xa7\xbaE45\x1c\xab\xf9T4\x1c\xd3\ -|\xea\x1a\x8ef>\xd5\x0dG6\x9f\x16\x863\xd0\xa5\ -\xc0\xa1\x9d\xe1C\x1a\x80\xc2\xfd\x01\x83\xfd\xff\x03\x0c\xf2\ -\x041H\x1d\x18\x00\xa9\x7f\xf2\x10\xfc\x07\xc8\xde\x03\xc4\ -3\xea\xff\xff\xef\x00\xe2\x06\xa0t\x03?\x10\x03\xe5\x1a\ -\x80\xe2\x0dP\xb1F n\x06\xe2v \xee\x07\xe2\xf9\ -\xd0\x04\x05\x00\x85\x1b/\xe1\ -\x00\x00\x00\x5c\ -\x00\ -\x00\x01Fx\x9cc``b`dPP``\x10\ -`\xe0d0`d`\x10c``\xd0\x00b\xa0\x10\ -\x83\x03\x103\x02!\x0840 \x00\x13\x14\x83\xc0\xff\ -\xff\xff\x19\x06\x1a\xfc\x87\x81\x1f\xf2\xd4\xc7\x0d\x8c\xff\xff\ -\x1f`\xfe\xff\xff\x01\xfb\xff\xff\x1f\xf8!b\x7f\xec\xff\ -\xff\xffW\x0f\xb7\x16\x00\xb3\x96jC\ -\x00\x00\x01F\ -\x00\ -\x00\x02\x00\x01\x00 \x00\x00\x07\x00\x18\x000\x01\x00\ -\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ -\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x01\xe0\x00\x00\x01\x10\x00\x00\x01\x08\x00\x00\x01\x04\x00\ -\x00\x00\x82\x00\x00\x00A\x00\x00\x00 \x80\x00\x00\x17@\ -\x00\x00\x0b\xac\x00\x00\x05\xd2\x00\x00\x02\xc2\x00\x00\x01\x02\ -\x00\x00\x00\x81\x00\x00\x01\x00\x80\x00\x01\x00@\x00\x00\xe0\ -@\x00\x00\x10@\x00\x00\x08\x80\x00\x00\x07\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xfe\x1f\xff\xff\xfe\x0f\xff\xff\xfe\x07\xff\xff\xfe\x03\xff\ -\xff\xff\x01\xff\xff\xff\x80\xff\xff\xff\xc0\x7f\xff\xff\xe0?\ -\xff\xff\xf0\x13\xff\xff\xf8\x01\xff\xff\xfc\x01\xff\xff\xfe\x01\ -\xff\xff\xff\x00\xff\xff\xfe\x00\x7f\xff\xfe\x00?\xff\xff\x00\ -?\xff\xff\xe0?\xff\xff\xf0\x7f\xff\xff\xf8\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\ -\x00\x00\x01F\ -\x00\ -\x00\x02\x00\x01\x00 \x00\x00\x11\x00\x0d\x000\x01\x00\ -\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ -\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff?\xff\xff\xff\x1f\xff\ -\xff\xff\x8f\xff\xff\xff\xc4\x0f\xff\xff\xe1\xe7\xff\xff\xf3\xf3\ -\xff\xff\xe3\xf9\xff\xff\xef\xfd\xff\xff\xef\xfd\xff\xff\xef\xfd\ -\xff\xff\xef\xfd\xff\xff\xe7\xf9\xff\xff\xf3\xf3\xff\xff\xf9\xe7\ -\xff\xff\xfc\x0f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\ -\x00\x00\x01F\ -\x00\ -\x00\x02\x00\x01\x00 \x00\x00\x07\x00\x0e\x000\x01\x00\ -\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ -\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf8\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xf7\xff\xff\xff\xe7\xff\xff\xff\xe7\ -\xff\xff\xff\x0f\xff\xff\xfe\x7f\xff\xff\xfe\x7f\xff\xfe\xfe\xff\ -\xff\xff~\xff\xff\xfe \x01\xff\xff\x00\x01\xff\xfe0\x03\ -\xff\xff~\xff\xff\xfe\xfc\x7f\xff\xff\xfc\x7f\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\ -\x00\x00\x01F\ -\x00\ -\x00\x02\x00\x01\x00 \x00\x00\x03\x00\x03\x000\x01\x00\ -\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ -\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x18\x00\x00\x00\x14\x00\x00\x00\x12\x00\x00\ -\x00\x11\xf8\x00\x00\x10\x08\x00\x00\x10\x10\x00\x00\x10 \x00\ -\x00\x10@\x00\x00\x10\x80\x00\x00\x11\x00\x00\x00\x12\x00\x00\ -\x00\x14\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xe7\xff\xff\xff\xe3\xff\xff\xff\xe1\xff\xff\ -\xff\xe0\x07\xff\xff\xe0\x07\xff\xff\xe0\x0f\xff\xff\xe0\x1f\xff\ -\xff\xe0?\xff\xff\xe0\x7f\xff\xff\xe0\xff\xff\xff\xe1\xff\xff\ -\xff\xe3\xff\xff\xff\xe7\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\ -\x00\x00\x01F\ -\x00\ -\x00\x02\x00\x01\x00 \x00\x00\x10\x00\x08\x000\x01\x00\ -\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ -\x00\x01\x00\x01\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\ -\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xf0\x00\x00\x07\xf0\ -\x00\x00\x0f\xf8\x00\x00\x1f\xf8\x00\x00\x1f\xfc\x00\x00?\xfc\ -\x00\x00w\xfc\x00\x00g\xfe\x00\x00\x07\xf6\x00\x00\x0d\xb6\ -\x00\x00\x0d\xb2\x00\x00\x19\xb0\x00\x00\x19\xb0\x00\x00\x01\x80\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xfc\x0f\xff\xff\xf8\x07\xff\xff\xf0\x07\ -\xff\xff\xe0\x03\xff\xff\xc0\x03\xff\xff\xc0\x01\xff\xff\x80\x01\ -\xff\xff\x00\x01\xff\xff\x00\x00\xff\xff\x90\x00\xff\xff\xe0\x00\ -\xff\xff\xe0\x00\xff\xff\xc0\x05\xff\xff\xc0\x07\xff\xff\xe4\x0f\ -\xff\xff\xfe\x7f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\ -\x00\x00\x01F\ -\x00\ -\x00\x02\x00\x01\x00 \x00\x00\x03\x00\x03\x000\x01\x00\ -\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ -\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x0a\x00\ -\x00\x00\x11\x00\x00\x00*\x80\x00\x18[@\x00\x14\x80 \ -\x00\x12[@\x00\x11\xea\x80\x00\x10\x11\x00\x00\x10*\x00\ -\x00\x10D\x00\x00\x10\x80\x00\x00\x11\x00\x00\x00\x12\x00\x00\ -\x00\x14\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfb\xff\xff\xff\xf1\xff\ -\xff\xff\xe0\xff\xff\xff\xd1\x7f\xff\xe7\x80?\xff\xe3\x00\x1f\ -\xff\xe1\x80?\xff\xe0\x11\x7f\xff\xe0\x00\xff\xff\xe0\x11\xff\ -\xff\xe0;\xff\xff\xe0\x7f\xff\xff\xe0\xff\xff\xff\xe1\xff\xff\ -\xff\xe3\xff\xff\xff\xe7\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\ -\x00\x00\x01F\ -\x00\ -\x00\x02\x00\x01\x00 \x00\x00\x0f\x00\x0f\x000\x01\x00\ -\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ -\x00\x01\x00\x01\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\ -\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00?\xff\x80\x00!\x00\x80\x00!*\x80\x00!T\ -\x80\x00!*\x80\x00!T\x80\x00!*\x80\x00!T\ -\x80\x00!\x00\x80\x00!\xfe\x80\x00 \x00\x80\x00 \x00\ -\x80\x00 \x00\x80\x00 \x00\x80\x00?\xff\x80\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xc0\x00\x7f\xff\xc0\x00\x7f\xff\xce\x00\x7f\xff\xce\x00\ -\x7f\xff\xce\x00\x7f\xff\xce\x00\x7f\xff\xce\x00\x7f\xff\xce\x00\ -\x7f\xff\xce\x00\x7f\xff\xce\x00\x7f\xff\xcf\xfe\x7f\xff\xcf\xfe\ -\x7f\xff\xcf\xfe\x7f\xff\xc0\x00\x7f\xff\xc0\x00\x7f\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\ -\x00\x00\x01F\ -\x00\ -\x00\x02\x00\x01\x00 \x00\x00\x03\x00\x03\x000\x01\x00\ -\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ -\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x14\x00\x00\ -\x00\x12\x00\x00\x00\x15\xf0\x00\x00\x16\x10\x00\x00\x17\xa0\x00\ -\x00\x17@\x00\x00\x16\x80\x00\x00\x15\x00\x00\x00\x12\x00\x00\ -\x00\x14\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe7\xff\xff\xff\xe3\xff\xff\ -\xff\xe1\xff\xff\xff\xe0\x0f\xff\xff\xe0\x0f\xff\xff\xe0\x1f\xff\ -\xff\xe0?\xff\xff\xe0\x7f\xff\xff\xe0\xff\xff\xff\xe1\xff\xff\ -\xff\xe3\xff\xff\xff\xe7\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\ -\x00\x00\x01F\ -\x00\ -\x00\x02\x00\x01\x00 \x00\x00\x06\x00\x06\x000\x01\x00\ -\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ -\x00\x01\x00\x01\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\ -\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x01\xfe\x00\x00\x01\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x01\x80\x00\x00\x01\x80\x00\x00\x03\x00\x00\x00\x03\x00\ -\x00\x00\x06\x00\x00\x00F\x00\x00\x00l\x00\x00\x00|\x00\ -\x00\x00\x7f\x80\x00\x00\x7f\x00\x00\x00~\x00\x00\x00|\x00\ -\x00\x00x\x00\x00\x00p\x00\x00?\xe0\x00\x00 \x00\ -\x00 \x00\x00 \x00\x00 \x00\x00 \x00\ -\x00 \x00\x00 \x00\x00?\xe0\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xfe\x01\xff\xff\xfe\x01\xff\xff\xff\xff\xff\xff\xff\xfe\x7f\ -\xff\xff\xfc?\xff\xff\xfc?\xff\xff\xf8\x7f\xff\xffx\x7f\ -\xff\xff0\xff\xff\xff\x10\xff\xff\xff\x01\xff\xff\xff\x00\x1f\ -\xff\xff\x00?\xff\xff\x00\x7f\xff\xff\x00\xff\xff\xff\x01\xff\ -\xff\xff\x03\xff\xff\x80\x07\xff\xff\x80\x0f\xff\xff\x9f\xcf\xff\ -\xff\x9f\xcf\xff\xff\x9f\xcf\xff\xff\x9f\xcf\xff\xff\x9f\xcf\xff\ -\xff\x9f\xcf\xff\xff\x9f\xcf\xff\xff\x80\x0f\xff\xff\x80\x0f\xff\ -\xff\xff\xff\xff\xff\ -\x00\x00\x01F\ -\x00\ -\x00\x02\x00\x01\x00 \x00\x00\x0b\x00\x09\x000\x01\x00\ -\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ -\x00\x01\x00\x01\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\ -\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x18\ -\x00\x00\x000\x00\x00\x000\x00\x00\x00`\x00\x00\x04`\ -\x00\x00\x06\xc0\x00\x00\x07\xc0\x00\x00\x07\xf8\x00\x00\x07\xf0\ -\x00\x00\x07\xe0\x00\x00\x07\xc0\x00\x00\x07\x80\x00\x01\xff\x00\ -\x00\x01\x01\x00\x00\x01\x01\x00\x00\x01\x01\x00\x00\x01\x01\x00\ -\x00\x01\x01\x00\x00\x01\x01\x00\x00\x01\x01\x00\x00\x01\xff\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xe7\xff\xff\xff\xc3\xff\xff\xff\xc3\ -\xff\xff\xff\x87\xff\xff\xf7\x87\xff\xff\xf3\x0f\xff\xff\xf1\x0f\ -\xff\xff\xf0\x1f\xff\xff\xf0\x01\xff\xff\xf0\x03\xff\xff\xf0\x07\ -\xff\xff\xf0\x0f\xff\xff\xf0\x1f\xff\xfc\x00?\xff\xfc\x00\x7f\ -\xff\xfc\xfe\x7f\xff\xfc\xfe\x7f\xff\xfc\xfe\x7f\xff\xfc\xfe\x7f\ -\xff\xfc\xfe\x7f\xff\xfc\xfe\x7f\xff\xfc\xfe\x7f\xff\xfc\x00\x7f\ -\xff\xfc\x00\x7f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\ -\x00\x00\x00V\ -\x00\ -\x00\x01Fx\x9c\xc5\xc8\xb1\x0d\x800\x0cD\xd1\xef4\ -\x88\x0a*\xda\xa4\xa4d\x03\xd8\xcc\x8c\x9c\x0d\xccE\x8a\ -D\x01\x15\x0d\xdfz\xb2t\x900J\x81\x99\x91\xcd`\ -\x01V\xd1\xc4!\xa6k\x9d\xdc\xa5\xae\x15\x11\xfc]<\ -s\xd9+d\x99d\xe8?W\xd7\xee\xe1\x12_\xbcu\ -\x01\xec\xfbi\xe6\ -\x00\x00\x01F\ -\x00\ -\x00\x02\x00\x01\x00 \x00\x00\x10\x00\x11\x000\x01\x00\ -\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ -\x00\x01\x00\x01\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\ -\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xfc\x1f\xc0\x00\x04\x10\ -\x00\x00\x04\x10\x00\x00\x04\x10\x00\x00\x04\x10\x00\x00\x04\x10\ -\x00\x00\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\xfc\x01\xc0\x1f\xfc\x01\xc0\x1f\xfc\x01\xc0\ -\x1f\xff\xf1\xc7\xff\xff\xf1\xc7\xff\xff\xf1\xc7\xff\xff\xf0\x07\ -\xff\xff\xf0\x07\xff\xff\xf0\x07\xff\xff\xff\x7f\xff\xff\xfe?\ -\xff\xff\xff\x7f\xff\xff\xff\x7f\xff\xff\xff\x7f\xff\xff\xfe?\ -\xff\xff\xff\x7f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ -\xff\xff\xff\xff\xff\ -\x00\x00\x00\xef\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\ -\x00\x00\x00\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\ -\x00\x00\x00\x09pHYs\x00\x00\x0e\xc3\x00\x00\x0e\xc3\ -\x01\xc7o\xa8d\x00\x00\x00\x18tEXtSof\ -tware\x00paint.net \ -4.0.6\xfc\x8cc\xdf\x00\x00\x00mIDA\ -T8O\xb5\x8c\xd1\x0a\xc0 \x0c\x03\xfdt\xff\xbc\xb3\ -\x83d]\xa8\xd82\xf6p\xa2\xc7\x99af\x9fHe\ -\x87\xe7\xb2\xae\x15\xd0\xf3\xdf}Htb\xce\xb9\xbe\xc9\ -\x80\xcb\x0a\xdb\x01\x88\x13\xff\x0d\xec@\x08\xdc\xa5\x03.\ -\x15\x8dc\xcb7$DD\xe3\xccQBD4\xce\x1c\ -%DD\xe3\xccQBD4\xce\x1ce\x07|\xe6\x80\ -\xe3\xab\x15\xd0\x83\xd7\xa3\x8f\x8d\x0b\xd1.k\xedV\x14\ -\x8b0\x00\x00\x00\x00IEND\xaeB`\x82\ -\x00\x00\x00\xd0\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\ -\x00\x00\x00\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\ -\x00\x00\x00\x09pHYs\x00\x00\x0e\xc2\x00\x00\x0e\xc2\ -\x01\x15(J\x80\x00\x00\x00\x18tEXtSof\ -tware\x00paint.net \ -4.0.6\xfc\x8cc\xdf\x00\x00\x00NIDA\ -T8O\xdd\x8c\xc1\x09\x00 \x0c\x03\xbb\xffT\xdd\xac\ -\x1a\xb0\x82\xb6*U\x10\xf4q\x8f\x5cBHD\x8ep\ -e\x04+\xb2\x02+\xa7XQ\xc6\xcc\x9c\xe3\xd8\xd5\xce\ -\x88\x7f\x0e<\xee\x1e`\xacl\x1f\xcc\x5c\xed\x8cx\xff\ -\x00`\xd8\x8f=\x07\x9a\x10G(\x01oN\x98?\xf6\ -\xff\xda\xc5\x00\x00\x00\x00IEND\xaeB`\x82\ -\x00\x00\x00\xd4\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\ -\x00\x00\x00\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\ -\x00\x00\x00\x09pHYs\x00\x00\x0e\xc2\x00\x00\x0e\xc2\ -\x01\x15(J\x80\x00\x00\x00\x18tEXtSof\ -tware\x00paint.net \ -4.0.6\xfc\x8cc\xdf\x00\x00\x00RIDA\ -T8O\xed\x8fA\x0a\xc00\x08\x04}\xba?\xb7\xce\ -a/a\xa1m\xbc\xe4\x90\xc0\x043\xd1\x05\xa3\xaaF\ -X\xf9\x07+\xa1\x0fW\x97\xfe_X\x09\x0a\xc8\xcc~\ -\xfa\x1e\xb0R0<\x0a\xf8\x82\x95\xa0\x15V\xbfb%\ -(`{\x85\x1bpB\x000<\x0ax\xa7\xe2\x01V\ -T\xcf_\x16\xfbf\x81\x00\x00\x00\x00IEND\xae\ -B`\x82\ -\x00\x00\x03\xea\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x93\x00\x00\x00\x15\x08\x06\x00\x00\x00B\x0c\xdc\xd0\ -\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\ -\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00\ -\x09pHYs\x00\x00\x0b\x11\x00\x00\x0b\x11\x01\x7fd\ -_\x91\x00\x00\x03\x7fIDAThC\xed\x9a\xbbN\ -*Q\x14\x86\x07Cb,\xec}#\x1e\x81\xc6\xca\xbb\ -!\xbe\x81\x8d\x8d\x8d%\x0d=Zig\xb4\xd0\xc4H\ -c(H,\x88\x85Zx\x04\x04\x01\xaf\xf1\x0e\xe2\x92\ -o\x9d\xb3\xf7\x19\x07\xf4\xe4h5\xb0\xff\xe4\x97q\xad\ -=4|\xf9\xf7\x9a\x0d^,\x16\x93n\x9e\x9e\x9e\x96\ -\xa9\xa9)\x99\x9c\x9ctvV\xc3\x03\x5ct\xe3\x05w\ -\xc0\xb4\xbe\xbe.\xa7\xa7\xbf\xda>\x95\xf3\xf3s\xb9\xb8\ -\xb8\x90\xeb\xebk\xb9\xb9\xb9q\xeeS\xf3\xf9\xc3\x01<\ -\xc0\x05|\x04\xb9\xc1\x16& :;;\x93B\xa1 \ -\xb5ZMnoo\xe5\xe1\xe1A\x9e\x9f\x9f\xa5\xd1h\ -8\xf7\xb9\xe1\x00\x1e\xe0\x02>\xe0\x04f:`\xa2X\ -n\x83T*\x95\x94\xc2\xc7\xc7G}\x83V\xab%o\ -ooj\xa7\xfe\x95a\x00\x1e\xe0\x02>\xe0\x04^\x08\ - \x0b\x13 U\xabU-\x12i\x10\xf8\xfa\xfa\xea\x00\ -\xeaS\xb1\x9d\xe5\xf3y\xc9d2\xb2\xb9\xb9\xa9\xde\xdd\ -\xdd\xd5\x1a=\xbf\xe0\x05nLB)L\x14 \x0d\x90\ -\xa0\x0f\x98\x9a\xcd\xa6\xec\xec\xec\xc8\xd2\xd2\x92\x0e^\x98\ -kj\xf4\x9czO\xc7\xc7\xc7\xb2\xbd\xbd\xadpt3\ -=\xd6\x98\xa0\x81\x17\xb81@y\xa4\x12{ \xd1e\ -\x12\x09XVVV$\x1e\x8fw5=\xd6\xb8\xf4\xea\ -\x1d\x01\xc9\xc6\xc6F\x07@A\xb3\x86\xb5\xb0\x82\xe1\x06\ -~\xe8y\x95JE\x87*\xf6B\xe0\xc0\x10\x0843\ -33\xb2\xba\xba*\xc5bQ\xcd55z\xac\xe1\xcd\ -\x9c\xc2/\xb6/\x7f\x22\xed\xed\xed\xd9\xebn5\xd6r\ -\x0f\xac\xc0\x0d\xfcP\xd7dbJg{C,X\x5c\ -\x5cT`\x80'(j\xf4XC\xcc\xb9t\x0a\xbf\x98\ -\x87\xfc\xd0\xa0\xc3\xc3C[\xe3\x1a\xf9\x81\xe2\x1e\x047\ -\xf0C\xcd\x830?\x144'&&\x14\x18\xd2((\ -j\xf4Xs\x7f\x7f\xef`\xea\x011`\x1bH\xb0\x81\ -\x87W\xff\xb5\x7f\x0d\xf7 >\x7f\xf8\xa1\xe6]^^\ -\xca\xcb\xcb\xcb\x07\x98\xc6\xc7\xc7\xff\x09\x13k\x887\xa7\ -\xf0\x8b'6?(\xd8@\x84\x82 a\xeeAp\x03\ -?\xd4<\xa6q3/!`ZXXP`\xbe\xda\ -\xe6X\x03Lf{t\x0a\xaf~\x0a\x13\xfcP\xf3\xae\ -\xae\xae:\x92\xc9\x00\xf3\xd5\x00\x9eN\xa7\xe5\xee\xee\xce\ -\xde\xe7\x14^}g\x9b\xe3\x1c\x0a}H&\xb69\xff\ -\xcc\xc4+\xe7\x06\xc9dR\xa1\xf9\xcc\x89DBO@\ -]2\x85_?\x19\xc0\xe1\xc5\xceL\x0c\xe0L\xe3\x9e\ -\xe7\xd9&\x89srr\x22\xcb\xcb\xcb2??/c\ -ccj\xaeS\xa9\x94M\xa7\xb9\xb99==7 \ -:\x85S\xdf=\x1a@\x84\x89}\x9ac\x9b\xe3X\x1c\ -\x98\x0cP\x9c\x1f\x01T\xb9\x5c\xd6\x03\xaa\x83\x83\x03\xf5\ -\xd1\xd1\x91\xfe\x9f\xcdfevv\xd6\x02\xc5\xa1\x95S\ -\xb8\xf5\xdf\x87\x96\xad\xdfg\x92\xccK\xf0CO\xe9!\ -\xa6\x86\x86\x86d``@\xd6\xd6\xd6\xf4\xcd\x01\x8a:\ -\x8f\xff\x0c\xda\x18\xc00i\x94\xcb\xe5\x14\xa8\xd1\xd1Q\ -\x85\xcb)\xfc\x02\x12\x7fB\x05M\xcf\x80\x84`\xc4\xa4\ -\x92\xfd\xd5\x00\xc0\x0c\x0e\x0e\xdat\x1a\x19\x19\xd1\xc5\x9f\ -\x09\x22\xeb\xf5\xba\xec\xef\xef\xcb\xd6\xd6\x96\x90nN\xbd\ -!\xb6/\xe6!\x86r\x9e\xd8\xb0\xf9\xa2\xb7\xde\xee5\ -\x9a\x7fgd3+\xd9_\x0d\xf0\x07\x0d\x0f\x0fK$\ -\x12\x91h4\xaa\xaff\xcb\xfbLL\xf0\xc4\x1b =\ -==\xfd\xa9:\xf5\xba\x08\x12\x12\x89\xcf\xdc\x0f\x92\x85\ -\x09\xd3\xe0\xcc\xa9V\xab* \xec\x85\x0cW\xdc\xec\x06\ -\xec\xfe\x96a\x00\x1e\xe0\x82Q'\x08\x12\xb609;\ -\xff\xcc1y\x07P\x7f\x17\xd6Q\x02K\x02\x00\x00\x00\ -\x00IEND\xaeB`\x82\ -\x00\x00\x01\xbb\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x0f\x00\x00\x00\x10\x08\x06\x00\x00\x00\xc9V%\x04\ -\x00\x00\x01\x82IDAT(\x91\x8d\xd2O\x88\x8eQ\ -\x14\x06\xf0\xdf7\xf3\xa6Qc#\xb1\x9b\xbe\xc6\xd0,\ -,&\x1dM\x8aI\xa9Ql\xecg\xa1H2J\xb3\ -\xb2\xb4\xc5\xdeJ\x91\xb5\xa6\xc8\xbf\xa5P\x16rD\xb1\ -\xa0\x11\x92\x92\x05if\xc1\xa4)\x8b\xf7}\xa7\xfb}\ ->\xe5Y\x9d{\xcf}\xce9\xf7yN\xc7\x7f 3\ -Gq\x0a\xdb#b\xbe\xbd\xaf\x9a\xe4\x16\x8c\x16\xefW\ -\x22\xe2[fV8\x8e1\x5c\xc1\x91\xa2\xe0H\xa7\x09\ -\xf6a\x02\xd3x\x8aw\x98\xc5\x14~c\xa5(<\x8c\ -M\xd8\xda)*m\xc0\x09\x1c\xc5$\xae\xe3E\xdf\x0f\ -f\xf0\x18\x9b\xf1\xbd\xca\xcc\xcb\xf8\x899\xbc\xc7%\xdc\ -\xc78\xe6\xf1*\x22\xae5\x0d\xba\x11q+3\xbb\x98\ -\x1a\xc2g,#\xb0\x18\x11w\x22b\x0d\x8bX\xc0\xd5\ -\xcc<4H\xc8*\x22.\x16\xa3\x97\xb9\xc9\x22\xde\x9f\ -\x99\x0f0\x91\x99\xc3\xed\xe5\xd0\xa0\x8a\x0d\xde\x16\xf1K\ -\xdcS\x0b\xfa\x05\xc7z\xc8\x99\xb9\x13\x072s.3\ -\xf7\xe2\x1c\x96p\x13\x9fp7\x22\xf6\xe0\xb4\xda\xb2\x91\ -\xaa\xa8\xbe\x80\x8f8\x8b\xdd\xf8\x85\x0b\xb8\x81\xd5\xa6\xc1\ -\x13\xb5\xa5\xb7\xf1\xbc\x1c\xfb\x07\xb6E\xc446\xe2\x0d\ -\x0e\xab}\xff\x80nC\x9a\x8d\x88\x93\x11\xb1T\xfa\xbc\ -\xabI\xee\x88\x88\xb5\xcc\x9c\xc1\xa36\xdd\x8c\xdc\x83\xf5\ -\xce\x11\xf1\x1a\xcb\x8dM\x1aqZ\x8c\xf7\x13\xfb\x05\x1b\ -S/I\x8b\xce?\xe2\xbf\xc9\xf8\x8a3\xc5\xf9Y\x11\ -\xf7,@\x8bu\xb5#bU\xeda\x8b\x87\xea-;\ -\x88\xf3\x83\xc8\x7f\x00k\xb9|\xe7dF#\x7f\x00\x00\ -\x00\x00IEND\xaeB`\x82\ -\x00\x00\x01\x01\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x0f\x00\x00\x00\x12\x08\x06\x00\x00\x00\x84\x9e\x84\x0f\ -\x00\x00\x00\xc8IDAT8\x8d\xa5\xd3=N\x031\ -\x10\x86\xe1gQ\x02]\xe8R\xf3\x97\x0e\xaa\xbd\x12E\ -.\x10J\x84\xc4=\xd2%\x12\x15\x11\xe7\xd8\x8d\x10\xa2\ -\xe5 H\x88M\x11G\xdaX\xded1_7\xdf\xe8\ -\x9d\xf1\x8c\xed\xa2i\x1am\xd5u-\xd2\x19\xbec\xb3\ -,K'\xb1\x99\xd0\x03\xceS\x89>\xf0\x04W\xb9\xf0\ -\xf5\x7f\xe0\x9b\x5cx\x841.s\xe0]\xc7,x\x12\ -\x15\xd9\xd3\xa0\x03\xba\xc3\x10\xb7!\xbe@i;\xffJ\ -\xb8\xf7.x\x88\x0aE\x88OC\xfc\x8a\x97c\xc7^\ -\xe3-\xf2~\xf1\xd86\x0e\xcd\xfc\x84\xf6\xdb]\xe2\xb3\ -/\xfcn;\x1f\xfc\x84b{:\xb6\xed]\xf79\xbe\ -\xfe\x0a\x7f`\x81\xe7T\xb2k\xdbm\xddK|I(\ -\xaa\xaa\xea\xc1\xa75\xc0\x14\xb3\x1cx\x03\xb2\x99!K\ -\xef\xfb\x80\xb9\x00\x00\x00\x00IEND\xaeB`\x82\ -\ -\x00\x00\x02\x1e\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x18\x00\x00\x00\x11\x08\x06\x00\x00\x00\xc7xl0\ -\x00\x00\x01\xe5IDAT8\x8d\x95\xd4]h\x8ea\ -\x18\x07\xf0\xdflIQC\xf2q\x22\x8a\x92\xe2\xd8G\ -!\x0e\x97\x16j\x07D\x88\x94R\xcb\xe7\xa2\x9c\x8d\x92\ -\x906\x16K\xf9\x96!\xc7\xac\xa4\x90\x83\xb7)\x07r\ -\x22\x12\xcd\xc1\x88%\x8b\xf9:\xb8\xafw\xef\xd3\xb3g\ -\xeb\xdd\xbf\x9e\xee\xfb\xbe\xee\xeb\xb9\xfe\xd7\xe7]S*\ -\x95\xea\xf1\xd5pl\xc2\x0d\x5c\xc7\xc6\xdc\xddy\xec.\ -\xf8g\x18\xc6\xe1\x07\x9a\xb0\x03\xbf\xf0\x1d\x9b\xf1$t\ -\xce\xe2p\xec\xbbC\xb7\xb3\x1a\xe3P\x87At\xc5y\ -:\x8ea1\xae\x85\xac\x84\xd3\xf8\x8c-\xe8\xad\xd6x\ -9\x82,N\xe0\x19\xf6bY\xc8Z\xb0\x14\xbb\xc6j\ -\xbc\x88\xe0Ox9\x80\xcbX\x81\xa3\xb8\x82\xbb\x19\xbd\ -\x16\xfc\xcb}\x0dq\xf72+\xcf\x13\xc0\x1b\xec\xc3<\ -<\x0c\xaf\xf7\xe4t\xeeK\xb5x\x1f\xe7\xfd\xe8\xc9\xec\ -\xbbc\xdf^D\x00\x17\xc3\x93\xf1hC\x7f\xee\xfe\xb5\ -T\xb7\x8e8ORI\xdf\x03\xcc\xc0_\xb4\x8eD\xb0\ -\x06\x8bB\xe9\x10f\x8e\xe2\xc8\x00\xb6\xaa\xa4{v\xfc\ -\xfb\x14\xbdE\x04\xf5\xb8\x84W\xd2,L\x93\xda\xb2\xa6\ -@\xb7\x0f71\x07\xabC\xb66\xd6;\x0c/2\x9c\ -\xc1\xac\xf0\xea\x96T\xe0\x06\xec\x1c!\x8a\xb6X\xb7\xc5\ -\xbaN\x8a\xbc\xab\x88\xa01\x0c\x1f\x97\xfa\x1f\x9a\xf1\x01\ -\xa7\xa4\xc2\xe7\xf1\x02\x8f\xb1\x1e\xf3\xb1J\xa4\xa7LP\ -\x8b)\x11f\x87T\xc0\xf6\x90\xc3O\x1c\xc4D\x5c\xc5\ -TL\xce\x91\x9c\xc3\x04)-\xb5\xb1*\x13,\xc4\x17\ -\xbc\x95\x8a\xb9\x00\x9fB\x0e'\xa57\x09\x96H\x13\xfd\ -.Gp\x0f\xad\x98+\xa5ghf\xea\xa4^n*\ -\x08\xbd\xdc\xe3\x9dx\x94\xbb\x1b\xcc\x9d\x7f\xe36\x8eH\ -3\xf01K\xf0M\xe5-*B\x8f\xca\x10\xe5\xb1]\ -\xea\xb6\xe78\x10\xb2\x0bY\x85\xbaQ\x0cW\x83f)\ -\xbd}\xd8 \xbd\xc0\xd9'\xa5\xb0M\xc7\x82~\xac\xc4\ -r)\x95\x8dR\x0d\x86\xf0\x1f\x84\xf8v\x1d=\x86M\ -P\x00\x00\x00\x00IEND\xaeB`\x82\ -\x00\x00\x01p\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x12\x00\x00\x00\x12\x08\x06\x00\x00\x00V\xce\x8eW\ -\x00\x00\x017IDAT8\x8d\x9d\x93\xc1J\xc3@\ -\x14EO\xa2\xa0\xa0\xa2\x05\x11\xba\xf3#\xde\xd2\x8d\xf4\ -\x1b\xc4\x1fp'\x88\xa0\x82Pp\xa3\xa2;\xc5\x95\xee\ -\x14\x7f\xe7\x82\x1f\xe1\xc6\x8d\xa4P\xb5\x9a\xb4\xd5E_\ -a\x88IF\xbc0d\xde\xcd\xc9\x9d7a\x06\x22\x92\ -\xb4#i/\xc6\xcd\xc6\x00\xe0\x02\x98\x01n\x9a\xa04\ -\xd6\x0d\xb0\x0a\xb4|\xfe\xbf \xef\xa6j\xfe\xf7 I\ -\x9d\xa0\xfc\x06\x0aI\x9b\x91\x85\xeb%i \xe9#\xc6\ -\xfd\xeaH\xd2v\xc9\xfa\xf4\x112\x07\x92\xe6+\x83$\ -\xedK\xca\x80\xdbR\xd0\x08(J\xde!\xd0\x93t)\ -)\x05H$\xed\x02g\xc0J\x00\x0e\x81\xdcC\x16\x99\ -\xfc\xa3w&\xc7`\xce\x9fS\xbd\x01\xdd\x14x\x02^\ -K+\x0e\x80\x9e\x8f\xb1\x07\xf5\xdd\xcf\xbd\x9e\xea\x0b\xc8\ -\x92`k\x1d\xe0\x0eh\x9b\xd9B\xe0g@afk\ -\x81\xf7\x0c,\x03'fvM\x95$m\x94\xea\xbe\x87\ -\x85\xdeV\xe5\xc7M\x92\x94K\x1a\xc4\xb8\xa4\xee\x85_\ -\x89.\xb0\xee\xd6\x0bplf\x0fU|\xd3\x15\xb9\x07\ -\xdaA\xbd\x04<\xd6\xc1\xb5Af6\x04\xae\x02\xeb\xd4\ -\xcc\xc6u|\xed\xd6\x00\xfc\xb0\xf5\x81\xdc\xccZMl\ -\xe3\xed\xf7\x0e\xce\x81\xa3&\x0e\xe0\x07\x81\x1e\x7f\x14\x8c\ -;\xe7\x95\x00\x00\x00\x00IEND\xaeB`\x82\ -\x00\x00\x01{\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x12\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1b\x06/\x5c\ -\x00\x00\x01BIDAT8\x8d\x95\xd3?K\xdbQ\ -\x14\xc6\xf1OB\xaa\x9bb\xfd\xb3IQ\xc8(\x08\x97\ -:\x1b\xa8\x9d\x5c\xb5\xd0\xcdEqt\x93\x80\xef\xa0o\ -\xa0N.\x0e\xba\xd61\x10p\x90\x0a\xbf\x0cm\x17\xb3\ -\xb8\xb8H\x15u\x8a\xa0`\x1c\xe2\ -\x06\x15\x9c`$\xa5t\x05\xc5\x1c\x90\x11\xccD^\xc6\ -%\xfe\xbf\x1e\x96r\x80\x86P\xc5'\x1c\xe3\x0b4\x1a\ -\x8d:\x96\xf3\x80\xae\x03\x92\xd0\x88\x05\x8b8(\x0c\xd8\ -\xa3\x02\xbec\x12-L\x04T\x00k\xfd*\xaa\xa0\x1e\ -y\x1b\xfb]\xe0RJmz7{\x12\x9b\x91\x0f\xf5\ -\xf0\xb4c\xe9\x07\x1aG\x0d\x19\xf6\xfa\xc0\xde\xa2\xdb\xd5\ -fq\x869/\x8d-\xe1a\x10\xd02\x8eB\x7f\xc0\ -\x1a\xa6p\x8b\x0d\x0c\xe3g\x9c\xef\xe8\x98\x9d\xce(\xe2\ -\x17\x96B?\x06d=*\xdb\xc5\xbf\xd0\xeb\x98\xeeU\ -Q!\xcb\xb2\xc3\xc8\x7fx\x9f\x93Y\x5c\xe07F\xf1\ -5<\xb5\xa8\xf4/\x9a\xb17\x81\xfb\x12Vc#\x0b\ -\xc8\x06\xb6\xb1\x82C\xfc\xc1|\x17O\x13\x0b8E9\ -\xcf_\xeb\x16\xafC\xa9\xe8}\x1e\xb60\x86\xcf\xa1\xbf\ -\x85\xae\x0e\xe09\xef|\xfe\x16\xee\xf0\x14\xfa)t\xab\ -\x9f'\xa5t\x07\xcf)mR\xad\xb7y\x8e\x81\x00\x00\ -\x00\x00IEND\xaeB`\x82\ -\x00\x00\x02,\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x11\x00\x00\x00\x10\x08\x06\x00\x00\x00\xf01\x94_\ -\x00\x00\x01\xf3IDAT8\x8de\xd3K\x88\x8fa\ -\x14\x06\xf0\xdf\x7f\xfc\x95\xb0@\x22\x9a\x92{\xe4\x9aS\ -\x9a\x85\xb2\x125R\xee\xa5L)\x16\xa6\x90\x8d\xb2D\ -\x12Rl$\xc9(I.Qr\xbf\xaf\xa4\x8e\x14\xd1\ -\xe4R\xc8\x06\xc9%\xb7$,\xbeW}\x8dSo_\ -o\xe7;\xcf\xfb<\xe79\xa7\xa1Gd\xe6h\xac\xc1\ -\x1c\x8c\xc1\x1f\xf4\xc2C\x9c\xc6\xc1\x88\xf8X\xafi\xa9\ -\x15\xf7\xce\xcc\x9d\xb8\x83N\xbc\xc5R\xdcB_\x1c\xc5\ -(<\xcd\xcc5u\x90F\x01\xe8\x8bs\xf8\x8c\x09\x18\ -_\xf2kq\x11\x0b1\xb5\xb0\x9a\x82\xa18\x1b\x11\x9d\ -u&\xc70\x02W\xf1\x18\xaf\xb0>\x22\xf6G\xc4\x0b\ -\xfc\xc4Jt`:V\xa0-3;\xa1\x91\x99m\xb8\ -\x81O\x18\x19\x11\xdf3s\x11N\xe15\x9e\xe1:\x96\ -a\x12\xeeEDd\xe6\xf4\x22\xbd\xb5\x05\xdb\xd1\x07;\ -\x22\xe2{a\xb6\xa4|[1\x1bG#br\x91z\ -937`0\xbebs#3_c\x0b\xc6\xe1\x01\ -\xba\x0b\xb3~\x05\xa8;\x22&\xd4\x0c8\x8b\x05\xe5z\ -\x18\x93\x9a\x18\x80\x13\xf8P\x12\xcf0\x11\xf3\xcay\x92\ -\x99\xcd\x88\xf8\xe5\xff8\x8e\xad\xcdri\xd6\x12\x8f\x22\ -\xe2\x15\x0e\xe0@fvcca\xfc\x02\x17\xf0\xa3<\ -\xf4\x05?Z\xf0\x06]\xd8\x8d\x9b\xb8_\xa3>Ye\ -w/\x95{\xad\xd8\x13\x11\xcb\xb1\x17\x97\xf0\xb1Y\xa4\ -tFD{)\xec\xca\xcc{8\x89\x81=\xe8o\xab\ -\xc9Z\xa22\xe4H#3\x87\xe0)fFDwf\ -v\xa9\xe6\x01\x16\xe16\xc6b\xbe\xaa\xd9\x0f\xf0\x5c5\ -\x9c\xdf0\xbc%\x22\xdeb\x03\xceg\xe6*\xf4\xae\xbd\ -\x9c\x11\xf1^5|\xab\xb1\x1e\x87\xd0^\xfa\xd2\x1e\x11\ -\xbf\x1b5\xfd\xeb\xb0\x09g\xb0\x0b\x8b1\xab\xa4\xaf\x14\ -\x80q\xb8[\xfa\xd3\x11\x11W\xa8-`D\xec+\xf4\ -g\xa8\xf6%0\x0c\xfd\x8b\x0b\xd7\xf0\xae\xb0j\xfb\x07\ -@Y\xc0\x9e\x91\x99\xd30W\xb5\xb5\x83J\xf1C\x9c\ -\x8f\x88\x97=\xff\xff\x0b\x84C\xb2\xa8\xaa\xc4\xf2\x0e\x00\ -\x00\x00\x00IEND\xaeB`\x82\ -\x00\x00\x00\xee\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x0a\x00\x00\x00\x0d\x08\x06\x00\x00\x00\x907\xff\x05\ -\x00\x00\x00\xb5IDAT(\x91}\xd0\xa1\x8aBQ\ -\x14\x85\xe1O\xb9\xcdd\x9b\xeek\x08\xbe\xc7X\x0c:\ -\x08\xfa V\x1f@\xb1h1\xcc4\xc1l\xbc0\xc1\ -7\x10\x83ED\xc3\x14\x83\x96s`s\xb9\xcc\x82\x13\ -\xf6f\xb1\xfe\xb5O\xa3,\xcbO\xac\xfd\xafY\x11\x86\ -\x01\xfe\xc2\xdc\xc0\x1c\x1f8F\xe3\x0f\xeea\x9e&\xd3\ -\x0e\x9b&N\xd8\xe2\x19L\x1d\xccp\xc3\x17\x148\xa4\ -\x17\x91\x0b\xb4R\xea\x19\x9a5\xc5'\xe8%\xe4*/\ -\xab\xc6\x8c\xbcgdV<&\x22\x87\x19Y\x97\x98\x91\ -{,\xab}rbF>0\xc2+x\xc6\xb8\x145\ -\xc8S%\xac/}\xf88!\x0f\xf8F\xbb\x8eZ\xa0\ -\x9b\x16]\x5c\xab\xdd\x92~\xdf\xc4\xcd&:\xc3\xef\xf7\ -E\x00\x00\x00\x00IEND\xaeB`\x82\ -\x00\x00\x015\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x0f\x00\x00\x00\x0f\x08\x06\x00\x00\x00;\xd6\x95J\ -\x00\x00\x00\xfcIDAT(\x91\x95\xd0\xcf*D\x01\ -\x14\xc7\xf1\xcf\xcc\xcaB<\x06YX\x9d\xe6\x09\x94\x12\ -SJ\x9a\x97\xb0'\x8bY\xc8+XY\x121\xfe\x16\ -\x1b;ew\x1e@\xd9YX\xb0A\xd9\x10c\xe1\xca\ -\xedv\xa7\xc6os:\xe7\xf4\xfd\xfdN\xa7\x91\x99\xab\ -\xf8\xc0aD\xdc\xfb\x87\x1a\x99\xd9\xc1\x1e\xfa\xb8\xc1\x01\ -\x8e\x22\xe2a\x18x\x14O\x18)\xcd\xfb\xb8\xc6>\x8e\ -#\xe2\xb1\x16\x86\xcc\x06Z\xa5\xb1W#\xc4HW\x92\xccZ\xcf5\x97\ -i|8\xb0\x14h\x0e\xcc\x06^\x06\xb6\x03#\xf0~\ -\xfdU\xf5@aq\xa2\x8d\xf7\xfe\x00p\x13\xf0\xb8\xb3\ -\xe6\x9bx(\x80M\xc0 `\x82\xb3f\xd1U\xf1\x80\ -\xf7\xfe-\xa0-0/e\x1c\xc0Y\x03\x88\x22\xe0_\ -`Faq\x22+}M:@\xfc\xca\xf1\xc0?\xc0\ -{\x99\xeb\xce&\x0f\x03K\x80N\xde\xfb\xe7\xb3\xd1\xd9\ -`\x08\xa4\xd2\x03\x08q\xed\x07\xb4\x8f\x06\x0f\x03'\x80\ -\xe1\xc02g\xcd\xd8K\xec\xed\x05T\x02\xbb\x81\xbd@\ -\x0f\xa0\x03p\x168\x00\xac\x13B\xcc+\x8b\x89*\x00\ -\x0a\x8b'u\xf6\xbe\xee\x1d\xe0]g\xcda\xa9t\x0d\ -!\xc1\xceE\xa37\x12J-E\xe7\x81\xcd\xc0\xa7 \ -\x968\x9bD*\xdd\x1f(\x06F\xc6C\xa7>\xae6\ -\xeah\x09\xb4\x89\xbc\xfd\xc0@g\xcd\xef1\x04~p\ -\xfc\xe2\x1f\xa5\xd2}\x9d5-\x80\x02\xef}\x0bg\xcd\ -\xad\xce\x9a\x9b\xbd\xf7\xad\x81\x83@\x0d\xb0\x03x\x04X\ -\x0c\xbeZ*\xbd\x03\xd8\x0a\xbc\x12\xc3\xba?\x1a\x1a\xeb\ -\xaci\xee\xac\xe9\xec\xaci\x8b\x10]\x81R\xe0.`\ -Qz\x0e\x5c\x1b\xc7N\xc0\xf7R\xe9!\xce\x9a/W\ -\x94.\xb8\x18+!N\x01]\x81]\xce\x9a<`*\ -\xe0\x09\xd5\x90\x1b\xc5*\x81{\x81\xe9q\xde\xa5^\x8e\ -\x94$\x8f8k\x14\xf0\x0bP \x95n0\x09o\x00\ -\xd6I\xa5'\xd4K\x16!\xee\x8f\x07>-\x95\xdeD\ -\xa8\x7f\x80\x95\xc0\x9b\xc01\xa07\xb0\x0f\x18\x10\xd7z\ -]\x22\xf7\x0e\x03\xcd\x80\x8e\x97\xaa\x82k\x80\x85R\xe9\ -\x0fR\x0c\xef\xfd\x9d\xf1\xef@B\xad\x7f\x0d\xf4u\xd6\ -\x8cv\xd6\xcc\x11B\xdc\x02L\x8b\x8au\x94\xed\x9e\xa9\ -8\x96g?\xa0\xcaYs\xbc\xb12|C*\xbd\x22\ -\x96_N\xe4\xfd\x09\x14:k\x06;k*S\x82e\ -%I\x9c5\xb3@\xf4\x04R\xdd\xb0\x8fT\xba^\xb5\ -x\xef_\x8fa[\x09\x17\xaa \xf1\x82\xf7\xfe\x93\xff\ -9\xc8fg\xcd\x00\xa9\xf4d`\xb7\xb3\xe6B\xbb-\ -,Nt\x00r\xcaJ\x92\xbb\xd37H\xa5\xf7\x00w\ -\xc7\xe9\x82\xe8\x95n\xc0\xcf\xd1K=\x9c5\x87\xb2m\ -D\x0fK\xa5\xf79k\xe6\x0a!\xd6\xa7\x19\x19\xe3\xbd\ -?\xea\xbd\xdf%\x95\xde\x94\xd1\xfd\xaa\xe2\xf8\x1b0\x11\ -\xf8\x22\xfeZ\x01S\x9c5\x87R\xb1\xce\x96\xbaK\xa5\ -\x97\x96\xd5G\xba\xf7\xe3\xd7\x00\x0c\xf2\x9eQikg\ -S|\xe0;`\x18\xa1Z\xca\x9c5\x1f\xa6\x84\x9a\x8a\ -\x05\xe73\xe6u\x8d\xcc!4\xb4\x96\x97\x92i\xca\x01\ -v9k\xc6e\xf0^\x03\xce\xc4\xff\x1b\x84`u\xda\ -Z\xca\xe8\xb7\xc0\x83\xc0\x1a\x02d\x17I\xa5_m\xea\ -\x016:kr\xa5\xd2oK\xa5\x87\xa5\x98\xce\x9a5\ -@\x8e\x10\xe26g\xcd\x90\x8c\xf0\xb4\x8fcW`\xbe\ -\xb3f\x04\xf0,P\x0d\xcc\x91Jw\x86\xd8\x01{\xe5\ -\xe5\xf7!\x80LCT\x0a\x8c\xcc\xcd\xcb\xd7\x84\x98\x0f\ -\xcd\xcd\xcb?\xb1\xb3\xa2|;\xc0\xce\x8a\xf2\x9a\x9d?\ -m=\x99\x12\x96Jw\xcb\xcd\xcb\xff\x8cP\xebg\x80\ -\x22g\xcd\xbc([\x9d\x9b\x97\x7f\x1ax\x06h\xb6\xb3\ -\xa2|Cc\x1e\x98\xe9\xacQ\x01\xeb9\x1ay\xad\x81\ -\xc5R\xe9-R\xe9\x87.\x1aN \x95\x9eE@\xc1\ -\xc7\x22\xbb\xc2Y\xb32]\xa1\x10b\x01p\x12\x18\x0d\ -\x1738\x93j\x81\xf1\xce\x9a\xd2\xb4\x8d\xfb\xbd\xf7\x00\ -\x1b\x09\x19^\x00l\x91J\xaf\x03~\x00?\x09hG\ -hT\x06\x98L\xe8\xf9\xf5\xa8\xac$\x89Tz\x1b0\ -X*\xdd\xa6!\x0fT\x03O\xa6\x1b\x07\xf0\xdeW\x10\ -2\xb8\xa3\xb3f(0\x85\x00FO\x033\xa2\xf1J\ -\xe0>B\xb2A@\xcd\x86\xe8v\x02\xaa\xfe\x9d\xf2@\ -m\x1c\x8f\x00O8kvK\xa5G\x01\xab\xa2\xfb!\ - \xe5!\xe0\x1e\xa9\xf4^\xa0g\xe4W\x11\xe0\xb7?\ -\x01\x8c~%\xe0?@\x95T\x9a\x94\x0e\xa9tw`\ -&\xa1#\xaer\xd6\xc4V\xfc\xe2\xa4\x1c_W7\x15\ -\x98\xed\xac9&\x95>\x97\x16\x9ej\xe0zB=\xa7\ -\xa8\x06\xf8\x0aX*\x84X^V\x92D\x16'r\xf1\ -\xbe\x18\x18E\xc8\xfc\xf4\xdb\xd6\xe9\xb8\xff\xba8\xdf\x85\ -\x10\x8f\xba\x92\xe4\x89\x86\xafd\xc5\x89\x07\xf0\xfe%B\ -&\xb7#\x5c4\x0f\x02\x7f\x01c\x80\xe5\xce\x9a\xa2\x06\ -\xf7*\xdd\x9b\xd0\xef+\xe3\xd83\xea\xa8\x8d\xdeY+\ -\x84XT\xefJ\x96-\x8d\x1e7\x11!\xc4\x1f\x044\ -\xeb\xe2\xac\xa9\xca\x94\x91J/\x04&\x10\x10\xd35\xa6\ -\xb3I\xad8\xde\x90\x16\x12\xba\xdc\xf4\xccu\xa9\xf4\x1d\ -\x80\x02\x8e\x08!\x1a5\xde\xe4\x03\x00\x08!\xe6\x02\xc7\ -\x81\x84T\xfa\xa94\xe3\x00\xcb\x09q\x9eV\x96\xe5\xf3\ -\xec\xb2\xde\x86R\xe9\x02`-\xa1,?\x22@\xeex\ -\xc2}\xf0sg\xcd\xf0lu]\xd6\xdb0^H\x9e\ -\x03N\x01\x09`~4\xbeL\x08\x91\xb5\xf1\xcb\xf6@\ -\x9a' `H\xeay\xbe\xa7\xa9:\xfe\x03\x5c\xaa\xea\ -&\xfd\x17M\xd2\x00\x00\x00%tEXtdat\ -e:create\x002016-01\ --08T15:18:18+00:\ -00\x01E\x99\xf0\x00\x00\x00%tEXtda\ -te:modify\x002016-0\ -1-08T15:18:18+00\ -:00p\x18!L\x00\x00\x00\x00IEND\xae\ -B`\x82\ -\x00\x00\x00\xce\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x0c\x00\x00\x00\x0c\x08\x06\x00\x00\x00Vu\x5c\xe7\ -\x00\x00\x00\x95IDAT(\x91\x9d\xd0\xb1\x09\x02Q\ -\x10E\xd1\xb3\x22\x08\xb6a,\x98\xd9\x80\x81\xa0e\x88\ -\x91%\x18Z\x82\x89b\x19\x0a\x826 \xfc`\xc1\xd8\ -\xd0\x16\x04#\x0d\xfe.\xac\xe8\xdf\x05_x\x87\xcb\xcc\ -\x9b,\x84\xf0\xc2\x01S1{L$\xd2\xc6\x19y\x85\ -\xe5\xe8\xa4\x84,\x84\x90\x9a%7lp\xc5\xba`\x0b\ -\xf4\xeb\x84\xb9\xd8\xa1\x14\xc6\x1a:\xf4\xf0\xa8\xb0\x19\xba\ -)\xa1\xd5|\xf5\xf7\x86\x9b\xcf\xb7\xee\x9aN\xda\x8a\xa5\ -\xcb\x1cqO\x09\x7f\xbd\xf5\x84\x0b\x96\x05[aX'\ -\x8c\xf0\xac\xb0A\xc1~\xe6\x0d\xc9\xd6\x1dQ\xcd\xba\xaa\ -\xa1\x00\x00\x00\x00IEND\xaeB`\x82\ -\x00\x00\x01}\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\ -\x00\x00\x01DIDAT8\x8d\x95\xd2\xb1KVQ\ -\x14\x00\xf0\xdf\xf7Qa\xe2\x12N\x91\x93\x85MN\x9d\ -\xa1E\x10\x84\x86j\xd4M\x87\x96\xc0\xdd]\xb7hh\ -\x8d \xa1!A\x1cZ\x85\xa6j*\xf2P\xe0\x90\xe2\ -\x1f\x10\x88A\x86aa|\xe2\xf0\xae\xa1\xaf\x0b\xe6\x99\ -\xde;\xf7\x9c\xdf=\x5cNG\x89\xcc\xbc\x829Lb\ -\x18\x7f\x90X\xc4RD\x1c\xaaD\xa74\x8f\xe25\xae\ -\x96\xfc/\xf40P\xfeW1\x15\x11\xfbm\xa0[n\ -^=\xd1\x0c\x971\x8bql\xe2.\x9e\xd5&\xe8\x96\ -\xb1\x87*g\xdf#\xe2\x1d\xc6\xf0\x153\x99y\xab\x06\ -L\xd5d\xecBD|\xc3\xa3\x92\xfb\xa7\xf6\x82\xe6\xc1\ -~\xa3\xaf\x0dd\xe6\x00\x06\xb1Qr\xd7k@\x0f{\ -xP\x90\x9f\xd8\xc6+\xdcl\xd5\xf7j\xc0:\x02[\ -\x11\xf1\xe9\xf8 3\xdb\x13\xc1\xe7v\xa2\x8b\x17\xe5\xfb\ -if\xf6W\x9ahv\xe2\x00/k\x13,b\x06\xb7\ -\xb1\x96\x99\xf3x\x8f\x8b\xa5\xe6\x00\x97\xf0\x04;m\xe0\ -x\x91\x06\xb1\x82\x89\xca\xed=,c\x1a\x1fq'\x22\ -~\x9c\x02\x0a\xd2\xc1=\xcd*\x8fh\xb61\xf1\x5c\xf3\ -\xa8_4\xfbr\x0a\xf9\x0b\x9c\x15\x99y\x03oq\x0d\ -\x1f0\x11\x11\xfb\xff\x0dT\x907\xb8\x7f.\xa0\x82<\ ->7p\x02Y\xc0\xc3#S\xefd\xae\x0f\x1eB$\ -\x00\x00\x00\x00IEND\xaeB`\x82\ -\x00\x00\x01x\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x10\x00\x00\x00\x12\x08\x06\x00\x00\x00R;^j\ -\x00\x00\x01?IDAT8\x8d\x9d\xd3=K\x5cA\ -\x14\xc6\xf1\xdf\xae\x06\x04\x8bt\xdb\xa8\x88q#\xa2\xd8\ -X\xa4\xb2\x15\x041\xd8\x05\xa2\x95\xe5\xd6!\xd8,n\ -!~\x06+IJ\xf3\x09\x94\x10P\x904n\x11H\ -0$\xf8\x02.\x0b\x0a\x16Vb\xe1\x8a\x8538\x19\ -]\xc2\xfa\xc0\xe5\x9e\xf3\x1c\xce\x7f\xce\x9d\x99[\xa8\xd7\ -\xeb\x12\xad\xa1\x8a\x96\x7fu\x89\x97\x99w\x8a\xc1bf\ -\x8e\xa3O\x07\xca\x01\xaf\xc2\xf3,@\x01\xe5N\x01\xdd\ -I\xdc\x8f\x9e6\x80\x1d\xf4\x86E&\xf0\x13\xe7\xf9\x04\ -\xb1q\xe8\x09\xc0<\xa6\xf1\x19%|\xc2B\x0ex\x9d\ -\x81r\xbd\xc0J\x88\xabq\xfa\x22\xc6BS\x0a\x18\xc5\ -\x1c\xba\x12\xc0\x12\x86C<\x82\xf7\x110\x80#|\x0c\ -\xc5\x12~\xe3\x9d\x87\xfb\xd0\x13VMUEw\x11\xdb\ -\xf8\x9e\x15oPK\xf2\x8a\xc7\xf7\xa3\x8c\xc5\xb8\x07\xb5\ -\xac\xb8\x81\xc3$ob\x06?B\xbe\x857hD\xc0\ -W\xec\x85\xf8\x1a\xab\x19p3Lz\x10\xf2_\xd8\xc7\ -\xb7\xf4\x14\xe2\x0e\xaf\xa3\xe1i\x1d\x87\xf7Q4\xe2E\ -Z\xc6$\xce\xdc\x9f\xc2\x97\xe0Wp\x91\x00N\xda\x01\ -\xa60\x1b\xe2\xb7I\xc3\x876\x13\xfc\x8dF\xfe3\xfd\ -O\xc7\xb8\x92|b\xa7\x80&\xfe\xe0\xf6\xb9\x80\x16v\ -S\xe3\x0e3\xc49\xa5\x12)N:\x00\x00\x00\x00I\ -END\xaeB`\x82\ -\x00\x00\x01\x1b\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x0e\x00\x00\x00\x0d\x08\x06\x00\x00\x00\x99\xdc_\x7f\ -\x00\x00\x00\xe2IDAT(\x91\x9d\xd1/K\x83Q\ -\x14\x06\xf0\xdf\xe6\x8aE\x98_`&\x83U\x10\xbf\x82\ -\x98\x9d0\x16\x945\xbb \xd6\x05\xcd.\x88}j\xb1\ -\x0cV4\x1b_\x164\xac\xb8b\x96\x81\xc5 2\x16\ -v\x06\x97\xd7wC|\xe0p\xcfs\xce\xf3\xdcs\xff\ -\x94\xb2,\xbb\xc0\x99\xdf8\xc1u\xe4}\xec\xa7\xcd2\ -\xeePG7j\xc3\xe0O\x89\xee\x12\xc7\xf8\xc2\x18\xcd\ -\x0a^#z\xd8\xc4\x0e\xaa\x18%\xc6g\x1ca\x15\x0d\ -\xf4\xcaI\xf3\x1b\x07\xf8\xc0\x15\xb6\x93^\x1d-tb\ -\x80\xd4\x08\xefh\xa2\x82\x07\xacc\x037\x18\xe04\xbd\ -c\x1e\x8fh\x87\xa1\x8b\xdb\xd0\x1d\xc6\xa9\x88\x9d\x8b\xd0\ -\xc6.\xf6\x827\xf0\x96\x0a\x8a&\xc2\x04\xe7\x91\x0fq\ -\x9f\x17,2\xc2On\xfd\xb3q)\xfem,z\x9c\ -\x15\xacE\xccy\xd5\xec\xde\x9f\xcb\x8c[x\xc9\xf1\xb1\ -\xd9\x1f\xd7\xe6\xc5)P\xcb+^\xfd\x05+R\x00\x00\ -\x00\x00IEND\xaeB`\x82\ -\x00\x00\x01\xcf\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\ -\x00\x00\x01\x96IDAT8\x8dm\xd3M\x88\x8eQ\ -\x14\x07\xf0\xdf\xf3\xf4R\x83\x8d\x05\xc5\xbc\x14)\xcd\x8a\ -\x95(R\x13\xa5\xac\xcc\xc6GMJY\x8cX(K\ -\x99\x8c\x05\x9a\xb1b\xc3b\xc6\x82R2\xd9\xc8(_\ -eA\x16b\xa1\xde\x84\x89Y\xccBB\xa4\x19\x1f\xc3\ -\xe2\x9e\x9b\xdb\x93S\xb7\xdb9\xf7\x9c\x7f\xff\xf3?\xe7\ -V\x9dN\xc7\x7fl\x1b\xfa\xb1\x05m\xfc\xc6\x1bL`\ -\x0c/sb\xd5\x00X\x82\xab\xd8^\xc4>\xa3\x85E\ -\xe1\xcf\xe1\x22\x8eb\xb6.\x12\xdbxZ\x14\x7f\xc3q\ -,\xc7\x0a\x9c\xc3\x0f\xd4\x18\xc0=,\xc8\x0cj<\xc6\ -\x06\xcc\xe0\x12\xce`\xba\xd1\xda\x1a\x0ca\x0f*\x8ce\ -\x80\xfd\xb8\x8c)\xf4\xe2uQ\xd4\x1d\xa0\x1f\x8b\xd8F\ -\x5c\xc1\xea\xdc\xc2\xc1\xb8\x87\x1b\xc5\x83x\x8bI\x9c\xc4\ -\xc2\x88?\xc1mT5\xba\xb0)\x1e\xde5(\x0fc\ -/n\xe20\x9ec}\xa1\x91VP\xccLv\xe2\x96\ -46\xf8\x8e\xf18-i\xac\xfb\xd0\x87u\x19\xa0\x9c\ -\xc44\x0ea-\x1e\xe2\x0e\xbe\xc6\xdb/<\x88C\xd2\ -L\x8d\xf7\x98\x8d\xe0+\x9c\xc7(\xce\xe2\x83\xb4<\x03\ -X\xdah\xefE\x06\x98\xc1\xfd\x08\xce\x8b\xfb\x19zp\ -,\xee\xc1L\xb9\xb0\x1e\xfem\xe2\x0eI\xd5I\x1c\x08\ -\xfa\xa5U\xf8S\xf8}\xb8\x86\xb9\xdc\xff\x84$\xd4\xaa\ -\xe8q\x5cZ\x9al\xb9xs\x80\xdf\x08\xb6\xa7K\x01\ -\xfb\xa5m\x84]\xd2\x87\x19\xc1b\xac\x8c\xa2G\xd8\x1a\ -9\xa3\x18j~\xa6.\x9c\xc2\x11\xcc\x8f\xd8\xcfh\xa1\ -\x15\xfe'\x9c\xc0\x85R\x83\xa6\xb5\xb1[\x9a\xfb2i\ -\x84S\xb8\x8b\xeb\xf8\x92\x13\xff\x02w\x5ckPMg\ -\xdc\xa5\x00\x00\x00\x00IEND\xaeB`\x82\ -\x00\x00\x01\x86\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x0f\x00\x00\x00\x0e\x08\x06\x00\x00\x00\xf0\x8aF\xef\ -\x00\x00\x01MIDAT(\x91\x85\xd21K\xd6Q\ -\x14\x06\xf0\x9fW\x0a)jhh\xc8h\x91\x1c5\xe9\ -PRIC\x82\x0e\xd9 !\x82\xd1j\x1f \xa8o\ -\xd0\x16\xb4\xb4\xd4\xe6`\xb4DB\xadA\xe0\x10\x1dT\ -hlh\x11A\x8c\x8ah\x10\xa9lx\xef?^\xfe\ -\xf0\xf2\x9e\xe9\x9e\xe79\xcf}\xce9\x9c\x01\xad\xc8\xcc\ -\x9bX\xc6\x15\x9c\xc2O|\xc4s\xbc\x8c\x88\xbfM\xed\ -@\x97\xe8\x18V0\x8f/X\xc3W\x9c\xc6\x0cF\xf1\ -\x1e\xb7#b\xaf-^\xc3\x1c\x1e\xe0qD\xfc\xee\xe2\ -\x0a\xee\xe2)>a*\x22\x0e\x1ar!3\x0f3\xf3\ -~{\x8c\xd6H\xb3\xb5\xee\xe1\x7f\xe7\xcc\x5c\xc7qL\ -D\xc4a\x9f\x0f^\xe0\x1a\xce\x95\xcc<\x89I\xac\xf6\ -\x13\xd6X\xc50F\x0b.\xa3`;3\x8f\xf4q=\ -\x8a]\xfc\xc1\xa5\x82G\x95\x1b\xc7\xab>\xaeou\x96\ -:\x88{\x05\x17*1\x86\xc1\xcc\x1c\xe9\xe1:\x82)\ -|\xab\xd0\xc5\x82\x1f5\xb9\x8e7X\xea\xe1z\x07\xef\ -p\xb5\x01\x0a>\xd7\xf7\x10~a\xb1\x87xI\xe7p\ -\xa6k\xbeY\xf0\xba\xab\xe0\x06\xf62s\xac\xd5\xf2$\ -\xcec\x1f'*\xbcR\xf0\x04\x9b\x15\x98\xc7\x87\xae\xb9\ -\x9a\xd8\xc7\x16n\xd5|\x03\xcf\x9a#9\xab\xb3\xe93\ -X\x88\x88\xf5v\xcf\x999\xa1\xb3\xed\xef\x98\x8e\x88\x9d\ -\x7fI\x1dq\x82#,l\xf1\x00\x00\x00\x00IEN\ -D\xaeB`\x82\ -\x00\x00\x01\xc6\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x11\x00\x00\x00\x10\x08\x06\x00\x00\x00\xf01\x94_\ -\x00\x00\x01\x8dIDAT8\x8d\x9d\xd3M\x88\xcda\ -\x14\x06\xf0\xdf\x9d\x99\xcd\xd8h\xc6,$ERS\xcc\ -4\xa5\x135\xd9\xcclg(\x12\x1b\x0b)\x16>v\ -\x16\xa2,(\xcdF\xcab\xa6\x1b[\x85\x22+K\xf9\ -X\xb9\x0ee!#D\x16\xa8!\x09\xc9\xc2\xc7\xe2\xff\ -\xcet\xfb\xd7\xcc\x8dS\xef\xe6=\xe7<\xcfs\xbe\x1a\ -\xfe\xd32\xb3\x89\xfd8\xde\xe8\x108\x82\xb5X\x85\xd5\ -\xe8F\x17\xd6c\x1bz\xd0\xea\xe9@x\x06O1\x83\ -\xe5\xd8\x83e\xb8\x82\xbeBp\xa2{\x09\x15\x1bp\x16\ -\xc3\xe8G/\x9ax\x84\x83\xd8\x87\x81\x88hv-\x02\ -\xb0\x157\xf0\x10o\xd1\x8a\x88i\x0c\xe04\x0eG\xc4\ -\x17\xfcVj\x9aO\x5c\x89\xbdE\xe2\x1b\xac@\x94w\ -)3[8R\x00~df?>B#3\x03\xc7\ -\xd0\xc0\xbb\xc26\x8a\x8b\x111U\x08\xee\xa8\x9ay\x0b\ -\xcf\xf1\x12?\xf1=\x22\xee\xf7\x14\xc6\xed\xc51\x8b\xc7\ -\xb8\x80'm\x15\xee\xc4H\x01\x1a\xc4I|\xc2\x98\xc2\ -.3\xc7q\x0d\xbb#\xe2\xf6b\xcd.\xb1S\x98\xc0\ -xD\xccQ\xcd\x5cI\xdc\x81\xcb\x999\xf9/\x00\x0b\ -J\xda\x82\xb6\xe0\xaejt\xdfj\xbeI\x9c\xc7h;\ -\xc0\x82\x926{\x8d\xafu\x80b\xef\x8bo\xae\xee\xa8\ -o\xec\x90jCef/\x8e\xe2\x05n\xe2\x19\x063\ -\xb3;\x22~-\xa5d\x08\xb3\x99y\x08\xaf\xb0\x19\xa7\ -\xf0@5\xf6\x0fXWWR\x07\x19\xc6\x01\xd5qM\ -D\xc4.l\xc29Lc\x0d6v*\xe73\xc6\x22\ -\xe2\xde\xfcGD\xfc\xc1\xd5\xcc\xbc\xae\xba\x97\xbe:\xc8\ -_\xc6l\x83y\x0c\xda\xbaW\x00\x00\x00\x00IEN\ -D\xaeB`\x82\ -\x00\x00\x01\x89\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x15\x00\x00\x00\x14\x08\x06\x00\x00\x00bKv3\ -\x00\x00\x01PIDAT8\x8d\xad\xd4\xb1K[Q\ -\x14\xc7\xf1O$\xb4\xee\x12j\xabq\xaaYJ\x05\xc9\ -_P\x07\x17\x07\x17\xc1BE:T\x90\xae\x9d\x0a\xed\ -\xa0t\x13\x97v\xc8\xd8\xc5\xc1E7\xdduN\x16\xa5\ -\x94\xd6M#m\x05'\x95XQ\xe2\x90\x9b\x12\x02\xef\ -\xbd\x9b\x92\x1f\x5c.<\xce\xf9\xf2;\xf7\xc7y\xb9f\ -\xb3)I\xb5Z\x0d\x9e\xe3\x00oQ)\x97\xcb\x89\xf5\ -m\x0ddV\xfc\x87b\xa1?P\x8d\x85\xe6\x92\xc6\x0f\ -\xa3\xc3C\xdc\xe16\x16\x1a\xe3\xf4o\x00\xe6\xf1\x1a\xab\ -\xfd\x80\xe6\xb1\x88\xef\xf8\x8a\xc7\x18\xc7`RC\xd6\xf8\ -S\xa8\xa0\x94\xd0\x7f\x86S\xd4q\x1c\xee\xbd|\x86\xcb\ -}\xac\xe1#\xc6\xc2\xb7?\xf8\xd6\x01\xfb\x85\x93p\xd7\ -\xf1;W\xadF\x85\xfa\x00\xcbx\x8f\x1d\xbcI+\x8e\ -y\xd3\x12n\xf0\x19O\xb1\x9d\xd5\x10\x03\xdd\xc2\x86V\ -8W\xd8\xcdj\xe8|\xd3A\x8c\xe0\x09F;\xee!\ -\xbc\xc2\xbcV\xfa\x9f\xb4B\x91\xb4\xb2y\xbc\xc44&\ -\x03\xb4\x90b`\x093x\x81\x9fiN7\xc3\xe9t\ -\x5c\x0c.\x8bx\x87\x09\x9cc\x1d_p\x99\x04lC\ -\xbbu\x8d\xa3p`\x01\x1f\xb4\x82\xbaH\x83\xa5A\xbb\ -5\x8bF\x0c\xac\xad\x98\xf4\x1bx\x86\xb9Xh\xe2\x9a\ -\xf2oU\x0b8\xc4\x8a>\xfe\xa4\x87\xf1(\xcab\x0f\ -\xd0\x9eu\x0f\xb5UQ\xc4\x18\x14\xeam\x00\x00\x00\x00\ -IEND\xaeB`\x82\ -\x00\x00\x01J\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x0d\x00\x00\x00\x0d\x08\x06\x00\x00\x00r\xeb\xe4|\ -\x00\x00\x01\x11IDAT(\x91\x85\xd2\xbf+\xc4q\ -\x1c\xc7\xf1\xc7\x9d\x93\xe4\xa2\xcb \x8b\xb2(\x7f\x00\x03\ -e2\xa0\x94\xd1 \xeab\xb1 \x0b2#\x93,\x16\ -\x89\x0c&E\xba\xc2\xa0\x84\x81\xbe\xc9$\xeb1\xa9\xeb\ -&\x8b\x1f\xc9p\x9f\xab\xef\xe9\xe2=\xbe?\xaf\xe7\xe7\ -\xf5\xfa|z%\xa2(\xca\xa3M\xe5\xaca\x11\x0bX\ -\xfduv\x9d\xc24\xd2\xd8@\x0b\xe6p\x11\x04Gx\ -\xc5\x16^\xb0\x84B\x0a\xb9 x\xc3\x09\x06\xb0\x19v\ -O\x98G\x0ac\xb8\x85d\xcc6\x87\xed\x00M\x85\xdd\ -0&\xb1R\x06 \x11EQ\xcc\xe2\x1c\xcb\xe8\xc0z\x5c\x14\xff\ -\xbdN\xdc\xe3,\xc4\x83\x1a\x5c\xa2\x07C8-;e\ -\xd0\x8c=\xbc+\xd5\xa7.@)\xa5\x86|`G\xa9\ -n\x99$\x8a(\xa0\x0bMxD6@Y\xdc\x85K\ -Z\x91G\xf1\x07i\x04=o\x03\x18\x5c\xb7\x00\x00\x00\ -\x00IEND\xaeB`\x82\ -\x00\x00\x02\x15\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x13\x00\x00\x00\x14\x08\x06\x00\x00\x00oU\x06t\ -\x00\x00\x01\xdcIDAT8\x8d\x9d\xd4]h\xcfQ\ -\x1c\xc7\xf1\xd7\x7ff)\xe5\xa15\xca\x05\x174\xb5\xd4\ -\x94\x8b\xb1%\xb1\xac<\xa4(S\xd4.\xdcz\xb8q\ -\xe7F\x89\xc2\x8dZ+)\x96I\xc9\xe4!\x91\x9a\x84\ -\x95q\xf1\xbf\xf0\xfc\x90;#\xa1\x11.H\xcd\x5c|\ -\xcf?\xbf\xfe\xfe\xff\xfd\xd6N\x9d\xce\xefw\x1e\xde\xe7\ -\x9c\xcf\xf7\xf3=\x85b\xb1h\x02\xa5\x06\xbbS]\x88\ -W8\x8a\xb3\xd9I\xb5\x13\x00MA/\xba\xd2\xff\x07\ -4\xa1\x0f\xd3q\x22\xbbc\x1e\xe8L\x02\xbdG+\xe6\ -a#\xc6p \xcb\xc8\x83m\xc5z\xbcD\x1b\x1e\xa4\ -\xfe\x1b\xf8\x84\xb9\x98Q\x9a<\xde5g\xe2\xb9\xd0\xe8\ -\x07F3c+1\x07\x1f\xf1}\xbc\x93M\xc3)\x8c\ -\xe0Ij{Q\x97\xc6\x97\xe2\x0a\x0a8\x84?\xd5N\ -6\x0bW\xb1\x0a_q_\xe8\xd4\x85~!\xfe\x00\xea\ -q\x1c=\xd9\xc5YX\x03n\xa1\x19/\xb0\x0d\xef\xd2\ -\xce\xab\xf1\x13w\x84F=\xd8W~\xa5\x12lv\xda\ -\xb1\x19\x0f\xb1\x01\x97\xb1\x1c\x17D\xe4v\xa4\xf9G\xb0\ -?\xf5\xfd\x07\xab\xc3\xcd\xa4\xc5\x10\xd6\x09Q\xcfc\x85\ -\x7f\xfe\xfa\x85\xbd2\xbe\xaa\x04\xdb\x8e\x16<\x126(\ -E\xe7\xa4\xd0\xaf\x15SqOD\xafj\xa9\xc1\xb2\xf4\ -\xdd\x8do\x99\xb1\xcd\xb8\x8bMx\x9c\x07*\xc1\x86\xd3\ -w{\xa6\x7f\x0f.b\xb10\xec\xeb\xfd7\x08\xdf\xb5\xd4\xa6\xe3w\x88\x1c\x5c\x92&\ -<\xc3.\x0cV8@\xbf\xc8\xcfF!\xc55\xe1\x82\ -\xa6B\xd9\x134?\xb5\xc3*\x84>\x95v\x5c\x12\xe9\ -\xf6[\xb8a\x04[\xca\xd3\xe9m\xaa\xd5@p[\x04\ -e,\x81F\xb1\x16\x83y\xafF\xa5\xd2\x88\xd3\x227\ -\x89g\xea\x1c\x16L\x06v\x1d\x8b\xc4\xd5:\xf1Y<\ -\x96\x03\x93\x81\x1d\xc6\x1b\xac\x11\xf6\xe9\x10\xd69\xf8\x17\ --\x83l\x7f\xf5\xb9\xae\x1b\x00\x00\x00\x00IEND\ -\xaeB`\x82\ -\x00\x00\x02\xff\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ -\x00\x00\x00\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\ -\x00\x00\x00 cHRM\x00\x00z&\x00\x00\x80\x84\ -\x00\x00\xfa\x00\x00\x00\x80\xe8\x00\x00u0\x00\x00\xea`\ -\x00\x00:\x98\x00\x00\x17p\x9c\xbaQ<\x00\x00\x00\x06\ -bKGD\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\x00\ -\x00\x09pHYs\x00\x00\x0b\x12\x00\x00\x0b\x12\x01\xd2\ -\xdd~\xfc\x00\x00\x00\x07tIME\x07\xe0\x01\x08\x0f\ -\x12,c4\xebp\x00\x00\x01\xeeIDATX\xc3\ -\xed\x95\xbdk\x14A\x18\xc6\x7fo\x12D\x09\x09\x82 \ -h#H\x02\x16I\x99\xbf }\xdap\xdb\xc8\x92\xca\ -\xe2\x16\xff\x00\xc12U\x88\xec\x15!\xd5\x14\xe2\x1e)\ -\x02Q\xc4t6\x92\xc2\x90\xc6B,\xceBN\x11<\ -\x0c\xf9 \x09\x5c>nR\xdc\x9c\xbeYw7\x93\x8f\ -\xce}\x96\x81w\xe6}v\xe6\xd9g\xde\x99\x85\x12%\ -J\xfc\xef\x90\xbcD%\xac\xde\x03\x06]\xd7*\xfeA\ -\xdd\xd4~\xa6\xb8\x0f\x81\xfb\xc0\x100\x00\x1c\x01m`\ -\x17\xd8\xac\x9b\xda\xb7\xbcu\xfa\xf2\x95\xc9\xa2 \x0d\xa0\ -!\xc8W\xd7\x1a@3\x08\xa3\xf5 \x8c\x1e)\xeec\ -A>\x08\xf2\x0ex#\xc8\xaa \xef\x05\xd9\x00\xee\x04\ -a\xc4\x85\x05\x00\x87\xea\xeb;\xca\x85~`\x02\xf8\xa8\ -&>*\x98g\xb7h\x0b\x06\xce\xdd\xa4\xae\xedS\x89\ -\x89\xdf\x06at\x17X\x03F\x80a\xe0)\xf0\x22\xc5\ -\x9f\x06\xda\x89\x89_{\xcc\x9d\xef\x80uO/\x06H\ -L\xdc\x02\x9e\xdb?Y;\xa9\xb9\x8a\xe7\xb5x\xa1\x03\ -\xe2\xea\xd3b\x11D\x17\xeb'\xf9[\xbb\x0f4W\x8b\ -\xbd\xb2\x80\x02\xec\x03\xc7\xee\xdd\xe1,B\x10FO\x80\ -&\xb0e\xb1;\x82|NL|m\x02\x8e\x81\x13\xf7\ -\xee\xcd\x8c\xfcR\xaa?v)\x07\xb4\x95)[\xc5b\ -{\x9e\xf7g\xe4\xcf\xed{\x09H\xd5\x80N\xdd\x12\xe4\ -\x86\x8b\xdb\x9a\xeb\xf8\xd3\x82\x9c$&^\xf6\xb1\xb3\xcf\ -\x87\x94\xc2m\x15og\x11|\x17\xbf\x88\x80\x8e\x8a'\ -U\xfc\xe5\x12\x1fp\x06\xbe50^\x09\xab[\xc0(\ -\xf0\xccb-\xdd\x0b\xeaU\x9a\x0bP\x09\xabU\xa0\x05\ -\x1c\xb8\xb6\x0d\xfc\xaa\x9b\xda\x0fo\x01\xbd\xb3\xefj`\ -V\x0bs{\xbe\x9a\x98xEs]~)}/\xb8\ -\xfe\x18\xe0/\xc0\xa9n\xd1=r\x1a-\xe0eb\xe2\ -95\xb6\x07\xfc\xe6\xdf\x7fB\x07\xf8\x0e,\x90\xf3\xbf\ -(\x120\x935X7\xb5\xac\xe1y\xd7\xb2\x9c\x04 \ -\xef\x22*Q\xa2D\x89S\xad\x83\xa9\xe2\x81\x96I:\ -\x00\x00\x00%tEXtdate:cre\ -ate\x002016-01-08T1\ -5:18:44+00:00\x8e\x05\xfd\ -\xe0\x00\x00\x00%tEXtdate:mo\ -dify\x002016-01-08T\ -15:18:44+00:00\xffX\ -E\x5c\x00\x00\x00\x00IEND\xaeB`\x82\ -\x00\x00\x01\xeb\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x11\x00\x00\x00\x10\x08\x06\x00\x00\x00\xf01\x94_\ -\x00\x00\x01\xb2IDAT8\x8d\x95\xd3Oh\xcfq\ -\x18\x07\xf0\xd7\xf7\xb7%s\x908(.\x8aYM\x19\ -y\x14\x8a\x1c89\xb98\x92\x9b\x96\x7f3\xb2&\x9b\ -?5\x89\xb3\xc2\x8a\x5c8)M\x9a\x03Jqz\x0e\ -\x86\x83\x03\x07\xb2\xd5\xe4_\x88R3\x87\xdfw\xf5m\ -~#O}\xeaS\xef\xe7\xfd\xee\xfd|\x9e\xcf\xbb0\ -Cef+\xce\xa1\x1d\x0f\xd1\x13\x11\xef\x1b\xf5\x16\x0d\ -\xc8\x813X\x8d\x05\x15h\x14\x8fq$\x22^7\x14\ -\xc9\xcc-\xe8\xc7J\xcc\x9d\xc9!\xde!q4\x22\x9e\ -C\x91\x99;p\x18+0\xe7/\xe4\xe9\xf5\x09#\xe8\ -\xada\x02\xcd\xe5\xf9\xdf\x9a\xc0\xaf\x022\xb3\xc0nt\ -\xa3\x0dM\xffp\xf0\x04]\x111\x02\xb5\x12X\x8e]\ -X\x88>\xbc\xc0\xe44\xf2\x07\xdc\xc1N\xacCWf\ -\xce\x83Zf>\xc2S\xbcA[D\x0c\xa0\x03\xa7\xf0\ -\x0a\xe3\x18\xc2\x86\x88\xd8\x16\x11\xb7\xd57\xb7\x0c\xe3\x99\ -y\xbdY}m\xab\xb0V}3\x0f\x22\xe2'Nd\ -\xe6Y\xcc\x8f\x88\xd1);\x99Y\xc3&\xb4\xe23\xee\ -O\xbd\xc9,\x9c\xc4\x01\xbc\xc5\xfe\x88\x18\xae\xceR\x92\ -;\xcb\xbeB}\xa3W\x22b\xb2\xc8\xcc\x96\xd2zg\ -i\x7f\x08{\xf1\x11\xfb0\x8cC\xe8\xc1w\x9c/\xef\ -\x05\x8ec\xb0\xc8\xcc\xaf\x98\x8d\xed\xe5\xbc2\xb3\xb9$\ -\xf6\xa2\x05c\xe8\x8e\x88\x9b%^\xe04\x8e\xe1e\x91\ -\x99m\xb8\x88\xf5\xb8\x85\xce\xa9\x8cdf\x13\xda#\xe2\ -Ye\xac\x0e\x5c.\xdf\xef\x06\x0eV\xbf\xfd\x12\x0cb\ -#\xeebOD\x8cU\xf05\xb8\xa4\x1e\xc8k\xea\x19\ -\xfaB\xe3\x00..\x9dm\xc5=\x5c\xc0\x00\x96\xe2\xaa\ -zf\xbeU9\x7f\x88T\xc4\x16\x95\x02\x9bK\xfb}\ -\x11\xf1\xa3Q\xefos\xf3\x98\x0b\x981\xe3\xce\x00\x00\ -\x00\x00IEND\xaeB`\x82\ -\x00\x00\x02\x91\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x14\x00\x00\x00\x11\x08\x06\x00\x00\x00\xddD\x8c\xbe\ -\x00\x00\x02XIDAT8\x8d}\x93QhVe\ -\x18\xc7\x7f\xcf\xc7>(u\xcb\xae\xc4\xd01\x91\x85|\ -Q\x9a\x9eH\xac\xad\x18\x12\x14\xee\xb2\xb0\xebH(\x1a\ -\x0c\x04a\xdd\x85\x17\x0e\x12/\x82\x04\xe92\xbf`\x22\ -\x08\x0e\xbb\x182%\xb5\xa0\xde\xb352\xa9\x1b\xa9\x8b\ -\xe9\x96\xae\xf8J\xc4\xc2\xfau\xd1\xfb\xe9\xd9\xe7\xf2\xb9\ -9\xe79\xe7\xf9\xff\xfe\xff\x07\xde\x17:J]\xa3\x8e\ -\xa8g\xd5y\xf5\xb6\xba\xa4\xce\xa9\x1f\xa9;;5Y\ -\x87\xfa\xc0\xc7\xb7\xd4\x9b\xea\xd5\x0c|^\xedS\x9fR\ -\x87\xd5O\xd4[\xea\xa4\xfa\xc4C\x81\xd9\xfd\x8e\xfa\xae\ -\xfa\xb1\xba\xf1\x7f\x92lR\xcf\xa9\xd7\xd4-+\x02\xd5\ -\xd1\xbc\xda.\xb5\xa6\x9eZ\x09V\x11\xd7\xd5\x93y\x93\ -\xb5\xcb\x80joN6\xa6nW_S\x0f?\x0c\x98\ -\x01\xab\xd4\x9f\xd5\x0f\xab\xc0.\xe0m\xe0Z\x9e\xdb\x09\ -\xec\x02\xba\xd5O\x81_\x81q\xe0zD,\x03F\xc4\ -mu\x0a\x18P\x1f\x01\xee\x00\x84:\x0bLD\xc4x\ -vz\x07\xb8\x1c\x11\x17\xd4\xae\x99\x99\x99iu.\x22\ -N\xf7\xf4\xf4|\xd1\xdf\xdf\xffg\x9e[\x0d<\x0b<\ -\x07\x5c\x8c\x88o\x00j\xc0\x93\xc0\xb7\x15\xf3.\xe0\xaf\ -\x9c\xe2\xaez\x1exO\x9dj\xb5Z\x8beYN\xa4\ -\x94^_XXx\x1c\xf8\x0ah\x02\x7f\xb4\xc55\xe0\ -Q\xa0U\x01.\x01\xab*}\xb3\xf2\xfe\x98\xfa\x06p\ -b~~\xbeY\x96\xe5\x9a\x88\xf8\x05X\xac\x02\x17\x81\ -\xde\x8a\xe8\x07\xe0\x99vS\x14\xc5\x8f@by}\x07\ -\x0c\x15E\xd1\x0e\xf2{\x15\xf8%\xf0Jex\x0ex\ -\xa9\x03\xd0\xec\xe8\x9f\x06\x0e\xb6\x9b\x88\xf8\xbb\x0a\xfc\x0c\ -xS\xddP\xf9\xf9\x93\xda\x00Pw4\x1a\x8du\x80\ -\xc0\x11\xe0b\xd6\x8e\xa5\x94\xf6u\x18\x11j\x0d\xf8\x1e\ -\xa8\x03G\xf3\xb3\x17\xd8\x03\x5c\x00\xae\x00\xcd\xb2,_\ -\x05\x8e\xe5\x10\x1f\x00\xefg\x93\xe1\xa2(>\xbf\x07\xcc\ -)\x1aY\x5c\x02\x07\xf8\xef\x5c\x0e\x02/\x03#\x11\xd1\ -q\xeb!\xa5\xb4\x1b8\x0et\x03\x83EQ\x94\xed\x95\ -\x89\x88+\xc0\x00\xb0\x19\x98\x00\x86\x80I`\x1a8\xa1\ -n\xcd\xc6\xf56\xb0(\x8a\xb3\xc06\xe0\x12p&\xa5\ -\xd4w/a\xbb\xf2a\xdd\x0f\x8c\xe6\xd5\xbf\x06~\x03\ -\xb6\x00S\xc0\xa1\x88\xb8\xd1\x91\xb4\x96\xd7\xdf\x0b\x0c.\ -\xbfO\xf7\xc1u\xe0\x05`+\xb0\x1e\xb8\x09\x9c\x03f\ -#\xe2\x9f\x954)\xa5\x17\x81}\xff\x02\xe28ya\ -\x96\xfd\xc4\x97\x00\x00\x00\x00IEND\xaeB`\x82\ -\ -\x00\x00\x04x\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ -\x00\x00\x00\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\ -\x00\x00\x00 cHRM\x00\x00z&\x00\x00\x80\x84\ -\x00\x00\xfa\x00\x00\x00\x80\xe8\x00\x00u0\x00\x00\xea`\ -\x00\x00:\x98\x00\x00\x17p\x9c\xbaQ<\x00\x00\x00\x06\ -bKGD\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\x00\ -\x00\x09oFFs\x00\x00\x01@\x00\x00\x00\x00\x00s\ -\x05\xb7\x16\x00\x00\x00\x09pHYs\x00\x00\x0b\x13\x00\ -\x00\x0b\x13\x01\x00\x9a\x9c\x18\x00\x00\x00\x07tIME\ -\x07\xdf\x0c\x12\x0e\x1b\x0b$&IW\x00\x00\x00\x09v\ -pAg\x00\x00\x03@\x00\x00\x00 \x00\xbe\xe6\x89Z\ -\x00\x00\x03=IDATX\xc3\xe5\x97MhUG\ -\x14\xc7\x7f'\xba\xf3\xa3`\xa3Q\xb1\xa9-(*\xb5\ -(6\x96 \xadP\xdc\xc4\x16\x04\xad\xe0}\xbb\xa1\xb8\ -\xb0p\x1fZ\xa8\x8b\x82\xe8\xa6\x14\xba\x11\xee\x05\x15\x17\ -N\xa1p/h\xa4.\x0b\x8d\xa4\xa4i\xd4E\x055\ -~ H\xd1*\xa95DP*\x88\xf6\x9d.\xdey\ -\x8f\xf1a\xde\xbb\xe6C\x17\x9e\xcd\x999\x1f\x9c\xff\x9c\ -\xff\xdc\x99\xb9\xf0\x8aE\x8a\x04\x95\x5c\x19`\x8f\xa2?\ -\xe4>\xbd\xff*\x00\xfc\x02lR\xf4\x0fA>\xc8|\ -\x12\xfa\xf6\x03\xf3\x81S\x99O\xfa\xcc\xd6\x03lVT\ -\x049\x92\xf9d\x18 r\xf1^A:\x81\x93\x99O\ -\xfa\x01f\x16(~\x14\xd8d\xd3u\xc0I`[\x10\ -\xf21\xf0\x090\x0f\xe83\xdb\x97\xc0g6\x1e\x05\x86\ -K\xae\x8c\xa2_\x03\xed\xc0O\xb5\xe4\xb6f\xc5#\x17\ -\xefUt\xa7\xa2\xaah\x05PE\xb7F.\xfe\xbe\x16\ -\xa3\xe8iEQ\xf4\xbd\xc0\xd6\xadh}l\xfam\xa0\ -\xddbO\xb7\x04`\xbc\x7f+\xc8cA\x9e\x0a\xd2\x06\ -\xfcg\xf3\xafJ\xae\xdc^\xe5P\x06\x05A\x90w\x22\ -\x17Sr\xe5E\x82\xbc)\xc8C\xe0\xb1 \xdd\x16\xb7\ -\xca\xf4\x95\xdc\xa7\xb4\x04`\xb2\ -y/0\x02\xcc1\xb0k\xcc~.\xac\xd3\x94\x82\xdc\ -\xa7c\x99O\xfe\x01\xc6\xcc\xf4 \xf3\xc9hP\xbc\x06\ -\xf4b\xb0G6\xda\xf8\x14p\xd9\xc6\x1b\x80\xb5\x0d\x80\ -[\x03\x088\x95\x1a\xa7\xe3\xf8\xcf\x99\xbfK\xd1.\xe3\ -y\x10\x18\xb2q\xb7\xa2\xab-\xf6\xec\x0b\x030\x8e\x9b\ -\xf9\x07\xcd\xdf#\xc8rAn\xe5>\x1d\x03\x86,w\ -\x8b \x8b\x80G\xb9O\xaf\x85\xb9-?\xc3\x82\xf2\xbb\ -\xe9\x95\xa6\x7f6}\xde\xf4\x0a\xd3\xfd\x8d\x89\x85:\xd0\ -J2\x9f\xdc\x00\x1eA\x9d\xa7~\x80\xdc\xa7\x0f\x80+\ -A\xe8\xaf\x13\x02`<\xb6\x8a9\x03\x88\xc5\x0e\x04\xf6\ -\x0bA\xfePc^!\x0aj\xfc7\x03!\xc8nE\ -\x97\x0b\xa2\x99O\xae\x06\xf6\x03T?\xc9\x8a\xa2}\x8d\ -yS\xb5\x07\xb0\xf3~\xf89\xf6\xeb\xc0\xf5\xf1\xf2\xa6\ -d\x0fLF\x0au\xa0\x15\xff\xd3\x0e\xa0\xc8\x1eh&\ -v=\xc7\x8an\x0e\xef\x01xy\x14,\x03z\x80[\ -%W^\xfa\xc2\x1d\x00*\xa6\xe7\x96\x5c\xb9\xa3\x96\xa7\ -\xe83'\xe48\xf3\xa7\xc0\x1bfz\x0b\xb8Tr\xe5\ -O3\x9f\x0cT\xbb[@\x22\x17\x1f\x07\xb6O\xb2\x0b\ -\x15\xab'\xc0\x13`q\xee\xd3\xd1\x22/\xa2\x13\xc0\xe7\ -\xc0\xdf\xf6$\xab\xd3V\xb0\x03\x15\xe0]`\xa5\xa2j\ -\xfe\xdf\xa8\xbe\x94\x9aS\x10\xb9\xb8\x97\xea\xf3\xeb&\xd0\ -\x95\xfb\xf4\xdeD\x96^r\xe5]\xc0![\xfd\xb1\xcc\ -'_\xd4|mA\xd0\xda\x86\xa4<(\xde\x9d\xf9d\ -B\xc5Mf\x98\xfe&,^\x07\x10\xb9x\x81\xa2\xe7\ -#\x17\x1f\xb6y\xa6\xe8\x0e\xe0\x8e\xa2\x1ff>\x19\x99\ -Dq\x14\xedUtc\xee\xd3\xef\x1a}b\xab]\x0a\ -\xfci\x9c\xfdEu\xb7\xdeV\xf4\xfd\xa9\xfe\x0fh\x94\ -\x1a\x05\xed\xa6+V\xfc_`\xfdt\x17\x0f\x01t4\ -\xd8g\x01\xfb\xa6\xbbx\x1d\x80\xa2\xf3\xec\x98m\xd3\xfa\ -\xed\xaf\xbb\x22\x17G\xd3\x0d`&\x80 ?\x02\x9d\x8a\ ->\x11d\x04\xb8\x0b\xdcU\xf4\xc2\xcb\xe8\xc2\xeb-\xff\ -\x03Q\x9bYF6Y\xf5\xec\x00\x00\x00%tEX\ -tdate:create\x00201\ -5-12-18T14:27:11\ -+00:00YM\xe3\xc6\x00\x00\x00%tE\ -Xtdate:modify\x0020\ -15-12-18T14:27:1\ -1+00:00(\x10[z\x00\x00\x00\x00I\ -END\xaeB`\x82\ -\x00\x00\x01U\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\ -\x00\x00\x01\x1cIDAT8\x8d\xa5\x92?K\xc3P\ -\x14\xc5\x7f\xa9\x11%\x8b\x1d\x5c\x5c\x05\x05'\xa1\xdcM\ -\xfc\x02*n\xd9\x5c]\xc5/P\x1c;\xf9=\x1cU\ -\xea\x87\x10\x0eq\x12\xc4\xa5\x11\x8b\xe0\xa6(4R\x9a\ -8\xe4EB\xdaj\x82\x07\x1e\x8f\xfb\xe7\x9c\xfb\xce\xe3\ -z\x922 c6\x92J\xbc\x08\xf8\xc0\x17\xb0\x04\x8c\ -}G\xf6f\x90\x07f\xb6^NH:\x05B3\xdb\ -\x91t\x09\x1cx\xee\x05\xef\x15r\xcbM\xb8\x02\xd2R\ -~\x1b\xd8\x04\xae\x81=`\xc1\x07\x86\xc0\xee\x1c\x0b\xbf\ -\xe1\x0c\xe8\xfb\xc0\xc4\xcc\xe2\xa6lIm \xf5\x8bD\ -\x14E!\xb0_\x93\xff\x9c\xa6\xe99\xe4?Z\xe0(\ -\x08\x82\xc3:\xec$I\x1e\x0a\x81V\xcd\x89s\xf1o\ -\x81\xb2\x85\xa7\xd1ht\x0b,\x03\x9f\x95\xda\x9a;\x8f\ -\xc0[\x96e\xe3)\x81N\xa7s2o\x8a\xa4\x10\xb8\ -\x00\xb6\x80.\xd0\x03V\x9aX\x18\xba\xde\x04\xd8 _\ -\x22\x9a\x08\x0c\x80;\xe0\x1ex1\xb3\x9b)\x0b\x7f\xe0\ -\x158&_\xef\xbe\xa4\xdeOER\x5cS\xa4\xe8_\ -uw[R\xecI\xfa\x00&MD\x1c< \xfe\x06\ -\x8cB^q\x9bC\x89i\x00\x00\x00\x00IEND\ -\xaeB`\x82\ -\x00\x00\x01\xf9\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x13\x00\x00\x00\x13\x08\x06\x00\x00\x00rP6\xcc\ -\x00\x00\x01\xc0IDAT8\x8d\x9d\xd4M\x88\x8eQ\ -\x14\x07\xf0\xdf\xc3\xe4c\xf0\x8e\xa4\xa4X!a3\xf9\ -*55)!\x0b\x1f\xb1bMYH\x0a)+\x91\ -\x22\x89a%I\x16^5Y\xf8JV>J\x91G\ -Y(\xb11,$\xe3{2\xc64bq\xcfSO\ -\x0f\xaf\xf7\xcd\xa9[\xb7s\xcf\xfd\x9f\xff\xf9\x9fso\ -\x96\xe7\xb9\x16\xac\x1b\x07\xb0\x10\xef\xd0\x83S\xf8U\x0e\ -jk\x01h#.E\xec\x10f\xe1$j8T\x0e\ -\x1c\xd5\x04h-.\x22\xc3\x0eL\xc4\xb2\x00\xdd\x8b\xb1\ -\xad\x82M\x93J\xc9\xb0\x05\xa7\xf1\x13\x0fbM\xc2\x8c\ -\xf2\x85fe\xce\xc58|\xae$\xe9\xc40\xde6c\ -\xb6\x14O#p\x00\xe70=\xce:p\x0d\x93q\x16\ -\xdf\xfe\x05\xb6\x1a\xb7\xb1\x00/\xf1\x15\x1b$}j\xb8\ -\x89%\xb8\x87=U\x16e\xb05\xb8\x82v\x1c\xc4l\ -I\x93\xed\xb8\x80\x1b\x92\xf8O\xa4\xc6\x0c6\x02\xebB\ -/\xc6`\x1f\x1e\x06\xab\x13\x18\xc1\xf9\x88y\x8c\x15\xf8\ -R\x05\x225`\x1e\xae\x07\xa3\xfd8\x82\xc5\xd2@n\ -\x8b\x05w\xb0\xbe\x11P\x01v\x5c\x12\xf6(\x0e\x87?\ -\xc7|l\xc2L<\x0a\xe6#q^\xc3\x1c\xbcF\x7f\ -\xb9\xcc\xe5\xf8\x18\xac\x0a\x1b\x8d]\x18\x8f\xab\xa8\x97\x80\ -`w$\xe1\ -M\xd9\xf9\x1b\x87\xd0i\x8b\x22\xfc\x9f\xfe\x00\x00\x00\x00\ -IEND\xaeB`\x82\ -\x00\x00\x02\xbf\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x16\x00\x00\x00\x13\x08\x06\x00\x00\x00\x94y\xfd\x88\ -\x00\x00\x02\x86IDAT8\x8d\x8d\xd4]\x88\x97U\ -\x10\x06\xf0\xdf\x7fQ\xd0B\xdb2)\x08D]\xc9B\ -\xec\xa6!\x03\xa3\xb2 \xd1J(\x0d#\x13\x14\x0b\x8b\ -\xc0\x82\xad\x9b0\x0a\xa4@\x906BJ\x141\xb0 \ -$\xfb\xf0\x22r\xefV\xcc\x14fS\xe8\x036HJ\ -J\x0d!\xdd\xf2\x03#\xda.\xceYx\xf7M\xc9\x81\ -\xc3\xcb{f\xe693\xcf|t\xb4$3\xc7\xe1s\ -\x04\x0e\xe3B=k#\xe2\xf7js5^\xc63\xf8\ -\x0bK#\xe2@\x13\xa7\xab\x0d\x8c\xf9\x98\x80)8\x8e\ -\x07\xb1\x0c\xab*\xe8t|\x85n\xf4\xe0\x05\xack\x83\ -\x5c\x0a\xf8Z\x1c\x8d\x88\x11|\x8a\x91z\x7fCfN\ -\xc3\x00\xfa\x22\xe2\xb9\x888\x83\x1f0\xf5J\x80\x7f\xc5\ -4\x88\x88\xdd\x98\x8e\xdb\xf0\x08\x0e\xe1\xd5\x88\xd8\xd1\xb0\ -\x9f\x81_\xae\x04\xf8{\xcc\xcd\xcc\xf1\x15\xfc\x18\xbe\xc5\ -QL\xc2`\xcb\xfeN\x1c\xf9_\xe0\x888W\x9d\xef\ -o\x5c\xf7*\x94<\x81\x0fk\xf1Fe)\xf6\xb4q\ -:\xcd\x9f\xcc\x9c\x80\xdb\xf1\x12f)\xb4\xdc\x84[p\ -\xb1\x9en\x9c\xc0\xcf8\x85\x05X\x83\xfd\x11qb\x0c\ -pf\xce\xc3\x8b\xd5h\x10\x07\xf1<\x1e\xc5f\xbc\x16\ -\x11\xbb\xaa\xedU\xf8\x0e\xaf`%~\xabXw\xe1\x1c\ -\xb6bk'3{\xf1,6`wD\x9c\xad\x00\x9b\ -p7\xceD\xc4\x03\xad\xcc\x96\xe0\x0d\xa5\x83f7|\ -\xee\xa8\x01\xcd\x91\x99g3\xb3\xbb\xcdQf\xf6d\xe6\ -Hf\xceo\xeb\xaa\xfe\xeb\xcc|\xeb2\xba\xf7\xc6\xd5\ -\xb47d\xe6\xfa\x88\x18n\xe8\x17\xd4\xd4\x1e\xc2\x97-\ -\xc7\x99J\x1bv5\xee\x16b\x0b~\xc4\xad\x9d\xcc\x9c\ -Tix\x12\xfd\xf5\x1c\xc4'\x95\xa2\x0fp_D\x0c\ -5@\xf6`/\x1eG\x1f\xfe\xac\xdf9\xd5\xe4\xe9N\ -\xc3\xf8\x1a,Rx]X#\x1a\xc2u\x18V\xc6\x98\ -\xc2\xeb\x12\xa5\xc8=\x98\x88/p\x12O\xe1\x18\xe6\x8d\ -i\xb7\xc6#\xdbq\x00\x9f\xe1Fl\xc2\xdf\x15`#\ -\x1eS\x86\xe64~\xc2\x8c\x88\xf8\xa3\xf6\xf7\x85\x88\xf8\ -\xe7?\xc0\x99\xb9\x02\xef\xe0\xe1\x88\xd8W\xef\xaeG\xd6\ -\x94\xdf\x8e\x88m\x0d\xfb]\xf8h\xb4\x1dGe\xcc\xe4\ -e\xe6l\xbc\x8f\xc9x\xb3\xa1:]#\xbc\x19\xfbZ\ -\xb1\x0c\xe0\x9ev\x80\xed\x91\x1eVv/\x85+\x99\xd9\ -\xa5\x0c\xc9De\xff\xf6g\xe6\xac\x86\xcf\x90\xc2\xf5\xe5\ -\x81#\xe2$V+\x85Z\x91\x99\x93\x95\xd59S\xa1\ -f\x07\xd6c 3\xefm\xb8\x8eh\xc9\xa5\xb6[\xbf\ -\xb26\xfb\xf0M=\x8b#\xe2|}|'\x96\xe3\xdd\ -\xcc\xfc\x18\xaf+E\x1d#\xff\x02\xad\xb1\xf2$\x9a\xc7\ -|\xa6\x00\x00\x00\x00IEND\xaeB`\x82\ -\x00\x00\x02=\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x13\x00\x00\x00\x12\x08\x06\x00\x00\x00\xb9\x0c\xe5i\ -\x00\x00\x02\x04IDAT8\x8d\xad\xd4\xcfKTa\ -\x14\xc6\xf1\xaf6\x5cc&\x09\x84\x89\x91\x81\x82D.\ -.t\xa3\xa9\xa0\xb6\x17\x83\xcc\x7f\xa0\xeex\xab\x8d\x08\ -\xd5JJC\x0b\xda\x14ZV\x1b\xdf\xdew\xfa!\xb4\ -S\xaaM\xe0\xca\x19#52\xf1N\xbd\x17\xa1\xc8\x8d\ -\xad\xd2`\xae\xc9\x85\x99\xdb\xa2\x94\x8c\x08g\xecY\x9d\ -\xc5\xe1\xc3\xe1p8%Z\xeb\x1bV\xc2\xee\xa3\xc8\xbc\ -\x9aIm\xd7%Z\xeb\x00\xb8\x0b\xf4Z\x09;\xd8\x0b\ -V\x0a\xb0\xbc\xbc\xdc\x03H%\xc5\xbeb'\xdc\xc6n\ -\xde\x1a\xe6\x83\xd6g\x80Y%\x85\xb1'\xcc\xf7}\xd6\ -\xd6\xd6p2\x99z`RI\x11.\x1a\x03\x10B2\ -<|\x9b\x85\x85\x85v\xe0\x8d\x92\xa2\xbch,\x08~\ -\xee\xfe\xfb\xe6&\xa9t\xba\x06\x98RRT\x14\x85E\ -\xa3QB\xa1\x10cc\x0fP\xea!ss\xf3\x8d\xc0\ -[%E\xac`\xac\xaa\xea(\x03\xfd\x97\xa9\xac\x8ca\ -\x18\x06\xd9l\x96\x89\x89\xc9#\xc0\xb4\x92\xe2pA\x18\ -@<\x1e\xffxu\xa0\x7f\xa3\xa1\xbe\x9e\xc7O\xc6y\ -\xf6\xfc\x05s\xf3\xf3\xd5A\x10\xcc*)\xaa\x0b\xc2\x80\ -\xd7eeeM\xb6\x9d\xd0\xdd\xdd\x16\x87\xa2QV>\ -\xaf\x90L>\x8a\xe5\xf3\xf9i%Em!\x18V\xc2\ -v\x80\x86\xd6\x96\x96doo\x0f\xef\x16\x17I\xa5\xd3\ -8\x99L,\x97\xcb\xa5\x94\x14\x8d\xbb\xc6~\x81\x9e\x95\ -\xb0\xadxm\x9a\xe6\ -\xd3\xad\xa6\xd0V\xb1\xb4\xe408t\xad\x02\xf8\xe7\xa1\ -\x1e\x88Dp2\xefY_\xfff\x9c\xea<9\xee\xba\ -\xee~\xd34\x93;0\xcf\xf3\xf0<\xef_\xce\x8ed\ -\xb3Y\x06\x87\xae\x97^\xbaxA\xba\xae\x1b6M\xf3\ -\xfe\xd6?\xfb\x1f\xe9\xfb\x01\xfd\x9c\xd6\xcao\xa8\xd4\xb1\ -\x00\x00\x00\x00IEND\xaeB`\x82\ -\x00\x00\x01\x5c\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x0c\x00\x00\x00\x0c\x08\x06\x00\x00\x00Vu\x5c\xe7\ -\x00\x00\x01#IDAT(\x91m\x90?(\x84\x01\ -\x18\xc6\x7f\xef\xe7\x9b.\x03\xc9\xec\x06\x8aA\xc8`P\ -$\xebe0\xd8t\x03\x83\xc5`30;\x93U\xf9\ -su\x06\x8b\xc5\x22euJ1*\x97l\xca \x94\ -\xae\xfcI\xfd,\xdf\xe9K\x9e\xf1\xe9\xfd=\xcf\xd3\x0b\ -\x99\xd4.\xb5\xa2\xde\xa97\xea\xadZW\xcbjB^\ -\xea\x88\xdaP\xb7\xd5\xc9\x9c_T\xab\xea\x89Z\xc8'\ -7\xd4!u\x8d\x7f\xa4\xae\xaa5\x80P7\x80\x01\xe0\ -\x1c\x98\x02\x8e\x80\xb3\x88x\xf8\x03\xdd\x03s)0\x03\ -\x8cEDS\x058\x05Jj\x118\x88\x88[\xb5\x1b\ -\xa8\x03\xb3)@D4[I\x11\xf1\x08\xec\xa8)\xb0\ -\xac\xf6\x03\x83@\x15XJ\x80\xb6\x5cs\x9a\x03\xbf#\ -b\x0b(\x01_\xc0\x07\xf0\x91\x00\xcfY=@\xaaF\ -\xb6\xb9S]\x07\x8e\x81v`\x02\xb8\x0e\xb5\x0c\xcc\x02\ -+\x999\x0c\xbc\x00\xef\xc0nD\xbcf\xe0<0\x8e\ -\x9a\xa8\x97jM\x9dV7\xd5\xbe\xdcw:\xd4\x0bu\ -\x11\xa0U_\x00\xb6\x81\x1e`\x0f\x18\x02\xde\xb2\xdd\x0b\ -@%\x22\xf6\x7f\x81\x5c\xdah6\xaf\x17\xf8\x04\xae\x80\ -\xc3\x88xj\xdd\xfc\x00\xa7\xf6\xbd\x96\x10\xb6\xbf\xd9\x00\ -\x00\x00\x00IEND\xaeB`\x82\ -\x00\x00\x01\xd0\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x14\x00\x00\x00\x10\x08\x06\x00\x00\x00\x16\x18_\x1b\ -\x00\x00\x01\x97IDAT8\x8d\xad\xd4\xcf\x8bOQ\ -\x18\xc7\xf1\xd7w\x9aIJ\x8a\xac\xfc\xc8ld$\x0b\ -\xd33ca!ij\xa2\x99\xd9XY\xda\xd9Q\x9a\ -\x85\xc2\x1f )Jb\xa9l\xa7(EJ\x84,\x1e\ -\xc2\x86\x155\x89\x05\x9b\xafh\xfcfq\xcf\x9d\xb9\xa6\ -kL\x8dO\xdd\xee\xe9~\xde\xcf\xe7\xdc{\xcfsN\ -GQf\xae\xc55L\xe39n\xe0nD\xfc\xd2P\ -fn\xc38\x02\x1bq'\x22\x8e\xd4~O\x81\x86q\ -\x00\x83\x05\x1a\xc4\x15\xbc\xc8\xcc\xbd\x85\xd9\x93\x99\x0f\xf0\ -\x0c\x93X\x81\x01\xec\xca\xcc-\x7f\x04\x96\xb0\xa3e|\ -6\x22F#b\x1d\x0e\xe2tf>\xc4-|\xc1>\ -\xac\x89\x88\x11\xbc\xc4v\x9c\x9c\x0d\xcc\xcc{\x18\xc6X\ -y\xf6\xa96#\xe2>Na\x07ND\xc4\xee\x88\xb8\ -\x1e\x11\xdf\x0a\xf2\x1dO1\x9a\x99\x1b\xea7\xdc\x89\x9b\ -xW\xa0\x1a\xae\xf5\xa3\xdc/k\xd7\x13\x5c\xc2tf\ -\x1e\xee\xf9\x0b\xd4Tw\x11\xccq\xcc\xa0\x7f1\x81\xff\ -TD|\xc6W\xe6\x16\xe5\xbf\xa9-pI\x93\xb4\x15\ -\xaf\x5cJ}o\x0b\xb4?3\xfb0\x15\x11\xef\xd1i\ -\x9a\x99\xb9\x1a#\xd8\x8a~<^(\xb0\x8b!U\xf3\ -\x9e\xc9\xccc\xf8P\xbcU\x999\xa9j\xf6e\xf8\xa8\ -Z\xd9\x99f@'3\x7f\xe2*\xa6\xcc\xb5H\x9fj\ -\x07\x8c\x95\xe2Mx\x8d\xb7\xb8\xad\xea\xbd:hya\ -\xce\xe3b/.\xe0\x10&Z>\xbf\xa9\xf5\xe5\x1aZ\ -\x80y\xd3\x81\xcc\xdc\x5cfjj@\xb5;\xe6\xff\x96\ -\x09\xd5\x894_\xdd\x88x\xd5i1f\x95\x99\xe3\xaa\ -\xa3\xaa\x0e}\x14\x11\xe7\x16\xaa\xf9\x0d\xa0\xcdx<3\ -\xa5\x8a\xf0\x00\x00\x00\x00IEND\xaeB`\x82\ -\x00\x00\x01X\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x0f\x00\x00\x00\x10\x08\x06\x00\x00\x00\xc9V%\x04\ -\x00\x00\x01\x1fIDAT(\x91\x95\xd0\xbf\xab\xcfQ\ -\x1c\xc7\xf1\xc7\xe7v\xb8r\x19X\x94\x1feq\x07\x85\ -\xd4{`0\xf9\x03\x84R\x18\xac\x06\x832Q\xca\xbf\ -`Q\x06\xfe\x03\x0c\xba\x7f\xc3]^\x0b\x912(%\ -E\x08I_\xe12\xdcs\xeb\x9b\xe9x\xd6\xbbsz\ -\x9d\xf7\xb3\xf7\xe9=%\xd9\x84\x078l\x8c\xaf\xb8W\ -U\xb7\xa7$\x87\xf0tP\x9cg\xd7\x02\xde\xe3\xe7\x7f\ -\x8a\xcf\xf1i\x82$\xcb88(~\xc1jU\xcdZ\ -\x0f\x1a>\x0f\xcak\xd8\x86\xd9\x94\xe4\x12n\xe0\xc5\xa0\ -<\xe1(\xce5\x9c\xc0\xf5\xaaz8(Kr\x19\xa7\ -\x1b^\xe2T\x92\xb5Aw\x09WpkJ\xb2\xb5\x7f\ -{\xef\xa0\xfc\x1d+U\xb5\xd2\xf0\xabO\xff0(\xff\ -\xb1\xbeq\x0b\xb8\x8a\x0b\xd6\x171\xc2\x22\xee$9\xd3\ -\xb0\x8c\xbbU\xf5hP\x96\xe4\x1b\x8e5\xac\xe2Z\x92\ -#\x83\xeev\x9c\xc7\xd9\x86\xfb\xf8\x88\xfd\xff4\xed\xc0\ -\x01<\xc1\x8f\xb9\xfc\x0d\x8eW\xd5\xeb)\xc9nl\xee\ -\x0f\xfbp\xb3\xdf\xb7`'\xde\xe17\x1e\xf7\xda`\xd6\ -p\x11{z\xb0\x88\xb7s\x0d\xaf\xfa\xb9\x84\x93\xbd6\ -x\xf6\x17\xf1zO\xd5\x8bA\xa4\xa9\x00\x00\x00\x00I\ -END\xaeB`\x82\ -\x00\x00\x01\x0a\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x08\x00\x00\x00\x0d\x08\x06\x00\x00\x00\x94\xc2/8\ -\x00\x00\x00\xd1IDAT\x18\x95]\xd1\xbf/\xc3a\ -\x10\xc7\xf1\x97'\xd5\xc9h\x11F\x83\xe8\x82\xa4\xb1\x96\ -\x8d\x8dAl\x9a\x0e\xfe\x83\xae\x1d\x18\xc4`\xa71\x1b\ -\x0c\x12\x8b\xc9`\xd3\xe1;t3h\x18-\x12\x93(\ -\xea\xc7\xe0\x9e4\xf5I\x9e\xdc=w\xef{\xee\xc9\xdd\ -XQ\x14B\xab8B\x05\x1d\xec\xe01Er\x06\x97\ -X\xc01^q\x81R)\x80\x06&\xd0\xc7\x1efq\ -\x8b\xad\x0c\xac\x87=\xc7s\x9c;l&T\xb1\x14@\ -\x17\xe5\xf0oPM\xd8\xc5x\x04\x9b\x86\xeaa*\xa1\ -\x15\xbd\xa1\x8d\x8f\xf0\xdf\xf0\x95\xf0\x84\x83H\x9c\x18\xd5\ -K\xfe\xe4!~\x02\xce\x9aF/\xcf\xe1\x1d\xfb\xff\xaa\ -\x17\xd1\xcd\xc0<\xceP\x8f\xfb$Vp\x9d[\xdcc\ -\x19\xdb\xf8F\x0d\x0f\xb8\xca/|b\xcd\xdf\x0eN1\ -\x87\x0d\x0c~\x01]'-R\x7f\xd2\xe3\xe9\x00\x00\x00\ -\x00IEND\xaeB`\x82\ -\x00\x00\x01~\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x0f\x00\x00\x00\x10\x08\x06\x00\x00\x00\xc9V%\x04\ -\x00\x00\x01EIDAT(\x91\x85\xd2\xbbjVQ\ -\x14\x04\xe0/\x1a\xa3h\xe5\x05A\xd0\x17\x10\x04\x85\x05\ -\xa6P\x10D\xb0\xb5\xb0\xb2Jc\xa1\x9d\x85\x8d\x01\xb1\ -\x15\x1b\x0b\x11\x0b\xf1\x15\x22v\xa9,l\x84)R\x05\ -\x84\x08\x0a\x81\x88\x22\xa8` x\x89\xc5\xd9\x07~\x0f\ -\xffe`\xc3\xda\xb3Xkf\x0f[\x92\x0fIN\x1b\ -A\x92\x85$\x17\xcd\xc0\x5c\x92]\x5c\xc5\xbb\xc6\xed\xc3\ -S\x5c\xc6\xc3V\x8f\xc3v?\xbc\x85\x13\xb3\x94\x06x\ -\xb9\xa7\x15\xd7q\xb8\x9d#x\x81\xbf\xb89\xc2\x0f\xcf\ -\x0dIv\x93\x9c\x1d]\x99d.\xc9\xc9Y\xd2\xbd\xed\ -Gx\x82E|\xc27\x5c\xc2\xca\x14\xee\xf5X\xe5!\ -\x92\x1cL\xf2|\xe8\xa6W\xbe\xa5\x0bm\x1c\x16\xb0\x8c\ -3\xcd\xc12\xbeb\xab\x1f^k!L\xc21\x1c\xc2\ -\x0e>\xeb\xc2\x5c\x9do\xcd\xa5\xaaZ\x9bb{/\xee\ -\xe1qU}\x1f\xda\xbe\x80\xb7\xd8\x8f?m\xf3\x01l\ -O\xe2\xaa\xeag\xaf|\x05\x1fq\x0e_\xf0C\x97\xe8\ -\xea\x14\xeeU?\xbcRU\x9bIvp\x17\xf7\xabj\ -\xbd\xf56G^\xf0\x1f\xd7\xdb~\x80_\xb8\xad\xfb\xa6\ -\x1bx\x86\xdf\x93r\xc0\xfb^y\x11Gq\xbc\xddO\ -\xe1Z[8\x09o\xe6\xdb[\xefT\xd5z\x92\xf3\xba\ -\xdf\xb6TU\x1bS\x06\xc1?\xb7?\x88\x1a\xfe<\x0d\ -\xb2\x00\x00\x00\x00IEND\xaeB`\x82\ -\x00\x00\x02\xce\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x17\x00\x00\x00\x13\x08\x06\x00\x00\x00{\xbb\x96\xb6\ -\x00\x00\x02\x95IDAT8\x8du\xd5]\x88\x96U\ -\x10\x07\xf0\xdf\xbe\xec\xa6\xb5R\x86\x19\x15Kx\x11F\ -B\x118\xb1\x98e\x94PT\x0a\xf6\xa9\x90\x10^I\ -Y$\xacE7\x19!D]\xa4E\x1f.\xa1\x88\x22\ -\xde\x88X\x04]\xecEEA\x9f'D\x12\x17\xb2\x94\ -\xa4\x15\xc2\xb0\xb7R\xa3\x0f\xb2\x8b3k\x8f\xcf\xbe\x0e\ -\x1c\x9e\xe7\x9c\x99\xf9\xcf\xccyf\xfeO\x9f\x96\x94R\ -\xfa\xf1>\x02\xfb\xf0G\xae\xd58\x91f}8\x93\xcf\ -\x95X\x86\x19\xf8\x02\x9b\xf0\x0bt\xda\xe0X\x88\xe9\x98\ -\x85c\xb8\x17\x0f\xe2\xd1\xd4Ok\xd8n\xc5\x0e\xdc\x8f\ -\x1b\xf0\x0c>\xc7\xec\xf3\x81_\x8a\xc3\x11q\x06\xefd\ -\x860\x13\x17\xe3\x82<{\x00\xabR\xf7\x0fn\xc6s\ -\x98\x8b7\xce\x07>\x81\xab!\x22\xf6`Nf5\x8c\ -\x058\x95vO4|\xf6\xe2\x086\xa3\x8b\x870\xb7\ -\x17\xf8A\x5c_J\x19\xc8\x00Gq\x00_\xe3'\xfc\ -\x9b\xd5-j\xf8\xbc\x95\xcf\x93\xd8\xae~\x8b\x15S\xc0\ -#\xe2T\x02-n\x1c\xaf\xc1\x8f\xf86\xf7\x8b\x1aU\ -\xef\xc3G\xad*\xe0\xb6\xbe&p)e:\xe6\xe3i\ -\x5c\x93\x80Wa\x00\xa3\xd8\x95\xc0kqK\xba\x8d\xab\ -w<\x99\xfdL\xb5[\x8eu\x12t\xb8\x94\xb2;\xc1\ -\xd6c?\x86\xf02\xfe\xc6\xe3\x11\xf1\x1a\x8e'\xd8p\ -#\xa7\xebpQc\xdf\xc5o\xb8\xac\xbf\x942\x82\xc7\ -\xb0\x01\xab\x22\xe2d\x06\x1c\xc4\x8b\xf8!\x22>l8\ -\x1f\xc4\x96\xf4\xa1\xde\xf3\x16\xe7J\x17C\xfdx\x01C\ -\x11\xd1m\x19l\xc6\x93\xb8\xd5Ty\x1e\x0f\xab\xb3\xb0\ --\xc1\xdar\xa2\xa36\xfd\x86R\xca%-\xe5\xedj\ -\xdb\xdd\xd9\xc3\xf18F\xd4\xfe~\xb5\x87~\x16&\xfa\ -q\x9fz%\xdf\x97R\xc60\x96\x01GR7ZJ\ -\xd9\x16\x11\x13-\x80\x1d\xea@\x1dn\x9d_\x8eA\x8c\ -\x9f\xed\x96\xcc\xfcn\xb5\x1b\xeeR\x87g\x5c\xe5\x8c/\ -\xf1\xba\xda\xa2\xa7{d\xda\x94%x\x0f#}\xbd\xb4\ -\xa5\x94\xad\xf8\x14\xef\xe2\x0a<\x8bO\xd4\x1e\xee\xe2/\ -\xdc\x84\x1b\xf1\x9d\xda\xe7\x9341\xaa\x92\xdc\xbc)C\ -TJyD%\xaaC\x11\xf1sD\x1c\xc0SX\x9a\ -k0M/\xc4\xdb\xf8\x00\x1b\xf3lHe\xc9\xcf0\ -\xdei\x01_\x8b\x9d*Aml\xa8\xba\xf8\x1dwd\ -\xd6\xf01v\xe7\xfbZ\xbc\xa4\x12\xdd@&3\x85\xb8\ -~U\xb9\x1b\x8ef\xc0\x8e:\x81\x83x\x13W6\xec\ -W\xe2\x95\x0c\xbeN\xe5\x94%\xf8Jn\xda\xd7\xb2<\ -#/\xce,v\xaa\x1c\xbe,\x03O\xc3\x9fm?\xff\ -\xff@\xceJ/V\x1cS)w\x13\xbe\xc9uOD\ -LV\xd4\x0bX\x1b\x18\xfe\x03:\x81\xbf\x95\xfd\x1fR\ -q\x00\x00\x00\x00IEND\xaeB`\x82\ -\x00\x00\x01]\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x0e\x00\x00\x00\x0e\x08\x06\x00\x00\x00\x1fH-\xd1\ -\x00\x00\x01$IDAT(\x91\x9d\xd2!K\xa4a\ -\x14\xc5\xf1\xdf\xbcc\x90\xc5\xb5\xd8\xd7\xb22i\xda\xfd\ -\x00b\xd02A6\xca&\xd3\xb2U\x90A\xfc\x00&\ -\x8b\xb8[D\x10\xd4\x22\x82\xc5f\xb5\xb8\xb7\x88\x96\x0d\ -\xe6M\xc2*\x83\x82\x08\x1a\xe6\x1dy}w4\xeci\ -\x0f\xf7\xfc9\xf7\x1e\x1e\x99\xf9\xcd\x7f\xa8\x91\x99W8\ -\x88\x88\xee{\xc6\xcc\x1c\xc5\x0c:X.pQ\x0e\xd6\ -\xde\x00\xda\x99y\x84k\x1cc*\x22z\x05\x94i\x8f\ -o\xc0\x97\xf8\x88\x0f\xe5{\x17\x8a\xc14\x22V\xf1w\ -\x08\xdc\xc14np\x8f\xc3W`\x09\xafU\xe1\xccl\ -c\x1f\xa7\xf8\x8c\xa5\x88\xe8\xd1/\xe7(\x22\xe6kw\ -u\xd1*\x93~\xe1kDC\xc7x\x17\xfa*\x00\xe6\ -KG\x079=z\xde\xaek\xf8{\x85\x5c\xa3S\x0b\ -(C\x22!\x1c\xc1ry\x9e\x91\x17_~.\xb0\x89\ -\xf5\x8b+#\xe7.\x94\xcd\xa69c\x9d\x1d@()\ -\x9b\x14vJ\xc0\xd9{\x06\xbf\xaf\x80m\xd3\xbe\xdab\ -\xad\x07\xa8z\xbd~ \x02\xcd\xf2\xbb\xa1f\x89}\x89\ -\x8e\x14\x19\x22\x96\x04\xfe\xa8\x94\xe7\x97\xb76\x1f\x1e\x88\ -@\xdc(\xd6\xcaw=\xdd6N\x00\xc3@\x09\x9d\x1b\ -\x14\xfajV\x80Z.\xbf\xf7\x15\xef\x94\x80\x0d\xb50\ -,\x81\xd7\x0c\x81[\xe8\xec\xe9\x00\x09\xe0%`(\x99\ -J\x93/\x14Y_\xf3:&`7\xednC\xc0\xc2\ -VAo>\xda\xdeZ\x07H\xa6\xd2\xa03h\x1e\xa2\ -?\xc7aX\xb9DD\xf9\xf8\xaf?]\xe7\xfa\xd7\x9f\ -\xdb\xbe\xf4\xad\x14\xf19~\xac\x94\xa2\xaf\xdfF\x98_\ -\x1f\xc6\xcc)k(e\x9dp!\xa0\xcb\x1e\xaf\x8a\x10\ -d\x0b\xbdv\xbd\xf2\xe7\x22\xe6\x81#\xb9B/\xe3\x13\ -\x93\xb6?\x1aPT\x03\xd2\xb1C\xf1\xe2\xf8\xc4\xa4\x07\ -\x9cg\xb7p\xb5[\x8c\x8dOL\xce\x1aR\x05\xb4\xf3\ -6@W\xc8\xfb\x11\xb0O\xed{\xe6\x0b#mH\x8c\ -\x00\x0fBs\xb1\xc0\xf9n\xb6\xbb\x9bp\xc9\xee\x13\xf0\ -\xeeWh4\xea\x1b\xae\x1b\xfb\x18\x1dN%\xb3a\xc2\ -\x9c\xee\x11\xf0-0\x80~v\x934\x97\xec\xdf\x1bU\ -5\xb4\xb3\xda\xfaP\xa2\xdf\x8c\xdb^u\x99`E\xbc\ -\xe7F\xce\x8c\x8eqj\xf8,\xdd\xdd)\x84\xb3\x9b\xba\ -\xa5R(\xd9\xe0\xde\xec\x0c\x99l\x9e\x9eb\x1f\x8e\xe3\ -\xea\xa7O)\xa4\x94T\xca\xf7\x00\xe8\x1f\x18\xc2q\x1c\ -\x84\x10\xbe\xd7I)Y\xf5\xaa\xccLO\xb10w\x97\ -g\xf8_\xe1\x1f\x16\x8f\x0dW\xeaa@l\x00\x00\x00\ -%tEXtdate:create\ -\x002015-12-18T14:2\ -7:00+00:003\x90\xe8\xec\x00\x00\ -\x00%tEXtdate:modif\ -y\x002015-12-18T14:\ -27:00+00:00B\xcdPP\x00\ -\x00\x00\x00IEND\xaeB`\x82\ -\x00\x00\x01\xa9\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x0f\x00\x00\x00\x0e\x08\x06\x00\x00\x00\xf0\x8aF\xef\ -\x00\x00\x01pIDAT(\x91}\xd2\xbbk\x94Q\ -\x14\x04\xf0\xdf.A\x22\xd8\x88O\xb0\xf0Q\xf9\x8a\xa8\ -\x1c\x9bhaa\x1b%\x01\x11\x8b\xfc\x01\x06A1+\ -\x096Z\x88HH\x0am\x04\x03*ha\xe3\xa3\xb3\ -\x08\x98*\x12\xe5@\x1a1\x08V\x0a\x8a\x06\x82b*\ -\x1bS\xec\xfd`\xf7#\xe4\xb4wf\xce\xcc\x9c\xdb\xb0\ -\xc6d\xe6~\xdc\xc1!\xbc\xc3XD\xfc\xaa\xe3\x1a5\ -R?n\xe2\x046w<\xfd\xc4\x5c\x11\xf9\xd2E\xce\ -\xcc\xb3h\xe1\x186\xad\xe5\xa6\xcc2>\xe0VD\xbc\ -od\xe63\x0ca\xe3:\xa4\xfa\xfc\xc5\xedj\xf30\ -\xae\xe10z\xd6!\xfd\xc1|\xd9<_\x01\xdf\xe2\x22\ -\xbea7\xfat\xf7\xb1\xac]\xdc\x06|\xc5Ghf\ -\xe6,\x16\xf1\x19\x17\xb4s\xdf\xc0',\xe15NF\ -\xc4\x00\x86\xb1\x05?2\xf3IO\xb1q\x14\xc7\xb1'\ -\x22\x16q73\xa7\xb0-\x22\xbew88\x82\x83X\ -\xc1\x5c\x95\xb9\x17\xafp\xaaX\x1a\x89\x88\x85\x8a\x91\x99\ -\xe70\x89\xed\x98\x8e\x88\x1642s\x1c\xa3%\xcb%\ -\x9c\xc6\xf5\x92\xff)\xae\xe0\xbf\xf6)\x9b\x98(\x9ac\ -M\x0c\xa2\x17/\xb1\x10\x11\x13\xd8\x81\xc7\xa5\xc4\x91\x88\ -\xd8\x1b\x11/0S\xca\xdd\x89\xf3\x95\xed\x03x\xa8}\ -\xaa\x07\xe5\x14\xff:lo\xc5=\x0c\xe0\x0d.G\xc4\ -R\xfd{\xee\xc34\x02\x8fp\x1fS8S\x9c]\x8d\ -\x88\xdf\x15\xbe\x8b\xdc!\xb2\xab\x88\xf4\xe39Z\x11\xb1\ -R\xc7\xad\x02\xcc\x87tf \xe3\x97\xea\x00\x00\x00\x00\ -IEND\xaeB`\x82\ -\x00\x00\x01\x04\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x08\x00\x00\x00\x0d\x08\x06\x00\x00\x00\x94\xc2/8\ -\x00\x00\x00\xcbIDAT\x18\x95]\xd0!K\x83a\ -\x14\xc5\xf1\xdf\x1e\xa7\xc5j\x19[\xb1\xc9\x92\x22\xab\x82\ -\xc1\xb0\xa8\xc1l\xda\x17\x10\xeb`\x03\x0d~\x82\x81\xb2\ -:0\x18\xd6V\xdc\xa2\xe1\x05WDP\xd1\xb8\xe2\x07\ -\x105\x18\xde\xfb\xe0\xf0\x94{9\xfc9\x97{*E\ -Q\xc0&\xae\xb0\x87G\x9c\xe2\x0e\x12\xaa\xb8\xc57\x06\ -\xd8\xc6\x18\x8d\x0c\x1c\x87\xd9C\x1f\x9fXG'\x03G\ -x\xc2=>p\xa3\xd4A\x06Z\x98\x86\xb9\x86y\xec\ -\xbbh%\xd4\xf0\xeaOg1W\xd1IX\x89\xbb\xf0\ -\x15\xdf\x08\xaf\x9b\xe2\xee\xb2\x06\x01^`\x91\xf0\x8c\xfa\ -\x12\xb0\xc09.E\x07\x0f\xd8\xf9\x97\xd2\xcfK\xc2\x04\ -\xfb\xd8\x08\xef\x04#4s\xc2\x04o\x119\xc3\x10\xef\ -x\xc9\x09?8\xc4\x16\xae\x95\x85\xb5\x95\xd5\xfb\x05\x08\ -|+}\x8e\x949\xf5\x00\x00\x00\x00IEND\xae\ -B`\x82\ -\x00\x00\x06\x1d\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ -\x00\x00\x00\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\ -\x00\x00\x00 cHRM\x00\x00z&\x00\x00\x80\x84\ -\x00\x00\xfa\x00\x00\x00\x80\xe8\x00\x00u0\x00\x00\xea`\ -\x00\x00:\x98\x00\x00\x17p\x9c\xbaQ<\x00\x00\x00\x06\ -bKGD\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\x00\ -\x00\x09oFFs\x00\x00\x01\x00\x00\x00\x00\x00\x00|\ -]\xbdz\x00\x00\x00\x09pHYs\x00\x00\x0b\x12\x00\ -\x00\x0b\x12\x01\xd2\xdd~\xfc\x00\x00\x00\x07tIME\ -\x07\xdf\x0c\x12\x0e\x1b\x00\xb3\xf4\x90\xdf\x00\x00\x00\x09v\ -pAg\x00\x00\x02`\x00\x00\x00 \x00\x1f=\x87\xd8\ -\x00\x00\x04\xe2IDATX\xc3\xed\x97YlTU\ -\x18\x80\xbf\xdb\xb9C;3]fa\xe8\x02\xb4@\x99\ -.\xd0R*\xb4\x104b\xc2\xea\x86\x18\x97 \xea\x83\ -F4\xfaf4F_\x5c\xde$\xf2\xa0\x0f&FE\ -\xe2\x83\x01#\xa6\x88@@)E\x81\xcaRZ\xbaP\ -\xbaP\xa4\xdbl\x1d\x0b\x85v\x98i;\xbd>\xdcs\ -\x87)\x9d\xa5`|\xd2?\xb99\xe7\xfc\xe7\xfc\xe7\xff\ -\xce\xb9\xff\xf9\xcf\xbd\xf0_\x17\xe9^\x0d\x93S\x0cX\ -\xac3\x99\x91\x9c\x82N\x96\x19\x1f\x1b%\x18\x08\xf0\xd7\ -\x80\x9bP(\xf4\xef\x00\xd8\xecY\xcc\xce\x9d\x8f}V\ -6\xf6\xac\xd91\xc7\x0dx\x9c\xf8\xbc.\xdc\xfd\xbdx\ -\x5c\xbd\xff\x1c \xddleaa\x09\x05\x8b\xca4\xd5\ -\xeb\xc0\x9b\x80#\xca\xf03\xc0\x0f\xc0\x1e\xa0\xbf\xf7j\ -\x17\xed\x17\xeb\xf1y\xdd\xf7\x06`\xb6\xd8\xd8\xb0i\x0b\ -RR\x12\xc0W\xc0f \x1d\x98\x00\xde\x07N\x01)\ -b\xae\x5c\xe0\x9b\x08\xf3s\xc0c\x80\xf7\xf7_\x7f\xc6\ -\xd9w\xf5\xee\x00\xcc\x16\x1b\x1b7o\x05\xb0\x00>\xe0\ -i\xa0J\xeb\xbf\xe5\x1f\xc1`4\x85\xc7\x8f\x8f\x8f!\ -\xcbz\xadY\x00\xb4\x8b\xfas\xc0\x9e\xdf~\xd9\x8f\xab\ -\xbf{\x92\x8f\xa4x\x00y\x0b\x0a\xb5j\x0fP\x01T\ -\xdd\xb8>\xa8\xe9\xca\x0dF\xd3v\xe08\xd0\x08\x9c\x96\ -e\xfd\x0e`\x0e@(\x14\xea\x10\x0b<\x09\xec\x06^\ -Z\xbd~\x136{\xd6\xf4v\xc0:3\x93\xf5\x8f?\ -\x0b\xf02\xf09`\x08\x06\x03$'\xa7d\x02M\xc0\ -\xac8\xec\xe7\x81\xe5\x11\xed\xb3b\x019\xed\x17/\xb8\ -\x1a\xce\x9eH\xbc\x03s\xf3\xf2\xb5\xea\x87@\x99p\x0e\ -\xe0N\xe0\x1c`\x19\xa0\x88\xd7\x00P)\xcao\x1dE\ -\xa5\x98\xd2\xd2\x13\x03dXl\x88\x09\xe6\x02\x1dMu\ -\xb5Z\xd7\xa7L_\x0e\x00f\xcd9\xb0.I\xa7\xc3\ ->+'1@\xce\xdcy\x00\xcf\x00-\xa0\x9emW\ -_7\xa8\xc7\xef\xebi\x028\x80\x8fD\xfd\x0bM\x99\ -\x9a\x9e\x11\x1f\xc0f\xcf\xd4\xaa\xaf\x01}\x8a\xa2pc\ -\xe8\x1a\xe7jk\xb89t\x0d`\x1b\xb0e\x9a\x10/\ -\x88r4\xacQ\x94D;\x10\x8e\xcdl\xa0\x5c\x92$\ -\xd22,\xf8GnRsd\x1fW:[\x01\xbe\x17\ -\x03\xb7'\x00\xb0\x8a2\x9c:\x83\xc1@|\x00\xb1\xfd\ -\x002\xf0\xaa\xd7\xdd\xaf\xad\x1c\xff\xc80gOVS\ -sd\x1f\x97\xdbZ\x00\xde\x05\xd6\xc4\x01xO\x94o\ -\x01]\xa0\xbe\xce\x98\x00\x16\x9b\x9d\xc5e\x15\xa0\x1e=\ -\x80\xfd\x91\x06\x9ax\x9c\xbd\xd4\xfdQC\xed\xf1\xc3\x00\ -\xc7\x80w\xa28\xf7\x00\x1f\xa3&\xb2\xd5\xc0\x06\x9f\xd7\ -\xc5\xf5A_l\x809\xb9\xe1\xe3\xf7\x06\xf0\x0a\x80\xbb\ -\xbf'\xe6\xf2z\xfe\xec\xe4Rs=\xc0'\xc0:\xc0\ -\x1f\xd1]!\xcaZ\xd4\x14\xdd\xd5T\x7fz\x92\xbd|\ -\xe7\x84\xb2^\x1f\xd9\xdc\xa9(\x0a\xa3\xa3A\xe2Ic\ -\xdd)<\xce\x1e*\x1fX{\xd4hJ5E\x19R\ -\x04\x14{\x5c}x]}\x93:\xa6\xec\xc0\xc4\xe4\xbb\ -\xfc\xb2$I\xdc\xff\xd0F\x8c\xa6\xb4\xb8\x10ng/\ -\x87\x7f\xda\xcd\x89\xea\x03(\xb7\xa3\xfcm \x84\x88\xea\ -\x96\x863S\xec\xa6\x00\xb8o\xdf\xdf\x0f\x02\xf9\x80\x92\ -n\xb6\xe2(.%\x91\x8c\x06\x03\xd8\xecYH\x92d\ -A\xcd\x84\x1f\x00:\x80\xeaC?\x12-\x96\xa6\x00x\ -\x9c\xbd4\xab\xa4'\x22\xf5#\xc37\x13\x02\x00\xcc_\ -X\x0c\xf0\x99h\xa6\xf9G\x869zpoT\xe7\x10\ -%\x06\x00|\x93\x07\x8f\x03\xa4\x18\x8c\x94\x96\xaf\x00\xa0\ -\xb3\xad\x99\xc0-\xff\x14\xbb\x0c\x8bM\xbb\x9e\x9f\xd7\xec\ -N\x1e;\xc8\xa0\xcf\x1b\x138*\xc0\x80\xd7\xa5UO\ -\x03+\x01J\x96V\x86\xfb\x0d\xc6TZ.\x9c\xc1?\ -2|\xdb\xb9\xd9J\xee\xbc\x85\x8c\x8f\x8d!\xeb\xf5\xdf\ -\x09\x08R\xd3\xccq\x01\xa2&\xa2\x89P\x88+\x1d\xad\ -\x00O\x09\x95\x22\x9e\x10\xf0\xf0\x82\x82E8\x8a\x96\x00\ -`\xb1\xdaYr\xdfJ6n\xde\xca\xe2\xa5\x95\xc8z\ -\xfd*\xa0\x5c\xcc]\x90=;7\xee+\x8by\x19\xb5\ -_l@Q\x14'j\x04k\xcf#\xc0!`g^\ -~!\xa5\xe5+\xd8\xf0\xc4\x16\x16\x95UX$I\xda\ -. O\x01%b\x9a]\xf3\x1d\xc5\xe8d9&@\ -\xdcO\xb2\x0c\xb3\x15{f\x0e\x06\xa3\x89\xa4$\x1d\xc5\ -K\x96i\xbbQ\xad(\xcaZI\x92@M\xb1;\x80\ -\x00\xf0\x22\xb0W\x98\x97\x00\xcd\x80Ts\xb8\x0a\xcf\x1d\ -\xe7?n\x0ch2t}\x90!\xf1\x09\x96\xb7\xa0 \ -\xb2k\x8d$I_\xa2\xde\x8a\x00\xfb\x80'\x01.5\ -\x9d'\x10\xf0\x93_X\xd2\x92\x9ea\x91n\x0c]c\ -\xc0\xe3\x8a\xe9#.@\xa4\x0cx\x5c\x8c\x8f\x8d\x22\xeb\ -g\xecB\x8d\x8dm\xa8A\xfa(0\xd8\xd1\xda\xc8\xd5\ -\xae\xb6p\xc0u_\xe9\xc0QTJg[3\x13\x13\ -\xb1\x7fT\xee\xea\xc7\xa4l\xf9*\x1cE\xa5\xc8\xfa\x19\ -a]wW;]\x9d\xadSR\xect\xe5\xae\x7f\xcd\ -dY\x8f=3\x1b\x9dNf\xc0\xeb\x22\x18\xb8uO\ -\x8e\xff\x17M\xfe\x06<\xc9\x9b\xa3b\xcb\x06=\x00\x00\ -\x00%tEXtdate:creat\ -e\x002015-12-18T14:\ -27:00+00:003\x90\xe8\xec\x00\ -\x00\x00%tEXtdate:modi\ -fy\x002015-12-18T14\ -:27:00+00:00B\xcdPP\ -\x00\x00\x00\x00IEND\xaeB`\x82\ -\x00\x00\x01Z\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x0e\x00\x00\x00\x11\x08\x06\x00\x00\x00\xed\xc8\x9d\x9f\ -\x00\x00\x01!IDAT(\x91\xc5\xd3\xbf+\xc5Q\ -\x18\xc7\xf1\xd7\xe5\x86\xe4\x12\x8b\xd1j5\xca\x8f.!\ -\xe4\x0fP\xc4\xceD\x06e\x91\x12\x7f\x81\xcd \x19d\ -\xb0\xc8d\x91\xc1f\xfe\xda\xc8b\x10I\xa9\x9b\x9f\xc3\ -9\xd7\x8f\xd3\xa5L>u\x86\xf3<\xe7\xfd\x9c\xf3\x9c\ ->O.\xcb\xb2\x02\x96\xd1\xe0S\x8d\xa8\xf6]\xb5\xa8\ -/o\xf2x\xc0\x0e\x0ep\x85M\xdc\xe35\x01\x1fQ\ -\xc2\x14\x86\xf21x\x86N\x1c\xa2\x1d\x0b\x15@\x98A\ -\x11\xc5\xaa/\xc1Kt\xa3\x03\xbb\xa8K\xa0E\xcc\xa3\ -\x17YU\x92\xbc\xc30\x9ep\x84\x96\x18_\xc5$z\ -pQ\xee1U\x09\x13X\xc3)N\xe2+\x8a\xb8)\ -\x1f\xaa\x04\xc2[|\xda\x05\xc6\xd1/|\xd8\x87rY\ -\x96\xfd\xc0\xfe\xae\xb4\xc7\xff\x07g1\xf8Wp\x09s\ -\xd8\xc6t\x9a\xac\xf4\xab9\xaccD0D\x93\xe0\xa8\ -6\xac\xfctc\x0e\x1b\xa2\xadp\x8dstaL\xf0\ -q>\x05\xab\xb1%xu\x00\xb7_r\xd7\xe8C\xab\ -0\x0c\x852X\x83=\xc1b\xa3\xb1`s\xb2\x0a\xb1\ -\xe7\x17\x1c\xe7\x85\x19\xdb\xc7P,\xf2(\x8c\xdas\xd2\ -F)\xe6\xc0;/f:\x9b\xed\xa3J\x96\x00\x00\x00\ -\x00IEND\xaeB`\x82\ -\x00\x00\x02\x0c\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x0e\x00\x00\x00\x0f\x08\x06\x00\x00\x00\xd4\x14\xfet\ -\x00\x00\x01\xd3IDAT(\x91\x8d\x90\xbfk\x13a\ -\x18\xc7?wy#I\x04\xc1HMq(m\x22\xa5\ -\x15/\x15DA\xed\xdda\x8d.\x82q\xabm\x97\x03\ -AJ]\x5cJ\x97\xc6?\xc2\x1f\xc5\xd1\xc9\xae\xea\x5c\ -\xa5w7\xd4\xa1\x08=\x0bbQ\xc8-\xd23%C\ -\x04\xf1\x02i\x1c\xbc\xf7\xed\x05\x1c|\xb6\xef\xe7\x9e\xe7\ -\x9e\xf7\xf9hc\xe5\xca7\x8ej\xd6\xb6\xccm\xd7\xf3\ -\x17\x81\xe5\x84m\xdb\x969\xebz\xfe4\xe0\xcbF\xf1\ -\xec\xe9\x93\xb2\x0c\xcf\xd7\xd6\x86\x01n\xd6j\xe3\xf5\xfa\ -\x9d2\xc0\x97\xbd\xbd_\xc1\xce\x0e\x86a\x14\x1f7V\ -\xd5\x06Q*\x95\x8e\x82\xc8\xea\x00\xb9|>#y\x14\ -E:\xff(\xd1\xe9t>\xcb\xa0\xebz\x07\xa0\x7fx\ -\xf8]\xf28\x8e\xbf\x02d2\x99V\x14E\xea\xa9\x9a\ -\xe38\xb7S?\xda\x02\xda@\x05\x98HX;\xe1'\ -\x80)\xb5\xd1\xf5\xfcG\xa9\xc1\xd0\xb6\xcc\xb6\xeb\xf9\x97\ -\x80\xfb\x09\xdb\xb5-s\xcb\xf5\xfcq\xe0\xa5\x1al4\ -Vk2\xac\xbfZ\x1f\x01v\xa7\xaf]\xbdx}f\ -\xa6\x06\x106\xc3\xa10l2991\xfcpiI\ -\x89\x14U\xc3P\xeb^\x17\xde\x08\x80\x93\xc5S\xc7\x14\ -\xef\xf7\xb3a\xd8D\x88\xac> \xb2\xdb\xed\x1e\xa8\x83\ -5-\xfe\xdb\xdb\xff)y\xaf\xd7kKqi\x91\x9a\ -\xe38\xf7R7\xbe\x03Z\xc09\xa0\x9a\xb0\x03`\x03\ -(\x02W\xd2r.\xa4\x06?\xd8\x96\xd9r=\xff4\ - y\xd3\xb6\xcc\x0d\xd7\xf3\xcf\x00J\xa4XX\x98_\ -\x91as\xd3}\x0f4\x0d\xe3\xfc\xadj\xb5\xba\x02\xd0\ -\xfa\xd1\xfa\x18\xc7\xbf_\x9c\xadTF\xe6\xe6\xe7\x94H\ -q\xb7^W\xeb\x82\xe0S\x0e`tt\xec\xb8\xe4A\ -\x10\xe4<\xcf#_(\x0c\x88\x14\xfcgi\x9a\x16\x0f\ -\x88t\x1c\xe7A\xea\xfb[`?\xb9\xefr\xc2\xf6\x13\ ->\x04\xdc\x90\x8d\x7f\x00\xbf\x16\xa5`bD\x0f\x81\x00\ -\x00\x00\x00IEND\xaeB`\x82\ -\x00\x00\x01}\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x14\x00\x00\x00\x10\x08\x06\x00\x00\x00\x16\x18_\x1b\ -\x00\x00\x01DIDAT8\x8d\xad\x93A+DQ\ -\x18\x86\x1f#\x8d\xc8l\x94\x14QC\x16\xa2,N\x83\ -\x8d\x8dbJI\x8d,X($\x14\x0b!)%;\ -eq\xcb\xf0c\xf8\x09\xde\x95\xad\x85\xb2\xb1\xb1`c\ -cc\xe1\xbb:\x9d\xb9\xf72x7_\xefw\xcf\xf7\ -\x9c\xf7\x9e\xd3\x81\x14I:\x95\x94K\xfb\x9e\xa6\xc4\x01\ -I\x1d\xc0!0\xf7/@`\x15h\x02v\xeb\x056\ -\x84\x0d\xfb\xcd\x07\xa0\xc7Z%\xe7\xdc\xed_\x12\xcex\ -0\x80\xbdz\x12&\x017\x03_\x91\xd4\xfb+\xa0\xa4\ -\x22P6\xfbl\xb5\x11\xd8\x0e\xd6\x95$u\xfd$\xe1\ -\x06\x9f\xe7\xfa\x0eL\x02\xaf\xd6_\x97T0\xd8(p\ -\x03D\x99@Iy`\xc5\xec\x95s\xee\xce\x1bj\x03\ -\xd6\x0cv\x0d\x14\x80yI\xd3Y\x09\x17\x80v\xe0\x0d\ -8\xb3^\xe4\xa5\xdc\xf7`\xb1\xaa\x92\x9a\xd3\x80\xf1e\ -\x5c8\xe7\x9e\x00\x9cs/^\xca\xce\x00\x06\xd0\x0f\x1c\ -\xd4\x00%\x8d\x00\xe3\x96\xe6<\x18\xf2S&\xe9HR\ -_\x98p\xcb\xea=p,i\xca6\x9a\x05.\x81\xc7\ -\x0c`\x1e\xa8~\x01\xed\xf6\x96\xcc;`\x07\x980?\ -\x06,\x02\xc3\x19@\x80\xb2\xa4J\x9cp\x19h\x09\x16\ -\x14\xad\x0e|\x03\xf2\x15Ij\xcdQ\xfb2\x00\x06\xad\ -\x0e\xd5\x01\xec\x06N>\x00o\x01\x5c\xe2;\xefo\xbb\ -\x00\x00\x00\x00IEND\xaeB`\x82\ -\x00\x00\x01u\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x0b\x00\x00\x00\x10\x08\x06\x00\x00\x00\xc0\xbd\x85~\ -\x00\x00\x01\xcfy\xce=g\xa2!\xc9n\x5c\xc3!\xfc\ -\xc2F\xfc\xc0\xcd\xaaz\xaf\x13\x1eO\xf22\xc9i\x1d\ -\x92\xcc%YJr\x0e&I\xb6c\x11g\xaaj\xc5\ -\x14\x92l\xc6s\x5c\x18p\x19\xb7\xd6\x13BU\xfd\xc6\ -%\xdc\x18p\x0cO\xd6\x13v\x05\xaf\xb1m\x06?\xab\ -j\xb5\xb5\xdc\x87\xa3X\xc6a\xec\xac\xaag\xad\xe6\xdb\ -\x80\x17IN\xb5\x87\x19\xdci\xe7>\xb64\x93\x03X\ -\x19\xf0\x10\x0bIf\xab\xea\x03\x96\xb0\x80/U\xf58\ -\xc9&\xdc\xc5\xed\xa1\xaa\xfe\xe2js\xd3\xfe\x7f\x11\xef\ -Z~\x1d\x0f\xaa\xea\xfb\xd0\x06x\x85!\xc9\x0e|\xc5\ -,\xc6\xed\x9c\xc0S\x18\xba\xa1\x971\xdfo!\xc9A\ -\xbc\xa9\xaa\xb5q\xa0\x11\x8fp\x0f[\xb1\x17Gp\x12\ -WF\xc1d\xcai\xb1\x85k\xed\xdeSUs#\xdf\ -;\xc3.\xec\xef\xf2?=9-\xfe\x88U\xfck]\ -7\xf4\xe40%>\x8f\xb7\xf8\x8cO8\xdb\x93\xff\x01\ -?\x07g7v\xdb#C\x00\x00\x00\x00IEND\ -\xaeB`\x82\ -\x00\x00\x01\x03\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x13\x00\x00\x00\x11\x08\x06\x00\x00\x00?\x98\x97\xc7\ -\x00\x00\x00\xcaIDAT8\x8d\xed\xd2=J\x03Q\ -\x14@\xe1od2\xa6\x11W\x90F\xec\xd2Y\x84\x08\ -.!\xe0\x02DHe\xe1n\xa6\xb2Nm'$\xa5\ -\x16YA\xba\xb1\xb0\xb1\xc8\x16\x04GL\x8a\x99\xe0\xf8\ -\x08f^\xb4\xf4\xc0\xe5\x15\x17\xce\xbb\x7fIQ\x14\x0f\ -\xb8\xd0\x9e\x15\xae1\x0b\x13)Fx\xc6\x02\x07;D\ -=\x0cq\xba-\x99\x22\xc1\x13n[Tu\x82\x17\x5c\ -\xa1\xdfp\x1ca\x99\xb6\x104\xf9\xa8\xdfA\x1d\xdf\xd8\ -\xd5V\xc8\xab\xaa\x930\xee\xf0\x16+\xfb\x89\xf7\xb0\xcd\ -.&\xf5o1\x9cQ\x0d\xaf\xc9\xa1j\xbb\xe3H\xd9\ -\x14\xf9\xb6\x05\x94\xb8\x8f\x94\x1d#\xff\xcb\x99Eo\xf3\ -_\xf6%\xfb\xfc\xa5\xa7D\xb69\x8dKt\x90\xed)\ -K6\xb29\xceq\xd3H\xae\xf6\xa8\xecq\x0d\xfe\xb1\ -\x1c=z\xc7\xebp\x00\x00\x00\x00IEND\xaeB\ -`\x82\ -\x00\x00\x01)\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x12\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1b\x06/\x5c\ -\x00\x00\x00\xf0IDAT8\x8d\xd5\xd2/K\x83Q\ -\x18\x05\xf0\xdf\xe6\x9a`0h1\xbb&\x13\xee'\x10\ -\xf4KX\xd4l\x10\xecV\x99E\xa3q3\x1b\xd4b\ -5\x18\x9f0\x0d6\x83`S\x04\xa3 \xce\xe0\x8b\xbc\ -\x5c\xdc\xdd\x16=\xed\xdc?\xe7\x1c\xce\xf34\x22bh\ -4\xeeRJ\x9d\xc2\xfd/\x9a\x93<\xfa\x9fB-l\ -\xd7\xf8:^0\xa8\xf8\xdb\xa4B\x8d:\x89\x88\x1e\x06\ -)\xa5\x93\xec|\x07\x07\x05\x9d\xe7V\xc9%\x22\xf6\xd1\ -\xc7\x1c\xeeG\x88\xb5\xd1\xcd\x13]c\x15\xef\x18b\x09\ -\x9f\xb8\xc40\xa5\xb4\xf5\x87Y\x07\x17y\xa2W\x9c\xe3\ -\x0a\x0b\xd8\xc5)\xe6\xb1RJ_\xec(\x22\x9a)\xa5\ -\xaf\x88\xd8\xc3qA\xe7)\x8f\xd9\xab>M\x8db\xd9\ -5\x83\xb1\x89\xc6M\xed\x01\x87\x15\xedOS\xf626\ -#\xe2\xc8\xcf\xd6\xcf\xe0\x0c\xb7x,\x99\xe6B\x1b\x98\ -\xc5G\xc5o\xd0\xc5\x22\xd6*\xf7\x1cm\xb2\xa9\x8d\xc2\ -$\x9b\xfd\x0d1\x8aV\x95q\x1f\x8eP\x00\x00\x00\x00\ -IEND\xaeB`\x82\ -\x00\x00\x02\x01\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x11\x00\x00\x00\x14\x08\x06\x00\x00\x00k\xa0\xd6I\ -\x00\x00\x01\xc8IDAT8\x8d}\xd3\xcf\x8b\xcdQ\ -\x18\xc7\xf1\xd7\xdc\xaeD\xc9(4\xca\x1d\x1b\x16\xc4\xea\ -\xa2\x98\x85\xc5\x10eAhJj\x84\xf8\x0b\xb0\xc4\xca\ -\x86\xa4&c\xd6\xb2\xa04%\xc9\x8f\xe4\xc7$\xc4\xbd\ -+3S\x16\x16D\x94_%\xc5\x8c\xb8\x16\xe7\xf96\ -\xdf\xf9\xba\xdf9\x9b\xcfs\xcey\xce\xfb<\xcfy\x9e\ -\xd3\xd1j\xb5\xb4\x1b\xcdf\x13\x06q\x1c?by\x1f\ -&p-\xef\xdb\xd1h4\xdaBb\xf4c>\x06b\ -~\x13\xfb\xf19\xefT)9\xbc+\xf4\x0a6\x87=\ -\x0b\xbf\x8a\x802\xc8\x06\x5c\xc5JLb\x07:\xb1\x08\ -\xbbs~\x8bq\x06\xab\xdbAN\xa2\x8a\x13\xb9\xb5\x87\ -x\x1f\xba0\xa2\xbb\x8e\xa7\x18+B6bk\xd8}\ -\x11\x0d\x5c\x08\xdd\x84\xb3x\x80\x1e\x0c\xa3U\x84d\xb7\ -\x7f\x88T\xb3\xf9eSo\xb1\x0d\x7f\xf07;\x94\x87\ -\xac\x8b(\xbec\x8b\xf4\x1e}X\x8e\x9f\x18\x0a\xbf/\ -\x91Rov>\x0f9\x1a:\x841\x5c\x8a\xfdc\xb1\ ->\x18\xe0\xf31\xdf\x89&\xb6g}\xd2\x8d\xd7\xb1\xd9\ -\x1d\xe9\xac\xc2\xa8T\xd6\xa5\xf8\x8a\xf5x\x9e\xbbx6\ -\xe6f\x91\x1c\x92*2\x1c\x00\x18\xc7]\xcc\x91\x9a\x0e\ -\xe6\xe1H\x0e2\x81o\x95\x08\xf9@.\xe4\xfc\xb8\x18\ -z0\xf4I\xf8N+HEj\xae\x1a\xde`\xa4\x00\ -\xb9\x15i\xac\xc1\x0a\xe9\x81\xefDZ\xd3 \xbda\xdf\ -@\xf17N\xc6!R\xc5\xe0\x14\x9e\xe5\x9d\xaa\xe8\x0a\ -\xfb\x95\xf6c<\xb4\x06\xf5z\xfd?\x87\x8a\xa9&\xaa\ -\x95@\x96\x85~,\xd9W\xc1\xbd\xb0\xfb\xb1\xa0\xb0\xbf\ -\x04{\xc2\xbe?\x13d\x04\x8f\xa5\xb4nc\xad\xf4\xed\ -{\xa4\x12wJ\x9f\xede\x19\xa4\x1a\xba\x17\x8f\xa4W\ -\x7fQ\xf0\x19\xc5\xe12@\x16\x09\xbc\x8b\x08\xce\xe1-\ -~K\x1d|Zj\x81O3A\xfe\x015\x8de<\ -wk\x85?\x00\x00\x00\x00IEND\xaeB`\x82\ -\ -\x00\x00\x01\xba\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x15\x00\x00\x00\x10\x08\x06\x00\x00\x00\xf9\xda4%\ -\x00\x00\x01\x81IDAT8\x8d\xa5\xd1M\x88\x8ea\ -\x14\xc6\xf1\xdf\xfb6>\x92\x92|Dij4\xa1\xec\ -8\x1b+5\xb1\x18f\xa1f\xc5J1\xc3DVR\ -H!+;\x14\xc9J\xd2lf\xe3\xabdg)\x97\ -\x94\xb2\xb1 e\xc9\xdeJ\x16\x9eW\x8f\xe9\x19\x93q\ -V\xe7>\xd7\xb9\xfe\xf7\xb9\xef\xd3\xb3\x84H\xd2\xc3.\ -L\xe0 f\xaa\xea\xcd@\xef/`\xda\x94d\xef_\ -\xb8}\x5c\xc0e\xacn\x03ah\x01\xd3q\xec\xc1\xcb\ -\x05\xf4Q\x8c\xe1\x1df\xbbn\x9c?e\x1fS\x18O\ -\xb2\xbdC_\x87\xc7\xb8\x86\xdd\xb87\xbf\xa7k\xd2q\ -\x0c7\xf9\x19\x9cj\x01\x97\xe3\x01\xceV\xd5\x93\xa6\xfc\ -m\xd1Iq\xb2\x95\x1fM\xb2\xb6\x01\xf6p\x15\x17\x07\ -\xc0$\x9b;\xfc\x7fB\x93\x0c\xe3@\xab\xb4\x0a\xd3M\ -^\xb8SUo[\xfaX\x92\x1d\x8bM:\xd5Q;\ -\x9dd\xa8\xaa^W\xd5\xe7$\xd3IF\x1am\x16\x97\ -\x92l\xe8\x84&\x19\xc2\xb1\x8e\xd7l\xc1d\xd33\x83\ -\xbb\xb8\x01U\xf5\x03\xd71\x97d\xe5\xc0\xd0kA'\ -1\xd7\x01\x85W\xb8\x8f\xdb\xad\xdaDU=k\xbc7\ -\xb1\x11\x87\xd1kC_`\xff\x02\xd0\xae\xf8\x88\x9dU\ -\xf5=\xc9\x1a|@\xf0\xb4\xdf\x00G\xb1\xef\x1f\x80\xb0\ -\x15\xe7\x9a|\x19>\xf9\xb5\xe4m\x83?\x9d\xd6\xfa\x8a\ -\x7f\x88\xf3IF\xaa\xea+\xae\xe0=FzIV\xe0\ -\x0b\xd6/\x01\x0a\x8f\xaa\xea\x10\xbf\x97=\xd6Kr\x04\ -\x0f\x97\x08\x1c\xc4xU=\x1f\x1c\xfa8\xf1\x9f@\xb8\ -\xd5\xbc\x18\xfc\x049\xa0\x7f\x85\xe9\xdfLL\x00\x00\x00\ -\x00IEND\xaeB`\x82\ -\x00\x00\x01\xb8\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x11\x00\x00\x00\x12\x08\x06\x00\x00\x00\xbd\xf95T\ -\x00\x00\x01\x7fIDAT8\x8d\x95\xd3;hTQ\ -\x10\xc6\xf1\xdf\xbd((jv;\x05+\xc1\xad\x04!\ -0\x8d\x8d\x16\x82\x88H*A\xd2\xd9\xf8\xa8\x04\x1b5\ -\x82\x9d\x06;\xed\xc4B\x10\x0b\xedl$\xb0`e\x93\ -\x22\x0e\xda\x1bS\x89/\x10\x82\x16\xc1g\xb4\xc8\x89\x5c\ -\xd7\xbb\xbbf\xe0p\x98\xef|\xe7\xcf\xcc\x1cN\x95\x99\ -\xbd\x88X\xb4\xc1\xc8\xccI\x5cA\xa7\xca\xcc{\x98\xc6\ -\x02nF\xc4\xa31\x97\x8f\xe1\x01:E\xba[ef\ -\x0f/\x1b\xbek\x11qu\x0ch\x19\xdd\x92\xee\xadK\ -+\xcbE\xf8\x85'c\x00w\x0a\xe03>F\xc4R\ -]\xce\xfa\x98\xc3\x0f\xf43\xb3;\x04p\x02\xa7\xf18\ -\x22:8\x05\xeb\x903\x11q\x1c\xfb\xf0\xd5\xda|\x06\ -\x01{p\x1f\xd7#b\x0a\x22b\x0e\xaa\x16\xf3v<\ -\xc3+\xac\xcf\xa6\xc6C\xcc\xb4\x0d\xfe\x1fH\x03\xf6\x0d\ -\x9b\x1b\xd2\xdb\x88\xd8\xdd\xe6\xad\xdb\xc4\x12+\x03\xf9\xf7\ -a\xc6Q\x90\xff\x8eQ\x90\xc1\xb3m\x1b\x82d\xe6I\ -\xac\xe2ic\xc9\xcc\x1bm\xfe\xb6\xd7\x99\xc5y\xf4\x22\ -\xe2]C\xdf\x82\xf7\xd6\x9e\xffhD\xac\xfeUIf\ -\x1e){\x1f\x971\xdd\x04@D|\xc1A\x1c\xc6R\ -f\xee\xcc\xcc\x99?\x95d\xe6\xa7R~\x17\xb7\x22\xe2\ -\xc2\xb0\xfe3\xf3\x1cn\x17\xffJD\xec\xa8\xca\x97~\ -^<\x1f\x22b\xd70@\x81L\xe05&\x8at\xa0\ -\xc6\xc5\x86gkf\x1e\x1a\x05\xc1$\x16\xf1\xb3\xe4\x97\ -\xaa\xcc\x9c\xc7\x1b\xccF\xc4\x8b1\x80fE\x9bp\x16\ -\xfb\x7f\x03$D\x8d]u\xca0\xbc\x00\x00\x00\x00I\ -END\xaeB`\x82\ -\x00\x00\x04\xe6\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a Set object h\ -eight 1\x0d\ -\x0a \ -\x0d\x0a \x0d\x0a \x0d\x0a \ - \x0d\ -\x0a \x0d\x0a \x0d\x0a\x0d\x0a\ -\x00\x00\x01h\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x0c\x00\x00\x00\x10\x08\x06\x00\x00\x00\x22a\x9e\x07\ -\x00\x00\x01/IDAT(\x91m\xd2!H\x9dQ\ -\x14\x07\xf0\xdf\xf7=\xf0\xa5!\x82\x93\x85\x85\x81E\x96\ -\x0c\x074mma\xb0\xf0\x94\x19\xb5Y\xc4<\x1cC\ -\x04\xe3\xb3\x8a\x0b\xa6\x85\x85\x19\x1e\x0c\x8b\xc50\xb4\xdd\ -&cF\x8b\x08o,\x092\xa6\x8c\x85w\x95\x8f\xbb\ -\xef\xa4{\xcf\xff\x9c\xff\xff\xfc\xcf\xbd\x95\x96H)=\ -\xc5\x17\xbc\x89\x88_M\xacn)\xee`\x0f\x17\xd8(\ -\xf1\xaaQ8\x89>z\xe8\xe0;\xa6\xf1\x0d[\x11q\ -\xf6\xa0\x90R\x9a\xc1\x0f,c\x1cG\x111\x8f)\xec\ -\xe3 \xa5\xb4\x04UJ\xa9\x9b\xe5\x9f4\x94\xb7#b\ -\xb3\xa1>\x85\x13\xf4j\xac`\xa2\x18\xf5\xb2y\x89\x88\ -!\xde\xe1C\x8d\xb7\xe8\x16\x0d\xbfK\xb38\xc4\x5c\xdd\ -\xc2\xde\x1a\x11q{o\xfa\xbc\x05\xaf\xcaD\xf6qS\ -\x1b\xed\xfc\xba\xc0\x1f\xb7\x90\xac\xe1\xa0\x8e\x88S\x1c\xe3\ -O\x03|V\xb0/b\x01;UN\x8c\xe13^\xe1\ -\x11\xce\xf2\xf99V3\xc1bD\x5cV\x05\xd3\x1c\xd6\ -\xf1\x1a?q\x87M\x0c\x22\xe2o\xab\xb9\xdc\xd8\xc7\x0b\ -|\x8a\x88\xdd&\xf6\xdf\xe7\xcb\xf1\x1e_\xf1\xb1\x04\xee\ -=\xcc\xe2\xa5\xd1\x9bt\x8d\xfeP'/b\x98G\xbb\ -\xc2\xe0\x1f\x06\xdbU3\x9dA\x19\x09\x00\x00\x00\x00I\ -END\xaeB`\x82\ -\x00\x00\x01O\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x13\x00\x00\x00\x12\x08\x06\x00\x00\x00\xb9\x0c\xe5i\ -\x00\x00\x01\x16IDAT8\x8d\xe5\xd4=/DA\ -\x14\xc6\xf1\xdf\xae\xcd\x8d\xd7H\xd8\x88\xc6&tJ\x89\ -B\x22\xdb)t(\x84\x8f\xe0\xa5\xf09T:\x85\x1a\ -A\xa3Pjt\xbe\x00\xb2\x05\xd1\xa0\x14B\x16\xbb\x89\ -(\xee\xacl.\xb9w\xb3JOu\xe6\xccs\xfe9\ -3g2\xb9J\xa5r\x8e)\xed\xe9\x18\xcb\xa8A\x01\ -\xe3a\xe3\x05\xcf(\xe2!\x050\x84W\xf4a\x01\x07\ -\x0d`!\x18\xea(a\x04\xdb(\xa7\xc0\xf6\xb0\x8f+\ -\x9c\x06\xe0!\x96\xf2\xc1P\xc5S\xabg\x0b\xba\xc5l\ -\xa8\x9b\xc7Q>\xdd\x9f\xa9kl\x84x\xae\xf0\x8b\xa1\ -\x88\xc5\x14@)\xb1\xde\xc5\x16\x06\x92\xb0{\x9ca\x06\ -\x11z\x9a\xf6\xde\xf0\x8eK\xf1}5\xf4)\x1e\xc8\x0f\ -\xd8#VS\xbaJU\x12\xd6\x8b\x15td\xd4U\xb1\ -\x83\x8f\xe6dr\x00\xa3Xo\xa1\x895Lfu\x06\ -w\xd8\xcc\x80\x95\x91K&\xff\xfa4\xfe3\xac\x0b\x83\ -m2\x22\xf1\x0f\xf2=\xcdH\xfc\xedT\xd1\x89\x9b\x0c\ -\xc00&\xc4\xef\xb1?\xd4\xd4\x0a\xb8\xc0t\x00F\xc1\ -<\xd6BG\xddMq\x1d'_\xecY0\xc6f\xd8\ -\x84\x84\x00\x00\x00\x00IEND\xaeB`\x82\ -\x00\x00\x01/\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x08\x00\x00\x00\x10\x08\x06\x00\x00\x00+\x8a>}\ -\x00\x00\x00\xf6IDAT(\x91m\xd0=+\x86\x01\ -\x18\xc5\xf1\xdf\xf3\x84\xb2\xb0\x89\xf4$\xe4\xa5\x8c\xae\x12\ -\x8b\x922\xd9\x18\x14\xa3\x85\xd5\x8a\xcf`\x90\xcd\xcb&\ -e\x91\xcc>\xc0UH^V\x93A\x8aE\x8a\xb0\xdc\ -wn\xe5l\xd7\xe9\x7f\xaeN\xa7\xa6Pf\x0e\xe1\x1c\ -w\x98\x8e\x88/\xa8\xfb\xd5\x22v\xd0\x8e\xd1\xd2\xac\x02\ -\x9fh\xa0\x05\x1f\xa5\xd9T\x01\x0ep\x8dK\x5c\xfd\xf7\ -\xe1\x15\x0f\xb8\x8d\x88\xef\xff\x80u\x0cb&3;\xff\ -\x00\x99\xb9\x899\x1c\xe1\x19W\x999\x09\xb5\x02\xb8,\ -\xfa\xacb\x1e\xb3h\xc5[Sfv\xa1\x1f\x138\xc4\ -MD\xf4\x14\xc1\xaezQn\x19Cx/v\x00\x11\ -\xf1X+\x8f\xcc\x5c\xc2\x02\xc60\x1c\x11O\xd5\x92\x0d\ -\xac\xe1\x0c7\xb8\xc8\xcc6\xa8gf3\xb6\xd1\x8bc\ -\xec\xa3\x03\x93\xe5\x92\x1b\xf8\xc2xD\x85\x9fX\x87\xdbU\x95uc\x11\x97\xca~\x0f\ -L\xe2\x03:\xaa\xc8&p\x00\x9f\xb1'~o\xc5\xd1\ - \xf8\x1e\x1d\xec\xca\x93\xd5\xd1\x17\xfey\xf4\x87?\x8d\ -\xe7-\x84u\xdc\xc0\xee\xc8\xe9\xc7\xeb\x88\x1dA_\x0d\ -\xab\xf1\x02\x9bsU\x5c\xc1}\xcc\xa0\x177q(\xda\ -k\xc5(\xae\xe3G\x863\xd8\x88\xf7\xf8\xaa\x1dk\xd1\ -\x89_xT\x10\xef\xc5\x02F2I\xa7\x078\x8b\xb7\ -\xb9\xc4\x83\xb8\x16\xf6\x02\x8e\xe3[.\xe72\xb6b2\ -\x93\xf6iTZ\xceV\xec\x97\xa6\xda\x90\xb4|\x22\xad\ -\xc2>i\x00+8-i9\x90I\xda\xac\xa0\x81\xc1\ -hk\x18\x87\xb1\x1c\xb1\xf1x\x9f\xf5g\xff\xaeb\x1e\ -\xe7h_\x8d\xa6\xa4\xcdX\xb4\x9e?\x9f\x8b\xd1\xd2\x89\ - \xf9K\xe3<\xd9;\xec\x95v\xa8\xec\xd4j\xd2d\ -{\xf2dE\xe7\xb4\x05C\xd2\x94\x8ap\x17\x17\x8a\x02\ -Ed$]f\xc3\xde\x86\x0d\xd2\xad~\x91$(-\ -\xb9\x0a\xc3\xb8\x855x\xa9\xfd\xbc\xfe\x8bl\x08\xa7\xa2\ -\xca)l\xafJ\xfe\x0dZUP\xe3\xae\x0f\xedJ\x00\ -\x00\x00\x00IEND\xaeB`\x82\ -\x00\x00\x01\xfc\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x17\x00\x00\x00\x12\x08\x06\x00\x00\x00\xb0\xe7E\x13\ -\x00\x00\x01\xc3IDAT8\x8d\xad\xd4\xcd\x8bNa\ -\x1c\xc6\xf1\xcf\x19/y\x9d\x85\x97\x14)\xa4\xcc\xc8\x82\ -\xe6\x96\x14EY(Rd\xa3\x89$\x8d\x05\xe5e\x1a\ -ec\x83\xb2\xb2\x90\x8d\x8d\x05v\x96vVVV\xd7\ -)\x7f\x02\xf2\x0f\xc8[\x8a\x1e\x8b\xe7\x9czL\xe7\x99\ -\x19q\xd5\xa9\xfb\xba\xbb\x7f\xdf\xdf\xd5\xef>\xe7T\xbd\ -^\xcfBT\xd7u\x85\xb3\x18\xc7G|\xc6\xb3\x89\x89\ -\x89\xa1\x80\xc5\x0b\x22\xf7u\x1d\xebJ)\xb7 \xc9X\ -\xb3\xf7`X\xc1HUU\xba\x9e\xba\xaeo\xd7u\xbd\ -\xac\xf5\xf8\x81WIv'9\x84\xefX?\xac\xbe\xaa\ -*#]\x1d\x93\x8cb\xa6\x19\xc3\x1f*\xa5\xbc\xc5[\ -\x9c\xd4\x1f\xcfPu\xc2q\x0e\xab0\x9d\xa4=\xf3\x0b\ -cI.b\x0b\xde\xe9\xcf}\xe1\xf0$\x15.7v\ -\x07\x8e5\xeb\xc7\xf8\x86\x8d8\x82Q<\x9b\x0b\xdeu\ -\xa1\x8716\xe0o\xe2e)\xa5\x87\xa7\x1daV\x96\ -R\xbe.(9\xae\xcc\xf2\x07\x92\xec\x9d#\xe0\xda$\ -\x17\xe6\x85'\xd9\x8c\x13\x1d\xe7ff\x9d\xdb\xde6,\ -\xa5|\xc0\xd2$\xa7\xe7K~\x09\x8b:\xe0\xa7\x92l\ -m\xc1x\x8d'I\xda\xb1>\xc6T\x92\x83\x9d\xf0$\ -K1\xd5\x01\xd64\xbc\x91dg\x03\xde\x84]\xb8\xd1\ -\xa4\xef\xe1\x1a^$\x19o\x8b\xaa\x01\xf8$\x9e\x0f\x81\ -\xc3W\xfd\x0fg\xdd\xc0\xde7\xec,\xa5\xbco\x18\xf7\ -0\x893\xf898\x96\xcb\xe6\xd6\xcaY`X\x81G\ -\x03\xfe.\x96\xe0\x0d\x0e\x8e4\x1d\xf7`\xff<\xf0a\ -:\x9e\xe4d\xb3\xde\xd7\xc0a[\x9b|\xf6\xeb\xf7\xb7\ -z\x98du)\xe55\xb6\xe1\x0e6TI\xd6\xe8\xff\ -#\x96\xffc\x83\x07\xa5\x94\xe9\xd6$Y5\x82\xf3\xff\ -\x01\x0cW\x93\xecnM)\xe5\xcbb\xfd\xdb\xfd\xf4\x1f\ -\xe0p\x1fG[\xf3\x1b\xdb,\x90K\x95\x7f\xdek\x00\ -\x00\x00\x00IEND\xaeB`\x82\ -\x00\x00\x01\xb8\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x15\x00\x00\x00\x0e\x08\x06\x00\x00\x00\xc0\x06W\xce\ -\x00\x00\x01\x7fIDAT8\x8d\x8d\xd3\xbdk\x15Q\ -\x10\xc6\xe1g\xaf\x17EQ\xd1\x18E\x04\xb1\xd2F\xcb\ -\x01k\x0b\xed\x82\xa4NH\xa1EH\xa7]\x08\xa2H\ -\x04M\xa5\x85 \x8a \xe2_ X(\x08\x8aU\xc0\ -)\xc5\xc2&\x85\xe2g\xe7G\x22\x92\x0f\x8b\xdd\xab\xeb\ -\x82\xbbw\xba3\xf3\xce\xef\xcc9\xe7=\x85Fd\xe6\ -fLa\x0cG\xb1\x17[\xd1\xaf$k\xf8\x81\x0fx\ -\x81k\x11\xb1Tg\x145\xd8q\xdc\xc11\xf4\x9a\x9b\ -u\xc4\x1bLF\xc4\xcb?\xd0\xcc\xbc\x8b\xb3\x0d\xe1\x0a\ ->\xe3#~V\xb9-\xd5\xe4\xfb\xb0\xa3\xa1\xdf\xc0\xa5\ -\x88\x98/2\xf3\x02\xe6k\xa0\x07\xb8\x12\x11o\xdbF\ -\xcb\xcc]\x98\xab\x86\x19\xa9\x95\xc6\x8b\xcc\xfc\x86\xedx\ -\x84\xd3\x11\xb1>\xd4\x81\xff\xdd`\x12\xd71\x8awE\ -fn`-\x22\xfa\xed\xad\x9d\xe0Sx\x82\xf5\xc1\x83\ -l\xca\xcc\xd7\x999\xd2\xd27h\x9e\xce\xccC\xb5\xf5\ -\x91\xcc|\x8e\xc7U\xaa(2sYi\x19\xf8\x8a=\ -\x11\xb1\xda\x00\xf5q\x15\xd3\xca\x07\x9a\xc5+,(m\ -W\x8f\xef}\xdc\xc6\xb9*\xb1\x13\x13\xb8_\xc1F\x95\ -6\x1b\xf3\xd7\xa7p\x11\xdb\xfes\x98\x87\xbd\x888\x8f\ -\xa7\xb5\xe4\xfe\x0a8\xa3\xb4\xd4x\x03\xa8\x05\xf8\x1eg\ -z\x10\x11'1\x83/\xaa\xab\x88\x88[\xb8\xa7\xf4_\ -W\xac\xe2\x19\x0eG\xc4\xaf\xa2K\x9d\x99\x07\xb1\x88\x03\ -\x8d\xd22\x96\x94_\xf5rD|\x1a\x14:\xa15\xf8\ -\x14n`7f#ba\xd8\xdea\xe073\xf3D\ -\x9b\xe67\xefB~?\xd8\xe7\x90V\x00\x00\x00\x00I\ -END\xaeB`\x82\ -\x00\x00\x02\x0e\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x12\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1b\x06/\x5c\ -\x00\x00\x01\xd5IDAT8\x8dm\xd3M\x88\xceQ\ -\x14\x06\xf0\xdf;\xc6\x82)\xb10jl|5\x92\x8f\ -1u\x94\x90\x95\x95\x9a\x94\x12j2\x09[\x1a6,\ -H6\xa3|\x84\xcd\xa4h\xb2\xd1\x88\x99\x85\xaf\x86\xa4\ -\x88l\x8ef\x8a\x15K\xb3@hR\x94\x91X\xbc\xd7\ -\xf4\xce\xbf9u\xeb\x9e\xf3\x9c\x9es\xces\xef\xa9e\ -\xe6\x1cl\xc3hD\x8c\x9b\xc12\xb3\x0fK\xd0\x1d\x11\ -\x7ff\xca\xa9e\xe6\x03\xcc\xc5j\xb4G\xc4Df\x1e\ -\xc2A\xec\x88\x88\x8f\x999\x86\xa5h-g/\x1eF\ -\xc4\xdb\xffDMh\xc7\x1d\xfc\xc5\xfc\x12_\x8cuh\ -)\xfe0\xceD\xc4/\xdc,\xd8\x93\xc6\x8e\x9a\xb0\x1f\ -[\xf1\x1c\x9b!\x22N\xe3\x18\x96\x97\xbce\xf8Z\xee\ -\xdf\xb0\x16\x9f\xa7\x11E\xc4\x8b\x88\xd8\x8d\xe38\x95\x99\ -\x07\x0a6\x80\xdd\xe5\xde\x82\xef\x99\xb9\x08kp\xf6\x7f\ -\xd1)\x8d\x1a\x9d\xcc\x5c\x88\x07\x18\x88\x88\xfe\xcc<\x82\ -\x11\x5cB?\x8e\xe2bD\xdc\xcd\xcc\x1az\x8b\xb6\xe7\ -\xa6\x11\x15\xb2\x16\xdc\xc6c\x5c+z\xacG'\x86\x22\ -b\xa4\xe4m\xc1u\x0caC\xad\x04[\xd1\x19\x11\x8f\ -\x8a?\x1b]\x111\xdcP`\x05\xc6\x11\xd8\xa4\xfee\ -6b\x14\xef\x9bK\xde\x05tg\xe63L\x94Xo\ -\xa5\xd9\x85\xb8\x887x\x8dA\xcc\xc3J\xdco$\x1a\ -\xc3\x95\x88\xf8\xdd\xd0EG\xe9b\x01\xda\xcah7*\ -\x05\xdeR\x11\xbb\xa2\xd5N\xec\xc2>u\x91g\xe1G\ -\x19\xe9\x9e\xfa\x83L\x15m\x9a\x81\xa0\x96\x99'\xd1\x83\ -\x9e\x92<\x88=\x11q\x19?q\xb5\xe83e\xd5\xe7\ -\xefB\x1f>\xa8\xaf\xc7d\x03\xf6\xb2h\xf4N\xfdC\ -\xdej\xdc\xbbf\xd3m;V\xa9/\xe7d\x05\x9b\xc0\ -y\xf5\xbd\xec\xa8.ou\xb4\xc3h\x8b\x88\xb1\xea\xc8\ -\xea{\xd8\x87/XQ\x05\xa7uT\xf4\xf84\x03\x09\ -\x9c\xc0\x19<\xc5\xab*\xf8\x0f\xdd\xdb\x9d,w\xcc\x1f\ -\xb4\x00\x00\x00\x00IEND\xaeB`\x82\ -\x00\x00\x04\xe9\ -\x89\ -PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ -\x00\x00\x00\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\ -\x00\x00\x00 cHRM\x00\x00z&\x00\x00\x80\x84\ -\x00\x00\xfa\x00\x00\x00\x80\xe8\x00\x00u0\x00\x00\xea`\ -\x00\x00:\x98\x00\x00\x17p\x9c\xbaQ<\x00\x00\x00\x06\ -bKGD\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\x00\ -\x00\x09oFFs\x00\x00\x02\xc0\x00\x00\x00\x00\x00\x5c\ -]\xb9S\x00\x00\x00\x09pHYs\x00\x00\x0b\x13\x00\ -\x00\x0b\x13\x01\x00\x9a\x9c\x18\x00\x00\x00\x07tIME\ -\x07\xdf\x0c\x12\x0e\x1b\x0b$&IW\x00\x00\x00\x09v\ -pAg\x00\x00\x03@\x00\x00\x00 \x00\xbe\xe6\x89Z\ -\x00\x00\x03\xaeIDATX\xc3\xed\xd6]\x88UU\ -\x14\x07\xf0\xdf\x98\x8e\x96\xa8QIjA\x1f\x04BD\ -\xd0KQ\xf8\x12\x91\x11=\x04\xf5b'\x85\x8e\x88\x8d\ -i\xa7\x14\x02\xc3\xc2\xbe\xa0\xcc,8f\x1aa\xa7/\ -N\x11J\x05RP\xe1C\x1f\x86\x0f\xbe\x98(\x94\x1a\ -F\x94\x85Y\x98\xcd\x80:\xde\x1e\xf6\xbe\xce\x9e\xdb\xbd\ -3:MO\xb5\xe0p\xf7\xddg\x9d\xb5\xfe{}\xfc\ -\xf7\xe2\xbf.]\xcdE\x96\x17Oa\xc5(\xdb\x9f]\ -W\xe5'C)\x8cM\xd6+p\x02\x07p\xec\x1f:\ -\x9e\x82\x19\xb8\x1a\xa7\x0d\x00\x0e\xd4Uy\xc5h\x1c=\ -\xcb\x8b\x06N\x0e\xa7\xd7\x0a\xe0X\x07cS\xb0\x11\x1b\ -\xeb\xaa\xfch\x04``a\x8c\xcc\xea\xba*;\x02h\ -~\xb0\x16S\xf1\x07&`\x12n\xc7\xac,/\xde\xc5\ -\xf7Q\xb5\x0b\xefa:\xaeCo]\x95/%\xa6\x9a\ -5\xb6\x04k\x84\x14\x8f\xc9\xf2bU\x13D[\x00\x98\ -\x17\xd1\xf6cL\xb2\x7f!\xee\x8b\xc0\xc6\xe3\xec\x08\xe6\ -Z,C\x1fR\x00?dy\xb1\x00O\xa3;>\xcb\ -\xb0j\xc8\x08\xe0!\xcc\xc48\xfc\x88\x8bp\x17.\xc0\ -Y\xf1\x99\x8f\x8b\xb1\x07G\xe2i\x8f&6\x1e\x8b\xfa\ -\xeb\x92\xbdo1o\xd8\x14\xd4U\xf9J\x9b\xb4lC\ -\x95\xa4d\x0dz\xea\xaa\xdc\x89\x9dh\xad\x8d?\xf1L\ -\xf2\xffg\xcc\xaf\xabr{\xaa\xd4\xa9\x06\xee\xc0e\x06\ -\xaa\xb8\x0b\xbf\xe1~\xac\xc6\xb9B\x9b\xbd\x9d\xe5\xc5-\ -uU~\x99\xe5\xc5R\xf4\xd5U\xb9!\xcb\x8b\x1e<\ -\x19\xc16\x9d\xcf\xa9\xab\xf2\x8bV_\x9dR\xb0\x14\xb3\ -\xda\xec7\xe2\xd3\x1f\xd30\x11\x1fdy\xb1\x0c+\x85\ -\x22\xdb\x80\xf5-a\x9f\xdf\xce\xf9P\x006\xe2\xb3\xe8\ -,\x95cx\x1d7\x09\xc56\x1e\xe7\xc7P/\xc0\x8c\ -,/~O\xf4\x8f\x0a9\xdf\xde\xc1O\xc7\x1ax\xcd\ -\xd0\xf2j\x96\x17\xbdX+\x14\xdat\xbc)tLw\ -\xd4\xd9\x8f|(\xe7\x1d\x01dyq'.\xd5\x99\xc9\ -\xba\xf0\x0b\x1eF)\xb4\xe3\x84\xe4\xfd^<\x81\xc3\xc3\ -\x1c\xa4c\x0a\x1e\xd4\xbe\x06Ri\x08\xfd\xbcI\xe0\x8d\ -T\xd6\xc7\xc8\xcc\xc6\xae\x91\x00x\x03\xdb\x87\x89\xc0.\ -\xa1\x1d\x97\xb7y\xbfR`\xbfm#\x8a@;\x1eh\ -\x95,/\x16\x09\x0c\xd7\x94\xc3\x02qM\xc2d\xa10\ -\x17c\xdf\x19\x03\xc8\xf2b\xb9p\x95\xa6\x11\xe8\xc2q\ -!\xbf\x87\xf0\x82\xd0\x05\xf0\x13\xee\xc1%x\xd6\x00O\ -\xbc\x95\xe5\xc5\xaduU~~\xa6)\xb8M\xfb\x1a8\ -.\xe4\xbe;\xd9\xfbF\xa0\xdd\x0f\xe3\xbbE\x06\xc8j\ -\x22\xde\xcf\xf2ba]\x95\x9b\xcf\x04\xc0\xa3\xf1\x04M\ -\x1eh\xa0W`\xc7\xc7\x13\x00G1\x17\x07\xe3o\x1f\ -\xb6\xc6\xc8\xad\x13:\xe3<\xbc\x98\xe5Eo\xbb\xab<\ -\x1d\xc9\x1a\xd8SW\xe5\x95\x1d\xd2r\xaf\xc0rM\xd9\ -\x8f\xb9uU~\xd5F\x17z\x84V\x9c\x1a\xb7\x8f\x08\ -t<\x08D[\x00\x09\x0f4\x84Ke\x1c\x9e3\x90\ -\xf3}x$\x86\xf9S\xc9< \xcc\x077\xe0F\xec\ -\x10Z\xb2\xf9\xddA,I\xd31\x1c\x0f\xf4\x0b\xfc\xde\ -\x9d\x80=\x89\xcbQ\xc7\xbd9\x06\xe6\x81\x13\xd8\x1d\xed\ -.\xc6\xddx@ \xabnL\xc3\xcbY^l\x1en\ - i\xf2@\xbfPd\xd7\x08\x83\xc8^a.\x98\x8e\ -\x9b\xe3\xfb\xdd\x06\xcf\x03\xdf\x09\x83\x0bL\xab\xab\xf2\xf9\ -,/~\x8d\xe9\xeb\x12\xae\xf0S\x8eN\x8b\x07\xb2\xbc\ -\x98\x1c\xc3\xbb\xa5\xae\xca\x1dq{K\xa2\xf2\xb5d\x1e\ -\xc8\xf2\xe2\xfa\xb8lD{\x9b\xb2\xbc\x18\x8b\xee\xba*\ -7\xa5\xb6[\x01\x8cI\x8ahr\xb2\xdf\x10\xfa\xfbP\ -\x043\x94\x1c\xc19q}\xaa\xc6\xea\xaa|'\xda\x1d\ -$\xad\x00f\xc6b\x1c-\x19D\xe5i\xe8\xdb\x01\xc8\ -p\x95\xbf\xcf\x00#\x95\x06>\x1e\xc5\xc3\xfc/\xff\x8e\ -\xfc\x05\x99&,\xa0:Dw\xab\x00\x00\x00%tE\ -Xtdate:create\x0020\ -15-12-18T14:27:1\ -1+00:00YM\xe3\xc6\x00\x00\x00%t\ -EXtdate:modify\x002\ -015-12-18T14:27:\ -11+00:00(\x10[z\x00\x00\x00\x00\ -IEND\xaeB`\x82\ -\x00\x00\x04~\ -\x00\ -\x00\x01\x00\x01\x00\x10\x10\x00\x00\x00\x00 \x00h\x04\x00\ -\x00\x16\x00\x00\x00(\x00\x00\x00\x10\x00\x00\x00 \x00\x00\ -\x00\x01\x00 \x00\x00\x00\x00\x00@\x04\x00\x00\x13\x0b\x00\ -\x00\x13\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ ->\x00\x00\x00\xa1\x00\x00\x00\xd6\x00\x00\x00\xeb\x00\x00\x00\ -\xec\x00\x00\x00\xd8\x00\x00\x00\xa7\x00\x00\x00G\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x9e\x02\x022\ -\xff\x04\x10\x81\xff\x03#\xaa\xff\x02,\xbb\xff\x02-\xbc\ -\xff\x03$\xac\xff\x03\x12\x85\xff\x02\x028\xff\x00\x00\x00\ -\xac\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x0c\x00\x00\x00\xbb\x03\x08\x5c\xff\x02/\xcb\ -\xff\x00;\xca\xff\x00:\xca\xff\x009\xca\xff\x009\xca\ -\xff\x00:\xca\xff\x00;\xca\xff\x022\xcb\xff\x03\x09b\ -\xff\x00\x00\x00\xc9\x00\x00\x00\x13\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x98\x04\x08^\xff\x015\xca\xff\x00:\xca\ -\xff\x008\xca\xff\x008\xca\xff\x008\xca\xff\x008\xca\ -\xff\x008\xca\xff\x008\xca\xff\x00:\xca\xff\x018\xca\ -\xff\x03\x09c\xff\x00\x00\x00\xaf\x00\x00\x00\x00\x00\x00\x00\ -0\x00\x00\x00\xfd\x02.\xc8\xff\x00:\xca\xff\x008\xca\ -\xff\x008\xca\xff\x008\xca\xff\x008\xca\xff\x008\xca\ -\xff\x008\xca\xff\x008\xca\xff\x008\xca\xff\x00:\xca\ -\xff\x022\xcb\xff\x02\x027\xff\x00\x00\x00E\x00\x00\x00\ -\x92\x04\x0eu\xff\x00:\xca\xff\x008\xca\xff\x008\xca\ -\xff\x008\xca\xff\x008\xca\xff\x008\xca\xff\x008\xca\ -\xff\x008\xca\xff\x008\xca\xff\x008\xca\xff\x008\xca\ -\xff\x00;\xca\xff\x03\x13\x87\xff\x00\x00\x00\xaa\x00\x00\x00\ -\xce\x02\x1f\xa4\xff\x00:\xc9\xff\x008\xc9\xff\x008\xca\ -\xff\x008\xca\xff\x008\xca\xff\x008\xca\xff\x008\xca\ -\xff\x008\xca\xff\x008\xca\xff\x008\xca\xff\x008\xca\ -\xff\x00:\xca\xff\x03%\xaf\xff\x00\x00\x00\xdc\x00\x00\x00\ -\xea\x02)\xb9\xff\x01:\xca\xff\x088\xd1\xff\x098\xd1\ -\xff\x078\xd0\xff\x058\xce\xff\x038\xcd\xff\x028\xcc\ -\xff\x018\xca\xff\x008\xca\xff\x008\xca\xff\x008\xca\ -\xff\x009\xca\xff\x02-\xbd\xff\x00\x00\x00\xed\x00\x00\x00\ -\xe8\x02)\xb8\xff\x0d:\xd6\xff\x139\xdb\xff\x118\xd9\ -\xff\x0f8\xd7\xff\x0d8\xd6\xff\x0b8\xd4\xff\x0a8\xd3\ -\xff\x088\xd1\xff\x068\xcf\xff\x048\xce\xff\x028\xcb\ -\xff\x009\xc9\xff\x02-\xbd\xff\x00\x00\x00\xed\x00\x00\x00\ -\xcb\x06\x1d\xa5\xff\x1b;\xe2\xff\x1a9\xe2\xff\x189\xe0\ -\xff\x179\xde\xff\x159\xdd\xff\x139\xdb\xff\x129\xda\ -\xff\x108\xd8\xff\x0e8\xd7\xff\x0c8\xd5\xff\x0a8\xd3\ -\xff\x01:\xcb\xff\x03$\xad\xff\x00\x00\x00\xd9\x00\x00\x00\ -\x8b\x07\x0dr\xff\x22;\xe8\xff\x22:\xe9\xff 9\xe7\ -\xff\x1e9\xe5\xff\x1c9\xe3\xff\x1b9\xe2\xff\x199\xe0\ -\xff\x179\xdf\xff\x169\xdd\xff\x149\xdc\xff\x139\xdb\ -\xff\x07;\xd0\xff\x03\x11\x82\xff\x00\x00\x00\xa3\x00\x00\x00\ -(\x00\x00\x00\xfa\x1c+\xd7\xff,;\xf2\xff(:\xee\ -\xff&:\xec\xff$:\xeb\xff#:\xe9\xff!:\xe7\ -\xff\x1f9\xe6\xff\x1d9\xe4\xff\x1c9\xe3\xff\x1b;\xe2\ -\xff\x090\xd1\xff\x02\x02/\xff\x00\x00\x00;\x00\x00\x00\ -\x00\x00\x00\x00\x88\x07\x08[\xff,5\xf1\xff3;\xf8\ -\xff.;\xf3\xff,:\xf1\xff*:\xf0\xff(:\xee\ -\xff':\xed\xff%:\xeb\xff&;\xec\xff\x1c6\xe3\ -\xff\x04\x08]\xff\x00\x00\x00\x9f\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x05\x00\x00\x00\xaa\x08\x08[\xff)+\xe2\ -\xff8;\xfc\xff7;\xfc\xff4;\xf9\xff2;\xf8\ -\xff1;\xf6\xff/;\xf5\xff#/\xe5\xff\x06\x08`\ -\xff\x00\x00\x00\xbb\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x88\x00\x00\x00\ -\xf6\x0e\x0ex\xff\x1e\x1f\xb8\xff)+\xda\xff)+\xdb\ -\xff\x1d!\xba\xff\x0e\x0f~\xff\x00\x00\x00\xfb\x00\x00\x00\ -\x96\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -+\x00\x00\x00\x8a\x00\x00\x00\xc8\x00\x00\x00\xe7\x00\x00\x00\ -\xe8\x00\x00\x00\xcb\x00\x00\x00\x91\x00\x00\x003\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x0f\x00\ -\x00\xc0\x03\x00\x00\x80\x01\x00\x00\x80\x01\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x01\x00\ -\x00\x80\x01\x00\x00\xc0\x03\x00\x00\xf0\x0f\x00\x00\ -\x00\x00\x03F\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a source contr\ -ol connected\x0d\x0a \x0d\x0a \ - \x0d\x0a \x0d\x0a\x0d\x0a\ -\x00\x00\x03J\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a source contr\ -ol - not setup\x0d\x0a \x0d\x0a\ - \x0d\x0a \x0d\ -\x0a\x0d\x0a\ -\x00\x00\x04~\ -\x00\ -\x00\x01\x00\x01\x00\x10\x10\x00\x00\x00\x00 \x00h\x04\x00\ -\x00\x16\x00\x00\x00(\x00\x00\x00\x10\x00\x00\x00 \x00\x00\ -\x00\x01\x00 \x00\x00\x00\x00\x00@\x04\x00\x00\x13\x0b\x00\ -\x00\x13\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x1a\x1c\ ->\x1c\x0f\x1b\xa1\x1c\x13\x1b\xd6\x1b\x1e\x1b\xeb\x19\x1d\x1a\ -\xec\x17\x0f\x17\xd8\x13\x05\x11\xa7\x0d\x09\x0cG\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00###\x0a#\x19\x22\x9e!$\x22\ -\xff\x18q!\xff\x0d\xb6\x1e\xff\x09\xd0\x1d\xff\x09\xd2\x1d\ -\xff\x0d\xba\x1f\xff\x16x \xff\x18!\x19\xff\x10\x05\x0f\ -\xac\x0f\x0f\x0f\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00%&%\x0c'\x1b&\xbb\x1fK$\xff\x09\xcd\x1d\ -\xff\x00\xfd\x19\xff\x00\xfb\x18\xff\x00\xf7\x18\xff\x00\xf6\x18\ -\xff\x00\xfa\x18\xff\x00\xff\x19\xff\x0a\xd7\x1f\xff\x18P\x1e\ -\xff\x12\x06\x11\xc9\x04\x05\x05\x13\x00\x00\x00\x00\x00\x00\x00\ -\x00-#,\x98\x22I&\xff\x03\xe6\x1a\xff\x00\xfb\x18\ -\xff\x00\xf0\x19\xff\x00\xf0\x19\xff\x00\xf0\x19\xff\x00\xf0\x19\ -\xff\x00\xf0\x19\xff\x00\xf0\x19\xff\x00\xf9\x18\xff\x05\xf1\x1c\ -\xff\x18P\x1e\xff\x11\x06\x11\xaf\x00\x00\x00\x00.,.\ -0+.+\xfd\x08\xc8\x1c\xff\x00\xfb\x18\xff\x00\xf0\x19\ -\xff\x00\xf0\x19\xff\x00\xf0\x19\xff\x00\xf0\x19\xff\x00\xf0\x19\ -\xff\x00\xf0\x19\xff\x00\xf0\x19\xff\x00\xf0\x19\xff\x00\xfa\x18\ -\xff\x09\xd7\x1e\xff\x19\x22\x1a\xff\x0c\x09\x0cE3&1\ -\x92\x1dk%\xff\x00\xfb\x18\xff\x00\xf0\x19\xff\x00\xf0\x18\ -\xff\x00\xf0\x18\xff\x00\xf0\x19\xff\x00\xf0\x19\xff\x00\xf0\x19\ -\xff\x00\xf0\x19\xff\x00\xf0\x19\xff\x00\xf0\x19\xff\x00\xf0\x19\ -\xff\x00\xff\x19\xff\x16x \xff\x14\x07\x13\xaa3'2\ -\xce\x0f\xa5\x1f\xff\x00\xfc\x17\xff\x00\xf0\x17\xff\x01\xf0\x1a\ -\xff\x02\xf0\x1b\xff\x00\xf0\x19\xff\x00\xf0\x18\xff\x00\xf0\x18\ -\xff\x00\xf0\x18\xff\x00\xf0\x19\xff\x00\xf0\x19\xff\x00\xf0\x19\ -\xff\x00\xfa\x18\xff\x0c\xba\x1f\xff\x1a\x12\x19\xdc5/4\ -\xea\x07\xc2\x1a\xff\x03\xf9\x1b\xff!\xf27\xff%\xf2:\ -\xff\x1e\xf24\xff\x16\xf1-\xff\x0f\xf1&\xff\x08\xf0!\ -\xff\x04\xf0\x1c\xff\x01\xf0\x1a\xff\x00\xf0\x18\xff\x00\xf0\x18\ -\xff\x00\xf7\x18\xff\x08\xd1\x1d\xff\x1b\x1f\x1c\xed616\ -\xe8\x07\xc1\x1b\xff:\xfcO\xffT\xf5e\xffH\xf4Z\ -\xffA\xf4S\xff9\xf4M\xff1\xf3F\xff*\xf2?\ -\xff\x22\xf27\xff\x1a\xf10\xff\x12\xf1*\xff\x08\xf0 \ -\xff\x00\xf7\x17\xff\x08\xd0\x1d\xff\x1d \x1d\xed8.7\ -\xcb \xa1.\xffs\xff\x82\xffr\xf6\x80\xffi\xf6x\ -\xffb\xf6q\xffZ\xf6k\xffS\xf5d\xffL\xf5]\ -\xffD\xf4W\xff=\xf4P\xff6\xf3I\xff-\xf2A\ -\xff\x06\xfb\x1f\xff\x0b\xb5\x1d\xff \x17\x1f\xd9;2:\ -\x8b3i9\xff\x91\xff\x9d\xff\x95\xfa\x9f\xff\x8b\xf8\x96\ -\xff\x83\xf8\x8f\xff{\xf7\x88\xfft\xf7\x82\xffm\xf7{\ -\xffe\xf6t\xff^\xf6n\xffV\xf5g\xffS\xf5d\ -\xff\x1d\xfe5\xff\x13q\x1d\xff\x1f\x12\x1e\xa3><=\ -(262\xfa\x83\xc4\x8a\xff\xbf\xff\xc7\xff\xac\xfa\xb4\ -\xff\xa5\xfa\xae\xff\x9d\xf9\xa7\xff\x96\xf9\xa0\xff\x8e\xf9\x99\ -\xff\x87\xf8\x92\xff\x7f\xf7\x8c\xffx\xf7\x85\xfft\xff\x83\ -\xff(\xce9\xff\x1f' \xff!\x1e!;\x00\x00\x00\ -\x00>;>\x88DME\xff\xbd\xe3\xc2\xff\xdb\xff\xdf\ -\xff\xc7\xfd\xcc\xff\xbe\xfb\xc4\xff\xb6\xfb\xbe\xff\xaf\xfa\xb7\ -\xff\xa8\xfa\xb0\xff\xa1\xfa\xaa\xff\xa3\xff\xad\xffx\xeb\x84\ -\xff$M(\xff'\x1f&\x9f\x00\x00\x00\x00\x00\x00\x00\ -\x00<=<\x05979\xaaLPL\xff\xba\xc7\xbb\ -\xff\xf1\xff\xf4\xff\xee\xff\xf0\xff\xe2\xff\xe6\xff\xda\xff\xdf\ -\xff\xd5\xff\xda\xff\xcd\xff\xd3\xff\x9b\xd0\xa0\xff9M;\ -\xff#\x1d#\xbb\x0d\x0e\x0d\x0b\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00CCC\x04<;<\x889:9\ -\xf6lnl\xff\xa4\xa8\xa4\xff\xc3\xcb\xc4\xff\xc1\xcd\xc2\ -\xff\xa2\xb0\xa3\xffitj\xff333\xfb,'+\ -\x96$$$\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00BBB\ -+555\x8a111\xc8444\xe7333\ -\xe8-+-\xcb,*,\x911113\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x0f\x00\ -\x00\xc0\x03\x00\x00\x80\x01\x00\x00\x80\x01\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x01\x00\ -\x00\x80\x01\x00\x00\xc0\x03\x00\x00\xf0\x0f\x00\x00\ -\x00\x00\x03L\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a source contr\ -ol - warning v2<\ -/title>\x0d\x0a \ -\x0d\x0a \ -\x0d\x0a \x0d\x0a\x0d\x0a\ -\x00\x00\x04~\ -\x00\ -\x00\x01\x00\x01\x00\x10\x10\x00\x00\x00\x00 \x00h\x04\x00\ -\x00\x16\x00\x00\x00(\x00\x00\x00\x10\x00\x00\x00 \x00\x00\ -\x00\x01\x00 \x00\x00\x00\x00\x00@\x04\x00\x00\x13\x0b\x00\ -\x00\x13\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ ->\x00\x00\x00\xa1\x00\x00\x00\xd6\x00\x00\x00\xeb\x00\x00\x00\ -\xec\x00\x00\x00\xd8\x00\x00\x00\xa7\x00\x00\x00G\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x9e\x0148\ -\xff\x02\x8c\x92\xff\x01\xbf\xc1\xff\x01\xd5\xd4\xff\x01\xd6\xd5\ -\xff\x01\xc2\xc3\xff\x01\x91\x97\xff\x01;@\xff\x00\x00\x00\ -\xac\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x0c\x00\x00\x00\xbb\x01bh\xff\x01\xe7\xe6\ -\xff\x00\xec\xe6\xff\x00\xec\xe6\xff\x00\xeb\xe6\xff\x00\xeb\xe6\ -\xff\x00\xec\xe6\xff\x00\xec\xe6\xff\x01\xe8\xe6\xff\x01io\ -\xff\x00\x00\x00\xc9\x00\x00\x00\x13\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x98\x02cj\xff\x00\xea\xe6\xff\x00\xec\xe6\ -\xff\x00\xeb\xe6\xff\x00\xeb\xe6\xff\x00\xeb\xe6\xff\x00\xeb\xe6\ -\xff\x00\xeb\xe6\xff\x00\xeb\xe6\xff\x00\xec\xe6\xff\x01\xeb\xe6\ -\xff\x01jp\xff\x00\x00\x00\xaf\x00\x00\x00\x00\x00\x00\x00\ -0\x00\x00\x00\xfd\x01\xe4\xe4\xff\x00\xec\xe6\xff\x00\xeb\xe6\ -\xff\x00\xeb\xe6\xff\x00\xeb\xe6\xff\x00\xeb\xe6\xff\x00\xeb\xe6\ -\xff\x00\xeb\xe6\xff\x00\xeb\xe6\xff\x00\xeb\xe6\xff\x00\xec\xe6\ -\xff\x01\xe8\xe6\xff\x019>\xff\x00\x00\x00E\x00\x00\x00\ -\x92\x02~\x84\xff\x00\xec\xe6\xff\x00\xeb\xe6\xff\x00\xeb\xe6\ -\xff\x00\xeb\xe6\xff\x00\xeb\xe6\xff\x00\xeb\xe6\xff\x00\xeb\xe6\ -\xff\x00\xeb\xe6\xff\x00\xeb\xe6\xff\x00\xeb\xe6\xff\x00\xeb\xe6\ -\xff\x00\xec\xe6\xff\x01\x93\x9a\xff\x00\x00\x00\xaa\x00\x00\x00\ -\xce\x02\xb7\xba\xff\x00\xec\xe6\xff\x00\xeb\xe6\xff\x00\xeb\xe6\ -\xff\x00\xeb\xe6\xff\x00\xeb\xe6\xff\x00\xeb\xe6\xff\x00\xeb\xe6\ -\xff\x00\xeb\xe6\xff\x00\xeb\xe6\xff\x00\xeb\xe6\xff\x00\xeb\xe6\ -\xff\x00\xec\xe6\xff\x01\xc6\xc6\xff\x00\x00\x00\xdc\x00\x00\x00\ -\xea\x01\xd3\xd3\xff\x00\xec\xe6\xff\x04\xeb\xe9\xff\x04\xeb\xe9\ -\xff\x03\xeb\xe9\xff\x02\xeb\xe8\xff\x02\xeb\xe7\xff\x01\xeb\xe7\ -\xff\x00\xeb\xe6\xff\x00\xeb\xe6\xff\x00\xeb\xe6\xff\x00\xeb\xe6\ -\xff\x00\xeb\xe6\xff\x01\xd7\xd6\xff\x00\x00\x00\xed\x00\x00\x00\ -\xe8\x01\xd0\xd1\xff\x06\xec\xec\xff\x09\xeb\xee\xff\x08\xeb\xed\ -\xff\x07\xeb\xec\xff\x06\xeb\xeb\xff\x05\xeb\xeb\xff\x05\xeb\xea\ -\xff\x04\xeb\xe9\xff\x03\xeb\xe8\xff\x02\xeb\xe8\xff\x01\xeb\xe7\ -\xff\x00\xeb\xe6\xff\x01\xd7\xd6\xff\x00\x00\x00\xed\x00\x00\x00\ -\xcb\x03\xb4\xb9\xff\x0d\xec\xf1\xff\x0d\xeb\xf1\xff\x0c\xeb\xf0\ -\xff\x0b\xeb\xef\xff\x0a\xeb\xef\xff\x09\xeb\xee\xff\x08\xeb\xed\ -\xff\x07\xeb\xed\xff\x07\xeb\xec\xff\x06\xeb\xeb\xff\x05\xeb\xea\ -\xff\x01\xec\xe6\xff\x01\xc2\xc4\xff\x00\x00\x00\xd9\x00\x00\x00\ -\x8b\x03x\x7f\xff\x10\xec\xf4\xff\x10\xec\xf4\xff\x0f\xec\xf3\ -\xff\x0e\xec\xf3\xff\x0e\xeb\xf2\xff\x0d\xeb\xf1\xff\x0c\xeb\xf1\ -\xff\x0b\xeb\xf0\xff\x0a\xeb\xef\xff\x09\xeb\xee\xff\x09\xeb\xee\ -\xff\x03\xec\xe9\xff\x01\x8d\x93\xff\x00\x00\x00\xa3\x00\x00\x00\ -(\x00\x00\x00\xfa\x0d\xd9\xe5\xff\x15\xec\xf9\xff\x13\xec\xf7\ -\xff\x12\xec\xf6\xff\x11\xec\xf5\xff\x10\xec\xf5\xff\x10\xec\xf4\ -\xff\x0f\xec\xf3\xff\x0e\xeb\xf2\xff\x0d\xeb\xf2\xff\x0d\xec\xf1\ -\xff\x04\xe7\xe9\xff\x0115\xff\x00\x00\x00;\x00\x00\x00\ -\x00\x00\x00\x00\x88\x03^e\xff\x15\xe9\xf8\xff\x18\xec\xfb\ -\xff\x16\xec\xf9\xff\x15\xec\xf9\xff\x14\xec\xf8\xff\x13\xec\xf7\ -\xff\x12\xec\xf6\xff\x12\xec\xf6\xff\x12\xec\xf6\xff\x0d\xea\xf1\ -\xff\x02ci\xff\x00\x00\x00\x9f\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x05\x00\x00\x00\xaa\x03]d\xff\x13\xd9\xea\ -\xff\x1a\xec\xfe\xff\x1a\xec\xfd\xff\x19\xec\xfc\xff\x18\xec\xfb\ -\xff\x17\xec\xfb\xff\x17\xec\xfa\xff\x11\xe3\xf1\xff\x03cj\ -\xff\x00\x00\x00\xbb\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x88\x00\x00\x00\ -\xf6\x06w\x81\xff\x0e\xb2\xc0\xff\x13\xd1\xe2\xff\x13\xd2\xe2\ -\xff\x0e\xb6\xc3\xff\x07~\x88\xff\x00\x00\x00\xfb\x00\x00\x00\ -\x96\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -+\x00\x00\x00\x8a\x00\x00\x00\xc8\x00\x00\x00\xe7\x00\x00\x00\ -\xe8\x00\x00\x00\xcb\x00\x00\x00\x91\x00\x00\x003\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x0f\x00\ -\x00\xc0\x03\x00\x00\x80\x01\x00\x00\x80\x01\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x01\x00\ -\x00\x80\x01\x00\x00\xc0\x03\x00\x00\xf0\x0f\x00\x00\ -\x00\x00\x04~\ -\x00\ -\x00\x01\x00\x01\x00\x10\x10\x00\x00\x01\x00 \x00h\x04\x00\ -\x00\x16\x00\x00\x00(\x00\x00\x00\x10\x00\x00\x00 \x00\x00\ -\x00\x01\x00 \x00\x00\x00\x00\x00@\x04\x00\x00\x13\x0b\x00\ -\x00\x13\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00|||\ ->|||\xa1|||\xd6|||\xeb|||\ -\xec|||\xd8|||\xa7|||G\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00|||\x0a|||\x9e\x89\x89\x89\ -\xff\x9e\x9e\x9e\xff\xa8\xa8\xa8\xff\xac\xac\xac\xff\xad\xad\xad\ -\xff\xa9\xa9\xa9\xff\x9f\x9f\x9f\xff\x8b\x8b\x8b\xff|||\ -\xac|||\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00|||\x0c|||\xbb\x94\x94\x94\xff\xb0\xb0\xb0\ -\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\ -\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\x96\x96\x96\ -\xff|||\xc9|||\x13\x00\x00\x00\x00\x00\x00\x00\ -\x00|||\x98\x95\x95\x95\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\ -\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\ -\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\ -\xff\x96\x96\x96\xff|||\xaf\x00\x00\x00\x00|||\ -0|||\xfd\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\ -\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\ -\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\ -\xff\xb0\xb0\xb0\xff\x8a\x8a\x8a\xff|||E|||\ -\x92\x9b\x9b\x9b\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\ -\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\ -\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\ -\xff\xb0\xb0\xb0\xff\x9f\x9f\x9f\xff|||\xaa|||\ -\xce\xa6\xa6\xa6\xff\xaf\xaf\xaf\xff\xaf\xaf\xaf\xff\xb0\xb0\xb0\ -\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\ -\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\ -\xff\xb0\xb0\xb0\xff\xaa\xaa\xaa\xff|||\xdc|||\ -\xea\xac\xac\xac\xff\xb0\xb0\xb0\xff\xb3\xb3\xb3\xff\xb4\xb4\xb4\ -\xff\xb3\xb3\xb3\xff\xb2\xb2\xb2\xff\xb1\xb1\xb1\xff\xb1\xb1\xb1\ -\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\ -\xff\xb0\xb0\xb0\xff\xad\xad\xad\xff|||\xed|||\ -\xe8\xac\xac\xac\xff\xb6\xb6\xb6\xff\xb9\xb9\xb9\xff\xb8\xb8\xb8\ -\xff\xb7\xb7\xb7\xff\xb6\xb6\xb6\xff\xb5\xb5\xb5\xff\xb4\xb4\xb4\ -\xff\xb3\xb3\xb3\xff\xb2\xb2\xb2\xff\xb2\xb2\xb2\xff\xb0\xb0\xb0\ -\xff\xaf\xaf\xaf\xff\xad\xad\xad\xff|||\xed|||\ -\xcb\xa8\xa8\xa8\xff\xbd\xbd\xbd\xff\xbc\xbc\xbc\xff\xbb\xbb\xbb\ -\xff\xbb\xbb\xbb\xff\xba\xba\xba\xff\xb9\xb9\xb9\xff\xb8\xb8\xb8\ -\xff\xb7\xb7\xb7\xff\xb6\xb6\xb6\xff\xb5\xb5\xb5\xff\xb4\xb4\xb4\ -\xff\xb0\xb0\xb0\xff\xa9\xa9\xa9\xff|||\xd9|||\ -\x8b\x9b\x9b\x9b\xff\xc0\xc0\xc0\xff\xc0\xc0\xc0\xff\xbf\xbf\xbf\ -\xff\xbe\xbe\xbe\xff\xbd\xbd\xbd\xff\xbd\xbd\xbd\xff\xbc\xbc\xbc\ -\xff\xbb\xbb\xbb\xff\xba\xba\xba\xff\xb9\xb9\xb9\xff\xb9\xb9\xb9\ -\xff\xb3\xb3\xb3\xff\x9e\x9e\x9e\xff|||\xa3|||\ -(|||\xfa\xba\xba\xba\xff\xc5\xc5\xc5\xff\xc3\xc3\xc3\ -\xff\xc2\xc2\xc2\xff\xc1\xc1\xc1\xff\xc1\xc1\xc1\xff\xc0\xc0\xc0\ -\xff\xbf\xbf\xbf\xff\xbe\xbe\xbe\xff\xbd\xbd\xbd\xff\xbd\xbd\xbd\ -\xff\xb4\xb4\xb4\xff\x88\x88\x88\xff|||;\x00\x00\x00\ -\x00|||\x88\x95\x95\x95\xff\xc5\xc5\xc5\xff\xc8\xc8\xc8\ -\xff\xc6\xc6\xc6\xff\xc5\xc5\xc5\xff\xc4\xc4\xc4\xff\xc3\xc3\xc3\ -\xff\xc3\xc3\xc3\xff\xc2\xc2\xc2\xff\xc2\xc2\xc2\xff\xbd\xbd\xbd\ -\xff\x95\x95\x95\xff|||\x9f\x00\x00\x00\x00\x00\x00\x00\ -\x00|||\x05|||\xaa\x95\x95\x95\xff\xc0\xc0\xc0\ -\xff\xcb\xcb\xcb\xff\xca\xca\xca\xff\xc9\xc9\xc9\xff\xc8\xc8\xc8\ -\xff\xc7\xc7\xc7\xff\xc7\xc7\xc7\xff\xc0\xc0\xc0\xff\x96\x96\x96\ -\xff|||\xbb|||\x0b\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00|||\x04|||\x88|||\ -\xf6\x9e\x9e\x9e\xff\xb3\xb3\xb3\xff\xbe\xbe\xbe\xff\xbf\xbf\xbf\ -\xff\xb3\xb3\xb3\xff\xa0\xa0\xa0\xff|||\xfb|||\ -\x96|||\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00|||\ -+|||\x8a|||\xc8|||\xe7|||\ -\xe8|||\xcb|||\x91|||3\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x0f\x00\ -\x00\xc0\x03\x00\x00\x80\x01\x00\x00\x80\x01\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x01\x00\ -\x00\x80\x01\x00\x00\xc0\x03\x00\x00\xf0\x0f\x00\x00\ -\x00\x00\x03D\ -<\ -?xml version=\x221.\ -0\x22 encoding=\x22UTF\ --8\x22?>\x0d\x0a\x0d\x0a source contr\ -ol error v2\x0d\x0a \x0d\x0a \ - \x0d\ -\x0a \x0d\x0a\x0d\x0a\ -" - -qt_resource_name = b"\ -\x00\x0f\ -\x04T\x95'\ -\x00b\ -\x00m\x00p\x000\x000\x000\x000\x005\x00_\x000\x000\x00.\x00p\x00n\x00g\ -\x00\x0f\ -\x04S\x95\xc7\ -\x00b\ -\x00m\x00p\x000\x000\x000\x000\x006\x00_\x000\x005\x00.\x00p\x00n\x00g\ -\x00\x09\ -\x0a\xc5\xacG\ -\x00w\ -\x00a\x00t\x00e\x00r\x00.\x00p\x00n\x00g\ -\x00\x15\ -\x06Z\x7fG\ -\x00p\ -\x00a\x00r\x00t\x00i\x00c\x00l\x00e\x00s\x00_\x00t\x00r\x00e\x00e\x00_\x000\x000\ -\x00.\x00p\x00n\x00g\ -\x00\x0f\ -\x04_\x95'\ -\x00b\ -\x00m\x00p\x000\x000\x000\x000\x005\x00_\x000\x009\x00.\x00p\x00n\x00g\ -\x00\x16\ -\x0eE\x9e\x87\ -\x00e\ -\x00r\x00r\x00o\x00r\x00_\x00r\x00e\x00p\x00o\x00r\x00t\x00_\x00e\x00r\x00r\x00o\ -\x00r\x00.\x00s\x00v\x00g\ -\x00\x09\ -\x08\xbcm\xc2\ -\x00s\ -\x00t\x00a\x00t\x00u\x00s\x00b\x00a\x00r\ -\x00\x0f\ -\x04P\x95\xc7\ -\x00b\ -\x00m\x00p\x000\x000\x000\x000\x006\x00_\x000\x004\x00.\x00p\x00n\x00g\ -\x00\x0f\ -\x04\x5c\x95'\ -\x00b\ -\x00m\x00p\x000\x000\x000\x000\x005\x00_\x000\x008\x00.\x00p\x00n\x00g\ -\x00\x18\ -\x00\xf0&'\ -\x00e\ -\x00r\x00r\x00o\x00r\x00_\x00r\x00e\x00p\x00o\x00r\x00t\x00_\x00w\x00a\x00r\x00n\ -\x00i\x00n\x00g\x00.\x00s\x00v\x00g\ -\x00\x18\ -\x0c\x85t\xe7\ -\x00e\ -\x00r\x00r\x00o\x00r\x00_\x00r\x00e\x00p\x00o\x00r\x00t\x00_\x00c\x00o\x00m\x00m\ -\x00e\x00n\x00t\x00.\x00s\x00v\x00g\ -\x00\x0a\ -\x03\xd6;g\ -\x00M\ -\x00a\x00i\x00n\x00W\x00i\x00n\x00d\x00o\x00w\ -\x00\x0f\ -\x04U\x95\xc7\ -\x00b\ -\x00m\x00p\x000\x000\x000\x000\x006\x00_\x000\x003\x00.\x00p\x00n\x00g\ -\x00\x09\ -\x0c\xe6\xbd#\ -\x00v\ -\x00i\x00e\x00w\x00p\x00a\x00n\x00e\x00s\ -\x00\x0f\ -\x04a\x95'\ -\x00b\ -\x00m\x00p\x000\x000\x000\x000\x005\x00_\x000\x007\x00.\x00p\x00n\x00g\ -\x00\x07\ -\x0a\xc9\xa6S\ -\x00c\ -\x00u\x00r\x00s\x00o\x00r\x00s\ -\x00\x15\ -\x06S\x7fG\ -\x00p\ -\x00a\x00r\x00t\x00i\x00c\x00l\x00e\x00s\x00_\x00t\x00r\x00e\x00e\x00_\x000\x007\ -\x00.\x00p\x00n\x00g\ -\x00\x0f\ -\x04R\x95\xc7\ -\x00b\ -\x00m\x00p\x000\x000\x000\x000\x006\x00_\x000\x002\x00.\x00p\x00n\x00g\ -\x00\x0f\ -\x04^\x95'\ -\x00b\ -\x00m\x00p\x000\x000\x000\x000\x005\x00_\x000\x006\x00.\x00p\x00n\x00g\ -\x00\x15\ -\x06P\x7fG\ -\x00p\ -\x00a\x00r\x00t\x00i\x00c\x00l\x00e\x00s\x00_\x00t\x00r\x00e\x00e\x00_\x000\x006\ -\x00.\x00p\x00n\x00g\ -\x00\x0f\ -\x04W\x95\xc7\ -\x00b\ -\x00m\x00p\x000\x000\x000\x000\x006\x00_\x000\x001\x00.\x00p\x00n\x00g\ -\x00\x0f\ -\x04S\x95'\ -\x00b\ -\x00m\x00p\x000\x000\x000\x000\x005\x00_\x000\x005\x00.\x00p\x00n\x00g\ -\x00\x15\ -\x06a\x7fG\ -\x00p\ -\x00a\x00r\x00t\x00i\x00c\x00l\x00e\x00s\x00_\x00t\x00r\x00e\x00e\x00_\x000\x005\ -\x00.\x00p\x00n\x00g\ -\x00\x0f\ -\x04T\x95\xc7\ -\x00b\ -\x00m\x00p\x000\x000\x000\x000\x006\x00_\x000\x000\x00.\x00p\x00n\x00g\ -\x00\x0f\ -\x04P\x95'\ -\x00b\ -\x00m\x00p\x000\x000\x000\x000\x005\x00_\x000\x004\x00.\x00p\x00n\x00g\ -\x00\x03\ -\x00\x00x\xc3\ -\x00r\ -\x00e\x00s\ -\x00\x14\ -\x07\x22u\xc7\ -\x00a\ -\x00r\x00h\x00i\x00t\x00y\x00p\x00e\x00_\x00t\x00r\x00e\x00e\x00_\x000\x003\x00.\ -\x00p\x00n\x00g\ -\x00\x05\ -\x00O\xa6S\ -\x00I\ -\x00c\x00o\x00n\x00s\ -\x00\x15\ -\x06^\x7fG\ -\x00p\ -\x00a\x00r\x00t\x00i\x00c\x00l\x00e\x00s\x00_\x00t\x00r\x00e\x00e\x00_\x000\x004\ -\x00.\x00p\x00n\x00g\ -\x00\x0f\ -\x04U\x95'\ -\x00b\ -\x00m\x00p\x000\x000\x000\x000\x005\x00_\x000\x003\x00.\x00p\x00n\x00g\ -\x00\x14\ -\x07!u\xc7\ -\x00a\ -\x00r\x00h\x00i\x00t\x00y\x00p\x00e\x00_\x00t\x00r\x00e\x00e\x00_\x000\x002\x00.\ -\x00p\x00n\x00g\ -\x00\x15\ -\x06_\x7fG\ -\x00p\ -\x00a\x00r\x00t\x00i\x00c\x00l\x00e\x00s\x00_\x00t\x00r\x00e\x00e\x00_\x000\x003\ -\x00.\x00p\x00n\x00g\ -\x00\x0b\ -\x0f\x08B\x1e\ -\x00A\ -\x00p\x00p\x00l\x00i\x00c\x00a\x00t\x00i\x00o\x00n\ -\x00\x0f\ -\x04R\x95'\ -\x00b\ -\x00m\x00p\x000\x000\x000\x000\x005\x00_\x000\x002\x00.\x00p\x00n\x00g\ -\x00\x14\ -\x07(u\xc7\ -\x00a\ -\x00r\x00h\x00i\x00t\x00y\x00p\x00e\x00_\x00t\x00r\x00e\x00e\x00_\x000\x001\x00.\ -\x00p\x00n\x00g\ -\x00\x0f\ -\x04a\x95\xc7\ -\x00b\ -\x00m\x00p\x000\x000\x000\x000\x006\x00_\x000\x007\x00.\x00p\x00n\x00g\ -\x00\x15\ -\x06\x5c\x7fG\ -\x00p\ -\x00a\x00r\x00t\x00i\x00c\x00l\x00e\x00s\x00_\x00t\x00r\x00e\x00e\x00_\x000\x002\ -\x00.\x00p\x00n\x00g\ -\x00\x0f\ -\x04W\x95'\ -\x00b\ -\x00m\x00p\x000\x000\x000\x000\x005\x00_\x000\x001\x00.\x00p\x00n\x00g\ -\x00\x14\ -\x07'u\xc7\ -\x00a\ -\x00r\x00h\x00i\x00t\x00y\x00p\x00e\x00_\x00t\x00r\x00e\x00e\x00_\x000\x000\x00.\ -\x00p\x00n\x00g\ -\x00\x0f\ -\x04^\x95\xc7\ -\x00b\ -\x00m\x00p\x000\x000\x000\x000\x006\x00_\x000\x006\x00.\x00p\x00n\x00g\ -\x00\x15\ -\x06]\x7fG\ -\x00p\ -\x00a\x00r\x00t\x00i\x00c\x00l\x00e\x00s\x00_\x00t\x00r\x00e\x00e\x00_\x000\x001\ -\x00.\x00p\x00n\x00g\ -\x00\x0f\ -\x0e\x0f\xf3\xff\ -\x00o\ -\x003\x00d\x00e\x00_\x00e\x00d\x00i\x00t\x00o\x00r\x00.\x00i\x00c\x00o\ -\x00\x14\ -\x0b\x1b&\xb6\ -\x00P\ -\x00a\x00d\x00l\x00o\x00c\x00k\x00_\x00D\x00i\x00s\x00a\x00b\x00l\x00e\x00d\x00.\ -\x00t\x00i\x00f\ -\x00\x17\ -\x0c\x9a\xdb\xc7\ -\x00l\ -\x00o\x00c\x00k\x00_\x00c\x00i\x00r\x00c\x00l\x00e\x00_\x00d\x00e\x00f\x00a\x00u\ -\x00l\x00t\x00.\x00s\x00v\x00g\ -\x00\x10\ -\x07T\xb1'\ -\x00D\ -\x00e\x00f\x00a\x00u\x00l\x00t\x00_\x00o\x00p\x00e\x00n\x00.\x00s\x00v\x00g\ -\x00\x19\ -\x0e\xd2\x13\xe7\ -\x00S\ -\x00l\x00i\x00c\x00e\x00_\x00H\x00a\x00n\x00d\x00l\x00e\x00_\x00M\x00o\x00d\x00i\ -\x00f\x00i\x00e\x00d\x00.\x00s\x00v\x00g\ -\x00\x0e\ -\x0b\xd8M\x87\ -\x00l\ -\x00a\x00y\x00e\x00r\x00_\x00i\x00c\x00o\x00n\x00.\x00s\x00v\x00g\ -\x00\x15\ -\x01\xaf\x1c'\ -\x00E\ -\x00n\x00t\x00i\x00t\x00y\x00_\x00N\x00o\x00t\x00_\x00A\x00c\x00t\x00i\x00v\x00e\ -\x00.\x00s\x00v\x00g\ -\x00\x19\ -\x05\xf2\xd2\x07\ -\x00v\ -\x00i\x00s\x00_\x00o\x00n\x00_\x00N\x00o\x00t\x00T\x00r\x00a\x00n\x00s\x00p\x00a\ -\x00r\x00e\x00n\x00t\x00.\x00s\x00v\x00g\ -\x00\x1c\ -\x05A\x11\x07\ -\x00S\ -\x00l\x00i\x00c\x00e\x00_\x00H\x00a\x00n\x00d\x00l\x00e\x00_\x00E\x00d\x00i\x00t\ -\x00o\x00r\x00_\x00O\x00n\x00l\x00y\x00.\x00s\x00v\x00g\ -\x00\x16\ -\x0c>\x8f\xc7\ -\x00v\ -\x00i\x00s\x00_\x00c\x00i\x00r\x00c\x00l\x00e\x00_\x00d\x00e\x00f\x00a\x00u\x00l\ -\x00t\x00.\x00s\x00v\x00g\ -\x00%\ -\x0f-\x08'\ -\x00S\ -\x00l\x00i\x00c\x00e\x00_\x00H\x00a\x00n\x00d\x00l\x00e\x00_\x00M\x00o\x00d\x00i\ -\x00f\x00i\x00e\x00d\x00_\x00E\x00d\x00i\x00t\x00o\x00r\x00_\x00O\x00n\x00l\x00y\ -\x00.\x00s\x00v\x00g\ -\x00\x0a\ -\x01\xb91\x87\ -\x00l\ -\x00o\x00c\x00k\x00e\x00d\x00.\x00s\x00v\x00g\ -\x00\x0f\ -\x05bA^\ -\x00E\ -\x00y\x00e\x00_\x00O\x00p\x00e\x00n\x00_\x00H\x00i\x00d\x00d\x00e\x00n\ -\x00\x1b\ -\x05K\x05V\ -\x00P\ -\x00a\x00d\x00l\x00o\x00c\x00k\x00_\x00P\x00a\x00r\x00t\x00i\x00a\x00l\x00_\x00E\ -\x00n\x00a\x00b\x00l\x00e\x00d\x00.\x00t\x00i\x00f\ -\x00\x0c\ -\x0f^26\ -\x00E\ -\x00y\x00e\x00_\x00O\x00p\x00e\x00n\x00.\x00t\x00i\x00f\ -\x00\x10\ -\x03\xcaZG\ -\x00S\ -\x00l\x00i\x00c\x00e\x00_\x00E\x00n\x00t\x00i\x00t\x00y\x00.\x00s\x00v\x00g\ -\x00\x16\ -\x06\x8e\x16\xc7\ -\x00E\ -\x00n\x00t\x00i\x00t\x00y\x00_\x00E\x00d\x00i\x00t\x00o\x00r\x00_\x00O\x00n\x00l\ -\x00y\x00.\x00s\x00v\x00g\ -\x00\x1b\ -\x04\xe2\x14'\ -\x00l\ -\x00o\x00c\x00k\x00_\x00c\x00i\x00r\x00c\x00l\x00e\x00_\x00t\x00r\x00a\x00n\x00s\ -\x00p\x00a\x00r\x00e\x00n\x00t\x00.\x00s\x00v\x00g\ -\x00\x0d\ -\x01m\xcf\x96\ -\x00E\ -\x00y\x00e\x00_\x00S\x00l\x00a\x00s\x00h\x00.\x00t\x00i\x00f\ -\x00\x14\ -\x0e\x00\x9e6\ -\x00E\ -\x00y\x00e\x00_\x00P\x00a\x00r\x00t\x00i\x00a\x00l\x00_\x00O\x00p\x00e\x00n\x00.\ -\x00t\x00i\x00f\ -\x00\x07\ -\x0c\xf8ZG\ -\x00E\ -\x00y\x00e\x00.\x00s\x00v\x00g\ -\x00\x14\ -\x07T)\xf6\ -\x00E\ -\x00y\x00e\x00_\x00S\x00l\x00a\x00s\x00h\x00_\x00H\x00i\x00d\x00d\x00e\x00n\x00.\ -\x00t\x00i\x00f\ -\x00\x1a\ -\x00\xe3\x5c\xa7\ -\x00v\ -\x00i\x00s\x00_\x00c\x00i\x00r\x00c\x00l\x00e\x00_\x00t\x00r\x00a\x00n\x00s\x00p\ -\x00a\x00r\x00e\x00n\x00t\x00.\x00s\x00v\x00g\ -\x00/\ -\x0a\xf8TG\ -\x00S\ -\x00l\x00i\x00c\x00e\x00_\x00E\x00n\x00t\x00i\x00t\x00y\x00_\x00M\x00o\x00d\x00i\ -\x00f\x00i\x00e\x00d\x00_\x00E\x00d\x00i\x00t\x00o\x00r\x00_\x00O\x00n\x00l\x00y\ -\x00_\x00U\x00n\x00s\x00a\x00v\x00a\x00b\x00l\x00e\x00.\x00s\x00v\x00g\ -\x00\x13\ -\x09+\x00\xf6\ -\x00P\ -\x00a\x00d\x00l\x00o\x00c\x00k\x00_\x00E\x00n\x00a\x00b\x00l\x00e\x00d\x00.\x00t\ -\x00i\x00f\ -\x00\x19\ -\x07,\xf6\x07\ -\x00S\ -\x00l\x00i\x00c\x00e\x00_\x00E\x00n\x00t\x00i\x00t\x00y\x00_\x00M\x00o\x00d\x00i\ -\x00f\x00i\x00e\x00d\x00.\x00s\x00v\x00g\ -\x00.\ -\x07\x84Qg\ -\x00S\ -\x00l\x00i\x00c\x00e\x00_\x00E\x00n\x00t\x00i\x00t\x00y\x00_\x00M\x00o\x00d\x00i\ -\x00f\x00i\x00e\x00d\x00_\x00N\x00o\x00t\x00_\x00A\x00c\x00t\x00i\x00v\x00e\x00_\ -\x00U\x00n\x00s\x00a\x00v\x00a\x00b\x00l\x00e\x00.\x00s\x00v\x00g\ -\x00%\ -\x08\xc2\x87g\ -\x00S\ -\x00l\x00i\x00c\x00e\x00_\x00E\x00n\x00t\x00i\x00t\x00y\x00_\x00M\x00o\x00d\x00i\ -\x00f\x00i\x00e\x00d\x00_\x00E\x00d\x00i\x00t\x00o\x00r\x00_\x00O\x00n\x00l\x00y\ -\x00.\x00s\x00v\x00g\ -\x00\x19\ -\x0e\x89\x90\x16\ -\x00P\ -\x00a\x00d\x00l\x00o\x00c\x00k\x00_\x00E\x00n\x00a\x00b\x00l\x00e\x00d\x00_\x00H\ -\x00o\x00v\x00e\x00r\x00.\x00t\x00i\x00f\ -\x00\x1c\ -\x0bd6G\ -\x00S\ -\x00l\x00i\x00c\x00e\x00_\x00E\x00n\x00t\x00i\x00t\x00y\x00_\x00E\x00d\x00i\x00t\ -\x00o\x00r\x00_\x00O\x00n\x00l\x00y\x00.\x00s\x00v\x00g\ -\x00\x0b\ -\x052\xac\xa7\ -\x00P\ -\x00a\x00d\x00l\x00o\x00c\x00k\x00.\x00s\x00v\x00g\ -\x00\x10\ -\x08Y\x11\xa7\ -\x00S\ -\x00l\x00i\x00c\x00e\x00_\x00H\x00a\x00n\x00d\x00l\x00e\x00.\x00s\x00v\x00g\ -\x00$\ -\x05\xcb\xc5\xc7\ -\x00S\ -\x00l\x00i\x00c\x00e\x00_\x00E\x00n\x00t\x00i\x00t\x00y\x00_\x00M\x00o\x00d\x00i\ -\x00f\x00i\x00e\x00d\x00_\x00N\x00o\x00t\x00_\x00A\x00c\x00t\x00i\x00v\x00e\x00.\ -\x00s\x00v\x00g\ -\x00\x1b\ -\x0e\xf5\xfe\xc7\ -\x00S\ -\x00l\x00i\x00c\x00e\x00_\x00E\x00n\x00t\x00i\x00t\x00y\x00_\x00N\x00o\x00t\x00_\ -\x00A\x00c\x00t\x00i\x00v\x00e\x00.\x00s\x00v\x00g\ -\x00\x0c\ -\x0e=1\x87\ -\x00u\ -\x00n\x00l\x00o\x00c\x00k\x00e\x00d\x00.\x00s\x00v\x00g\ -\x00\x1a\ -\x00\x9cw\x07\ -\x00S\ -\x00l\x00i\x00c\x00e\x00_\x00E\x00n\x00t\x00i\x00t\x00y\x00_\x00U\x00n\x00s\x00a\ -\x00v\x00a\x00b\x00l\x00e\x00.\x00s\x00v\x00g\ -\x00\x1a\ -\x0a\xe9\xdc\x96\ -\x00P\ -\x00a\x00d\x00l\x00o\x00c\x00k\x00_\x00D\x00i\x00s\x00a\x00b\x00l\x00e\x00d\x00_\ -\x00H\x00o\x00v\x00e\x00r\x00.\x00t\x00i\x00f\ -\x00\x0a\ -\x00\xb5\xd1\xa7\ -\x00E\ -\x00n\x00t\x00i\x00t\x00y\x00.\x00s\x00v\x00g\ -\x00#\ -\x08\x0b\xd5\x87\ -\x00S\ -\x00l\x00i\x00c\x00e\x00_\x00E\x00n\x00t\x00i\x00t\x00y\x00_\x00M\x00o\x00d\x00i\ -\x00f\x00i\x00e\x00d\x00_\x00U\x00n\x00s\x00a\x00v\x00a\x00b\x00l\x00e\x00.\x00s\ -\x00v\x00g\ -\x00\x13\ -\x0e\x1c\x0e\xf6\ -\x00E\ -\x00y\x00e\x00_\x00S\x00l\x00a\x00s\x00h\x00_\x00H\x00o\x00v\x00e\x00r\x00.\x00t\ -\x00i\x00f\ -\x00\x1b\ -\x03\x98\x0c'\ -\x00S\ -\x00l\x00i\x00c\x00e\x00_\x00H\x00a\x00n\x00d\x00l\x00e\x00_\x00N\x00o\x00t\x00_\ -\x00A\x00c\x00t\x00i\x00v\x00e\x00.\x00s\x00v\x00g\ -\x00\x17\ -\x03\xf8\xf5g\ -\x00l\ -\x00o\x00c\x00k\x00_\x00o\x00n\x00_\x00t\x00r\x00a\x00n\x00s\x00p\x00a\x00r\x00e\ -\x00n\x00t\x00.\x00s\x00v\x00g\ -\x00\x1a\ -\x00\xb2\x86\xa7\ -\x00l\ -\x00o\x00c\x00k\x00_\x00o\x00n\x00_\x00N\x00o\x00t\x00T\x00r\x00a\x00n\x00s\x00p\ -\x00a\x00r\x00e\x00n\x00t\x00.\x00s\x00v\x00g\ -\x00\x08\ -\x00\x95Ug\ -\x00v\ -\x00i\x00s\x00b\x00.\x00s\x00v\x00g\ -\x00\x15\ -\x0c\x87\x8f\xd6\ -\x00E\ -\x00y\x00e\x00_\x00P\x00a\x00r\x00t\x00i\x00a\x00l\x00_\x00S\x00l\x00a\x00s\x00h\ -\x00.\x00t\x00i\x00f\ -\x00\x0f\ -\x09\xcbq\xa7\ -\x00v\ -\x00i\x00s\x00b\x00_\x00h\x00i\x00d\x00d\x00e\x00n\x00.\x00s\x00v\x00g\ -\x00\x12\ -\x02{\xf5\x96\ -\x00E\ -\x00y\x00e\x00_\x00O\x00p\x00e\x00n\x00_\x00H\x00o\x00v\x00e\x00r\x00.\x00t\x00i\ -\x00f\ -\x00$\ -\x0a9L\xa7\ -\x00S\ -\x00l\x00i\x00c\x00e\x00_\x00H\x00a\x00n\x00d\x00l\x00e\x00_\x00M\x00o\x00d\x00i\ -\x00f\x00i\x00e\x00d\x00_\x00N\x00o\x00t\x00_\x00A\x00c\x00t\x00i\x00v\x00e\x00.\ -\x00s\x00v\x00g\ -\x00\x16\ -\x05\x5c\xa1g\ -\x00v\ -\x00i\x00s\x00_\x00o\x00n\x00_\x00t\x00r\x00a\x00n\x00s\x00p\x00a\x00r\x00e\x00n\ -\x00t\x00.\x00s\x00v\x00g\ -\x00\x12\ -\x0cS?'\ -\x00D\ -\x00e\x00f\x00a\x00u\x00l\x00t\x00_\x00c\x00l\x00o\x00s\x00e\x00d\x00.\x00s\x00v\ -\x00g\ -\x00\x1c\ -\x0d\x1b}6\ -\x00P\ -\x00a\x00d\x00l\x00o\x00c\x00k\x00_\x00P\x00a\x00r\x00t\x00i\x00a\x00l\x00_\x00D\ -\x00i\x00s\x00a\x00b\x00l\x00e\x00d\x00.\x00t\x00i\x00f\ -\x00\x12\ -\x06\xdb\x9dg\ -\x00P\ -\x00r\x00e\x00f\x00e\x00r\x00e\x00n\x00c\x00e\x00s\x00_\x000\x001\x00.\x00p\x00n\ -\x00g\ -\x00\x0a\ -\x08v\x9cg\ -\x00G\ -\x00l\x00o\x00b\x00a\x00l\x00.\x00s\x00v\x00g\ -\x00\x0a\ -\x0c\x8dj\xa7\ -\x00C\ -\x00a\x00m\x00e\x00r\x00a\x00.\x00s\x00v\x00g\ -\x00\x12\ -\x06\xd8\x9dg\ -\x00P\ -\x00r\x00e\x00f\x00e\x00r\x00e\x00n\x00c\x00e\x00s\x00_\x000\x000\x00.\x00p\x00n\ -\x00g\ -\x00\x0c\ -\x0d\x08\xc6'\ -\x00V\ -\x00i\x00e\x00w\x00p\x00o\x00r\x00t\x00.\x00s\x00v\x00g\ -\x00\x12\ -\x06\xe1\x9dg\ -\x00P\ -\x00r\x00e\x00f\x00e\x00r\x00e\x00n\x00c\x00e\x00s\x00_\x000\x003\x00.\x00p\x00n\ -\x00g\ -\x00\x0a\ -\x00k\xd7\xa7\ -\x00M\ -\x00o\x00t\x00i\x00o\x00n\x00.\x00s\x00v\x00g\ -\x00\x12\ -\x06\xde\x9dg\ -\x00P\ -\x00r\x00e\x00f\x00e\x00r\x00e\x00n\x00c\x00e\x00s\x00_\x000\x002\x00.\x00p\x00n\ -\x00g\ -\x00\x09\ -\x09\xba\xcf\xa7\ -\x00D\ -\x00e\x00b\x00u\x00g\x00.\x00s\x00v\x00g\ -\x00\x10\ -\x03l\x17\xc7\ -\x00E\ -\x00x\x00p\x00e\x00r\x00i\x00m\x00e\x00n\x00t\x00a\x00l\x00.\x00s\x00v\x00g\ -\x00\x09\ -\x02\xc6\xc0\xc7\ -\x00F\ -\x00i\x00l\x00e\x00s\x00.\x00s\x00v\x00g\ -\x00\x0a\ -\x04o\x98\xe7\ -\x00G\ -\x00i\x00z\x00m\x00o\x00s\x00.\x00s\x00v\x00g\ -\x00\x07\ -\x0f\x07J\x02\ -\x00h\ -\x00i\x00t\x00.\x00c\x00u\x00r\ -\x00\x0e\ -\x06\x0c\xfb\x82\ -\x00a\ -\x00r\x00r\x00o\x00w\x00_\x00d\x00o\x00w\x00n\x00.\x00c\x00u\x00r\ -\x00\x0b\ -\x06\x89\xd9\x82\ -\x00c\ -\x00u\x00r\x00s\x00o\x00r\x001\x00.\x00c\x00u\x00r\ -\x00\x0b\ -\x06\x80\xd9\x82\ -\x00c\ -\x00u\x00r\x00s\x00o\x00r\x002\x00.\x00c\x00u\x00r\ -\x00\x17\ -\x06h\xad\xa2\ -\x00p\ -\x00o\x00i\x00n\x00t\x00e\x00r\x00_\x00s\x00o\x00_\x00s\x00e\x00l\x00_\x00p\x00l\ -\x00u\x00s\x00.\x00c\x00u\x00r\ -\x00\x0d\ -\x08\x8c:\xe2\ -\x00l\ -\x00e\x00f\x00t\x00r\x00i\x00g\x00h\x00t\x00.\x00c\x00u\x00r\ -\x00\x0e\ -\x03\x0c\x0f\xc2\ -\x00p\ -\x00o\x00i\x00n\x00t\x00e\x00r\x00H\x00i\x00t\x00.\x00c\x00u\x00r\ -\x00\x12\ -\x03\xfe\x1c\x82\ -\x00p\ -\x00o\x00i\x00n\x00t\x00e\x00r\x00_\x00s\x00m\x00o\x00o\x00t\x00h\x00.\x00c\x00u\ -\x00r\ -\x00\x11\ -\x06\x8d\xde\x82\ -\x00a\ -\x00r\x00r\x00o\x00w\x00_\x00u\x00p\x00r\x00i\x00g\x00h\x00t\x00.\x00c\x00u\x00r\ -\ -\x00\x0e\ -\x02\xc2\xa5\x82\ -\x00a\ -\x00r\x00r\x00_\x00a\x00d\x00d\x00k\x00e\x00y\x00.\x00c\x00u\x00r\ -\x00\x15\ -\x07\x0a7B\ -\x00p\ -\x00o\x00i\x00n\x00t\x00e\x00r\x00_\x00g\x00e\x00t\x00h\x00e\x00i\x00g\x00h\x00t\ -\x00.\x00c\x00u\x00r\ -\x00\x10\ -\x08\x83\x1e\x22\ -\x00p\ -\x00o\x00i\x00n\x00t\x00e\x00r\x00_\x00p\x00l\x00u\x00s\x00.\x00c\x00u\x00r\ -\x00\x11\ -\x0d\xbf%b\ -\x00o\ -\x00b\x00j\x00e\x00c\x00t\x00_\x00r\x00o\x00t\x00a\x00t\x00e\x00.\x00c\x00u\x00r\ -\ -\x00\x0f\ -\x07\xb5h\x82\ -\x00o\ -\x00b\x00j\x00e\x00c\x00t\x00_\x00m\x00o\x00v\x00e\x00.\x00c\x00u\x00r\ -\x00\x13\ -\x00.\xa8\x22\ -\x00p\ -\x00o\x00i\x00n\x00t\x00e\x00r\x00_\x00l\x00i\x00n\x00k\x00n\x00o\x00w\x00.\x00c\ -\x00u\x00r\ -\x00\x10\ -\x07\x0b\x1e\x82\ -\x00p\ -\x00o\x00i\x00n\x00t\x00e\x00r\x00_\x00l\x00i\x00n\x00k\x00.\x00c\x00u\x00r\ -\x00\x11\ -\x01\x93\x0c\x22\ -\x00p\ -\x00o\x00i\x00n\x00t\x00e\x00r\x00_\x00m\x00i\x00n\x00u\x00s\x00.\x00c\x00u\x00r\ -\ -\x00\x13\ -\x0aQ\xeab\ -\x00p\ -\x00o\x00i\x00n\x00t\x00e\x00r\x00D\x00r\x00a\x00g\x00I\x00t\x00e\x00m\x00.\x00c\ -\x00u\x00r\ -\x00\x0c\ -\x0b\xd0gb\ -\x00a\ -\x00r\x00r\x00o\x00w\x00_\x00u\x00p\x00.\x00c\x00u\x00r\ -\x00\x0f\ -\x0eO\xc8\x02\ -\x00p\ -\x00i\x00c\x00k\x00_\x00c\x00u\x00r\x00s\x00o\x00r\x00.\x00c\x00u\x00r\ -\x00\x0c\ -\x0el\xec\xa2\ -\x00c\ -\x00u\x00r\x000\x000\x000\x000\x001\x00.\x00c\x00u\x00r\ -\x00\x0c\ -\x0em\xec\xa2\ -\x00c\ -\x00u\x00r\x000\x000\x000\x000\x002\x00.\x00c\x00u\x00r\ -\x00\x0c\ -\x0en\xec\xa2\ -\x00c\ -\x00u\x00r\x000\x000\x000\x000\x003\x00.\x00c\x00u\x00r\ -\x00\x0c\ -\x05\xaa\xdb\xa2\ -\x00h\ -\x00a\x00n\x00d\x00D\x00r\x00a\x00g\x00.\x00c\x00u\x00r\ -\x00\x0c\ -\x0eo\xec\xa2\ -\x00c\ -\x00u\x00r\x000\x000\x000\x000\x004\x00.\x00c\x00u\x00r\ -\x00\x10\ -\x03y\xfd\xc2\ -\x00o\ -\x00b\x00j\x00e\x00c\x00t\x00_\x00s\x00c\x00a\x00l\x00e\x00.\x00c\x00u\x00r\ -\x00\x0c\ -\x0ep\xec\xa2\ -\x00c\ -\x00u\x00r\x000\x000\x000\x000\x005\x00.\x00c\x00u\x00r\ -\x00\x0c\ -\x02\xaeA\x82\ -\x00p\ -\x00o\x00i\x00n\x00t\x00e\x00r\x00_\x00.\x00c\x00u\x00r\ -\x00\x15\ -\x0eb\xe8\x22\ -\x00p\ -\x00o\x00i\x00n\x00t\x00e\x00r\x00_\x00s\x00o\x00_\x00s\x00e\x00l\x00e\x00c\x00t\ -\x00.\x00c\x00u\x00r\ -\x00\x13\ -\x096M\x02\ -\x00a\ -\x00r\x00r\x00o\x00w\x00_\x00d\x00o\x00w\x00n\x00r\x00i\x00g\x00h\x00t\x00.\x00c\ -\x00u\x00r\ -\x00\x13\ -\x0f\xbas\x02\ -\x00p\ -\x00o\x00i\x00n\x00t\x00e\x00r\x00_\x00f\x00l\x00a\x00t\x00t\x00e\x00n\x00.\x00c\ -\x00u\x00r\ -\x00\x0c\ -\x0fy\xb7\xc7\ -\x00m\ -\x00a\x00x\x00i\x00m\x00i\x00z\x00e\x00.\x00p\x00n\x00g\ -\x00\x10\ -\x0a5o'\ -\x00h\ -\x00i\x00d\x00e\x00_\x00h\x00e\x00l\x00p\x00e\x00r\x00s\x00.\x00p\x00n\x00g\ -\x00\x10\ -\x0a\x9d~\xc7\ -\x00d\ -\x00i\x00s\x00p\x00l\x00a\x00y\x00_\x00i\x00n\x00f\x00o\x00.\x00p\x00n\x00g\ -\x00\x17\ -\x04\xb0\xfe\xc7\ -\x00e\ -\x00d\x00i\x00t\x00w\x00i\x00t\x00h\x00b\x00u\x00t\x00t\x00o\x00n\x00_\x00d\x00a\ -\x00r\x00k\x00.\x00p\x00n\x00g\ -\x00\x08\ -\x06b\x87\xf3\ -\x00t\ -\x00o\x00o\x00l\x00b\x00a\x00r\x00s\ -\x00\x1d\ -\x08\xa8\xaf\xe7\ -\x00s\ -\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00_\x00v\x00i\x00e\x00w\x00s\x00_\x00t\x00o\ -\x00o\x00l\x00b\x00a\x00r\x00-\x000\x005\x00.\x00p\x00n\x00g\ -\x00\x15\ -\x0e\x98q\xa7\ -\x00o\ -\x00b\x00j\x00e\x00c\x00t\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\x00-\x000\x004\ -\x00.\x00p\x00n\x00g\ -\x00\x18\ -\x000\xce\x87\ -\x00e\ -\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ -\x00-\x001\x004\x00.\x00p\x00n\x00g\ -\x00\x18\ -\x00N\xce\x87\ -\x00e\ -\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ -\x00-\x000\x006\x00.\x00p\x00n\x00g\ -\x00\x1d\ -\x08\xd5\xaf\xe7\ -\x00s\ -\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00_\x00v\x00i\x00e\x00w\x00s\x00_\x00t\x00o\ -\x00o\x00l\x00b\x00a\x00r\x00-\x001\x002\x00.\x00p\x00n\x00g\ -\x00\x1d\ -\x08\xa7\xaf\xe7\ -\x00s\ -\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00_\x00v\x00i\x00e\x00w\x00s\x00_\x00t\x00o\ -\x00o\x00l\x00b\x00a\x00r\x00-\x000\x004\x00.\x00p\x00n\x00g\ -\x00\x18\ -\x005\xce\x87\ -\x00e\ -\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ -\x00-\x001\x003\x00.\x00p\x00n\x00g\ -\x00\x18\ -\x00C\xce\x87\ -\x00e\ -\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ -\x00-\x000\x005\x00.\x00p\x00n\x00g\ -\x00\x1d\ -\x08\xd4\xaf\xe7\ -\x00s\ -\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00_\x00v\x00i\x00e\x00w\x00s\x00_\x00t\x00o\ -\x00o\x00l\x00b\x00a\x00r\x00-\x001\x001\x00.\x00p\x00n\x00g\ -\x00\x15\ -\x0e\xecq\xa7\ -\x00o\ -\x00b\x00j\x00e\x00c\x00t\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\x00-\x001\x000\ -\x00.\x00p\x00n\x00g\ -\x00\x18\ -\x00$\xce\x87\ -\x00e\ -\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ -\x00-\x002\x000\x00.\x00p\x00n\x00g\ -\x00\x1d\ -\x08\xa6\xaf\xe7\ -\x00s\ -\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00_\x00v\x00i\x00e\x00w\x00s\x00_\x00t\x00o\ -\x00o\x00l\x00b\x00a\x00r\x00-\x000\x003\x00.\x00p\x00n\x00g\ -\x00\x15\ -\x0e\x9aq\xa7\ -\x00o\ -\x00b\x00j\x00e\x00c\x00t\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\x00-\x000\x002\ -\x00.\x00p\x00n\x00g\ -\x00\x18\ -\x002\xce\x87\ -\x00e\ -\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ -\x00-\x001\x002\x00.\x00p\x00n\x00g\ -\x00\x1e\ -\x076,\x87\ -\x00p\ -\x00r\x00o\x00c\x00e\x00d\x00u\x00r\x00a\x00l\x00m\x00a\x00t\x00e\x00r\x00i\x00a\ -\x00l\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\x00.\x00p\x00n\x00g\ -\x00\x1d\ -\x08\xd3\xaf\xe7\ -\x00s\ -\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00_\x00v\x00i\x00e\x00w\x00s\x00_\x00t\x00o\ -\x00o\x00l\x00b\x00a\x00r\x00-\x001\x000\x00.\x00p\x00n\x00g\ -\x00\x1d\ -\x08\xa5\xaf\xe7\ -\x00s\ -\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00_\x00v\x00i\x00e\x00w\x00s\x00_\x00t\x00o\ -\x00o\x00l\x00b\x00a\x00r\x00-\x000\x002\x00.\x00p\x00n\x00g\ -\x00\x15\ -\x0e\x9fq\xa7\ -\x00o\ -\x00b\x00j\x00e\x00c\x00t\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\x00-\x000\x001\ -\x00.\x00p\x00n\x00g\ -\x00\x18\ -\x007\xce\x87\ -\x00e\ -\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ -\x00-\x001\x001\x00.\x00p\x00n\x00g\ -\x00\x18\ -\x00E\xce\x87\ -\x00e\ -\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ -\x00-\x000\x003\x00.\x00p\x00n\x00g\ -\x00\x13\ -\x0c\xd0\x1e\x87\ -\x00m\ -\x00i\x00s\x00c\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\x00-\x000\x000\x00.\x00p\ -\x00n\x00g\ -\x00\x1d\ -\x08\xa4\xaf\xe7\ -\x00s\ -\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00_\x00v\x00i\x00e\x00w\x00s\x00_\x00t\x00o\ -\x00o\x00l\x00b\x00a\x00r\x00-\x000\x001\x00.\x00p\x00n\x00g\ -\x00\x15\ -\x0e\x9cq\xa7\ -\x00o\ -\x00b\x00j\x00e\x00c\x00t\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\x00-\x000\x000\ -\x00.\x00p\x00n\x00g\ -\x00\x18\ -\x004\xce\x87\ -\x00e\ -\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ -\x00-\x001\x000\x00.\x00p\x00n\x00g\ -\x00\x1d\ -\x08\xdb\xaf\xe7\ -\x00s\ -\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00_\x00v\x00i\x00e\x00w\x00s\x00_\x00t\x00o\ -\x00o\x00l\x00b\x00a\x00r\x00-\x001\x008\x00.\x00p\x00n\x00g\ -\x00\x18\ -\x00B\xce\x87\ -\x00e\ -\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ -\x00-\x000\x002\x00.\x00p\x00n\x00g\ -\x00\x15\ -\x0e\x97q\xa7\ -\x00o\ -\x00b\x00j\x00e\x00c\x00t\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\x00-\x000\x009\ -\x00.\x00p\x00n\x00g\ -\x00\x18\ -\x00?\xce\x87\ -\x00e\ -\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ -\x00-\x001\x009\x00.\x00p\x00n\x00g\ -\x00\x10\ -\x0f\xf1A\xe7\ -\x00O\ -\x00b\x00j\x00S\x00e\x00l\x00e\x00c\x00t\x00i\x00o\x00n\x00.\x00p\x00n\x00g\ -\x00\x1d\ -\x08\xa3\xaf\xe7\ -\x00s\ -\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00_\x00v\x00i\x00e\x00w\x00s\x00_\x00t\x00o\ -\x00o\x00l\x00b\x00a\x00r\x00-\x000\x000\x00.\x00p\x00n\x00g\ -\x00\x1d\ -\x08\xda\xaf\xe7\ -\x00s\ -\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00_\x00v\x00i\x00e\x00w\x00s\x00_\x00t\x00o\ -\x00o\x00l\x00b\x00a\x00r\x00-\x001\x007\x00.\x00p\x00n\x00g\ -\x00\x18\ -\x00G\xce\x87\ -\x00e\ -\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ -\x00-\x000\x001\x00.\x00p\x00n\x00g\ -\x00\x1d\ -\x08\xac\xaf\xe7\ -\x00s\ -\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00_\x00v\x00i\x00e\x00w\x00s\x00_\x00t\x00o\ -\x00o\x00l\x00b\x00a\x00r\x00-\x000\x009\x00.\x00p\x00n\x00g\ -\x00\x15\ -\x0e\x94q\xa7\ -\x00o\ -\x00b\x00j\x00e\x00c\x00t\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\x00-\x000\x008\ -\x00.\x00p\x00n\x00g\ -\x00\x18\ -\x00<\xce\x87\ -\x00e\ -\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ -\x00-\x001\x008\x00.\x00p\x00n\x00g\ -\x00\x1d\ -\x08\xd9\xaf\xe7\ -\x00s\ -\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00_\x00v\x00i\x00e\x00w\x00s\x00_\x00t\x00o\ -\x00o\x00l\x00b\x00a\x00r\x00-\x001\x006\x00.\x00p\x00n\x00g\ -\x00\x18\ -\x00#\xce\x87\ -\x00e\ -\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ -\x00-\x002\x005\x00.\x00p\x00n\x00g\ -\x00\x18\ -\x00D\xce\x87\ -\x00e\ -\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ -\x00-\x000\x000\x00.\x00p\x00n\x00g\ -\x00\x1d\ -\x08\xab\xaf\xe7\ -\x00s\ -\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00_\x00v\x00i\x00e\x00w\x00s\x00_\x00t\x00o\ -\x00o\x00l\x00b\x00a\x00r\x00-\x000\x008\x00.\x00p\x00n\x00g\ -\x00\x15\ -\x0e\x99q\xa7\ -\x00o\ -\x00b\x00j\x00e\x00c\x00t\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\x00-\x000\x007\ -\x00.\x00p\x00n\x00g\ -\x00\x18\ -\x00A\xce\x87\ -\x00e\ -\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ -\x00-\x001\x007\x00.\x00p\x00n\x00g\ -\x00\x18\ -\x00O\xce\x87\ -\x00e\ -\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ -\x00-\x000\x009\x00.\x00p\x00n\x00g\ -\x00\x1d\ -\x08\xd8\xaf\xe7\ -\x00s\ -\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00_\x00v\x00i\x00e\x00w\x00s\x00_\x00t\x00o\ -\x00o\x00l\x00b\x00a\x00r\x00-\x001\x005\x00.\x00p\x00n\x00g\ -\x00\x18\ -\x00 \xce\x87\ -\x00e\ -\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ -\x00-\x002\x004\x00.\x00p\x00n\x00g\ -\x00\x1d\ -\x08\xaa\xaf\xe7\ -\x00s\ -\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00_\x00v\x00i\x00e\x00w\x00s\x00_\x00t\x00o\ -\x00o\x00l\x00b\x00a\x00r\x00-\x000\x007\x00.\x00p\x00n\x00g\ -\x00\x15\ -\x0e\x96q\xa7\ -\x00o\ -\x00b\x00j\x00e\x00c\x00t\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\x00-\x000\x006\ -\x00.\x00p\x00n\x00g\ -\x00\x18\ -\x00>\xce\x87\ -\x00e\ -\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ -\x00-\x001\x006\x00.\x00p\x00n\x00g\ -\x00\x18\ -\x00L\xce\x87\ -\x00e\ -\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ -\x00-\x000\x008\x00.\x00p\x00n\x00g\ -\x00\x15\ -\x0e\x9d|'\ -\x00o\ -\x00b\x00j\x00e\x00c\x00t\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\x00-\x000\x003\ -\x00.\x00s\x00v\x00g\ -\x00\x1d\ -\x08\xd7\xaf\xe7\ -\x00s\ -\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00_\x00v\x00i\x00e\x00w\x00s\x00_\x00t\x00o\ -\x00o\x00l\x00b\x00a\x00r\x00-\x001\x004\x00.\x00p\x00n\x00g\ -\x00\x18\ -\x00%\xce\x87\ -\x00e\ -\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ -\x00-\x002\x003\x00.\x00p\x00n\x00g\ -\x00\x1d\ -\x08\xa9\xaf\xe7\ -\x00s\ -\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00_\x00v\x00i\x00e\x00w\x00s\x00_\x00t\x00o\ -\x00o\x00l\x00b\x00a\x00r\x00-\x000\x006\x00.\x00p\x00n\x00g\ -\x00\x15\ -\x0e\x9bq\xa7\ -\x00o\ -\x00b\x00j\x00e\x00c\x00t\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\x00-\x000\x005\ -\x00.\x00p\x00n\x00g\ -\x00\x18\ -\x003\xce\x87\ -\x00e\ -\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ -\x00-\x001\x005\x00.\x00p\x00n\x00g\ -\x00\x18\ -\x00Q\xce\x87\ -\x00e\ -\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ -\x00-\x000\x007\x00.\x00p\x00n\x00g\ -\x00\x1d\ -\x08\xd6\xaf\xe7\ -\x00s\ -\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00_\x00v\x00i\x00e\x00w\x00s\x00_\x00t\x00o\ -\x00o\x00l\x00b\x00a\x00r\x00-\x001\x003\x00.\x00p\x00n\x00g\ -\x00\x18\ -\x00\x22\xce\x87\ -\x00e\ -\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ -\x00-\x002\x002\x00.\x00p\x00n\x00g\ -\x00\x10\ -\x0c\x99\xf5\x1f\ -\x00b\ -\x00a\x00l\x00l\x00_\x00o\x00f\x00f\x00l\x00i\x00n\x00e\x00.\x00i\x00c\x00o\ -\x00\x1c\ -\x0d\xbb\x8bG\ -\x00s\ -\x00o\x00u\x00r\x00c\x00e\x00_\x00c\x00o\x00n\x00t\x00r\x00o\x00l\x00_\x00c\x00o\ -\x00n\x00n\x00e\x00c\x00t\x00e\x00d\x00.\x00s\x00v\x00g\ -\x00\x1c\ -\x03ZJ\xe7\ -\x00s\ -\x00o\x00u\x00r\x00c\x00e\x00_\x00c\x00o\x00n\x00t\x00r\x00o\x00l\x00-\x00n\x00o\ -\x00t\x00_\x00s\x00e\x00t\x00u\x00p\x00.\x00s\x00v\x00g\ -\x00\x0f\ -\x0a\x0d'\xdf\ -\x00b\ -\x00a\x00l\x00l\x00_\x00o\x00n\x00l\x00i\x00n\x00e\x00.\x00i\x00c\x00o\ -\x00\x1d\ -\x03\xe3zG\ -\x00s\ -\x00o\x00u\x00r\x00c\x00e\x00_\x00c\x00o\x00n\x00t\x00r\x00o\x00l\x00-\x00w\x00a\ -\x00r\x00n\x00i\x00n\x00g\x00_\x00v\x002\x00.\x00s\x00v\x00g\ -\x00\x10\ -\x0c\xa1\xe6\x1f\ -\x00b\ -\x00a\x00l\x00l\x00_\x00p\x00e\x00n\x00d\x00i\x00n\x00g\x00.\x00i\x00c\x00o\ -\x00\x11\ -\x08tl?\ -\x00b\ -\x00a\x00l\x00l\x00_\x00d\x00i\x00s\x00a\x00b\x00l\x00e\x00d\x00.\x00i\x00c\x00o\ -\ -\x00\x1b\ -\x00\x22\x12'\ -\x00s\ -\x00o\x00u\x00r\x00c\x00e\x00_\x00c\x00o\x00n\x00t\x00r\x00o\x00l\x00_\x00e\x00r\ -\x00r\x00o\x00r\x00_\x00v\x002\x00.\x00s\x00v\x00g\ -" - -qt_resource_struct = b"\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00)\x00\x00\x00\x01\ -\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x03\xa8\x00\x02\x00\x00\x00\x0c\x00\x00\x00\xc5\ -\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x03\xe2\x00\x02\x00\x00\x002\x00\x00\x00\x93\ -\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x01F\x00\x00\x00\x00\x00\x01\x00\x00\xb19\ -\x00\x00\x01y+\x8f\x93\xf2\ -\x00\x00\x01\xb2\x00\x02\x00\x00\x00\x01\x00\x00\x00Y\ -\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x03\x84\x00\x00\x00\x00\x00\x01\x00\x00\xc6s\ -\x00\x00\x01x\xc7F\xf7\x89\ -\x00\x00\x00\xfe\x00\x00\x00\x00\x00\x01\x00\x00\xad\x12\ -\x00\x00\x01x\xc7F\xf7\xee\ -\x00\x00\x04\xc0\x00\x00\x00\x00\x00\x01\x00\x00\xceG\ -\x00\x00\x01x\xc7F\xf7\xd7\ -\x00\x00\x02p\x00\x00\x00\x00\x00\x01\x00\x00\xbec\ -\x00\x00\x01x\xc7F\xf8\x08\ -\x00\x00\x03\x0c\x00\x00\x00\x00\x00\x01\x00\x00\xc3\xef\ -\x00\x00\x01x\xc7F\xf8\x04\ -\x00\x00\x00$\x00\x00\x00\x00\x00\x01\x00\x00\x01\x88\ -\x00\x00\x01x\xc7F\xf7\x88\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ -\x00\x00\x01x\xc7F\xf7\xd9\ -\x00\x00\x03`\x00\x00\x00\x00\x00\x01\x00\x00\xc5\xe4\ -\x00\x00\x01x\xc7F\xf85\ -\x00\x00\x04\x22\x00\x00\x00\x00\x00\x01\x00\x00\xca\x80\ -\x00\x00\x01x\xc7F\xf7\xa9\ -\x00\x00\x01\xcc\x00\x00\x00\x00\x00\x01\x00\x00\xba{\ -\x00\x00\x01x\xc7F\xf7\xed\ -\x00\x00\x05f\x00\x00\x00\x00\x00\x01\x00\x00\xd6\xb3\ -\x00\x00\x01x\xc7F\xf7\x85\ -\x00\x00\x02\xe8\x00\x00\x00\x00\x00\x01\x00\x00\xc3E\ -\x00\x00\x01x\xc7F\xf88\ -\x00\x00\x01\x22\x00\x00\x00\x00\x00\x01\x00\x00\xae\x8b\ -\x00\x00\x01x\xc7F\xf7\x81\ -\x00\x00\x02\x94\x00\x00\x00\x00\x00\x01\x00\x00\xbfR\ -\x00\x00\x01x\xc7F\xf7|\ -\x00\x00\x05\xb8\x00\x00\x00\x00\x00\x01\x00\x00\xd9\x9f\ -\x00\x00\x01x\xc7F\xf6\xe8\ -\x00\x00\x00\x90\x00\x00\x00\x00\x00\x01\x00\x00\xa6\x97\ -\x00\x00\x01x\xc7F\xf7}\ -\x00\x00\x02\x08\x00\x00\x00\x00\x00\x01\x00\x00\xbb\x91\ -\x00\x00\x01x\xc7F\xf7\x82\ -\x00\x00\x05\x12\x00\x00\x00\x00\x00\x01\x00\x00\xd0\xa7\ -\x00\x00\x01x\xc7F\xf6\xeb\ -\x00\x00\x02\xb8\x00\x00\x00\x00\x00\x01\x00\x00\xc2a\ -\x00\x00\x01x\xc7F\xf8\x07\ -\x00\x00\x02@\x00\x00\x00\x00\x00\x01\x00\x00\xbd\x8a\ -\x00\x00\x01x\xc7F\xf8\x13\ -\x00\x00\x00`\x00\x00\x00\x00\x00\x01\x00\x00\xa5\xc3\ -\x00\x00\x01x\xc7F\xf8\x17\ -\x00\x00\x056\x00\x00\x00\x00\x00\x01\x00\x00\xd5\xb3\ -\x00\x00\x01x\xc7F\xf7\xf5\ -\x00\x00\x05\xdc\x00\x00\x00\x00\x00\x01\x00\x00\xdd\xf0\ -\x00\x00\x01x\xc7F\xf8&\ -\x00\x00\x03\xf2\x00\x00\x00\x00\x00\x01\x00\x00\xc9M\ -\x00\x00\x01x\xc7F\xf7\xf1\ -\x00\x00\x04t\x00\x00\x00\x00\x00\x01\x00\x00\xcd>\ -\x00\x00\x01x\xc7F\xf7\xf2\ -\x00\x00\x030\x00\x00\x00\x00\x00\x01\x00\x00\xc4\xe2\ -\x00\x00\x01x\xc7F\xf7\xf3\ -\x00\x00\x04F\x00\x00\x00\x00\x00\x01\x00\x00\xccj\ -\x00\x00\x01x\xc7F\xf8\x11\ -\x00\x00\x03\xb4\x00\x00\x00\x00\x00\x01\x00\x00\xc8y\ -\x00\x00\x01x\xc7F\xf8\x12\ -\x00\x00\x05\x8a\x00\x00\x00\x00\x00\x01\x00\x00\xd8\xcb\ -\x00\x00\x01x\xc7F\xf8\x15\ -\x00\x00\x04\xe4\x00\x00\x00\x00\x00\x01\x00\x00\xcf\xd3\ -\x00\x00\x01x\xc7F\xf8\x16\ -\x00\x00\x00\xe6\x00\x02\x00\x00\x00\x01\x00\x00\x00P\ -\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00H\x00\x00\x00\x00\x00\x01\x00\x00\x03\xf4\ -\x00\x00\x01x\xc7G\x01\xc4\ -\x00\x00\x02,\x00\x02\x00\x00\x00\x01\x00\x00\x000\ -\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x01|\x00\x00\x00\x00\x00\x01\x00\x00\xb3\xeb\ -\x00\x00\x01y+\x8f\x93\xef\ -\x00\x00\x01\xf0\x00\x02\x00\x00\x00\x04\x00\x00\x00,\ -\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\xb4\x00\x00\x00\x00\x00\x01\x00\x00\xa9\x0c\ -\x00\x00\x01y+\x8f\x93\xf0\ -\x00\x00\x04\xa4\x00\x02\x00\x00\x00\x01\x00\x00\x00*\ -\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x03\xa8\x00\x02\x00\x00\x00\x01\x00\x00\x00+\ -\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x06\x0c\x00\x01\x00\x00\x00\x01\x00\x00\xde\xc4\ -\x00\x00\x01y\xd2\xb2\xf5B\ -\x00\x00\x16\x86\x00\x00\x00\x00\x00\x01\x00\x05\x9eC\ -\x00\x00\x01x\xc7F\xed\xa9\ -\x00\x00\x16:\x00\x00\x00\x00\x00\x01\x00\x05\x9c\x97\ -\x00\x00\x01x\xc7F\xf0\x97\ -\x00\x00\x16`\x00\x00\x00\x00\x00\x01\x00\x05\x9dk\ -\x00\x00\x01x\xc7F\xeb4\ -\x00\x00\x16\x1c\x00\x00\x00\x00\x00\x01\x00\x05\x9b\xa4\ -\x00\x00\x01x\xc7F\xf0\x87\ -\x00\x00\x03\xa8\x00\x02\x00\x00\x00\x1f\x00\x00\x001\ -\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x13\xb4\x00\x00\x00\x00\x00\x01\x00\x05\x88\x11\ -\x00\x00\x01x\xc7D\x85\xca\ -\x00\x00\x14\x06\x00\x00\x00\x00\x00\x01\x00\x05\x8a\xa5\ -\x00\x00\x01x\xc7D\x85\xcc\ -\x00\x00\x15v\x00\x00\x00\x00\x00\x01\x00\x05\x97l\ -\x00\x00\x01x\xc7D\x85\xc3\ -\x00\x00\x12\xf0\x00\x00\x00\x00\x00\x01\x00\x05\x81\x9f\ -\x00\x00\x01x\xc7D\x83\xc5\ -\x00\x00\x12|\x00\x00\x00\x00\x00\x01\x00\x05~\xaf\ -\x00\x00\x01x\xc7D\x85\xbb\ -\x00\x00\x152\x00\x00\x00\x00\x00\x01\x00\x05\x94\xd8\ -\x00\x00\x01x\xc7D\x85e\ -\x00\x00\x12\x9e\x00\x00\x00\x00\x00\x01\x00\x05\x7f\xf9\ -\x00\x00\x01x\xc7D\x85\xd0\ -\x00\x00\x14\xf6\x00\x00\x00\x00\x00\x01\x00\x05\x92D\ -\x00\x00\x01x\xc7D\x84\xb4\ -\x00\x00\x11\xce\x00\x01\x00\x00\x00\x01\x00\x05z\xad\ -\x00\x00\x01x\xc7D\x83\xca\ -\x00\x00\x12(\x00\x00\x00\x00\x00\x01\x00\x05}\x01\ -\x00\x00\x01x\xc7D\x85\xd2\ -\x00\x00\x12\x0c\x00\x01\x00\x00\x00\x01\x00\x05|V\ -\x00\x00\x01x\xc7D\x84\x12\ -\x00\x00\x11\xf0\x00\x00\x00\x00\x00\x01\x00\x05{\x0c\ -\x00\x00\x01x\xc7D\x84\x12\ -\x00\x00\x12\xc8\x00\x01\x00\x00\x00\x01\x00\x05\x81C\ -\x00\x00\x01x\xc7D\x83\xcf\ -\x00\x00\x13\x12\x00\x00\x00\x00\x00\x01\x00\x05\x82\xe9\ -\x00\x00\x01x\xc7D\x85\xc7\ -\x00\x00\x13\xe0\x00\x00\x00\x00\x00\x01\x00\x05\x89[\ -\x00\x00\x01x\xc7D\x85\xc8\ -\x00\x00\x13\x90\x00\x00\x00\x00\x00\x01\x00\x05\x86\xc7\ -\x00\x00\x01x\xc7D\x85d\ -\x00\x00\x13B\x00\x00\x00\x00\x00\x01\x00\x05\x843\ -\x00\x00\x01x\xc7D\x85\xce\ -\x00\x00\x12\x5c\x00\x01\x00\x00\x00\x01\x00\x05~K\ -\x00\x00\x01x\xc7D\x85-\ -\x00\x00\x15\xc4\x00\x01\x00\x00\x00\x01\x00\x05\x9a\x00\ -\x00\x00\x01x\xc7D\x83\xcb\ -\x00\x00\x14.\x00\x01\x00\x00\x00\x01\x00\x05\x8b\xef\ -\x00\x00\x01x\xc7D\x85\xb9\ -\x00\x00\x14Z\x00\x01\x00\x00\x00\x01\x00\x05\x8c\xbc\ -\x00\x00\x01x\xc7D\x83\xcc\ -\x00\x00\x13h\x00\x00\x00\x00\x00\x01\x00\x05\x85}\ -\x00\x00\x01x\xc7D\x85d\ -\x00\x00\x14x\x00\x00\x00\x00\x00\x01\x00\x05\x8d\x1c\ -\x00\x00\x01x\xc7D\x85\xb6\ -\x00\x00\x15\x94\x00\x00\x00\x00\x00\x01\x00\x05\x98\xb6\ -\x00\x00\x01x\xc7D\x85\xd4\ -\x00\x00\x14\x9c\x00\x00\x00\x00\x00\x01\x00\x05\x8ef\ -\x00\x00\x01x\xc7D\x84\x0b\ -\x00\x00\x14\xba\x00\x00\x00\x00\x00\x01\x00\x05\x8f\xb0\ -\x00\x00\x01x\xc7D\x84\x0d\ -\x00\x00\x14\xd8\x00\x00\x00\x00\x00\x01\x00\x05\x90\xfa\ -\x00\x00\x01x\xc7D\x84\x0e\ -\x00\x00\x15\x14\x00\x00\x00\x00\x00\x01\x00\x05\x93\x8e\ -\x00\x00\x01x\xc7D\x84\x0e\ -\x00\x00\x15X\x00\x00\x00\x00\x00\x01\x00\x05\x96\x22\ -\x00\x00\x01x\xc7D\x84\x0f\ -\x00\x00\x11\xba\x00\x01\x00\x00\x00\x01\x00\x05zN\ -\x00\x00\x01x\xc7D\x84\xb5\ -\x00\x00\x15\xf0\x00\x00\x00\x00\x00\x01\x00\x05\x9aZ\ -\x00\x00\x01x\xc7D\x85\xc5\ -\x00\x00\x03\xa8\x00\x02\x00\x00\x00\x08\x00\x00\x00Q\ -\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00$\x98\x00\x00\x00\x00\x00\x01\x00\x062&\ -\x00\x00\x01y+\x8f\x94\x0d\ -\x00\x00#\xa8\x00\x00\x00\x00\x00\x01\x00\x06\x1e\x02\ -\x00\x00\x01y+\x8f\x94\x0b\ -\x00\x00$\x0a\x00\x00\x00\x00\x00\x01\x00\x06%\xd2\ -\x00\x00\x01y+\x8f\x94\x0b\ -\x00\x00$p\x00\x00\x00\x00\x00\x01\x00\x06-\xa4\ -\x00\x00\x01x\xc7F\xf7d\ -\x00\x00#\xe6\x00\x00\x00\x00\x00\x01\x00\x06!P\ -\x00\x00\x01x\xc7F\xf6\xff\ -\x00\x00#D\x00\x00\x00\x00\x00\x01\x00\x06\x166\ -\x00\x00\x01x\xc7F\xf6\xed\ -\x00\x00$J\x00\x00\x00\x00\x00\x01\x00\x06)\x22\ -\x00\x00\x01x\xc7F\xf6\xf0\ -\x00\x00#j\x00\x00\x00\x00\x00\x01\x00\x06\x1a\xb8\ -\x00\x00\x01y+\x8f\x94\x0c\ -\x00\x00\x16\xba\x00\x02\x00\x00\x009\x00\x00\x00Z\ -\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00 :\x00\x00\x00\x00\x00\x01\x00\x05\xf9\x0c\ -\x00\x00\x01x\xc7F\xf0|\ -\x00\x00#\x0e\x00\x00\x00\x00\x00\x01\x00\x06\x11I\ -\x00\x00\x01x\xc7F\xed\xa1\ -\x00\x00\x1e\xb2\x00\x00\x00\x00\x00\x01\x00\x05\xe9\xce\ -\x00\x00\x01x\xc7F\xef\xf0\ -\x00\x00\x19\x08\x00\x00\x00\x00\x00\x01\x00\x05\xb65\ -\x00\x00\x01x\xc7F\xf0\xa1\ -\x00\x00!\xbc\x00\x00\x00\x00\x00\x01\x00\x06\x07\x15\ -\x00\x00\x01x\xc7F\xf0W\ -\x00\x00\x17@\x00\x00\x00\x00\x00\x01\x00\x05\xa4\xf5\ -\x00\x00\x01x\xc7F\xed\xd6\ -\x00\x00\x19\xae\x00\x00\x00\x00\x00\x01\x00\x05\xba\x04\ -\x00\x00\x01x\xc7F\xe9{\ -\x00\x00\x22b\x00\x00\x00\x00\x00\x01\x00\x06\x0b{\ -\x00\x00\x01x\xc7F\xef\xab\ -\x00\x00\x1b\xde\x00\x00\x00\x00\x00\x01\x00\x05\xcc\xc5\ -\x00\x00\x01x\xc7F\xcb~\ -\x00\x00\x18,\x00\x00\x00\x00\x00\x01\x00\x05\xac:\ -\x00\x00\x01x\xc7F\xf0\x90\ -\x00\x00\x1a\xd6\x00\x00\x00\x00\x00\x01\x00\x05\xc1\xd7\ -\x00\x00\x01x\xc7F\xe9@\ -\x00\x00\x1e<\x00\x00\x00\x00\x00\x01\x00\x05\xe3\x8d\ -\x00\x00\x01x\xc7F\xf0=\ -\x00\x00 \xe0\x00\x00\x00\x00\x00\x01\x00\x05\xfdE\ -\x00\x00\x01x\xc7F\xf0\x03\ -\x00\x00\x1c\xba\x00\x00\x00\x00\x00\x01\x00\x05\xd7Z\ -\x00\x00\x01x\xc7F\xed\xd8\ -\x00\x00\x1f\x8e\x00\x00\x00\x00\x00\x01\x00\x05\xf4\x02\ -\x00\x00\x01x\xc7F\xed\xda\ -\x00\x00\x1cT\x00\x00\x00\x00\x00\x01\x00\x05\xd2\x9a\ -\x00\x00\x01x\xc7F\xcc\x09\ -\x00\x00\x18b\x00\x00\x00\x00\x00\x01\x00\x05\xad,\ -\x00\x00\x01x\xc7F\xe9f\ -\x00\x00\x1e\xe8\x00\x00\x00\x00\x00\x01\x00\x05\xeb{\ -\x00\x00\x01x\xc7F\xe9\x86\ -\x00\x00\x1b\x0c\x00\x00\x00\x00\x00\x01\x00\x05\xc3%\ -\x00\x00\x01x\xc7F\xcb\xfe\ -\x00\x00\x1d\x96\x00\x00\x00\x00\x00\x01\x00\x05\xde+\ -\x00\x00\x01x\xc7F\xe9\x82\ -\x00\x00!\x16\x00\x00\x00\x00\x00\x01\x00\x05\xff\x03\ -\x00\x00\x01x\xc7F\xe7N\ -\x00\x00\x17v\x00\x00\x00\x00\x00\x01\x00\x05\xa7\x17\ -\x00\x00\x01x\xc7F\xe97\ -\x00\x00\x1f\xc4\x00\x00\x00\x00\x00\x01\x00\x05\xf6\x12\ -\x00\x00\x01x\xc7F\xe7\xa5\ -\x00\x00\x22\x98\x00\x00\x00\x00\x00\x01\x00\x06\x0d{\ -\x00\x00\x01x\xc7F\xe6\xb8\ -\x00\x00\x19\xe4\x00\x00\x00\x00\x00\x01\x00\x05\xbb#\ -\x00\x00\x01x\xc7F\xef\xeb\ -\x00\x00\x1d\x16\x00\x00\x00\x00\x00\x01\x00\x05\xda\xfb\ -\x00\x00\x01x\xc7F\xef\xe2\ -\x00\x00\x1bn\x00\x00\x00\x00\x00\x01\x00\x05\xc8A\ -\x00\x00\x01x\xc7F\xef\x93\ -\x00\x00\x1af\x00\x00\x00\x00\x00\x01\x00\x05\xbe\x80\ -\x00\x00\x01x\xc7F\xef\xee\ -\x00\x00\x19>\x00\x00\x00\x00\x00\x01\x00\x05\xb7\x07\ -\x00\x00\x01x\xc7F\xf00\ -\x00\x00\x17\xec\x00\x00\x00\x00\x00\x01\x00\x05\xaa\x0a\ -\x00\x00\x01x\xc7F\xed\xd3\ -\x00\x00\x16\xd0\x00\x00\x00\x00\x00\x01\x00\x05\xa21\ -\x00\x00\x01x\xc7F\xef\xe6\ -\x00\x00!\xf2\x00\x00\x00\x00\x00\x01\x00\x06\x08h\ -\x00\x00\x01x\xc7F\xf0f\ -\x00\x00 p\x00\x00\x00\x00\x00\x01\x00\x05\xfa\x13\ -\x00\x00\x01x\xc7F\xf0k\ -\x00\x00\x1f\x1e\x00\x00\x00\x00\x00\x01\x00\x05\xec\x83\ -\x00\x00\x01x\xc7F\xed\xc2\ -\x00\x00\x1d\xcc\x00\x00\x00\x00\x00\x01\x00\x05\xdf9\ -\x00\x00\x01x\xc7F\xf0\x0e\ -\x00\x00\x1a&\x00\x00\x00\x00\x00\x01\x00\x05\xbc\xf6\ -\x00\x00\x01x\xc7F\xf0%\ -\x00\x00\x18\x98\x00\x00\x00\x00\x00\x01\x00\x05\xaee\ -\x00\x00\x01x\xc7F\xf0I\ -\x00\x00\x17\xac\x00\x00\x00\x00\x00\x01\x00\x05\xa8\x8b\ -\x00\x00\x01x\xc7F\xf0,\ -\x00\x00\x22\xce\x00\x00\x00\x00\x00\x01\x00\x06\x0f7\ -\x00\x00\x01x\xc7F\xed\xdd\ -\x00\x00!|\x00\x00\x00\x00\x00\x01\x00\x06\x05\xa9\ -\x00\x00\x01x\xc7F\xf04\ -\x00\x00\x1f\xfa\x00\x00\x00\x00\x00\x01\x00\x05\xf7\x93\ -\x00\x00\x01x\xc7F\xf0*\ -\x00\x00\x1er\x00\x00\x00\x00\x00\x01\x00\x05\xe4\xee\ -\x00\x00\x01x\xc7F\xed\xc6\ -\x00\x00\x1dV\x00\x00\x00\x00\x00\x01\x00\x05\xdc\xcf\ -\x00\x00\x01x\xc7F\xf0@\ -\x00\x00\x1c\x14\x00\x00\x00\x00\x00\x01\x00\x05\xd1A\ -\x00\x00\x01x\xc7F\xf0K\ -\x00\x00\x1bB\x00\x00\x00\x00\x00\x01\x00\x05\xc5>\ -\x00\x00\x01x\xc7F\xed\xcb\ -\x00\x00\x1e\x0c\x00\x00\x00\x00\x00\x01\x00\x05\xe0\xbb\ -\x00\x00\x01x\xc7F\xed\xc8\ -\x00\x00 \xb0\x00\x00\x00\x00\x00\x01\x00\x05\xfb@\ -\x00\x00\x01x\xc7F\xef\xa6\ -\x00\x00\x1c\x8a\x00\x00\x00\x00\x00\x01\x00\x05\xd4\x97\ -\x00\x00\x01x\xc7F\xed\xce\ -\x00\x00\x17\x10\x00\x00\x00\x00\x00\x01\x00\x05\xa3\xf0\ -\x00\x00\x01x\xc7F\xf0\x80\ -\x00\x00\x1f^\x00\x00\x00\x00\x00\x01\x00\x05\xf2\xa4\ -\x00\x00\x01x\xc7F\xf0:\ -\x00\x00\x19~\x00\x00\x00\x00\x00\x01\x00\x05\xb8\x88\ -\x00\x00\x01x\xc7F\xf0(\ -\x00\x00\x222\x00\x00\x00\x00\x00\x01\x00\x06\x09\x9b\ -\x00\x00\x01x\xc7F\xef\xdd\ -\x00\x00\x1b\xae\x00\x00\x00\x00\x00\x01\x00\x05\xca0\ -\x00\x00\x01x\xc7F\xed\xd1\ -\x00\x00!L\x00\x00\x00\x00\x00\x01\x00\x06\x00\xbf\ -\x00\x00\x01y+\x8f\x93{\ -\x00\x00\x1a\xa6\x00\x00\x00\x00\x00\x01\x00\x05\xc0J\ -\x00\x00\x01x\xc7F\xf0\x0c\ -\x00\x00\x18\xd8\x00\x00\x00\x00\x00\x01\x00\x05\xaf\xbd\ -\x00\x00\x01x\xc7F\xed\xa4\ -\x00\x00\x1c\xf0\x00\x00\x00\x00\x00\x01\x00\x05\xd9\x9b\ -\x00\x00\x01x\xc7F\xe9<\ -\x00\x00\x0e\xba\x00\x00\x00\x00\x00\x01\x00\x04/>\ -\x00\x00\x01y+\x8f\x94\x12\ -\x00\x00\x0d\x0a\x00\x00\x00\x00\x00\x01\x00\x03\x98\x9f\ -\x00\x00\x01y+\x8f\x93\xdc\ -\x00\x00\x0e\x80\x00\x00\x00\x00\x00\x01\x00\x04*&\ -\x00\x00\x01y+\x8f\x94\x08\ -\x00\x00\x0d~\x00\x00\x00\x00\x00\x01\x00\x03\xfb\x9a\ -\x00\x00\x01y+\x8f\x93\xcd\ -\x00\x00\x09\xf6\x00\x00\x00\x00\x00\x01\x00\x039/\ -\x00\x00\x01y+\x8f\x94\x10\ -\x00\x00\x09f\x00\x01\x00\x00\x00\x01\x00\x02p@\ -\x00\x00\x01x\xc7F\xf5\xfe\ -\x00\x00\x07\x12\x00\x00\x00\x00\x00\x01\x00\x01\x8f\x0b\ -\x00\x00\x01y+\x8f\x93\xce\ -\x00\x00\x08:\x00\x00\x00\x00\x00\x01\x00\x01\xaa3\ -\x00\x00\x01y+\x8f\x94\x0a\ -\x00\x00\x0f$\x00\x00\x00\x00\x00\x01\x00\x04q\x5c\ -\x00\x00\x01x\xc7F\xf6G\ -\x00\x00\x0e\x10\x00\x00\x00\x00\x00\x01\x00\x04\x1c\xbf\ -\x00\x00\x01y+\x8f\x93\xe3\ -\x00\x00\x08\xd2\x00\x00\x00\x00\x00\x01\x00\x02e~\ -\x00\x00\x01y+\x8f\x93\xd6\ -\x00\x00\x0eL\x00\x00\x00\x00\x00\x01\x00\x04$\xfa\ -\x00\x00\x01y+\x8f\x94\x09\ -\x00\x00\x09*\x00\x00\x00\x00\x00\x01\x00\x02m\xa1\ -\x00\x00\x01y+\x8f\x94\x07\ -\x00\x00\x0c \x00\x00\x00\x00\x00\x01\x00\x03|9\ -\x00\x00\x01y+\x8f\x93\xd5\ -\x00\x00\x07z\x00\x00\x00\x00\x00\x01\x00\x01\x9dG\ -\x00\x00\x01y+\x8f\x93\xdf\ -\x00\x00\x08x\x00\x00\x00\x00\x00\x01\x00\x01\xc5\xe8\ -\x00\x00\x01x\xc7F\xf6*\ -\x00\x00\x0f\x9c\x00\x00\x00\x00\x00\x01\x00\x04\x8ei\ -\x00\x00\x01y+\x8f\x94\x12\ -\x00\x00\x08T\x00\x00\x00\x00\x00\x01\x00\x01\xb0@\ -\x00\x00\x01x\xc7F\xf61\ -\x00\x00\x0cb\x00\x00\x00\x00\x00\x01\x00\x03\x88{\ -\x00\x00\x01y+\x8f\x93\xda\ -\x00\x00\x07B\x00\x00\x00\x00\x00\x01\x00\x01\x93\xaf\ -\x00\x00\x01y+\x8f\x94\x11\ -\x00\x00\x08\xf8\x00\x00\x00\x00\x00\x01\x00\x02i,\ -\x00\x00\x01y+\x8f\x93\xce\ -\x00\x00\x0a\xc0\x00\x00\x00\x00\x00\x01\x00\x03U\xfe\ -\x00\x00\x01y+\x8f\x93\xd8\ -\x00\x00\x09\xc8\x00\x01\x00\x00\x00\x01\x00\x03\x19<\ -\x00\x00\x01x\xc7F\xf5\xf8\ -\x00\x00\x06\x92\x00\x00\x00\x00\x00\x01\x00\x01\x84\x05\ -\x00\x00\x01y+\x8f\x93\xcc\ -\x00\x00\x0a\xf8\x00\x00\x00\x00\x00\x01\x00\x03Y\xb0\ -\x00\x00\x01y+\x8f\x93\xdb\ -\x00\x00\x0d\x98\x00\x00\x00\x00\x00\x01\x00\x03\xff8\ -\x00\x00\x01y+\x8f\x93\xdc\ -\x00\x00\x0c<\x00\x00\x00\x00\x00\x01\x00\x03\x83Z\ -\x00\x00\x01y+\x8f\x93\xde\ -\x00\x00\x0bZ\x00\x00\x00\x00\x00\x01\x00\x03^A\ -\x00\x00\x01y+\x8f\x93\xd8\ -\x00\x00\x0a\x94\x00\x00\x00\x00\x00\x01\x00\x03@.\ -\x00\x00\x01x\xc7F\xf60\ -\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x01\x00\x04g\xe4\ -\x00\x00\x01y+\x8f\x94\x13\ -\x00\x00\x0fN\x00\x00\x00\x00\x00\x01\x00\x04\x86$\ -\x00\x00\x01y+\x8f\x93\xe2\ -\x00\x00\x0dD\x00\x00\x00\x00\x00\x01\x00\x03\x9c*\ -\x00\x00\x01x\xc7F\xf6\x18\ -\x00\x00\x0a0\x00\x00\x00\x00\x00\x01\x00\x03;\xce\ -\x00\x00\x01y+\x8f\x93\xd9\ -\x00\x00\x060\x00\x00\x00\x00\x00\x01\x00\x01!\xdb\ -\x00\x00\x01x\xc7F\xf6\x1b\ -\x00\x00\x0b\xe2\x00\x00\x00\x00\x00\x01\x00\x03w\xc6\ -\x00\x00\x01y+\x8f\x93\xd7\ -\x00\x00\x06\xf0\x00\x00\x00\x00\x00\x01\x00\x01\x8b\xd2\ -\x00\x00\x01y+\x8f\x93\xfd\ -\x00\x00\x07\xb8\x00\x00\x00\x00\x00\x01\x00\x01\xa2j\ -\x00\x00\x01y+\x8f\x94\x0f\ -\x00\x00\x0f\xce\x00\x00\x00\x00\x00\x01\x00\x04\x98\x10\ -\x00\x00\x01y+\x8f\x93\xcb\ -\x00\x00\x0e\xd0\x00\x01\x00\x00\x00\x01\x00\x046\xb1\ -\x00\x00\x01x\xc7F\xf5\xf3\ -\x00\x00\x06^\x00\x00\x00\x00\x00\x01\x00\x01\x81c\ -\x00\x00\x01y+\x8f\x94\x06\ -\x00\x00\x09\xb4\x00\x00\x00\x00\x00\x01\x00\x03\x13\xbb\ -\x00\x00\x01y+\x8f\x93\xd0\ -\x00\x00\x0f\xf8\x00\x00\x00\x00\x00\x01\x00\x04\x9a\xca\ -\x00\x00\x01x\xc7F\xf5\xf0\ -\x00\x00\x09\x86\x00\x00\x00\x00\x00\x01\x00\x02\x93\xaf\ -\x00\x00\x01x\xc7F\xf6$\ -\x00\x00\x0d\xe4\x00\x01\x00\x00\x00\x01\x00\x04\x02\xc3\ -\x00\x00\x01x\xc7F\xf6\x04\ -\x00\x00\x0c\xec\x00\x00\x00\x00\x00\x01\x00\x03\x91\xbf\ -\x00\x00\x01y+\x8f\x94\x0e\ -\x00\x00\x0b\xaa\x00\x00\x00\x00\x00\x01\x00\x03b\xb8\ -\x00\x00\x01x\xc7F\xf6L\ -\x00\x00\x06\xb8\x00\x00\x00\x00\x00\x01\x00\x01\x86\xad\ -\x00\x00\x01y+\x8f\x93\xe0\ -\x00\x00\x0c\xb0\x00\x00\x00\x00\x00\x01\x00\x03\x8d\x1f\ -\x00\x00\x01y+\x8f\x93\xdd\ -\x00\x00\x07\xea\x00\x00\x00\x00\x00\x01\x00\x01\xa5\x0c\ -\x00\x00\x01y+\x8f\x93\xe1\ -\x00\x00\x08\xb4\x00\x00\x00\x00\x00\x01\x00\x02O\xe4\ -\x00\x00\x01x\xc7F\xf6D\ -\x00\x00\x11\x06\x00\x00\x00\x00\x00\x01\x00\x05H\x0b\ -\x00\x00\x01y+\x8f\x93\xd4\ -\x00\x00\x11\x88\x00\x00\x00\x00\x00\x01\x00\x05r\xc6\ -\x00\x00\x01y+\x8f\x93\xd1\ -\x00\x00\x11b\x00\x00\x00\x00\x00\x01\x00\x05`\x84\ -\x00\x00\x01y+\x8f\x93\xcf\ -\x00\x00\x11\xa0\x00\x00\x00\x00\x00\x01\x00\x05v\xe1\ -\x00\x00\x01y+\x8f\x93\xd2\ -\x00\x00\x10\x94\x00\x00\x00\x00\x00\x01\x00\x05A\x0f\ -\x00\x00\x01x\xc7F\xf8/\ -\x00\x00\x106\x00\x00\x00\x00\x00\x01\x00\x05(\xda\ -\x00\x00\x01x\xc7F\xf8,\ -\x00\x00\x11 \x00\x00\x00\x00\x00\x01\x00\x05N\x15\ -\x00\x00\x01x\xc7F\xf83\ -\x00\x00\x10\xdc\x00\x00\x00\x00\x00\x01\x00\x05G=\ -\x00\x00\x01x\xc7F\xf8(\ -\x00\x00\x10`\x00\x00\x00\x00\x00\x01\x00\x05)g\ -\x00\x00\x01y+\x8f\x93\xd3\ -\x00\x00\x11J\x00\x00\x00\x00\x00\x01\x00\x05N\xb9\ -\x00\x00\x01y+\x8f\x93\xca\ -\x00\x00\x10z\x00\x00\x00\x00\x00\x01\x00\x057Q\ -\x00\x00\x01y+\x8f\x93\xc9\ -\x00\x00\x10\xbe\x00\x00\x00\x00\x00\x01\x00\x05A\xbe\ -\x00\x00\x01y+\x8f\x93\xe3\ -" - -def qInitResources(): - QtCore.qRegisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) - -def qCleanupResources(): - QtCore.qUnregisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) - -qInitResources() +""" +Copyright (c) Contributors to the Open 3D Engine Project. +For complete copyright and license terms please see the LICENSE at the root of this distribution. +SPDX-License-Identifier: Apache-2.0 OR MIT +""" + +from PySide2 import QtCore + +qt_resource_data = b"\ +\x00\x00\x01\x84\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ +\x00\x00\x01KIDATx\xdac`\x18\x05\xa3`\ +\x14\x0c&\x10\x91\x90\xe3\x18\x99\x98{\x08\x88\xf7\x810\ +\x90\xbf\x1f\xca\xd6\xa6\x8b\x03\x80\x165\x01-\xfd\x0f\xc3\ +@>\x8c\x1dK\xaf\x10h\x00Y\x0a\xc3@\xfe_(\ +{5\x10\x9b\x01\xf9V@\x1a\x8e\x89\xe4[\x03\xb1>\ +\xa5\x0e\x80\x87\x06\x05|\xf5\x81v\x80\x1e1i\xa0\x01\ +\x1a\xe7\x7f\xa1\x96\xff\x83\xf2o\x00\xf1\x19 \xff\x0c\x88\ +\x86a\x12\xf8\x97\x81X\x85\x9c\x10\x00\xd1\x13\xe8\x99\x0d\ +\xd1\x1d\xf0\x05Hs\x00\xb1\x1b\x10_\x07\xf2o\x02\xe9\ +\x1b0\x0c\x0a\x192\xf8\xb7\x80\xf80\x10\xb3\x12\xe3\x80\ +\x1ah\xd4<\xa4B\x1a@\xe6\xcf%\x94\x06@q\xff\ +\x1d\xea\xa8tX\xba\x80\xa6\x89\xbfhi\x84T>\xc8\ +,)b\xa2\xa0\x0c\xea\xa8gxr\x05\xa9|\xdc\xbe\ +Gs\xc0+ f\x06\xf23)\xb4\x10\x1b_\x94\x18\ +\x07\xe4A\xf9\xaf\xa9\xec\x80i\x84\xca\x81F\xa0\xa2W\ +@\xcc\x04\xc4i0C(\x8c\xf3\xbf\xd04\xf5\x03\xc8\ +\x97!\x94\x0d\xdb\x81\x8ar\xa0\x8ey\x8a%\x15S\x12\ +\x02\xd3\x88)\x07R\xa0\x96gQ1\xceA\xec_@\ +,A\x8c\x03\x98\x81\x0a9\xa1\x89\x90\x9a\xf9~\x1a)\ +\xa5\xa1\x0a\x10o\x07\xe2\xcd@\x8d\x9b\x81\xf4&\x18&\ +\x93\xbf\x14\x88yF\x9b{\xa3`\x14\x0cZ\x00\x00\xef\ +\xad\x00\xe1,\x84\xf5\xf4\x00\x00\x00\x00IEND\xae\ +B`\x82\ +\x00\x00\x02h\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ +\x00\x00\x02/IDATx\xda\xed\x96\xcb+\xc4Q\ +\x14\xc7\xe7\xe11\xcd\x90\xc9L\x1a\x22e\xe4\x91YL\ +\x13\x8a\xa2lllX\xa1\x94WQ\xc6\xb3\xd8x\xd4\ +\x10\x0bE\x8d\x14\xfe\x03\x0b\x89\xb2\x96\xc4\xc2B\xf2(\ +\x22\x0by,lH\x16\x1e5\x8d\xef\xad\xab\x8e\x99{\ +~\xbfYZ\xfcn};\xbf\xee\xe7\x9e\xf3;\xfd\xee\ +\xb9\xe7wM\xa6\xff0Z;\x07J\xa0\xf5\x96\x8e\xfe\ +a\x8d5\xed\xe0\x1b\xb0\x95\x0c\xb7\x83\x87aW\xc4\xb3\ +j\x0dx\x00l\x13\xea\x8au>\x82\xa2X\x10\x85\xf5\ ++\x82g\x13~\xcf$0.\xb9P\x88I\xe0Jr\ +!/u\xde!/(P\x04\xcf\x80\x22\x92\x9f0\x09\ +t\x93\x04\x82L\x02\x07\x92G \x0f\x056\xa8\x07\x93\ +\x15\xdc\x16\x80\x8bm\x0a\xc2:5\xb6\xa9\x09\xbcY\x83\ +\xa7\x83\x8b\x18>\x931\x8c\xa1(\x90L\x14\x87Uk\ +\x0d\xb8[\x87\xdb\x11'M\xe7=.\xc8\x1c;9)\ +\x8f\xe1\x13\xacC\xe1d\x85\xce\xe51[e\x02W\x83\ +G\xe41\xaba\x12\x5c\x94\xfc\x02\xb2Q\xe7k\xd2\x07\ +j\x15\xc1\xbd\x84\xbf0\x09\xcc\x93>\x10Vp3\xf8\ +\x03iDe43\xd1f_1y\xc8m\x03\xe6\xb7\ +\xc0\xdf`\xc7\x18^\x0c~'^\x02\x952I\x0e\x81\ +\xbdC\xdb\x90%\x16Z\xf4\xeaD\xafF\x12\xac5\xab\ +q\xe2\x8c\xa1*\x8c\x5ch\x19E\xd6\xa6\xb1\xa6\x01\x5c\ +\x5c6\xb8\x0aO\x02\x17\xfdd\x1aJf\x8aX\x1c\xe7\ +5\xa81\xd6y\x9f\x9cs\x9f\x22x\x16\xe1\xb7L\x02\ +#\xa4\x0fL0\x09\x9c\x91>\x90O\xc1\xee\xaf3l\ +\x91\xc2\xd1E\xf8%\x13|\xf07Ih\x94I\xf2X\ +r\xa1\xbc?\xff\x01\xd1\x8e1Y\xaf\xb1\x05U\xe0!\ +\xd8\x1c\x8d>\xd1\xcb\xdd\x86$\xf7\x80\xcfp\xad\xda\x18\ +F/p\xc6\xfd\xa1\xe2\x8b(3\x81\x0b\x89C\xef\xe2\ +\xa3\x9a\xec\x83>\x10\xe0\x146\x85q\x14G\xf5\x0bv\ +\x96\xe1~\xf0gq_\x80\x02L\x82S`\x22\xc6\xde\ +\x9ff\x05pC\xcey\x9d\xc2\xb1\x90\xf0W&\xf8\x02\ +\xe9\x03K\x0an\x01\x7f$}\xa0\x8cf\x1f\x84>e\ +\xa7J\xd5\xf9\x02s\x09|\x81r&I\xd1\xaa\xbf\xe3\ +\xbe\x00\xb9\x94\xea\xd5\x80\xde\xa5\xd4\x91@\x0d\xb8\xffU\ +\xf1\xff\x00\xf0W\x81\xb2\xb1-\xb20\x00\x00\x00\x00I\ +END\xaeB`\x82\ +\x00\x00\xa1\xcb\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x80\x00\x00\x00\x80\x08\x06\x00\x00\x00\xc3>a\xcb\ +\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\ +\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00\ +\x09pHYs\x00\x00\x0b\x22\x00\x00\x0b\x22\x01\x09\xe1\ +O\xa2\x00\x00\xa1`IDATx^]\xfdg{\ +cI\xb2\xa5\x89\xf2\x0fMF\x04\xb5\x04@\x90\x00\x08\ +j\xad\xb5\xd6Zk\x15\xd4:\x14\x19Z\xeb\x88\x8c\x94\ +\x91:\xab\xb2\xeaTU\xd7Q=\xdd}\xfav\xf7\xcc\ +<\xf7\xfe\x13\xbb\xef\xf2MFe\xcf\x07{\x00\x92 \ +\xf6\xden\xcb\xcc\x96\xb9\x9b\x9b\xc7\x84\xc7\x1f[\x04\xc9\ +Ar'\x9eZ\xf1\xec+\xabX\xfe`5\xeb\xdfX\ +\xc3\xd6\xf7\xd6\xb4\xf3\xa35\xec|o5\x1b_Y\xc5\ +\xea;+Y|n\x05\xb3\x0f-:qf\xe1\xa1c\ +\xcb\xea\xdd\xb2@\xfb\x92\xa57MYZ\xfd\x88\xa5\xd6\ +\x0dyR?li\x0dc\x96\xd68\x8eLx\xaf\xfc\ +\x9cZ7b)\xb5\xc3\x96\x5c3dI\xd5\xc3\xc8\xa8\ +%\xd5LXr\xdd\x8c\xa54,Xj\xd3\x8a\xa5\xb7\ +\xae\x9b\xafs\xdb\x02\xbd\x07\x16\x1c\xe0\x1a\x83\xd7,{\ +Hr\x82\x1c\xf2\xbb=\xcb\xec\xdf\xb6\xcc\xbe\x0dd\x1d\ +Y\xb3\xcc\xde\x15\xcb\xec^\xb2\xcc\xae\x05\xf3\xb7\xcdX\ +F\xd3\xa8\xa5\xd6\xf6ZRE\xab\xc5\x17\xd7ZlA\ +\xa5]\xce\xaf\xb0K\x055v\xa5\xb8\xd5\x12\xaa\x87,\ +\xade\xd1\xb2\x07\x0e\xadp\xe6\xa1U\xae\xbc\xb3\xba\xcd\ +o\xac~\xeb;\xabZ\xfb\xc2\x0a\xe7\x9e3.w,\ +\x93k\xfb\xfa\x0e\xcc\xd7\xb3o\xfen^\xbb\x90\xce]\ +^w-\xd8\x7f\xc8\xb8\xdd\xb4\xc2\xf9\xfbV\xb6\xfa\xcc\ +*\xd6_Y\xf9\xfaK+\xe5}\xf1\xf2c+Z~\ +\x80\xdc\xb3\xfc\xc5\xdb\x96;\x7fj\xd1\xb93\xe4\x8e\xe5\ +-<\xb0\xd2\xf5\x17V\xbb\xf3\xceZ\x0e\xbe\xb0\xee\xe3\ +\xaf\xad\xff\xda\xb76p\xed\xa3\x0d\xde\xf8\xd1F\xef\xfc\ +\xc9&\x1e\xff\xb3M\xbd\xf8\xaf6\xf7\xfa\xffc\xf3\xaf\ +\xff\x87-\xbc\xf9\x1f\xb6\xf2\xf6\x7f\xd9*\xb2\xfc\xfa\x7f\ +\xda\xc2\x8b\xffn\x93\x8f\xfe\xdd\xfaO\xffj]\xd7\xfe\ +h\xedG\xbf:\xe9:\xf9\xa3\xf5\xdd\xfc\x8b\x0d\xdf\xfe\ +\xbb\x8d\xdf\xffw\x9b~\xfc_m\xe6\xc9\x7f\xd8\xe4\xc3\ +\xffb\xa3w\xff\xcdzo\xfc\xcd\x9a\xf7\xff`5\x9b\ +\xdfs\xcf_[Ld\xec\xaeE\xc6\xeeYt\xfc\xbe\ +\xe5M>\xb2\xe2\xb9\x17\x0c\xc6{\xab\xbd\xfa\xb552\ +\x18\xcd\xbb?X\xf3\xcewV\xbf\xf9\x95U\xaf\xbd\xb3\ +\xf2\xa5\x17V2\xf7\xc8\x0a&y\xa8\x91k\x16\xe9\xdf\ +\xb5\xec\xee5\x0b\xb6\xcf[\xa0e\xca\xfc\xcd\xe3\xe6k\ +\x92L\x98\xafy\xd22.\x84\x9f\xd3\x01Az=\xa0\ +\xa8\x93r\xc6\x00\x82\x14?e\xc9\xf5s\x96\xd2\xb8h\ +\xa9\xcd\xab\x96\xd6v\xd52:\xb6\x18l\x94\xdcwd\ +A\xa7\xfc\xeb\x96=\x8c\x00\x80\xacA~7\xb0\xcf\xdf\ +\x04\x90\x0d\xf3\xf7\xac\xf1\xd9\x15d\xc9\xfc\x9d(\xbfc\ +\xce|\xadS\x5c\x0b0\xd6\xf6YRe\xbb%\x944\ +Z\x5cQ\xad])D\x8a\x1a-\xb6\xb4\xd3\x12kF\ +\x1d\x00\x82\xbd{\x967~f\xa5sO\xadr\xe9\x8d\ +U\xf1\xec\xe5\x0b\xaf\xacp\x1a\x90\x8f\x9d9\xe0I\xd1\ +\x99\xbd\xe7\xd2sd\x81\xee}\x0b\x00\x88`\xff\x91\x85\ +G\xaf[\xde\xd4\x19\x80\xb9o\xc5\x0b\x8c\xdf\x22\x8a_\ +xh\x85\x0b\xf7\x91\xbbV\xb8x\xd7\xf2\xe6Q\xfc\xec\ +-\xcb\x99\xb9e\x91\xe9S\xcb\x99\xbem\x05\x80\xa6\x14\ +\x90T\xaf=\xb3\xc6\x8d\x17\xd6\xba\xf5\xca\xdav\xdeX\ +\xc7\xfe\x07\xeb\xb9\xfe\xd1\x06n\xffj\xc3\x0f\xfebc\ +\x8f\xfe\xeed\xea\xc9?\xdb\xc2\xf3\x7f\xb5\x85g\xffb\ +s\x8f\xff\x93M?\xf8'\x1b\xbc\xf5\xb3\xb5\xee\x7fe\ +\x8d\xdb\x1f\x90/\xd0\xd5\xd7\xd6~\xf8\xbd\xf5\xdc\xf8\xd5\ +\x06\xce\xfe\xc9F\xee\xfd'\x1b\x7f\xf8o\x00\xe5?\xdb\ +\xf8\x83\x7f\xb3\xa1;\x7f\xb7\xee\xeb\x7f\xb6\xa6\xbd\x1f\xac\ +\xea\xea\x97\x5c\xff\x1d\x00\x18\xbd\x09\x8aO\xb1\xfe;V\ +0\x0d2\x17\x9ec\x01\xb2\x86/\xadi\xfb[k\xd9\ +\xfd\x0e\xf9\x160|iu\xeb\xef\x18\xa0\x17V6\xff\ +\xc8\x8a\xa6n[\xfe\xd8u\xcb\x1d:\xb0\x9c\xbeM\x0b\ +w\xafZ6\x0a\xc8F\x01Y\xed\xb3\x16l\x9b\xb5L\ +$\xd0:k\xfe\x96i\x80\x018\xf0\x12\x12_\xe3\x94\ +e4\xce\xa0\xa4yKk\x92\xe2W,\x0d\xabOo\ +\xdf\xb4\x8c\xce\x1d\xf3i\x805\xd8\xfd'\x0e\x00Y\x00\ + \x0bEd\x0d\xea\xe7c\x00p\xc0\xdfv\xf9\x0c@\ +\xe9\xb9\x8a\xf2W\xb1\xca%\xf3u,\x98O\xd6\xdf\x8c\ +\xc7i\x18\xb6\x94\x1a\x01\xa0\xc3\x12\xcaZ,\xbe\xb4\xd9\ +\xe2Jx-\xeb\xb4\x84\xaa\x01@7\x89\xa7Y\xb6`\ +\xcf\x8eE\x86\xafY>\xcf_4\xfd\xc8Jf\x9eX\ +\xd1\xe4\x03\xcbC\xf9\xfa\xbdW>\x7f\xd7\xaa\x16\xefY\xcd\xca\ +C\xab_\x7f\x8a\xc1\xbd\xb6\xb6\xc3\x0f\xd6\x81W\xe8\xbe\ +\xf1\xbd\x93\xbe\x9b\xdf\xdb\xe8\xd9\x8f6r\xfa\x1d^\xe2\ +k\xeb;\xfe`\xad\xdb/\xadj\xf9\xa1U,=@\ +/\x8f1\xda\x97\xd6\xb4\xfb\xde\xda\x8e\xbe\xb1\xae\xeb?\ +X\xef)@\xb8\xfd\x9b\x0d\xdc\xf9\xb3\xf5\x9d\xfe\x91\xdf\ +\xfd\x8c\xc7\xf9\x887\x7foe\xcb/\xf0\x5c\x8f-&\ +:\x0e\x82'o\xa2\xfc\xdbX\xff}+_~\x8a\xfb\ +\x7f\x8d\xc5\xbf\xf7P\xb5\xf3\xa55\xf3\xda\xc8?\xd5\xf1\ +\xfb\xea\x95\xe7V\x01\xd2Kf\xeeX\xe1\xc4M\xcb\x1f\ +9\xb6\xbc\xc1=\x8b\x0elY\xb4\xef*`X\xb3H\ +\xef*\x80X\x01\x10K\x96\x85R\x82ms\x16\x04\x08\ +\x9e\xcc\xf33\x96\xd7\xb6j\x99\xed(\x0fk\xf7u\xa0\ +\xf4\xae=\x14\x7f\x80B\xb1\xb0>\x06\xb9\x1f\xcb\x1b\x90\ +\xd2\xaf;\x10\x04\x9d\xf2/\xe4\x08\xd7\x8c\x12\x08\x05\x01\ +<\x81\xbfg\x83\xff\x07\x04\xed\x8b\x96\xd1\x0a\xb0\xf06\ +\x0aA\xc9\xb5\xfd\x96T\xd5\x0d\x08\xba\x10^\xab\xfa\xf1\ +:#\x80\x03\x00\xb6.\xe21\xd6Q\xe8\x0e\xa1\x0cW\ +>\x02\x98GO-o\xf4\xccr\x87Q\x10\xd7\x09\xf7\ +\x1fXv\xdf\xaee\xf5\xe0\xeee\xf1(>\xc8\xbdI\ +\xe4\x9d2\x09\x0d\x99x\x90L\xbeC\x12\xec\xc5\x1b\xe2\ +\x9dB\xc3\x87x\xd5#\xcb\x99<\xb1\xdc\x99\xeb\x16E\ +\x22\xd37,\xb12\xc0V\xbd\ +\x06\x88\xb6_X\xe3\xde[k9\xfc\xdcZ\x8f\xbe@\ +\xd0\xe1\xfe\xe7\xd6\xb0\xfd\xd6\xaa\x09=eK\x8f\xf0X\ +w-\x1f\xf0\xc5\xe4q\xd1\xfc\x99\x9bV\x04ZKp\ +Y\xe5 \xaaz\xed\x89\xd5\xae?C\xe1\xcf\x91\x97V\ +\xb7\xfa\xd2jAL\xf5\xd23\xab\x5cxles\x0f\ +\xacdZ\x00\xb8e\x05\xa3\xdc\xc4\xc8\xa1\xe5\x0fs#\ +\xc3\xbb\x967\xbc\x83W\xd8\xb2\x9c\xfe\x0d\x0b\xf7\xaeY\ +\xa8k\x19\xaf\x80g D\x84x\x0dw\xaeX\xa4{\ +\x03\x90\xec\x12>\x0e-\xa4\x18?p\x822O,\x80\ +\xf8Q|\x00q\x00\x90\x07\xe8g\xc0q\xb5\x99\xb2>\ +^\xb3\x1c'@\xc4?\x18\xbcL\x06<\xd0\xbb\x0d\x00\ +\xd6-\x03`\xa5\xb7\xccX*\xa1&E\x00\xa8\x1b\x04\ +\x04\x03\x96\xc2kj=._\xde\xa7m\xc1\x02\x9d\x84\ +\xac\xdeM\x94\xb5k\xa1\xa1}\x0b\x0f\x1f G(\xe4\ +\xc4B\x5c/\x9bke\xf7\xee[6\x8a\xcfF\xb1\xd9\ +(9\xc4\xefB\xdc_h\x10%\x02J\xdds\x10\x00\ +\x04\xba\x01o\x07a\x0b@K\x1c\xa8\xf0\x88!\xc6!\ +2q`Q\x14\xe3\x000u\xc3B\xe37\x9c'\x13\ +x\x5c\x18\xc1\xdbevm\x01\xae-\xae\xb9ea\x8c\ +(\x87\xb1\xcb\x1d\xde\x02\x14\xdb(v\xd7\x0a&\xf6\x90\ +}+\x9e>D\xe1'V1{he\xd3\xbbV<\ +\xb1i\xd1!\xf1\x1e\x7f\xe4\x00!\x9e\x8e\xec\xf2\x00;\x963@X\ +\xe8]w\x9e \xdc\xc5\xcd!9\xbc\xcf\xed\xbdj\xb9\ +\xb8\xef\x5c\x94\x97\x8b5Dq\x87\xe1\xb1\x9b\x96\x85\x0b\ +\xcd\xc4\x0a\x03X\xbb\x1f\xc5\xfb5HX\x9cbm\x00\ +>\x10\xe8\xd9s\x03\xee\xb9\x5c\x06\x94\xff\xd1\xff\x85\x00\ +`pP\x9ec\xcb2\xda\x09%-s\x00`\x12B\ +\x09\xc7\x80\x94\xa64\xc07D@\x09C\x19x\x88@\ +\xf7:\x83\xb5\x85\xe2\xf7,2\x8a\x95\x8e\x1fC\xf6\xf8\ +\xceQ\x11L)U\xca\xe1z\x90P\x7f\xc7&\xaf\x9b\ +\x16D\xc9\x02E\x88P\x14\x199\xe5\xfa\xa7\x8e\x97\xe8\ +~\xfc]\x9b\x96\xde\xb6L\x18\x9b\xb7\x94\xe6YB\xd9\ +\x19\xf7\xd1M\xc6h\x9b\xe7\xdb\ +a\x8cw!\xed{\x84\xa8}\xe4\xc0r'\x8f,:\ +y\x8c\x9cXL\xc1\x0cDe\xd6\x93\x22\x85\x81\xa9[\ +V\x02ZK&\xafY1R4y\x1d\x81\xe9\xe2\xee\ +\x0b\xe4\xf2Aq\x9eb?\x03\x16E\xf19\x83\xfb\x16\ +\x19\xdc\xe5\x15\xc4\x0fn#B2\x16@8\xc8\xeeY\ +\xb5\x10J\x8f 9\xbc\xcf\x05\x10\xf9\x03 \x1b\x8b\xcb\ +\xe7\xff\xf3\xf8\xbe\x5c\xae\x17\x01\x84\xa1\x09\x06\x94\xdf\x05\ +\xb0\xec\x00V\x1e`\xc0\xfdX\xa1\xc8\xa0\xbfk\x07\x81\ +\xf5c\x91\x22\x81\x22^\x11\xbcO\x0e\xe4+\x02\x10\xb3\ +\x01\x81<\x81\xbf\x1be8\x10\xcc\xa3\x10\xb2\x8a\xa6i\ +^\x91\x16\x14\xd36\x8f\xa5.;\x00\x04\xfb\xb9\xbf!\ +\x5c\xff(\xd6?\x8er\xc6\xb1\xf81<\x8d\xae\xad\xeb\ +b\x9d.,\xc1I\x1c\x08\xb8v\x90{\x91\xe2B\xc3\ +x\x80\xa1\x1b\x84\xa7#>\xb7\xcd\xf5V\xb9\xc6\x9c%\ +\x13V\x92\x1a&-\xb9i\xd2R[QL\x07\xdc\xa7\ +{\x01O\xb6\x0a@7p\xfbx\x9ba\x80\x06\x00\xc2\ +|G\x18/\x12\x22\x94\xb8\xf0\xd2\xb5A&\xb5l~\ +B\xa4\xafe\xc2e0\xe9MCp$\xa4i\xd8\xd2\ +\x9bG\x10~\xd7\x0c\x81n!\x93j\x01\xd4N\xf43\ +\xc4\xba\x15\x92\x0d\xf1\xcdh\x9b\xe6\xbeg\xe0Cs\x5c\ +{\x1e\xa3\xc0\xdb\xe1\x192\x07\x00\xe3\xe0\xba\x85F\xb6\ +\x00\xc5>`8f\xdc\xd1#\x844\xa6d\xe99\xee\ +\x82\xb4E\xc4N`\x90\x92\xb1\x8c\x5c,$g\x00\xa5\ +\x22a$$w\x89\x84%X\xb0'\xfc\x9e\x18\x1c\x92\ +E\xe1\xf6\xb2Qz\x16J\xce\x82\x99\x07Qz\x10\xab\ +\xcf&\x04\xc8\x0b8\x00\xf0\xf7<\xbe+\x0f\xb7\x9b;\ +\xc25\x88{\xd1\x09b-7\x94=\x86\x8b\x1f\xc1\xda\ +\xf9[\x00\x92\x17 \xfe\x06 _\x01\xdc\xaf\xdc\xac\x06\ +\xdb\x01\x00R&\xab\x8f@\xa6\xc4\xa6s \x5ca\xee\ +9\x8b\xc1\x0dpO>\xc2Kz\x87\xb2\x09\xac\xb2u\ +\xc9IZ\x9b'\x19\x00\xc0\xd7\xb5\x827A)\xfd\xdc\ +\xa7S\x0c\xeewd\x87Wb\xbcx\x85\xc2\x8d<\x0f\ +|$\x00/\xc9D\x82\xe7\xde\xc7\x0b?\xe2&\xf2N\ +\x5c\x0b\xcbM\x83K\xa44\xcd8\x00$\x03\x80\x14R\ +\xdeT8H\x1aDT\x8a\xf1\xb5\xcf\x00\xdeE\xee\x1d\ +\x83\xe8\xc7\xeb\x10\x02r\xe0\x18\xd1\x91[\xb8p\x80 \ +\x22\xd9\xb3i\x99\x1d\x90X\xb2\xa8t\xc8k*\xdc%\ +\xa5\xa6\xc7\x92\xab\xbbH\x97\xbb\x09c\xbc\xaf\xebC\xfa\ +!\xaf\x10\xd8\x06\xc9 \xd7\xe2\xb3\x8d\x0amx8]\ +\x13\xf0\xe9\xbai\x80(\x8dk\xa7\xb5O[z'@\ +\xe8\xc5\xb3\x0c\xe0\x8dF\xe1j\x18t\xfe\xccm+\x9a\ +\x7fH\xc6\xf2\xd4b*\xaf~n\xe5\xabo\x88\xff\xcf\ + \x82\xf7\xb1\xec\x1b(\x1dW\x0b\xc3\x0ev\xc95\xad\ +\xe3^H\xb5\x10\xc5\xceL\x5cU\x90\xd7\xac.\x09\x83\ +\xe8\x04\x85#\x99\x1a\x5c\xdcX@.\x90x\x1fh\xc7\ +\x9dA\x04\x9d\x17\xe8Y\xb7\x1c\xe2n\x94\xfc=\x0a\x88\ +\x22\x10\xb80 \x0b\x112\xb2P@p\x18\x05\x0f\x91\ +\xda\xe1I\x02\x90\xcaL<\x8b\xac:\xb3_ \xd8\x05\ +\x00\x02\x011S\x8c\x9c\xf0\x91=v\x0d\xaf\xc1\x00N\ +*\xb6B\x16\x01\x94\xf3\x02\xf0\x81\x0cy\x82N\x01\xe1\ +*\x16\xba\xce@\xac\x01\x00<\x03 H\x87'dp\ +_J\x19\x03\xa4\x8e\x01\xcd\x1fh\x1e\x01\x00\x07\x01P\ +\x96\x14\x22\x1e\x00\x07\x099\xc1\xeae\xf9(_\xe1G\ + \xd0=\xf8\xbb\x15r\xf8^R\xc9\xd4&\xd2X@\ + I\xd5|\x88\x14\xa1\xb0\x83b\x94\x02\xfb\xb0\xec\x00\ +\xdcG|\x22\xc2wDG\xb0\xbe\xd1[\x18\x01c\x0d\ +\xe8\xb2\x19\x97L\xc6\xcd\x87\xe7HG\xa1\x9aGI\x11\ +w\xa9A\xe1\xff/IrBv\x03H\xc4q\xc4u\ +R\x95Z7\xa0tB\x9f\xe6\x5c\x04\xc0T\xae\x9b\x06\ +!\xf6\xc2\x11\xe0#\xc2\ +\x00\xd6\xef\xc3\x12\x15\x16\x02()\xa0\xf9\x00\x88[\x90\ +0\x14$\x15\xd5\xe7\xfd|\xb7O\x84\x10o\x91\xc1\xfd\ +g\x10_3p\xe1\xe9m\xb2T\x00\xd0\xbc\x88\xcc\xe1\ +J\x19\x18\xc8\xa2\x14\xe3\xee\xb5\x83g\x121D\xa9\xd9\ +(7\x8c\x92#\x837 dX\xaa2\x02\x5c\xb6,\ +W$Qia\xa6\x00I\xec\xcf\xc0\xfd+\x95\x14\x08\ +\xd2\x9a\x17x%\xad\x15\x0f\x10\x08\xce'\xbf\xd2\x01\x83\ +\xafu\xce\x19N\x08\x8f\x19\xc5S\xe5\xc1w\xf2\xe0>\ +\xb9\x84\xd2\x1c\xee?\x84Qduc`\x18\x8dOJ\ +#e\xd6\xff\xa5\xa3P\x89\xfb\xae\xfaq\x801\x0a(\ +.&\xd1\x06\x01\xc2\x10\xdeA\x80\xe1\xef\x0d\x80\xa7i\ +\x96\xffE\xe0A\x19\x0ay\x18_\x00\xce\x95%oN\ +\x88-\x9c\xbf\x87\xb1C\xee\xb7\xde\x93\x0e~c\x9d\xc7\ +?ZL7\xf9b\xe3\xee\x97V\xbe\xf2\x12rp\x8f\ +\xd8\x08\x19S\xec\x85\xfc\x88\xd5\xa6\xc9\x85\xb6\xf0p\x90\ +\x9ct\xbe\xd8\x87\xf8y\xd0@+\xf1M\x22@\x00\x8c\ +\x00\xaf~~\xfe\xbd\xe8\xf7Y\xb8\xe3\x10n9\xdc\x03\ +?`\xe0\xc2H\x88\xf7A,4\xc0\xdf|\x9aE\x04\ +(\xe9\xdcp:\x8a\xc8\xc0\x8b\xf8\xb9i\x7f?\xe4\x08\ +O!\x00\xf8\x09\x07Np\xc3nVN\x82g\xf0c\ +\xb1~\x06\xd5\xafT\x10\x8f\xe5\xc3\xf2}R\x0c\xca\xd7\ +L\xa2f\xeb\xfc\x12\xcd-h\x8e\xa1m\x8d\xc1\x01\xcc\ +(,\x83g\xca\xe09|\xbc\xf7\x03\xf0L<]\x16\ +\xf7\x15\xe6{s\xb0\xd2\x1c\xb9j\xdc\xbdK\x07q\xf9\ +!\xae\x9f\xa5\x94O\x9e\xa8c\xc3}W\xba@\xc5\xf7\ +\xa5;Y!\x0e\xaf\xa0@\x0cE)\xa6\x9e\x9fW\x19\ +@\xb6\xb2\x1e\xdc\x7f\xee\xc8\x89\xe5+s\x9a\xba\xed\xd2\ +\xee|\xc2X.\x9e,B\xf8\x09\xf1\xbcAB\xa7<\ +\xa8\x9fp\xe0g\x5c\x9f\x89\xc7\x08:\x81x\ +t\x10&\x88\x93\xd9XV\xa8G\x96\x8f\xdbWJ\xc5\ +\xfb,\x00\x16\xe03RF\x1a\xc8Mm\xf4\x08[Z\ +\x1b\xe8\xd5\xa4\x0e\x83\xe1\xc3-K\xc9R\xb6\x0f\x05\xf8\ +\xb0|)?\x83\xef\xc8\xe0;2\xf8\xdet\x067\x83\ +P\x95\x81\x05+\xf6\xa7\xe3\x96\xd3\xdb5\x9b\x08(\x14\ +\xc3{4y\x83\xa7\xd0+\x1e$SdR\xd7&<\ +\x04\xf8\x5c&\xaf\x02c\x16^#\xa4\x18MF\x91C\ +\x88\xc9\x19\x22\x97'\x14\x86\x19\x8bl\xdd/\xd7\xf2\xfe\ +o\x03\x85\x5cE\x94v*\xfd\xe3\xbd#\x8bb\xf3\xfa\ +\xcc\x16!\x11OBV\x12\xc2#E\xf0bQ2\xa5\ +|M\x19\xa3\xf4\xa2\xd9{d[\xf7\x1c\xe9\xce\x87\x84\ +\xe5b\x999\xa4\xd1a\x88\xb4R\xc1`\xcf\x06\xf7,\ +\xc1C*\x0c+<\xa0L?^V\x80M\x85k\xa4\ +\xa0\xf4d\x94\xafi\xf4\xe4\x1aV.\ +k/D\xf1E\xf3\x0f\xdc$L\xf9\xf2#8\xd7}\ +\x97z\xe7C\xca\x22dE\xd9x2\xa5\xa7N\xe9<\ +o\x10\xd0k\xc63\x0b\x91N\x02x7\x97\xe6\x8ao\ +\xd4\x93m\xd4\x8c\x9d\xaf\xa3\x90\xee\xd6)L\xa0\x17\x9e\ +\xdf\x8f\xd1\xb9y\x05\x9e@\x00\x10@\x95e\x9c[\ +\xbb\x03\x80\xb2\x1d\x94\x0fA\x94\x08\x0c\x01\xcds\xa0\x17\ +\x19\xa4K9k\xc7\xddz\x86$\xa9\x8eq\x83\x03\xe8\ +o\x19\xa4\x93\x01t\x98\x05h\xc2\x84\x9c\xa8\xb2:X\ +\x7f\xc1\x9c@p\xd7\x8a\x97\xeeA\x00\x1f\x01\x82g\xd6\ +\xb6\xff\xcab\x0a\xa7oXt\x5c\xd3\x92\x9al\xc1\xda\ +x\xe8\x0c\x91>,S\x00\x90\xd2=!\x0e5+\xbe\ +\xad2\x10\x905,!\x93\xc1\xc8B\xe9!\x5ck\x18\ +\xeb\xce\xc1E\xe7\x10/\xf5z\xa1h)\xffB\x22<\ +\x98\x16\x8fr\xe4\x9ex\xe0l\x91@\xd8\xb1b\xa6\x08\ +Lj\xa3\xc8\x93\x08\x10y\xb4\xf8\x0610\x00\x00\xe4\ +\x0e3!wN\x18\x08Y\x83r~\x111'\x00\xc2\ +\x0f\x10}\xf2(\x88\xf8K&\x96\xa9\x19\xbb\x9c1\x1e\ +|\xf6\xb1[\xc4\xaaXye\x15\xab\x92\xd7(\xe0\x15\ +\x16\xf9\xc2\x8a\xe6\x9eY\xe1\xccc\x0c\xe0\x1e\x83u\x8b\ +AS\x06\xb0\x8b\xdb\xe5;]\x88\x02P\xcd\x00\xacE\ +\xe3\x22\xe3\xc0\xf2\xf1,R~\xd6 \x19\xc8\xf0)\xd7\ +\xb8\x8d\xe2\xef\xa2x\xb9uM\xb1\x22(>\x8f\xb8\xeb\ +\x04\x05\xe490\xdc\xc1\xd3b\x89N\xf9w\x00%\xe0\ +\x1c\x87_\x0c\xe8\xd9D\x88%\x1b.vg\xcb\x0b\x01\ +FI\x96V?\x19\x03)7\x95qJ\xaa\x9f\xb0D\ +\xc8_\x02\x5c \x01R\xa8\xf7JA\xf57e9~\ +B\xa2@\x14R(\x83hF\xf1\x02\xd1)\x84\xeb)\ +\x13\xc8\xe3\xb5p\xf6\xa6\x95\xcc\x9fZ\x8c\xdc\x8d\x06V\ +3i>\xc5}\xacR\x1e@\x0f/\xf4\xfb!6\x9e\ +\xe8\xe7s\xc5kb\x04+P\xb6\x10\x92\x95\xe1JE\ +\x98\xa2\xc3\x5cL2\x04\x8b>\x8f\x9f\x9e\x17\x80\x5c!\ +\x11\xae\x93\x03a\xcb\xe1\x01#\x90\x9e\x90\x18*n>\ +\x93\xf8\xe6Sz\xe6H\x19\xfc\xc2e\x10\xe4\xce\xca0\ +\x94f\xa2\xec,\xee/\x8b\xff\xd7\xf2sP\xaf\xdcw\ +\x16\xdf\xffI\x00\x98\x16v4\x1f\x9fE\x98\xc9\xe6~\ +\x22\x9a\xd7\x9f\xbc\xcf\x83>u$\xb7b\xed\xb5K\x7f\ +\xaa\xd6\xdf\xc2\x86\xdfZ\xd9\xca\x1b\xdc\xe2+\x97\x02\x17\ +\xce\xe2\x11&Q\xe6\xa8\x8ca\xdf}\x7fPs\x0f<\ +k\xa0\x13W\xdf\x85K\x86Gd\x91\x16z\x16\xcfg\ +\xc7Q.\xdf_\x80G)\x9c}\xe4\xbe\xa3\x00W/\ +eG\x89\xef\x11R\xd4\xc8\x04\x16>\xa6\x99FM`\ +\x1d\xe1uN\xf0>\xd7y=&\xe5\x16\xdf\xd0=\x03\ +\xdan<*\xbcGK\xdcY\x9a{!~\xe7\x11B\ +\xc4\x1d\xf24c\x8a'\x08IGx8\xf1\xb1d\x98\ +\xbf\x07\x82aK\xa8\x1d\xb1D\xb2\x84dx\x94f\x22\ +}\xf0\x00y\x0c\x01G\xcb\xe7!@\x1d\x22M\xce\x86\ +kd\x911\x051v-\xa9\x07\x09s1\x9a`\x91\ +\xc8\xb5z\x0cZ\x0b+\xc4=,@3TY\xfcN\ +\xf1:\x9b\xcf\xc8\xda\xb3dY\x9a\x16u\xb1\x93\xf8\xa5\ +T\x09\xf7\xa7\x85\x14OH\x9b\x86\xbc\x85\x94\x90\xe6\xd1\ +Q^\x88\xef\x09\xf3}.\x15\x84\xd8i\xe1\xc8M\x15\ +\xf3\xb0\xd9\x9a8\x12\x08\xf0\x04\x9a\x0d\x0b82\xe9\x89\ +G$5\xcf \x22\xc9}\xf0P\xfa\xce\x90<\x08\xe1\ +*\x0ca\xd3B\x8e\x13\x0d\x10\xa2\x1a\x85\x08\xf9\xb5\x96\ +r\x9dr\xb4\xc2\xb7\x00\x00\x96\x9f\x03\x02\xbc\xc0\xeaK\ +@\xf0\x1a\x00\xe0\x05\xf0\x08\xa5\xfc\xbeh\xfe\x11\x96\x8b\ +\xd2\xc65KG\x08\xe0\xbb\xb3\xf1`\xd9\xe7s\x02\xa1\ +\x01\x14>t\x06\xa0n\xf3\x19B\x06\xdf\x9bGH)\ +\x9c{\x845?\xc5\xb3<\xb7\xca\x15\x85\xd2\xc7.\xb6\ +\xe7\xcd\x9cZXs\x13\xc4\xf6\xe0\xa0\xe6.\xf0Z\x80\ +=\xd0\xb3\xee&\xcc\x22<\x7f\x98t\xd7{~1\x7f\ +<+\xa2e\xedL\xe5\xec\x9aY%~\x17A\xdeJ\ +\xf1&ex\x95\x92\x09\xc2\x85V'\x01\xa4O\xd9\x07\ +\xa19\x19\xf6\x9f\x88\xfbO$3Hl\x98\xb0d\xcd\ +|\x0a\x00\x18\xb0\x00\x90\x89\x17\xd0\xd2\xb9\xc2I\xa6x\ +\x04?\x07\x18?\x17N\xd1\xa9$&@\x8c\xd6<\xbb\ +\x1f\xcb\xb9\x10}0\x0bt\x88\x08i\xc2&\x8aE\xe4\ +2\xb8Q\xdc{\x14\x92\xa3\x19,O\xe9\x0c2V\x90\ +O,- \x85\xd4\x92j\xee(\xb1\x14\x00\x84\xb0J\ +)-\x0b4f#!,9\x8c\xcb\xcf\xe1\xc1s\x07\ +\xb7-wh\x9b\xef\xc2\x1b0\x18\x9e7\xe0\xb3\xb0\xdd\ +,\xa5c(=H|\xd7\x8a\xa1^\xf5\xb3H\xa5x\ +\x83f 5\xfd\xac\xfc9G,\x17\x89\xf0\xde\x13~\ +\x1e\xc1\x13\x11\xcf\xf3\xb8\x97\xfc)\x01\x80\x98\x8f\xa2J\ +\x16P\xce\x22\xb1w\x09Y~j\xc5\x8bOP\xfcc\ +\xac\x16\x85\x11\xb3\xa3.\x1d\x03DR>\x03\xa6\x95\xba\ +\xf0\xf9\xdc\x7ft\x0cw>\xf1\x00\x90\xc0\x1df\x1e\xb9\ +\x82\x98\xc2\xb9\x87V\xc6w\xd4\xc2\xaa[\xb6_#\xaf\ +\xacq\xe3\xa9U\xa9\x00dJ\xcb\xd7\x1aS\x19\x94\xb2\ +\x12\xc2\x08i\xa1K\xa3Q\x90\xe6J.\xc4M\x98u\ +\xe0\xf1:I\xa9{V\xf0<\x02\xc0\x0e$\xf2\xc4J\ +\x08\x1d\xe5\x10\xc7J\x00Z\xa1\x05\xb8I@\xaa\xb9\x88\ +ntD\x18N\x87\xf3\xb85\x08\x91hxT*\x1e\ +T\xd7\x12\x99\x8c`\xe9\xca>\xa2\xf0\x80\xc80\xe1\x0a\ +@\x8bC]L\xa8\x05\xf4\x1dH\x8c\x98\xabf\xb7T\ +y\x93\x89\x82\xb5\xcc\xaaU\xb6\x08.#*\x97\x85\x14\ +\xe0\xc2\x0a\xb5d\xc9\x97\x15\xe0\x8e\x0a\xc7\xb5^@^\ +\xc9\xe0\x951\xb8\xaa\x0f(e@\x0a\x88\x81Q<\x80\ +\x18\xb5f\xbdD\xf2\xbc\x89\x22ra,<\x8c\x8b\x13\ +\x00\xf2p{Z8\xca\x1f\xddw\x927B\xaa\xe4\xa6\ +\x9e\xc5\x0d\x142\xf08\xf2>\x22\x98\xf2\x00\xb0\xf0\x10\ +`\xd2\xdf\xa4|M#\xe7\x89\xe1\x8e!\xdc\x97\xd2(\ +1i'zh\xc7\xc0\x05\x02B\xc0\x04\xf1yR\xa1\ +\x00\xef\x84D\xf5:\xe5\xbd\x8a \xe5\xa0xY}H\ +\xee\x12pi\xba\xd6-\xd3*\x94\xe1E\x14\xdb\xf3\xa7\ +p\xed(\xbe\xd0)^\x96\x0f\xa1\xd3\xd2\xf9\xe2Ck\ +\xdaxf]{\xaf\xac{\xef\xa5\xb5m=\xb1\xba\x95\ +;V0\xa1\xd5K\xcdF*;\xd1<\x8a\xea\x1e\x94\ +F\xc3q p\xeeU5\x11Xl\xb0}\x8eg]\ +\xe0\xf9\x96\xe0Hk\x18\x1c^\x01\x83\x10\x18\x8b\x09#\ +\xe5\x90\xc7J-\xc6!Z\x85\xcd\x1f'\xf4\xc8\x13\xe0\ +a\x15\xf2\x02\x8c\x93\xe3m\x22\xee\xce\xf5\xe3i\x87\xf7\ +\xad\x90\xf4\xb2\x08b_D\xec\xd7\x1a\x8e<\xa3\x96\xaf\ +U\xd7\xe02\x16\xe7\xd9N,&\x17\x0b\x8e\x8e\x8b\x05\ +\xe3\xe2\xb0\x1c\xad\xb0ET\xdc\xa0\x14\x86/)\xc0\x95\ +\x15j\xad\x9a\xc1\x16\x08\x0aa\xca%\x90\xa5JHN\ +\x0d\x03P\x8b\xdb\xabY~b\x15\xaa\x82\x99\xe2{\x18\ +8\xb9O\xcd\xaaerc\x9a\x0c\xcal\xd7\x84\xc8\x12\ +\xc8]\xe5!\xaf:\xcb\xcf\x13\x00\xc6\x0e\xf8\xfeC^\ +\x11\xe2a.\x0a\x94\xb7\x11I\x8c`\xed\x0a\x1d\xd9\x9a\ +G\x90(\x8c\x88C`\xa1\xb9\x9aM\xe3>\xf2P\xde\ +\x05\x00\xc2C\x90&b\x9b\xf2i\xa5q\xb2\x00\x97\xd2\ +i\xda\x18P\xbb*\x22\xb9A\xd2-\x89J\xcaD\xb6\ +\xa4(\x0d\x9a\x98\xb3\x08\xa6\xf8\x84\xb7\xe2\x088\xc6\xf1\ +\x0c\x0e@x6\xc0\x9dG\x98\xc8\x83\xddk\x11%_\ +\x8bf\xb3\xa7(\xfc\x9e\xb5o>B\x1eZ\xcb:c\ +\xb2\xc0\xb8\x8d*m\xc3B\x9d\xf2\xc9\xa4\x1c\xc1\xc5=\ +\x93\xbe\xa5\xfdN\xd2\x01A\x16\x00\x08a\xfda\x01\xa0\ +\x97\xf1\xe9\x07\xf4x\x0e\x01R\x0bo\xaa\xbb(#{\ +\xa8 },c\xbc\x0b\x09\x09yd\x1a\xf2t\x0a{\ +Y\x8c\x95RG\xf7\x0cH\x10\x8e\x95\x8b\xd1\x16O\xdf\ +\xc2@o#0\x7f\xee[\x9eY\xa48{P\xe1\x0c\ +/=r\xc6w\xdc\xb6\x98\xe2\xf9g\xa0\xf9\x89#1\ +\xf9Z\x0b\xe0A\x9d\xc5(\x9d\x11\x08\x88\x8b\xf9(\xbf\ +@\x1e\x00\x17+)f\xe0+g\xcex\xd8{V\xbb\ +\xf4\x00 <\xb0r\x15\x18hiW\xf3\xe5\xa4|A\ +,6S\x88T\x5c\x07\x00\x99\x1d\x80@\xb5\x01=\xab\ +\xb8\xf1\x0d,^ \xd8\xe5\xbb\xf7\xf10\x87N\xf2G\ +\xb5\xac|hy\xc4\xf6(\xca\xca\xc1\x8b\x84\x01\x92\xac\ +_\xf3\x09aBS\x0e\xee\xd9\x03\xc0\x89\x93(\xde@\ +\x96\x1f\xd2D\x0a\x96\x93%\x12E\xa8\xf1D\xef5\xe5\ +\xec)\xd9O\x88\xc9\xe8\x22m\xec\xc4%\x03\xc8t\xee\ ++\x0d7\xac\x05\x1d\xa5\x92Z\xdc\xd14\xafV\x1c\xb5\ +l\x1b\x1a\x85\xe5;\x81\x1b \x11\x18uD\xa1\x82\xeb\ +\xcaC\xe6\x8d\x1dY\xc5\xecukX\xbae\x8d\xcb7\ +\xad~Q\xe3rh\xb9C\xcaL4/\xb1\xe0V\x0a\ +E\xda4\x81#\x00x\x82\x07p\xb3w3\x00`\xd1\ +\xc2\xe7\x0bf\x11 \xc9\xc7{\xe52\xce9\x18\ +\x80\xc0\x1dR\xba(\x10\x88\xb4\xa2\xfcl\x80S\x80\xe1\ +\x96\x93eT\xa2\x97*\xc2^\x05\xa1\xae\x80p\x18\x19\ +\xbd\x83\xdc\x05\xd8\xe8y\xf2!\xfa~l1e\x8b\xcf\ +A\x16\x04f\xe9\x19\xaf\xc4I\xad\x12\xc1de\xcd\x02\ +\x80bH\x94\x0bE\xa5\x14Y\x1fR\x88{*\x87\xc9\ +Vc\x015\x0bw\xac\x1a)S\x09\x94\x06\x08Tf\ +\x8b\x95\xe3\x9e4\xf8YZ~e\xd03yH\x89V\ +\x09E|<\x10\x10\x0a\x00@\x11.\xb3x\x92\x98\xa7\ +%hX\xb3\xbcM\x81f\xcf\xb0\xe0\x5c\xacY\xd7u\ +\xd7\xe6\x1er\x01\xa0\xabA@\x14\x0arP~\x18\xcb\ +\x97\xf2\xc5\xa63\xf9~\x91\xaa\x80\xe6\xf7Q\xb2[g\ +g@\x03\x9aM\xe35\x83\x90\xa4T\xc9\xd5\x0d(n\ +6\xcd\x91?\x93\x81(\xcf\xef\x12q\xd2b\x13 \xe6\ +\xb9%\x99<{&\xd7U\xcdA\x90{q\xec\x19\x0f\ +\xa2\x9c]YL\xfe\xe0\xa6\x95\x8en[\xf9\xd8\xb6\x95\ +\x8emZ\xe1\x90\xc2\x15it+\xdf\xaf\xc5!Y>\ +9z\x0a\x0a\x97\xe2\xf5\xdeM\xaa\x9dO\xa8es\x7f\ +\xdeB\x19\x9e\x91\xf0\x18\xc1#iZZ\xeb0\x01\xa5\ +s\xf2J(X\x99\x89\xe39\x0e\xf0\xc8'\xf2\x0b\xf8\ +\x19\x1b\x85.)_\x9f)\xc4\xf5W`\x9c\xd5x\x8d\ +\x1a\xf8N\xd5\xd2S\xbc\xd5#G\x8as5\xff1\x85\ +\xf2I}\x0bg\x9f\x08\x00OP\xfe\x13\xc8\x8b\x08\x0c\ +\xae\xdc\xc5\x1a\xf2T\x01\x00\xf4\xe70\x18\x1e\xa3\xf7\xe6\ +\xf0e\x91Q\x90VD\xdc.#\x95)\x9f\xbaf\xe5\ +\xd3\xd7Q\x1c\xf1\x98\x8bk.=\x84\xa5\xaa\x94*\x1b\ +T\xba\xd94\xac1\x88\xfb\xff\x04\x82.@ >@\ +&P\x08\x00\xca\xa6N\x08)7\xacj\xee\x96U\xcd\ +\xde\xe2\xe7\x1bVL\xe8q@\x10\x07A\x0a\xb1\xb6\xa2\ +\xf1\xe3OR\xc0\xcfQb\x9d\x9bBu\xca\x87ek\ +\x1d\x01\xc5k\x81\xc7-\xf2\xa0h\xb7\x82\xc9 \xaa\xf4\ +\xcb\xa5v\x9al\x01\x0c\x0e\x18.\xdde\xa05i\xd4\ +\xad\xd4\xef\xc8-\xf7f\x11c\x83R>\x03\xad\xa5i\ +?\x80\xf6\xf3<~\xc7\xa0a\xcf(\xc6\x07\x90\xfc\x9a\ +\xeb\xe7:!H\x9cD\xf5\x90*\x7f\xf35K\xf1S\ +\x96\xa2i[Y>JOE\xe9\xa9\x9aQm\x12\x1f\ +\x80\x10jB\x8dLGs!\x9a\x13\xc9\x19\x80\x14\x0f\ +\x89\xe0\xe2\x81t\x8f\x5cC\x00\xd0\xab\xcb\xc8dL\x1a\ +K\xc6\xfeB\xb2?\x09\xe3\x0c(\xc5a\xc2\x84\xbe<\ +\xbc\x94b\x7f\xc9\xec\x1d\xc7!*0j\xf1\x87\xe2\x99\ +{V$\x91\x81;\xb9O\x08 F\x94\xe2\xbe+H\ +_*\x17!6\xf3\xf7H=nc\x95\xb7\x18`/\ +\x9dSi\x94\xe6\xb75\xeb\x17\x14#gPs\xb8\xf1\ +<\x10\x9b?\xb8Ez\xa22\xb0\x1d\xe2\x97j\x03\xfe\ +w\xc9\x06\xd1\xaa\x11\x90efv\xc9\x22=\xe6\x1b\xec\ +\x5ct1\xafhd\xc7*\xa7\x8e\xacf\xf6\x9a\xd5\xcd\ +\xdf\xc0\xab\x5cw\xc0*\x84\x13\xe4\x0f\x13\x07\x87w\xf1\ +\x06{\x00\xe2\x00`\x1cy2y\x08\x08\xf6\xb8&\xe1\ +\x01N\xa1\xfa\x03-E;\xe5\xb7{\xcaw\xa5_(\ +X\xae4\x0b\xab\x0e)\xae\xf3<.S\x00\xa89\x0c\ +\x94\xe6\xfb\x95\xb2j\xd5/\x87\x98\x18\x1d\xbb\x83{\xbc\ +M\x0a\xa7\x22\x93\xeb\x16\xe4\xf3\x81\x81C\x94\xaf\x15I\ +\x84\xd0\xe6RfB\x85&\xcb4\xff\x9e\xaeU\xb8\x06\ +b\xfa\xb9\xa4jF\x137\xef\xc9\xb9\xf2\xa5x\xd26\ +7\xb1\x06s\xcf \x97w\xe5c\xe2HR.\x8a\xcd\ +V\xcd\x858\x8c\x96\xc85\x0d\xcd\xd8\xb9\xf0\xa5\xbf\xe3\ +\x11\xe4\x15\x5cH\xd5\xff\x08|\xe7\xe2y8\x9e_\x9e\ +\xb6W\x04r\xdb\x85Dq\xa3\xfc\x09\x0c\x09\xbeR\x06\ +\x17(W\xb5\xd7\xec\x19\x9c\xe2\x94\xf4\xf2\x96\xe5O\xaa\ +\x88\xf5\x86\xc5\xe4\x8b\xe8\xe1\xceKfn\xa2x\x88\x03\ +\xaf\xaa\x08\x12\xf1\x8b2HZ\xd0P:'\xc5k\xde\ +_\x8b?\x01\x88\x8d\x8a;\xb3\x18\xecl\x06]u\x7f\ +!,<\xa4<\x17`(\xa5\x0b\xf1P*\x14\xb9\x00\ +\x80\xf3\x00\xce5k\x92g\x8e\xef\x82\xfc\x00\x88\xc2\xc1\ +\xab\xb8\xcf\x1d\xab\x9a\xdc\xb7\xea\xa9\x03\xab\x98\xd8\xb3\xa2\ +\xe1-\xcb\xed\xc7-\xc2\x8as\xfa\xd7\xc8\x1a6\xe0\x1d\ +\xb8\xd9\xa9=\xab\x98\xde\xe3u\xd7J\xc6\xf9\xcc `\ +\xecUX\x81h\x9e\xd7 \xf8\xb5\xd6\xaf\xd54\x06&\ +\x13o\xa5\x8a^Y\xb5H]\x14\xc5j\xb2Gq\xb4\ +P\x0b$\x9a#\x9fy\x80\x90\x12\xce>\xb3b\xcd\x0a\ +\xce>\x86\xe4\xdd'K\x80\xd0\x92I\x84\xc8jB\xe2\ +\x03C0o\xf1\x1b\xbeO\xdf\xebf\x09\xa5P7M\ +.\xb7~\xe1\xe2/\xc4\xb3z\xa7x\x80\xa2\x99UM\ +\xe2\xb8\x096)R\x96-\x05\xa3\xe8 \xca\xcfR\x18\ +\x13\x91\x05\x00\x9a\x07p\xeb\x02x\xaaLy)\xc0\xa6\ +5\x13w=\xe7A\xe4I\xf8nD\xd3\xe8.\xbdT\ +Z\x09\xef\xd0\x8a\xa2V\x16#x\x93\xe8\x88H\xf6\xb1\ +\x95\xe2\xa1+\xf0\xb0\xe52\xae\x19\xbc5^[3\x90\ +\xca\xf2b\x22Xn\x8e\x8a9q\xc5\x85\x13X\x16\xf1\ +\xb8\x08\x0b\x14)SUPXV\xcc\x8d\x04eM\xb0\ +\xda\x80f\xea\x9a\xbd2\xef@\xf3\xa4e\xb6L\xe1\xf6\ +fI\xd7\x16\xf0\x0c\xaa\x00Z\xe5\xf3\x02\x02y;\xca\ +\xbf\xa8\x16\x0a\x09\x9d\xddZ\x1d\xd4J\xa1\x5c'\xa9\x0f\ +\x9f/\x80\xf5\x96\xa1\xf0\x0a\xe2h%J.\x1b\xde\xb0\ +\xfc>\xe2b7\xe4\xa8\x1bv\xdc\xb3Hl\x5c\xc1S\ +\x00\x94I>7\xb5\xe5^K\xc6\xae\xc2G\xb4\xd4:\ +\x8f\x85\xcc\x03\x809\x0f\x5c\xca\xab5\xa9\xa4\x01&l\ +\xb9B\xd2\xa1\x1b\x907\x88-\xa9k\x81X1n\xb1\ +d\x11\xb7Hl,_~i\x15+\xef\x90\xf7ns\ +H\xf9\xd2+x\x10\xa4xF\xeb#\xca\x904\x01\x04\ +\xb9\x85uk\xa2IdK\xdf-\xf7\xad\x18\x9e\xeeV\ +I=\x00\xfcC\xbc8\x9f\x0e\xbf\xf0a,n\xb9\x99\ +\xf1\xd3\xac\xa6j d\xa9Y2\x0c\xdc~\x96S>\ +\x0aGa\x9a;\xd0\xfb \x0a\xd4\x8a\xa0@\xac\x19\xd2\ +\xf4s\x22\xa9p\x92\x5c\xaf\xbd\x14\xe3\xc8\x98\x93\x94\xfa\ +1\x806\x0e\x18 \x95*<\x01\xfcA\xc69\x1b2\ +\xac\x22S\xd5g\x16\xe1=K\xa7\x0e\x9d\x94\xe0=\x0b\ +\xc75\x8f\xa2*\xafm\x8b\x09\xc2\xca\xe5B\xe5JU\ +\xcf\xa78\xa4\x14-\x97\xf8\xaa\xca\x9d\xdf\x03@)\x9d\ +_h#\x7f\xf55N c\xc88`\x98\xc43L\ +;\xab\x0e\x8a\xed\xa3\x00\x91?y\x82\xb0\x5c\x92\x9bP\ +\x22D\xf0]\x02F6\xee,\x9b\xef\x8b0 \x05<\ +l)\x00\xac\x18\xdd\xb5\xca\xd1\x1d\x00\xb0i\x05}+\ +\x96#\xe5w\xc9K\xccA\x92\x16\x085\xcbV<\xba\ +\x86\xe2\x91\xd1U\x88\xe82\x1e\x02\x0f\xd45\xcb\xf5f\ +\x19`\x00\x80G\xf2\x0aR\x96\x08\x05\xb24\xa5F\x9a\ +\x0d;B\x81\xd7\x01\x806p\xdcE\xf9\x0f\xacl\xe5\ +\xb1U\xae\xbf\xb0\xea\x0d\xed\x81\xf8\x02\xf9\xca\xea7\xbe\ +\xb4\xda5\xc0\x001.Q\xce\xaf\x8c\x08/\x10q\xca\ +W\xfeL\xfa(\xe5\x93\xd9h\xdaZK\xe3N\xf9.\ +\xbf\xbf\x08\x03S\x80b\x9a\x1c_S\xda\x0b\xa4\xc0\xe2\ +<\xde\x18g\xf7\xf1\xdcx\xb6\xec\x01\xd2Z\xf2\xfd,\ +8P\x10\xc9$\x94\x06\x00D\x00\xa5y\xfb\x1c\xb4\x9a\ +\xa90\xa1:\x8cYK\xe1\xfb\x93\xeb\xc7\xdd\xd4o\xa2\ +\xa6~\xab\x07\x91\x01KD\x92j\x06-\xa5n\x84{\ +\x98\xe0\x9e\xce\x01\x80'\x16\x00B\x22\x95\xe84\x8f0\ +[0F(e|\xf3y\x1f\xe5w\x9a\x81\xcd\xc4+\ +\xc7x\xb1\x12\xa5\x11\xa3\xc3\x179:\xcaW\xa5\xaf\xdb\ +\xf4!R'\x02\xe5\xd2:\x08\x93sG\xb84-\xd8\ +\xe8\xa2\xa0/\xa3q\x12\xe2\x83W\xd0\x1c\xbe*\x85p\ +q\xaasS\xcd\xa0\x9b\xb8\xe1\xbb\x1cs\x87Q\xe7\x12\ +S\xa3\x90\xaa\x1c\x14\x93\x8b\x85\x16B\xb2J`\xb6e\ +\x90\xba\xf21\x90\xcaM\x16\xe2\xdasU\x05\x8bug\ +w\xce8\x09w\xcf\xc1\x94\xe7\xf9\xdf\x05\xcbE\xf4>\ +\xa4\xaaY,_\x1e (\xcb\x97\xfbg\xd0\xddB\x96\ +\x8b\xb5+\x96\x01\xc9\xf3w\xc9\xd5\x02f\xae\x13U\xc8\ +S,\x5c\x82\x1c\xad=\xb5\x9a\x8d\xd7V\xbf\xf5\xb95\ +l}a\x8d\x9b\x1f\xacn\xed\x8dU.\xc0\x9a\xa7\xef\ +\x91N\x89\x07\x1d\xbb\xa9g\xa5\x94\xae\x80E3z\xca\ +\xebQt*\xd6\x98\x825\xaaH#\x15\x05\xa9,+\ +\x03e\xf9P\x9a\xd62\x82\xb8d\xcd}d\xc3u\xb2\ +\x01uv\xff2\x8c~\x09\x01\x14x\xb5 \x9e.\xc0\ +\xdf\xb4\x0e\xa0B\x18\xa5\xa6i\x0d\x0f\x81\xe4\x15\x11\x0ar\x07\x95\x13\ +k\x105\x98\x80\x0b\xd1k\xa0\x1dO\xd3>\xc5=\xf3\ +\xbec\x06\xd1\xfd{ V\xf5L\x06\x0f\xa5\xb2/\xad\ +\x8cI\x5c\x09\x18\xca\xf03\xc0A\xb9E\x88e.\xcf\ +\xa7\xda\xf82@P\xb5\xfa\xd4\xed\xa8\xa9\xbb\xfa\x0a\xe5\ +\xe3\x114]\xccXs\x02\x11\ +\x94\xab\xc9\x197g\xaf\xf9zrhW\x17@\xa6 \ +\x90\xa8\xd2U\xa5T\xaa\xa7\xcbG\xc1ES\xf7\x5c\x1e\ +Z6G\xca9\xff\x94\xb4\x04\xd1^<\xa4z\xe1\x99\ +\xd5,=?\xcfWq\xcd\xa4\x82\x85\x10\xc2(\xf9\xb4\ +\xea\xe1\xfd\xed\x22:\xb8V\x15:\xe2qT\xe3\xafJ\ +\xd8\x14m\xfel\xc6\xeaTIK\xecK\x03\xc8\xca\xed\ +U\x0a\x9eD\x5cL\xa8\x1bf \x87p\x9d\xc3\x00a\ +\x0cw\x0ap \x8b!\x5co\x14\x90\x17LA|a\ +\xc6\xe5d>\x95\x5cW\x93&\xe5\xe2\x07\x137\x9d\xf7\ +\x0bCb\xb5\x1a\xa9ei\xa5t\x8a\xbbRzb\xf5\ +\x08\x83\x8fEV\xfeCT\x98\x91R\x87\xf5\x036U\ +D\x85\x18\xec\x08\xde/B\x8c\x95W\xcdRyv'\ +\xe0h\x1b\xc63\x0d\x00\xca\x01\xee\x1d\xd0\xf0\x0c\xc9<\ +K\x12\xa14\xb1~\xd4Sz\xcd\x90\xc5U\x0dX,\ +J\x8fE\xe9W\xca{\xecJY\xb7\xc5:\x01\x00\xe5\ +\xb2|mv\x19u\xe9f6\xc0V\xf5\xb6\xdb]\xe4\ +vx\x9d\x91\xe7\x9f\x02\xf2\x9b\x84.M\xf3k)y\ +\x8b\x90\xa2\x0a&-k\xab~\x91\xb1\xd2\xc2\x11\x9e;\ +F\xec9\x0c\x11+P>>w\x13e\xdc\xb5\x86\xb5\ +G\xd6\xba\xf1\xd4:6\x9f[\xfb\xc6sk\xbd\xfa\xcc\ +\x1aV\x89\x99\x90\xa7b\xb1h\x01A\xf3\xe50bW\ +\xf0!\xe9\xe5\xbd\xea\x00T\x11\xe3V\x08!]\xa3\x9a\ +\x17\xe7\x7ff\x1e[\xd9\xc2s\x06\xfa\x95U\xad\xbc\xb6\ +\xea\xd5\xd7V\xc3k\x0d\xaf\xb5\xb8\xdc\xba\xabo\xacv\ +\x9d\xbf\xad>\xb1\xd2\x05\xd5\xcaifO\xeb\xfa\xaa\xef\ +W\xb95\x83\x7f\xb1\xea\xc5\x83'\x12\xf3\x12\xa5\xe0\xfa\ +\x11g1Z\x05K\xc6:\x93\x88\xbdZ\x16\x8d'.\ +\xc6Uuc9\xda\x07\xd8\x85\xc5\xf6\xf2\xc0\xc3\xcec\ +d\xe3vs4\x039y\x02\xfb'\xeb\x01\x04\x92\x12\ +\xd2\xa5\x22\xbc^\x9e&W\xa4|\x14\xa9\x02K\xb9\xf9\ +$\x17{\xa5|\x09\xf7P\xcd\xef\x9c\xe0\xa2k\x95\xee\ +\x09\xa4\xcaB\x94\x95\x90\xcb\xe315\x81\xa6I\xaa\x10\ +^G\x045\xa3e\x84\xb0\xd1k\xc95\x9d\xfc\xbf6\ +\xa7v\xe3\xd6q\xe5N\xfa\x9c\xc4U\xc9\xbdK\xfa-\ +\xb6\x1c\x00H\xca$x\x81\xf2\x01,\x7f\x10\xe5\x8f\xa0\ +|\xc2\x0c\x8aT\xb5\x92\xf6fH\xf1.\xa3\x99#l\ +\x01b\xadu\xe4\xe0\x054y\xa4\x14\xd3\x15\xf7\x92\x81\ +x\x05>\xe2-\xe2,\x18\x12\xa1#F7\x98\x87E\ +\x94\xe2\x12kV\x1fZ\xf3\xd6s\xeb>xkc7\ +\xbe\xb0\xf9;\xdf\xda\xe2\xddom\xf6\xeck\x1b9y\ +o\xad\x00BS\xbe\x8a\x8d\xb9\x90\xaa(9tt\x80\ +\x87\x1d\xe0u\x90\x9f\xb1\xf8\x5c\xa7\xf8\xbbd\x15\x0f\xc8\ +C\x1f\x93s>\xb5\xd2\xf9\x97V\xb9\xfc\xc6\xaa\xd7\xdf\ +Y\xcd\xd5wV\xbb\xf1\x16\xb7\xfb\x86\xf7\x80\x00\xa9\xc6\ +\x05W\xad?\xb3\xf2\x15\xad\xdc\x9d\xc2\xbc\x0f\x88\x91\xeb\ +\x96\x8ekK\x22\xd6&\xd4N\xa0\xd4\x09^'\xb1\xec\ +I\x94?n\x09(Z\x92\xc8\xdf\x93\xc8\xb3\x93H\xb7\ +\x12a\xde\x09Xb\x1c\xae3\xb6\x12\x8b)\xef`\xd0\ +:\x18\xb4n\x06m\x80A\x98\xf0\xbc\xc0\xd0\xa6\xbbF\ +>\xe9P\x01)o\xc1\x946\xbc@\x125\xcb\xa6x\ +\x0f9\x15\x97\x10\xc1\xd3\xba\xbbW}#\x12&\x85\xe3\ +\xaa\xeb\xe7a\xe4*\x07W\x15\x92\xea\x10E\xdc\xe0I\ +\x18@xD\xeb(\x8c\x81\x16m\x00\x81*\x81\x15\x9e\ +\xd2\xb1ro\xb3j\x97%Ttr_]\x08 \x95\ +K\xaf\xecq1=\x1e\xe5\xc7c\xdd\xf1UC\x08\xde\ +\x00e'T\xe1\xcd\x00[b\x8d\xbc\x90\xd6\x144k\ +\xa9l\x02\x0f\xc3\xf8\xe7\xe3\x9d\xdd\xe2\xd4\xfc\x03Wy\ +\xa4\xfa\xbf\xc8\x98\xf6\x1e\xee\xb9I/\xcd\x13\xa8\xeaJ\ +\xd9\x88\x0f\xcbW\x88\x92\xe7\xf0\xb5@\xe4\x91\x98\x5c\xcd\ +\xac\xcd\x9e\x92\x06=\x84\x0c\xbd\xb4\xd6\x83\xf76x\xf3\ +k[z\xfc\x93\x1d\xbe\xfd\x93]{\xff';x\xf5\ +\x07[\xbe\xff\xd1z\xf7_\xe3\xbe\xb9\xc8\x98,\x1c\x91\ +\xc2\x87\x15\x1an\xe3A\xee\x92F\xde\xc7}\x8b=?\ +E\xf1/q\xb1op\xb1\xef\xdd~\xfbZ1l\x88\ +V\xed\xd6{\xab\xd9|mUW\x9f[\x05\xf1\xb7\x5c\ +\xe5Q\xb8\xe0\xe2E\x95N\x9d\x91\x7f\x93o\x93\x85\x88\ +\x11gp\xf3\xa9 7\xb9y\x19R\xb4\xf2;Y\xe4\ +w\xf3\x96DN\x9c\xd4\x04H\xf8\xd9\x09?'\x82\xf0\ +\x04<\x85\xe2g\x02\x16\x95\xc8\xc0&U\xf7C\xd4\x88\ +\x97\xcaVD\x18\xf1\x02\xa1\xa1-\x94\xb5\x87\x9b\xd4\x0a\ +\xa2\xa6W\xbd\xa5`\x15\x9eh\x11K\x03&k\xd1\x9a\ +{\x12\x16\x97T\xa7\xd02\x87\xcb\xd6\x12\xec\x1a\xbcb\ +\x93\xf8\xad\x125\xdd+\xe9\xe1 \xf7\xad\xa5\xf0\x09Y\ +\xa0\x96\x98\xef\xb9ei-\xd8h\x7f\x85\x06?M\xe9\ +\x1b\xcaM\xa8\xe8\xff$\xf1z\xad\x84\xd1W\xc9\xba\x87\ +\xbc\x10s\x0e\xb6\xc4:\x11A-\xf7jQI\xcb\xca\ +\xaaz\xde5\xed-\xd4\x0e\xa5\xa8\x96\xbcU\x84\xa2z\ +\x86\xb9\x07\x16\x9d\xbama,_\xd3\xd5\x9a\xfa\xf6\xb2\ +\x15Ur\xcd\xbb\xeb\xfb\x91\x00\x5c\xe6b]F\xc4?\ +&\x1f7X\xa28\xb8\xfe\xd4\xeav\xb4\xa3\xf4\x0b\x1b\ +8\xfdh+\xcf\xffh\xd7\xbf\xfa\xbb\x9d}\xf3\xcfv\ +\xfd\xc3_m\xe3\xc9\xcf6pD\xae\xbc\xf0\xc0\xb4\x9f\ +>\x8a\xd2\xf3\xc6\xb4A\x94\x9cz\x1a\x17?\xfb\xcc\xca\ +\xe6_\xe0\xea_\xa2\xf4\xb7\xb8\xf3/\xadq\xeb\xa3\xb5\ +\xed\xffh\x1dG?Y\xc7\xf1\x0f\xd6r\xf05\x00\x00\ +\x14\xb0o\xb1\xf0B\x5c\xaf\xae\xafmJ\xd1\x89k \ +\xf7\x18\xe5\x1fX&1\xcd+\xf5f\x80U\xab\xd0\xa3\ +\xbd\x7fG\xa4tG\x0c\xf8!\x8cy\xcf\xd2:\xb6-\ +\xb5}\xc3R\xb0\x86\x148Hr\xeb*\x02Xp\x8d\ +\x02B\xb2\xcb\x9b5\x19\xe3\xe5\xe5J\xd9D\xe4\xb4\x83\ +\xd8\xafy\x02\xd22\xf5\x17P\x9f\x01\x15]\xba\x1a<\ +2\x1e\xada\xa8\x08T\x936\x9a\xb2MQ\xe1E\xc3\ +\x1c\x1eF`[\xb2\x14\x14\x91\xda\xae\xba\xc4=\xee\xed\ +\x00\xe5k\xad@\x1bSnY\x08\x82\x1bA\xf9\xd1\xe9\ +\x87\x96+\x99\xbc\x07!\xc3\x13\xa8@\x86\x10\x99\xa5\x82\ +Rm\x85\x97R\xa5\xdcZ\xac\xba\x86\x10\x82w\x93$\ +\xab_\x02\x22\xc0%\xd6\xcf\x12\xd6\xb8>\x1e&M%\ +\xed*o\xd7~B\xbc\xad\xae\x15\x1e\xbfc9\xba\xd6\ +\xccC\xe4\x81E&\xef\x00\xc0\x1b\xfc\x9d\xb1\x82\x9f]\ +\xd4uj\xf2\xc8\xc7\xf7\xf8y\x0d06JK\x95\xa2\ +\xbb4Q\xf3\x00\x05\xf3*\x14|\x88R\x9eY5\xca\ +i\xd8\xfb\xdczn|\xb4\x85\xa7\xbf\xd9\xd1W\xffb\ +7\xbf\xfd7;\xf9\xe2\x9fm\xfd\xd9\x1fm\xe0\xe4+\ +\xe2\xf8S\xcb\xd3\x83\xa1\xf8\xfc\xa9GV<\xfb\xc4)\ +\xbdr\xe9\xb5U\xae\x90B\xad\xa0\xfc\xb5\x0f\xd6\xb2\xf7\ +\x9d\x0d\xde\xfa\xa3M?\xf8\xab\xcd>\xfa\x9bM=\xf8\ +\x93\xf5\xdd\xfc\x88\x97y\xe5\xea\xe2\xb4)5\x07W\xa5\ +\xd2\xa7l\xd2M\x95*]\x886{\xb8-\xd4\x9a\x85\ +\x1b\xd3\xd4\xec=,\xeb\xa1E\xc6\x1fYh\xf4\x01\x7f\ +\xbb\xcb\xa0\xdf\x02$'\x96\xd1\xb3oi]\x80\xa1\x03\ +0\x90\xf2\xa5\xe2\x8e\xd3T\xba\xad\x12n\x95\xaeu)\ +\x85\xf5D\x9b<55\xec\xe6\xf2\xc9VTN\xae\xbd\ +\x04\xday\x14\xec\xe7\xda\x02\x01\x04W\x9f\xf1\xa9\xe0\x94\ +TR\xde\xc6y\x19\x94\x9f\xd4\xb2b\xc9mW\xb9\xd6\ +\xb6\xa5w\xed\x03\x80C\xf3\xf7\x03LxO&\x16\x19\ +$\xbb\xc9\xd6T2^ Gc\x84\x17\xc8W:\xa9\ +Wy\x06\xc2\xa3v\x1be\xaa\xcbH\x1b\xdf\xd1r\x15\ +`\x12B\x1a\x89\xcf\x0dX9\xc0H\x05l\xc9\x02\x9d\ +S\xfe\x8a\x03y\xba\xf65\x08l\xfd\xc7\x969\x04\xd8\ +\xb4\xb4\x0b\x00B\x5c#\xbe\ +G%}\xae\x88W\x15^J\x89\x19\xe7\x08\xc41\xa6\ +@\xe5\xc90\xe0b\xad7\xe3\x92+\xaf\xbe\xb0\xa6\xfd\ +\xf76t\xfb;[z\xf1'\xbb\xfa\xf6\xaf\xb6\xf6\xea\ +\x9fl\xe6\xc1/\xd6u\x0c\x00V^@4p9\xb3\ +\x8f\xad\x106\xaf\x961\xe5\xcb\xaf\xac\x12B\xa7r+\ +I\xf5\xfa[\xac\xfe#\xff\xf3'\xdbx\xfd\xcf\xb6\xf5\ +\xe6\x9fm\xed\xc5\x9fm\xf4\xec\x1b\xb7\xd7=\x9ft\xcf\ +\xd5\xdeA\xb8T}sQ\x01\x9b\x0dk\xd5\x0e\xda\x88\ +\xd6\xbb\x19\xb8<\xcd\xc8\xa9xs\xf9\x9d\x95\xac|\xb0\ +\xe2\xe5/\xf8\xf9\xbd\xe5\xcd\xbe\x06\xfd\xcf\xb0\xb8\xfb\x0c\ +\xfc-\xf310\xe9x\x0a\x01!\x0d\x85\xab\x9d\x8bW\ +\xb4\xa9%S\xae\xc5g\xa2\xaa\xe1\x93\xe5\xc8U\xf7\xe1\ +e\xb0t\x95D\x09\x00\xf24\xaa\x15pB\xca$\x0b\ +\xca\x808i7Q\x0a\x83\x98\xec\x04\xe5\xb7\xae\x01\xb2\ +MKE!\xe9j\x17\x03\x00|\xdaL*\x10`\x99\ +\x99\xda1Lh\x94\x82\xb4\x9e\x90\x8bK.$.\xab\ +\x12\xa9\x8cL\xa7t\xe1\x85\x15\xc2\x89r\x00q\xf6\xc0\ +\x19q\xfc:`\xc0\x83tr?\xed\xbb\xa4\xb9\x00\x97\ +k\xa4\xa3\xacT\x89v4u\x02\x94\xee}\x80~\x01\ +6\x81@\xd7\xb9\xc5un;\x09\x02\xac\xc0\xd0\x0dw\ +/\x19\xdd\x02\x80X?\xdf%n\x02\x80\x02*\x91g\ +\x5c\xb4/Ben\xe1\xe1k\xa6\xd66Q\xf8CL\ +>\xcc>\x9f\x9bT\xc5\xaa\xa4@3ex\x84\xba\xed\ +\x97\xd6q\xed\x83\xf5\x9e~k}\x84\x84\xee\xeb\xdfX\ +\xd3\xde\x07\xd7\x07\xa7xY=p\x9e\xa3\x14\xdc\xbd\x94\ +N\xfe\x5c\xb1*\x12\xc7\x83\xaa\xf6\x1c \xb5\x01\xa2\xe9\ +{?\xd8:\xa1\xe4\xea\xf3?\xd8\xd2\xa3\xefl\xe0\x18\ +\xa0,\x9e\x12o\xb5|\x89U*?\xd5\xdc\x82\x16\x9c\ +\xb0\xa2\x10\xc4R\x03\x17A\xf9\xb9(\xbf\x88L\xa1l\ +\xf3K\xab\xda\xf9\xcej\xf7\x7fB~\xb6\xea\x9d\x1f\xad\ +l\xe3#\x7f\xfb\x02\x80\xbc\xc6\x02\x1ey\x030p\xcd\ +|\xb8HI\xa0\x1f7\x89\xe2C\xfc>\x07\xef\x91\x07\ +/Qm\xa0\xaa\x7f\x0b\xb4$\x8a\xa5\xaa~_\xeda\ +\x9c\xbb\x94\x90\xba\xb9\xf2s\xbd\xc73dh\xc1\x87\xd4\ +\xd6\xdb[\xe8y\x95t\x066\x1d/\x92\x0e\xc0|\xbd\ +\x84#Dn\xd9/\x10\x10\x0ad\xa1\xb2\xc2L2\xa4\ +,-\xd9\xe2\xe1\x04v\xcd\x9e\xc4\x89\ +,_\xca\x17\xf0\x18h\x1f.8\x83g\xf2i\xfa\x1c\ +\x8e\x11!\xe5,\x22\xc3\xaa#\x9dn?\xfc\x0a.\xf4\ +\x9d\xb5\x1d\xaa\xf9\xd6\xb7VM\xa8,\x9b\x7f\x05\x7fz\ +ne\xf0\xa8\xd2\xf1\xbbV\x84\x82\xf2\xb9/eV\xda\ +\x98\x9a\xd5\x07\xa9C2\x7f\xdf\x9a\x86\xebi?\x82@\ +\x90\x09\xd03y\x95\x07\xf2\x9aY\x09\xd4\xaa\xf7\x83\x08\ +\xba\xf2uO\xf1Ay\x0dH{\xf6\x18a\x08\xf2\x18\ +\x11I\x9d\x06\x00\xa1\x11\x5c\x22\xaeX\xabR\x81\x8by\ +h\x08\x92\x0f\x92\x10\x18\x86\x1cM\x9cX\x04\xa2\x96\x07\ +W(\x80,\x16-#\x22pK\xc46\xe5\xec\xb3d\ +\x02\x93\x00fTK\x99\xaabY\xc7\xba6\xadd\xea\ +\xc0\x9aWnY\xcf\xd6]\xeb\xdd\xbcm\x1dk7\xac\ +zz\xcf\xad\xf0\xb9\x05\x0e\x11\x14M+\x13k\xb5\xba\ +\xe6v\xe5j\xdf<1?2\x05\xb1\x81[\xe4/\xa2\ +4\xc2I\xe5\xce\x17Vw\xfc\xd1\x9an\xfch\xcd7\ +~\xb6\x86\x93\x9f\x00\xc1\xf7V\xbe\xf1\x0d\xf7\xf3\x01\xaf\ +\xf5\x1aK{\x0e/y\x049\x85\x18\x8d\xc0\x19F\xee\ +\x12\xe3\xee\x01\xee\x87\x96\x07\x00\x0a\xe1)%\xa4\xa2\xa5\ +H1\xdf\x9b\x0fyR\x93\x09\xb9\xfd\x0c\x14\x9d\x069\ +Lm#\xcdj\x9d\xc6\xf5k\x7f\xff<\x1cb\xc5-\ +\xca\xb8Z\x02\x11D\x94\x1f\xc4\x05\x07QPP1_\ +B\xfa+\xeb\xd2\x0e!Y\x5c\x86\xbc\x856\xa8\xc0\xb8\ +57\xaf\x86\x0fy#\xdb\xd6\xb4v\xcf\x86\xae\x7f\xb0\ +\x89\xdb\xdf\xdb\xe4\xdd_l\xe4\xf4gk\xdf\xfb\xda\xcd\ +\x89h\xed\xa1B\x93d(\xa5\x14\xeb,&\x84\xe4\xe3\ +\xe2s\x86\x14\xb2T\xca\xa5M;\xd7\xb9\x07\xae\xad\x8c\ +\xc3\x09\x80@\x02x!\x81\xcf/\xaf$\xf7\xcf=\xb8\ +\xfd\x90\x0e\x00Z\xc6\xf6\x88\xa3\xc2F\xa6\xc2\x06\x06\x16\ +\x9a\xbcka\xae%\x12\x19\xe3j\xe54Y\x00\xfa\xb5\ +\x1b'\x95\xdc0\xa5\x19ie0:\x97,];v\ +\x07\x19\x80\xd1\x03\x90s\x8crN\xf8G\x18\xfb\xe41\ +\xeeZJ\x13\x81\xd2\xd2\xa6V\xe0\xc4\xb0\x17x\xe8%\ +\x0b\xa3\xe8\xc2\xe1-+\x1d\xdbA\xb6@\xf6\x86E\xfb\ +\xb1z\xe5\xc4\xca\xb1[\x17\x11m\x0c]\xe6\x7f\xb0\x16\ +\xc8\x97:r\x85A\xa8c\xb7\xa03W\x0b2\x8bO\ +\xac\x04\xafS\xb9\xfd\xc6j\x0f>\xe0\x09\xbe\xb6\x06\xf8\ +E\xdd\xc1\xf7V\xb3\xf3\x83Um~OJ\xf9\x11\xe2\ +\x09?Y\xc6\xc5.\xa0\xe4\xd9\x97V\x04G\xc8\x9f\x84\ +\xb0\x92\x92\x16\xcc\xbe@\xe9*\x03\x7f\x0b\xcf\x11\x9fx\ +E\xea\xf4\x18\xaeq\x8b\xc1\xd9\xc5\xb5+\xd6\x93\xf3k\ +V\xee|\xdf}z\xcb\x04\xf1s\x0e\x0f\xa5\x85\x1c\xd5\ +\x14\x10\xaa\xe0*\x1e\x00P\x86b\xbd\x06\xd4\x81@^\ +@\xec\x1b\x97\x0d\xf9J%\x0bq\xb5\x00\xa4\xa3\x19\x8d\ +\xe3\x16\xe9Z\xb0\x86\xf9c\x1b9|j\xd3\xa7\xefm\ +\xee\xee76y\xfb[\xeb\xd8\x03\xdc\xcbxXrx\ +\x95\x7f\x97\xc0}\x8aa\xf2\x85x\xc2\x06C\xa2\xcd\x15a^s&\x89\x8b\xb3\xb7\ +\xc9T\x1eX\x05|\xa4\x9eT\xb5\xed\xe4{\xeb\xbc\xf9\ +\xab\xf5\x9c\x92^\x22\xbd\xbc\x1f:\xfd\xc5\xc6o\xffj\ +\xa3\xbc\x8e\xde\xfa\xc5\xa6\xef\xfcf\xe3g\xa4\xaf\xd7\x7f\ +F~\xb2\x9ek\xda\x0a\xff\x05<\x86\x10\xa0\xcd\xb0|\ +\xb7\xbf\x7f\x13\x00h\xbf\xdd\x88%VkF\xae\xcd\x12\ +*[-\x09 \x08\x04\xea8\xe6*\x8c\xc8\xab\x95>\ +jS\x85\xfa\x15\xb8\x12z\x14\xef\x94\x8fb\x02\xdc\xbb\ +\xebe@\xb8\x10o\xf0\xb9\xa9\xe4yR\xbb)\x0b4\ +MZq\xff\xb25\xcf\xeeZ\xe7\xca\x91\xf5\x5c\xbda\ +]WO\xadzNet\xbbn\xb5N\xcb\xe6\xd9\x84\ +\x1b\xcdB\x06\x01Q\xa6\x96\xb2!r\xda\xb3!\xee\xe1\ +\xb6\xc7\xf3\xfd>@\x98\x01\x18\xdd\xe6X\xa5\xbd-j\ +QC\xca\xda\x8c\xf2[\x18\xd3V\x94\xdf\xa6P\x84\xd2\ +\x01\x80\x9b/\xc1;\xa4\xc2KR\xf9\xbf4B}\x06\ +\xd7\xf2i\xaeep\x17\x00\x10\xe7\xd4E\x22\x9dAH\ +S\x87\xad&\xdc\x7f\xe34\xaep\xda\x12\x9d\xcc8I\ +\x16\xa2\xf5@\x9a!k!^:\xc5\x03\x02D\xe9\x92\ +\xbaeh\x7f\x9e\x1a\x1e\xb9:6-\x1d\xab\xf2\xc5\x11\ +=\x5c<\x03\xa78\xea\xedC\x00}\x221\x9aD\x11\ +C\xc5E\x05A\xbd\x98\xb3z\xf5\x84\xc6!\xa4\xe2\x1e\ +\x13\xa4+\x93Z\xc7\xc7J\xe6\xeeX)\xd9I\x8d\xc8\ +\xd4\xf1\x176r\xf7'\x9b~\xf2'\x9b\x7f\xfeO6\ +\xf7\x04E\xdf\xfd\x1e\xe5\x7fkSw\xbe\xb5\xf1\xd3\xaf\ +m\x82\xece\xe9\xe1\xcf6\x7f\xef'\x1b\xbd\xf9\xd1F\ +n~k\x83\xd7\xbf\xb6\xc6m\x88\xe0\xf2\x03x\x01\x84\ +hD\x939\x022\xc0\xaf\xd3L\x5c\x97\xc5\x97\xb78\ +I\xacl\xb7d\x00\x91\xa2\xae\xa7n\xc3\xaa\xf6\xdd\x01\ +d=\x93f\x0b\xe1\x0e^\xbb:)\x9fl@\x1e\x00\ +\x0b\x0bh\xf1E\xd3\xbf\xbdd\x14\x10\xc9\x8c\xd6y\xf3\ +3\xae\xd1\xaey+\x1d\x5c\xb1\x8a\x91\x15\xbc\xc1\x9a\x95\ +\x8d\xaa\x10\x94\xef#\xd4\xaaa\x85V\x1a]\xc1G\x9d\ +\x96\x805\x0b\xa8\x95A-\x0b3\xce\x18T*\xe3\x9a\ +J\x86\x92\x0a\xb8R\x19\xd3T\xa5\xa9\x00 \x9dT1\ +]\x16\xdf\xa6\xf0#\xc5\x13\xd2\x9c\xa0|B\x81&\xad\ +4G\x92\xc6\xff\xa7AL\xd3{%\x18}\x1fY\x0e\ +\x12\xe3\xebY\x858\xe0\x86\x89\xdb>\xe2\xb3\xeb\xb5\xc7\ +\x83\xca\xc2SPr\xf2\xf9DHr\xa3\xa6$\xb58\ +\xa3\xc6\x8eR\xfe\xcay\xae\xea\xddH\x86,\x1b\x94i\ +\xe3\xa6\x8a\x18/\xc4U\xb5\x92\xee\xa9\x9a&\x82{\xd7\ +\x0eZ\xd5\xdbGx\xd5\xbc\xf9\xa7\xee\x9f\xaa\xba\x1d\x82\ +h\xa1\x94,\x08eh\x0cR9\xb6\xcf\xe7\x0eH\x97\ +\x8eL\xbbm\xd4\xe2\xac\xee\xea#\x1b\xb8\xf1\xc1V\x9e\ +\xffjG_\xfd\xddn|\xfcW;\xfa\xe2/\xb6\xf2\ +\xe4[\x9b\xb9\xf3\xd6\xc6o<\xb7\xc1\xc3\xc76L\xbc\ +\x9d=}g\xd37\xdf\xda\xd0\xe1K\x1b:zi}\ +\x07x\x8f5\x98\xf6\xec\x09\xdf\xa9\xf4\x93\xf0\xd5>\x0d\ +\xe8\xd5h\xa1\x0f\x00tZB\x05\x1e\xa0\xbc\x95\xd7v\ +@\xa0p\xa0\xde<\x02\xc18\x166\x03\xc8\x09i=\ +\xeb\xfc/\x80\xd6b\x0b\xcf\xa5\xb4\xcf/\x0f\xc0\xcf^\ +{\x1b\x00\x80g\x11\x99\xd6zF:\x9cJ]S\x03\ +\x84\x14\x7f\xd3\xa8\xf9\x1bG\xcc\xa7N\xa6|o\x92\x9b\ +\x02\x1e\xc4\xeb\x0cZ|\xc5\x80\xc5],\x02\x95k\x19\ +x\xc8\x12j\xf0\xc8\xf5\x18\xa2\xa6\xbd1\xb6$\x8cM\ +\xb3\x9e\x9a\x01M#\xc7\xcf\x10\x07\xe8\xda\x87\xc8z\x92\ +\xde\xa9Y\xd2\x1d\xf4\xb2\xe9\xe6,RP\xbe\x00\x93\xa6\ +0\xdf\xbdJ\x0a\x0b\xd7\x03\xf4\x92\x0c\xde\xc7\xb8V\xab\ +\x17B8P\x91\xa2\x10\xae\xc5\x0d}\xb9\xa6!SZ\ +\xd7\xdd\x1c|j\xb3\x17\xb7\xd3P~\x1a7!\xc5{\ +92\xa8r\x00P\xca\xc4\xff\x7fR>.\x0d\x8e\xa1\ +\x9c_\xe5\xcbZ\x9e\xd4nU\x89\xdb\x8a\x8d\xc5\xab\x16\ +N\x9b4\xfc\xa0\xd1\x07q\xf4C\x14%\x81\x81U\x06\ +w\x1d\x80h\x0d\x7f\x8b\xb4m\xcf\x8ag\x8e\xaca\xfd\ +\xb6M\x9e\xbd\xb5\xa3\xcf\x7f\xb5g\x7f\xf87{\xfb\x97\ +\xff\xd3\x1e\xff\xf4\x17\xdb}\xfe\x85\xcd\xdd|h\x03;\ +\xd7\xac}e\xcf:V\x0elx\xe7\xa6\x0dn\xdf\xb4\ +\xce\xd5\x13\xeb\x5c\xe3\xf7H\xe5\xcc\x8e\xe5\x0d\xafBR\ +\xc5K\xa6\xb0<-\x19\xf7\xa1h\xad\xb1w!\x1d(\ +\xa3\x03\xe5w\xba\x9f\x93\xf0\x02j8\x99R7L\x5c\ +\x1f\xc7bg\xf0n\x8b<\x1b\xbc\xa0\x0f\xb0+{\x92\ +\xdb\xefE\x11\xb2z\x9e\xc3\xafLG\x03\x0c\xf9Ko\ +S5\xb0\xa6x\x15b\x06\x00V/\x00\xebF\xba<\ +)\xeb\xb6\xc42~\x87\xc4KJ{,N\xe2\x96~\ +\xfb\x09I\x1e\x08\x12\xea\x00A#\x86\x88\x0e\x92[\xd6\ +\xd0\x09\xe3\x8eu+\xc6gh\xa2\x08\xb2\xa7I\xa0t\ +\xb8T:Y\x95\xf3\x14\xe8 \x0d\x02\x9b\xaeu\x15g\ +\xf1\x00\xbe\x17\xaf\xa4{S\xe9:\x82\x07\xe0\x86\xc9W\ +\x03}rk\xb0}\xdcX61M\xb3hJ\x1f\xfc\ +\xa4\x19n\xee]\x17s\xeeFn\xc7\x13\x17\x83\x1c\x08\ +@\x17.\xc9\xa7\x18)\xf7\xffI\xf9W\x11^\x19(\ +\xcd;\x87\x86v]AF\x88\xb8\x97\xad]\xb1\x03\xba\ +.\x83\xd5\x0d1\xec\x9c\xc3M\xcd\x22\xb8\xc3\xae\x19n\ +n\x96kC\xc0PTv\xff\x12\x8cx\xd5\x0a\xc77\ +\xac~\xf9\xd0\xa6n>\xb6\x9b\x9f\x7f\xb4\xf7\x7f\xfa\x9b\ +}\xfb\xb7\x7f\xb6\xd7?\xfdj\x07O^\xd8\xc4\xde\x89\ +\xb5\xcc.[\xf9\xe0\xa4\x95\x0dLZ\xfd\xf8\xbc\xd5\x8d\ +\xcd[\xc5\xd0\xb4U\x0c\xcf\xe2~\xe7,\xafw\xc2\xb2\ +\xda\x87-\xd0:\x08C\xef\xb3\x94\xdan\x94\x8f\xe2\x89\ +\xf9\xff\x9b\x08\x0c\xbc&U\xf3\xf7\xea^\x148`\xa9\ +\xf0\x04\xb7\xa0\xe4\xb2\x03<\x01\x16\x15P\xda\xac\xcd&\ +p\x1c\x91I5\xb7Hk\xc3\xab\xb4N`4c\x84\ +S\xbcK=\x96^\xa3E\x1f8\x06J\x8f/\xebD\ +\xd1\x1dN\x12\xd5\xb7\xb8\x14 \xf1%\x9e\xc4\x95v\ +\x9f\x83\xa0\x0f\xaf\xa0E-\x15\x88(,/\xf2\x9d\xea\ +\x89\x80.p\xf3\xbeN\xf5s \xec\x90\xef\xfbd\xb0\ +x\xdft\x8c8\x95\xac&\x19o\x9e\x02P\xd3Pr\ +:J\xf7\x8c\x0b\x03G<\x80\xf2;\x95\x84\xa5\xa30\ +\xcd\x82\xa9\xe5\xaa6>\x84 a\x11\xcd\xc6iN{\ +\xf46i\x1e\xa9R\xff5<\x04\x17Q\x9e\xdb)\x86\ +\xb9\xc1\x0d\x00\x86s\xe5K4u\xfaI\xf9R\xba\x13\ +M\x86\x88A#\xbcfq\xe1 n7\xd8G~M\ +\xfcS/\xbb\x8cN\xf2\xee\xb6q\x1el\x98P3h\ +I\x8d\x03p\x8e~\xf7\x9a\xc2\xcfi-C\xc4Q\xad\ +\xe5\x8fZ\xb8g\xc2\xca\xc6\x97lp\xe7\xc4\xf6\x9e\xbc\ +\xb4g\x1f\x7f\xb0\xf7?\xffj\x8f\xbf\xfc\xda6\xce\xee\ +Y\xf7\xd2\xba\x15v\x0dY\xa0\xb6\xcd2\xaa\x9a,P\ +\xd3l~\xc4W\xddd>\xbd\xafk\xb5\x8c\x9a\x16K\ +\xadF\xaaZ-\x19\xc2\x97\x88\xcbO\xc4\xdd;\xabw\ +\x1e\x00\x8bD\xe9\x89Ux\x04\xac_\xcaO\xaa&\x0c\ +\xd4\xaa\xdb\xe8\x08\xa4P^`\x0a\x82;C\xb8$\xd7\ +oS!\x8a\xac\x5c\x04\x9a4\x92\xcf%\x126\x12\xf8\ +\x0e\xd5\x22$\xc8\x93\xa8_1\xd7\x88/kC\xe9\xad\ +(\x19\x9eQ\xdc\xec^\x13J\x087%\xfc\xbe\xb8\xdd\ +\xe2\x90\xd8\xe2\x0e\x8b-\xe9\xb4X\x81\x80P\xa0e\xe1\ +\xc4\x1a\xbe[\xeb\x04\xeaQ\x80{\x0ft\x8b;\xc1\xa3\ +\xfa$\x10Q\xcdDb\xf5\xda\xf5\x94J\xb6\x95\xdc6\ +e\x89-c\x84\x8cQB\x05\xfc\x05\xa3\xca\xe8&\x0b\ +\xeb\x85\x98\x93\xd6\xfb\xc5\x01\x00\xae&\xbfbD0\xd2\ +5\xe3\x85\xdbWK\x12\x15O\xe6\x90#F'\xef\xf3\ +\x0aS\x1e\xbb\x039\xf3@\xa0\x99.\xbf\x9bi\xf2\xa6\ +\x1a\xddvr\xdc\xbfS>$\xc3+u\xf6f\xc0\x9c\ +\xf2Q|&\x08\xd4\xfc\x80\x96a}XxF\xc74\ +\xc0\xe1\xa6\xda\xb0\x8e\x16\x94.\x85\xd7\xe3\xfajA\x7f\ +u\x87\xc5U1\x10U\x0c\x88\xd88\xaf\x92\xc4\xeav\ +,\xa8\xc3\xd2\xea\xbb,\xd29l\x8d3\xab6up\ +\xd3\xf6\x1f\xbe\xb0\x9b/\xde\xda\xfe\x83\xa76\xb9sl\ +\xf5c3\x96\xdd\xd0a\xc9\xa55\x96PX\x89TX\ +BQ\x85%\x16WZbI\x95%\x95T[Ri\ +-\x16W\x8f4\xe2v\x9b\x11\x14P.\x00\xa0,)\ +\xbf\xaa\x97\xeb\x89\x0f\xf4\xf3\xca\xbd\xd5H\xa1X\xb0Z\ +\xdc\xd7\x8d\x90\xdf_\x08\x83\x8b\xe8w\xea\xd6\x95X}\ +a\xe1<\x03J\x8e+iB\x99\x0d(\xb5\xde\x93\xa2\ +Z\x8b-\xfc\xbd\xd4\xf1\xbb\x06@\xd0\xe4\x01\x02\x10\xc4\ +\x95\xf0\xec%\x00\x00o\x10K8\x88\x85\x13\xc4\xab\x00\ +\xa5N\xbb\x7f!\xda0z\x11\xe70\xfa\xd0V\xf5\x1c\ +$b}?9v\ +\xcf\x88E[{p\xf7M\x96\x5c&%\xcb\xea+\xb0\ +xI%V\x8f\xf5\xe3\x15\x12KQ>\xd6\x1f_\x8a\ +\xf2\x1d\xb8\x00\x9d,\x16\x00\xc4\xf1\xbd\xf1\x0e\x00\x03X\ +\xbb,\x9bA\xc2\xed&7\x92\x05A\xbe\x12Uqt\ +^r\xa6\x92\xb4\x04<\x83\x0aNd\xf5\x22u\xbf\x07\ +\xc0\x95b\x0f\x00\x97\x0b\xaa\xecr^9R\x8a\xe2\x8b\ +\x9d\x5c\x91\xf0sl~\x19\x00\xa8\xc4;\xd4\xf2?\x8d\ +\x0e\xe4q\xfc\x7f,\x1c!\xb6\x12\xf2'\xf05`\xf9\ +\x90m\x91;\x15\x9c\x84\xd1Kt\x1a\xe5\xcf=r\x92\ +;\x03\x00 \xd4\xda\xe5\x9c\x81\xebOi\x1cu\xe3\x19\ +[\xd1lWx\xd6+x=I,^/\xae\x82g\ +\x16\xc1%\xa4%\xd4\x00\x12\x95\xcd\x01\xe2\x98\xd8rb\ +]\x8d\x0a'U\xa5JzC>\x1b\x1eU\xaav\xd7\ +\xa2\x84\x00\xb7\x99p\xf2\x11i\xd8\x13+\x98~\xea$\ +\x7fJ\xa7\x8b\ + (\x00\x04\x85x\x81b@PnW\x8a\xf0\x14\x84\ +\x89+\x80\xf2\x0a\xdf\x15+`\x01\xb4\x94\xd6\x05G\xec\ +4\x03\x18\x998\xb3\xe8\x0c\xfa\x98G\x1fH\xee\xac\x0a\ +BH\xa3!\xd5\x01\xd29\xb5\x86M\xaeW\xd6\xd0\x86\ +\xc2\x1b\xf8\xbej\xbbL\x08\xbc\x5c\x00\x00y\xd55b\ +\xb9F,\xdeF\xcf\x1d\xab\xe7\xe6~cbE@\x18\ +\x5cU\xbdj\x0aS)\x8d\xb6FG\xc6@\x9b\xbah\ +M=\xb4\x02m\x9d\x9aWO\xe1W\xc8k+\xd6\x89\ +\x1a\xb3\xcf\x1c8\xd4A#t\xbe\xc6\xeez\xf4ha\ +\xa7[\x8a\xd6\x19\x02\xc7\xae\xfc\xbb|\xf2\xaeU\x81\xd6\ +\xca\x99\xdbV:qby\x83x\x1aBCF\x8b\xa6\ +\x9e\xe5f\xe5n\x89\xa3\xff\x9b\xc8\x0d+\xb6\xca\xd5\xe2\ +-\xb0\x8a\x84\x0a@\x82\x8bt\x0c\x9a\x81\x8e\xc7\xd5\xc6\ +\x13O\xe3p\xb3\xb1XZ\x5cA\x19q\xb5\x9c\xbfa\ +\xf5R|e\x1dd\xaf\x1e\xd2Wo)\xd5\x80\x04b\ +\x98XI8q\xa1\xa6\xcd.3\x10\x97$\xb8\xdf\xcf\ +\x90\xcbR$\xd6\xa1vu*\xa7rM\xa9\x00\xb0\xda\ +\xd3\xa5\x91V%\xb5.\xe2\x05T\xa38\x82\xd7\xd2`\ +\xff\x8e\xd5\x0b\x00r\xe1|OlI\xb3]\xc6\xb5_\ +f\xd0/\xa1\x00\x07\x80\xdcB@\x90\x87\xe4\x02\x82(\ +\xde\x80\xd7\xbc|\xbb\x9c\x8fg\x90\xa2t\xa2\x09\xca\x11\ +\x00\xe2\xc4=\x00Z\xaa\xa6\xd6\x95F+}V\xa3\xa7\ +i<\xb3j\xfeP|h\xfc\x10`\x90\xae\xf7h\xce\ +F\xc6$#\xc2\x03a\x0cWJt2\x0a\xd6\x8f\x87\ +\xb9\x5c \x10\x10\x86\x0a\x01\x99;1\x05\xa0)D!\ +\x97\x8b\x9a\x00@\xb1\xe2\xa0R!\xf2\x5c\x15\x0d\x12\xcb\ +\xb5\xe0\xa0\xa5Ym\x94\xcc#\xde\x14\xcc=\xb6\xe2\xc5\ +\xe7V\xba\xa2\x05\x15\x00\xb0\x04\x00\xe6_\x10\x8b\x1e\xe1\ +-\xce\x08\x07\xd7a\xa3\x87X\xfd\x9ee#\x11\xde\xe7\ +\xf1\xbb\x12\xf8C\xf5\xec\x13k]{m}\xbb\x9f\xdb\ +\xe0\xfe{\xeb\xdd~n-\xeac?\xbek!\x11\x92\ +&n\xde\x91)\x89\xb7\xdd\xc9\x131j\x84\xfbr@\ +\xa8\x04\x04b\xc5b\xc7\x90\xa5\xd8\x22\x90\x5c\x00\xa2\xf3\ +x\xb0\x5c\x01\xa0\x02\x00T\xe1R\x89\xabeX{e\ +\x03Jo\xb2\x94\x9aFK\xadmB\x9a-Y\xf1\x10\ +\x8f!\xbe\x11\x8b\xd5_Fi\x97\xce\xe53\xbd\xa2\xcc\ +81\xfe\x86Q\x88\xea\x1c\x83\x8f\xb7\xea\xdf\x22\x85\xda\ +v\xf9tr\xfb\x0a^@\xc5\xa7\xe7^\x00\x0e\x10\x8f\ +\xa7\x8a/\xfb\x07\x08\x14Vbq\xe7Wp\xebR\xea\ +%\x94\xe0\xbc\x00\xae\xff\x12\x1e\xc0\x03A\xd4\x13@p\ +\x09O\xe0\xfe^P\x03h\x00\x00\xdf\xa5\xb2\xf0\xc4z\ +\x11e\x98\xbb&\x9d\xb4\xc1cT\x9eY\xdd[4o\ +\x02\xf1&uN\x85\xed'\x13\xd7\x13\xe0E\xf1z\xae\ +\xf2\x06\xc0Ws\xae|\x89\x94.\xd1\xef\xea\x183)\ +\x1f\xef\xe08\x8a'1n\x22\xa2B\x8d\x88\xd5u\x1a\ +\x96\xc8C\x0a\xf9\xd9\x83*h\xb8\xe1\xaaF\xf2\xb5\x95\ +X\xe7\xe1,=\xb3\x22\xa4p\xe1\x19\xbf{\xc2\xdf\x1e\ +pS\xe2\x04j\x0c\x01w\x18<\xb1\x5c8D\x11D\ +\xa5\x1c\x82R;\xff\xd4Z\xd6\xde\xda\xf0\xe1G[\xba\ +\xfb\xabm>\xf9\xcd\xd6\x1f\xfc`3\xd7\xdfX\xc7\xea\ +-+\x1a\x22\x05\xc5\x0bh\x7f\x9b\xd6 R\xe4\xf6\xb4\ +\xdb\xc6\xc9\xf9\xfe7\xac\xcd\xb1l\xcd\x96\xc9\x03\x08\x00\ +J\x97\x0a\x01@\xbe\x00\x00\xa3F\xe2\x0a\xea<\x8f\x80\ +\x15%h*\xb7\xaa\x85\xffk\xe1\xff\x9b-\xa5\x0e\xa9\ +\xe7}\x1d\x19E\x0d\x8c\x1f\xbe\x11G\x18\xb9\x82\xfb\xbe\ +LH\xb9Lh\xb9\xa4Wm\xbc\xc0\xfd&\xd5+\xfd\ +$\xdd\xeb\xc2 4i\x02\x10\xd2PDJ\xa7j\x0f\ +U\xa4:\x0f\xa9\x22\xd5\x02\xa0\x09\xdc\x97<\xa8\xf3L\ +\x02@)V\x08\xb9t\xae\x16\xb2y\xc5\x9dU\x04\x17\ +\x90+\xce\x87\x0b\xe4\x15a\xfd\x00!\x17 \xe4\xe6;\ +`|\x06x?\x03\xcc\x97\x8aZ\xed2\xcf'\xf6\x9f\ +\xc0w\xa7@\xd6\x14\xdb\x03\xdc\x83\x0aY3yU\xa9\ +|:d:\x19\xa6\x9fX\xcbu\xaby\x16b~l\ +\x99\x94\xcfX(\x9cp=\x11Le\x1a\xb1(<\x96\ +\x90$n\x22\xef\xe4\xdd\x9f\x84{%\xe3\x88I\x22\xcf\ +T\xd7ImgV\x17J\xf5\xa2S'\x0d5A\xc8\ +V\xf3\x85\xb1\x13\xdc\xcf\x0d\x08\xc7-\xcb\x9b\xc5#\x10\ +{rU{>\x0dA\x9c\x84\x14j\xf9\x16\x85\xe7\x8d\ +y\xbb\x7f\xca\xa6\xb1\xfa\xf9\x87\xd6\xb0\xfc\xdc\x9a\xd7P\ +\xf4\xd6\x07\x9b\xb8\xf9\xa3m?\xff\x8b\xdd\xf8\xfc\xefv\ +\xf2\xf6\xcf\xb6\xf9\xf0\x1b\x1b\xde}`\x15c\xdb\xee\xa0\ +)\xedm\x93\xa2SP\xb8\x07\x82\x7f\x88@\x90\x04Q\ +U\xc5l\x82\xd2\xa22,\x8e\x1b\x8fc\xb0\xe2\x00A\ +\x1c(\x8e\xc7\x95%`=\x09\x0c|\x02\x16\xe8\xa6s\ ++[\xcfA\xe0)?\xb5\xb1\xdd\xd2\x1a\xbbyOn\ +\xef\x06\xae\xef|\xf3\x85^\xfb=\xe1\xbd\xb6])\x87\ +O\xe2s)-\xe4\xfe\xed\xe3n\x82*\x15\x12+\x00\ +\xa4\x90\xf6\xa6\xb4\x03\x04M\xcb\x8a\x18\xd6Nb}\xc3\ +X_/\xd6\xaf\xfc]\x83\xab\x81\xd6\x80\x0b\x04M\xc4\ +c\x85\x03H!\xd6x\x09w\xec\xf1\x82R\x84W\xc2\ +\xd7g\x80\xf7\xb3B\x94_\xdcM\x18\xd0\x9e\x80!\xc2\ +\x0b)\xb2\xc6D'\xaf\xa9\xeb8\x80\xcc\xd0\xb9\x01d\ +P\xa9dOIdN\x09\xca\x9c\x5c\xc6D\xca\x09\xd8\ +b\xc9pb\x8b\xa4\xf8\x1a\xc6Ei&\xe4R\x1e^\ +!S\xb3\x8e\xf2V<\xa3\x17N5+9`1)\ +0\xcd\xd4\xc6y\xdc\xbf\xb6Uii\xd6\xab\x84QK\ +\x15mZ\x0c\x0e\x10\xd3\x87\xf0\x08#\xb8\xecQ\x01\x82\ +Td\x1ck\x9f\xb8I\xa6 \xb2\xa8](\xda\x83~\ +\xd7\xea\x96\x1fY\xd3\xda3k\xdf|e\x9d\xdb\xef\xac\ +m\xf3\x9d\xb5\x22C\xd7\xbe\xb1\xd5G\xbf\xd8\xe1\x9b?\ +\xdb\xc1\xab_m\xe3\xe1W6\xbc'\x00l\xb9\x1d\xc6\ +)Xx2qO]\xb0u\xa6\xcf?\x80 O\xa0\ +\x85\x9a\x09\x14\x09\x10\xaa\x00\x82f\xc6\xdc\x94)\xae\xd2\ +\xe5\xcdp\x18$\x01R\xa3,\xc1\x09\xac^S\xbaI\ +\xc4\xc4\xe4Z)\xbe\x93\x01\xecE\x06\x18\xccA\xbc\x0d\ +\xbc\xa2\x16\xcb\x85_\xc4\x13^\x12H\xf9$\xaa\xc9\xd7\ +\xf6+\x97\x8a\xc2\x9ac\x95F\x91B%4\x0dYR\ +\xdb\xac%u\xaeZ2ioJ\xd76`\xd8\xb2\xe4\ +\xb6uR\xa9E\xacu\x12\xe0\x0c\xa1\x08\xfe\xd7\x85\x01\ +\xee\x8b\x10\x13/!\xabQ\xa6\xa1\x90s\x05p^\x01\ +\x18\x97\x1dI\x14(p\xc3\xc5\x0a\x17\x9d\xfcM\x9b?\ +\xe0\x16\x15\xe3\xe7\x82w!\x15T\xe8K\x82\x1c'C\ +zS\xaa\xda\xe15\xad\x90Y\x00\x8f\xc5\xc7\x97\xa1\xe0\ +2Y?\x02\xd8\x048\xcd?\xb8I&\x1d\x8d\x87\xa1\ +$pO*?\xffG\xc99\x9c\xcb\x95\x9dk\xbf\xc3\ +\xa4\xc5\xe8\x8c>\xd7\xf0\xb8C\xdb\x91\xc9\xe9\x95\xd7\x93\ +\xcai]@\xd5AN\xb4N\xa0\xdd\xa4}\x9b\xc4\xa3\ +\x1d\xf8\xc1!\xa9\xe2uB\x00\x96\xaf\xc2\xc7\x99\xbb\xae\ +QT+\x8a\xef\xd8~k\xdd{\x9f;i\xdexm\ +\xb5+\xcf\xacc\xe7\xb5M\xde\xfc\xc2\xd6\x1e~D\xbe\ +\xb6\x85\xb37\xaeJ\xa8l\x84\xeb\x80\xee\x14\x08U\x12\ +\x84*\x09\x8bt@8\x07\x81\x9a-\xb8\xce\x1aHJ\ +\xfd4\xe0 \xe6q\xf3\xf2Z\x0e\xc1\xb8nG\xc2P\ +zBE\x977PX\xb66`\xe8\xcc\xc0\xd4\xfa^\ +Kk\xe8%\xcc\xf4\x9b\xbfu\xc8|\xad:yc\x04\ +\xc0kzV\x16\x06\xbfP\x88Q\xf3e\xf1\x0d\x00!\ +V\xef\x91\xb8\x1a\xbbT\x02\x93&\xae^\x91\x9b%\xc5\ +J &'unXJ\xcf\xae\xa5@\x0cS!\xbb\ +)\xedW!\x86\x0b\x16\xc7}\xc52\xd0.\x8d\xe3~\ +\xe2\x091n6\x91\x0c\xc7\x11Zq\x06\xf8\x8c\x00\x17\ +\xa7\xb0\x81b\xe3+\x95J\x0a|J-g\xf0:\x84\ +\x96z\xd2\xce\xbay~7\x8d\xa5\x8e\xf1\x8c<'\xbc\ +@\xde-\x11v\x9f\x88\x9bO\xe0\xbe\xe2\xc5uJ\xb0\ +r)\x1dB+\x90\xb9\xcd&.%U\xb6\xd4\x8b!\ +\xc0%\x04\x22\x19N5\x06t^r\x9eT\xaf\xfd\x06\ +s\x90\xddE\x8b\xc9h\xdf\xf0\xd2\x1dP\xad\x22\x83\x80\ +\x13\x01A\x877\xae!\xaa\x8f\xf3j\xe4\xb4\xd9\xc05\ +\x22\x22\xad\xd3\xd6\xa3<-\xd3b\xf9e\x8b\x8f\xac\x11\ +\xe5w\x1d|\xb0\x9e\xc3/\x9dt\xee\xbd\xb7\xda\xd5g\ +\xaeKU\xd5\xc2]k]\x7f`}{Ol`\xff\ +\xb1\xf5l\xdf\xb5\x86\x85#\xcb\xef\xc7\xe30\xb0\xc9(\ +\xdf\xb3^\x06\xcdm\xe4\xd0aO\x9aiS\xa3\x05<\ +\x94+\x97>\x97zrc\xe5\xe8n\x83\xa6\x08\x22\x0f\ +\x89\xd25\xd7\xee\x1d\x0e5d\xe9\x0dC\x96A\x8c\xcc\ +\xc0]f`\xf1\xbe\x96!\x000j\xfe6\xed\xa2\x1d\ +\x83x\x0a\x5c\xe7 P\xf8\x81p\xba0$E\x89\xd9\ +c\xa5r\xa7b\xf1\x97\x19\xe4\xcb\x15XiM\xaf]\ +i\x1c\xb782\x81\x04\xd2\xe5$\xc6(\xa5\x8b\xf4\x10\ +@h\x95.\x81A\x8d\xc7\xc2D\xe0\x94!hJX\ +\xe7\x15\xb9\xc3#Zf\x11M\xe5\xaai\xd4<\x03\xcf\ +38Pk\x09x\xce\xad\xae\xa6\x91fju/M\ +k\xf7\xadW!w\xcb\x80b\x16\xe5\x01<\x94\xa9\xd0\ +\x96\x08\xb1L\x90\xe2I\xf1$q%\x9a\xd3\xd0\xf2\xb5\ +\x94\xcf}kb\xca\xad,\xe2\xd5\x90\xc4J\x14/\xe1\ +;\x1c\x00jd\xf5\xbf\x03\x00\xde+\xe6\xe2\xa0FW\ +K\x06\xb2\xd5\x06EG\xa0y \xd0\xe2\x8e\xa6y\x09\ +\x09n\x96O\xa5Q\xde\xd2\xae\x00\x90?}\xea:c\ +V\xae>\xb5\xd6\xbdw\xd6w\xedk\xe4\x1b\xeb>\xfa\ +\xd2\xdav\xdeZ\xe5\xe2C\xb8\xc1\x0d\xcb\xc3c\x14\x8d\ +\x1dZ\xd9\x94\xe4\xc0J&v-\x7f\x08v\xdb\xc1\xc0\ +\xd4\xa1\x04\xe5\xdf\xb8NM\xf6(\xdf\x17\xe1\x93\xcb\xd7\ +d\x8c\xea\xe4\xb5\x1d*\xadq\x09\xc5-c\xc1H\x93\ +v\xed\xe8\xf7x\x85\x06\x85\x8aQ>\xa7\xc1\x1eC\xe1\ +(\xb9y\xcc\xfc(\xda\x93Q\x0b\xb4\x8e}\x12\x0f\x00\ +\xfa\xbc\xa6s\xe1?\x88^S\x00\x8eV\xfd\xb4\x16\xa0\ +\xe5\xe0\x0b\x02wY@(m\xb4K\x15\xedv\x09\x90\ +]\x86\xac\xc6B\x96\xe3\x95\x12\xb6i\x9f\x00a\x01\x00\ +\xb8\x89\x22\x00+\xf6\xaem\xddZ\x1f\xf0\xb5\xc3\xe21\ +\x1e\xd7\xe8\x01cr\x87o\xa8Z\xa8\x19 \xf0y\xd7\ +=\xa4e\xd1\x85]\xad\xc0\xaa\x06\xaa\x9c\xd2\xd6mw|\x1dc\xaa2\ +\xb5\xec\xb1\x9b\xa6\xcac\xedo\xd0\xb17\xa9\xad\xf2\x1c\ +p\xa5F\x8c\xa5^\xde\x050h\xf9\x1a\xaf\x94\xc8\xf8\ +%\xd5b\xedx0\xafm\xec$\x0a\xf6$\xa9\x86\xd7\ +\xaa\x09\x84\xdf\x0b\x00n\x9f\xa1@\xa0-\xe8\x02\xeb\x8c\ +\xc5\x08\xbd)\xa08\x95\x0b\xa5\x13\xff}(Zk\xdb\ +:\x8bO\x00p=l\x9cxu\xfcjC\xaen\x19\ +\xaeO\xde\xe4u\xd7\xf2\x5c\xed\xe6\xab\xd7\x1f[\x8dZ\ +\xa5\xae\xa9\xa1!i\xe3\xf4M\xac\x1f\xae\x00\x89\xd4\x16\ +f\x1d-\xab\x93D\xb5\x9c\xea\xce\xf5\xc3b\xd5\xdc \ +Q\x1b\x22\x15\xb7\x94F\xc9\xd5\x11\x17\x93\xb8Im\x9b\ +J\xa9\xd76f,_\xab`(\xdd\xf5\xe8\xef\x06\xa0\ +*\x88\x94\xb7\x12hU~u\x1e\xaa\xfc\x00\xcc-<\ +ui;\xb6Z\xc6\xa8\xaf\x80\xf6\xec\xa3x\xc2\x81\x18\ +\xb4\xc2C\x1a\x03\x99F\xe8I\xd5\x86M\x85 \x07\x00\ +@W\xa7\xc9\x141e\x119M\xe9\x9e\xb3w\xe43\ +\x09@\xb8\x04\x104\x81\x14+\xd0*\xfc(Um\x84\ +\xa7\xa0L\xb5\xaf\x17\x7frar@-Xd0\x90\ +h\x80\xa0\xbaBw\xe8\x83\x03\xacd\x01#\xe0^\x01\ +\x85\xba\x82\xa9\xd1\xa5\xebA8\xa1z\xc8S\x0b\x8e\x02\ +\x02Rj\xef\xa4\x14<\xb4+\xdcY\xe0\x1axE2\ +\x02o\x99Y\x9eK\xa1R\xe3\xc9xi;\x1c^E\ +\xee=Y[\xcb\xc4+d\xed\x02\x02J\x17\xd7H\xc0\ +\xb0\xb4\xd9V\x9bl\x13\xe0U1\x09\xa06\x91\x9bO\ +\x22\x03p+\x83\xb8{\xd7\xa3\x9fx\xef2\x01!\xf8\ +w\xa2\x22\x08\xf5\xb0\x09\xa9\xeb\x84Z\xbdN\x9dX\xf1\ +\xfcM\x94N\x0a\xb8t\xe6\xde\xebw*\x13\x8fh\x03\ +f\x9fz\x05/\xba>B\x81\x96i\x94\xc0\xcd\x12s\ +]~\xff\x89\xcc\x117\xc5\xeeI}\xe4\xa2d\xf9)\ +\x8a\xf7\xb8}\xb7\xfbV;f\xa4\xfc\x9e\x03\xae\x7f\xc4\ +\xf5\x8f\x11^\xfb\x0e\xb8'B\x97\xc2\x95H+^\xc6\ +\xef*\x9b\xb4\x07p\x06\x0b\x9bp\xee>\x0d\xa5\xab\xbe\ +/\xadA \xd0\x92.a@\xa7k\x09\x8c\x90PM\ +\xfcx|\x80{\x80@\xc6kk9._\xcc\xfa2\ +J\xbf\x5c\xa8\x09\x9djR\xb5*\x84TN\xa0\x00\x08\ +n\xf71\x16\x98\x8c'H\x93\xd5\xab\xec\xcdU>\xe9\ +\xf9O\xcc5\xb1\x1cR\xc7/\xc6\xad[u\x92\x9e\xb7\ +R\x09\x98'\xf2Z\x8b\x84V\xc6H\xbd\x04\xd4\xf1\x14\ +\x10h\x8f_p\xe4:\x008q\xe5f\xae\xd2\x88\xbf\ +\x07\xfa\xd0M\xf7\x12!\x9b\xefP\xf9:\xf7\x9f\xae\xb9\ +\x02\xbe\xcb\xb5\xd7\x07P:\xb2\xc6kq\xcf\xd8\xe9X\ +^\x08\xaa\xc6\xd2\xedo\xc4\xe2U]$\xc5\xab\xd63\ +\xa1\x01\x00$\xa1t\x89f\xb9R@c*\xa22i\ +oc\x84\x88\xdf\xb9\x80\xc0\x0b\xc9\xec\x05\xb5\xfd\xebn\ +\x1f@tL{\xed\x0f\x08\x07\x90\xba\xe9CRB\xed\ +\xb8\x95\x05\x5c\xb5\x90v\xe1\xf6,\xe3\x01\x16\x88\xf7s\ +x\x00\xe2b\x13\x83Ej\x97\x8a\x8bJ\xd6\x1e\xfbJ\ +\xdc\x93D\xae\xaa\x06\xb4j\xe9S\x07I7\xad\xa0|\ +\x15\x9el\x9a\xce\x13\xd6Y~\x17\x9b\x1c\x5c/?\xc9\ +\x80\x80p\xe8V1\xe5\xb1\x04ZGX;\x18\xe86\ +\x0d4\x83\x84\x82\xc5\x0f\xe4\xf2\xc5\x11\xd2[t\xc6\xde\ +\xb4\x0b\x19\xe9\x88\x0e\x94\xd4!\x15\xc9\xe4\xdb\x17\x8b<\ +n\xaf>\xae^\x0a\xd6\xf4\xac@\xe0\x00P\xa0\x09\x9b\ +r@@.\xaf\x09\x1e\xbc\x84>\xab\xb3\x02\xb5\x93Y\ +1\xdc\xb5\xd9U%3\x19R\xae\xd2\xe5\xe1=\x00\xa0\ +\x95R\x15\xcdr=\x14\xa6\xeakw\xba\x98\x14\xa7\x16\ +=\x8co\x16F\xe5\xba\x84\xa9\xa9\x03\x00r-\xea\x08\ +\xb5\xae\xd8\x14\x8f\x1b\x18\xc4\xe3\x91\x96\x07\xc8\xc6\xd4\xed\ +D-\xf1\xd4\x11\xcd\xed\xf4\xe5\x99ur\x9bz9\xb9\ +\x1e\xcb:/\x01b\x1f\xd0nb\x15\xde\x22:\x9b9\ +U[\xdb\xb4\xddMee\x84\x22IL:n=\x8d\ +\xc1K\xc3\xda\xd3\x88Si\xb8\xd3t\xb9\xaa\x0e\xcd\x09\ +\x9c\xd7\x09v\xe0\xae\xdcz>(\xeb\x9a\x83,\xe2\xce\ +{\x97P\xc0\x8a\x85\x86\xd7-\xa2S*G\xb1\xf6a\ +b\xfd\xe0:\x96\xb9\xc2C\x81\xec\xaeyn\x0c\xe1\x7f\ +\xdd\xc1\xd2\xf2\x04\xbaa\xcd\xb3C\xa0\xb4S6\xe3|\ +cdj\xfd\x12H\xc5\x0b5\x01\xc2\x16\xeeCU/\ +\x1d*@Q\x97k\x06\xa1\xef\xc4\xd5$\x04\x07\xaeC\ +\x94T*}\x0e\x02m\xf1R\x99\xf6\x80\x8aKw\xf9\ +\xac\x16p\x08\x19\x8a\xb50o\x0d\xb2:h9kA\ +\xd9\x19\xe2\x1fz\x1e\x95\xbac}:\xac\xca;d\x92\ +\xcc\xa2\x11W\x89;M\x00\x08^\x93\x09\xad\xc9\x03\x02\ +\xf2\xec\xcb0\xeeK0\xef\xcf\x8a*\x91*B\x01\x00\ +\x10\x09S\xb9\x18|FUUR\x9evZ\xe9\xc0\x08\ +\xd7\xa9c\xe2\xba\xe5\x8c\xa0T5\x83\xd2\x22X\xe7\xc5\ +\x98\xea\x15\xa0*,\x88\x1f\xa0\x03\xd7\x81\x14e\xebH\ +\xdcO\x95\xc6\xe7\x00p\x9dJ\xf5w\x85b\xc2\x85k\ +\x83+\xaf\xd1\x83\x11\xe2\x91\xa3\x84\x9a\x5c\xc0\x93?L\ +X\x068\xb9\x8cI\x0e^2\xd4{\xc4g\x19\x17\x9d\ +\xc9\xac\xcd\xac\xdaf\xe6\xb6\x9a\xa9\xb2\x18\x81\xf3\xc5\xa8\ +\x98Q\xe5\xc6:}\xcb\xd7K\xac\x01Ejq\xee\xd5\ +\xfak\x80\xd4cGk\xf9S\xbc\xe2R\xdb\x89\xa9\x9d\ +\x93X\x1bD\xabw\x0e\x0b\x5cD\x09 \x10\x09\x92\xd6\ +\xb9J\x1f\x94\xee\x83\xe1\xeb$o\xf5\xf6\xc9\xd4i\xe2\ +\x02\xc0y#*\xb54Q\xeb\xd7\x1c\x5cx\x84\x1b\x0c\ +u\xf1\x80(:\xd0\xb9\xc7\xff\xeeq\x0f\xda\xe2\xa4}\ +~\xc7\xc4?\x9d%\x8c\xd2\x07\xb41B\xa2\xf7\x02\x02\ +\x22\x00\x0cy\xc7\xb1\xba#Y5p\x03\xda%#\xe0\ +lp\xbf\xf2\x22\xaa`&c\xc0\xf5\xea\xf4P\xef\x18\ +\x1a\xf1\x05\x06\x9fP\xe7\xea\x17\x90\x8b\xa5\xeb\x00^O\ +V\xa9V3\xda\x1b!\x17\xafn#\xb1\x95m\xa4\x83\ +\x00\xa1\xa2\xd1.W6\xdb\x95*ro\x1d\xe6H\x98\ +\xc9\x90\x05Cv\xa3S\xa7\x96?w\xdf\x0a\xe7\xd5Q\ +\xfc\x1e\x1eQ=\x97oXt\xf4\xd8\xc5xo?$\ +a\xe2\x9cS\xe9\x9cB\x15\xc3\xaa;\xbbS<\xca\x93\ +\xa8S\xa9vG\x07\xd5\xe6]\x95\xd2\xfc]\xa9\xb7\x0e\ +\xb5R\xbb|\xb5\x9f\xd1\x18\xaa\x8d\x9f\xba\xa8\x16\x8d_\ +\xb7\x12<\x8ez\x1b\x95N\xdf\xe3\xfd]+\x1c\xbb\x0d\ +\x18N\xf9\xdc\x0d<1c\xd3\xab\xede*\xeaQ\x99\ +\x9f\x8e\xe6el\x09\xa31*kV\xea\xe1\xaarU\ +\xd2\xcc\x8d\xb9\xa3c\xe4\x09\xda\x15\x83\xc9\xc3\x9b&\x18\ +\x10\xdch\x13\xb1\xb4\x99<\xbbu\x98\x81$\xaf\xee\x9a\ +\xe0\xb3\xd3<\x0cV>\x00\x10\x06\x96x\xaf\x86H\x9e\ +\xf5\xfbQ\xbc\x18\xff\x85\xf2\xd5\x09;\x97\x98\xa8\xf6\xf3\ +E\xe37I\x0dO\xadp\x14\x8b\x19a\xa0\x86\xb5\x15\ +\x8a\x9b\xd5\xee\x15D\xdb\xad\xb5\xe350\xa8\xbdo\xc8\ +\xc0M\x06\x0c\x00\xe0\x05\xdcY=\x88;\xbd\x03\x10\x84\ +!L9\x13g\x10\xa8\xdb\xe6\xba|\xf2\xbf:lZ\ +s\x1b^\xd9\x9a\x0aXI\xc1D\x16\xa5p\x80\xae\xfe\ +\xbb\xea\xb5\xab\x86Jj\xb1\xa2\xee\x99\xae\x83\xa6\xf6\x22\ +\x0c\x12R\x00\x87\xfa\xefk\xe1'\x1e\xb2\x1aG\x86\x10\ +[\xd3mWj\x01\x83\xea\x18\xe0\x13I\xe2\x18\xb8v\ +\x1d\x0a\xa1\x89\xb1<,\xbfp\xfe\x91\x15-<6\x1d\ +B\xe1N\x10\xd1\x112\x93\xb7\x09\x07\xb7\x00\x82<\x02\ +\xd6\x89r%j?\x17Q\x13j5\xd9\xd69\xc8\x88\ +2\x00q\x80lm\xd9\xd3\x1e\x09\x09@Pc\xe8\x08\ +zR\x8f\xa6<~\xa7\x8d$\xc5R\xfa\xccm+\x03\ +l:W@M\xa1+\xe6\x9fX\xf9\xecc+\x99z\ +\x08\x08\xee\x02\x823@\xc0w3vY\xbd\x8c\xab\x04\ +@\x04$\x8ce\x8cw\x22\xb7\x10v\xe8P\xa6\x83\xa3\ +Ta\xf2\xe9\x94*\x88\x8a\xe6\xa3\xbd\x93\xb8\xb5l\xdc\ +\xc3\xcf\xbd\xfc\xbe\x1f\x0b\x1b\xc2\xd2\xc7`\xe5\xd3\xb8\xb9\ +\x05\x08\xcf2\xb2j9\xea\xf0\xd5\xbf\x86\xfbQ\xbf@\ +\xaf/\xf0?\x9aC\x1fZ\xd1\xa4\xd7\xc2\xb4\x04\xc4\xaa\ +\x1d[\xf1\x14\x037\xa5\x03\x1en;+\x0aO\xdd\xb2\ +l\x1e.\x8bA\xcb\x1c9\xc5\x1d\xf2\xcaCd\xe2\x09\ +2\x15\x0apm\x17'ui)Z\xd3\xd1yj\xec\ +\xc8\xa0\xe71\x08\xb93\x0f]\xf1\x84\xbc\xc5\xc5\x86M\ +\x9f\xb6\x83\xf3\x5c\xae\xec\x8d\xc1\x97B\x8af\xefZ\x85\ +\xda\xddk\xb3\xc9\xe6\x0b\xe4\xb9U\xaf>\xb2b\xd2W\ +u\x0cQ\x86\x91\xd2\x02I&\xafO\x80G\xc4\x93-\ +\xc4\xc3%\x12E\x1c\x95\xc6*\xad\xed\xdfF\x89\xc7\xa6\ +C'\x0aP\xb8N\x11)\x9c{\xcc{dF\x1d\xd8\ +\x1f\xf2\x5c\xaa\xa9\xb8OHP\xab\xf7\xdb\x96\x0fX/\ +\xc4;\xd3@\xbb\x98yn\xed\x88\x02\xcc\xd9*\x97\x07\ +\x00\xda\xb7\xa9\x06\x95\xaa\xa0vg \xc0/\x0a&\xd4\ +\xea\x15K\x9f{`\xe5\x8b\x8f\xadR\xa7\x80.\xbf@\ +^Z\xc5\xd2K+_xae\xb3O\x19S\xeec\ +\xec\x1e\x06w\x8a\xe1\xe1!\xb1\xfa`7a\xa5\x1bn\ +\x81\xf8{T\xe7\x09\x004\x90\x22RZ\xfdS~\x1f\ +\xc2\x15\x09\x0c\xea\xb2\xa9-[\x9a\xc1R\x93\xc2$\xe5\ +\xeb\xaef\xae\x83\x5c\xb9\x9d\xf4\xa2\x03 t; \xf8\ +\xf1\x06\xa1\xbe\x19\x14\xbf\x84%\xafa\xd1\x9b o\x8b\ +\x14\x90\xf4\x06r\xa3nY9XU.,W\x16\xa6\ +\x83\x0c\x8ag\x00\x00\xe8U?\xfcb\x1d\xab\xa6n\xe3\ +3X\xc9\xcc\x0d\x0bOs\xc3:u\x03\xf7\xa9\xbdl\ +\xda\x0b\x1f\x1c\xc2\x03h\x7f\x9c<\x80\x00\xa0\x8c\x00\xe5\ +f\xb92\xa9\x9b\x96;\x8b\xcbe@\x0a\x96\x9eY\xc1\ +\xe23\xd79C\xcd%\xb4\x87/\x88K\xd5.\x1e\xb9\ +V\xb5\x7f-\xd0a\x17\x0b\x0fI]\x9fY\xc3\xcek\ +k>xk\xadGo\xad\xed\xf0\x8d5\xed\xbc\xb0\xaa\ +\x15\x14\x897P\xba\x9bNV\xa4\ +m\xce\x08a\x19\xae%\xaa\xe2O\xbfv\xbb\x8a=.\ +\x02\x00\xe5\x90J\xd54\xd7\xdc\x86\xb4\xb8\x19\xa9DU\ +\xd6\xd6v\x92\x86\xf4C\xf6&@\xda\x02\x8a_\x07y\ +;V8~\xe0f\x00\xdd!\xd1\xb8\xac\x5cP\xac\xa3\ +R\xddAH\x13:\x89\x5c\xfb\xe1\xce\xf7\xc4\x8d\xab'\ +\xfe1\xec\xf9\xc8r&\x0f-DV\x91\xcdk\xd68\ +n\x9e\xbfg9\xb7\x88G\xd0\x86L\xed\x93\xd3\x8e\x22\ +Gn4kIlU\xc5\x0c^#w\x1e\x0b[\xc4\ +\xe2\x16\x1fY.\xb18\x82\xeb\x0dc1!\x06P\xaf\ +Q,G'~\x94-\xe9\x00\xc5gV\xbf\xf3\xd2\x9a\ +\x0e^Y\xf3\xe1\x0bk9xf\xad\xfbO\xadq\xfb\ +\xa1U\xad\xdeu\xcd\xaa\xc2X\xb6\xe6ER\xb5\xe1S\ +\x9ba\xce\xa7lu4\xad\xb8F\x18\xe5\xe8\x940\x1d\ +GS\xbe\xf4\x1cy\xe9\x9a@\xe8$\xb2\x02\x94^0\ +\xf3\x1c\xe5\xbf\x04\x1c:\x9bY\x0az\xcb\xdf_[\xc9\ +\xfcs\x00\x80\x85\x12\xab\xf3\x08\x83\xaa\xebsG\xd7\xab\ +\xb7\x80\x13\x85d\xb5\xcb\xd1\xf68\x8cB\xde\x11\xefR\ +\x04\xc0t\xc6\x91\x0e\xbf\xaa\xdax\xe7\xce\xfe\xad\xba\xaa\ +C?\xdf[\xf1\xc2\x1b\xae\xf7\x02O\xf3\x94q\xe6\xf9\ +\x87\xefat<\x03\x00 \xce\x03\x94l\ +\xe2\xa4\xe2\xa3\xeeS\xe9\xa0#\x8bn\x03\xa4\xaab \ +T\x9aq\xd4v2\xbcK\xee\xac\xca\xa7p\xab\xa4c\ +9j\x99\x86\xa7\xc9\x9d#\xcc\x00\x8e\xb2\xd5'N\xf9\ +\x9a\xb4\xaa\xddzl\xb5\x9b\xf7\xb0\xa4\x9bX\xfd\xb1U\ +.\x1d\x10C\xb5\x01\x05F=\xb9\x8f1\xa8/\x8fJ\ +\xe0\xe1\x10-\x9a\x90R*\x07\x9bW\xd5\x93R>\x9e\ +A\x8d\xa7u\x12h\xe9\x82w\x80\x94\xe7\x01\x1e\xe3\xcd\ +$z\xff\x82\xdf\xbd\xb6\xd2\xa5\xb7\x00\x0f\x00,\x0a\x10\ +x\x86\xc9{\xae\xd1\x96\x0e\xa5V1M@E\xb6\xee\ +\x15\xe6\xaf}\x87\xd2\x09\xc0\xd0\xa4P\xe4\xbc\x99C\x01\ +\xf1\xbd\x18\xa0\x95\xb9\x13\xd0\xdeX\x85N>[z\x83\ +W\xd1\xd6\xf8\xc7\x84\xb6\xfbx\xad;\x90MB(\xb1\ +>K\xe5\xe3\x9d<\x83\xf6sh\x17\x97\xdbQ\x04\x98\ +I\x11\xd3\xbat\x00\xe7\x01\x00\xe0B\xae\xef\x8c.\x86\ +\x1b\x0a\x83H\x81@\xbc@\xb5\xe6\xda\xc5\x9b\xdc0\xed\ +\xe6\x98]\x0b3W\x9fwQ\x97\xd7m\xe9\x90\xa3@\ +\xd3\xb0\x85;\xa7\x01\xc0\xb2\x15\xa1\xb8\xb2\xe9k\x0c\xe4\ +\x1db\x94\xac\xed\x89\x95-?u'V\x97\xea\xe0\x02\ +\x91#,Q\x1eA-\xd4t\xea\xb8;\x1f\xd7\xa5g\ +d\x0e\xca \xcek\xd8u\xe4yP=\x0a`\xbaY\ +c\x0c\xc8(\xf7\x0a!\xd2\xe1\xd1\xda\xf6\xac\xc9!\xb7\ +5J\x0bX\xfa.u\xdav+\x95\x90,\xa5`p\ +\x8d(\xae2\x0c\x85R5\xa1\xd0\xb9Cj\x1b\ +\x97\x87\xcbw\xad\xe3\xe0Z\xae=\x8dKU\xb5\xd3G\ +\x82\x95\xe2\xcd\x94\xa3\x0b\x04\x1e\x000Du\xf4\xc0[\ +\xe4@&s\x09\x1b*\x07\xd7!\x97y\xaa\x10V%\ +\x962\x22\xf5\x01\xd0V1\xcd\xa1\xb89\x95yK\xad\ +\x83\xabhR\xadn\x06\x99&\x8c\xc3a4M, \ +\xb4j\xe5\x11\x92\x0f\x08b\x5c'\x09\x11A\xf2\xea\x10\ +d\xcbm\xda\x14\x13%\xae\x8a\x08j\xe3\x87z\xf5i\ ++\xb8k\xe6\xd0A\xbe\xdf\xb9\xe2\xce\x08\x08\x93\x02E\ +\xba\x16\x9d\x84\x11\x9d|\x15\xee[\xc7\xb5o\xc3\xb2\x19\ +d\xc8\x5c\xc1j>Hlje\xa3%\x95TY|A\xa9\xc5\ +\xe7\x17[B\x01R\x5cn\x89e\xd5\x96\xc8\xdf\x12\xab\ +[-Q\xdd=I\x01\x93j\xb5OP\x99\x10\xa2\xf7\ +\xbc\xa64\xa8\xc8d\x84\xfb?\xdf2\xa6\xc5.\xadI\ +tk\xc6\x14\x0f\x86g\xd2Q.ZA\x0dq\x7fj\ +4\xa1\xd2y-d)\xbcj\xc3\xad\xb7\x90\xc4\x18k\ +\xcb\x9dVf\x05\x02\xc2\x81\x1aQ\xa8\xa5K\x04\x008\ +\xe5\xe3\x01r\x05\x22\xf4\xa3\x83\x8f\xa2\x0b\x067-\ +_\xfdwQ|\x18ku\xcd\x91y\xaf\xa9\xe0\xf0\xf0\ +&\x80\xda\xc6\x02\xf8\xec\xcc\x11D\xe8&\xd6\x7f\x9b\x94\ +\xe5\x1e\xf1\x96\xb89{\x8a%\x92\xe3\xe2Ju\xbe\xbe\ +\xeb\xcb\x8b\x87\xd1Z\xbf@\x90\x5c\xafU;\xcd?\x8c\ +a\x89X_\xdb\x14\xe4e\xc1\xedr\xf5i/\xe3\xa0\ +v\x13\xc3\x96I\x91\xdc\xe1N\xb8\xd5\x90\xd8\xbe\xa6\x87\ +\xdd\x926\xf7\xcdgu \xa3\xdfmPQ\x0b\xf7q\ +\xcb\x90\xd2\xaa\xda-Y;\x84\x0a\xab,!\xbf\xdc\xe2\ +sK-.Z\x8c\x14Z\x5c.\x92Wdq\x05%\ +\x16W\x5c\x01\xe7Q\xa1i\xbd%\x947\x10\xfe\x1a\xbd\ +W~\x8e\xd7\x1e\x832\xfd\xdc\x02X:\xe0C\xbdn\ +\xc7\xaf\xb74-O\xe1M\xf5\xfa\xdaum\xad\x05\xac\ +\x98\x16\x82\xdc\x01\xd0\x8d*\x00\xd1\xd4\xf7$\xafX\xa8\ +\x96\xbdQL\x1a\x8a\xd1\xbeKu\xfa\x129\xd7\xbc\x88\ +vj\xe9@/w\xa8\x17\xfcI\xe72)t\xaac\ +{J\xed\x90%\xb9\x92y-\xa6IT$\xd3\xebB\ +u|\xa5*\x97\x09\xdb*\xa7\x03\x10\xdae\xa4\xc5 \ +\xaf\x09\xa5\x1a_\xceXLB\xc5\xb0[7N\xe5\x17\ +>\xd0\xa4\xae\x96!\x14\xad\x16\xe9\x9ayr\x07@!\ +\xda\xdd\xab\x83\x08\x0b\xc6\xbc\x83\x9dJ'O\xact\x02\ +W?\xbeg\x85XWTs\xff\xe4\xfdA7\xd0\xe7\ +3\x81\x9d3\xc4\xb7\x19B\xc9,\x80X\x02\xb9W\x89\ +Y\xbb\xa4~'V\x86g(\x83i\x17\xb9UC\xb2\ +\x0fMBqm-\x93\xaa\x10\xc4k\xcc\xac\x92p-\ +\x0fk\xbd\xbb\x97\x9b\x1e\x00\xbd\xdck\xdb,\xaer\x85\ +\xd0\xb0\x09)\xc4\xdd\xaa\xe5\x9c\x96R\xc92\x94;\x8b\ +\xbf\x04\x14[Ic\xbdC\xa5q\x89\x0cV\xaaV\xce\ +\xb4\xd1\x93L&\xa9X\xca\xaf\xb1$IA\x8d%\xe6\ +W\x03\x84J\x80Pf\xb19Ev%\xa7\xd0\xae\x00\ +\x86+\xb9\xbc\xcf+\xb1X{\x98\xd16\x8a\x82\xa7\ +\xf1 \xcb\x90\xaem\xc8\x17\x00\x02\x00e\x0b\xa4Q\xa4\ +o:\xc2E\x93\x1d\x02\x9b_[\xce\xe5\x165Pd\ +\x1f\x89B3)\xa86bh>B\xed\x5c\xd4\xcc)\ +\x83A\xd0n\xd7 \x9e(8\x827\x80Sh>=\ +\x80'Sv\xa0r\xb74H\x90\x0aJRA{*\ +\x03\x9e\xc2\xa0$\x97\x01\x80\x92FK.i\xb0\x94\xd2\ +&\xa4\x05i\x06\x14XsA\xad\xc5\xe7U\xe2\x05P\ +4^!\x16\xafp%\x0a\x08\x04\x86h\xc1'\x89u\ +\xaf\x85\xee\xef\xb1\xb9\xe5x\x8cZK(l\xc1\xab\xf4\ +\xe0]\x08\x09\x18\x94\xbf\x11\x0e\xc3sd4\xe2\xb5\xea\ +\x15\x93\xb1tU\xe5hM^\x16\xe9J\xc3\xb4\x0dL\ +[\xc1\xcf\x97\xc4U\xc3W\xa6\x9e\xc2C\xeeh95\ +\xad\x8e`\x88\x1a\xff\x0a\xc6\xa9z\xe9\xaeU\xcci\x16\ +\x900;L(\xeb\xd6fU\xc6\xb7E}\x8d\xf0\x96\ +\xcd\x00\x88\xb1O\x82K\xa9c\xba\xf6\x18\xa8\xf8\xf5\x0a\ +\xdf\x7f\xa9\xb4\xd3.\x93\xc5].iCZ\xed\x0a\x02\ +\x00T\xb9\xea\xed\x91SM]:V\xa2\x93?t~\ +]\x1e\xa9\x95:h\x97J\xe9\xb3w\xacR\x87K\xe9\ +\x00\xa2\x19\x08\xde\xd45w\x14\x89\x94\x9f\xab=\xfc}\ +\x9a\xf5\xf3\x8a=\xdc\x9a\x7f\x83J\xadT\xac\xd0\x8b\xd2\ +\xbcx\x99\x0e\x18\x02\xedS\xee\xb3\xf9c{\x84\x80\x9b\ +\x84\x83\x07V\xbd\xf6\x14rH\x96@\x9e+\x82\xa3\xb3\ +\xfeu0\xb5\x80\x90\xa1\xa6\x14\xae\xc7\xae\xca\xb5T\xb1\ +\xd3\xef\x81@\xe1AS\xb1\xf24*\x97\xee\xc7\xdd\x13\ +\xf3\xfd\xc4~\xd7-K+\x88\xdaI\xdbA\xcc%\xef\ +\xcd\x04\x0c\x01\xbe+\x83\xefJ\xab\x06\xecd0i\xd5\ +d15\xdcWM\x1f\xef\xb9G5\x96\xd6F\xcd\xa2\ +\x06Wf\x1e\x87W\x88\x05\x0c\xb1\x02C\x14/\x80g\ +\x88uJ\xf7\x00\x10\x0b0\xe2\xf8}\x5cn\x05\xde\xa3\ +\xce\x92\x8a\xda-\xad\x82g\x84|e\xb7@\x0c!Z\ +\xd90\xee\xcc\x16\xc2\x1b \xf8\xdf\x01\xa0\xfa\xc0\x81s\ ++\xedv\x15\xc5\xaa\xdeM(iw\xc5\x9c\x89\x00!\ +\xa5z\xc8|\x8d\xd3\x10\xd55\xbc\xec\x915\x10:\xbb\ +w\x9eX\xcf\xeeC\xeb\xdc>\xb3\xe6u\xa5\xdb\xea\x18\ +\xbeLX\x80\x97\x0dh\xe7\xb5j\x12\x08#dV\xc9\ +\xcdZ\xfe\x1d\x03\x04C\xe7 \xe8B:\xcc\xdb\x19\xd4\ +\xea\xd2\xf9\x18\xb7\xf9\x92|>^\xdb\xa4\x19\x10\x15K\ +\x04\x19\xd4\x1c\xe2\xba\x8eg\xd3IS\x95\xa4PU0\ +\xfaJ\xac\xb5\x1c\xab\xd5!D:[ \x0fr%\xcb\ +\x0f\xf7.[V\x17\x04\x88L\xc0\xafE#\xe2\x9f\x03\ +@\xadJ\xbb@\xb3\xb6Y\x03\x82\x94\xba>R\x93Q\ +\xd39?y#[^{\xfa\xf5'\xd6\xb0\xf3\xc6\x1a\ +w?X\xdd\xd6\xe7\x10\xc5\xb7p\x85\xe7\xb8\xba\x07\xb0\ +j\x80\xa0\xe2\x0f\x91#\xb9PGt\x86\x01\xc2 !\ +\xc1+\xb4LV}\x01\xb16\xad\x03\x97H\x5c\xd4!\ +\xd8j\x8f\x96\x05;\x0e\x0f\xdc\xc4Jn\x03\xd2;V\ +0|\xcb\xf2\x06\x8f,\xa7\x17\xa5t\x12\xea \x97A\ +\xee5\x13\xf2\xa6\x8c&C\xc5\x15\xd5\x84\x1b)B;\ +u\x8b\x18\x97\xc2&\x80\x00\x18\xf2\xb5\xf7\x007\x9fW\ +\x81\x94#\x00\x02\xf7\xaf\xd78~\x8e\x07(\x89|6\ +\x05\xeb\xf7\xd5L:\xe5G\xbb\xf7-\x8f{\x88\xf6\x1e\ +Y\x88T5\xa0\xba\x86\x06u\x0f\x13+?\xaft\x86\ +\xf0z\x1bM\x07x&B\x1c\x9e \x09KM*\xeb\ +r\xaf)\x80=\xbd~\x1c\xf0.\xc0\xb3v\xdc\x86\x9a\ +\xe1\x83\xe76v\xf2\xdcF\xaf=\xb1\xbe\x83{V\xb7\ +\xa2\xb5\x8c=\xb2\x02B\xf4\xd8!\x19\x06\xe4PF\x00\ +g\x13qW\xf6\xa6\x8d\xad:\x87\xc0\xab\x19$\x9c\x02\ +~\x85\x0b5\xc1\x88QW,m\xceL\xac\xed\x86\x88\ +\xf4\xe3\xaa\xc7,\x9b\xfcWn\xbaD\xf9\xfc\xc2m\xab\ +\x82\xb0U.\xea\x0c\xbaS\x5c\xb7N\x12\xd5qk\xf0\ +\x04\xed\xf7W\xf5M;\xfcA\xe4\xaaY5\xec\xaa\xb4\ +Q\x95\x0d,T\xf5~\xb5<\x9c\x06V\x16\x867\xc8\ +\xc0\x0bduN\x03\x80\xabV\xbep\xc3\x1a\xb6\x9eZ\ +\xdb\xd1\x07\xeb\xbc\xfe\xd1:\xae\xfd`-G\xdf\x03\x88\ +o\xacj\xeds\xd7f\xbe`\x82J\xd6\xb0\x88\x87\xd9\xb5\ +\xda\xb5\xdb\xd6\xb2\xff\xc2\xba\xae\x7f\xb0\xbe\xb3\x8f\xd6\x0f\ +\x08\xfa\xef\xfc\xc1\xfan\xfff=\xb7~\xb3\xae\x93?\ +Z\xfb\xfeO\xd6\xbc\xf1\xad\xd5-\xbf\xb7\xca\xd9\x17\x90\ +\xcf\xc7\x84\xa7\x07V4\x86\xf0Z2\xf1\xc8\x01\xa4b\ +^\xd6\xfe\xb9\xd5\x01\x9a\xc6\x9d\xef\xacy\xffGk=\ +\xfc\x09\xf9\xc1\x9a\xf6\x00\xc0\xc6[w\x08s\xa1\xe6\x1f\ +H=\xb3T>&\xbe\x22O\x85B\xbd\x9d3(\xdf\ +\xf1\x0c\xd5\xdb\xc1\x17\xc8\x1etB\x98J\xadt\xd6\x8e\ +6\x8d*\xadS1\xaa\x8f1\xc8P\xaa\xa7\xcf\x10\xab\ +\xfdp\x8c`\xeb*\x00%+B\xe1\xda\x1f\x99\xeb\x1a\ +>\xde \x8b\x22\xa7w\xfd\x15\x8e\xed\xa2\xd9\xa3\xa6\x94\ +?e*X\xaa\xcb\x14T.\xcew\xb9\xfd\xfb\x18W\ +\xb2t\x03\xe1\xd5\x81\x9b\x85p\xad\xda\xa9\x03\xabW\xaf\ +\xa4\xd9\x13\xab\xc5C\x17\xaa\xe1v7Y\x01\x86\xa0z\ +\x0au!Ok^\xe7;VP8\xd6\xaf\xcc\x03/\ +)q\xe1\xe7\x5cRI=\x95\xa1\xc4\xa4\xaa\x22F-\ +\xe2:\x17]\xd7\xa8\x001=kx\xcb\xc2\xa3\xbb\x16\ +\x81\xe1\xabS\x97v\x05\x05\x07A.nH\x07/\xa7\ +\x92\xdb\xba#Z@S\x22\xb1\xcc\xabF%>\xcb\xcd\ +\x90\xc7'\xe2\xd6<\xe1\xbd\x03\x81j\xfd4\xa8\xbd\xa0\ +\xbb\x97A\x1f\xe4\xa6\xf1\x02#+\x10\xc1\x03,\xf5\x0c\ ++}l\xedGo\xac\xfb\xc6\x97\xd6{\xeb;\xeb?\ +\xfb\xd9\x06\xce\xfeh\xfd\xa7\xbfY\xdf\x8d?Z\xf7\xf1\ +/\xd6\xb1\xf7\x835c\xd1\x0dWQ\xa6\x9a?\x22\x8d\ +W\xbf\xb2\xf6\x9do\xad\xfb\xe0{\xeb=\x06<|\xb6\ +\xff\xd6\x9f\xac\xeb\xe6o\xd6q\xfdWk;A\xf9\xfb\ +j\x12\xf9\xc6*Vt\x82\xc9\xa9\xe9\xa8\xfa`\xd72\ +!\x0b\xf0_X\xbeS\xbe\xe2#\xf7\x09hS\x9a\x08\ +\x0b\xad\xa4b<\xafkx\xa1B\x0e\xa5\xc5*\xcc \ +\xdb\x08A\x90\xb3U\xef7\xa8\xe2\x8e\xf3\xbe\x08Xv\ +\xb0\x93\xd4\x14\x00\x84\xe0!\x11\x94\x9d3\x08\xd8T\x98\ +1z\xc7r\x08K\x91\xb1;\x16\xc6+\xa8\x8eA \ +Pk\xf7tM\xcfb\xa9\xea\xc4\xe6\xa4\x19\x01tI\ +\x00,\x19IQA\x0e\xa9of\xe7\xbcE\xdc\xe4\xdb\ +\xb2\x855\x19\xd7\xb9j\x01\x00\x97\x8e\xb2\xd3\x90\xd4\x06\ +\x94^\xb7\x88\xc1\xcd\x91\xefk\xfa~\xd2\xcb\xfb\xc5\x9d\ +\x5c\xea\xa9\x13O\x14:\xbd\x99A\x81-&\xa5m\x89\ +\x0bx\xedB\x5c-`\xf7\x1aV\xae\xa5N\xed\x02\xe2\ +\xe1\x10m\x11\xd3yv\x17\xe7\xe1k\x8d<\xd9\xcd`\ +q\x83nzQ\x02\xc1Qy\xb4\xfeF\x8cs\xafz\ +\x10\x80\xa2R+o\x070\xee\xb3\x0e\x06\xde\xd8\x8fE\ +\x0d\x935La\x1d\xcbX\xe46\xe9\xe0\x09@\xb8\x03\ +\x10\xe0\x04\x87o\xad\xfb\xdaW\xd6w\xeb{\x1b8\x05\ +\x08\xa7\xbf\xa2\xd4_\xad\xe7\xfa/x\x84\x9f\xad\x030\ +\xb4\x0b\x10'x\x8a\x9b\x7f\xb2\xa9\xfb\x7f\xb3\x85'\xff\ +l\x8b\xcf\xfe\xd5\x16\x9f\xff\x9bM?\xfd;\xe1\xe47\ +k\xbd\xf6\x9d\xd5\xef\xe15 \x9aE\xf3g\x96\x0bw\ +\xc9&\xbb\xd1Ii\x8a\xad\xae\x22Y\xbbq%\x9a<\ +\x11\xb1\xe4\xf7\xda\x94\xa9\xbe\x89j\x9f\xa7\x1a\xbc \xde\ +Bg\x1ahuPk\x0c\xd1\xa9\x9bn\x8d!\xaa\xb6\ +\xf7S\xeao\x8cu\xab\xa2\xc7\xb9\xf9}g\x8dY\xbc\ +\x86 \x81r\xcb:\x926wR\xd3\xb8O\xdc\x8e\xea\ +\xc8\xf8]>\x7f\x1d\xb2\xba\x8b']uqZ3t\ +*\xd3v\xfb\x0b\xb4\xf9T\x00he\xfcZ\xb1`\xb5\ +\xb1\xc5S\x09\x94\xee\xe0,\x8c\xccY0\xd6\x9dJz\ +\x99R\xc7\xe7Pz2\xdc(I\x8a\xaf\x82\xf4\x91\x8a\ +\xbacgH'\xf5\x9a\xa0\x0d&\xae*X\x15\xc1\x18\ +'\xd7\xd2Q;\xaeGPJ\x9b\x0a\x05\xbd\xe9^)\ +Xu\xed\xae\xb8R\xacZ3N(^u\x82^w\ +\xd0\x7f\x88\x88W\x1a\x0f\xe0\x1aE\xa9v\xa0\x83\xfc\xfd\ +BT\x89\xa3\xbf\xe9\xb3\x8e\xf0\x88\xacM\xe0\x9a\xb45\ +\x8b\x1c\xb7i\x10\xf79B\x9a6I\xca\x07\xb2\xe1\x1d\ +\xf9\x13\xa4\x86:?x\xed\x1e1\xfb\x99\xb5\x1d\xbc\xb1\ +\xce\xe3\x0f\xd6}\xf2\x15\x80\xf8\xda:\xaf}c\xed\xd7\ +>Z\xfb\x8d\x1f\xad\xe3\xd6/\xd6M\x98\x18~\xf0W\ +[|\xf5\xaf\xb6\xfe\xee?\xdb\xda\xdb\x7f\xb7\xe5\xd7\xff\ +bSO\xfel\x1d7\xbe\xb5\x9a\x9dWVJ\xea\x94\ +\x07w\xc9\x06\xd0\xfe\x0eU\xc82\x08Xy\x1c9q\ +,\xe9\x96\xfa\xf1hBD{\x03\xe5\xbdR\xb4\x8b\x07\ +\x17\xaf2/uP\xd3\xd15\x1e\x00\xf0\x86\x22\x8f\x93\ +\x84\xc4\x19\xb2\x0b\xb2\xa1\x5c\x1dqCZ\x1c\x99\xba\x0d\ +\x08\xce\xe0N\xb7\xc8>\xae[\xb0\x070\xf4\x1c\xb9x\ +,B\xaac\xdb\xd5\xb5m2^\xe9g\x17c\xdd\x03\ +\xdc{\x00@\x17\xe3\x8fB\x9bb\x83v\x8d|\x02\x00\ +\x17S\xbe\xaa\x1e\xb9\xaa\x0f\xcc`0\xd4G\xc8u\x02\ +\xedSQ\xc4\x0enOK\xaf\xca\x10\xd4N]\xc0\xc0\ ++h\xb5K\xcaw^\x83\xc1\x13\xdb\x96\xf2\xbb\x17x\ +\xd5\xba\xff4\xa9\x0d\xa9\xa3\xbaV5\xc0\x0b\xeaQ\x84\ +\x8a,\x95B*%#3\xd1*\xa0\x8aJ3;f\ +\x89\xa9\xb0k\xfe7S\xc5\xa6\xfd\xa4n\xc3X\xe3\xf8\ +\xb6\x85\xa7\xf7\xac`\xf1\xd0\xaa\xd6\xafY\xdd\xe6u\xab\ +Y?\x86\xe5\xef[\xc1\xb4\xb6\xb5\xcb\x9a\xb1\x8c&\xa5\ +\xa2\xc4\xf6j\xe2=\xd6\xefu\xe1\x82\xf0a\xf9\xca\x8b\ +\x05rw@\x04\x0aw\xc0\x05\xe0\xda\x8e\xe5\x8aI\x09\ +\x8d\xb2Pg\x08\x840-\xee\xb8Jg\x81\x14@\x07\ +\xe1\x07\xd9:\x17\x99\xdc[\x07P\x14\x12\xdfK\x94\xa5\ +\xa8\x00D\x95?\x0b:\x1f\xe9\x85\x15\xce=s\x05\x22\ +\x02IX-\xe6U\xf0\x01\x00\xdc\xa9 (\xdc)\x05\ +\xde\xa0n\x9f*\xd4Hi\xdf@'KX?\x06\x89\ +\xeb\x96E\x0b\x00J\xdb\xdc\xa1\x8f.\x04\x13\xb6\xe55\ +\x94\xde\xc9C\xe0\xee\x93D`\x11\xb5\xd4Q\xdf'\x1d\ +w'\xb2\x97\xaa\xddUR\xbe\xeb1\xa8]U\x07x\ +l\xd5J\xee[\x8c\xeb\x80\x85\xeb\xf7\x94\xafmCr\ +7r\x19X\x06\xee\xc6-\xa2\xc8B $j)\xef\ +C\x99Z\xea\x0cB\x14\xb3q\x89\xe1!-\xb3\xc2z\ +y\xd56(u\x08\xd5\xf1\xe8\xae[6\xdeCLZ\ +e\xe5\xea\xc9\xab\x1e\x81\xb2~\x9d\xdf\x97\x06\x17\xd0Y\ +~\xaeEku\x17\x0f\xaa\x06M\xb0\xf0Zn^=\ +t\x9dh\xb2BG\xa4\xea\xd8\xb7\x01\xdc\x9dz\xf9\x03\ +\x12\xbcEr\x1b\xf7\xd6\xc9\xf7\xf5N[\xe6\xc0\x0c^\ +\x88\x10\xd2?\xc5\x83\xa9t\x9d\xfb\xc7\xb3$\xaa\x13\x99\ +k\xda\xc8\xf7j\xd7\xef'\xa6\xaf)j\xad2\xea\xbe\ +T\xc6\xae\x9dP\xdc\xb7\xac\x1f\xc5\x8b\x95{\x87>\xa8\ +N\x81\x01\xe7s\xe9J\xf5 \x87\xfefR2\xb5\x8b\ +%{\xd2\xb2x6\x80\xd7A\x91\xf9\xe3\xb7\xcd; \ +\xf3\xa5\x95/\xbf\xb5\xf2\x95wV\xb6\xf2\x16\x0e\xf2\xda\ +\x8a\x00A\xc1\x9c\x08\xe0}\xf8\x802\x80\x13\xc0s\xc0\ +8j^@\xa2\x94\xd0\xab\xdd\xd7^\x08\xb5\x81Mj\ +\x5c\xf4t\x22\x97\x8e25Q$\xf2\x97\x06/\x10\xf7\ +J\x15y\xe4\x1e]6\x86\xbe\xdc\x16t\x94\xef:\x97\ +\xf1|\xee\xffd\xc8\x18\xb6\xdc\xbeZ\x00\xf8;\xb6I\ +\x155=\xae\x1215\x98\xde\xb0\x18\xa5\x09Z&\xd4\ +\xd6\xe6x\x5c\x88\xa6\x0c5\xc5\xaaT\xc8\xc5\x1c5+\ +r\x1b+\x18\x04\x18\xa9\x5c\xb4v\xb9\x04q\x85\xda\x1d\ +\xa4I!m|\x10\xc9\xca\xd6\xb61\x11'H\xa3\xda\ +\xc4kyW[\x97t\xf8B\x9av\xe5J\x9aG\xdd\ +t\xb3\x94\x9a\xa4\xd5+\xd5\x18~\x9a\x8e\xee\xc02\xbb\ +\x11Y(\xaf\xea\xdf\xc7\xdf]3\xc72\xbd\x22\xe7\xfb\ +\xe0\xdd\xc9\xa0j1W\xc7w\xd4w\x02bO\x12\xd4\ +\xd0AM'\xf9\x9b>\x13\xcf5\xbc\xef\x04`\x88V\ +\x175g\xe1:\x81\xe9\x189\xac_\x80\xfd\x04Z,\ +^g\xf4\xa7\xe36\xd3\xc9\x93\xd3\xf1\x84\xe9\xa4\xb4\xda\ +\xd1\xe4\x94\x0f#\xcf\x84(\xea\xf8{\x9d\x0f\xac\xd3\xd5\ +sGN\xacH\x85\xa6*\xcb^yi\x95:\x80z\ +\xfd\x9d\x13\x95n\x95\xae\xc8\x13\xe0\x05\xa6\x1f\xc0\x13N\ +\xdd\x92\xb5\xdb\xd6&\x00\xb85\x0b<\x806\xc2\xb4\x12\ +\x06\x9aW\xf1\x84R>\xee_\x06y\x0e\x00q\x00\xdd\ +\xb3\xbc\x91k\xd3\x0f!O\xe15\x99\x9f\x93\xc8\x0c4\ +\xe9\x96HJ\x9b\xe0\x84\xf7\x18\xb0\xba\xbd\xab\xd6@\x8d\ +\xbd\xb5\xe4\x9f\xd1J\x18\xd7>K\x1dx\xd9@\xf8 \ +\x83\x88\x89\xab\x80\x11K\xb4*\x05\x82\xb4@\xa1\xedQ\ +\x1e\x08.\x88\x87@ \xf4\xc9z\xa7\x19\xa8Yn\x5c\ +\xb1z\x09\xd6\xbb\x86\xe5\x0b\x04[\x16\xea\xc7\x0b\xa8\xe6\ +^!\x02\xf7\xefN\xf2f\xd0\xd4^US\xc4\xb2z\ +7[\xa85\x02\x94\xac\xae\x1eq%\xcd\x16[\xdc\x08\ +1k\x22.\xab\xdd\x09\xe4\xacL[\xb2\xb4CW\xfb\ +\xf4\x1b\xbd\x8e\x9aH\x82V\xeb\xf8\xbc\xa6e\xe3\xf4w\ +\x00\xa1\xedY\x97\xb5s\xa7\xbc\xc9\xc9\x95r\xbeO]\ +\xc0\xb4\xc1\xb3R\x80R\xb3\x06\xafa\x83\x00\x90\xa4Y\ +\ +\xb9\x7f\xbeX\xb5{:\xf3G\xe7\xd4k\xb7\xabw\xfa\ +$i\xd1\xb0\xb7]\xdc\x89\xab\xf4\xdd\x01\x04\x1b\x0c\x12\ +\x5cA\x9fo\x9b\x03\x08\x0c`# \xd02.\x00H\ +V\xd3\x22Y2\x00P\xef\xdc+\x05\xea\xa6U\x07\x10\ +\xb4\x1b\xb7\xfe\x5c\xf9\xb5\xe7\x00\xb8P\xbe\x07\x80+\x80\ +\xe32\x00\xb8T\xdc\x8a\xd2\xdb\xce\xa5\xf5\xd3\x1aw\xac\ +z\xf5\xaa\x0d\xec'9\xef!\x04\xe84\x8f\x7f\xd1~\ +FG\xc3\xa6K\x18\xcct\x065\x1d\xc5g\x90+g\ +\x10\x163PH\xba\x04\x10\xb8\xbf\xf1\x99\x0c,Mg\ +\xee\xeb8y\xed\xf9\xcfF\x99\xda\x09\x1c\x1d\xbfa:\ +\xad\xdbm\x03\xd3!\x17d\x06\xd1\x09\xc9\x91;\xeb \ +G\xbd\x95D\x92\xe1H\xfa?\x85\x1b\xed]\x14\xc7\x10\ +\x89S+Z\x85_\xb5\x8e\x91b$\xcaP.\x00\xa0\ +\xc6\x0f\x0a\x03^\x9bZ\xbc\x81\x13\xbc\xb3\x08\xbb\xe6\x03\ +x\x06\x85\x02\xcd\x1e&\xab\x8c_\x93u\x22\xb0J3\ +?q\x05\xfe\xce3+\xe5M\xd0\xca\xa0\xf6>2\x16\ +1\xf1M \x0f\xcb\x8c\xaf\x1f&\xee\xfc.\xf6\xa3|\ +m\x0b\x13\xf1s\x9d\xc3 <\xae\xe9A7)\x906\ +B\xf20a2\x80\x9cQ=$\x83\xc0\x83G\x95\x12\ +\xb9\x87\xc5\x1b\xf4\xc3\x09\xc4\x92U&\xa6\xddA\x9dX\ +\x8d\xbc\x86\x80 O\x00\xd8\x92d\x99\xb8~\x0f\x04u\ +\xe7\x00\xf0\xe4\x12\xca\xbe\x8c\xd2/\xe7\xab\xe7\xae\xac^\ +\x9f!T\xe0\x1d.\x94\xffYI\xbb}V\xaa>\x7f\ +\x9d\xae\xe7\x9f:_\xc6^t\xe9\x02\x14\xde\x0a\xde\xb9\ +\xf0\xb3W\xad\xa3>DjFE\x18`\xe0\x9d\xa0\xe8\ +4\xd8\xb6\x13\x5c\xaf\x13\xde\xa7\xe2&S\x01C*\x03\ +\x9dJH\x10`Dl\xb5mNg-eiZ\x18\ +\x00\xb8\xdd;\xc3\x9a\xf5;\xc4\xc2\xb5X\x06)\xd6\xe4\ +\x91z#\xa8.QS\xc5\x9aO\xd0\xc4\x1a\x99\x94\xc6\ +Ss,\x8a\xe7\xca\xb6t\x91\x14P\xd5O^\xda\xa4\ +\xc1\x04\xf4\xbc&Wz\x92REv\x02\x00RP~\ +\x0a\x03,Qc*\x15r\xa8TMi\xb1fF\xd5\ +\xb4!K\x0a\x1f\xf5\xb6o\x85\xb5\xb1\xa6o\x1f\xc0\xef\ +`$(\x9c\x8cB%n:B\xc7\x1d\xdf\x8eBd\ +\xf5N\x5cvD\x86\xe1@ \xc5\xe8Tt\x8c\x10\xe3\ +\x8b\x93`\xe9\xf1b\xf6\x80\xd3\xb5tq\xa9 @\xf8\ +\xa4|\xadJ\x02\x00\xdd\x97&\x81\x00\x808D\x8a\x8a\ +N\x00\x81\x97\xbaJ\x88\xf9\x9aY\x04\xb8:e=\xb1\ +^M!&P>\xafx\xf6\x04\xf8YL\x22\x16\xae\ +9g\x89;\x18\x8a\x9bR\x1f\x1b1b\xb9*-r\ +H\xf1nkr?\xb1]\xee]\x9d+\xc9\xfde\xed\ +\xd1\xf1C\xa7x\x1d\xc7\x1e\x1e\xe5oC\x9b|F[\ +\xc4E\x0eQ\xf8\xe0U\xcb'M,\xe4oE#\xbc\ +\x0eoZ~\xff\x8aE\xbaf-K={\xea\xff\x01\ +\x02\xf1\x01)\xfd3b\xfeg\xe7\x00\xb8\x5c\x80\xe5K\ +\xf9X\xb1\xd7\xe0P-\xd5\xa4\xf4.\x94\xdf\x83\xf4\xda\ +%\xd5\xbb92\xab\xd8I*\xa4\x936\xca\x08m\xfc\ +\xdd\xe5\xfdj.\xa9\x89\x1f\x95[\xa9\x0b\x89\xa6~\xf9\ +\x9c\xbah]\x9c\xe2\x9d\xc8\xff\xa8\x05]R\x85\x06\x19\ +\x17\xcb\xa0{5z\xe7B\xecu$Li\xad\xa6\x89\ +\xb1n\xb7\x19EE\xa9\xc3\xc8\xc01\x1e\xef\x00\xe5\xc3\ +\xec;\xb6\xe0H\xe4\xf7\xa4Z\xee\x087\xf7\xba\xe1D\ +\xe7*\xb9\xc3\xb34\xa7\x02Q\x96\x91\xc9\xd8\xd4\xb0\xdb\ +\xedADI\xf1R\x94\xe2\xb5\xc2\x03\xfc\xc0u\xf6r\ +`\xe0\x9ep\xff\xc9\x10\xf4d\xcd^\xf2;\x15\x97\xb8\ +\x0ej\x02\x81\xd6\x06H\xe9U\x83\xa8\xdfy'\x9f\xab\ +\xef\x82\xdc\xbe\xc2\xc79\xa8\xf8\xfeD\xae\x97\x00\xf8b\ +R\x94N\xb8x\xa1\x19/M\xf5\xe2\xa6:u\xd0\x13\ +\xae^q\x0e\xe5\x8b\xdd\xab#\xc8\xc5\x89\x1f\x91\x91=\ +\x8b\x8e\x1dX\x1e\xca\xcfG\xf9y\x13\x00at\x97\xbf\ +\x83|\x95$\xf5\x00\x9enx\x02\xee_^@\x07'\ +\x16\x8d\xefY\xe9\xc4\xbek\x10\xa53\x04s\xfb\x97,\ +\xd49c\x01\xd2\xc2Truu\x09\x8b\x13\xa9\xc3\xda\ +/\xa9k&\x22\xe5_QGP\xe7\xc2\xd5C\x08\x92\ +\xaa\x82F\x14v\x05\xe5]\xc6b/c\xc1W\xb0\xd8\ +8\xd7\xff\x86\x87u\x82\x9b\x13\xcbE\x89\xde\xa2\x88\x1a\ +/j&P+\x7f\x84:\xf7\x9e\xf8\x8a\x88l\x094\ +\xf1\x02\x8dZ\xb2\xa9S\x09 P\xa3F\xb7\x98\x82\xeb\ +U\xd7N\xa5Ub\xda:\x90!\xbd\x97g\x1c\x14\x00\ +\xb4R\xeaUQ\x87\x01@X{\xf2\xfb\x04\x84#\x04\ +P\xf4\xdd\xe0w\xa7\xde\xb4\xf0\xe0)!\xe2\x16\xef\xaf\ +a\x18\x87\x84Q\xaf\xc3\xba\x1ap\xc9\xe0\xd4=L\x8b\ +3\xee\xf8{\xbdb\xb9Z\x14rk\x03\xfcN^\x22\ +I\xf7\x80\xfbV\x88Vog)W\xe0p\xab{Z\ +\x0f\xa8U\x95\xb0\xb7&\xe0X\xbe\xd2z\xc7+Tz\ +\xa6\xb5\x01=\x0f\xbf\xe7\xef^\x97\x10\x01@\xeeB\x84\ +D\xcaG\xe9\xda>\xadrj5!\xc8F\xd4\xe0I\ +;{\xc3\xb8\xf1\xb0&~\x90\x88\xce\xf0\x19\xd9\xb1<\ +u\x07A\xf2\xb0\xee\xa8&\x83\xf8\x8c\x0eTRg\x11\ +\xd7V\x8e\x98'\xa2\x98;\xec\xed\x15,\x99:B\x0e\ +\xadhB{\xdb\xd7I\xa3\x16\x5c\x09\x99N\xe2\xd0$\ +\x86,\xf6JI\x97])\xd6\x5c=RDL/\x16\ +0\xe4\xd6{\x9c\x82\xdcC\x80\xe48\x1e\x22\x0e\xeb\x88\ +#\x97\x8d\xaf\x9f\xe7\x814\xa1\xb5\xf8;Y` \xf9\ +\xbd\xe6\xd3yPgI\xce\x9aD\xbap\x7f\xb8t\x0d\ +F\x1c\x00\x89\x05\x10q(]\xe2V\xcf\xf43\xa0Q\ +-]\x1c\x96\x13\xcf`ky;\x19\x22\x9c\x06\x01\xce\ +\xe0\x99\x02Z\x0a\x86\xffD \x80Q\xedNV_\xe5\ +q\xed\xf5\xd3\xa6\x8d\x07\x18\x86\x96\x9e\x9f[\xc9\xec\x1b\ ++\x9b\x7fg\xe5\x0bo\xadl\xe15\xe9\xa2\xa6\x88\xef\ +Y\xee\xd8-\xc6\xf1\x84\x90\xaa\x89 -\x09{L\xdd\ +\xad\x0a^\x00\x00\x8f,q\xcc^i\x1daZi\x9e\ +\xab \x92\xf25m\x8f\xd2=\xe5{\xab\x81z\x9f\xa4\ +T\xb2j\x1c\xa5C,\xdd\xb3\x09\x04\xe7\x00\xc0P\xe2\ +\xf5\xec\x8cA<\xff\x1b\xe3\x8e\x82\xc3\x0d\xb9\xa5`\x94\ +\xa7]8Y(22\xb8iQ$\xd7\x89\xe2\xf8\x06\ +\xf1\x5c1\xfd\xaas\xeb\xb9r\xe5#[\xc8\xb6\xb3\xf0\ +\x5c\x00\xa0]\xc0jx\xa4\xb0\xa1\x87rm\xe5\xf0 \ +\x11\x88Q\xde\xe8\xa1\x15\xc0\x88\x0b\xe51\x00MD\xfb\ +\x00\xd5L\x02b\x98\xaa\xbcU\xae\x09\x85\xe8\x06]\x83\ +Du\xca,\x1f\x81\xb8q\xd3\x92\x0a\xdec\xd9j\xa8\ +\x98\x88b\x13\x9b\x97\xce\x17NV\x19$O\x92Z\xd6\ +\xf9\xf9*\xb2aIm\x88\xa6T\x11\x1d\xf9\x9e\xcc\xef\ +5\xc3\x96\xc2g\x92\x9b\xf8l\xe3\x12\xa0\xd0\xfa\xc7,\ +\x03\xa14\x0c\x8b\xd0\xc0\x9d\xaf\xa1{ \x1b\xb5X\x94\ +\x1f'\xf2\x84B\x925C\xa8\x850m3\x1fF\xf9\ +0\xff\xfc\x99{V2\xff\xc4\xca\x17\xc9\xf9\x97\xdfX\ +\xe5\xca;\xd3\xf1\xf9\xb5\x1b_[\xc3\xf6\xf7\xd6\xbc\xfb\ +\xb3\xb5\xec\xfdb-\xbc6\xf2s\xed\xd5\xaf\xacrU\ +{\x04\x9f\x93\x1e>p\xdb\xd4\xc5\x1f2\xbb\xb6\xe0\x06\ +xb\xe5\xea<\x9f\xeb<&\xe5\xb7\xf1\x9e1Jn\ +;_\x16\xc6\x0biB\xc8\xb9~\xac_n_\x93:\ +i\xea\xaer.)\xf5\xaa\x09\x98=\x7f\x1em\xec\x95\ +7\xd0l\xa1\xc2\x08\x1e\x12\xe5{\x02\x00\xd2\x1d\xd9\x83\ +\xe9\xc3\xd2}\xbd\xcb\x969\xb0\x86\x8b\xd7\xf6.\xdc6\ +\x96Z\xac\xd7Q,\x1e\xa5\x87\xfbp\xe9\xbd\xc4\xef\xbe\ +\x15\x00\xb1fy(1\x0f H\xa2\x10\xbf\x08\x8c7\ +\x1b\x00x$\x88\x94\xa7[\x80 l\x0c\x1cX\x8ev\ +\x09+c\x807D\xf0\x08Y}\xea\xc6\xa19j\x11\ +\x17\x11\x18\x89&+\x18\xe4\xa65O\x1aW-\xad\x1e\ +\x16[G\x1aS\x8f4.3\x08kN\xa1Z4Q\ +\xbb\xd6\x0bI&\xee\xa6t\xee {\x96\xda\xb5oi\ +\xddG\x96\xd6s\xfcI\xd2\xf99\xbd\xeb\x10\xa0\x1f\xe0\ +\xed\xf8\x8c\xce\xd4k\xd39\x00\x1b\x1e0TE\x030\ +t\x0fI\x0ch\x22\x03\x1b\x8f\xc7\x88\x97\x07\xd1D\x0d\ +1=]S\xb6jJ1r\xcbr&\xeeX\xc1\xec\ +C+[zaU\xeb\xef\xacn\xebKk\xdc\xfd\xd6\ +Z\x0e\x7f\xb0\xee\xeb\xbf\xda\xd0\xed\x7f\xb2\xb1\xfb\x7f\xb7\ +\xa9\x87\xff\x86\xfc\xbb\x8d\xdc\xfd\x17\xeb\xbb\xf57\xeb8\ +\xf9\xa3\xb5\x1c\xfch\xf5;\xdf\xb8\xad\xddej\xbe\xad\ +\xbe\xcb#\xd7\xf1\xba\xbb\x8e#\x880:n\xc0\xd8H\ +\xf9)\xed\xc4\xf4V\xa4E\xf3\xfa3.\x1bI\xd3L\ +%c\xe6\xc3\x10\xfc\xad\x8c%<\xc3\x9b\xe2\xdd\x01H\ +\x9bn\xfc\xf4,\xee\xd0\x0b\x9eC\xab\x81nE\xd0\x89\ +W\x15\xa4mc1iX_\x9a\x9a)\xb5M38\ +\xb3\xa47j\xf4\xb0\x82\xcb\xde ^o\x13\xb7\xb7\xad\ +x\x0c\x00@\xecB=K\xae\xe1S\xa8\x9b\xcf`\xbd\ +\xd1\x01\x800\xb8\x86\xac[\x0e\x9eA\xed_\xdc\xe9\x97\ +d\x0cY=R\xfe\x9e\x8bw\xe1AR$\xeduW\ +\xca\xa4\xfd\x80\x10\xc9\x00\xdeF\x0bEnZ\xd3mS\ +\xd2\xea!\xee\xb0\xe7\x08ph\xe3\xa4:Z =\xd7\ +\x01\xca1!E\xfb\xd9\x0f\x9c\x12\xd2\xba\xd5\xa6u\xd7\ +\xbd\xa6u\xeb\xe7}~F\xb1\xdd(\xba\xf7\x1a.\xfa\ +\xa6\xf9\x07\xce,s\xe8\xaee\x0e\xdf\xe3\x15\x19\xbc\xeb\ +~\xe7\xeb\xbf\x89\x05_G\xae\xc1\xe4\xbd\xf63\xea\x98\ +\xe1\xda\xa7\x00\x12_\xc7>\x83\x0f8\xf0\x22)\x02\x9a\ +S\xfc\x9e\xfbl\xf6\xd0mr|\x9d\x9f\xf0\xd4\x8a\x17\ +\x9e[\xc5\xca+\xab\xd9xg\x0d;_\xa0\xd4o\xac\ +\xfd\xe4{\x1b8\xfb\x83\xcd>\xf9\x9bm\xbe\xff?\xed\ +\xe0\xeb\xffa\xc7\x1f\xff\x1f^\xff\x1f[{\xf7?m\ +\xea\xe9\x7f\xb3\xa1{\xffj\xbdg\x00\xe1\xc6o\xd6t\ +\xf8\xbd\xd5l~ne\xcb\xcfM\xcd1\x9c'pe\ +b\x22\x87b\xf3(\xae\x05KGt\xa6\xb3\xeb*\x06\ +I\x0f\x02\x90l2\x8b0\x86\x16\xc5\x1b\xe5\xf2\x7f\xd1\ +!\xd5D\xaa\xf4\x8c1\xeb;a\xcc~_\x17\xb8t\ +n`\xca\x16P<\x04S\xe2J\xc2RT\x0e\xed\x8a\ +\x0f\x87\xb9\xc8\x08\x17\x9f\x80\xf4\xcdY\xc1\xc8*\x8a\xdf\ +p\xca/\x1c\xd9\xb4\x1cu\xfc\xc0Kdv\xcc\xb9\xb2\ +\xf1\xac\xce9\xcb\x06\x08\x02E\x08\xcf\x11\xc2;dk\ +[\x18\x8a\x15w\xc8\xee\x917\x808\x92\x1a\x85\x05\x82\ +\x01\xd2$\ +\x22\xad|Bz\xf9\x84\xf8\xfa\x98l\xe3\x01)\x17\xca\ +\x84H\xf9PXz\xdf\xa1\xa5\xf5\xa2\xf8\x9e=\x14\xce\ +\x83\xaa\xb8\xa2\x1f\x05\x0e\xde\xb2\xac\xe1;\x16\x1a{`\ +\xe1\x89'\x963\xf9\x1cy\x81\xab~\xce\xef\x9eX\xd6\ +\xc8\x03\xc0p\x87\xf8-p\xa8y\xc4]~\x7f\xdf\x22\ +c\x0f\xb9\xc6C\xc0y\x8f\xdc\xfe\xcc\xd4>\xc5\xdf\xcb\ +w\xc2\xea%\xb2z\x1dI\xaf\x13\xc9uRJ\xe1\xf4\ +c\xcf\xedc\xbd\xd5k/\xacn\xe35\xee\xfd\xad\xb5\ +\xec\x7fn\xfd7?\xda\xf2\xf3?\xd9\xb5o\xfe\xb3\xdd\ +\xfb\xe5\x7f\xda\xa3\xdf\xfe\x7fv\xe7\x97\xff\xaf\xed~\xf5\ +\xbfl\xf6\xe5\x7f\xb5\x91G\xfff\xfdx\x86\xae\xdb\x7f\ +\xb1\xd6\xeb\xbfX\xdd\xeeWV\xbe\xfa\x92Pr\x97\xf4\ +Y\x00P\xb6\x80g\xd4^I\xc5\xfb\x06H\xb2\x0aC\ +q\xfd>\xb8@\x10p\x14\x10R\xab&\xaf[\xed\xec\ +M\xab_<\xb3\xfaem\x16\xb9m\x05\xae3\x99\xb8\ +\x05 \xe8\xd7\xeenU\x1c\xe9\xccGyOo\xceA\ +\xbd\x1eD \xd5\x85]\xfb/c\xbcs\xf14E\xda\ +\xcd/\xbd\xcd\x1b\xd9]S\x967\xb8\x04[_\xc7\xfd\ +oZ\x01\xec>\x82r\x03\xed\x0b\xa6\xa3N} \xd3\ +\xdf\x0a\x83\xd7\x9a\x80\x96Fubx\xd7\xa2i[\x98\ +j\xed\xb4\xd9SS\xc1\xd9 4D^\x1c\xc6\x13\x84\ +\x05\x04\xe5\xc9\xbc\xcf\xe2w\x0a\x0f\xfe.\xc4mNU\ +C\x04\x94?\xae-\xd0\xb8D\x9dJ\xb2\xfc\x1e\xf9\x9c\ +\xf7\x9f[\xde\xdc[\xcb\x99za\xd9X\x9f\x94\x97\xce\ +\xc3\xa5\xe2.S\xb1\x964\xbeG;\x85\xb5\x9f>{\ +D\xdb\xb2\x89\xabSO\x19\xd0W\x96\x0f\x01\xcb\x9fy\ +c\xd1\xa9W\x00\xe2\x99e\x8f=\xb2\xe0\xe8}\xe4.\ +\xdf\xa5\x06\x12j'\x83\xf5\xcd\xea\xb3/\xf9\xbfgX\ +\xf8#R\xbb\xbb\x00\x0e0aQjH\x91\xcdkh\ +\xf8&\x008%\xfb\x81\xec\xe1\xfe\xd5\xd2F\xf3\xffe\ +\x0b\xf7\xbc\xcd-\xab\x0f\xadv\xfd\x91u\x1e\xbc\xb2\xb9\ +\xfb\xdf\xd8\xe1\xfb?\xd9\xe9\xc7\x7f\xb1{?\xfd7\xbb\ +\xfd\xe3\x7f\xb7\xdd/\xff\x8b\xcd\xbe\xf8W\x1b{\xfcw\ +\x1bz\xf87\x00\xf0'k\xbe\xfe\x93\xd5\xee}ie\ +k\xdc\xc3\xccmWk\x18\xe8\xc63j\x8e\x00\xcf\xac\ +\xfe\xc5\xaaYL\xab\x1buk\x11\x99\xad\x8b\x16\xc1\xbb\ +V\xa0\xfc\x8e\xf5\x07\xd6\xbd\xf5\xd0zv\x1eZ\xf7\xee\ +CkX\xbd\x0d\xe9\xbc\x06@\xd5R\x06\xc0\xaa\xbf\x03\ +^X\xfd\x91\xdcz\x01)\xa1\xb2\x19\xafHD\xa5\xfa\ +\xfd\xe8\xbc\xcfb\xb4\x1a\xe7\x8eM+\xef0\xf5\xecM\ +\xab\x1b\xb4`\xeb\xa4Eq\xf1\x05\xc4\xfd\x02b{\x1e\ +9oX\x04\x91\xb8\xe4\xe6\xcd\x9b\xd4\xf1s\x06 \x00\ +\x06\x15Nj\xaa\x17\xb2r!\x81vZyEb4e\xaaY3\xf5\xdf\xf7\ +\xf6\x07\x8eZ\x00\xc5\x86\xb1\xe2(\xa4.wp\x97\xf8\ +N\x8e\xaf\xc9 \x15\x83\xb4\xaf\x00\x84e'R\xb2$\ +\xa05u5y\x80\xb4\xf8\xb4\xc2F\x9c\xf2\x93^f\ +\x92\xda\x04A\xa0\xe2U\x08\xf6\x1cBY!\xc0\x10\xc2\ +u\xabN^9\xb1*du<]t\xea\xb1\xe5\xa3\ +\x8c\xe2\xd5w\x0c\xcaWV\xb3\xff\x9d\xd5\x1f\xff\x8c\xfc\ +j5\x07?\x03\x88\xef\x00\xc1\x07\xcb\xc1Cd\xa1h\ +?nY\x0d\x0eTD\xa1FP\xb2T\x1db%\x17\ +\xed\xf5\xe6y\xeeZ\xb4\x14L?\xb3<\x94\xaa\xb2\xac\ +\xf0\xe8\x1d\xbc\xc4\xa9\x93\xd0\xe8\x99+\xe3\xca\x9b\xd2\xe7\ +\xb96\xd7\xcfS\xd9\xd6\xd8]\x94\x8d\x1b\x1d\xe2\xfb\xe0\ +.9\x83\x87\x08$V2\x84\x0c\x8b\xd0\x1e\x02\x06~\ +\xcfk\x0eV\x9b3\xb4O\x06\xb4\x03\x09\xde\xb4B\xb2\ +\xa1\xfa\xd9#\xeb]\xbfe#\xbb\xf7l\xea\xf8\xa9\xcd\ +\x9f\xbe\xb5\xa9\xd3\xcf\xdd\x99\xc7=7\xbe\xb4\xce\x1b_\ +Y\xdd\xde;\x80\xfe\xcc\x0a\xf0 \x11,:\xc88{\ +\x0aSY\x9e7g\x7fQ\x09\xa4\x92\xf3,\x5c\x7f\x8e\ +\xf6\x08\x8e\x01\xb2\xa5\xfb(\xfe\x09 \xb8kmk\xc7\ +\xd6\xb4\xb4c\xa5c\xf2\xbe:\xebh\x12\x12I|o\ +\xc1\xddkvWS\xbex\x91X\xd2\xec+(\xff\xb2\ +\xa6\xcdK\xdb\x916\xa4\xd5b\xdcVb7\x0b\xa6\x8b\ +\x8d\xc3,\xb5\xda\xa5m\xde\xdb\x10\x0b\xf5\xf7\xc1\xad\x90\ +\xaf\xe6\xf0>\xacF\xd1}Z\xe8!\xbe+\xc6#\x22\ +|\xdaQ\xac\x93\xc2u\x5c\xbc\xda\x95f\x00\x00\x1fi\ +\x8c\xbfy\x110\x01\x12\xd2\x9b`\x1b\x1c\xa2}\x1d\xee\ +\x00B\x01\x81<\x80\xce\xc7W\x85\x8c\x00\x903\xa5\xbe\ +>x\x80\xe5\xd7V\xb6\xf1\xc1\xaa\xf7\xbe\xb1\x86\x93\x1f\ +\xac\xf1\xba@\xf03?\x7fo\xa5\xa4P\xf9\x0bo\x88\ +\xebOP \xf1zH\xe5U\xb8h\x80\x14Baa\ +b_\x0e\xdf\x17E\xb9\x12)2\xcc\xef\xdd\x89\xe5\x00\ +N\xdb\xdf\x83d%j\xce\x90\xa5p\xe4\x08\xea\x89S\ +v\x0e.^$J\xc7\xde8\xce\xd2\xb7G\xd8#|\ +\xe1F\xc3<\xa3\x96~\x95\xe1h^?[\x13cX\ +bXmb\xfa\x0f\xf0j<\x0b\xe1,\x0b>\x13j\ +_\xb3|\xdcx\x19VXIz\x5c;y`m\xcb\ +7\xadu\xed\x8e5\xae\xdf\xb3\x86\x8d\x87p\x06\x1d\xbf\ +\x03\xd7\x99VS\x8ec\x94\x0f\xc9\xe4\xfb\xd5\xd7\xd0M\ +\xdf*^\x9f3wu\x15\xd7\xb6r\xf1\xa9(\xba(\ +\x9c\xd3\xfeC\xb7C\x18\xb9\xa2\xb9\x16'\xdd\x16\ +\x8b\xc4x\x95\xa5b\x87\xc4\x9d\xe6U\xd2\x10\xcd\xf9\x13\ +\xafq{\xb9c\xa7\xae\x9dI\xde\xf8\xa9s}9Z\ +\xf0\x18\xe4ox\x04\xad\xf8\xa9\xc5K\xb6\xa6\x88\x19 \ +\xcd\x1c\xba\xe9M\x1e\xc2\x87\xe5\xfb`\xf6~r\xf4L\ +HH\xb0\xc3k_\x9aE\xba\xa6\x13\xc54_\xaec\ +\xe6B\x1al\x07\x80;X\x81\x5c2\x96\xb8\xf8\xc2J\ +\xd6\xdfZ\xe5\xee\x17(\xfe#\x00\xf8\xd1\x1a\xaf\xfdd\ +u\xa4W\x95\xdb\x1f\xadd\xf5K+\x5cx\x87\xbb~\ +\x89\xc5B\x14\xc7\x94B\x9dy\x8a\xee\x97\xa2Q2\x1e\ +&S\xfc\x82\xeb\xfa\x00\x9e\xb7\x1d\x0bbE\xc6!\xd1\ +|\xbc\xee\xd3\x8f\xb2\xbc\xe3\xee\x95\xba\xa2\xc0s\xc9\x86\ +[8o\xc5\xefC\xdcw\xf6\xb9d\xf1{\xcd\xe0e\ +\x13_\xdd*\xe0\xd8M\xcbgl\x0a\xc6\xce \xcd7\ +\x09\x95x\x0cy7=\xaf@\x8f\x01dq\xad\x02<\ +C\xe9\xd8\xbe\x95M\x1d[\xf9\xec\x0d\xb7'Rk(\ +Yx\x0e\xb5\xb6\xf1\x03,\xd5#\xaa\x0c\xed\xf7g3\ +\xebg\x1f\xd7\xcd\x04\xb0*\x22\x89\x8e\x9fY\xfe\xe4\x1d\ +\xc2\x8e\x1aB\x12~F\xf7\x08\xd5\x10\xf0\xf6)\xf3\xab\ +\xd95!\x5c\x07g\x5clp\x89G\xf1\x09*}?\ +_]\xd4\x8c\xa8&\xbe\xe2\xabF\xdd$X|\xf58\ +i 9dz\xfb\x06\xeeG\x95\xbd\x07\x16\xc4\xb5\x86\ +\xd4\xb4Q\xb3Z\xd3\xeao\x83\x90\xa7\xe6\x81<\xb5\x88\ +\x8f\x0c\x03\x00M\x0bk\xb5K\x0b\x22\xbd\x9a\xf0\xb9\xf0\ +\x00\x02\x80D\xef\x19Xr\xf3\xac\xae]\x14\x8e\xb2q\ +\xd3!Y\x8a,\xaf\x8fl@Y\x01 \xd3I\x98\x11\ +\x1d'\x0f\xb1\xcaQ\xf7\x8b\x99\xfb\xb8\xc5GV\xa2\xa2\ +\x0a\x98u\xed\xc1\x97V\x7f\xf4-\xf1\xf2{\xab\xdd\xfd\ +\xc1\xaa\xb7~\xb0\xaa\xab\xdfY\xd5\xda7V\xb5\x02W\ +\xc0#\x94(\x96\x03\xa2( \xd05\x82(O\x1bJ\ +}*\x84\xc4\x82TC\xef\x8e\x9e\x11\x03Vl\xe5\xd5\ +m\x8f\x82\x15\xa7\xab\x00D\xde\x0a\x90\x04\xb8\x7f\x85\xb9\ +,@!\x85\x87\x00\xac6vfK\xbaP<\xcau\ +^\x83\xfb\x8e\xc2\xb6\xf3\xa6t\x14\xfd\x03+\x9d{\x84\ +R\x91\x99\x07V\xacf\x0ej\xea\xa0\xb0\x841\x05Z\ +\xe1A\xe4\xf69x\xcd(\x9eC!5\x8a\xe2u\xfc\ +\xbc\xca\xd0\xd4\xbcR\x85\xa7Z\xbau\xc5\xa1j\xdd\xe2\ +j\x04w\xd1\x87\x00BZ\xcc\xf7\xa9uO\xf4\xd3\x89\ +\xa1\xea\x12\xa2if\x9e\x15^\xe0\x87\xe4i\xc9:\x19\ +\xe5&Vj\xba[\xa2\x121-x\x0d\xbb\x95C\xd7\ +oA\x93m\x9a&\xc6\xbbx\x15\xe0\x0b\x16\x93\xc1\x85\ +|*\x14\x84\x90\xb9\x1e\xbc(?4\xa6C\x09E\xca\ +\xb0\xc89d\xf6!\x17Vy\xb3\xdc\xacn^^\x02\ +>\xa0\xee\x1b\x9dX\x92\x8a*qS>\x1eB\x13\x19\ +\x99\xce\xd2\x15\xe7\x09\x1b\x903\xb9\xd6\x1c\xb9gD\x84\ +*\x0c\x9a=\x11\x07\xe0A\x5cw2\x91A\x84\xf7\xaa\ +\xb2\xd5\xe1T\xc5\xcb\x8f\xacb\xe3\xa5\xd5\xec~\xb0\xfa\ +\xfd\x8f\xd6p\xf0\x935\x1e\xfcjM\x07\x7f\xb0\xe6\xfd\ +_\xacy\x17\xef\x00Y\xac]\x837\xcc\x93\x9bc\x1d\ +\xea\x95\x1b\xc1}\x87 \x9fA\x94\xea\x17aE\xe1\xa9\ +\xc4T\xad\xa2\xb9\x83\x15T3\xc7{W\x17H\xbc\xcd\ +`\x00\x03\x84/\x852\x85\xb5\x10\xb9\xb52\x96\x08\xf7\ +\x1f\xd1\xe6\x0e\xed4&\xb7\x0e\xcb8D6\xa5`\xac\ +_\xcd!\x0b\xb9\xcf\xd2\x85\x07\xae\xe1d\xd5\xca\x132\ +\x02\xd2\xc3y\x5c\xbc\xa6{\x19\xcb\xec\xdec\xc6\x83\xf1\ +=\xaf\xc3S\xbb6\xe7\x99\x5c\x0a\x8c\xcb\xe7\x1e]\xc1\ +\x86f\x01\x05\x00\x8cF\xfd|\x95~\xfaU<\xaa\xbe\ +\x81\x18\x89k\x14\x05\x00\xa2\x02\x80\x80\xa0\xfe\x82xh\ +\xe5\xffa\x0c*\xc8\xff\xa9\xdcK\x07k\xa8G\x90&\ +yRk\x09!\xb5d\x13Hr\x1d\x06\x80\xb7O\xaa\ +\x9f5\xd5\x81z\xc7\xd0\xaf\xea\xf8\xf8C\xf3\xf3\xa0j\ +\x17\x17DQ\xd9\xa3\x10$\xac\xc9\x03\xc0\x13R0\x04\ +\x00\xe4\xaa\x9cI\xad\xcc5\x89\xa3\xd50m\xc7\x86\xf0\ +\xb9\xeeYn\x05Qnu\xcd)_\xf1=\xc2@\xe5\ +\xe2\xde\xf3\xf9\xae\xfc\xc9{^c#\x90\xab\xa6\x88j\ +\x94\xa4\xd2(\x1dT\x1d\xd6r\xaa\x13\x06\x17Q\xbbt\ +\xcd\xaf\xe7N\x9d\xc2\xce\xef\xbb\x06S\xd5[o\x01\xc0\ +\xd7\xd6D\x18h9\xfe\xc5\xda\xae\xfd\xc1\xdaO~\xb1\ +\xf6\xa3\x1f\xadu\xff\x1bk\xdc|o5+\xcf\xac|\ +\x0e\x8b\x04\xa4y\x90\xb5(\xa1)BX\x0aAP\x83\ +d*\x01W\x9a\x86\xe5\xbbM\xab\x12\xf2`\x94\xaf\xc9\ +\x15q\x17-|\xa9\x0f\xaf\xb8\x8ebm..=\x17\ +\xb2(\x89\xc25\xd4s/\xa2T\x15#\x11o\x08\x13\ +\x0eU\xe1\xa3\xa5\xf0\xa2\xf9[V\xb1z\xdfj6\x9e\ +X\xfd\xf6K\xab\xe3~\xab\xd7\xc9f\xdc6\xf7G\x80\ +\x1e\xf2\xd9\xa7.^\x8c\xb3\xfa!\xbb\x1a@\x00\xc0\x98\ +\xb9\xf2n\x09\x5c\xe9\x1f=\x824\xf1t\xe0\xda\xc5\xa9\ +e|\xa6v\xfcb(\xd9j0%O\x80\xf2\xd5\x9f\ +\xb0\x10oY\x04 \x0a\x09\x9f\xb9\x10`\xb5\x83\xcd\xec\ +:\xc4\x10w\xe0a\x80\xac\x89\xf0\xd7\xb8\x82\x97#\xf4\ +\xa1t\xb7\xff\xb0\x19\x80\x9c\x83-\x15o\x13\xe3\x07\xa1\ +\x01\x10\xae\x06\x85\xbf\xef\x16\xa6\xc6D\xd1iX1!\ + \x8a\xabS?[m\x8f\x0a\xf4\x90^\xc0\xf8\xbd\x1e\ +\xc2\x9a\x9aT\xcd\xf9\x02qU\xde@\xb3\x80\x22G\xc4\ ++)\x1f\x96]\xc8\x0d\x16\xcd>\x22%{\xec\xda\xa8\ +\x16p\xd3r\x9d\xea~)@\x85G\x09\x05\xa3\x84\x87\ +QB\x0b\xccZ-\xde\xa2\x137`\xef:{@]\ +\xc6\x1e[5^\xa0~\xf7=\xd6\xff\x855\x1f~m\ +-G_[3\xef\x9bv\xdfY\xc3\xd6K<\x00\xd6\ +\x07\xa9*\x9b%\x1d\x9b<\xb6\x02\xbe+oh\xc7r\ +\xf1TQ\xd2\xa1\x88Z\xd5j+\xf8\xf9I\xe6:\x8b\ +/\xbd]\xa2z\x87\x157\xf9\x92\x8d\xf2#R>\xc0\ +\xcc\xbdX\xdcQ\x96\x00A\xcd\xd5\xe4\xd4\x08F\x01\x10\ +\xb4\x0bY\x00wK\xe4|\xb7\xba\xa3G'w!u\ +\xd7\xadr\xe3\x1e\xec\xfe\x855\x1e~\x0e`\xbft\x8d\ +\x1cK\x97IE\xd5\xc0Q\x13ZC\xa4\x97\x03\xe7^\ +A-lTz\xee\xaau\xe6=q\x0bsZ\x95\xbd\ +\xeaJ\xd4\xb5\xc7\xc2\x8f7\x0b\xe0\xea\xd51\x5c\x8d\xa3\ +U\x7f\xa0\xc3\xba\x0aT\x83\xb8\x84\xb7YQ\x152a\ +p\xde\xe3D\xe1\xa1{\xdc\xd7-\x80\xc05:\x0e \ +\xf4\xf0!\xb5\x8dk\x13\x1f\x02`\x18\xa9\xe3\x1ax\xa1\ +4\x80\x18\xa3\xce\xdc\xea\xc5\xaf\xa6\x0ajJ\xa4n\x95\ +j\xb6\xac\xadN\x8a\xcb\x12u\xab\xcc\x06\xf1\x99X\x95\ +V\xf9>mi\x96(\xfe\x80d\x95SkbG\xe5\ +\xce\xae\x7f/\x00\xc8\xe5\x7f\x0b\xa6\xef\xe3&q\x89\xf3\ +\x8f\xadx\x01\x99\x7f\xc8\xcf\x0c\xec\xa4\xb6L\x1d\x02\xaa\ +\x1dR8\xed\xba\xb9\x0a)\x22\xee\x8e\x90N\x01\x88\xbc\ +\x89\x13\xc0s\x93\x07;3\xf5\xf5\xab\xbe\xfa\xd8j6\ +\xd5\xdc\xf1)\x16\xf6\xc4j\xd6\xef\xe3r\xf9\xdb\xe2u\ +\xe2\xef\xb1\x95L\x1f\xa0|\xb5RQ3jdt\xd7\ +\xf2G\xbcfV\xf9\xc3;\xae\x99\x85\xd6+\xc2\x5c+\ +\xab_\x0d\xa3\xe1-X\xbd\x0a]\xdc9H\x03\x80O\ +\xd9\xce(\x04M\xaeUm\xd8\xf0^\xb9\x84\xc3\xe8\xa8\ +Z\xb2\xe1\x01\xc88\xc4e\x82\x90C1sm\x8f\xf7\ +w\x91\x9f\x0f\xadX\xde\xcc\xae\x95\xae\xdc\xb0\xea\x9d\xc7\ +\xd6x\xf4\xce\x9a\x8e\xbe\xb2\x06\xbcV\xed\xf6Wx\x83\ +/Q\xd2;+\x99{\x89\xc5\x12R\xe5a\xb1j\x11\ +JM\xfbj\xeb\x5c2\xa9\x9e*v\xdc\x16\xeeFm\ +\xfeP\xfd\xbf\xc0\xcau\xba \xab\xdc\xab:\x8e\x85\xe4\ +\xdd\xc6\xafaH\xb7\x01\xc0c<\xcf+\xab$\x04\x96\ +\x09h\xb3\xaf\xf8\x9b\x07\x82P\x1f\x9e\xbc\x87\xd0\xda}\ +\x02\x7f\x01\xb0\xf0\x8a\x00\xbcLaZ\xba\xca\xd0\x0c,\ +\xde&&\xb5\x05\x14\x8a\x08\xb6ijV\xb5\xf1|P\ +\x08\x17\xa3\xd6\xec\x1a\xa2\x03\xa5]/~\xe2\xaak \ +\x0dR]\xcd<\xaf\xaa\xa1\xd7\x97\xa9\xab\x95f\xf5\xb4\ +ARiYD\x00`\x10\x05\x80b,\xbf\x14\xe5\x97\ +.A\xee\xd4\x1eN\xfb\xea&D\x02a\xb8}\xc4\xe9\ +\x9ey\xf3!\xfe\xdeE\x00H\x0a:\xb4\xc1\xa0o\xe3\ +AP\xe8\x14\x8a%\xaf.\x9dG\xc9\xf3G\x0c\x22?\ +3\xd8\x85\x13\x1b\x967\xba\x82R\xd5\xe4q\x9etl\ +\x8eM\xb0u*T\ +\xads/\x90\xc9\xb1#+\x9a9\xb32\x08s\xc5\xd2\ +\x0b+[|\xc58\xbdp\xcb\xd0\xd1\xe1{x*\xc2\ +E/\xe9q7\xf7\xdc\xb9cA\xb8G@\x04]\x99\ +\x10^'M!\xa7y\x854\xb0^\x85\x89\xdaf\xa4\ +\xc5\x07m\x1fRQ\x08\x08\x87\xf5\xea|\x1e\xb7y\x81\ +\x87\x96\xf2\x1dq\x91\x8b:\x97\x7f(\x9e\xcf\x00\x1am\ +x\x14p4\x80\xf2\x00J!\x8bp\xf9%\x0bZ5\ +\x83-\xabJv\xfe\x14>\x009\x1c\x96\xf5\xcds\xad\ +I\xd8/\x0f\x8a\xa4wL\xf0]\xda#8\xcfC.\ +\xe1rQ\xf0\xf0\x0a\x0a]\xe6u\x09E\xcc\xa3\x04\x06\ +\xbc{\x02\xf76\x02s\x1f \xce\xf5\x11\xe7\xd4y\xc4\ +;\x1f0\xd0>\xc2\xdf\xa7\xb0\xd6E\xcb\xd3Z\x06\x9e\ +\xa1l\xde\xdbgX\xb1$\xc2\x86W\x9a\x91\x85\xe3\xca\ +\x07\xbd\xa6\xd8^\xd3\x06\x89\x9e\x93\xe7\xd6^{\xbcb\ +\xa6\x04\xcf\x18D\x14\xda4\x85\x9d\x85k\xf6\x8e\xc3_\ +\xc2\xcd\xce\xf1\xf7Y\x9ew\x09\x00\x008\x00Z\xbe~\ +\xc7jv\x9e[\xdd>\xbc\xe5\xe0s\xb2\x97\x0fV\xbb\ +\xf7\xde\xaa\xb4=}\xfd9!\x01\x0f8\xa7\x19K\x19\ +\x17\xf1\x9e\xefImV\xe5\xce\x08\xe4\xd4\xebQ\xa0\x96\ +o\x92$\xde'\x93\xc7\xa7\xd6\x0c\xc2\xf2\x87]Q\xad\ +\x8ak\x83x\x1e5\xb7\x88\x02\xa0|xS\x91:\x88\ +\xc3\x0b\x94\x09\xe5\xcaS\x11\xa6Bx\xf6,\x9e'\x88\ +a\x070RM\xcc\xb9\xb2\xf7\xa69/3Bt\x22\ +Y\x8c+(lPQ!\xbf\xe0\x03\xaa\x1fO\xd3\x9e\ +s\xe5\xa0\x8e\xb1\x92\xca\x10\xdb\x03\xae\x94\x89\xdf!\xf2\ +\x14\x19\x9a\x82\xd5\xf2\xa568\xa0t\x1d\xe5\xa2\xe9X\ +\x1d\xe0\x10\x86G(gU_`\xf5\xd1-Y\x90\x00\ +\x86\xb9\x1b\xc4\x7f-\x07\xaf3\xa8s\xe4\xe7\xda\xec\xd0\ +\xcf\xc3w\x83\xfe.\x88Y\x0f\xee\xaf\x0f\xef\x82b[\ +\x87@\xec\x88Sh\xa0\x8d\x87o\x1d\x84\xad\xf7[Z\ +\x83z\x0duZ\xb2:\x96W\xb5Z\xa2\x9aV#I\ +\x95-\x96R\xd3\xce\xdf\x01\x02\xff\x17\xec\x99\xe1:\xab\ +\x90\xb0\x1d\xee\xe1\x18\x00B\xd4\x96\xe1\x09\x80\xb0H\xc7\ +\xdf\xc2A\x94[\x0b\xe0\xeeH\x15\x18tj\xf3\x85\xe8\ +\xac\x80\xab\x8c\x83J\xb77\xf9>\xb9|o\x1cT\xe7\ +\x97\xa5R\xf8\xdeU\xbc\x0698 \xcd\x19\xbbJ\x96\ +\x84WZ8\xb1\xd2\xd5;V\xb1\xf9\xc4*\xb6^X\ +\x05\x84\xb0|\xeb\xb9\x95m<%\xad}HVs\x0f\ +\x90\x90\xcbO\xebtvyY\xf1)\x18\xbb\xac\x9f\xec\ +D\x15O\xae\x96Q5\x8c\xc5:\xf9\xb3\xcd\x92J;\ +\x5c\x05uje\x8f\xa9\xb9Uz\x1d\xe3\xd0\xc0\x984\ +Ox@\xe8Z\xb1\x08\xa9x\x0e\xe19G\x13W\xdd\ +\x90pt\xa4\x0c(\x80>\xfd\x84\x93\x0c\xa5\xbb\xa4\xbd\ +idCi\xa4\x8b*p\xf5\xfa\x14MY\x8c\x8a\x11\ +\xd5IJ\x1d=\xdc6\xe4\xa6iWb\xec\xd5\x06\xc2\ +\xec?M\x96(\xdf\x07\x10X\x80\x8fTI\xadY\xb5\ +\x08\xa3<\xd5\xb5\x9b\x95\xe0\xfa\xb5\xef=B\x1c\x15\xdb\ +wm\xd4g\xd5J\x1dF?s\x0d\x8f\x00At\xca\ +'5\x93\xf2\xeb\xd5;H=\xeeZMG\xbaK\xf4\ +>\xa1\xaa\x8d\x1c\x96\x87\x97\x92\xcf%\xb1\x0a\xa9l\xc3\ +B\xf8{y\x0b\x83\xd5d\xf1\xa5\x8d\x16_\xd2\xe0$\ +\x91\x9f\x93\xf9L:\xdf\x19h\x1b'V/\xc2\x8c\xb7\ +\xdc\xa6R\xb5\xba)\xc1\xf3\x94\xcc{\x80,\x98Q6\ +\xa2~\xbd\x10[\xc0\x1b\xe8\xdc\xc5-n\x00\xbe5\x8c\ +a\x85X\xacs\x81\xb5cZu\xfb\x22j\x1e\x10d\ +\x0cZ\xaeU\xd1\x8b\xaa\x9f4\xef\x1e\xd1J\xe98\xfc\ +bj\x8f\x8c\x09\x02\xba\xc4\xb3\xaeB~\xd7\x1eX\xc1\ +\xda}\xcb_\x06l\x0b\xb7,:\x07y\x9bQ7t\ +\x91\xddm\xc2\x86\x88\x1e^\xb7U\xc5\x9a#\xa6vq\ +WT\xefX\xdcnW\x0a[\xbcR8$\xbe\xa8\xc5\ +\x12\x00D\x22@H*\x03\xf8\x15^\x8f\xe6Tu[\ +\xa9\xed'\xc5\x1dB\xc9c\x16 \xc3\x094M:\xf1\ +7jC\xcb\xb8[DJQ\xfd\xa0\xf6a \xae\xef\ +\xa2\x0b1^\x95\xb1\x9aG\xc6\xa8s\x94\x8eEI\xa8\ +\x1d\xb4\x04\x95\x86\xabq\x82Z\xb6\x02\x04U\xc0\xea|\ +\x9b\xcc\xf3R\xf0\xa0\xca\x9b\xfbq\x95}\x00@\x84P\ +=\xfd\x1c\x08p\xa5\x00A\x04R\x05\x92\xea\xa1/\x92\ +\xa7\x9e\xfbE3zU;\xf8=\xcf\xf2q\xef\x19(\ +H-V\xd5~5\xa1R\x1b7\xb4\x89\xe3w\xe2j\ +\xf9\xd5\x91\x5c\x070#:\xf9\xda\x89\x8aC\x9b\x90\x06\ +\x8b+\xaaGj-\xae\x10\xe15Q=\xff\x00\x80\xbf\ +q\xc8B\x9ds\x96;\xb8I\xfc?\x81 \x9eY\xf9\ +\xe2]\xe4\xbe\xcb\xd7\xd5\xd7\xbfp\x16\xc5\x90\x89hU\ +/J\xda\x1b\xd614\xc4J_\xdb.\xdeg\x8bp\ +x\x15R\xa6\xca!y\x82M\xc2\x9d6r\x88\xf9\xc3\ +\x11x\xc6\xc8\x90\xea\x1bD\x1a\x05\xe8m\x9ey\x0bv\ +\xbema\x94\x9b3K\x16\xb3p\xc3r\x90\xc8<\x06\ +1E\x18\x81\x8f\xf8\x87\xc8\x92\x08k\xbe>\x9e\xbf\x9b\ +\xcc\xa9C%fcn\xcc\xe3\xb0\xecX\x5c\xbe;C\ +X\x00\xd0)\xe2(^@\x88E\xe2\x0a\x19\x13^\x05\ +\x06w.p\x89\xc0\xdf\x04\xe8\x9b\x01D\x1b\xde\xa1\xc3\ +\xd2\xaa\xba\x10y\x89^KE\xd4\xf1,I\xfb<\xdc\ +^\xc1^\x070'\x15\x12t\x8e\xc4\xf1>F\x9b\x09\ +]\x17/\xd0\xa4N\x9c\x89 *\xd1\xed\xd2\xc5]h\ +\x07P'\xc4\xcc\x9d\x12\x86\xdb\x1bX\xc7\xda\x89)\xb8\ +.\xd7\xb3\x97T\xc8k\xd2\xbcK\xfc\x17\xa9\x22\x03\x18\ +:t{\x05r\xc7\x8f\x19\xe0#H\xc9>\x84\x85\xc1\ +\x19T\x87m\x1e\xbe\x1d\xf7\xd34lI\x5cO]-\ +\x13\xb4e\xab\x02/\xa0\xf3v\xcf\xc5\x9d z.\xee\ +\xe4kU\x03\x970\x08\xeaiX\xd4\xc8\xa0\xd4Yl\ +A\x0dRmW\x0a\xd4\xa5\xb3\x0awYg\xa9U\x1d\ +\x96\xd9\xa5T}\x10\xc3\xc1\ +[x\x0d\xf8\x03\x1e.gD\xab\x84\xaaoPg2\ +\xed\x13P\xe7\xd2U\x0b\x0c3>\xda\x96>\xca\xf8@\ +F\xd3\xfb\x16,\xa5\x0b\x86\x0f\xe8\x93ZG,\xa9\x99\ +go\xc2\x12\x09}\xf1\xb5\xbd\x16\xc7\x18\xc4a\xd5n\ +;\x5c\x09\xcaw\xd2\x06\x10$\xaa\x89$$\xa86\xb2\ +\xa8\x0d\x01\x14<\xff\x15\xc0\x7f\xa5\xb8\x8e\xf1\xa8\xf7\xbc\ +\x1f`H\xc2P\x92\xca\xf0\x9a\xe5xL\xb7\x0b\xaa\x07\ +\xe5kM\x80q\xbe\x98\xfc\x92\xa8\x18\xd6UCK\xfa\ +-\xc6\xf5\xa7\xe3&\xd4\xc6\xcd\x9dD) \xd4\x0f\xe2\ +\x0aGp\x7f\xe3(l\x1ab4G\x1a\x02\x0b\xedU\ +\x1bw\xc8D\xcf\x92\xeb'\x94\x0e\x19r\x0d\x14H\xa5\ +\xdcA\x93\xa4S^\xd9\xb8\xd2\x15/\xe5\x0a1(j\ +;\x17\xe8\xd4\xa6\x0a\xe2P\xb3&`\x04\x00\xb9#\xae\ +\xa5\x9bts\xd6\xbf\x13\x1dq\xae]\xbc\xda\xc6\xed\xca\ +\xba\x19\x00\xed\x09\xc0\xfac\x0b\xeb=\xe5\xe7W\xd9\x95\ +\xbc\x0a\xa4\x9c\xf7\xe5\x00\xa0\xc6\xd2\xe1\x00\xd9m\x13V\ +\xc0u\xcbI!k\xc8:\xea\xd6\x9e[-\xe4\xabZ\ +\x1d\xcbI\x9bJ\x01@1,\x5c\x9dIu\xf2\xa9\xe6\ +\x1b\x0a\xd4\xe6\x1d\xce\xa2^>\xca\xd3\xb3\xfan\x00z\ +\xbc\x82\xaa\x92\x06\xcfH\x81\xd5\xd7\x87\x94Xs\x01\x00\ +@\x8bG!\xb2\x06\xad\x0dhu\xd4\xf58\x86\xc8\xa5\ +\xb4LXJ\x1b\xaf\x1d\xa4r\xb2p\x94\x9e\x88\xc2\xe3\ +\xeb\xb1\xf0\xda\x1e\x8b\xad\xe9\xc2\xdaQ(!-\x8ep\ +\xa6S\xcau\xa2xl\xa9\x94\xad\xe3\xe3\xbd\x9dM\x92\ +\xcb\x02B\xa9\xceg\x00$\xa5}\xbc\xaa`V\xbd\x0d\ +\xf47m\x81\x03\x08\x88N\x0bw\x07K\xab\xd1'\x06\ +#\xe2\xa8-\xe2\xaet\xfc|\xb2\xcbkE\xa7\x02R\ +@\xa8=\x06U\x84\x80s \xc4\xa8\xf7\xbf6M\xba\ +\xe6\x81\x17[\xb4\xd5\xd0I[\xb3\xf1\x06\xa9M#\xc4\ +\xc7Q\xdc\xf6\x18\xe4O\x9d9!\x14(3\xbd\x93\xfc\ +_\x8d\xa5.N\xe0\x22LHt\xea\x96\xd2\x15\xb5c\ +\xf1\xb7\xcd\xc2\xd4\xb5\xab\x96\x98\xd44\x06\xfb\x1c5w\ +b\xa7<\x0c\xae/Y[\xc0\xb5\x07Q\xcd\x0c\xb4+\ +Y\xe2b\x94\xe6\xb1\x85P\xdc\x15 p\x00`p\xdc\ +\xce\xa0\x025m\xac\xb6\xd8\xdcJ\x8b\x8d\xa2\xfc\xdc2\ +\x8b\x03\x00I%\xb5\xe6\xab\xed\xb4(\xd6V6\xb6g\ +u\xb8\xfc\xe6\xab\xaf\xadu\xfb\x0b'M\x9b\xef\xadv\ +\xed\xb5\xe9\x8c\x1d\x81\xa0\x88<\xba\x80\x10\xe5dJ\x8b\ +^ZA\x94ruT\xccM'\xe1\x11-\x19k\xea\ +\xf5\x09$\x0f\xd1\x8a\xe5\xf8]\x97\x16fA\x1e\xfd\xb0\ +k\xb5sMR\xf95\xc0\xf5\xf6V\x22\x0am\xb5\x12\ +\xbc\x18\xa0\x8c\x85\xa0^\xa9\xd0\xc6\xd5\x06\xbb\x5cV\xef\ +\xe4J)\xafX\xef\x15\x81\xbaX\x96\x8d\xe0\xe1\xae\x10\ +\xea.c\xcdZ\xb2\xbdR\xa6\x15\xbc\x01\xaf\xaa\x97W\ +\xb7\x9a\x87\xb7P\xb7\xcf+Xz\x1c\x96\xee6\xbcJ\ +\xe1\x8c\x9d:\x84\x88\xdc\xb9\x13\xd7!\x80iJ\xf9\x5c\ +}\xa1j\x0c\xe0\x1bM\xda/\x00\xf9\xd3\xfe\x82*\xc6\ +\xb9R}\x02\x89\x0bj\x11\x9b\xe4\xbc\x00\x1e@5\xfa\ +\xe7\xa2\x8a\x91d\x00\xa1\x06\x8f)\xda\xc0\xd10\xe8\x00\ +q\xd1\xcd#\xbd\x1d2\x87\xa2}j\x00!\xe9\x00\x10\ +\xe4\xab*\x16I\x87P\xa6\x83\xc0t\xd2\x9b\x0c\x09D\ +'\xa3\x01 \xa9\xbc\x09Ik\x10:E\x04G]\xbe\ ++q\x1d-.r\xe1\x0b\x008f\xcc \x16\xe1\xfe\ +\xb5K(\x0f\xeb\xcf\xad\xb28\x00\xe0$\xaf\xd2\xe2\x09\ +\x05\xc9e\x8d\x16h\xe8\xb3<\xbcT\xd5\xf4\xb1\xb5\x5c\ +}f\xdd\x07_Y\xff\xb5\x9fl\xe0\xc6/\xd6\x7f\xfd\ +'\xeb:\xfc\xceZw\xbe\xc0+\xbc\xb2rMH\xc9\ +\xf2U\xd9\xab\xb5\x07\xc4\xcd\xad\xbb\xa5d\x08\xe2\xa8W\ +\xfe\x95\xaf\x0a\xa5\xf9\xd7V\xbc\xf8\xc6\x8a\x17^Af\ +\x9fZ.\x9fQM\x83\x96\xbbS Rj,\xe9\xdc\ +\xb3\x00\xeav:\xc3Q\xca$\xb8\xe9\xb2\x1a\x94]\x85\ +\xb2+\xedRq\x85'E\x95\xc4\xf8j\x040\xe3\xd2\ +\xb5\x1fB\xa2c\xebuZ\xa9\xb7\xe3\x19\x00`\xcd*\ +\xe2p\xe5\xe9H,\xe9`,\xc6)\x89\x97\x07\x15\xc9\ +\x83\xe1\xabg\x80*\x8a\xd5\x03\xc0G\xb6\xa2\xce\xef.\ +=\xd7\x8a\xa8\x13\x11X\xad\x8a\x02\x08M\xdei1\x8c\ +\xb1VG\x91\x98\x14\xbeT\x1d)u\xfc\xfa\x85\xb83\ +\xef\xcf\xdd\xb3v\xd4&\xba\xb3\xf0\x11\xd7\xf2\x15\xb4\x91\ +\x93\xea\xfc_50T'\x0f\x9f:j!R\xbej\ +\xd9\xd4L!]\x8b,u\xe3\xe6\xab\x1bs\xe2\x87\x95\ +\xfa\xb5\xcbV\x0c\x15I'\xeb\x10\x08R\xe5\xa6\xceE\ +uj\x0e\x08nO\x9c6n\xf0\xa0\xe7\xa9\x91\x068\ +V\xbb\x84\xf2\x19\xd4\xbcZ\x8b\xcf\xab\xb3x\xde\xc7\x17\ +\xeaL\xfdF\xe2\x7f\xbb\x05[\x86-\x7fp\xc5j\x16\ +nZ\xc7\xeek\x14\xff\xbd\x8d\xde\xf9\x93M\xde\xff\x0b\ +\xf2O6v\xfb7\x1b\xbc\xfe3\x7f\xfb\xda\xeaV^\ +[\xa9V:\xc7\xceP\xa8\x94O\xe6\xa2\xe5or\xe9\ +\x82I\xd5\xfd=\x810\xbe\xb4\xd2\xa5\xf7V\xbe\xfa\x95\ +\x95\xaf!+\x9f[\xf1\xfc\x0b\xcb\x1b\xbb\x0d\x00v\xcd\ +G\xea\x9c\xaceV\xc5\xe7|\xac\x99\xfb\xba\x22\x80\xe6\ +\xe3\xa1\xc4M\x0a+\x01E\xb9]*(\xb5\xcf\x0aJ\ +\xec\xff\xc8/\xb6\xcf\xf2Kx_\xc6\xef\x00\x81B\x19\ +\xf7\xef\xb6\xbd\xb9\xddO\x00\xe0|w\xf3\x15m\x93\xc7\ +8\xa5\xf8x\x94\xa5\xbd\x09\xf1\x8ca\x1cc\x96\xc0\xf8\ +%5O[\xaa\xb6\xb4\x93\x96\xaa\xdd\x5c\x96Rp\xbc\ +\x96j\x17\xb3\xdc\x11{\xea\x18Jz\xde\xab\xad\xe8{\ +xf\xa5\xb2\xab\xaeXG\xfaIS\xdf\x07\xc6<\xc6\ +\x1d\x09'+\xc4%\xbb\xd6\xae\x88\xb6\x86\xab\xe3D\x12\ +\xe8s\x1cAa\x02Q\xd7n5l\xd6\xe6\xcaT\x14\ +\x95&\x104k\xcb\xb8\xb6Z\xc3l% L;n\ +3\x1a\xa6\xcd\x87{\xf4#\x01\x09H\xf5K\x88G>\ +\xcdnq\xf14\xae\xab\xefQgL\xed\xd8ueP\ +\x02\x01\x0f\xecR\x15\xc5)\x15\xach\xbf\x1f\xec\xf8S\ +\xff^$\xbe\x88\xd8\xc7\x80%\x12\x13\x93\xcb\xdb,\x0d\ +\xb7\x1bl\x1d\xb3\xbc\xa15\xab^\xbci\x9d\xfbol\ +\xe8\xf4G\x9bz\xf8\x17\x9b\x7f\xaa\x16r\xffl\xf3\x8f\ +\xff\x93M\xdd\xfb\x8b\x0d]\xff\xd5\xda\xb7\xbf\xb1\x1aY\ +\xf5\xc4#\xcb\x1b\xc1\xe2q\xfd*\x0a\x91\x07P\x9fb\ +\x9d\xc3S\xba\xf8\xce*\xd6\xbf\xb1\xaa\xad\xef\xadz\xfb\ +{\xab\xda\xfc\x06\x10\xbc\xb5B\xb5zQ\x06\x84\xe5\xa5\ +\x08\x00\x10\xb6\xd8|brn\x1d\x82\xc5\xe7b\xddx\ +\xa7\xcb\xf0\x93Kye\xf6Y\x1e\xca\xcf+F\xf4\x0a\ +\x18\x08Y\x97\x00\xc8\xe5\x02\xc8,^\xc3c\xf7\xda\xcc\ +\xaa\x0d\xac\x10b\xad\xe9\xe3\xd6]U\x10c\xa6\x1dC\ +I\xda4\xc2\xf5\xd4>.\xa5U\xedo\x08\xbb\xf0.\ +\x9d2\x1a\x06\xb4Q\xf5!\x9ay\xce\xeb3R\xcd\xc7\ +\x16\x19\xbbOv\x02\x7fqU\xc2\x00A \xe8\xd4v\ +\xb5U<\x01 \xc0K\xeb\x94\x96\x18\x1dh\xa0\xe3S\ +\xd3Z=\x05j\x81\xc7k'J*\xe8\xbaN\x11\x9f\ +a\x91\x02\xc3\xc5\x86JmLt\x00\xc0\x8au\x18t\ +:\xb9\xa7+-\x97\xebo&,`\x19\xb2\x0eu\xe7\ +\xcel\xbc\x10~\xe6A\xfc\xc4'\x1fq(]\xff\x0f\ +QQ\x8bV\xe5\xaa\x0e\x04\x00@\xd7U\x9f}\xed{\ +s\x84E[\xb9\xcaa\xb2e\x10B\xb7\xe9\x13 \xb8\ +\xadbJ\x15\xc9\x8f\x89\x85\xc9\x95\x9d|W\x8f\x05Z\ +\xd5\x81t\xd9\xaa\x16\xae[\xcf\xd1\x1b\x9b\xba\xff\xb3-\ +\xbf\xfcO\xb6\xf9\xee\xdfl\x0bY{\xf5/\xb6\xf0\xc4\ +\x03\xc1\xe0\xf5?Z\xfb\xce\xf7V\xb7\xfc\xc1\xcag^\ +X\xd1\xc4C,\x1b\xb7\x8f\xe4M>\xb4\x82\xd9\x17V\ +\xb2\xf4\xb9\x95_\xfdhU\xdb?Z\xf5.\xb2\xf3\xd1\ +*7>w\xd3\xday\xea\x0d\xd8\xb5\x0e\xd0\x89\xa9J\ +\xab\xc4\xd8\x0b\xb0^\x01!\x8f\xf8\x8e\x87\xd2\xb6\xf6\xcb\ +(Z\xcavR(\xe1wE\x00E\x8d/\xd4\x99\x9c\ +X\x9fX\xa6\xe6\xd0=\xa4\xb1\xfd\x96\xceX\xc8K\xfa\ +[\xe7,\xb3c\xd5\xed\xb1P\x15\x93\x8aB$\x01\x85\ +\x1eD\xb3\xae*V\x8dL\xdc\xb3\xfc\xb9\xe7V\xac\xb5\ +\x86\xb5/\xadd\xf5\x0b+Zz\xc7\xef^\x98\xaa\xab\ +\xd5\xa2.\xa4\xa6\xdb\x9a\xacS}\x81&\xf0:5\xdb\ +\xab)\xfc%\x8bq\xdd/5\x1f\xde\xef\x1dk\xaa\xc9\ +\x1eW\x97\x8e\xabH\xc5\x92\xbdmH\xda\x90\x88\x97\x10\ +\xc9@1\xeaJ\xe5\x1a\x16a\xc9N\xb4\x95\x5cn\x1f\ +\xe5\xeb\xbc^\x95\x85\xf9\x897\x01$\xb3\x05i\xf6$\ +\xd0\x041T\x01\x86\x00@\xacW\x9f\x80\x14\xc0\xe5\xfa\ +\xef\xd6\x9cw\xc1\xc2[\x88\xc4x\x1b\x17`\xd3\xb5\x0c\ +\xb0\x03\xc2\x10\x96\xc1@\xab\x97\xaf\xd2\xc3r\x08\x90\xd2\ +\x1dBS2\xe45\xb5\xae\x17\xee1d\xd9=sV\ +1{h\x03\xc7/m\xf9\xe9\xcf\xb6\xf3\xfeov\xfc\ +\xf5\xbf\xd8\xe1\x97\x7f\xb7\xf5W\xffds\x8f\x7f\x03\x18\ +\x7f\xb2\xd1\xdb\x7f\x86\x1f\xfcf\x1d{?[\xe3U\xbc\ +\xc1\xf2{+\x9b\xf7\xe6\xd3\x8bt\xf6\xde\xe2{+]\ +\xf9\xda\xca\xae~o\xe5\x9b?X\xd9\xe6\xb7\xbc\xff`\ +%+/\xadp\xee>dP\x99\x80V\xd9\x96\x1c\x11\ +L\x86Y'\xc0\xd6\xe3\x8aa\xeeE\xb0\xf5\x22b\xb8\ +B\x83\xbc\x03\x96-\xa6\xaf\x8e&jX\xf1\x0f\xf2\xd6\ +\xe7\x9e_\x86\x90\x81\xe7\x0b0\x86\xd9(%\xa7g\xc3\ +\xf2\x06\x0f\xac\x88\xb0\xa4C5K\xa6\x1fX\xf1\xf4#\ ++\x82\x84\xea\x90\xa8\xbc\xf1\xfbp\x16\x9dJ\xaa\xc3\xa3\ +^[\xd9\xea\x07\xab\xe4\xfe\xaa\xf0R\x95\xdb\xdfY\xd9\ +\xc6\xd7V\xb4\xf2\xfe\x13\x08\x94\xc1d\x13\x1eT\xec\x93\ +\xd9{@\xc6\x06\x90H\xdf\xd5\xe9-FK\x8b\x92\x5c\ +\xbdB\x88t\x14Z\x16)\x8e\x90\xa2\xf9~\xafF\xcd\ +[\xf9K\xc3\xa2\xd3\x9b\xd4C\xe7\xbc\x8f\x8e\xdc=\x1e\ +\xc3\xc5|Y\xbe\x0aBu\xaaV\x87\xb2\x00\xf2b\x80\ +\x94\xc9wh.Z\xb5\x81\x22M>\xbeK\xd5+\xa9\ +R8^%\xd9\x91P\xb8\x07a\xc5\x01Lupn\ +\x87\xeb<\xa2-O\xbc\x0a\x0c\x80\xce\xb1W\x97!\x88\ +\xa3\x88\xa8B^k\x19\xc4\xba>>\xd3\xc7\xfd\x0dr\ +\xcdI+\x1e\xdf\xb0\x9e\xbd\xfb\xb6\xf0\xe0\x83m\xbc\xfc\ +\xde\xf6\xde\xfdd[\xaf\x7f\xb0\xb9\x07_\xd9\xf0\xe9\x17\ +\x84\x86\x8f6t\xf6\x8b\x0d\xdc\xfa\xcdz\x00A\xfb\xc1\ +/\xd6\xc4\xc0\xd5`A\xe5\x00\xa1\x84\xb8_\xb2\xf2\x85\ +\x95\xae\x7fk\xa5\x1b\xdfY\xc9\xc6\xb7V\xb4\xf6\xc1\x0a\ +\x96_X\xee\x9c\x8a8U\xc4\xa2\x85\xa3],t\xc3\ +2\xdb\xd7\xf0x\xb0\xecZ\xf2\xfd\xea\x09\x94\xab\xedm\ +J\xb7\xc4gd8\xda\xc8y!c\xa6^\xca:\x80\ +J\x9e\xd3\xa7\x9eCx\xe0l\xc6L\x8aW\xef\xdf\xb2\ +\xc9S\xab\xc6\xcb\xd4\xaf\xbd!{\xf9\xc2\x9a\xb7\xbe\xb6\ +\xa6-\xd5=|c\xf5\xeb_Y\x0d\x0a\xafZA\xb0\ +\xf6\xaa\xf5\xaf\xadz\xf3\xa3\xd5\xec\xfc\xe0\xbcT\x15\xaf\ +\xe5[\x1f\xadd\xfdK+\x5c|ky\x00:g\xe2\ +\xb1\xa9\x862\x9bP\x97\xad\x22\x95\xe1\x1b\x08\x1el\xe4\ +\xba\xc5\xe8(2\x15|\xe4\xcf=\xb2\xfcY\xefT*\ +\xd5\xbe\xab\xc6N\x85\x94Z\xb7\x16\x18$\xaa\xb3\xcbt\ +\x8b%0L\xadY+\x07V\x9e\ +B'\x89\xe7\xe9g\x17W\xdb\ +\xa7\xb9\xcb]\xc8DP\x04* 0\x85\x1c\x05E\xa0\ +\xc4\x04\xde\x03!\x00\xe7%8\x9fB\xaa~\xccn\x05\ +h\xc2x\xdaF\x04\xd49$7\xd1\xdf\x06\xf6\x9d\x12\ +h\xf2\xec\xbe \xe5e\x08\xe0}\x04\xfd\x1d\xb2\x03|\ +\x00q'\x04\xd2\x80\xc6\x0e\xc6\xa4[\x8c\xa9r\xbff\ +\xd1\xb7\x01\xbcr?\xa1\xbe\xcc\x1a\xcb\xe4\x9c\x8c\x00\x9a\ +y9\xa0o\xa1?\x06\x197\x87\x1d\xe8\xea\xce!\x1b\ +n\x12\xed7\x12<\x8b!\xf4\x880\xcb\x04\xf4c\xc8\ +$\x10\x12\xde+<\x9e\x9c+^$$\x91\x18\x02G\ +\xacg\x81\x1e;\xd0C<\x02j\xd0\xc3\x90\xab\xc03\ +\x11\xf1\xb2*\x22\x1c\x91\x9a>;&\xf0m\xd2\x89X\ +\x14X\xf3\xa3\xee\xb3\xecdB\x8e\xd9\xb9\xd1\xd6\xc9@\ +>\xfa\xb5\xf3\xf5\x84\x90\xcf\x8a\xc0\x84\xdb\x87\x8e\x0f\x16\ +\xde\xdbiw3\x00\xbd\x0aI\xd9\xbe3\xc3\xe1,\xfd\ +\x8e\xa3\x96G\xbb,\xd8#y\x03d\xcc\x04\xf6LI\ +5\x15\xf4\x18\xcd\xc8!\x81&\x13x\xb2\xb0G\xa8\x98\ +\xd7\x97J\xea\x93v5\xda\xdbu\xf0f\x14\x07\x92\xfc\ +\xb1y\xcd\xadt\xa3\xf6\xa1\xb7\xd0\x1e\x08\xf6HR9\ +\x17\x9d.Q\x88JMX\xe3E\x11\xc8\xf9\x91\x84\xf7\ +6\x92\x90d\xdf\x972\x84\xd10\xd7\xf9\x22\x02'^\ +\xd7?\xed\xed\x0f\xbc\xcbE!\xdb\xbc\xce\x86SF_\ +w\x8ev\x01Hy\xe1\x9cN\xb5.\xcf\xf0\x0d\xfa:\ +G\x83\xaa\xe2\x16:\x1d\xdb\x0d\xe0\x5c\x0f;d\x81\xc7\ +k\xf3\xee\x13\xb6\xb6_\x18x\x11B\xac\xd8\xfc.\xa5\ +\x1f`t\x8aZ\x1d\xe5v\x8c\xd0M\xa6#$\x9db\ +1&\xcfu\xde\xb2q\x9f\x90\x9d\x86\xbe\xbd\xe8<\xc7\ +\xfb2\xf7\x0f\xe6\x1c\xe5c!G\x1c\xdd\x88\x0e\xe8\x1a\ +\x85\x8f\xea.\xef\x842G\xf0z\x99e\x88\xdb\xbc\x96\ +\xabn\xecx\xf1_\xa0JA\x0a\x0a Icons / Notifi\ +cation / Error -\ + black\x0a \ + \x0a\ + \x0a \ + \x0a \ +\ +\x0a \ +\x0a\x0a\ +\x00\x00\x01u\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ +\x00\x00\x01\xd0\xa2K@\xfc\x1f\ +\x84\x81\xfc\xff06\x10\xbf\x02\xf2\xe7\x00i9Z\xf8\ +\xd8\x02\x88\x9f\xa3Y\x08r\xc0_4>\x8c\xddHM\ +_G\x00\xf1?\xa8\xe1 \xfa/\x0c\xe3\xe0\x83\xd5\x02\ +\xf1\x1a \x9f\x91R\xcbA>\xff\x87\xc7\xc7\x84\xf83\ +(u\xc03\x12-\xc4\x16%n\xe4\xc6{>\x11q\ +N\x8c\x03\xae\x93\xeb\xfb\x8b0C\x09\xc49!>\xc8\ +\x0c}r\xf29H\xe3?\x0aC\x00\xc6\xaf!\xd5\x01\ +\x0e\x14Z\x88\xce_C\xaa\x03B\xa8\xec\x80\x03\xa4\xc6\ +\xbf\x0f\x09\xf9\x9e\x984\xb0\x95\xd4\x10P\xa7r\x08L\ +\x22\xd5\x01l\xd0\xb2\xfd?\x95\x1c\x10@N90\x9b\ +\x0a\x0e\x00\xe5\xa2\x9f@\xccDN9 \x0d3\x84\x82\ +4\x00\xd2\xdfBIQ\x5cOa\x08\xdc\x01\xd2\xcc\x94\ +V\xc5k\xc8t\xc0\x1b _\x99\x1am\x01F \x9e\ +\x81\xa5\x01\x82+\xceAl\x90\xcf\x95\xa9\xdd\x1ar\x07\ +\x1az\x13\x9a\xaf\xe1\x8eA\xe3\xff\x04\xc59\x10\xb3\xd0\ +\xb2=\xa8\x0f\xc4\xb5@\xbc\x16h\xd1! \xbd\x1d\x88\ +\xa7\x00q \x90\xcf\xcc0\x0aF\xc1( \x11\x00\x00\ +\x90\xbf\xd0E\xdf\x04S\xa8\x00\x00\x00\x00IEND\ +\xaeB`\x82\ +\x00\x00\x02\xaa\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ +\x00\x00\x02qIDATx\xda\xedWMHTQ\ +\x14\xd6q,\x0c\x1db\xd0d\xa86\x814!\x11A\ +\x90\x92H\x14\xc4@\xaef\x11\xb5\x10l'\xe4l\xc4\ +\x85\xcb\x1aA\x88@\xc2E0\xad\x1c1h!\xd3\xa6\ +\x7f\x9a\x84\x90hg$$\xb6\xa84]\x88\x039\x8b\ +\x18)g\xf2;\xf0=8\x5c\xdfLo\x86\xb9\xd2b\ +\x1e||s\xcf\xb9\xef\xdes\xbew\xce}o\xea\xea\ +jW\xed*\xe3\xba>0\x14\xbbq3\xf6\x07w\ +\xe9q\x8d\x8fN\x00\x15+\x80\x88E\xbe\x0f\xe0\x97\xe0\ +\xa8\x11\x80\x1f\xf6\xcfF\x9f;\x9c\x01\xb7x\xad\x01\xd8\ +\xafJ{\x82g\xc0>\xbd\xc9)#\xab\x84\x11D\x08\ +\xf8i\xcc\xd9\x06\xcex\xad\x01U?\x82M\xa0IG\ +\x16fF\x1b|\xdb\xc9\xa4Qc\x81n\xd8w\xd4I\ +\x17\xf5\xda\x05\xac\x15\xb9oM6\xe7>M\xfa\xe60\ +#{\x0c\xf4\x02\x05\x8e{\x8cM\xae\xd1>\xec\x92\xa1\ +S\x039\xad\x00~\x1f\x06\xb6\xe8\x93\xb5\xbf\x01\x1b\xc5\ +\x14Hq<\xa0\x14\x09\x19\x1b\x9d.QK\x17E)\ +c\xfe\x0b*s\x8f\xe3\x1f\xa5\x14H)\xdb]\xda\xa4\ +\x00\x0fU\xd8A\x0f\xb8\xc6;\x8e}\x12\xc0?\x15P\ +\xf6I\xda\xbfK\xa1\x96\xd1UG0\xff53\x9f\x07\ +\xfbio\xf0\xac\x80\xf2\xddR5\x91\x04\xce;\xad\xa7\ +\xe6\xc8\xc2\xb2\xe9%9%\xd5\xf7\xc1}\xa0\xde\x98\xe7\ +]\x01\xe5\xef\x90\xd7\xadz\xcfK\xab}\x05/\x81\x97\ +\xc1\xeb\xf2\x1aV\xfeW\xe0\xb3.\xeb\x94\xaf\x80\x91\xe9\ +1`\x10\x90#y\x1e\xf8\x04,\x00r4'\xe4[\ +\x10h/q\xbf\xd4\xc0\xaa\x9b\x02'\x9d\xc8-\x7fU\ +\x1f\xe49\xb1G\x01\xe9\xe1\x1d\xf6\xf0\x09Ko\xd2\x03\ +\xc0C*\xbd\xe06a\x92\xcf\xf0\x17x\x0e\x9c\x06\xa7\ +\xab\xc4o\xc1\x19U#}\xc5\xa2\x1c\x01\x16Y\xa9\xab\ +U\xc6\x0a\xf0\x1e\x88xyV\x8d\x98\xd8Xe\xf6\xff\ +\x97\x7f\xf7v\x01&\xc7\xb3\xa0\x90\xee\xe83\x00\x00\x00\ +\x00IEND\xaeB`\x82\ +\x00\x00\x02\xa5\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a Icons / Notifi\ +cation / Warning\ +\x0a \x0a \x0a \x0a \x0a \x0a\x0a\ +\x00\x00\x06}\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a Icons / Icon G\ +rid\x0a \ +\x0a <\ +path d=\x22M7.02749\ +543,18.2117232 C\ +7.8834099,18.038\ +7856 8.54248262,\ +17.8471758 8.883\ +41584,17.6633902\ + L9.13660094,17.\ +5269066 L9.41318\ +015,17.6058648 C\ +10.2365316,17.84\ +09162 11.1075671\ +,17.9625414 12,1\ +7.9625414 C16.32\ +37915,17.9625414\ + 19.7799758,15.1\ +162719 19.779975\ +8,11.6803149 C19\ +.7799758,8.24435\ +789 16.3237915,5\ +.39808842 12,5.3\ +9808842 C7.67620\ +852,5.39808842 4\ +.22002417,8.2443\ +5789 4.22002417,\ +11.6803149 C4.22\ +002417,13.43386 \ +5.11977547,15.08\ +21543 6.6930318,\ +16.269688 L7.214\ +92385,16.6636253\ + L6.12154393,18.\ +3763334 C6.43148\ +919,18.3255971 6\ +.73578148,18.270\ +664 7.02749543,1\ +8.2117232 Z M3.9\ +4487569,20.05404\ +83 L5.67352379,1\ +7.3462342 C3.805\ +49981,15.9362024\ + 2.63427705,13.9\ +10191 2.63427705\ +,11.6589 C2.6342\ +7705,7.3991563 6\ +.82745404,3.9459\ +5171 12,3.945951\ +71 C17.172546,3.\ +94595171 21.3657\ +229,7.3991563 21\ +.3657229,11.6589\ + C21.3657229,15.\ +9186438 17.17254\ +6,19.3718483 12,\ +19.3718483 C10.9\ +251584,19.371848\ +3 9.89260571,19.\ +2227398 8.931178\ +29,18.9482703 C7\ +.61917454,19.655\ +5273 3.94487569,\ +20.0540483 3.944\ +87569,20.0540483\ + Z\x22 id=\x22path-1\x22>\ +\x0a \x0a \x0a <\ +g id=\x22Group\x22 tra\ +nsform=\x22translat\ +e(-2.000000, -3.\ +000000)\x22>\x0a \ + \x0a \ + \ +\x0a \ + \x0a \ + \x0a \ + \x0a \ +\x0a\x0a\ +\x00\x00\x01\x12\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ +\x00\x00\x00\xd9IDATx\xdac`\x18\x05\xa3`\ +\x14\x8c\x82\xa1\x06\x22\x13s\xd9\x818\x15\x887G$\ +\xe4\x5c\x00\xd2\x87\x80\xb8\x1b\x88Uhn9\xd0BG\ +\xa0Eo\x80\xf8?\x08\x03\xf9\xffal(\xbf\x87\x96\ +>w\xc2b\xe1_4>\x88^F\x0b\x9f\xb3\x03\xf1\ +k\x98\xa50\x0c\xe4\xff\xc3\xc2\x07\xa9\x09\xa2\xb6\xefS\ +q\xf8\x18\x17\xff4\xb5\x1d\xb0\x91D\x07\x800\x0f5\ +\x1dp\x9e\x0c\x07(R3\x0d\x1c\x84&\xb0\x7fD\xa4\ +\x81\xbf\xd0t N\xcd\x10\xe8\x221\x04^\x011#\ +5\x1d\xa0\x04\xb5\xe0\x1f\x91\x0e\xe8\xa0E9\xd0Cd\ +9\xf0\x0c\x889hU\x18-\x83\xc6/,4\x90\xe3\ +\x1cl9\x90V\xa1u]\x10\x04\xca\xe7hE1(\ +\xce;\x81|\x0e\x06z\x01P>\x07Z\xa8\x08\xa4\xc5\ +\xa9\x9a\xe0F\xc1(\x18\x05\xa3\x80\xde\x00\x00*\x106\ +\x97\x13c\xdc\xaf\x00\x00\x00\x00IEND\xaeB`\ +\x82\ +\x00\x00\x01\xf5\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ +\x00\x00\x01\xbcIDATx\xdac`\x18\x05\xa3\x80\ +D\x10\x91\x90#\x06\xc4\xd7\x80\xf8jdb\xeeU\x10\ +\x0d\xc47\x81\xb8\x84.\x0e\x00Z\xaa\x02\xc4\xffA\x18\ +h\xe9\x7f\x18\x1b\x88\x17\xd1\xcb\x01\xcaH\x0e\xf8\x8b\xe4\ +\x80\x05#\xc3\x01@KU@A\x0f\xb5\xfc\x1f\x88\x86\ +\xf2\x17\x8c\x98(P\xc4\xe1\x80\xf9\xb4\xb4T\x0e\x88u\ +\x81\x16j\x01\xe9(\x1c\x0e\xd8\x0b\xe4k\x00i\x1d(\ +f\xa1V\x9c3\x02\xf1mX\x96\x83\xc5?Z\x1a\xf8\ +\x8b&\x0f\xc2\xce\xd4\x0c\x01\x17\xa8\xe1\xff\x90|\x8c\x1e\ +\x02\xc8\xf2\x1bi\x11\x0d\xe9h\x05\x0f6\x07\x80\xe8\xab\ +\xe4Z\xc0NDtL'\xe0\x80W@Z\x92\x80=\ +L\xd8\x0cV\x06\xe27@\xc9\x07@\xba\x06\x14\xefx\ +\x1c\xb1\x17K9\x00\xa2\xff\x00\xf9\x16\xf8\xea\x10\xa0\xfc\ +J \xfd\x1c\x88\xeb\xd1]\xa5\x87V\xb6o\xc7\xe3\x03\ +\x1e \xbe\x8f%\x04\xa2\xf0\xe8\x11\x02\xe2gH\xe6\xcf\ +CW\xa0\x8b\xc5\xc0\xe9x\x0c\x94\x05\xe2\x1fH\x06\xb6\ +\x11\x08\xf6#h\xe6\xcf%\xc6\x01 ~\x00\x1eC\x9d\ +\xa1q\xbe\x94\x80\xe5yX\xd2\xcc\x5c\xf4\xf8\xd1\x85\xfa\ +\x069_\x83\xb2\xd47 \xadFA\xce1FJ#\ +\xb04\x03r\x08\xd1!\x00\xa2_\x03\xb1\x12\x99\x96\x7f\ +\xc0\x91k\x88v\x00\x8c\xff\x05\x88#\x88\xb4\x98\x0b\x88\ +\xab\x81\xf8/\x9er\x83d\x07\xc0\xf8\x17\x81t\x19\x10\ +\x9b\x03\xb1(\x90\xcf\x0b\xa2\xa1\xb9(\x06T%\x03\xe9\ +7x\xf4\x93\x94\x06\xfebI\x13\xc8e\xfd\x7f<|\ +l\xfa\xc9J\x03\xb4\xe2c8@\x9b\xce\x0e\x98\x8e\xad\ +t{KDeC-~\x18\xb6\xb2:\x84\x848\xa6\ +\x84\xbf\x1e_m\xa7\x04TT\x07\xc4\x13\x81x\x02\x90\ +?\x01D\xc30\x85\xfc. \xdfo\xb4k\x87\x0e\x00\ +\x0bqL\xd4T\x13W`\x00\x00\x00\x00IEND\ +\xaeB`\x82\ +\x00\x00\x00\xd5\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\ +\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\ +\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00\ +\x09pHYs\x00\x00\x0e\xc3\x00\x00\x0e\xc3\x01\xc7o\ +\xa8d\x00\x00\x00jIDAT8Oc\xfc\xff\xff\ +?\x03%\x80\x09Jc\x80\xc522\xffA\x18\xca\xc5\ +\x09\xb0\x1a@\x8cF\x18\x00{\x01\x9f\x86\xd8'O\x18\ +\xa1L\xac\x00\xa7\x17`\x80\x90k\xc0\x06\x10\xb2\x05\x9f\ +!\x04]\x00\x03 C\xb0\x19D0\x0c`\x00\x97+\ +\x09\xba\x00\xa4\x11\x9f\x17Q\x0c \xa4\x18\x1b\xc0\x99\x12\ +a\xde\x22d \xed\x922\xb1`\xc8\x1b\xc0\xc0\x00\x00\ +\x1d[2\xc1\xc0t\xc2\x0d\x00\x00\x00\x00IEND\ +\xaeB`\x82\ +\x00\x00\x00\xeb\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ +\x00\x00\x00\xb2IDATx\xdac`\x18\x05\xa3`\ +\x14\x8c\x82Q0\x14Adb\xae:\x10O\x8eH\xc8\ +\xd9\x0f\xa4\xd7\x00q8\xdd,\x07Z\x1a\x0f\xc4\x7f\x81\ +\xf8?\xd0\xe2\xff \x1a\x8a\xb7\x00\xf9\xcc\xb4\xb6\x1c\xe4\ +\xf3\xbf \x8b\xa1\x96\xc3\xd9P~\x1b\xad\x1d0\x19\xcd\ +Bt\x07\xbc\x05\xd2l\xb4t\xc0~\x02\x0e\xf8\x0d\xa4\ +\x15i\x99\xf8VA\xe3\xfb/\xd4\xf2\x7f06\x10\xff\ +\x03\xf2\xbf\x02i\x11Z\x86@\x18\x81\x108H\x8f,\ +\xb8\x19\xc9\xc2\x7fH\x0e\x00\xf9^\x95\x1e\x0e`\x06\xe2\ +6 ~\x0b\xb4\xf0\x0f\xc8b >\x04\xc4\xaat-\ +\x8c\x80\x96\xb3\x81\x12\x1c\x90\x16\x1d-\x9aG\xc1(\x18\ +\x05\xa3`H\x03\x00\xac\xe7\x98*\x92\x10\x95\xa4\x00\x00\ +\x00\x00IEND\xaeB`\x82\ +\x00\x00\x03\x0b\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ +\x00\x00\x02\xd2IDATx\xda\xed\x97MH\x94Q\ +\x18\x85\xd5i\x0a-\x17\xba0\xcc1!\x88\xc2(\x0b\ +\x92\x5cLFn*\x88Z\x05J(\xd3&*4B\ +\xfbq\xd5\xa2\xc2 \xa4\xb2_Z\xb4\x88\x8aP\x82)\ +\x22\xab\x85\x14Q\x8b\x16\x81\xf4\xb7h!\x16\x95\x05-\ +\x8a\x8a\xd2t\xea\x1c8\x1f\xbc\xdc\xee7)\xe9H\xe0\ +\xc0\xe1r\xee\xf3\xcd\xbd\xef\xf7\xce\xfdy'+k\xea\ +\x83O\xdd\x96\xa6\x1d\xd0\xc1\x10\xb6\x11\xba\x09\x1d\x0e\xe1\ +\xab\xa0\x1b\xd0\xb1\xdaDc\xae\x87/\x86\x92\xd09\xf0\ +\xc2\xb0\x00NC\xbf\xf0@\x9b\xed\x87\xaff\x7f \xf8\ +\xf3\x0e_\x84\xfe\x94\xe1\xb7\x1c>\x1b\xfd?\x0c\x7f\xe2\ +\x0d\x00\xa0\x03\xe2C?\xed[\xc0?b\xbf\x94\xd2 \ +s\x0dOzx\xa5\xe1\x1d\x86\x07A\xac\xf7e\xa0Z\ +\x90\x0f\xd5\xaa\xaf0\xf8\x12t\xd9\xf0f\xf1\x5c\xf8\xef\ +\xe2]\xd0\x90x\xbbx\x04\xfe\xb5x\x0f4 \xde\xe9\ +\x0b`:\xf4N\x0f\x5cT\xdff\x13\x00S\xfdL\xbe\ +G\xbc\xc6\xf0\x95\xd0]\xf9\x97\xe2\xe5\x86\xd7A\x17\xe4\ +?\x86\xad\x83.=\xd0'\x7fI\xfe\x8d\xfcQ\xf9\xcf\ +P\x0etD\x9eY\x88@\xbb\xcd\x84\xb3\xa0\x9d\xc6\xe7\ +C\x9b\x8c/\xf7\xad\x83D\x90fh!\xf4J\xbeS\ +|\xad\xe1\xcb\xb9\xa0\xe4\x1f\x88/3|\x03tG\xbe\ +O\xbc\x18~D\xbc\xd5\x97\x81\x22\x13a\xb7\xf9\xcd\xeb\ +\xc5\xa3\xf0#\x1e\xbeO<\x1b\xfe\xbd\xf8}\xe8\x9b\xf8\ +I\xf3\x92\xbd\xe2\x8f\xc3v\xc3Cg\xdbq\x0b\xe5\x1b\ +\x9et8\x03*3\xfc\x84\xc3\xd9V\x1a\xbe\xc7\xf0\x12\ +_\x00+\x9c\x01\xf6:|\x01\xfa\x07\x0d?\xee\xd9\xf7\ +\x9f\x0c\xbf\xea\xf0(\xfa?\x88\xc7\xc2\xb2\x10\x87\xcep\ +M\x84\xf0\xa5\xd0)h;\xd3\xee\xe1\xf3\x98\x09\xa8\x85\ +\xbb\xcb\xc3K!\x9e\x9a\x05\xff\xfd\xfd\x11,Z\xae\x93\ +\xc8d\x04P\xaaE\xc8\x00\xf22\x1e\x00&\x8fa\xe2\ +a\xee\x14\xdf-\x98\x89\x0c\xc40\xf1\xb020)\x01\ +\x14+\x00\x1e\xc5\xd1L\xa5\xbd\x0c\x93q\xfbm\x85Z\ +\xb5\x06\x86\xa0&\xf6\xc1oC[0\x91o]\xe5\xdc\ +\xef)\xd6\x01\xc6\x0frmLt\xea\x1b\x9c\xa3\xd8\x9e\ +\x9c\xf1L\xfd\xfe\x87<\x01$2\xbd\x08\xaf\x99\xdb\xb3\ +}<\x16X\xceX\x9f\xc7\xc4/\xd0v\xff\xf3\x5c\x18\ +\xe8\xac\xb9>\xbfB\xcfY\xbb\xc17\xa2]\x92f\xa0\ +\xec4\x19\xca\x03\xafA{\x00\xba\x0d\xf5k\xdb\x06Y\ +\x8b\x87\x05\xe0\xde\xe7\xd4\x80J6\x06\xc4A\xe7Cs\ +T\xe5P%\xac\xffY\x09\xa1\xdd\x0f\xdd\x83\xbe\xa4\x19\ +\xef\x8f\x00\xaa\xa0]\xbc\xffY\xfbA\xd7\xa1\xb7\x7f\x19\ +`\xb4\x9e\xe5\xfaS\xd5\x98mh[tn\x14\x8df\ +\xa1\xf1-\x1b\xa0+P\xbf\xa9\xf9l\x9d\xefz\x9e\x0b\ +\xbd,V\xe0\xd7\xa0\x9d1\x9e'\xe1L\x0cZ\x01\xad\ +\xe3\xff\x07\xf8z\xd6\x8c\xacx\xa1\xd5,F\xd0N\x9b\ +\xfa\xb3;\x96\xcfo\xe5\xb5\xdc\x8eP\x05\x84\xb2\x00\x00\ +\x00\x00IEND\xaeB`\x82\ +\x00\x00\x00\xe0\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\ +\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\ +\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00\ +\x09pHYs\x00\x00\x0e\xc3\x00\x00\x0e\xc3\x01\xc7o\ +\xa8d\x00\x00\x00uIDAT8O\xd5R\xed\x0e\ +\x80 \x08\xd4\xd6{\x83ON\x9d\x03\xe7,\xd0\xd5\xfa\ +\xd1m|(p\x0a\x9aE$\xbd\xc1\xa6\xf6\x82R\x8a\ +@t\xe9\xe2\x96\x00\x85D\x94u\x19b\x87\x1aOZ\ +-\xae\xc0\x0c\x98\xf94R\xfdQ\xa2\x18\xa49OI\ +\xdc!\xf6@K\xeeP\xc12;=\x8aWe\x09c\ +rTh\xd2Z\xb0\xa7\xb3\xeb\xea\xf6\x14\xeeO4\x92\ +\xd9\x93~\xf7\x95W\xf1{\x82\x94\x0e\xd4\x89\xe2k\x0c\ +\xdb\xee*\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x00\xa6\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ +\x00\x00\x00mIDATx\xdac`\x18\x05\xa3`\ +\x14\x8c\x82Q0\x0a\x86*\x88L\xcc\xad\x89H\xc89\ +\x07\xa4\xd7\x00\xb1\x14\xbd-\xaf\x05\xe2\xff@\x07\xfc\x07\ +\xd1@\xfc\x98\xde\x0e8\x03u\xc0_\xa8\x03@X\x85\ +n\x0e\x00Z\xbc\x1a\xea\xfb\x7f@\x1a\x84A\x8e\xe1\xa2\ +g\x08H\x82\x82\x1d)\x0aR\x07$!\x02\x1d\xa0\x02\ +\xb4\x9ck4K\x8e\x82Q0\x0aF\xc1(\x18\xd2\x00\ +\x00e^3\xba\x9ez\xe49\x00\x00\x00\x00IEN\ +D\xaeB`\x82\ +\x00\x00\x00\xef\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ +\x00\x00\x00\xb6IDATx\xdac`\x18\x05H \ +21\x97\x11\x88C\x81\xb8\x18\x88\x0b\xa9\x88\x8b\xa0\xd8\ +\x05\x9f\xe5\xdc@|\x19\x88\xff\xd3\x18o\xc0\xe5\x80i\ +d\x18\xf6\x1b)\xe4\xf0a\x16 \xf6\x01\xe27P}\ +)\xd8\x1cp\x85\x0c\x07\xfc!1\x8aM\xa1\xfaVb\ +\x93\xbcFk\x07@\xed\xf9\x00\xc4\x9b\x06\xd2\x01\xcf\x06\ +\xda\x01\xcfG\x1d0\xea\x80Q\x07\x8c:`\xd4\x01\xa3\ +\x0e\x18u\xc0\xa8\x03\x06\xad\x03\xae\xd3\xa1Q\xca\x8e\xb3\ +i\x0e\x14\xdcK\x07\x07\xac\x83\xea\xeb\xc6&iEf\ +Gc\x11\x10/#\x80W\x01\xf1{\xa8\xfa\xaf@,\ +\x8e\xcb\x85\xd6@|\x08\x88\xef\x92\x80\x1f\x10\x89\xef\x01\ +\xf1\x16 V\x1c\xed\x04#\x03\x00u\xbb\x07\x04\xef\x85\ +8\x87\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x00\xfe\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\ +\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\ +\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00\ +\x09pHYs\x00\x00\x0e\xc3\x00\x00\x0e\xc3\x01\xc7o\ +\xa8d\x00\x00\x00\x93IDAT8O\xa5\x93[\x12\ +\xc0\x10\x0cE\xb1\x0d\xb6fs\xb55]G;!\x94\ +4\x8f\x0fg\xa6\xa3&rs\xe3\xe1\xaf\x18\x1fw@\ +\xc8w\xf5\xf8\xbf\x91k\xf5\xf0\xe1T$\x94\x98~\x0e\ +\xb4D*\xdcZ\xd0\x12J\xfa\x0a\x80[Z0\xe0(\ +\xb2\x8asn\x9b\xc0Z\x85Csh:\x18\xd0\xde\x07\ +\xe6\x1e\x0c$\x97\xa6\x03H\xd4Z\xdc\x04\xac\xc5\x1c\xe2\ +M\x1cmi\x82p\xacS\x80;\xe3\x15)\xdeZ\xe0\ +\x82tc!\x0e\xebp:\xe9\xf7@\xa9\xbc\xc2\xad;\ +\x7f\x8d8\xaap\xd6;\xce\xbd\xfa\x8fW\xbc\x9c\xc2\xae\ +\xed\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x00\x8b\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ +\x00\x00\x00RIDATx\xdac`\x18\x05\xa3`\ +\x14\x8c\x82Q0\x0aF\x01\x99 21\xd77\x22!\ +\xe7.\x90\x9e7P\x0e\xb8\x0bt\xc0\x7f \x0d\xc2\xa6\ +tw\x00\xd0\xf29 \xcb\x81\xf4+ \x16\x1c\x90P\ +\x00Zl\x0at\x84\xe0h\x82\x1c\x05\xa3`\x14\x8c\x82\ +Q0\x0a(\x01\x00\x9bf\x16\x9e7\xad\x98\xae\x00\x00\ +\x00\x00IEND\xaeB`\x82\ +\x00\x00\x02\x02\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ +\x00\x00\x01\xc9IDATx\xda\xedW\xbbJ\x03A\ +\x14MLc)XJTD\x91\xd8\xf9\x016V\x82\ +A4I\x13AH\xc4\x80\x8d\x96\x96NZ\xbf\xc4\xca\ +GH\x14T,\xf4\x17\xfc\x89<\xf0E\xea\xac\x9e\x0b\ +we\x18fwgv\xb2\x09B\x16\x0e7\xb3\x99\xdd\ +{\xee\x9c3\x8fM\xa5&\x97\xe3\xb5_=M\x8f+\ +\xf1N\xb9z\xd2F\xec\x03g#M\x8e\xc4\x05\xe0G\ +\x81\x18U\xe5%\xc0\x03(\xe9\x80\xa2\x8f\xc4I \xc1\ +\xae\x92P%@Q$Uy\x81\x13\x84\x11\xf0\xf8w\ +}\xd8\x95\x17Yg\x8f\x92J\xd0\xb5\xbd\xa1z\x02\xd5\ +\x14C4\x8fj\x0bg\xb7[&\xd4y\xa2\x1e\xb7\xf2\ +=\x03\xcd\x07\x86\x9e\x10\xb6\x95\x97\x14=eDy\xc0\ +\xcd\x13\xe4vIsb\xff\x02l\x02e\xb4?\x1cG\ +DDU\xbe\xae<\xd0dR\xb3\xc0\x14\xdaY\xc4\xae\ +\xa3'*a\x04\x84\xf4\xc0\x1d'\xaf\x01\xf4\xa2\x0e\xfe\ +\x9fG$\xb4\x1d\x084\xc3\x08\xe4Y\xaf\x16\xb7\x0f\xa5\ +\xf9O\xb1\x0b,\x02s\xc0{\x0cOP\xff\xf3(\x0f\ +T8\x1ehf\x01\xc5\x1e\x8fB\x96HX\x8e@\xcb\ +\xd4\x88G\xca4R_\xf8M$h$|9\x0c\x08\ +\x5c\x99&\xaf\x19\xbe\xb0Gr .\xf8\xc6\x0c\xe9\x7f\ +mtp\x91\xf6y\xcf@S\xeaG\xc6\x9c\x016\x02\ +\xf6\x0a\xbawo\xb3\x00]\xc6p\xf5\x160\x1d Y\ +\xc3v\x05\x5c\xc1\x83_\x16\x04\x1eX\xb6\xe3\xd8\x9ak\ +<\xb0\x06|\x1a\x10x\xe6\xfey\xcdn\xd9p\xdd\x05\ +s@?`\x9e\xd3\xbdW\xee\xb7-\xad\xf7\xf6\x9aG\ +\x8c\xc4\x12\x91\xd0h\xfe$\x9d\x8a\xd5u\xe2f\xd8'\ +\xa1\x9c/\x07'xD\xcc\x00\xcb\x12\xa1?\xcd\xd1N\ +'q\x16$O\xbcq\x82\x8ct\xffB\x22p;\x96\ +\x8f\x13\xda\x1d\x81\xd5\xc9\xf7\xe1\xbf\xbe~\x01}\x06\x5c\ +\x02\xc1U\xc6\xe7\x00\x00\x00\x00IEND\xaeB`\ +\x82\ +\x00\x00\x00\xd0\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\ +\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\ +\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00\ +\x09pHYs\x00\x00\x0e\xc3\x00\x00\x0e\xc3\x01\xc7o\ +\xa8d\x00\x00\x00eIDAT8O\xd5\x91Q\x0e\ +\xc0 \x08Cq\xd9\xbd\x99'g\xe9\x06\x06q&\xea\ +\xcf\xb6\xf7SBLmC\x12\x11\x029\xe7{\xe8\xc0\ +\xcc\x09o\xa0\xba\xba\xd8T\x87\x89\x1fM\x1b\x00o2\ +UA\xc7\x8aa\x83\x88\x19.U\xf0\xec\xaa\x85^T\ +#&}\xbfBc\x00gs\xe7\xa3\xd6'~p\x05\ +$\xf3\xbb\xef]\xa1$X\x83\xe8\x04\x88\xd4H\x07\xd8\ +\xd9\x12\x13\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x01/\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\ +\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\ +\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00\ +\x09pHYs\x00\x00\x0e\xc3\x00\x00\x0e\xc3\x01\xc7o\ +\xa8d\x00\x00\x00\xc4IDAT8O\xa5\x92\xd1\x0d\ +\xc3 \x0cD\x01E\xcd\x10\xcd\x0e\xedB\x99.\x0b\xa5\ +;\xa4CD\x8d\x94\xf6\x5c\x83\x8ck\xc3G\x9fD\x04\ +\x0e\x1cg\x9b\xf8Z/g\xf8\x834\xdc\xf7\xc8\xf3\x8a\ +\xe1\xb6G\x0c^\xba\xa4c\x1d\x7f\x1c@t\x99&\xd3\ +\x99\x16N\xf8\xe4`\x1e\xcb\xd59\xfc\x11>\x1e\xe3\x89\ +\xc1\xa1@5\xa0C\xce\x8d\xf3s\x8b\x96\xcb\x0c9\x80\ +\xe2\xbcmf\xbep\xe3\xd5\x09\x90@\x0f\x12\xe1\xf48\ +T\xe8\xa7\xc0\xced\xde\x92\xca\x016\xcbT0\xd7E\ +\xd3\x14\x01\xb9\x19\x85\xe3p\x17\xf7%\xe6|[\xb7\xa3\ +\xb8\xc5\x81\xae\xb4\xb6nu\x02\xed%\x01z \xaa\xd7\ +\xba\xe2\xf8o\x89\x90@\xeb\xa1H\xac}U\x17$\xad\ +\xdc%\xae\x80\xc4\xb2\xfe%\x847o\x1ay\x8cB\x12\ +\xd5\x15\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x01\xe6\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ +\x00\x00\x01\xadIDATx\xda\xedW\xcdJ\xc3@\ +\x10\xeeK\x88 ^D\x11\x11\xd1\xda\x1f\x22^l\xd2\ +J\x9e\xa1\xde\x0az\xb3\x82\x17\x05\x1f@(\xf8\xb0\x05\ +\x1blS\xd38\x1f\xec\xc2\x12v6\xbb\x9b\x04`\xb8]\x8e\xe6\xb0\xd8\xa2\x0cO\xb8\xcf\x02\x12\ +\xde\x97\xf4\xab\xc9y\xcaq;\xc8\x0a\x8c\xc9\xd4\x04\x1c\ +9\xb1u\xe0\xd4\xc0\xfd\xa1E\xcdp\xb3\xe3\xc6%\xff\ +\xcfJNe\xce#\xdb\x01&\xe6\xbf\xaa\xbf\xf0\xa9\x83\ +'\x91\xd3\xad\xeb<'\xf9+DB\xe8/\xaat\xc2\ +\x19]p\xe0\xc9\x1f\xf8eu\xd1\xfe\xb7h\xd7\xbf_\ +\x7f\xb3\xb1^\xeamg8\x00\x00\x00\x00\x00IEN\ +D\xaeB`\x82\ +\x00\x00\x00\xd0\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\ +\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\ +\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00\ +\x09pHYs\x00\x00\x0e\xc3\x00\x00\x0e\xc3\x01\xc7o\ +\xa8d\x00\x00\x00eIDAT8O\xd5\x91Q\x0e\ +\xc0 \x08Cq\xd9\xbd\x99'g\xe9\x06\x06q&\xea\ +\xcf\xb6\xf7SBLmC\x12\x11\x029\xe7{\xe8\xc0\ +\xcc\x09o\xa0\xba\xba\xd8T\x87\x89\x1fM\x1b\x00o2\ +UA\xc7\x8aa\x83\x88\x19.U\xf0\xec\xaa\x85^T\ +#&}\xbfBc\x00gs\xe7\xa3\xd6'~p\x05\ +$\xf3\xbb\xef]\xa1$X\x83\xe8\x04\x88\xd4H\x07\xd8\ +\xd9\x12\x13\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x01\x05\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\ +\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\ +\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00\ +\x09pHYs\x00\x00\x0e\xc3\x00\x00\x0e\xc3\x01\xc7o\ +\xa8d\x00\x00\x00\x9aIDAT8O\xa5Sm\x0a\ +\x80 \x0c\x9d\x12\x05]\xa6\xdf\x9d\xa6\xb3u\x9a\xfe\xd6\ +e\x82(\xb0&j*\xfb\x08z0\xd6\xb4\xbd\xf7&\ +j\x9cs\xf0\x07\xf6\xda:\x92a\x99z\x87\x11J\x16\ +\xb6\x19\x0e\x13\xbe\x13\xa4F\x14\xccE\xfd\x08R\xc38\ +\xefI\x00\x1bkA\x1b2\x8b\x9c\x9cr\xeb\x09r\x15\ +\x0a\x92C\xd5A\x04\x92PD\xea\x19Dp.U\x07\ +\xd8(\x8dX\x10h?S`ob\x1cK\x22\xf4\xf7\ +\x01\x090\xce\xb5}\xd2[\xd7\xc1\xed\xb3\x9b_\xd7\x8a\ +\x22\x0f\xcdQ\x8c\xff\xaf1d\x11\xdc\x8b\x05\x00\xb8\x01\ +\xef\x94\xd6@\xd4\x8c1\xa7\x00\x00\x00\x00IEND\ +\xaeB`\x82\ +\x00\x00\x01\x88\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ +\x00\x00\x01OIDATx\xdac`\x18\x05t\x00\ +\xd1I\xb9<\x03iy\x03\x10\x7f\x04b\xc9\x81\xb0<\ +\x0c\x88\xffC\xf1m f\xa7\xa7\xe5\xe6@\xfc\x17\xc9\ +\x01 \xbc\x9b^\x96K\x03\xf1k4\xcba\xb8\x9f\xd6\ +\x963\x02\xf1\x1d\x1c\x96\xc3p<\xad\x1d\xe1\x01\xc4\xbe\ +@\xec\x0e\xc4\xb7\xa0\x966\x01\xb1\x17\x10\xfb\x03\xb1\x12\ +=\xd3\xc2\x09\xa8\x03<\x07*\x1b\x9e\x84:\xc0\x87X\ +\x0d\xea@\xcc\x0f\xc5\x1aP>>,\x0f\xc4,@,\ +F\xb1\x03\x80\x8av@\x15\x17B\xf1\x7f\x22\xf0U \ +V\x80\xb2\xb7\x90\xed\x00\xa0\x02\x0e \xfe\x0aU\x9c\x0b\ +\xc5\xc48\xe0\x1c4\x14`|\xb5\x81v\x80\xfa\xa8\x03\ +\xd0\xcc=\x0b\x15\xf7\x1d(\x07\x14\x03\xf1Jtq\xba\ +9\x80\x94\x02c\xd09\xa0\x80H\x07\x5c\xa6\x85\x03\xf2\ +\x80X\x18\x88\x83\x818\x10\x0f\x0e\x82\xd6\xfb\x92\xd4v\ +\xc0cP\xe3\x01\x88w\x11\x89OQ\xdb\x01\xc4\xe0\xdf\ +@\xfc\x0b\x88\xff\xa0\x89S\xc5\x01_\x09\xb5d\xa1\xd1\ +S\x01\xc4\x86Hu\x08\xd5\x1c\xf0\x05\x88E\x08\xa8?\ +\x04U\xdbF+\x07\x08\x10P\xbf\x1e\xaa\x0e\x14\x0a\xdb\ +\xa9\xed\x00P\xfc\xd6\x03q\x11\x01\x5c\x0c\xcd\xb2wp\ +\xd5\x86\xa4:\xa2\x05\xea\xabo\xd0\x04\xf6\x9b\x00\x86\xa9\ +\xf9\x0eu\xfcvj4\xa1\xd8\xa1\xa1A2\x1e\xed\x84\ +\x92\x03\x00\xf9}\xdcv\x87\xa5\x0a\x0a Icons / Notifi\ +cation / Helpers\ +\x0a \x0a <\ +g id=\x22Screen-1-C\ +opy-61\x22 transfor\ +m=\x22translate(-62\ +0.000000, -295.0\ +00000)\x22>\x0a \ + \x0a \ + \ +\x0a \ + \x0a \ + <\ +path d=\x22M12,2 C1\ +7.5228475,2 22,6\ +.4771525 22,12 C\ +22,17.5228475 17\ +.5228475,22 12,2\ +2 C6.4771525,22 \ +2,17.5228475 2,1\ +2 C2,6.4771525 6\ +.4771525,2 12,2 \ +Z M12.4748737,17\ + L10.4748737,17 \ +L10.4748737,20 L\ +12.4748737,20 L1\ +2.4748737,17 Z M\ +8.47487373,5 L5.\ +5,8.06066017 L6.\ +91421356,9.47487\ +373 L9.324,7 L14\ +.9,7 L16,7.888 L\ +16,11.306 L15.50\ +1,12 L10.4748737\ +,12 L10.4748737,\ +15 L12.4748737,1\ +5 L12.474,14 L16\ +.4748737,14 L17.\ +998,12 L18,12 L1\ +8,7 L15.4748737,\ +5 L8.47487373,5 \ +Z\x22 id=\x22Combined-\ +Shape\x22 fill=\x22#FF\ +FFFF\x22>\x0a \ + \x0a <\ +/g>\x0a \ +\x0a \x0a\ +\ +\x00\x00\x05\x08\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ +\x00\x00\x04\xcfIDATx\xda\xcd\x97{h\x96e\ +\x18\xc6\xe7\xa6s\xfa9\xb5\xb9<\x90\x87r\x1e\xd6\xbe\ +\xda\xe667\x06\x1fQ\x9e*\x05\x0b\xc9S\x05\xa9%\ +\xea\x9a4bakk\x91&\xa9\xa0\x9df&\x82!\ +\xa2R1*,\xc1\x0e\xd8\xc8\xa2,;X\x19\xd5\x97\ +\xd3j\x85BZ\x14\xa5\xe5X\xd7%\xd7\x13\x97\x0f\x15\ +\xd2_\xfb\xe0\xe2~\x7f\xcf\xde\xe7}\xef\xf7\xbe\x9f\xe7\ +~\xeeedt\x87\xdf\xfc\x85\xcb\x0b\xa1]\xf3\x16\xd4\ +\xd6\x89{C\xeb\xc1\x9ba\xfbk\xec6\xf0s\xb0\x95\ +\xe2+\xc1\xcf\xc0\xd6\x88\xfb\x82\x1f\x85}\x12\xea\xc31\ +\xf0\x1d\xb8\xe6\x9cbq\x19\xae[\xa1E\xb1\x03\xef@\ +]\xb8\xa1\x0b6\x09\xd5\x1a\xaf\x85\xf2\x8d\x8fi\xce!\ +q\x97>\xe0^\xe3\x07\xa0\xd1\xc6\x9f\xc8\x81\xcf\xc5T\ +\x81;\xb0\xdb^0\x12\x9ac\x5c\x0f%\xa0N\xf1\x07\ +\x9a\xf3\xaa\xbd`\x18\xbf\xca\xb8\x06\x1a\x0c>+n\x93\ +\x03o\x8a;\xa1\xa1\x7f;\x80?\xe4@\xb7c\xb0\xdc\ +\xc6\xae\x07\xcf6\x1e\x07^\x02;PL\xa7\x16\xc3\x96\ +\xd8\x87\xcc\x04\xdfd\x9c\x04/\x83\xfa\x8asq\xcdg\ +\x14\xc5)`\xce\xe7\xe0\x0fW\xd8\xd85t\xc2\x98!\ +\x9d\xcf\x87X\xce\xe7\xc2^nNN\x05O3\x1e\x0b\ +\xbe\xd9\xd6DB\x5c\x10;\xf0\xac\x85\xfc\x12h\x96q\ +\xad\x1c<#~[s^\x123\xccC\xa0[-\x05\ +\x8b\xa0A\xe0\xd3\xe2\xbdr\xe05\xf1o\xd0\xc5\xee\xc0\ +A{a\x09Tg\xbc\x81\xf94\xee\xd0\x9c\xc3\xf6\xc2\ +\x22\xa8\xc9x%4\xc6\xf8\xb0\x1c\xf8\xd2\x16\xe1X_\ +\x03\xdcR/b\xb0A\xdc\x07\xda\x04\xde\x0e\x9b\xa7\xb1\ +%\xe0\x97aS\xe2\x09\x5c\xbc\xb0\xf5\xe2~\xe0-\xb0\ +\xdbx-'\x97\xe3\x9as&\x8a+q\xbd\x07\xaa\xf9\ +\xa7Z\x90\x888\x0b7\xf6\xf61pn\xc4\x89\x88{\ +b^v\xf4\x9c~\xff\xc5a\xb0I!\xee\xe0\x82\x81\ +J\xa1?\x15\xc2i\xd1\xbe\xdf$^-\xfeZk\xa4\ +\x1a\xdc\xa9\xf0\xa6\xe8\x08\xf8S\xf1:9\xb8>\xd4\x05\ +(\xc7\x1d\xf8\xc2r\x5c\x0d5\x1a?\x05\x0d7>\xa9\ +9G-\xc7\xe5\xd0\xc3\xc6\x5c7E\xc6\xed\x8a\xe87\ +\xb6\x06\x92\x1e:\x96\xd9S\x18\xdc\x0f\x9b\x09]\x0a\xf1\ +\xcb\xbe\x87-\xd5=\xcf\x83\x7f\x86\xbdG\xbc\x14\xfc\x13\ +,\x0bR\x0f\xd5\x09:\xf5-T\xc81\xed\x94_B\ +\xce\xc1w\x89_\xe0{2\xba\xcd\x0f\x9e]\x0b}\x05\ +\xafv\x88Y\xfb\xdb\xc0\x1f\xb2\x00il\x03\xf8\x08\xf7\ +\xbbU\xbd4\xec\xd3\xe2a\xe0\xfd\xb0\xef1e\x8aR\ +\x0b\xa3\xc2\xba\x22\x9e-n\x89\x1d\xf8\xccr\x5c\xc9\x83\ +\xc5x\xa3\x8aS\xe0\x13\x9a\x93\xb6\x1cs\xd1\xae2^\ +\xc7\x0aiLG\x99\xda\xa3\xb6\x06\x0a}\x0d<\xa1\x9b\ +\x99\x9f\x81\xd0\xd5a2\xec<(K;\x84\xdc\xaa9\ +[\xc5'\xa0\xfe\xd0\x8c\xe0$4Su\xe1\x07\xf16\ +9\xbdK\xdc\x01\x0d\x88\xa3P\x1c\x0e\x1a\xf1\x08\xf0\x18\ +c\x1eXe\xd1\xbe/\x09\xfd\x82\xf82\xaf\xf3r\xa2\ +\xb0\xdc)\x8f\ +\xc3\xce\x15\xf7\x047\xaa\x17\xe8%\x07nT\x0aG\x8b\ +\x0b\xc47\xc4\x0e\xb4Y\x8e\xd9\x5c,6^\x05]d\ +\x9c\xd6\x9c\x03\x96c\x9ezu\xc6\x0d\xd0(\xe3\x83r\ +\xe0#[\x03\xa3<\x94\xaf[\xcey\xec.4nV\ +\x8e\x03\x87\x83\xe5-\xcb9_v\xa7\xf1\xdd\xd0p\xe3\ +w\xe5\xf4\xfbbj\x84G\x80_\xd8\xc0\xf3\xdc\xc6\x16\ +\xe8\xa1=\xc4U\xe0\xfb\xb9\xdd\xc2VU\xc8'\xd9\x87\ +\xb0\x07\x5cj|\x15\xb8\x99\xf7\x8a\x87\x88Sq\x0a\x98\ +\xf3I\xb8a\xa4\x8d\x95\x80\xab\x8c\x07\xab\xe1\xc8\xb1\xc3\ +j2\xb7\xa8\xbd\x90'd\x85\xf1P\xf0\x14\xae\x0fq\ +6\xae\xa7\x9e\xd7\x8e\xe9aaK\x9dU\x11\xba\xcer\ +\xce\xe6\x82\x13O\x8a_\xd1\x9c\x9d\xe2_\xd9|\xb0\xd8\ +X\xce\xd99q;\xff(n\xb5r~\xee<\x81\xf2\ +|\x0d\x1c\xb2\x1cO\x84V\x18\xb7\xf0K\x8c\x8fkN\ +\xdar\x5c\xaa\x1d\x13x-4\xde8\xad\xb3\xa1\xdd\xd6\ +\xc0x\x8f@\x15[-\xf6\xf5\xa17\xa0\xd7\xe0\xbdl\ +\xb74\xc65r\x00v\xba8\x05f;\xbfF<\x80\ +\x87\x0c\xec\x1e\xae)9\xf9 w\x0b4Yc\xdfy\ +\x8e\xb2Y\xb4\x1c\xa7\xb4\xf7\x03o\xe6\xee0>\xa59\ +\xc7,\xc7\x15\xd0\x1a\xe3G\xa0\xa4q\xbb\xa2\xf3\x9d\xad\ +\x81\xa4G\x80\xfb\xfd4\x06?\xa6gQ\x04RQ\x04\ +V\xffK\x04\x8a-\x02\x15Q\x04\x1a\xe5t\x93x_\ +\x9c*>0\xcf\xbb\x14\x9e\x01\xa1\xbb\xb5H\xe5G<\ +(\x14*\xfb\xc7#a\x9c\x19\x8a\x90=7?\xa3;\ +\xfd\xfe\x02\x18\xfc\x86\x85\xa5`T\xfb\x00\x00\x00\x00I\ +END\xaeB`\x82\ +\x00\x00\x00\xfc\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\ +\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\ +\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00\ +\x09pHYs\x00\x00\x0e\xc3\x00\x00\x0e\xc3\x01\xc7o\ +\xa8d\x00\x00\x00\x91IDAT8O\xa5S\x81\x0d\ +\x80 \x0c\x03b\xf4\x1c\xff\xffB\xcf1\x9a\xa0%T\ +q\xbaa\xa4I\x1dts\x14P\x1fct-\x08\xdb\ +<\xbcv\x80\xae\xe5n\x80\x03\xc9u\xea\x8fp\xc5\x92\ +\xd0J=mA\xae\xd4\x8d\x8bG\x84\xce1 \xe7\x09\ +\xec\xca\x8e\x92V\x0e<\x07\x7f\x9b\x84l\xc4\x04l\xab\ +\x87\x8a.\xb5\xd5\xad|z\xb0@\x16[/\x92\xe7\x16\ +x\xc2\xb4\x9b\xe5*\xd4/\x91M\x1e\xd7V \xd5\xd0\ +J\xcd\xae\x96W\x93_\xb5\xdb\xa4d\xcd\x11\xd9\xfe7\ +\xe6hB\xbf\x15\xe7v\xf1\xcd\xb3\xd1w\xeb$X\x00\ +\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x02\x14\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ +\x00\x00\x01\xdbIDATx\xda\xed\x97\xbfKBQ\ +\x14\xc7E\xa1!\x10,tk\x08\xda\x02\x1bj\x8eR\ +hj\xd1!\xe8\xd7\x90\x8deCS\xd1\xd2\xd8\xd2\x16\ +iC\xb4e\xf8'\xb4i:YTCC\x8bA\x16\ +M\x85IF\x93\xda\xf7\xbc\x8er\xb9\xdcgO\xbb*\ +\xc1{\xf0\xe1\xf0\xe5\x1d\xef\xfdz\xcey\xf7\xa9\xc3a\ +_\x1d\xbe\x96V7\x92\xe0\x0e\x0cu}\xf3\xc5\x955\ +\x176~\x0650\xd6}\x03\x91\xa8\x0b&\x0a\xa0\x06\ +\xfc\xbd\xaa@\x81+`\x1b\xf0\xdb3\xd0\xabs\xe0\x91\ +\x0d\x8cZq\xbc\x8f\xc4\x0b\xe0\x01G\xd0i\xc4T\x1d\ +\xe8\x94\xa43\x88\x9b`\x02\x9c@\x0f#\xd2\xb7^\x06\ +\x0b\xd0\x14_\xd9\xc0\x16\xf4<\xdf\x1bQm>\x83\x9e\ +\xd5\xb8_>p%\xe8\x1f\xd4\x9a\x8c\x06YS\xbf=\ +\xa0,\xdc\xaf\x82\x8a\xf4\xf9YU\xa9Bt\x93\xddz\ +AN\xd0\x06\xb4\x90\xa4)\xc6@\x80\xf5;b?\x18\ +\x07\xb4qU\x91\xbfk\xd6+\x1d\x06\x8a\x88n^o\ +N\xf1\xf9D\xb3a\xd1j\x80\xdb\xba#\xe4g\xa1\x9d\ +\xcd\x060$\xf4\xc8\x0br\xac+\x0d\x22\xd1\xaa\xa4\xe9\ +~\x0c\x04\xb8\xc7ED\xb7\xb4\xee)x\x02\x03\xbf=\ +.\xda+\xc0\xeb:\xe9\xa9\xb2\xf2\xbcv\xc4@+\x07\ +\x86l\xe0Ra@5\xd5q-\x06\xa4\x19\x18\x04\xe7\ +\xd0\x1f\x88\xa5\x06\x91hI\xd2\x9f\x88{`\xdal\x06\ +\xda\xad\xc0\x14\xa0\xc3\xc8\xcb\xd500\xd1>\xb0\xae\xbb\ +\x05b\x89[\xd1\xda\x0c\xbc\x80\x03\xe88\xf7\xd8@\xd0\ +1I\x97u\xcf@\xdaB\xfe-\xf2\xef\x11'A^\ +\xf7\x0cd,\xe4\xd7[\x10\x06y\x1d-\x08\x0b\x06\xd2\ +\x16\xf2\x0f\x91\x7fL\xefy\xf0 \xbc\x8c\xda6\x10\x14\ +\x0c|\x81\x1b*3b\x03I\xd3A\x95C\xbc\xa67\ +\x1f\x1bxC\xec\xfb\xcbo\xb8m,r\xc6$\xa1\x93\ +F\xacc\xae)?\x01\x1d\xb0\xff\x0b\xfe\xbb\xeb\x1b\xc9\ +\xfb\xd7\x13\xad&L\xa9\x00\x00\x00\x00IEND\xae\ +B`\x82\ +\x00\x00\x00\xd0\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\ +\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\ +\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00\ +\x09pHYs\x00\x00\x0e\xc3\x00\x00\x0e\xc3\x01\xc7o\ +\xa8d\x00\x00\x00eIDAT8O\xdd\x93\xd1\x0a\ +\x800\x08E]?.~\xb9atc\xc55\xad\x97\ +\xa0\xf32\x86\xf3p\x057\xdc]\x18f\xc6\x0b;\xaa\ +:\xe2<\x04s\x03\x8aA&\xc2\x9be\xbb]\x88&\ +4\xce2\x06\x15\x80\x8e\xe4V\x10d#\x80RP\xf1\ +Z\x80d\xdf%\x00\x7f\x12T\x1b\x97qJ\x10\x92\xa7\ +\x22:BG\x84z\xfa\x9d{\x88\xac\x1d\xf5-\x8f\xc3\ +r\xe1\x95\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x04M\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ +\x00\x00\x04\x14IDATx\xda\xcdW}L\xceQ\ +\x14~U$\x94\xbc\xd2\x87,\x9f\xf3\xe6\xcd|d-\ +LS\x93lY6\x9f+[MM\x85B\xc3l6\ +b\xfc!B\xd6\x1f\xac\x86\x0cM\x96\xcfe\xb3\xd9d\ +\xf3\xfdG#\xf9\x1c\xcd\xb0\xcc\x98\xaf\xc9V!y\xce\ +\x9c\xcb\xd3\xf5\xf2\xf7\xdb\xf6\xec\xbe\xe7\xf9\x9ds~\xe7\ +w\xefs\xef=9\x1c\xde\xf0\x97\x91\xbd2\x1a8\x9e\ +\xbe\xa4\xb0\x88\xb8`\xd8\x071\x96\x00=\x85\x83\xed\x87\ +\xdf\xdb\x81*\xc0I\xbe\x85@\x0d\x9e\xbb\x89\x9b\x0b\xfb\ +$\xc6\x14\xc3\xc1\x8e\x85}\x0a\xc8\xb1\x0b\xb8\x05t\xc1\ +\xa1\x0b\xe3\x04\xe5\xf6\xa9-\xc8\xd3\x049j\x0b*\xd4\ +o\x9c\xe1\xf0\xfc\x8er}\x80o\x1a\xdfI\x05<\xa2\ +\xf8\x91\x5c@\x1d\x150B\xb9b*`\x9e&\x98C\ +\x09\xb6\xa9\xdf0*\xe0\x82r>\xc0'\x8d\x7fC\x05\ +\x5cU\xdfN \xdcA\x0fz\x03y \xe3\xac\x99\xc9\ +\x02\x9f\xca\x1c\xecY@\x96\xc5\xc5\x02\xcb\xe0\x1f@\xdc\ +P\xd8\x05\x18#(_ l\xe1\xc6:\xbc\xea\x0f\x95\ +\x0d\x14q\xa1\xb24\xe2z\xc0\xde\x841\xdf\xf2]\x0a\ +\x08\xefK\xdcl\x8d\x0f!Nfe\x17F7\xcdJ\ +\x04\xecR`\x86]\xc0\x15\xd2\x80[\xb92\xd2@\xa6\ +&\xc8 \x0d\x94\xd3\x0e2\x1a\xb8\xa9\x5c/\xa0]\xe3\ +\xdb\xa8\x80\xbb\x14\x1f\xc5kXo^f\xb6\x12\xc6R\ +S\x14\x90\xa9\x893\xd4\x16\x94\xa9_\xb4\xe1\xf0\xfc\x9a\ +r\xfe\xc0\x17\x8do\xa5\x0f\xbdM\xf1Q<\x0325\ +;@.$N\x92l\xd6=\xde\x83\xf8\x02`\x0b\x0b\ +Nv\x09\xb0\x13\xfe\x83\x89\x9b\x02{\x0f\xc6\xf1\x960\ +\x85K\xf5:\x11\xf6\x05\xb2Qa\x9c\xb5\xbd\xd2\xf9$\ +S\xdf\x99@\xba\xc5\xc9\x09\x97\x03\xff~\xc4\x0d\xd7\xad\ +\x1dI\xf9\xfa\xc3\xce\x05b\x1c\xd6\x8bN\x93\x06\x86*\ +\xb7\x814\x90f\xd4NkX\xac~Q\xa4\x81:\xe5\ +|\x81\xb7\x1a\xdfBE\xd5\xabo\x1b\x10\xc6_\xd0@\ +\xbb`\x92r\x15\xb4\x0b\x96k\xe2\x5cR\xf1!\xf5\x1b\ +O\xbb\xa0\x89\x8e\xe2\x1f&\x9e>\xf4\x09\xc5\x8f\xb2/\ +\xa3Z8\xac#.\x08\xf6\x11\x8c\xbb\x01?\xf3e\x22\ +6\xe0\xa8\x5cV\xe4[\x04\x9c\xc4\xf31\xc4\xcd\x87}\ +\xce\xba\x8c&\xc0\x16.\xd7\xbbD\x88\xca\xe4\xd4\x9b.\ +\xdb\xd1\x12W\x1f\xd8\xc9|b\x9a\ +\x07\x95\xba\x86\xdf1\x86*\x97O\x1aH\xd4\xa4\xd3h\ +\x0d\x0b\xd5o\x10\xf0U\xe3\xab(g\xb3\xc67QQ\ +g4\xf6#0\x80\x0b\xb8G\x22\x9c\xac\xdca*`\ +\xb5&(\xa0\x02\xaa\xd5/\x8eD\xf8\xd8\xe8\x87\xf2\xb1\ +\x08\x9fQ\xbc\x8b\x0bH\x00\x1a\xe1\xb0\x9f8\xd9^\xd7\ +1\x9e\x95\x844\xad\xd2\xd1\xdc\x90}N\xbe\xe5\xc0]\ +Y\x06\x16&\xec\x07ryQ\x01ri\xdd\x97\x8b\xcb\ +\xe1u\x7f\xd2\x09\xa1\xc2\x00K\x5c\x91rU[~N\ +`\x88\xc5\xf5\xee\xd6b\xfd\xb9\xce]\x1e\xde\xe32\xdb\ +\x9a\xc9\x12]\xb3wf\x7fc\x5c\xa0k\xd8\x0eL\xd4\ +\x82\xe4\xd0i\xd35\x5cL\xeb\xfdZ\xe3K\xb9\xcf\xd4\ +\xf8K\xf4A\x15\x1a\xfbT\x0e+.\xe0!\x89&A\ +\xb9c$\xc2\xb5\x9a`\x15\x89\xa8F\xfd\xa6\x92\x08\x9b\ +MGm\x8bPg\xe4\x05\xc5\xbby\xaa\x17\x01\xefA\ +^\x943A9\xe9v_I\xa7\x0b\x84k\x92P\xfc\ +\x96;]x3+\xb2\xb7\xcf\x03\x1f\xa4_\xa0\x9c{\ +a\x7f\xc6\xb8\x95\xbb)\xd8\xc2UK\x9c\xd7\x890\xd8\ +\xaeJ\xaeWiL,?\x7f\xe9n-\xce\x87\xef\x06\ +\x8awzx\x8f\xd3\xd3\xcbW\x88\xb8\x10\xd0(\xfd\x9c\ +r\x892]\x18[\xcc\xcd\x05{8~\xbf\x04Z\xe5\ +\x98\xa5\x82\x1a\xb4\x07\x5cM9O\xc0\x96\x13\xb2\x92\x0a\ +\x92f\xb6\x03\xb8l\xfe\xdb\xfa}MR?\x90\xa4\x5c\ +\x0d\xf5\x03\xeb5\xe9\x1a\xea\x07j\xcd\xf1L\xfd\xc0s\ +\xf3\xe5\x94\xaf\xcbhE>\x86\xe2c\x1cV\x9f\xd7\xae\ +]\xab?\xcd@\xeb\x7ff \x85\xce\x00\x99\x81\x0e\xd9\ +%\x94\xb3Vg\xe0\x00}\xe8F\xbd7\xba\xcf\x80Y\ +\x1b\x0f\x1a\x08\xfa\x87\x06\x82\xecC\xc7\xd3\xda\xfeu\xeb\ +\xfd\xf2\x0d\xf1*\xf1\xff\x04\x8f\x07^\xb5\xbe\xa8\x80\xde\ +\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x00\xd0\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\ +\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\ +\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00\ +\x09pHYs\x00\x00\x0e\xc3\x00\x00\x0e\xc3\x01\xc7o\ +\xa8d\x00\x00\x00eIDAT8O\xdd\x93\xd1\x0a\ +\x800\x08E]?.~\xb9atc\xc55\xad\x97\ +\xa0\xf32\x86\xf3p\x057\xdc]\x18f\xc6\x0b;\xaa\ +:\xe2<\x04s\x03\x8aA&\xc2\x9be\xbb]\x88&\ +4\xce2\x06\x15\x80\x8e\xe4V\x10d#\x80RP\xf1\ +Z\x80d\xdf%\x00\x7f\x12T\x1b\x97qJ\x10\x92\xa7\ +\x22:BG\x84z\xfa\x9d{\x88\xac\x1d\xf5-\x8f\xc3\ +r\xe1\x95\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x07\xe6\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a o3de icon\x0a \x0a \ + \x0a \ + \x0a \ + \x0a \x0a<\ +/svg>\ +\x00\x00C\x13\ +\x00\ +\x01\x9f\xd1x\x9c\xed\x1d\x09\x5c\x8c\xdb\xf7\x9bR!\xd4\ +\xc3#)e\x8dl\xf9{\xc8Z\xf6}_\x1f\x22<\ +\xbb\x92\x84,\xd5\x90%d\x97\x9d,E$B\xa4\x92\ +\x22\x22k\x12\xd9[H4\xed{\xd3\xcc|\xff{\xee\ +\xf7MM\xd3LM3\x93&\xba\xbf\xdfy\xbdI\xf3\ +}\xf7\xdes\xee\xd9\xef9\x04\xc1 T\x09\x18\x0cB\ +\x9f\x98\xa7M\x10\x0b\xd0\xff3\x99\xd4\xe7\xb65\x19D\ +\x18\xfa\x9d\xa9)\xfdy\x00A\xa4\xb7`\x10FF\xd4\ +g\x8f\xd6\x04\xd1d>\xfa?}\xfa\xb3&A\xdc\xdb\ +\xc1 45\xa9\xcf\x8bj\x10\xc4\xe2\xe3\x0cb\xfb\xb8\ +1C\xeb\xd6\xd6\xae\x8d\x1e]w\xf8\xb0A\x13\xe0_\ +\x01j\xc2\xabgZ{\xa0wj\x1b\x0e\x1f\xd4\x7f\x92\ +\xed\x87\xe4\xcf\xa3\x975\x88\xfa\xa2\x9a\xf6\xa8\xd5\x18+\ +\xa2\xc1\x86\xe8e\xdeM\xe3w\x5c>1\xe4\xb9\xd9?\ +\xb5/\xd5\xb09p\xd0\xccP\xe5\xcc\xe5'\xdb\xa6]\ +\xf3h9\xcd\xac\xd6\xf8I?\xaf\x98\xaeh|\xd9P\ +\xc9\xac\xf9 \xb7\x05C\x0f\x8c\xaeU\xbf\xc5\x88\xc6\xcf\ +'\xef\x98\xda\xff\xf9\xf1\xd0eg{t\xeb\xb4\xeb\x80\ +\xf1\xf6\xe8\x87\xcf\xb4\xe6-{\xa4\xd75\xd3\xa4k&\ +\xa7\xbb\xe9\xf4\xb4\xf4w\x09G3\xbb%\xe4Y\xfb\xe9\ +8=>~\x8c\x11\x9c\x909\xfcp\xc8\x94\x93\xd7n\ +\xae&\xec\x08\xe7\xd9\x8c\x98\x06\xdc\x97\xdf\xec\xdb\x11\xe4\ +\x1b\x87\xa0\xd3\xe4\xda9\xad\xbf\xec\xdb\xdf\xe9\xc8I\xf4\ +\xf7\x1b\xfcf\xbex\xc3\x08o2\x83\xe58%\xcc\xe4\ +\x95C\xb2r\xfb^.\x8765\xaa\xa9\x1e\xae4\x17\ +\xfd\xdd5}\xb3\xb6\x9e\xb7\xffG\xf4\x9a\xb7\xd4\x8c\xd8\ +\xca8\xa1j\xa5z9)\xf2HC\xe6\x05b\x01c\ +\x94\xd7\x83\xde\x87\xdc\xd5\xffk\x14U\x83i\x7f\x98\xac\ +=\xfda\xea\xfeN\x1a~\x1f\xfe\xc7lG\x98\x18\x07\ +\xae\x8a\xf9A\x84\xa7f5>=\x99\xd3\xe9g\xc6^\ +\x83\x8e\xcay\x8c`e\x83[ut\x9a\x10hns\ +\x88\xd9\x03\x97~ip1\xae\x1d3uJ\x9c\xee\xc4\ +\x08\x95\x8b\x87\xe6)\x99\xea\xdd\x0c\x22\xbc\xe2\xd6\x0c?\ +\xbc\xcdc\xd3|\x22\xba\xff\xd2\xbf\xdd\xdc\xd4'n\xcf\ +`\x9c\x9e\xca\xd1\xf2\xd9\x11\xdd\xc9\xac\xd9Ym\xb7\xd3\ +*\xfdg\xbe\xd1\x1f\xd7\x0b&\x16\xcd\xfc\xdb\xf5Dg\ +\x15\xaf\xa5i\xbbl\xfa\xefh\xd7\x84X\xa7\xe7\xa0\xb3\ +,\xf1@@\x07e\xad\x89\x8b\x9dM/\x12\xe1C\xb3\ +S\x1d\x1d\xd7\x7f\xb3\x1c\xcb\x989i\xce[\xfd\xc3O\ +c\x996\xcd\x99\x1bV\x92k\xbc3\x0e\x14\x9cd\xa4\ +\x05\xf0N66\xf8\xa0\x14\xde8\xed\xd3\xa3\x80\xec\xbc\ +A\xb3\xae\x13^\xdd\xbc\xf5\xd3\xe3\xcevd\xbex7\ +\xbdN\xf0K\xf3x\x83\xd4D\xe5\xb4\x1b\xb3\x1a\x0fz\ +\xf7E)\xfcBN\xca\xc0\x19\xb7F\x0e:\xd6n\x91\ +\xd7\xc6\x83f\x9d\x17\xadW7]\x9eA\xd6\x99b\x7f\ +vnH\xf8te\xbb\xd5w=,\x18\xa7\xc7\xa6^\ +\x0b\x1b;i\x96\x9e\x8f\xa6\xd6-\x96\x8aE-\xf4\xb0\ +\x0f*\x84\xc9\xa6\x9d\xeb\x9cr^\xd7\x8b\x19\x1a\xf8b\ +\xda\x8b\x0c\xe2\x87\xb3\xd7\xe7mo\x13\x0c\xce&~\x8e\ +b\xedv\xefP\x97\xe0\xd6\x9d\xe9\xcd\x1e\xad\xe9\x17\xa9\ +\xe290\xf8:\x81^\xfe\xbf-\xee\xcd\xcd\x87\x13\xde\ +\x19\x0d\x8e>\xb9\xaei\xd4\x97\x98\x96\xbf\xbd\xc3\x9c\xe1\ +5\x8fh\x13\x979\x83\x0e\xfd\xafo\x8dQ\xea\x84\xdd\ +\x87\xb8M\xcf\x1bo~\xbc\xb4\xd3\x91\x9e\x83\x17=\x99\ +`n\x17{\x7f\xcf\xf5\xa8-\x8f'\xde]f\xb3\x9c\ +11G\xb9\xed\xb4/\x1f;\xd9\x0dv\xea\xd3J%\ +&s\xc8\xa9V\xcb\x8c\x89,\xb5\xf5\xf6*kR\x9b\ +\xef\xf7&:\xd6\x98\x90\xcd\x99\xdf\xb5\x99\xaa\xbf\xc6\x14\ +\xfb\x16\xed\xec\x16Y\xb9X|f\x9c6\x09\xe9\xd3\xc1\ +N\xc5\xa9\x8f\xe5\xed}\xdc\x1a\x89\x89J\xde\xd1c\xdd\ +\x0e6L\xd4\xd2X\xe4\xa6n\xa5\x87^\x7fi\xd1\xd0\ +\x93f\x1b\x8f)\x9bF?\xf3\x1e\xcb\xd6m\xf0j=\ +;\xf1\xfd\x22\x9f\xf3\x9d\x98wW\xe5\xa6F\xa4\x1et\ +z\xc2^xs\xc6\xee\xa8\xd7*1+\xb9\x83\x96x\ +^\xdc=E\x97`/\x09\xea\x1a\x91\xba\xdb\xc9\xb0\xd7\ +\xc4\xa7\x87\xe6\xde\xf4!B\xdd\xa3\x9b\xfc5\xd9=\xd1\ +\x7f\xfad\xe2\x87\xa3\xbaYD\xea\x0e\xa7K\x11\x93\x93\ +\x991w\x1d\x99l\xeb\xe8\xe8{\x8bMZ\x18\x0c\xef\ +\xdfTs\x94K\x81\xde%\xdd\x1a\xce\x1b]\x5c\x1f/\ +\xfep\xe6\xcd\xe7\x1d\x86\xb7\x08\xdb\x5c\x03k\x9f\x86\x86\ +>J\x97\x163f\x12\xedM\xf6M\xbc9\xcfu\xf4\ +\xbac\xb9\xf9jw\x0fu\xb0k\x15\xb9y%\xd7k\ +\x15\xc95y\x9bk\xd43\xa8]~#'7\xbb\xba\ +\xfa\xb3RL\x0e\xd5%\xec>\x9e\xe9\x14\xb6\x7f\xe8\x00\ +5\xcd\xa6K<\x0bR_v\x9c\xdf\x84\xf8\xb6\xca\x0c\ +\xd1\xa9z\xfb\xf4\xddj\xee\xbcy\xee\x9d\x82\xa7F\xb4\ +6h1\xf1\xa0\xd7\xd3\xd6\xca\xa6\xb33\x1d\x86\xf8G\ +\x0e\xfaoG\xd7u'y\xa6~\x8d\x82U~\xd6o\ +\xb0\xefb\xa7\x83\xec9~\x84y\xa6\xebc\xb3\x11o\ +\x7fj(\x99F'_\x18\xe9\xef3\xe8\xbfK\x9d\x02\ +-\x83.LRg\xaeqh\xb1\x86}\xda\xf2\xf01\ +U\x9dC\x9dZ\x87\xed\xd8z\xfc\xaf:y\x9a\xb5\xba\ +\xc5\x9e\x0b\x0fX?(\xebvN\xe6\x84\xfaa\xban\ +=V\xe6\x9b\x04\x8dJ\xd1?\x196g\x95\x9d\x86'\ ++ b\xf9\xf6\x7fB\x88\xd0\xda\x0ei\xb3\x88\x1f-\ +\xb7\x98E\xb8\xb7Z_\xc7\xa6\xe0\xaf\xba=\xbe\x9e\x9b\ +\xa7\xa6Y\xb7GB{\xfb@rJ\xeb!\x9a\xcf\x02\ +\x9f\xc4\xed\xc9\xee\xdbj\x7f\xefa\xad\xd6\xb8u\xde\x18\ +e\xb3*\xf4\xad\x7f\xed5u\x0c-\x19uF\x1e\xde\ +{\xf9\xafZ\xdd\xe6\x9c\xfe\xb8\xe7\x80\x01\xc7i\xebq\ +\xcd\xba\xa9\xbe5#\x93\xa2L\x98\xc3~\x04\xab\xf5\xef\ +\xe2{\xf0\xe1'\xcf\x0e\xb3\xda\xac1\xf2=8\xb8\xd7\ +\x01\xcf\xcc\xbf=F\x84\xb4\x9d\xd6d\x1a\xa7\xa3qG\ +\xb3^\xff\x8b2_\xaenYOoH\xab\xff\xd8\xc3\ +\xd3\xcek\xfd\xc8\x09j\x5c{\xe5\xc8\x7fG\x91\xb7v\ +\xf9\xb9w\x98Q\xf3\xad\xf1\xae\xda\x0c\xab!\xfe6\xb3\ +\xfe\xfb'h\xfd\xee\xa5k\xbe\xdb\xb4\xd9\xd6\xbe\xc1\xe2\ +\x89\xbc\xe4SV7\xae\xbb\x04\x1d\xbco:\xcd,:\ +\xe4Y\x5c\xa3f\xe4\xf5\x87FF/\x8f\xde7\xf9\xa6\ +l\xea\xdab\xd1\xe1N'?\x0e\x1e0\x1aM*\xbc\ +\x81ehp-\x870\xfb\x1e\xc7\xef\x1d\x1b\xf6\x83\xe8\ +t\xb2^L\xc4O\x02mL\x1f\xde|\xf5\x03\x99\xc7\ +\xef\xf4\xdb\xb58\xd5\xd9+\xbb\xc96\xa7\x86\xb7\x08\xb6\ +\xdb\xc8\xef\xdd\xef15^Yu\x1d\xb3\xba\xe0\xaf\xbe\ +W>\xc7{\xfa5m\xda2M\xa7\xaf\x83\x81\xb6e\ +\xe8s\xab\xaeh\xca\xf7\xbfq\xe0\x95\xdb\xfd\xdc/\xdb\ +\x5c;qI\xe3\xc3\xbd\xb3\xa9*\xc1\x06\x11\xee\xd6\xbd\ +\xe6M\x0aL\xb0]\x19\xa2l\xf1\xcaH\xf9\xf4\x89}\ +\xbc)\xceY\xbes-\xdb\x1d_\xfe\xf7\xb8\xd1\x19\xab\ +\xcc~6\x0aNd7\x8b{\xdd\x94\xa2\x9e\x0e\xedg\ +\xac\x08\xb2\x0bZ\xec=={\xf3\xf1.7n[\xfc\ +\x9b\xff9X\xab\xb3V\xd3%!yY\xaa\x8e\xa7\xd7\ +\xd9\x85.o\xa8\xc14s&'9\x10G\xdcoG\ +[\xae\x9e\xdfy~\xcc\xe6\xec\xab\xb1\x8d\xf6\x853>\ +5\xe9\xfbL\xdfc\x96k\xfa\xf1\x05\xfaA\xb9\xb3\x03\ +l.N\x1a\xf7i\xb9\xde\x8f\x9c\xa8@\xe3\xf3\x7f\xad\ +\xde\xec\xfcQ\xab\xbfU\xca\xeb)\xcec\x97[9\x9f\ +\xbe\xb3:\xf0\xc5\x05\xe7F\xa6\xae6\xdb\xdd\x1a\xe6|\ +T\xf3\xe7\x8e\x18}tp\xc8\xf3\x13\xbcK!\xa6\xbe\ +z{\xfc\xf7\xcc\xb5\xb6W\xff\xfa\xba\xa9\xce\xc8v^\ +\x1a\xc1\x13[\x12\x1f\xdcG\xb6\x8cuxD\x0e\xf5\xaf\ +\xf9w\x17B\xbbkD\xf4\x8e{_\x1a\xa1\xa7\x99\xcf\ +\xed\xde\xd2L\xe7\x8d\x8fr\xea)\xd5\xa4\x03\x9dvm\ +\x9e\xac\xaeV\xeby\xf8\xca;\xc3\xfdk\xeen\x5c'\ +\xcfje\x9ef3\xb3\xbeK\x0a2\x16>\xccf\xdc\ +A+\xea\xbc\x5c\xbe\ +\xd9jaV\xcd!l\x8d\x16\xf5\xaf\x9f\xef\x9c\xb4Y\ +\xc3\xd5\x8bXZC\xb9_\x1f\xffu\x91\x99fJ3\ +\xee\x9aeg\xcdoyF9\xbf\xb5+\xb3\xbb\xf9\xd4\ +w\xf3\x8d<\xb7\xec\x1d\x96\xd2\xd6,l\xddn\xcf\x19\ +\xdd{\xdcF\x13\xeb\xfb\xe8\xf8\x8a\xa5\x89^\x06\x015\ +\x0e9\x04\xb48\xd3f\xe2\xf7\xb7\xedU\xee?\x8b\x9b\ +\xf2YoV\x0b?O\x1b\xc2J?|]K\xae\x17\ +\x22L+^J\xd3\x97[\x98\xf1f\x84\xe7\xdd\xe0!\ +\xfa\x08\x95\xce\x0fI\x8e\xf2\xd8+\xbeQ\xddN\xe7f\ +\xdc\xfc\xd0\x95\x810\xbc\xcf\xc5iV\x03t0\xc3\xb2\ +\xe7\x8d\x88\xaes\xd9|-1\xe95\xd9\xc3\xf1\xda\xbe\ +!^\xc6\xf5L\xb7\x0e\xfb\xc1Lx\xab>\xad\x19\xb1\ +z\xcc\x8d7\x13\x8fN\x9e\xadN\x10\x06\xef\xebz\xef\ +\xeab\xfc\xc3E\xd3\xfb\x1fB\xfb\xfd\xfc[Sv\xf5\ +\xe9\xe5\xb9\xae\xbd\xfe\x93\x8d\xa63\xd6\xb6\xab\x81\x84B\ +o5\xefYw.\x05\xd5\xf7\xfcR;\xed~\xe3\xf1\ +\xddf\xd5b\x8cT\x0e\xbe\xc23\x09\x7fg\xc6\x89_\ +z\xd3\xb5\xd1\xeb[\x91\xdfW2Vg\x0e\xa8y\xfb\ +\xac\xca\xde\x17\xdf\xb4\xfdwz~Q\x22|:\xde\x7f\ +lo\xa9\xc1x\xaa\x14\xfc\x82\xe7p\xce.o\xb3\xbd\ +\xb3\xcb\x93u3\xd9*6J-k|2\xd6]\xfa\ +/a\xecN.\x1f\x17\xf8wp\xc7\xfb\xff\xf9u\xab\ +\xd1!\xc0\x0b\xfd\xc2\x95\xec1k\xbe\xcb\xacU\x17\x06\ +4\xf0\x990ud\xfc\xd2\x85\x87\x16\xddn\xb2f\xc8\ +\x9e#\xab\x17\xed\xac\xdd\xa1`JO\xf4%\xdb\x8b\xb6\ +\xea\xc1\xef<\xc3\x13\x0f=\xb9\xb4\xc2*\x81u\x92S\ ++\xe8f\x8d\xcb\xe3\xc7|\xfd/\xd6z\x9b\xab\xf1\x1b\ +\xc4/B\xef.\x9a8\xf7\xc6\xf4\xae\xd3\xea\x13\xab-\ +\xdd\x16\xbf\xd5\xb1oq1g\x14a\xfe\xbc\xd1\x9c\xd0\ +\xae\x7f\xbf\x0e\xb28jm\x9c\x10\x10lK\xae\xecR\ +\xcf@\x97}{\xf0\xb2s\x93o<\xd8\xfa!mn\ +;O\x0e{\xdf\x12\xf8\xde\x95\x99]\xcf\x91\x1a\x8bf\ +\xec\xbdz%\xb5\xdd\xcdv\x8b\xae\x9d\xfa:\xfa\xc8?\ +\xf1\x81\x1f\x1c\xbe\x7fIdwj\x93\xb0&s\xc6j\ +\x8d\x9c[\xe6?\xe6Y\xbc\xecg\xb0\xf5^\xee\xe1M\ +\xc6\xeb{\xc7\xe7\xd5\x1d\xea\xb5\x98a|\x99\x5c\x8e\xb8\ +\xa1f-\xbf5\xdb\xf4]vG\x1e\xfb\xf7S\xe8\xb3\ +\xb8\xee\x9b&\xf6\xab\x93s+.\xe3\xa2\xe3\x08\xe7\x95\ +\x93\xdak\xa5\xc5\xbe\xf81\xe7DP\xc1\x10\xff\xb6u\ +\xaf]V7W\xbb\xc1&U\xdf\xf8\xd6\xf4L\xf0\xe7\ +\x9dq\xbd\x92ek?2,`r\xaf\x03!\xdf8\ +m\xda$\xf4\xe8\x12\x9e\xfc(~\x22\xc3\xdd\xc4q\x80\ +\xf2g\xfbG{\xd4\x8e|\xf9rs\xe5?\xef\x92z\ +\xbfWWIq.\xb8\x98\xcd\x1e\xf3b\xf9\x5c\x8e\xc1\ +\xc2\xa4]&\x88\xb1\xbal\xff\xa7_A\xce\xd8\xd6\xd3\ +\xdb\xbdq\xaa{\xb3\xe7\xa5\xf8\x09\xcf\xb2\x08\xef\x1b\xa4\ +\x09\xf7\xb8\xdf\xc2\x84\x8bw\x1b\x11\xe3\xe6\xf5\x0a_\x82\ +\xb8\xbd\xb1Cn\xdd\x17\xd1v_\x9d^~C3\xfa\ +\xd9\x22\xf29\xa7\x11s`\x01\xc9\xcc7\xab\xdd\xdev\ +\xf1No\xc4k_|\x19\x13\xfb62z\xc4\xd5H\ +\xe7\xad\xc7\xbb\xe4\x0c>n\xd3%q\xee\x12\x02\x11\xff\ +G\x7f\xc2\x93\xb5\xfe\xd0?K'\xbb\xd6\xcb\x8a\xeb\xca\ +hp\xa3\xc9\x89\xc0\x93\x13\xfcgX\xfd\x9c\x14\xbcO\ +c\xd9\xd1/J\xb7s\xd2:\xb6I\xf0\xed`\xb2\xea\ +\xd1\xa5\xce\x8e\x8936\xfb-\x1e?\xba\xa3\xb3e\xff\ +\x96\x8f\x1e\xce\x083\xde\xf8x\xf1(\x8b\xb1\x8dv\xff\ +Pz\xdb\x89g\xb4\x94\x17t$\xd1\x8c0Ug\xb8\ +\xa4n\x9d\xa2M.V~\xbd\xf3\xe3\x88+O\xf5\x92\ +,V|\xeaY\xef\xd0\x95u\xaf\x1a9,\x8b{2\ +H;\x90\xe4\x05mp\xb0\x5c\xb0\x22 \xb6\xdf\xc9\xc9\ +\x8d\xdf\xd7\xd2;\x15\xe5[sd\xab5i\xef}Y\ +#\xb6f\x9f|\xd52b\xb0\xc7v\xaf\x96#\xb6\x7f\ +\xabW?\xec$g\xb8\xd7+\xef\xd5\xadr\xc3\x1a\xf0\ +\x8e}\xb7\xf7J$\x9b~?\x14io\xd4\xd6v\x9c\ +Wo\xd7\xcdHrd\xae\x89\x8ey\xf1\xe3/\xf7\xb7\ +u\x17\x05L\xd6{\xe6\xbbi\xb2A/\xb7\x99:5\ +\xd1~\x9fH\xca\x99\x17\xb39h\xae\x8a\x0f\xbb\xd3I\ +t\xa4\x1b\x10[4\x12\xee\x84\xbf\x1c7i\xed\xa0O\ +c~\x8e\xaa7\xb5M\x04\xbb\xd6\x04\xaf\x88\x87aM\ +\x9b.\x99GD\xce\xbb\xf2\x83\xb1\xd3z\xa3\xf9d2\ +Z\xff\xe6\xe0#]\xea\xf6\xcc5\xdcy8L\xb7\xd5\ +\xfe\x80\xdd\xd3\x82[&\x7f\x08\x09\x22L\x8fjZM\ +h\x8f\x94\xc6\xb6S\xb4j\x866\xfc\x1a\xd6\xe0\xad\xc6\ +\xf5wo|\xff\x193\xd8>\x7f]\x8fh\xed\xb3l\ +\x8fFJc\x16\xab\xb4\xd5%\xb6D\x1c\x9d\xc9c\xd4\ +\xf7l\xf2|Y\xd7\xa1G\x1b\xb0u\xb9\xf1K\xbd\xce\ +\xf6\x9e\xe3\xfdj\xf1\xa4\xda\x8c\x0b>J:\x0d\x88\xd5\ +K\xff\xd3arW\xf7\xf4=\xff\xa5\x85\xb6\xe5\x84\xb9\ +a>\x0d\xa632\xa6\x0e\x1f\xff\xc6\xf2\xafP\xfb\x80\ +\xe9\xce\xef7&\xf4\x18\x10\xc7\xaa\xd1\xe2\x8c\xf2\x93\xab\ +\xea\xe6\xc4\xc1\xf1\x96;\x8dr>\xbeY\xb89\xf8\x00\ ++9b\xf0=D`\xaa\xcc\x06\xad\xf7\x07$\xf9\xf6\ +\x9e\xd6\xc2\xcfq\xc6D\x87\x9d\x9d_\xea&Y\xf4o\ +\x15\xe9\xb6\xccs/c\x5c(\xa2\x7fD\x0c\xc3\x1b;\ +j\x1bu9\x1e\xd6y\xe0a\x9b+A\x93\xdf\x8f\x1e\ +\x18\xf9\x99\xd8\xf3\xb8FT\xb3\xbb\x7f\xeb1u\xf3\xb3\ +Ng\xcdo\xbb\x93az\xe5\x96\xff\xdd\x9d+b\x0d\ +j\xee\xbag\x8a\x04\xc4\xe3\xec6\x0b\xba\xc6}\xed\x91\ +\xd0\xd0B\xc5\x88x\xdc\xc0m\x06\xc3\xb0\xaf\xf7$'\ +\x86\xe9)\xa4\x02<\xfc\xc69\xf4\x8e\xd5\xd4\xa0\xcd\xc5\ +\xad\xe8\x17\xcd?\xd76\xce\xbd\xc8\xa9\x1f?\xb7\x0e\x91\ +Q\xc7\xc2Q\xdbo\x0as\x87\xf2F\xf4\xa1a\xd8\x14\ +\xe6\x8aE\x97Fh\x11\xdf\xda!\xfa=\xdbU\xe9\xd2\ +M\xa5\xc8\xa6.\x9ai?\x12\xc7\xef\x8b\xea\xb6\xda\xa7\ +\xf9\xfa\xcf\xeb\x0f\xfd\xe5\xe9d06\xcfe\xdd\x80\xf0\ +L\x86y\xd2\xc8\xb6\xfd\xaf\x9b$\xce\x0f=\xefS\x7f\ +\xac\xfa\xa5\xd5W\x1c\x13\x02\x88\xfd\x13\xbb\xe6\x9e\x9a\xef\ +\x16}w\xe1\xf0\xcf[&\xf7\x8e\xba\x97\xc9\x08_9\ +\xb3\xcd\xbe]\xa3\x07\x0e\x0b\xfd:\xfb\xdb\xf4\xd9\x86^\ +ji\x1b\x88avZ]w.\xe3\x8d\x1c\xd1jM\ +\x07\x93\xc0K:./V\xc1o\xb3I\xaf/\xef\x8f\ +\xe4\x18tk\xaa\xd9\xf3\xfc\x0bc\xe6\x05eS\xeb1\ +ow?\x1f}\xf1\xfa\xcf\xe8\xff\xa6\xcf\xd9\xb7\xb7\xd7\ +\x9b1'\xf7\xd7\xdc\xcb\xd6ws\x1d\xd5rWd\xc2\ +\xe9\x88\xe9\xc4X5\xe6$\xd2a\xf7s\x87\xd6n]\ +{^[AL^\xa0\xd4G\x97\x18\xba\xa5\xdf\xe6\xc3\ +:\xdc\xa9['\xb57u9\x8a\xfe\xc84\xeb\xf6\xb3\ +m{\x87]\xf2\xeb\xef\xd6\xd8\x8b\xf73\xf9\xe5\xfd\xd7\ +\x0c\xfd7u&\xae\xda6\xad\xf3\xba\xe6\x91J\xe3\xe6\ +\x1b\xeee\x98w\xadG\x5c\x1a\xbc.d\xdc\xe2S\xf5\ +\x88\xc9\xec9\xad\x1e\xb1<\xbb\xf4\xd5%\xea\x1b+\x9b\ +\x12FV\x9b\xcc\x88\x16\xadm\xfdf\x84\x12\xfa\x19F\ +\xaa\xcc\xe7_l7\x84o\x8f\xbcOx\x1f\x8dR;\ +9\xacc\x1d\xa2\x85\xc6<\xe2\xdd(\x97n1\x83\x08\ +\xe5\xe0\xd5}g\xae7\xad=\x87\xd0\x5c\xab\xa5\xcc\xec\ +3\xf6fH\xaf\xa4\x07\xe8OG|\xec\xbfo\xc8\xdc\ +yZ\x17\xedj\xeeX\xdb\x8bh\xd5\xac\xc6\xf8\xc5\xbd\ +\xdb\xd6\xdf\xd0b\xd2\xbeG{\xfbr-\x0e\x1e9\x90\ +k\xbdr\xe2\xe0Y\x0e\xfa\xcf\xd0\x147v$n\x0e\ +S\xc9\xd0KRz|`\xba\xcb\x85\x88\xf3{g\xe5\ +\xee\x1b\xa7\xefy\xbd\x9d\xf3\x05e\xfd\xc0v7:E\ +\xb3\x9e\x8fq\x19\xd6\xf7\x90\xe7\x93!\xad\xd0\xb4/>\ +\xef\xb9~sN\x0b7\x8d\xe17C'\xadm\xf3\x00\ +=\xc3\xe5~\x92\x92G\xffK\xad\xcf?i\xa8\x1f\x93\ +Nh\xf6\xd66\xb4a\xde`\xd4\xde[{\xeed6\ +\xc9|\xa4L\xec\x1d\xf9\x15\xe9\x19?}S\xd6\x0e\xd4\ +{\xbaA\xd5\xd0B=!\x9f\xd8\x9b\xb8\xf3\xe4\xa4\xff\ +\xc6\x1a_\xad\xad\xbaanGb\xf2y\x82\xa1J\xd4\ +\xbf:_\xc9\xdc\xdbw\xcb\x1eUu\xed$\x8b\xbf\xd7\ +[LVE\xbff\xbe\xbb\xa7\xc9L:\x1c\xceza\ +g\xb82\xf9\xf5Q\x1de\xd3\xd6\xfb\xf5B\xe3'\xaa\ +\xb9G\xdf5@\x8a\xe1)W^W\xdb~D\xab\x06\ +=\xb5-\xbf\x9f\xd5g\xec\xbf\xe7\x19A\xe8\x07\x13\x84\ +~@g\x0e:&?}S\xdb!-\xb0%\xd7\x9a\ +\xa1\xff>\xbe\xc3\x16\x06\x11\xb3\xc5\xdcpO\x96\xaf\xf5\ +h\xe6.\xd5\xf53\x1e\xaa\xce~}\xf4\x84\xf5\xb6\xbd\ +\xc8\xea\x7f\xd6\xc1r\xe7]\xde\xbbq\xc7\xb3Z\xa7\xd5\ +\x09[\xea5=^M\x8bX\xbb\xbfy\xf0\x14f_\ +\xa4M\xec\xe8\xb7\xbb/\xf7x\xd2\xae\xf3\x0dU\x99c\ +\xd8!s\xda\x07O\xbf\xc7\x1c\xcb\xd1~\xd9\xc1r\xf8\ +\xec\xad\x1aF\x84M\x84\xde\x8ba\x0e\xed\x17\xd6\xe8`\ +\x93oc\x9a\x95br\xe3\xb6\xd7\xb3\x96\xc1[\xb4\x08\ +\x7f\x9b6\x06\xfd\x1a!]jo\xd6|+\xf7a\x1e\ +\xb5\xba\xc4\x06\x04\xd9\xa8\xdf\xd0Q5e\xfc\xd4X\x8c\ +\x14\xef\x91\x17zv\x5ct\xab\xf7\xb9m\xee;\xf5\xbf\ +\xdc\xef\xb0\x8d1\xcet\x8b\xc6\xe2e\x1e\xbb\x947\xb5\ +\xf1\xb7\xe9\xa5\x7f\x97\xdct\xe9\xb9\x03\x93\x91v\x0a1\ +\xc0\xb0\xb5\xef5k\xaan\x18\xf1\xe9\xda'\xfd\xfaK\ +\xea\xeb\xe5)3\x1f\x05-\x1b\xd1\xf8L\x07U\xd3\xbf\ +\xfe\xeewy\xa3\xa5I\xe8\xdd\xbdd\x5c\xaf\xcf\xb9\x87\ +w;\x99\xac\xf0\xf3\xbfk\xd0\xef\xd6\xa4Z\xca\xa7\x1f\ +\x7f\x9a0e\xbbZ\xf7\xb9\x03-\xe2FO5\x08\xe8\ +\xban\xd0\xf6\x7f]\x86\xabX\xb6u1\x22F\xdc\xce\ +\x1d\xb5K#\xb9`d\xff\xd6w\x1f\x8c\xe9\x1a\xe1\xa0\ +\xd9\x92\xbb\xa4\xcf\x12\xbb\xe5HC\xdc\xbcC\x8bh=\ +\xea\xc5r\xc3.\x8b\xe69\xab\x0d\xeb1\xef\xe4\x7f\xde\ +\xbe\x83\x8fv9\x18\x96\xdf\xb1\xf5\xdd\xa1\xe8\xdbO\x8e\ +\xd8\x9e\x1fb=4\xe4\xb9\xadMv\xdb\x81\xa7k#\ +\xbd;\xc5\xb9\xd9\xbeNC\xbe\xe4em\xb5\xf9+\xe7\ +!\xd1\xf6\xeb\x97eC\x8ef-\xa8\x994\xf6\xe6\xd2\ +\x7fz\x06\xb9G\xa6\x04\xc5\xa3/\x0e[h\xfd\xc4G\ +\x89\xc8\xbe\x1bc8>\xfd\x83ql\x0a\xdaJ\xc3\x09\ +\x17\xff&<\xf2\x07\x1f>\x1f\xd7m\xc5\x93\xcfz\xe6\ +\xc4\xa4\x83/\xbe\x1d\x1ci\xfdU\xfd\xe5{\x86\x85\x0f\ +\x19\x96\xbd\xda\xdd\xd0$\xe6D\x80I0\xf1.\xea\xc1\ +\xb2!\x17\xcf\x9d`\xaei\x1e\x13\xbfJi\xdel\x9f\ +v]?\xccn\xdb/0\xf6\x08\xfc\xb3\xc7\x13\xaf\x8b\ +\xbe\x11\x83\xf3L\x8dbB\xcey\x0e\xed\xeb;7\xdc\ +6:bl\xae\xcb~\xf4D\xd7\xdc\xce\xa1\x84\x07R\ +\xecn\xed\xff\xd8\x93\xf1a\xc7\xbd\xa1S\xf7\xac\x8bc\ +\x9cE[x*\xbaf\xbb\x8f\x19~\xdd\xb2}'\xcc\ +\x1b\xf2\x06\xcd\xe0\xe7\x87\x10\xdf'\xf6\xb7\x91\x98\xe9\xe3\ +\xf7%\xe5\xc3\xd0\xed\x8e\x0c=dCL\xb0\xf4\xbe\x1a\ +\xfeiB\xa3\x03\x99K.\xeb{\xa9(\x9f\x1e\x81\x98\ +\xdd\x88\xd1\xea\x8d\xda_ne\xb9\xa4\xaes\x96\xde\x83\ +\xcc\xa6\xcd\xe3C\x92?\x0c\xcc\xf6\xdf\x8e\x1e\x14i\xce\ +\xb9P\xb7u\xb3\x86\x97\x06-m\xa3\x17rr|\xbe\ +A\xac\xb6\x9d\xde\x9e+\xcdV=\x98\xb0\xe8B]\xce\ +\xdfs\x89\xc8\xc7\xed\x86\x9b %\x1d\xc9\x01\xad\x82\xb3\ +\xa3\xf3kOz\xec\x917\xe6h<\xd2W\x8cx\x07\ +V\x9e\xe7\xee\xe8B,98,%\x06\x09\xfb\x88\x87\ +\x1e#\x8cb\x06.\xf3\xa8\xbb\x93\xccWC\x9b>\xde\ +\x7f)\xd2\x9f\xe3\xaa*\xf7\xcb\xfa\xe1\xd0\xc3\xfar-\xa4T\x0f\ +\x1a0z\xf7\xb2\xb7\xa9\x8f~\xe4\x8e\x5c\xe3\xfa\xec>\ +\xb1(\x1c)acN\xa5\xb5\xbf\xa1\xe2r\xd4\xd9\xb4\ +\xad\x0e\xcb\xa9\xee\xf0\xc3#\xde\xbal\xf7\xf9Z\xc0\xdd\ +\xf2\xa9\xf1+\xa5+}9#\xdf\xbb\xdf\xff\xef\xd4R\ +\x8dh\xff\x94\x95\x0b\x88#\xdf\x9e\x0c\x9a\x9e?x\xc0\ +\xa4 D\xa8\xedUagG\xcd\xadS\xfb\x7f5>\ +-\xb4\xb6\x7f\xfaj\xa7\x9d\xe1\x1c\xe2\xc8c\x0b\xe5A\ +n\x93yK5N\x06\xbe\xbbP_\x95\x196%j\ +\xcd\x0a\xa4\xf7oe\xaa\xdf\x0e\xccP\xaeC\x8cDS\ +\xae\xc3\xd8\x969 ^\x0d\xd91#\xfc\xf5-\x0f \ +\xec$%7|TC\xe7qK\x17\x13\x95;\xeaL\ +r\xc4\xe1\xd0]\xce)\xc4\xc0\xe0\x9e}&\xe43\x02\ +_\xdcP7\xef2ou\xb0E\xe6#K\x9b\xe4\xd8\ +\x19W'\xf1\xfa\xb4$\x1a\xb9\xa9\xc7-\x18R\x13\x1d\ +\xb6\xe1\x8d\xb7\x8c\x08_\xb0<\xe2\xca\x89\x84\xab\xe6\x8c\ +\x18-\xa6\x17\x9a\xfc\xd3.Mw\xd8>D\xa6'R\ +\x05\x1d\x8f>\xb4\xf8y\xf6]G\x15o\x15\xf3\x80\xb0\ +\xfc\xd1H\xa1\x8b\xab\xb3Q\x09\x99M+rr\x5cg\ +\xe9\x9e\xfb\x97 fw:\xec\xf82a\xe0\xc2e\xc9\ +c\x89\xe4\x08\xf7\x8c\x1d\xe6\xc1\xdbR;\xab\xe8\xde\xbc\ +\xe8t\xfc\xc1\x85\x1e3\x03\xfc\xaf\xd6\xbe\xe8b\xfb\xe8\ +\xda\xccN\xb9_\xf4c6\xd9\x5c\xbc\xf3@\xab\xb1\xd5\ +\x93\x9c\xb9\x96\xd7\xfc\xefn\xbb\xe1;q\xd6\x15\x8ei\ +\x7f\xb3\x85D\xcd\xe3G\x9e[\x052G\xfb,M~\ +\xdf\xc6\xe1\x8c\xca\xd7\x1e[\x18\xc17\x89\x01\xce\x83\x07\ +\xaeP\xd35\xfc\xd9*\xd4\xd4\xb5\xc1\xd8\x94k\xc3\xee\ +^\xb9\xa1rzo\xbakw\xa4\xe09X?gn\ +GV\xb2\xf1\xfa\xe3Q>\x8f7\xa5\x1f\xe7\xe8\xeb\x13\ +\xf5j\x18\x22\xf6\xa1\xd2c\x9bF\x80\xf5\x8c\x8e\xbd\x9f\ +u\x9c\xbf\x02-\x7fj\xf2\x97y\xfb#G\xdc\xf9\xaa\ +E4\xd4PR\x0a\x9e\xf83b\xdf\x82\x05+\x9a\xba\ +\xda\x05\xecF6\xf4q\xafnGf<\x89\xe3|\xee\ +\x01\x8ap{\x87\xc5c\xd5\xc9q:\xc4\x8d\x08\xf7s\ +\xb9\x8b?+\xa9\xde\xb3\x9f\x12\x95k\x85\x9e\xd3)\xe0\ +K\xf4\xfaUwn\xab\x87\xab\xc4\xac\xf9Y\x7f\xc2b\ +\xc4\xff\x0f\x8fU\x03=\xf7\xef\x8fK\x8f7\xdf\xf7\xe9\ +^\xe0\xc2\xe3\xb3f\x84~tr\xb8\xf2\xa0\xf7!\x86\ +\x97z\xda,\x820E[\xb4\x860\x8bpw\xcb\xd8\ +\xc4\xd0C\xa2\xa1K\xf7\xc8\xef\xef\xbblB{\xfci\ +\xfd\xa1\xd8\xcfw\xbb?m\x9f\xbe\xdbA\xdb\xe1q\xbc\ +uk_\x15W%\xcd\x03\x9d\xda\xb9\x1c~\xf1\xcd\xa8\ +\xe7\xd5\xcf\xd9>\x13W\xd7\xf3\xb7\x9e\x911\x17)\xd9\ +G\xfe\xfdt\x1f\xbd!):j\xe1\xa5<5\xf7\xe9\ +\x84\x1da\xef\xd2\xa9\xdd\x9b6Zis\xdc\xc8\xd3_\ +\xf7|2<\xf4\xe2[V\xcbg\xb7\xee\xe4\x05\xef~\ +\xcf\xbbY?u\x9a\x11o\xdcuu\xc2\xbbi\x8c\xcd\ +\xbeq\x0d\xd0\xcbu\xd60/\x9e\xf1\x8ex\xd9q~\ +\xcf\xbc\xc5\xbbs\x8f\x91\xa6\xf9\x9d\x08\x82C\xc4\x9c\xb7\ +\xd9~\xb1\x1fb0G\x8e4\xf5\x9d\xfd\xbe\x8b#\xb2\x01\xbe\xcf\ +\x9a\x9f>\xb7\xddS\xfb\xc0n\xf6m\xb3C\xac;2\ +;Yu\x0fvq6\xfdQ\xab\x07\xd2\x8dW[]\ +\xf8\xdc\xb56\x9a\xe5\x07\x86\xdb\xd55\xd3b\x93\x0f\xe8\ +q{\x1cLV\xc2\xeb_H,t\x1b9\xfa\xad\xba\ +\xea\x86\xfc\x90\xfe{T785\x8b\x1ap/om\ +_\xe7\x11\x81\x88\x16\xde\x98\xacI\x8f0^t\xd0\xc5\ +\xec\xfekD1\x09\x0fM.G\xaa\x10>mB\x9a\ +\xfc\xdc\x7f \xdby\x87\xdf\xec\xf8\xcb\x0dk^~7\ +\xa2\xe0\xca'\x87\xb6\x1f\x95\x08c\xada\xdf\x94\xf4\xea\ +\xf0\x9a\x8c\xe8\xab>.\xa9\xb7\xe6\xbe\x03\x93/\x87\x14\ +\xa8\x04+[\x85\x8ckqaD\x7f\xcf\x90\xf9\x93\xeb\ +0]l\x87\xd6^\xa6\xa2\xd9\xf3\xcd\x9au\xba\x9d<\ +\x8f\x0d\x8f5~W[\xdf\xfaXC\x1f\xff\x19\xaf\xee\ +2\x82\xa7\x10\xfbZ&\xaf\xcfU\xcb9\xaa\xd2\xf6A\ +\x13F\x8bGm{g\xcc\xf68\xf6/s\xc0<\xec\ +\x0c\x9c\xb0\xca\xcc\xcb_\x85\xb0Z\xa5\xbfO\xf9\xe0\xcc\ +\xec\xa9#\xbc:\x12\xc4\xed\xb6\xdc\x14'\x8f\xb3\xc7\x12\ +\x17\x8df\x9c6\x19e5\x92\xad[\x7f\xfcp\xdf\x1d\ +zy\xef\xc7\x8e6#\xe08L%\xec\x22R\x0f9\ +e4\x9a\x12\xa7K^\x8a\xef\x1c\xf9Z\xc5hf\x8d\ +(U\xcd\x8b-\xb6\xf4\x0aHX\xa5\xc2\xbc\xeb\xa5\x19\ +\xa04h\xc9\xed\xc9\xb7\xdfL\xed\x98\x98\xa8\xa4\xd5k\ +\xdeR\x13%\xadC\xf6\xb9\x83\x9auGH\xcb\xbb~\ +*\xe8\xdd\xb0\xc6\xc1V\x7f\xf5\x99\xb8w\xd8\x13%\xed\ +\x13G\x97\xb6%\xb2\xdc\xb7\xeah\xe8_\x9f];\xf8\ +\xe1\x92C\x05S\x22\xd2\xea\xed[\x17\xed\xc8RvJ\ +Zu\xed\x8b\xbdC\xf3\x89\xb7\x9c\xcc\xb6\xaf\x19\xb5\xb1\ +\xb9\xe9\x7f\x87w\xae;\xb9\xf4\xc8\xe2\xf5\x83\xae>\xe8\ +\xdd\xcc\xdc\xf5\xb9\x9a\x93\xc7\x1c\x8d,\xff\x05\xb5'\xf6\ +\xd8>{\xfb\x9a\x995\x062\x1f\x1bjd\xf5Z\xa0\ +\xfdz\xecv\xf3\x9a\x9a\xff\xde\xcfz\xa21M\x93 \ +\xd0\xef\xff;4\xc9>\xf8,Ah)\x0djs\xed\ +r\x86r#U\x22XS\x7f\xc9^w\x17=oc\ +\x82\xb9\xa1\xa6\xd5\x8e\xbd\x1e\xdd\x1b{]\xe10\xeb2\ +\x88o\x17j\x06\xd5\x98Z\xa7~\xb2\x81J\xcc\xc8\xae\ +\x17\xd8\x86\xd7\x92//\xb2\x8b\xbd\x9f\x10sCyP\ +|\x07\x22\xef\xd3\xe5\xc1\xfd\xdexg{\xdb\xda\xfd\x8c\ +K \x96\xadw\x1cT\xaf\x8b\x8aWF\xe7w\xf9g\ +\xeb\xf6\xad\xf7\xc9\x09{\xbcG\x13\xc9\xb7\x82\x8c\xf7\xf5\ +\x9a\x10~*a\xcfG\xee}\xbf\x99c\x10Q\x9e\xee\ +z\xeb\xadZL\xbf\xdb\x81Zk_+\x8dZ\xe7q\ +\xa1Y\x1c\xc3\xfc\x87\xb3\x97\x9d\xb2W7\xd3o\x7f\xfb\ +\xa2\xfd\x8d\x1e\xd6\xc8\xf4(A\x80\xdf\xbc\xb1\xcf\xdb\xe0\ +&?\xafk\xfe\xfb\xa3\x9dO\x00\xef\xbaM\xff\x83\xb5\ +\x01\x1d\x16Z\xc1\xc6\xb6u\x9a\xf8=\xfd\x1f\xb3K\xef\ +\xa1y\xb9\xe7\xfe#\xb4\xb2,\xefE\xc5\xe87\xef9\ +\xa3\xf6\x87\xfe'\xa3\x875v;\x12\xc1 \x08\x1c\xc3\ +\xe8bT\xf3\xf1\xda\x09\xe1c\xde\xec\xee\xe1oqx\ +\xf2A\x0d\xc2\xb1Y\x8d\xc6\xa7U\xfa\x1f\xb6Y\xebd\ +8m\xeb\x94t=\x8f\xe9\xe9uw\xd7b\x0e`k\ +\xa1\xa7\x987\xbf\x18\xdf\xce\xe7<\xef\xa0M\xffK\xf1\ +\x8f\x09\xa3\x1f7T\x1b\x13\x1bTn\xd5\x1e\x16\xfa?\ +\xa6\xde\xe9\xcf\xc9\x87\xdd\xd5'\xb6\x1f\xaaf\xda\xdc\xae\ +\xff\xab\xa9\xe1\xf5\xda\xfd\xa4\xc2\x16>\xf3\x03L\x86u\ +\x8c\xe9\xb2s\xa9\xd2\xe9\xbd_\xfe\xa7\xa5j\xa5=\xbd\ +\xc7\x193\xffQ\xdf\x16\xb5[\xf4\xbc\xe0\xdfE\x17\xd2\ +:\x8cl\xfc\xb8\xc3\x95:\xcc\xb9\xebX\xa75\x82\x0d\ +\xd8W\xed\xcc\xdb\x8e[\xdcn\xd1\xd3\x95\x8d\x09N\xe3\ +\x0f\xdb\x03\xd4#\xb6\x5c\xdfa\xa0t\xba\xa1\xdd\x943\ +\x1a\xd35\xb3~\x9a\xf0j\xd4Q\xbd:\xac\xbfg\x0c\ +s\xca\xfb\x89\xe1\x86\xebG\xf8\x9b\xaf~\xa2F\xfc\xb5\ +\xf65\xa9\xdc\xc0\xa2\x87\x91\x96\xb6\xdfr\x08[\x0d\x1f\ +\x08\x1c\x11\ +\xe8\x15\xd5\xf2\xbe\ +\xeaA:\x8d\xbbr\xdb\x05\x02\xf8\x07\xbb\xa2Z\xcf\xaf\ +\xba\x10K\xe3Pb\xfc\x0b\xe0^\x8fUm\xdf\xff\x0e\ +\x10\xc2\x12\xf0\x11I\x88{\xf0+\xeeV\x80\xb9W\x83\ +|`7K\xc0W,\x01\xfe\xc1\xb7\x5c\xed\xd3\xfd}\ + \x85\xc6\xa9X\xfc\x0b\xe0\x1ebK~\x0a0\xe7j\ +\x90/\xf8\xb1\x04\xe2\x86\xa5\xe0\x1f\xe2\x8b\xd5\xb6\xde\xef\ +\x07\xf94nK\xe0_\x00\xf7\x90_\x10\xaa\x00s\xad\ +\x86\x8a\x81P\x96@\x0e\x89\x08\xfc\xcfb\xfdI\xb9\x1b\ +\xcbu\x11\xe8\x90,\xcb\xa64h\x93,\x0bm\xea\xff\ +\xad\xf5\x114'Y+\xf4\x05~O\xff\x9b\xa5\x0e\xf5\ +=\xf8~e\xaf\xa1|\x00\xb85\x13\x83\x7f\xc81\xbb\ +\xa5\x00s\xfc\x05\xf8Fx\x5c\xa1G&\xad\xed@&\ +o\xecI\xa6\xed\x9fHf\x9cYJf^\xb6#\xb3\ +o\xed\x22\xb3\xfd\x0f\x90\xb9\x0f\xce\x91\xb9\xa1\xee\xe8\xe7\ +Y2\xdbo\x1f\xfa\xbd3\x99yi\x1d\x99\xe1\xba\x88\ +L\xdd3\x86Lfv'\x93l\xdbS\xcf\x85\xe7\xc1\ +s\xad\xaa\x04=\xf8\xd0\xb8\x16>\xfb\x90g\xf8\x1b\xe6\ +\xeb\xe9\xd2\xe7U\x17\xe3+u\xe702\xf3\xe2\x1a2\ +\xe7\xbe+\xc9\xfe\x18JrS\xbe\x91\xbc\x9c4\x92\xc7\ +\xce#I\x1e\x8f,up\xb9\xe8\xefrI^v*\ +\xc9I\x8a!\xd9\xefC\xc8\x9c\xa0cd\xc69K2\ +e\xdb\x002i\xb5\x01\xcd\x17\x14\x9a\x16\x92i\x5c\x0b\ +\xe7\xf28*\xc0\xdc\xe4\x07p\xd6\x11\xafNZ\xd5\x86\ +L\xdd=\x86\xcc\xbe\xb9\x13\xe3\x8b\x9b\xc1Bx\xe4\x94\ +\x8e\xe7r\x0e^A>\xc9M\xfdN\xe6G\xdc&\xb3\ +\xbc\xec\xc9\x14\xa7Ad\xd2\xca\x96\x94\xacPL\x19\xe1\ +(\x84{\xb0\x0b\x1e*\xc0\xbc\xe4\x83wt\xfe\x92\xed\ +\xfe\x87\xce\xa5\x05\x99\xff\xea\x16\xc9\xcdL\x92+\xbeK\ +\x1d\x88G\x00O\xc9{r\x99L?f\x8ee\x0c\x9f\ +\xffT\xfa\xde\x14\xc1CV\xf1\x1cR\xb8o\x90\xa4\x00\ +\xf3\x92\x03\xde\xbb\x229\xbd\x96,\x88~\x86\xcee\xde\ +\xaf\xc3\xbb\x88\xc1\xcb\xcb$\xd9\xef\xee\x91\x19g-(\ +]\x01\xf8\x81b\xc8\x85$\x1a\xe7|\xfc\xc3\x9d\x93\xaa\ +{7\x03\x9d\xaf\xa45m\xd1>/#\xd9_\x9e\x91\ +$\x87]\xa9x\x17\x1e\xc3m9\xf6\xb3\xfc\x8e\x83\xf3\xfd\x1d\xf6C\ +\xffB\x1a\xc8c\x15\xd5\xdd`W>\x8eK\x07\xc0=\ +/+\xb9\xb2\xd1T\xa1\xe3\x17\xd3\x00\x9bUT\x8bD\ +q\xf1\x8f\xe4=\xf0\xfc\xdf\xf5\xdc\x0b\x8f\x82\xf8(2\ +u\xd7\xa8_A\x03\x8a\x8f\x7f\xb4\x07\xa0\xeb\xfdJy\ +\x0f\xf6\x04//\x8b\xe4e\xa7\x90\xdc\xac\x14\x1c\xeb\xe1\ +\xe5e\xffR\x9f\x12\xfbs\x18\x99\xb2\xb9_E\xd3\x80\ +b\xe3\x9f\xb6\xf1*T\xcf\xe7\xf1Hnf2\xf6\x19\ +\xe6>\xba@f\xdd\xd8\x86cy\xe0\xb7O\xdd3\x16\ +\x9f\xc3\xd4}\xe31\xff\xc9<\xbf\x92\xcc\xbe\xb9\x83\xcc\ +{z\x19\xd9\xefo\x10]\xa4U\xdc\xbc\xd0\xc8{q\ +\x9dLZ\xd7\xa9\x22\xe3\x06\x8a\x8b\x7f\x88\xd5\xaei\x87\ +\xed\xfb\x8a\x18\xbc\x9ct2?*\x98\xcc\xf2v\xc4\xbe\ +C\xbc\xcf\xd6-\x04\xf2;\x04r<,u\x8arC\ +\xe0\xe7\xca\x968\xb6\x04r\x1ar\x02\x80>y\xf9\xd9\ +\xf2\x9f$\x97Cf\xfb\xee\xa6rP*\xc6O\xa8\xb8\ +\xf8G\x00~=y\xfbv \x0e\x98\xfb\xd8\x83Ls\ +\xf9\x97L\xb25,\xc2o\xb9\xce\x98nal\x19~\ +&\xaf\xefL\xa6\x9fZ\x80\xfd\xfb 7\xe49xH\ +\xfe\x00\xef\xa9 9\xa0\x98\xf8G\xf8\x00\xbe\xcbI\x8e\ +\x93\xdf>\xb2\xf3\xc8\xfc\xf0\x9bd\xda\x81)\xe8\xfc\xb6\ +\x90o\x5c\x9e\x9fg\x80\xf8U\xfa\xc9\xffpN\x89<\ +\xf3\x0b\x0ab_\x92\xc9L\xe3\x8a\xa0\x01\xc5\xc3?\x9f\ +\xef?\xbf&\xb7\xfd\x03\xdd\x11\xf2\xb6\xe0\xb9\x15\x1a\x7f\ +\xa5\xe9 y\xc3\xff\x90\x1e\xe1D\xe5\x99\xc8e\xf0\xc8\ +\x9c\x80\x83\xb4\x1c\xf8\xcd\xf1\x8f\xce~\xc6\x99er\x8a\ +\xe3\xf1H\xf6\xbb\xfbX\xbeS\xb9\x01\xbf(\xd6\x06\xe7\ +t\x85\x1e\x99~\xc4\x8c,\xf8\x1a!\x87u v\x92\ +\xfe\x13\xd9A\xe3\xe5\xed#V,\xfc\x83,Ez\x15\ +\xd8>2\x0f\x1e\x97\xccE\xbac2\xb3\x07}\xe6+\ +\x87\x96S\xb7\x0f\x22\xf3\xdf\x06\xc9\xbe\x1e4\xf2\x9e]\ +!\x93V\xb5&\xe5\xc8\xbf\x14\x0c\xff:8o\x87\xe4\ +\x14\xc8\x8e\xfb\xb0KdR\xe5\xc5\xd5\x04h\xa0)\x99\ +\xb2\xb1'\xd6\x0de\x1d`o\xa6\x1d\xfaW\x9e\xf4\xac\ +8\xf8\xc7z\xb4\x11\x95\xbb#\xdb.\xe1s\xaf\x10\xb8\ +\x17\xa0k\xec\xc7x\x1f\x223\x0d\xe4=\xbbJ&\xd9\ +\xc8\x8d\x07(\x0e\xfe\x11MC\xfe=\xe4V\xcb2@\ +\xdec\x9e\xaf(\xb8\x17\xa0\x81\xd4\x1dCIN|\x94\ +L\xeb\xe3f%\x93\xa9{\xc7\xc9\x8b\x07(\x08\xfe\x91\ +\xce\xbf\xca\x00\xdbg\xb2\x0c\xd0\xf3\xb1\xaeWY\xf2^\ +\x02\x1aH?1\x0f\xdb\xf4\xb2\x8c\x9c\xc0\xc3X\xbf\xfc\ +m\xf0\x0fg\xc3y\x84L\xf6\x12\xd8\xf7`\xe3)X\ +\x8eu\x09:\x07\x1f#\xe4\xfc\x80\x9c\x92v@\x8c0\ +\xd9\xa1\xbb\xfeA\xef?\xbfR\xea\xd8:\xe4\ +\xd0\xa6\x1f\x9eYu\xce\xbe\x00\xdd\x83\xbe\x22m\x9c\x00\ +\xe2\x97i\x07\xa7\xca\xba\xee\xca\xc7\xbf\x95\x1e\x99\x13|\ +B\xaa=\x80\x0165\xbeW\xa5\xe8r_\x04\xfe\xc1\ +'\xc0\xf9\xf1I\xca\x95\xf3\xc8\xac\xab\x1b\xab6\xfe\xe9\ +\xfb\xd8`\xb3K\xb7\x05h\x0f\xaemV<[_R\ +\xb0\xd6\xc7\xb5\x05\xa4\x1d\xb9\x8f\xce\xcb\xaa\x03T2\xfe\ +up\x0d\x05\xb8G/\x15\xfa\x91\x1d\x9d\xb6gl\xd5\ +\xe3\xfd|(\xf4yIwG\x15\xe2\xcc\xf8n\xb1\xf4\ +\xbc\xafr\xf1\x0f\xf1\x91=cp~\x9d4\xa3 \xf6\ +\x15}w\xa6\x8a\xf1~>\x80\x0c\xd8jJr\xd3~\ +H\xb5~NR\xac\xac~\x80J\xc6\x7fSd\xc7.\ +\x90:\xd6\x0b\xb9a\xf8\xfe\x5cU\xd1\xfbK\xe0_\x17\ +\x9f_\xf6\xc7GR\xad\x1f\xf2\x16Sw\x0e\xaf\xc2\xf8\ +\xd7&3/\xae\x95Z\x07\x86\x5c\xcc*\xcb\xfb\xf9\xb0\ +\xb2\x05\x99\xfb\xf8\xa2T\xeb\xe7\xe5f\xcaj\xfbT.\ +\xfe-\xb41\x0e\xa5\x1a\xc8^\x84|\x5c\x9c\x93Y\xd9\ +8\x94\x05\x10\xee\xb2\xfd\xf7K\x87\x7fv.u\x87\xb8\ +*\xe3\xff\xf6\x1e\xe9\xd6\x9e\x9f\x8ds\xed\xaa\xfc\xf9G\ +\xf4\x0by\xaeR\xc5\x03\x10\xdf\xcc\xbch+\xcb\x19\xa8\ +\xba\xf8\xcf\xcd\x90w.D\xa5\xe1\x1fp(\x95\x0c\xc4\ +\xf8_\xfbg\xe2\x1f\xd9~`;T\xc2\x9d\xe9\x0a\xc0\ +\xbf\x94:\xd0\x9f\x8c\xff\xbcL\xaa\x96\xce\x9f~\xfe/\ +\xfd\xa1\xf8G6\xa3\x9cb\xa0\x95\x0bh\x0fp\xec[\ +\x9a\xc1- 3=VWi\xfcg]\xdf*\xe5\xda\ +e\xd6}\x14\x03\x90\xed\x0e\xf9<\xd2\x0c\xea\x0c,\xa8\ +\xba\xfa?\xf0\xbe\x0b\xab\xa4\xce\xf7\x85\x1a\xbdU\xd6\xf7\ +\x8fA\x17\xe7r\xe6=\xf7\x96\x0e\xff\x10\x03t\x99V\ +\x85\xf1\xdf\x14\xdf\xb3\x95\xf6\xce\x1c\xd4{\xabRq\x7f\ +a\xa0\xef\x0e\x16\xc4\xbd\x92j\xfd\x90/\x97\xe24\xb0\ +\xea\xfa\xff\xe8\x9cX\xf0cJ38?>\x90\xc9\xf6\ +\xdd\xaa\xb4\xff\x1f\xfc\xb7\xd2\xd6\xa6\xe5\xfc\xf8\x88k\x9d\ +V\xd9\xf8\x0f\xd0\xbf}W\x8cGi\x06\xf0\x8d\xb4#\ +U0\xf7\x83\x0fh\xdeR\xeb\xfeh\xc0\xbd\x22|\xa7\ +\xb1\xaa\xe2\x1f\xe4\xdfj\x032?\xc2O\xaa\xf5\xc3\xc8\ +\x09p\xa9|\x8f+5\xfes\xee\x80\xde#\ +3\xed+ \xfe\xab\xe8\x99\x96\x14 \xe7\xcdy8\xc9\ +aI\x97\xf3\x08\x03\xe7}\x1c1\xfb=\xee\xff\x08A\ +\xd2\xea\xb6\x94M\x83\xf7J[\xa06\xd3o@\x13r\ +\xaam#'\xde\xafx\xf8\xb7nN\xd5S\x8b\xbaG\ +\xe6\xdc=\x8a\xefHA\x0d>\xf0q`?\x1f\xbfO\ +\xdf\xf2\xaaK\x13YW\x99\xb2\xd54\x83\x9c\xf7\xeb[\ +\xe5\xc5#+\x06\xff\xfc\x1e{\xe5\xd1M\xf9w\x01\x04\ +s!9l\x1c\xe7\x87\xfb\xae\xe0\xeb\x85Zx\x90\xef\ +\x04\xf7\xc5\x92\x90\xee\xcf\xe2\xf7\xd7*F\x13\x95\x8fc\ +\xd1\xeb\xd3\xa1j\xd8\xcaX\x13\x8a\x9b\x1c\x87\xfb\xcc\xc9\ +)\xee!\x1f\xfc\x0b\xf6TD\x9f!\xa7\x15d\x1c\xf4\ +\xd9\x93\xf8\x9e:\xd8\xc3[L\xca\xac\xf1\x0b\xb9\xf2\xdc\ +\x8cD\xb2 \xe6\x05\xce\xff\x85\xfb\x1f\x10C\x80\xef&\ +\xadmO\xf7\xea\xe4\xd3\x84\x82\xd0\x03\xd4\xb0\xdd?\x09\ +\xfbke\x1d\xd0kP\x8e\xf6\xaet\xf8\x17\xec\x99\x8a\ +e\x9a!\xa2\xc9\x81\xb8njN\xd0Q\xaa\xa7bV\ +2\x99\x1f~\x0b\xcbs\x89\xf0 C,\x08\xbe\x03t\ +\x03\xef\x85\xde:\x99\x977\x90i.S\xc9d\xfb\x7f\ +\xe4U'Av\xdc#\x1e&\xeb\x80\x9er\x10/\x91\ +c\xceS\xf9\xf0O\xf3Y\xd0a\xe0\xbcA\x1fT\xa8\ +K\x07\xfd\xcd\xb8\xe9?J\xc85\xcc\xab\x1c{K\xc6\ +\xab\xd0\xb3\xe1,\xcbe \xbb\x0ah\x22\xf7\x89'\xd5\ +\x8f\xb32\xf4\x04\x9a\xe6\xa1\xde\x07\xe7\xe7g\xb9,+\ +\xe7\xee\x11y\xfb\xba$\xc4?\xe5\xa7\x87\xf3\x09\xf9:\ +\xf9o\xee\xa2\xf3\x16_\xe6\xfdu\x9c\xa3\x0b\xb5K\xcb\ +\xb4St\xb1,\x97w\xad\xdf\x9c{\xa7*\xe7\xfcC\ +/:[C2\xcb{\x93\xdcj@r\x12>P=\ +b\xe4\x9b\xef \x19\xfe\xe98\x1d\xf8\xdb\xcb;p\xfd\ +\xe2\xb2\xe6\x0c2\x04\xe2\xe0H\xa6\xcbm\x94\xea\x1f\xaf\ +\xa8\xfa\x9f\xd4:\xa1\x96\x0d\xd8x\xf2\xaa]\x0c\xcf\xc9\ +\xf4\xdcP\x11\xfa\x8c\xe4\xe7_\xcaX\x15\xf0\x8a2c\ +\x94\xfc\x1a\x10H\xaf\x93\xd7\xc0\xb91H\xee\x96\xe0=\ +\xd0\xf3\x9b\x9f3\x22\x97\xfe{\xba\x85\xf2\x18\xees\x03\ +\xbd\xcb\xb3n1\x0c\xe8\x0f%\xe3=O\x19\xf1\xdfL\ +j\xf9\x0cr\xa2\xa8\xd7\xa1\xf8g\x83]'\xed=X\ +Q\x03\xe7F\x80\xfeWl\xcf(9\x96\xed\xbb\x0b\xdb\ +\xd0)\xdb\xfac\xba.\x9fO\x81_\xfb\x9b\xd2\x7f\xe1\ +y\xa9\xce#q\x7fxN\xc2{\x99j\x18\x89\x5c\x07\ +\xaeiVa\xbd@\xca\x85\x7f\xa87\x01\xe7\xaa<\x03\ +\xdfQBzb\xa9:\x00Z\x1b\x9c\x1by\x0e|f\ +\x84u?~\xad\xa17\x81\xf8o\xb8\xc9_1O\x83\ +\x1c\x0c\xb0U!\x06\x09\xb1H\xfc\x1d\x0bm\xda\xffH\ +\x83\x05m\xdb\xa2gB\xdd\x15\xe8'\x0e}\xbe\xe1=\ +\xb2\xd4\xae)m\x80\x0e\x9by\xdeZ\x0e\ +;\x90\xcc]\x87i#\xd3s=\xf6K\xe6\xdc;\x89\ +{\x89s\xbeGQ5\xfcd\x88\xdf\x949\xd0\x9c\xa0\ +N\x1c\x0b\xf8\x93\x22\xe0\x9f\xaf\xa3\x87]*\xf7R\xd8\ +Q\xc1\xe2u\x00\x9a\xae\xe4a\x1f\xf3\x07\xe8K\xd0\xf7\ +\xbd\x04\xcf\x11\x87\x7fq\x83\xcb\xa5r\xb3*\x12\xcfb\ +F\xde3o\xda\xc7\xaf@\xfd\x7f@\x07@<\xaf\xbc\ +2\xaeT\x1d\x00\xd7\x80\x18+sM\xccb\xefCg\ +\x19t\xf0\x12\xef+/\xfe+i@\xadh\xa8\x11\xa8\ +p\xfd\xbf@\x07\xd87\xa1\xdc}\x8f(\x1d`\xb1h\ +\x1d\x00\xc9V\x88\xf3\xc8\xb3\xb7\x16\xe4\x92%o\xe8\x22\ +9\xffW\xa0\x01\xb8\x87z\xe1\x0a\xd9\xff\x0fx5\xda\ +Wiz\x1a`\xdf\x95\x98gJ{\xffE\xdc\x00\x9d\ +.I\x94\xdcTp\xfc\xffb\xdc\x97\x1f\xff\x00\xd6\xcd\ +\xc9\xdcP\xb7\xb2\x17\x83\xe4&\xf4\xea\x84:\xa7\xb9\x0f\ +\xceQ\xf9\x0a\xd6B\xbeK:\x1e\xce\xd7\xc7\xe55\xb2\ +o\xee\x14\xcdk\x14\x15\xffh\xaf\xf2\x9ezUF\xdd\ +\xf2\xf2\xe3\x1f\xe7\xac\x8b\xb8\xaf\x8ct\x02\x90\xe1\x18\xdf\ +\x88>\xe0o ?\x11\xd7g\x02\xbc\x8b\x8aY@\x1e\ +\x9cC7\x92\x93\xf8En[\x09w\xe22N\x89\xb9\ +\x13\xa7\x80\xf8\x87\x5c\x9el\xbf\xfd\xb8\x1eh%\xdce\ +\xe3\xe3_\xf2\xfe\xcf\xa0\xaf!\xbc\x82_\x1b|\x01\x90\ +\xc3\x086\x01\xe8\x85i{\xc7\xd1\xf8n.YL^\ +J\x9fBi\x03lq\xb1\xf1q\x05\xc3?\xd0}\x86\ +\x9b\x15\x95\xc7P9\xb1j~\xff\xe7r\xf4\x7f\xa7x\ +v\xc6\xd9e\xb8\xff!\xaeA[\x98\x87Q\xce\x1c\x0c\ +\xa8}\xe2e'\xd7=e\x7fyJ\x9f%\xd1\xb6\xa6\ +\x22\xe0\x1f\xfc\x9cy\xe17i\x1b\xa5R\xf3\x98\xf8\xfd\ +\xdfM\x10\xb0$\xff\x9e\xaeP\x8e\x85\xf0\xfcK\xcb\xd5\ +\x16\xf4\xc7\xe9\xe08=\xc8>\x90\x1b\x98\xa7\xc8\xe8\x03\ +\x86\xfb \xb8\x8f\xa7\xa8y+\x00\xfe\xc1w\x04>\xa5\ +\xc2\xde\x93\x95\x83w>\xb0h\xdc\xb7D\x10-\x97g\ +\xae\xd0\xc7>R\xf0\xb3\xe2\x5cNA\x80\xdfa\xff\xaa\ +@Lv9\xe5W\x82\xbb\x1c\x10\x03\x82z\x98\xe0K\ +\x07?\x1c\xc4\xb8\xf7 \x0a\xd2\x0eL\xa2{6T\ +\xfa\x1e\xfc\xa9\x90G\xe3\xb8\xf0\xec\x0b\xe1\xbf1\x82P\ +\xe9\x9f\xaf+$C\x85Aa\xed\xa1?\x05Bi\x1c\ +\x17\xc3\xbf\x10\x0d,@\x90\xaf\x00s\xad\x06\xf9B>\ +\x8d\xdb\x12\xb8\x17\xc2?\xd8\x05~\x0a0\xdfj\x90/\ +\xf8\xb1\x04l>QC\x80\x06\x86#HQ\x809W\ +\x83| \x85\xc6\xa9X\xdc\x0b\xe1\x1f\xfc\xc2\xbb\x15`\ +\xde\xd5 \x1f\xd8\xcd*\xf2\xf5\x8b\xc5\xbf\x10\x0d\xe8!\ +\x08Q\x80\xb9W\x83l\x10B\xe3\xb2L\xdc\x8b\xa0\x81\ +\x81\x08\xbe)\xc0\x1a\xaaA:\x88E0\xa0<\xb8\x17\ +\xc2?\x83E\xe9\x8c\xe9\x0a\xb0\x96j(\x1f\x00\xce\xe6\ +\xd38,\x17\xfe\x85h@\x15\x81\x03\xab\xda&\xacJ\ +\x90O\xe3LU\x1a\xdc\x8b\xa0\x81:\x08vT\xd3@\ +\x95\x80|\x1aWud\xc1}5\x0dTI\x90+\xee\ +\xc5\xd0\x80\x03\xabZ\x1fPDH\xa7q#W\xdc\x8b\ +\xa0\x01\x90)\xa0W\xc4*\xc0\x9a\xab\x81\x82X\x1a'\ +2\xc9\xfbr\xd0\x00\xe8\x94`WT\xfb\x07*\x1fB\ +h\x5cH\xa5\xe7\xcb@\x03|\x1f\x11\xf8\x96\xaa}\xc5\ +\xbf\x1eR\xe8\xbd\xd7\x13\xc4\xc9\xaf\x18B4\x00~E\ +\xf0-C|\xa1Z7\xacx\xc8\xa7\xf7z8K\xc0\ +\xa7\xfb\xabp_\x0a\x1d@l\x09|E\x10c\x962\ +\x87\xa4\x1aJ\x81\x13\xd5\xa3zT\x8f\ +\xeaQ=D\x0ef\xf1\x8fe\xf2\xd3\xe0\xe2\x9fK\xf0\ +\xe7\x98\xe2\x9f\xd5\x84?\x0b\xcb\x83\xb2\xe4\x87\xb0\xbc\x11\ +\x96G\xc2\xf2\xaa\x84<+6A\xe5\x92\xf2PX^\ +\x0a\xcbSay+,\x8fK\xc8kay^\x5c\xde\ +\xb7E?L\x09j\xdf\x19\x84>\xf5{\xf4\x8b\x96\x9d\ +(\x90t\x88\xd0[\xfeB\xd0\x17\xc1r\x04G\x11\xdc\ +D\x10TIp\x93\x9e\xc3rzN\x7f\xc9K\xc7\x12\ +z\x0e\xf8\xe0\x0d\x11\xaccQ~y\xb0\xdd9\xac\xca\ +\xb7)\xf9\xc0\xa1\xe7\x14B\xcf\xd1\x90%\x107(\xef\ +>\x08\xad]\x1f\x81\x13\x828\x05X\xa7\xa4\x10G\xcf\ +Y\xbf\xbc{ \xf0\xf7J\x08& x\xa5\x00\xeb\x91\ +\x16^\xd1kP\x92d\x0f\x04\xd6^\x13\x81-\x824\ +\x05X\x83\xac\x90F\xaf\xa5fi{ \xb4\xf6-,\ +E\xe8\x9d)?`\xd3k\x12\xb9\x07\xac\xe24o\xfb\ +\x9b\xad]p\x0flY\x22\xce\x82\xc0\xfa\xe1\xac\xfc\x0e\ +4/\x0e\xd2\xe85\x16\xae\x9fU\x9c\xcfWe^'\ +)\xbcb\x09\xc9\x05\x16%+\x9d*\x7fn\xbf\xec\xfe\ +\xbc\x13\xab\xb8~\x00\xfa\xc2/\x94\xef\xbaE\xb58\xa0\ +\xee\x06\xd4\xd2Z\xd9\x92\xaa1\x08}\x9c\xa0\xd6,\xfc\ +]\xc5\xf5\xfc\x8c\xa3\xd7\xcc_\xff\xfa_\xb2n\xbav\ +\x14\xf4\xd6\x84\x9a\x0a\x19\xee\xd6dN\xe0!\x5c\xdb<\ +?*\x88d\x7fzL\xb2\xdf?\xc0\xfdgr\x1f\x9c\ +\xc5u\x0f\xd3\x0eM\xc7\xf5\x94q\xcf;\x5c\x0bIn\ +{\xb1\x8eU\xa4\xcfWl\xbe\x0f\xae\x97\xa5\x87k\xf8\ +f\xdd\xd8\x86\xd7I\xf5Z)\xbb\xe7\x04\xd4\x97\x80\xbe\ +O\xb9\x0f\xddp\x0d\x02\xa8\xf5&\xa7}\x08a\x15\xd9\ +2\x15\x14\xcf\xd4\xa5\xeb'\x9a\xe2Z\x87\xd03C\x96\ +\x01\xf56\xf2\xdf\x06\xe1\x9aET}a\x99\xee\xdd'\ +\xb3\x8a\xec8\xf9\xdb2\xb8\xdec\x1b\x5coI\x9e\xb5\ +\xc0\xf1>\xe4e\xe3\x9a\xb0P\xb3I\x86\xda\x03\x1cV\ +\x91\x0d+\xdf\xb5\xa39A\x9d\xcb\xdcG\xe7\xe5\xda\x03\ +Cx@\xbd2\x5c\x1bSz\xfe\xc8\xb7\xdf\xe5\x8aw\ +\xa8\x87\x0a\xfc\xecW\x0c\xa8\xef\x96q\xd6B\xda\xf9\xf2\ +}\x17r[{\xf2\xa6^\xb8N\xe4\xaf\x1c\xd0\x97\x19\ +j\x9bIA\x07Ar[?\xd4\xe1\x5c\xdb\x11\xf7\x87\ +\x96xp\x0aHNR,\xc9~w\x9f\xcc}|\x91\ +\xcc\x09>\x81\xe5\x1e\xd4\xe0+\xf8\x16I\xd5\x84\x95t\ +\x0f\xd2~\x90i.\xff\x96\x97\x1f\xc8o\xfdH\x87\xc9\ +\xf6\xdf\x8ff\x22\x81L\xcb\xcd\xc4\xb5\xc2q\xdf{D\ +/T\xefJ\xbd\x22\xfc!\xfd\x07\xeaiA_\x1e\xa8\ +/\x0c\xfd\x02%\x19\x05q\x11\xf8y\xe5\x90\x0b\xf2Y\ +?\xd4\xfc?4C\xa2\x1eB\xec\xcfad\xfa\xd1Y\ +t\x8fF\xedR\xeb\xba\xf2u?\xa8?\x0c\xb4\xc1\xcb\ +\xcb,\xf3\xf9\xb9\x0f\xce\x88\xaf\x15^\x11\xeb\x07\xba\xb7\ +m\x8f\xf8\xdd\xbd\xd2'\xc6\xe5\x90\xb9\xa1\xeeT\xff\xca\ +\xf2\xea/\xb0G\xd6\xfa\xb8>\x7fY:\x04\x9c\x19\xd0\ +\x19%\xac\x9b)\xfb\xfa\xa1\xcf\xe7\x99\xa5\xa5\xcb9\x1e\ +\x17\xf7m\xa6\xfa\xc6K+\xaf)]*\xfd\xc8,\x5c\ +\x1b\xb8\xb4\x01\xfc\x03j\xc2J\xb0\xc72\xae_\x17\xeb\ +8e\xf5\xba\xc9{\xe9C\xd7\x11\x95C\x9d$\xf4\x8c\ +\x0c\xb7\xe5X\x17\x14\xbb\xdd9\x19\xa2\xfb\xe4\xca{\xfd\ +\xe8\xf9\xd03\x13\xd7\xdd\x1538I1d\x8a\xd3 \ +\x89\xeb\xb8JD\x07\xe8|C\xff\xa1\xd2\x06\xeeMU\ +\xb6<\x94y\xfdY\xd7\xb7\x95:\x8fl\x9f\xed\xf2\xaf\ +\x17\x8cd\x5c\xca\xb6\x81\xb8&\x9f\xb8\x015\x19\xa9^\ +\x83\xa5\xee\x81l\xebG6\x08\xf4\xb7\x12\x8f\xfbXJ\ +G\xaf\xa0z\xc9\xb9\xf7O\x8b}7\xf0A\xa83_\ +\x06\xddI\xbf~\xdc?\xfd\x1fl\x9b\x8a\x1b\xd0C\x07\ +\xfb6*`\xed\xb0.\xb0\x87\xc1>\x16\xbd\x01<2\ +\xf3\xbc\x8d\x98^\xe9rX?\x9c\xfd\x1dC\xb1\xee)\ +nd^\xb2-\xeb\xfd\xd2\x03\xe8\xda\xcc\x1e\xa5\xda\x96\ +\xa0\x8f\x95\xa1\x0f\xca\xb4~\xa8\x09.n\xff\xa1\xb64\ +\xfc\xbb\xfc\xf8\x9e0P\xb2\xa74[\x03\xf7M\x11\xec\ +\xcb!\xd7\xf5kc=\x0etx\x91\xeb\xcfJ!S\ +\x9d\x87W\xe0\xfa\x9ba=\x19\xf4hq#\xef\xc5\xf5\ +\xb2\xce_\x85\xad\x9f\x9b\x99\x8c\xce\xc7\x90\x8a\xad\x8d\x88\ +t\xc2\xbc\x17\xe2{,C\xbf\x95B_jE\xac\xff\ +\xf0L\x5c'_$\xfe\xa1o\xc7\xde\xf1\x15\x8b\x7f\x90\ +?o\xee\x8a_\xffS/\xcaoZ!\xeboJ\xf5\ +\xb8\xcd\x11c\xa3\x22}\x1f\xec\xbb\x8a\xe3\x7f\xba\xd8F\ +\x04;Y\xdc\xc8\x09:^q\xf2\x1f\xfc<\x9bz\x97\ +j\x8fH\xa8\x83I\x07\xb0\xff\xce#K\xd5=\xb3\xae\ +0+N\xfe[Q}G\xf2\x9e_\xc32\x08\xf4\x80\ +b\x80~\x07\xf4\x87m\x9e\x8a\x88\xeb\x80\xee\xe9\xed(\ +v\xed\xd0\xeb\x00\xf7\xe7\xac\xb0\xf5S\x00>\x9fd\xfb\ +\xae\xb8\xdfw\x09\x80~\xbd\xc2\xfdA\xe5D\xfb\xa0\xdb\ +\x16D?\x13\xbb~\xd0=\x93\xcb\xf6\x85\xc8\xbc\xfeB\ +?\x85E\x13\x04\xda\xc5\xfb\x06T\x18\xed\xeb\xe0\x1e\x06\ +\xa5\xf5:\xc1\xb2\xafl?\x88\xe4\xeb\x17\xd7\x0b\x01\xf8\ +\xc0\xd6\xfe\xd8\x07\x0b1-\x0a\xe7\xcd\x8b\xc7\xf7\xe4\xb9\ +\x0fp\xee\xb7\x0fA\xe7+Z\xec\xdaa_\xa0\x7f\x87\ +L\xf6\xefr\x81\x9a\xc7\xd0\xcbl\xa31\xd5\x83P\xf8\ +,\xc39\xbc\x016 \x0f\xf3\xa2\x82\xf8\xb7\xd8\xde\xcf\ +\xbe\xe5L\xa6\x9f\xfc\x0f\xdbi\xb8o\xcc\x0a=\xd9\xf7\ +\x01\xbd\x0bb\x81\xf9Q\xc1\xe2\xd7N\x92\xb8\x973\xee\ +\xe1(\xad\xfd\x8b\xe8\x06\xde\x03\xfa+\xac\x0d\xe2\x91`\ +\xc7C?\xd0\x12{\x8a\xf4+\xe8\x0d&\xfa\x10\xb2q\ +\x0f\x9d\x82\x98\x97d.\xb2\x85Rw\x8d\x94\xde\x16D\ +\xef\x05yS\x9a\xbd\x89\x07\x8fKf]\xb6\x93T\xef\ +*\xbe\xfe\xe5T\xads\xe8A\xc5\xf9\xf9\x19\xd7\xbb/\ +~\xa6\x84\xf4)>\x1f\xfa\xfa\xba\xf49a\x9a\xe4 \ +}qv\xd1\xfeI\x14\xd7\xa6i\x10\xf1P\x88\xf3\x14\ +\xc4\xbc(\xf35\x10[\x95\xac\x17\x97(\xfc\xeb\xe2\x18\ +<\xf4\xdf\x12\x89\xce\x9f\x9f\xa8X4\xff\xd9\xd07\x16\ +l\xc0\xcc\xa4\xb2\x97\x9f\xfa\x9d\xea\x93gI\xf5\x81K\ +;0\x19=\xab;\x89\xed\x93\x12\xfd8\xb4\xa9\xbfC\ +sI\xdb7\x1e\xc7~%\xf1-\xc3\xf9\x93@\xe6\x95\ +N\xff\x88>\xb3\xfd\x0f\x88~~\xbe\x90M\x07}\xee\ +O/.\xd97Y\xc4\xc0=\x12\xd6\xb4\xa3\xe2\xa2X\ +v=\xa7\xe2\xda\xa1\xe7\xc9L\xcf\xf5d\xfa1s\xbc\ +'\xe0\xbb\x05^\x0a=\xa7\xa0\xf7\x94$\xeb\xa66\x98\ +C\xf9\x9aJ\xd7w\xcb^?\xf8\x15\x8e\xcfE\xc8\x16\ +\xad\xd7g]\xdfZ\xb4~\xd8+4OI\x06\xf8\xeb\ +\x8a\xceL\xc7\x92\xfd\xe6\x11\xaf\xa0\xfaI\xe4\x89\xec\x03\ +X\xfa\xe0\xe1\xe7S\xfe\xe5r\xf1X\x91\xf8\x87~s\ +\xdc\x94\xaf\x22\xdfD\xf1\x80\x16\xd4\xd9\x04\xfb\x03\xf1F\ +IF\xa6\xe7\xba\xc23\x8f\xf1\x1f\x17Q\xf6\x97$Z\ +:\x0f\xd3Pao\xb2\xf2\xf1U\x91\xfc\x1fb3\x90\ +g\x80\x07\xf4AK\xfe\x8a}\xdc\xd9\xb7\xf7`\x1a\xc5\ +:\x1d\xf8_\x90\x8e\x07\xfd<\xcb\x9cb^6\xf5=\ +9\xaf\x1f|/9\x81\x87e\xf1\xad\xc3\xdaK\xc6\xbf\ +\xd1\x1c3\xce-\xc7\xb178\x0b)\x8e\xbd\xe9x\x15\ +_\xa7\xd1\xa5}\xdf\xa3%\xeas\xcda\xc5\x90\xc9L\ +\xe3B]H\x1e\xeb\x87\x98`\xe6\xf9\x95\xb2\xf6\x99\xe6\ +\xe7\xcf\x8b\xf87=\x81~Zz\x98\xbe`\xde\x18`\ +\xbf\xd1\xdf\x80\xae\x07}\xb4\xa8\x9e\x8d\x8f\xd0\x99\x89\x17\ +\xe9\x0f\x83\xd8\x18\x15\xe3l&\xf3\xfa\x81\xc7C\x1c-\ +\xc5i \x8ds\x99t*\xfe\xdd\x01\xf1\xf9/\xb4\x9d\ +\x9b\xff\xee\x1e\x96\xf3\x05_#\xb1\xcf\x89\xeaw\xa4S\ +\xc8\x0b\x81\xf7\x00\xdf\x009\x9duu\x13\x99\x17\xe6\x89\ +\xf5\x1e\xf0\x8f\xe6\xdcq)\xc2\x11\x7f\xfd\xa5\xd8\xed%\ +\x06\xe2\xed`\xcf@l\x1cb\xc2\x98\xff\xc8\xeeS\xe7\ +\xe7\xbf\x94\x9e\xff\x04\xeb\xdf6\xa0\x98\x8c\xe7$~\xc6\ +g\xbfd\xbfW\xc1>\x8e\x14\xcd@\xec\x87\xa2\xfd\xa2\ +\xbf\x85\xb3\x94\x89t\xb4b=\xfa\xd09\xc2\xfc?7\ +\x13\xef\x19\xce\x0b@2\x13\xd6\x0c\xba<\xee\x01Z\x98\ +\x03'\xd3\xba\xf9\xc0\xcf\x7f*=\xff\x8d\xbf\xfe\x0cV\ +\xd1\xfaA\x0f*\xb1~Q\xdf\xd5\x15\xdf/\x12~\x07\ +v\x05\xf4\xa8\xdbj\x8ay\x09\xf0\xc8\xd4\xbd\xe3\xb1N\ +\x05{\x86\xf5\x05\xf8[\xbeM)\x9fu\xf3\x81\x9f\xff\ +Vz\xfe#\xce_3\xc1k\xc68\xca\xcd\xc0zh\ +\xf2\x06\x89\xec\x8b\xb2Ad\x8f6\x1dy\x9c\xed\xb2`\ +=K\xc2\xfcW\xe0]\x80\x93\xd4]\xa30\xe0x\xe6\ +J\x89s\x0c\x14\x11\x84\xf3_\xcb\xce\x7f\xb6\x14\xc0\x91\ +\xe2\xf6?\x95\x14\x84\xf3\x9f\xff\xd8\xfc\xf7?\xfd\xfeC\ +\xf5\xfd\x97\xea\xfbO\xd5\xf7\xdf\xc4\xde\x05\xfb\xa3\xee?\ +\x8a\xd8\x83?\xee\xfe\xab\x98=\xf8\xa3\xee?\x97\xb2\x0f\ +\xbf\xdd\xfdw\xba\xcc\x00I\xd7?\xe0\xd7\xd9\xe1\xd7\xd3\ +\xe1\xd7\xd1\xe1\xd7\xcb\xe1\xd7\xc5\xe1\xd7k\xa8\xae{S\ +\xc9\x83I\xfd(\xc4G0\xf5\x93_\x1f\x83_\x07\x83\ +_\xff\x82_\xe7\xc2\x84\x8fw\xa8\x13a\x84\xc0\x9c\x10\ +\xa8\x13\xd1\xaa\xec:\x11\x22\xce\x85\x06\x82A\x086!\ +\xb8\x8e\xe0\x19\x82\x08\x16\xc5\x83\xe5\x09\x11\xf4\xb3\xaf\xd3\ +\xef\x1aD\xbf[b\xba\x171os\x04\x81\x08R\x7f\ +\x01\xaf\x12\x86T\xfa\xdd\xe6\xc2\xeb\x90`\xee=\x10\xf8\ +\x22(\xa8\x84y\x0bC\x01=\x97\x1e\xe2\xd6 4\xf7\ +\xc9\x08b\x14`\xde\xc2\x10C\xcf\xad\xd8\x1aD\xcc\x9d\ +\xa5\x00s\x15\x07,\xe15\xb0\x8a\xd3\x8c\x22\xee\xbb(\ +<\x14\xa3%\x16u>|\x15`n\x92\x82/\xab\xf8\ +\x99\x863.\xdf\xb3Z\xccw\xa6#\xe4O\xd3&%\ +\x8b3\x8b\x85\x02z\xce\xfc\xbd\x0f\x94\xcf\xbc\xe9\xb8\xf6\ +\x0a}\x9cW\x011\xdb\xac+\x0ed\xce\x9dC\xd8\xdf\ +\x9bs\xff\x14\x99\xed\xbb\x1b\xdf\x8f\x06\x7f[a|G\ +:\xbfS \xabH6\xc9\xce\xdf\xd1\xbc!\xef\x16\xe6\ +\x9c\x1bv\x11\xc7vx\x05yb\x82\x15<\x92\x97\x93\ +F\xb2\xbf<%\xb3|\x9c\xb0\x1fU\x8a\xbc\xa0TV\ +\x91\x5c\x95m\xcf\xd1{S\xf7\x8c\xc1\xf1\x8b\xd2\xee\x8f\ +\x88\x1b\xe0\x93\x87|\x10|\xaf\xa0|y\xad|\x9d@\ +J\x1a\xa7b\xad\x10'\x87{~\xb2\x0d\x1e\xce\x9f\x01\ +\x7fn9\xe8\x89\xaf\xcfH5w\xf0\x1fC.\xbaX\ +:\x91b@\xdc5m\xffDI\xd7\xc0\xd7\xc5\xca?\ +\x7f\xeb\xe68\x97\xa9\xb4\x5c3\xbc\xab\xec\x5c\x9c\xe3\xc1\ +\xcf}\xc4\xf7\x02\xca\x88\xe3\xc3\xdf\xe2\x9c\xa0\xb2i\x89\ +\xafG\x96s\xefu\xf0\xbdX\x88?\x8b\x9f\xc3'\x1c\ +\xe7\x85\xbc\x0b\xb8\xab\x02yS\x90\xe3\x02\xb9\xdbp\xcf\ +\x0a\x9f\x95R\xee\xa1\xb2?=\xa2cA\xa5\xae\xe1U\ +\xb9\xe7O\xe7!\x88\x8b\xaf\xc3\x9ar\x82\x8e\x15\xdd\xf7\ +,\x96w(\xc0\xff\xd1\xb9I?2\x13\xf1\xa0'b\ +\xd7\x00\xeb/\xe3\x9e@\xf9\xe7\x8f\x00\xf8\xb9\xc8\xb9g\ +\xa7\x91\x99\x1e\xab\x0b\xf3\x08\xca|\x16\xce{\xeb\x8ep\ +\xe1#\xf2y\x90c\x06\xb9\x87\xa5\xc4\x06\xcb7\x7f\xfa\ +\x0e;'9\xae\xe4\xdc\x0b\xf2\xa9<8\xfc\xb7\xe5\xe0\ +\xe3\xb0\x06\xfb\x7fH\xf6\x87\x07\xa2q\x10|B~\xfb\ +\x8f\xde\x95yi\x9d\xc8\xf7@^(\x8e\xc5K\xa3\x13\ +\xc0\x9d\x97}\x13D\xe6{Q\xb9a\xdd\xc5\xe1\xb3|\ +\xf3\xb7n!\xf2^\x07\xc4\x1f\x0b\xf3H\xca;w>\ +\xac\xd0\xc3:F\x89\x81\xf0\x0a\xb9\x1eb\x9e-\xf9\xfc\ +!/\x1f\xf1\x10\xce\x8f\x92\xe7\x16\xee\xb9\x83\xee S\ +\x5c\x13\xdf\xb5\x9e^\x227\x11\x06\xe8L2\xcf\x1fr\ +\xfa\xb6\x0f\x11y\xaf+\xdbo\xbf\xec\xf1w|o\xae\ +\x1b\xce\xaf,A\x9bO/\x8b\xcb_+\xc7\xfc)\x1a\ +\x15\xa5\xdfd^(\xf3>\x9c\x04@\xe7H\x22\xbe/\ +< G\x0a\xe7\xe3\xc8:\xff\xfd\x93\xf0\xfd\xb1\xe2\xc4\ +\xcf\xa5j<\xc8\xe1>\x09\xce\xef\x12q_\x9d\xfd\xee\ +\x1e\x95\xe7$\xe3\xfc!\x87\x81\x97\x97Ur\xff/\xad\ +\x95\xcf\xfe\xafi\x87u\xea\x12\xfb\x1f\x19 \xfb\xfe\x8b\ +\xc8w\xe1\x8f\x9c{'e\xcfy\xc0\xf9D\xbdpN\ +\x9d\xf0\xa0\xee\xeb\x89\xfc^\xb9\xf8\x0f\xe4W\xe6G\xde\ +\xc1\xb6\x09\xbe\x9b\x02\x80\xfe\x1f\xf2\xb4\x81ve\xe3?\ +\xdad\xfa\xa9\x85\x22\xef\xfbg]\xdb\x22;\xff\x01\x80\ +\xdc\xa1\xf5\x9d\xa9;$p\xb7\x04\xc9M\x0c\x90s\x22\ +\xd3}\x12]L\xdf\x90\x9f/\xf8\x1e\xce\x19\x17:c\xf9\xaf\ +\xfdp\xce\x1b\xf0\xe5\xack\x9b\xb1\x1e\x09:2\xce\xb3\ +-_\x9e1}_x\x98H\xb9\x08#\xfb\xe6\x8e\xd2\ +t\xc1b\xf3\x07\x19\x0awKA\x87\x843S\x10\x1f\ +\x85u\xe1bg\x0c\xe9o\xdc\xb4\x84\xe28F\xf6\x17\ +\xd8(\xec\xcfO0\x0d\x17\xe1\xa2\x14|\xd0~\x07\xb8\ +\xeb\x07w\xeaE\x0d\x90e8?M\x92\xf9\xc3>\xec\ +\x1c^\xe2\xee~A\xec+:\x87W\x97\xbe\xdb=\xab\ +T{\x11\xdf\xed\xb6\xd0\xc6x\xc2:\x85\xa0\xbfG \ +O\x15\xceM\xd6\xd5\x8d\xe2k\x05p9d\xe6\xe5\x0d\ +\x92\xdb/X\xbf)\x99\xf7\x0by\x99p\x1f\x8f\xff~\ +\xe0\x05\xe2\x06\xe8q\x90\xef\x96\xb8L\x0b\xd9XVX\ +nfyo\xc2k\x06\xff\x04\xc8o\xb8;\x095\xd3\ +\x00\xb7\xa5\xd9\x91\x14O+3\xef\xbb8\xfd\x8b\xb9\xb3\ +\x02\xb5\xca\xf0\xbe\xc1\xbf?\xbd\x22\xf6\x9d\x9c\x84\xf7\xd4\ +\xfd\x1at\x9e!\x8f\xb1p]H\x87\x84\xfcE|>\ +%\xb9\x13\xf0>\xa4(/\xb8\xf4\xf3\xc3\x8f{\x14\x9e\ +%\xb0A\x0a\xdf\x8b\xecS\xc8\xa3\xc4\xfa\x0d\xdc/X\ +\xdbQ,\xad\xc2\x80\x9cu\x9c\xbf\x86\xd6\x0a\xb8\x97f\ +\xe4\xbf\xbd[\x16\xcd\x0b\x02?fC\xcf_\x07\xf3\x82\ +\xdcG\x1eh\x1d\x0e\xf8lQw\xab\x9a\xe19\xe1\xda\ +\x16\xe9?\xc5\xbe;\xdboo!\x8d\x97w\xfe\xa0\x97\ +@-\x1a\xea~\x94\xc4\xfe\x1f~\xbc\xa9\xe8w\xc0\xff\ +VPwW\xc0\xee\x815\xa4\xee\x1d\x87\xcf\x1b\xf8+\ +3\x5c\x17\x93\xd9\xc8\xae\xc69\xae\x90;)\xe0C\x00\ +\x1e\xce\xbf\xf3\x92\xe9eW\xcal\x05\xe6\xcd\xce\xc3\xf4\ +\x82m\x94\x95\xe5\xce\xff\xe5\xc7\xcaD\xf27\xb8\xc3\x01\ +\xf2\x0f\xe8\x16\xdf\x99\xb5\xd0.\xba\xbb\x079\xaahM\ +\xb0\xb6\xcc\x0b\xab\xf0\x9a\x0a\xf1\x0e\xf2\xe8\xf4b|\x07\ +\x18\xe7}\x0b\x9eSn\x01>\xe7@\x97\xc0\xa3\xa1f\ +a\x92\xad\xa1\xb4\xf6\x03?\xceW\xd2\x7f\x8b\xe6\x01\xbc\ +\x9f?\xc0?YB\xc7,\xbc\xcbW\xb2\xde\x14\xe8\x03\ +8o\xfb\xe0T\x5c_\x09x\x00\x9c#\xb8\xbb\x07\xbe\ +g|\x9f\x91\x9fw,\x9d\xee\xc7\xf7\xdf\x8a\xf6\x9f\xa3\ +\xf9\x00\x0f)\x88\x0dG\xf0\x12\xdf;(\xf7\x1e\x15\xf3\ +\xf7\x0b\x82\x5cj\xa7\xf2\xfd\xe7b\xe3\x17Pk\x09p\ +\x8bA\xb4\xfdPY \x18\xbf(=~T\x91\xf7u\ +\xa5\x07\xe1\xf8\x11?~W\x15zt\x8b\x8a\xdfU\xd9\ +\xf8iU\x8f_\xff\x0e\xf9\x03\xbfC\xfeFU\xcd\x9f\ +\xc1yD\x1a\x04\x11\x03?\xd5\x08\x22\x18~*\xd3\xf9\ +G\xd5Y`2\x0f&\xfc\x87Q\xb4\xaf1\xf0S\xad\ +h\xdf!OK\x9f\xa0z\xfa\x14\xe6ii\x8a\xce\xd3\ +\x12\xc2e\x0d\x16\x95\x1b\xb8\x07\xc1c\x16\xc5\x1f\xbeJ\ +\x091\xf43\xf6\xd0\xcf\xac!L3B\xefn\x8e\xe0\ +\x10\x82\xc4\x0a8w\x89\xf4\xb3\x9b\x8b8K\x00\xffC\ +\x10V\x01\xef\x15\x860\xfa]\xc2\xeb\xfe\x15\xef\x16\x9c\ +\x03\x7f\x1fj\xd0\xfbR\xceg\xe8\x8a\xd6!%\xb73\ +\x0e\xb1\x8ahMr|\xd3\xbayaM|d\x1b\x81\ +\x9f\x18|;\xe9\xc7\xe6P9\x13\xe0\xd3-\xbbfj\ +\x22\xab\x88\xce%{7\xc4\xe4\xd6\x1b\xe1\xbc\x02\x5c\x93\ +\x1ej\x09\x09\xda\xedP\xbf\x22-\x01\xc7\xa2\xc0\xee\xc2\ +\xbam\xe9\xfb\xc1?c\x12\xac[\x07\xfb9\xe0\xbd\x12\ +\xd5\xc1G\xf6\x19\xd8\xcbP\xf3\xae\x949\xf0\xcfw\x99\ +\xefN?6\xbb\x14\x9f\x10W\xec\x9c\xa0\xde\x5c)v\ +?\x9f\xb7\x94\xb2\xe7:\x18\xcf\x90K\x22\xbc>\xf0)\ +\x80\x9f\x11h\x00\xd7@\xf0\xdfO\xf91\x84\xfc?P\ +\x03\x04|\x1c\x22\xf4\xf5\xaf\xa5\xbf_\x17\xfb\x8a\xc0\xaf\ +)8\xc0\x7f\x07\xef\xa4\xfch\xc5\xed'\xb0\xff\xc07\ +Y\xbc\xce\x17\x8f\xcc\xba\xbe\xa5\xfc\xef\x07\xbf\xde\x89y\ +\xc5\xfcz\xb0\x0f\xa9\xb8N\x9a\xb6h\xfa\xa6\xf7\x19h\ +T\xf0n5\xcc9ycOa<\x94\xfe~\xf0k\ +\x85y\x0a\xe0\x99C\xc7d\xca\xb07\xe9\xfc\x1b\xa8g\ +U\xb4\x05<\xea\xfey\xf1\xef\x8a\x7f?\xf8\x0d\xd1^\ +\x82?\x80?\x0a\xbeGIZ\xa7\x86\x8a\x8b\xb9\xfc[\ +\xcc\xf7-\x22^\x22\xfe\xfdP3\xd5i`\xb1\xb8N\ +\xde\x93\xcbd\x19y\x0f\xc5\xe7\x0f~\xcf\x9f\x9f\x04\xce\ +\xc2\x03:\x9e+\xc9\xfb\x9bb\xba\x17\xac\x17\x00\xfeM\ +\xc9\xf9\xab.\xb6\xaf\xe1Ny\xe1\xfe\xc5\xbc\xc0|S\ +\x80nJ\x7f\xff\xf6!\xc5\xea\xa5\xe5>\xf6\x90\xf0\xdd\ +\xf4\xfa\x11\xaf\x14\xc4\x1f\xc4@\x85\xe2I\xa5\xe3\x1f\xed\ +\x1f\xf0\x0f\xa0y\xc8\xad\xc0\xb9\x08\x92\xc6\xa3p\xbd\xbd\ +1\xc5\xf6/\xef\xd9\x15\xe18\x84\x88\xf7\x0b\xd8\xf5\xe8\ +o\x81\x06!\xbf\x07\xe7\xf9@\xcc\x03\x7f_2\xbb_\ +\xd0\xcf\x04CD=\xa4\xa2\xf7\xf3{\xbd ~S\x18\ +[\xa1c\xeb\xe0\x7f\x84\xfc\x0c\x88\xf3\xe2{\xde6\xad\ +K\xc5;U\x93eN1\xdc\x81\x5c\x02?\xa9\xc8\xf3\ +\x0fy~;\x86\xe2\xde2 _\xf2^\x5c\xa3\xe8\xd4\ +B\x9b\xaa\x1b\xc6?\xc2\xe8,A\x1c2\xeb\x86\x13Y\ +8g\xe1\x18\x02:\xf7\xe0\x8b\x17\x96\x15\x98vK\xc6\ +\x80\xa8\xf7C]\x1c\xc4\xbf\x0b\xe7\x9a\xfe\x83\x92\xe3\xe8\ +\x99\xa2r/ 7\x12\xe2\x18\x10\xa7\x009\x0b\xf1\x11\ +\xf0\xbd\xc13\xa0\x86\xa5p\xfe\x16\xf8\xcaD\xf0>\x81\ +\xf5\xf3\xcf:\x95\xc3\x00\xfc\x16\xea\xeb\x80\xfc\xc6\xf2V\ +`\x80\xcf\x1e\xeaxB\x0c\x0c\xd7\x92E<\x11\xf2\x93\ +\xb0\xbfVD\xdc\x01\xf2\xc5\xc0\x17*&g\x8d\xd6\x91\ +\xa9\xda\x80\xb9\xf7]1\xae3\x5c\x17b\xff6\xe4\xba\ +B\x1cVp\x80\x9f\x1bbU\xc9\x1b\x8c\x8a\xf1\x16Q\ +\x03\xea2\xc1\xbe\x94\xc23\xf8\xfa9\xf5\xd9\xba\x05\xf6\ +E\x83\xdf\x16x5\xd0>\xaeOq}+>;\xd0\ +?\x04\xe2\xc4\x98F\x817\x8b\x88\xcd\x81\xdf\x19jU\ +\x80\x5c\x869\x96\x91\xab\xc7\xb7\x0d\x8ax.Z\x1b\xd4\ +\x82\x85\xb8\x1b\xce\x0f\x82\x18(\x9d\xfb\x0by\xa4\xb8\x9e\ +\x14\xf0`\xc8SC4\x9e\xed\xbb\x0b\xe7\xffB\xedJ\ +\x1cs<<\x93\xf2\xc1JVG\x8eo\x97$\x16\xf1\ +\xac\xce\xb8n\x0d\xc8p*\x8fX\xe0\x19\xc2>?\xc1\ +\xfb\xed\x82y\xd5\x92\xf9\x05\xf9\xfagI\xfd[\xfa\xdc\ +\xe5\xf2\x00_\xff\xe6\xdb\x1fO*\xf8}\x82 h\x7f\ +(\x82\xfdUi\xf6ge\xdb\xdf\xccJ\xf4\xc6\xc0\xbb\ +\xc1O\xa1IP\xbe\x8aB?E\x8d\x92~\x0az\xce\ +\x0d\x100\x11\xbcG\x90\x8e C\x0c\xa4\xd3\x7f\xc3\xa4\ +\xbf\xc3\xff\xee9\x04\xdc\x12\xb8\x11\x7fv\xb9\xf4w\xf8\ +\xef\xe5\x96\xf8\x1e\xe4C >\x0du\xe7 \xa6\x07\xf9\ +'B|\x82+0\xe7b\xdf\x858\x19\xd4\xbc\x05\xdd\ +\x06\xc7\x82\xe9\xdeeX\xbe\xad-\xc6{\xf8\xeb-\xe4\ +C\xa0\x8f\xf0\xfbH\x80L\x86\x5c\xd7\xfc\x08\xbf\xc2\xba\ +3\xa0\xeb\x0a\xd4\x92\xe5\xefU\xe1\xf7!\xf7\x0f\x06<\ +\x03\xea\xc9\xe0\xba\xd7\xd6\xcd\xb1\xbc\x80\xb8\x92\x90\xbe\x9e\ +Q\xf8\xfd\xc2zDo\xb0n\x8c\xf3\xe2-\x04\xe2g\ +\x88_S\xb9\x08\xf9T~\x1b\x15\xdf\x11\xf8>U\x1f\ +\x06x<\xe4d\x95\xc8o\xc49\x08]q\xfdH\x88\ +\x9b'Q9*E\xdf\x07\x1b\x0b\xed7\xd4\xc3\xc3}\ +;\x84\xeb\xe5\xf2\xeb\xb1!\x1d\x02rQh\x1eN}\ +\x1fz\x06B\xdcxe\x0b\xec+H?\xb5\x80\xea\xaf\ +\x22X\xbb\x13\xfd?U\x9f\x93\xc4u\x04i}\x1f\x7f\ +\x1f\xf0\x022\x15\xea{\x81M\x08\xf8\x02\x9d\x18\xea\x99\ +\xa6\xee\x1c\x86\xf5\xf5\xec\xdb{q\xcc\x98\x9b\x9e\x88\xf5\ +OZ\xfee\xa0\x9f\xe9`\x93\xc1\x9cqn\x08]\x03\ +\x12\xf2xA\xbe\xc2w\xf89p \xfb\xa0G\x8a\x00\ +\xbdP\xf4\x8c\xf0\x93q\xde\x1a\xe7\x99C>\x04\xe8f\ +\xd0O\x03\xe4 \xc4z\xa1\x87\x16\xc4[\xa9\xbb\x0a\xc5\ +\xe8\x98:\x0b\xcbu\xb9)\xdb\x07Sz\xa0`\xcc\x16\ +\xeau\x01\x9e\xf8=\xe2\x8a\xcb\x1e>\xfdR\xe7g\xb9\ +\x0e\xb7\x1c\xb2I\xf0\xfc\xc8t~e\x1d\xff\x07\x9d\xab\ +\xf3\x85\ +\x00\x00_\x84\ +I\ +I*\x00\x08\x00\x00\x00\x17\x00\xfe\x00\x04\x00\x01\x00\x00\ +\x00\x00\x00\x00\x00\x00\x01\x03\x00\x01\x00\x00\x00`\x00\x00\ +\x00\x01\x01\x03\x00\x01\x00\x00\x00`\x00\x00\x00\x02\x01\x03\ +\x00\x04\x00\x00\x00\x22\x01\x00\x00\x03\x01\x03\x00\x01\x00\x00\ +\x00\x05\x00\x00\x00\x06\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\ +\x00\x11\x01\x04\x00\x01\x00\x00\x00@T\x00\x00\x12\x01\x03\ +\x00\x01\x00\x00\x00\x01\x00\x00\x00\x15\x01\x03\x00\x01\x00\x00\ +\x00\x04\x00\x00\x00\x16\x01\x03\x00\x01\x00\x00\x00`\x00\x00\ +\x00\x17\x01\x04\x00\x01\x00\x00\x00\x17\x0b\x00\x00\x1a\x01\x05\ +\x00\x01\x00\x00\x00*\x01\x00\x00\x1b\x01\x05\x00\x01\x00\x00\ +\x002\x01\x00\x00\x1c\x01\x03\x00\x01\x00\x00\x00\x01\x00\x00\ +\x00(\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\x001\x01\x02\ +\x00$\x00\x00\x00:\x01\x00\x002\x01\x02\x00\x14\x00\x00\ +\x00^\x01\x00\x00=\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\ +\x00R\x01\x03\x00\x01\x00\x00\x00\x01\x00\x00\x00\xbc\x02\x01\ +\x00\xfa8\x00\x00r\x01\x00\x00I\x86\x01\x00\x8c\x0d\x00\ +\x00l:\x00\x00i\x87\x04\x00\x01\x00\x00\x00X_\x00\ +\x00s\x87\x07\x00H\x0c\x00\x00\xf8G\x00\x00\x00\x00\x00\ +\x00\x08\x00\x08\x00\x08\x00\x08\x00\x00\xf9\x15\x00\x10'\x00\ +\x00\x00\xf9\x15\x00\x10'\x00\x00Adobe P\ +hotoshop CC 2015\ +.5 (Windows)\x00201\ +7:03:08 11:38:26\ +\x00\x0a\x0a \x0a \ +\x0a pain\ +t.net 4.0.9\x0a \ + 2017-03-0\ +7T11:32:29-08:00\ +\x0a 2017-\ +03-08T11:38:26-0\ +8:00\x0a <\ +xmp:MetadataDate\ +>2017-03-08T11:3\ +8:26-08:00\x0a \ + image/tiff\x0a \ + 3\x0a \ + sR\ +GB IEC61966-2.1<\ +/photoshop:ICCPr\ +ofile>\x0a \ +\x0a \ + \x0a \ + adobe\ +:docid:photoshop\ +:94a27cdb-0433-1\ +1e7-b02d-9f84d9f\ +5a326\x0a \ + \x0a <\ +/photoshop:Docum\ +entAncestors>\x0a \ + xmp.iid\ +:d3f831c7-1693-8\ +248-a9a0-2c4f91d\ +81b49\x0a \ + adobe:docid:\ +photoshop:c7bad1\ +dd-0436-11e7-b02\ +d-9f84d9f5a326\x0a xmp.did:a36\ +4ea4e-2280-ea40-\ +ae73-10beb7a78ae\ +8\x0a \ + \x0a \ + \x0a \ + \x0a \ + <\ +stEvt:action>cre\ +ated\x0a \ + xmp.iid:\ +a364ea4e-2280-ea\ +40-ae73-10beb7a7\ +8ae8\x0a \ + 2017-03-07\ +T11:32:29-08:00<\ +/stEvt:when>\x0a \ + <\ +stEvt:softwareAg\ +ent>Adobe Photos\ +hop CC 2015.5 (W\ +indows)\x0a \ + \x0a \ + \x0a \ + saved\x0a \ + <\ +stEvt:instanceID\ +>xmp.iid:d3f831c\ +7-1693-8248-a9a0\ +-2c4f91d81b49\ +\x0a \ + 2\ +017-03-08T11:38:\ +26-08:00\x0a \ + Ado\ +be Photoshop CC \ +2015.5 (Windows)\ +\x0a \ + /\x0a \ + \x0a <\ +/rdf:Seq>\x0a \ + \x0a \x0a \ +\x0a\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \x0a8BIM\x04\ +%\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x008BIM\x04:\x00\x00\x00\ +\x00\x00\xe5\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\x00\x00\ +\x0bprintOutput\x00\x00\x00\x05\ +\x00\x00\x00\x00PstSbool\x01\x00\x00\x00\ +\x00Inteenum\x00\x00\x00\x00Int\ +e\x00\x00\x00\x00Clrm\x00\x00\x00\x0fpri\ +ntSixteenBitbool\ +\x00\x00\x00\x00\x0bprinterName\ +TEXT\x00\x00\x00\x01\x00\x00\x00\x00\x00\x0fpr\ +intProofSetupObj\ +c\x00\x00\x00\x0c\x00P\x00r\x00o\x00o\x00f\x00\ + \x00S\x00e\x00t\x00u\x00p\x00\x00\x00\x00\x00\ +\x0aproofSetup\x00\x00\x00\x01\x00\ +\x00\x00\x00Bltnenum\x00\x00\x00\x0cb\ +uiltinProof\x00\x00\x00\x09p\ +roofCMYK\x008BIM\x04;\x00\ +\x00\x00\x00\x02-\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\ +\x00\x00\x12printOutputOp\ +tions\x00\x00\x00\x17\x00\x00\x00\x00Cpt\ +nbool\x00\x00\x00\x00\x00Clbrbo\ +ol\x00\x00\x00\x00\x00RgsMbool\x00\ +\x00\x00\x00\x00CrnCbool\x00\x00\x00\x00\ +\x00CntCbool\x00\x00\x00\x00\x00Lb\ +lsbool\x00\x00\x00\x00\x00Ngtvb\ +ool\x00\x00\x00\x00\x00EmlDbool\ +\x00\x00\x00\x00\x00Intrbool\x00\x00\x00\ +\x00\x00BckgObjc\x00\x00\x00\x01\x00\x00\ +\x00\x00\x00\x00RGBC\x00\x00\x00\x03\x00\x00\x00\x00\ +Rd doub@o\xe0\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00Grn doub@o\xe0\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00Bl doub\ +@o\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00BrdT\ +UntF#Rlt\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00Bld UntF#Rlt\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00Rslt\ +UntF#Pxl@b\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x0avectorDatabo\ +ol\x01\x00\x00\x00\x00PgPsenum\x00\ +\x00\x00\x00PgPs\x00\x00\x00\x00PgPC\x00\ +\x00\x00\x00LeftUntF#Rlt\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00Top U\ +ntF#Rlt\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00Scl UntF#Prc@\ +Y\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10cropW\ +henPrintingbool\x00\ +\x00\x00\x00\x0ecropRectBott\ +omlong\x00\x00\x00\x00\x00\x00\x00\x0ccr\ +opRectLeftlong\x00\x00\ +\x00\x00\x00\x00\x00\x0dcropRectRi\ +ghtlong\x00\x00\x00\x00\x00\x00\x00\x0bc\ +ropRectToplong\x00\x00\ +\x00\x00\x008BIM\x03\xed\x00\x00\x00\x00\x00\x10\x00\ +\x90\x00\x00\x00\x01\x00\x01\x00\x90\x00\x00\x00\x01\x00\x018\ +BIM\x04&\x00\x00\x00\x00\x00\x0e\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00?\x80\x00\x008BIM\x03\xee\x00\ +\x00\x00\x00\x00\x0d\x0cTransparen\ +cy\x008BIM\x04\x15\x00\x00\x00\x00\x00\x1e\x00\ +\x00\x00\x0d\x00T\x00r\x00a\x00n\x00s\x00p\x00\ +a\x00r\x00e\x00n\x00c\x00y\x00\x008BI\ +M\x045\x00\x00\x00\x00\x00\x11\x00\x00\x00\x01\x00\x00\xff\ +\xff\x00\x00\x00\x00\x00\x00\x00d\x01\x008BIM\x04\ +\x1d\x00\x00\x00\x00\x00\x04\x00\x00\x00\x008BIM\x04\ +\x0d\x00\x00\x00\x00\x00\x04\x00\x00\x00\x1e8BIM\x04\ +\x19\x00\x00\x00\x00\x00\x04\x00\x00\x00\x1e8BIM\x03\ +\xf3\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x01\ +\x008BIM'\x10\x00\x00\x00\x00\x00\x0a\x00\x01\x00\ +\x00\x00\x00\x00\x00\x00\x018BIM\x03\xf5\x00\x00\x00\ +\x00\x00H\x00/ff\x00\x01\x00lff\x00\x06\x00\ +\x00\x00\x00\x00\x01\x00/ff\x00\x01\x00\xa1\x99\x9a\x00\ +\x06\x00\x00\x00\x00\x00\x01\x002\x00\x00\x00\x01\x00Z\x00\ +\x00\x00\x06\x00\x00\x00\x00\x00\x01\x005\x00\x00\x00\x01\x00\ +-\x00\x00\x00\x06\x00\x00\x00\x00\x00\x018BIM\x03\ +\xf8\x00\x00\x00\x00\x00p\x00\x00\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x03\ +\xe8\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x03\xe8\x00\x00\x00\ +\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\x03\xe8\x00\x00\x00\x00\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\x03\xe8\x00\x008BIM\x04\x00\x00\x00\x00\ +\x00\x00\x02\x00\x008BIM\x04\x02\x00\x00\x00\x00\x00\ +\x02\x00\x008BIM\x040\x00\x00\x00\x00\x00\x01\x01\ +\x008BIM\x04-\x00\x00\x00\x00\x00\x06\x00\x01\x00\ +\x00\x00\x0a8BIM\x04\x08\x00\x00\x00\x00\x00\x10\x00\ +\x00\x00\x01\x00\x00\x02@\x00\x00\x02@\x00\x00\x00\x008\ +BIM\x04\x1e\x00\x00\x00\x00\x00\x04\x00\x00\x00\x008\ +BIM\x04\x1a\x00\x00\x00\x00\x035\x00\x00\x00\x06\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x00\x00\x00`\x00\ +\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00`\x00\x00\x00`\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\ +\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00null\x00\x00\ +\x00\x02\x00\x00\x00\x06boundsObjc\ +\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00Rct1\x00\x00\ +\x00\x04\x00\x00\x00\x00Top long\x00\x00\ +\x00\x00\x00\x00\x00\x00Leftlong\x00\x00\ +\x00\x00\x00\x00\x00\x00Btomlong\x00\x00\ +\x00`\x00\x00\x00\x00Rghtlong\x00\x00\ +\x00`\x00\x00\x00\x06slicesVlLs\ +\x00\x00\x00\x01Objc\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x05slice\x00\x00\x00\x12\x00\x00\x00\x07s\ +liceIDlong\x00\x00\x00\x00\x00\x00\ +\x00\x07groupIDlong\x00\x00\x00\ +\x00\x00\x00\x00\x06originenum\x00\ +\x00\x00\x0cESliceOrigin\x00\ +\x00\x00\x0dautoGenerated\ +\x00\x00\x00\x00Typeenum\x00\x00\x00\x0a\ +ESliceType\x00\x00\x00\x00Im\ +g \x00\x00\x00\x06boundsObjc\ +\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00Rct1\x00\x00\ +\x00\x04\x00\x00\x00\x00Top long\x00\x00\ +\x00\x00\x00\x00\x00\x00Leftlong\x00\x00\ +\x00\x00\x00\x00\x00\x00Btomlong\x00\x00\ +\x00`\x00\x00\x00\x00Rghtlong\x00\x00\ +\x00`\x00\x00\x00\x03urlTEXT\x00\x00\x00\ +\x01\x00\x00\x00\x00\x00\x00nullTEXT\x00\ +\x00\x00\x01\x00\x00\x00\x00\x00\x00MsgeTEX\ +T\x00\x00\x00\x01\x00\x00\x00\x00\x00\x06altTa\ +gTEXT\x00\x00\x00\x01\x00\x00\x00\x00\x00\x0ec\ +ellTextIsHTMLboo\ +l\x01\x00\x00\x00\x08cellTextTE\ +XT\x00\x00\x00\x01\x00\x00\x00\x00\x00\x09horz\ +Alignenum\x00\x00\x00\x0fESl\ +iceHorzAlign\x00\x00\x00\x07\ +default\x00\x00\x00\x09vertA\ +lignenum\x00\x00\x00\x0fESli\ +ceVertAlign\x00\x00\x00\x07d\ +efault\x00\x00\x00\x0bbgColo\ +rTypeenum\x00\x00\x00\x11ESl\ +iceBGColorType\x00\x00\ +\x00\x00None\x00\x00\x00\x09topOut\ +setlong\x00\x00\x00\x00\x00\x00\x00\x0al\ +eftOutsetlong\x00\x00\x00\ +\x00\x00\x00\x00\x0cbottomOutse\ +tlong\x00\x00\x00\x00\x00\x00\x00\x0brig\ +htOutsetlong\x00\x00\x00\x00\ +\x008BIM\x04(\x00\x00\x00\x00\x00\x0c\x00\x00\x00\ +\x02?\xf0\x00\x00\x00\x00\x00\x008BIM\x04\x14\x00\ +\x00\x00\x00\x00\x04\x00\x00\x00\x0d8BIM\x04\x0c\x00\ +\x00\x00\x00\x043\x00\x00\x00\x01\x00\x00\x000\x00\x00\x00\ +0\x00\x00\x00\x90\x00\x00\x1b\x00\x00\x00\x04\x17\x00\x18\x00\ +\x01\xff\xd8\xff\xed\x00\x0cAdobe_CM\x00\ +\x01\xff\xee\x00\x0eAdobe\x00d\x80\x00\x00\x00\ +\x01\xff\xdb\x00\x84\x00\x0c\x08\x08\x08\x09\x08\x0c\x09\x09\x0c\ +\x11\x0b\x0a\x0b\x11\x15\x0f\x0c\x0c\x0f\x15\x18\x13\x13\x15\x13\ +\x13\x18\x11\x0c\x0c\x0c\x0c\x0c\x0c\x11\x0c\x0c\x0c\x0c\x0c\x0c\ +\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\ +\x0c\x0c\x0c\x0c\x0c\x0c\x01\x0d\x0b\x0b\x0d\x0e\x0d\x10\x0e\x0e\ +\x10\x14\x0e\x0e\x0e\x14\x14\x0e\x0e\x0e\x0e\x14\x11\x0c\x0c\x0c\ +\x0c\x0c\x11\x11\x0c\x0c\x0c\x0c\x0c\x0c\x11\x0c\x0c\x0c\x0c\x0c\ +\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\ +\x0c\x0c\x0c\x0c\x0c\x0c\x0c\xff\xc0\x00\x11\x08\x000\x000\ +\x03\x01\x22\x00\x02\x11\x01\x03\x11\x01\xff\xdd\x00\x04\x00\x03\ +\xff\xc4\x01?\x00\x00\x01\x05\x01\x01\x01\x01\x01\x01\x00\x00\ +\x00\x00\x00\x00\x00\x03\x00\x01\x02\x04\x05\x06\x07\x08\x09\x0a\ +\x0b\x01\x00\x01\x05\x01\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\ +\x00\x00\x01\x00\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x10\x00\ +\x01\x04\x01\x03\x02\x04\x02\x05\x07\x06\x08\x05\x03\x0c3\x01\ +\x00\x02\x11\x03\x04!\x121\x05AQa\x13\x22q\x81\ +2\x06\x14\x91\xa1\xb1B#$\x15R\xc1b34r\ +\x82\xd1C\x07%\x92S\xf0\xe1\xf1cs5\x16\xa2\xb2\ +\x83&D\x93TdE\xc2\xa3t6\x17\xd2U\xe2e\ +\xf2\xb3\x84\xc3\xd3u\xe3\xf3F'\x94\xa4\x85\xb4\x95\xc4\ +\xd4\xe4\xf4\xa5\xb5\xc5\xd5\xe5\xf5Vfv\x86\x96\xa6\xb6\ +\xc6\xd6\xe6\xf67GWgw\x87\x97\xa7\xb7\xc7\xd7\xe7\ +\xf7\x11\x00\x02\x02\x01\x02\x04\x04\x03\x04\x05\x06\x07\x07\x06\ +\x055\x01\x00\x02\x11\x03!1\x12\x04AQaq\x22\ +\x13\x052\x81\x91\x14\xa1\xb1B#\xc1R\xd1\xf03$\ +b\xe1r\x82\x92CS\x15cs4\xf1%\x06\x16\xa2\ +\xb2\x83\x07&5\xc2\xd2D\x93T\xa3\x17dEU6\ +te\xe2\xf2\xb3\x84\xc3\xd3u\xe3\xf3F\x94\xa4\x85\xb4\ +\x95\xc4\xd4\xe4\xf4\xa5\xb5\xc5\xd5\xe5\xf5Vfv\x86\x96\ +\xa6\xb6\xc6\xd6\xe6\xf6'7GWgw\x87\x97\xa7\xb7\ +\xc7\xff\xda\x00\x0c\x03\x01\x00\x02\x11\x03\x11\x00?\x00\xf5\ +T\x92@\xce\xbe\xdcl+\xef\xa6\xa7d[S\x1c\xea\ +\xe9f\xae{\x80\xf6\xb0\x7fY\xc9)\x8e_Q\xe9\xf8\ +Q\xf6\xcc\x9a\xb1\xf7}\x1fU\xedd\xff\x00Wy\xf7\ +\x22\xd1\x91\x8f\x93X\xb7\x1e\xd6]S\xb8}n\x0ei\ +\xfe\xd3%\xab\x98\xe8?Uq\xf31\x7fju\xfa\x9d\ +\x95\xd4\xb3\x7fI`\xbbp\xd8\xd3\xfc\xdd~\x94\xb7g\ +\xb3\xf3\x1d\xfc\xc7\xf3?\xe0\xd0rzs~\xab\xf5\xcc\ +\x0c\xae\x98\xe73\x03\xa9\x5c\xdc\x5c\xacB\xe2[\xb9\xda\ +Wcw\xeew\xb7\xe9\xfe\xfd\x7f\xcd\xff\x005v\xc4\ +\x94\xf6)$\x92J\x7f\xff\xd0\xf5U\x9b\xd6\xfa\xf6\x17\ +E\xaa\xb7\xe4\x8b,}\xee-\xaa\x9a\x9b\xb9\xee#W\ +}\x22\xc6\xedo\xf5\x96\x92\xe5\xfe\xbd\xfe\x87\x1f\xa6\xf5\ +\x01\xa3\xb0\xf3kt\xf84\xcb\x9d\xff\x00\x9e\x98\x92\x94\ +>\xb7\xf5[\xc4\xe1t\x0c\xab\x01\xfa.\xb6k\x1f\xf9\ +\xed\xcd\xff\x00\xa6\xb3\xba\x9d\x1f\x5cz\x8d\xf4u,\x9c\ +*q\x9b\xd3w_UN\xb09\xbb\x84Y\xea=\x8c\ +s\x9fe\x8d\xf4\xfd\x9f\xcd\xad\xff\x00\xad\xcf\xeau\xf4\ +Km\xe9\xaf5\xbe\xb2\x1f{\xd8@x\xa5\xb2\xeb\x9d\ +S\x8f\xd1s\x7f\xcf\xf4\xfdOO\xf4\x89\xfe\xaa]\x99\ +\x97\xf5~\x8bs\xec\x17\xbe\xdd\xfb^L\xb8\xd7\xb9\xcd\ +\xaf\xd5#\xfc&\xcf\xa7\xff\x00\x82~\x91%6>\xaf\ +\xf5Gun\x8f\x8d\x9fcZ\xcb.i\xf5\x1a\xd9\xda\ +\x1c\xd7:\xb7\xed\xdd\xee\xda\xed\x9b\x96\x8a\xe6?\xc5\xf9\ +,\xe9\x19\x18\x8e>\xecL\xabj\x8f\x01\xedw\xfdV\ +\xf5\xd3\xa4\xa7\xff\xd1\xf5U\x87\xf5\xd3\x0d\xf9\x7fV\xf2\ +\xd9[\x0d\x9606\xc65\xa2O\xb1\xcds\xf6\xb4\x7f\ +\xc1\xef[\x89$\xa7\x92\xa3\xeb\xadY8\x8c\xa2\x9e\x97\ +\x97\xd4\x1ek\x0c\xb86\xb0kq\xdb\xb6\xc1\xfe\x13u\ +n\xfeS\x13\xe3u_\xad\x1e\x8b1\xfa_\xd5\xe6a\ +\xe3\xd66\xd6\xcbl\x0ckG\x95_\xab\xae\xb1$\x94\ +\xe0}U\xe9\x1dK\x01\xd9\xf9]G\xd3\xae\xec\xfb\xbd\ +oB\xa2KX}\xc5\xee\xdc\x7f}\xcf\xfa\x1e\xff\x00\ +\xf8\xc5\xbe\x92I)\xff\xd9\x008BIM\x04!\x00\ +\x00\x00\x00\x00a\x00\x00\x00\x01\x01\x00\x00\x00\x0f\x00A\ +\x00d\x00o\x00b\x00e\x00 \x00P\x00h\x00o\ +\x00t\x00o\x00s\x00h\x00o\x00p\x00\x00\x00\x19\ +\x00A\x00d\x00o\x00b\x00e\x00 \x00P\x00h\ +\x00o\x00t\x00o\x00s\x00h\x00o\x00p\x00 \ +\x00C\x00C\x00 \x002\x000\x001\x005\x00.\ +\x005\x00\x00\x00\x01\x00\x00\x00\x0cHLino\x02\ +\x10\x00\x00mntrRGB XYZ \x07\ +\xce\x00\x02\x00\x09\x00\x06\x001\x00\x00acspM\ +SFT\x00\x00\x00\x00IEC sRGB\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf6\xd6\x00\ +\x01\x00\x00\x00\x00\xd3-HP \x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11cprt\x00\ +\x00\x01P\x00\x00\x003desc\x00\x00\x01\x84\x00\ +\x00\x00lwtpt\x00\x00\x01\xf0\x00\x00\x00\x14b\ +kpt\x00\x00\x02\x04\x00\x00\x00\x14rXYZ\x00\ +\x00\x02\x18\x00\x00\x00\x14gXYZ\x00\x00\x02,\x00\ +\x00\x00\x14bXYZ\x00\x00\x02@\x00\x00\x00\x14d\ +mnd\x00\x00\x02T\x00\x00\x00pdmdd\x00\ +\x00\x02\xc4\x00\x00\x00\x88vued\x00\x00\x03L\x00\ +\x00\x00\x86view\x00\x00\x03\xd4\x00\x00\x00$l\ +umi\x00\x00\x03\xf8\x00\x00\x00\x14meas\x00\ +\x00\x04\x0c\x00\x00\x00$tech\x00\x00\x040\x00\ +\x00\x00\x0crTRC\x00\x00\x04<\x00\x00\x08\x0cg\ +TRC\x00\x00\x04<\x00\x00\x08\x0cbTRC\x00\ +\x00\x04<\x00\x00\x08\x0ctext\x00\x00\x00\x00C\ +opyright (c) 199\ +8 Hewlett-Packar\ +d Company\x00\x00desc\x00\ +\x00\x00\x00\x00\x00\x00\x12sRGB IEC6\ +1966-2.1\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x12sRGB IEC6196\ +6-2.1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00XYZ \x00\x00\x00\x00\x00\ +\x00\xf3Q\x00\x01\x00\x00\x00\x01\x16\xccXYZ \x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00X\ +YZ \x00\x00\x00\x00\x00\x00o\xa2\x00\x008\xf5\x00\ +\x00\x03\x90XYZ \x00\x00\x00\x00\x00\x00b\x99\x00\ +\x00\xb7\x85\x00\x00\x18\xdaXYZ \x00\x00\x00\x00\x00\ +\x00$\xa0\x00\x00\x0f\x84\x00\x00\xb6\xcfdesc\x00\ +\x00\x00\x00\x00\x00\x00\x16IEC http:\ +//www.iec.ch\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x16IEC http\ +://www.iec.ch\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00desc\x00\ +\x00\x00\x00\x00\x00\x00.IEC 61966\ +-2.1 Default RGB\ + colour space - \ +sRGB\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00.\ +IEC 61966-2.1 De\ +fault RGB colour\ + space - sRGB\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00desc\x00\x00\x00\x00\x00\x00\x00,R\ +eference Viewing\ + Condition in IE\ +C61966-2.1\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00,Reference \ +Viewing Conditio\ +n in IEC61966-2.\ +1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00view\x00\ +\x00\x00\x00\x00\x13\xa4\xfe\x00\x14_.\x00\x10\xcf\x14\x00\ +\x03\xed\xcc\x00\x04\x13\x0b\x00\x03\x5c\x9e\x00\x00\x00\x01X\ +YZ \x00\x00\x00\x00\x00L\x09V\x00P\x00\x00\x00\ +W\x1f\xe7meas\x00\x00\x00\x00\x00\x00\x00\x01\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x02\x8f\x00\x00\x00\x02sig \x00\x00\x00\x00C\ +RT curv\x00\x00\x00\x00\x00\x00\x04\x00\x00\ +\x00\x00\x05\x00\x0a\x00\x0f\x00\x14\x00\x19\x00\x1e\x00#\x00\ +(\x00-\x002\x007\x00;\x00@\x00E\x00J\x00\ +O\x00T\x00Y\x00^\x00c\x00h\x00m\x00r\x00\ +w\x00|\x00\x81\x00\x86\x00\x8b\x00\x90\x00\x95\x00\x9a\x00\ +\x9f\x00\xa4\x00\xa9\x00\xae\x00\xb2\x00\xb7\x00\xbc\x00\xc1\x00\ +\xc6\x00\xcb\x00\xd0\x00\xd5\x00\xdb\x00\xe0\x00\xe5\x00\xeb\x00\ +\xf0\x00\xf6\x00\xfb\x01\x01\x01\x07\x01\x0d\x01\x13\x01\x19\x01\ +\x1f\x01%\x01+\x012\x018\x01>\x01E\x01L\x01\ +R\x01Y\x01`\x01g\x01n\x01u\x01|\x01\x83\x01\ +\x8b\x01\x92\x01\x9a\x01\xa1\x01\xa9\x01\xb1\x01\xb9\x01\xc1\x01\ +\xc9\x01\xd1\x01\xd9\x01\xe1\x01\xe9\x01\xf2\x01\xfa\x02\x03\x02\ +\x0c\x02\x14\x02\x1d\x02&\x02/\x028\x02A\x02K\x02\ +T\x02]\x02g\x02q\x02z\x02\x84\x02\x8e\x02\x98\x02\ +\xa2\x02\xac\x02\xb6\x02\xc1\x02\xcb\x02\xd5\x02\xe0\x02\xeb\x02\ +\xf5\x03\x00\x03\x0b\x03\x16\x03!\x03-\x038\x03C\x03\ +O\x03Z\x03f\x03r\x03~\x03\x8a\x03\x96\x03\xa2\x03\ +\xae\x03\xba\x03\xc7\x03\xd3\x03\xe0\x03\xec\x03\xf9\x04\x06\x04\ +\x13\x04 \x04-\x04;\x04H\x04U\x04c\x04q\x04\ +~\x04\x8c\x04\x9a\x04\xa8\x04\xb6\x04\xc4\x04\xd3\x04\xe1\x04\ +\xf0\x04\xfe\x05\x0d\x05\x1c\x05+\x05:\x05I\x05X\x05\ +g\x05w\x05\x86\x05\x96\x05\xa6\x05\xb5\x05\xc5\x05\xd5\x05\ +\xe5\x05\xf6\x06\x06\x06\x16\x06'\x067\x06H\x06Y\x06\ +j\x06{\x06\x8c\x06\x9d\x06\xaf\x06\xc0\x06\xd1\x06\xe3\x06\ +\xf5\x07\x07\x07\x19\x07+\x07=\x07O\x07a\x07t\x07\ +\x86\x07\x99\x07\xac\x07\xbf\x07\xd2\x07\xe5\x07\xf8\x08\x0b\x08\ +\x1f\x082\x08F\x08Z\x08n\x08\x82\x08\x96\x08\xaa\x08\ +\xbe\x08\xd2\x08\xe7\x08\xfb\x09\x10\x09%\x09:\x09O\x09\ +d\x09y\x09\x8f\x09\xa4\x09\xba\x09\xcf\x09\xe5\x09\xfb\x0a\ +\x11\x0a'\x0a=\x0aT\x0aj\x0a\x81\x0a\x98\x0a\xae\x0a\ +\xc5\x0a\xdc\x0a\xf3\x0b\x0b\x0b\x22\x0b9\x0bQ\x0bi\x0b\ +\x80\x0b\x98\x0b\xb0\x0b\xc8\x0b\xe1\x0b\xf9\x0c\x12\x0c*\x0c\ +C\x0c\x5c\x0cu\x0c\x8e\x0c\xa7\x0c\xc0\x0c\xd9\x0c\xf3\x0d\ +\x0d\x0d&\x0d@\x0dZ\x0dt\x0d\x8e\x0d\xa9\x0d\xc3\x0d\ +\xde\x0d\xf8\x0e\x13\x0e.\x0eI\x0ed\x0e\x7f\x0e\x9b\x0e\ +\xb6\x0e\xd2\x0e\xee\x0f\x09\x0f%\x0fA\x0f^\x0fz\x0f\ +\x96\x0f\xb3\x0f\xcf\x0f\xec\x10\x09\x10&\x10C\x10a\x10\ +~\x10\x9b\x10\xb9\x10\xd7\x10\xf5\x11\x13\x111\x11O\x11\ +m\x11\x8c\x11\xaa\x11\xc9\x11\xe8\x12\x07\x12&\x12E\x12\ +d\x12\x84\x12\xa3\x12\xc3\x12\xe3\x13\x03\x13#\x13C\x13\ +c\x13\x83\x13\xa4\x13\xc5\x13\xe5\x14\x06\x14'\x14I\x14\ +j\x14\x8b\x14\xad\x14\xce\x14\xf0\x15\x12\x154\x15V\x15\ +x\x15\x9b\x15\xbd\x15\xe0\x16\x03\x16&\x16I\x16l\x16\ +\x8f\x16\xb2\x16\xd6\x16\xfa\x17\x1d\x17A\x17e\x17\x89\x17\ +\xae\x17\xd2\x17\xf7\x18\x1b\x18@\x18e\x18\x8a\x18\xaf\x18\ +\xd5\x18\xfa\x19 \x19E\x19k\x19\x91\x19\xb7\x19\xdd\x1a\ +\x04\x1a*\x1aQ\x1aw\x1a\x9e\x1a\xc5\x1a\xec\x1b\x14\x1b\ +;\x1bc\x1b\x8a\x1b\xb2\x1b\xda\x1c\x02\x1c*\x1cR\x1c\ +{\x1c\xa3\x1c\xcc\x1c\xf5\x1d\x1e\x1dG\x1dp\x1d\x99\x1d\ +\xc3\x1d\xec\x1e\x16\x1e@\x1ej\x1e\x94\x1e\xbe\x1e\xe9\x1f\ +\x13\x1f>\x1fi\x1f\x94\x1f\xbf\x1f\xea \x15 A \ +l \x98 \xc4 \xf0!\x1c!H!u!\xa1!\ +\xce!\xfb\x22'\x22U\x22\x82\x22\xaf\x22\xdd#\x0a#\ +8#f#\x94#\xc2#\xf0$\x1f$M$|$\ +\xab$\xda%\x09%8%h%\x97%\xc7%\xf7&\ +'&W&\x87&\xb7&\xe8'\x18'I'z'\ +\xab'\xdc(\x0d(?(q(\xa2(\xd4)\x06)\ +8)k)\x9d)\xd0*\x02*5*h*\x9b*\ +\xcf+\x02+6+i+\x9d+\xd1,\x05,9,\ +n,\xa2,\xd7-\x0c-A-v-\xab-\xe1.\ +\x16.L.\x82.\xb7.\xee/$/Z/\x91/\ +\xc7/\xfe050l0\xa40\xdb1\x121J1\ +\x821\xba1\xf22*2c2\x9b2\xd43\x0d3\ +F3\x7f3\xb83\xf14+4e4\x9e4\xd85\ +\x135M5\x875\xc25\xfd676r6\xae6\ +\xe97$7`7\x9c7\xd78\x148P8\x8c8\ +\xc89\x059B9\x7f9\xbc9\xf9:6:t:\ +\xb2:\xef;-;k;\xaa;\xe8<' >`>\ +\xa0>\xe0?!?a?\xa2?\xe2@#@d@\ +\xa6@\xe7A)AjA\xacA\xeeB0BrB\ +\xb5B\xf7C:C}C\xc0D\x03DGD\x8aD\ +\xceE\x12EUE\x9aE\xdeF\x22FgF\xabF\ +\xf0G5G{G\xc0H\x05HKH\x91H\xd7I\ +\x1dIcI\xa9I\xf0J7J}J\xc4K\x0cK\ +SK\x9aK\xe2L*LrL\xbaM\x02MJM\ +\x93M\xdcN%NnN\xb7O\x00OIO\x93O\ +\xddP'PqP\xbbQ\x06QPQ\x9bQ\xe6R\ +1R|R\xc7S\x13S_S\xaaS\xf6TBT\ +\x8fT\xdbU(UuU\xc2V\x0fV\x5cV\xa9V\ +\xf7WDW\x92W\xe0X/X}X\xcbY\x1aY\ +iY\xb8Z\x07ZVZ\xa6Z\xf5[E[\x95[\ +\xe5\x5c5\x5c\x86\x5c\xd6]']x]\xc9^\x1a^\ +l^\xbd_\x0f_a_\xb3`\x05`W`\xaa`\ +\xfcaOa\xa2a\xf5bIb\x9cb\xf0cCc\ +\x97c\xebd@d\x94d\xe9e=e\x92e\xe7f\ +=f\x92f\xe8g=g\x93g\xe9h?h\x96h\ +\xeciCi\x9ai\xf1jHj\x9fj\xf7kOk\ +\xa7k\xfflWl\xafm\x08m`m\xb9n\x12n\ +kn\xc4o\x1eoxo\xd1p+p\x86p\xe0q\ +:q\x95q\xf0rKr\xa6s\x01s]s\xb8t\ +\x14tpt\xccu(u\x85u\xe1v>v\x9bv\ +\xf8wVw\xb3x\x11xnx\xccy*y\x89y\ +\xe7zFz\xa5{\x04{c{\xc2|!|\x81|\ +\xe1}A}\xa1~\x01~b~\xc2\x7f#\x7f\x84\x7f\ +\xe5\x80G\x80\xa8\x81\x0a\x81k\x81\xcd\x820\x82\x92\x82\ +\xf4\x83W\x83\xba\x84\x1d\x84\x80\x84\xe3\x85G\x85\xab\x86\ +\x0e\x86r\x86\xd7\x87;\x87\x9f\x88\x04\x88i\x88\xce\x89\ +3\x89\x99\x89\xfe\x8ad\x8a\xca\x8b0\x8b\x96\x8b\xfc\x8c\ +c\x8c\xca\x8d1\x8d\x98\x8d\xff\x8ef\x8e\xce\x8f6\x8f\ +\x9e\x90\x06\x90n\x90\xd6\x91?\x91\xa8\x92\x11\x92z\x92\ +\xe3\x93M\x93\xb6\x94 \x94\x8a\x94\xf4\x95_\x95\xc9\x96\ +4\x96\x9f\x97\x0a\x97u\x97\xe0\x98L\x98\xb8\x99$\x99\ +\x90\x99\xfc\x9ah\x9a\xd5\x9bB\x9b\xaf\x9c\x1c\x9c\x89\x9c\ +\xf7\x9dd\x9d\xd2\x9e@\x9e\xae\x9f\x1d\x9f\x8b\x9f\xfa\xa0\ +i\xa0\xd8\xa1G\xa1\xb6\xa2&\xa2\x96\xa3\x06\xa3v\xa3\ +\xe6\xa4V\xa4\xc7\xa58\xa5\xa9\xa6\x1a\xa6\x8b\xa6\xfd\xa7\ +n\xa7\xe0\xa8R\xa8\xc4\xa97\xa9\xa9\xaa\x1c\xaa\x8f\xab\ +\x02\xabu\xab\xe9\xac\x5c\xac\xd0\xadD\xad\xb8\xae-\xae\ +\xa1\xaf\x16\xaf\x8b\xb0\x00\xb0u\xb0\xea\xb1`\xb1\xd6\xb2\ +K\xb2\xc2\xb38\xb3\xae\xb4%\xb4\x9c\xb5\x13\xb5\x8a\xb6\ +\x01\xb6y\xb6\xf0\xb7h\xb7\xe0\xb8Y\xb8\xd1\xb9J\xb9\ +\xc2\xba;\xba\xb5\xbb.\xbb\xa7\xbc!\xbc\x9b\xbd\x15\xbd\ +\x8f\xbe\x0a\xbe\x84\xbe\xff\xbfz\xbf\xf5\xc0p\xc0\xec\xc1\ +g\xc1\xe3\xc2_\xc2\xdb\xc3X\xc3\xd4\xc4Q\xc4\xce\xc5\ +K\xc5\xc8\xc6F\xc6\xc3\xc7A\xc7\xbf\xc8=\xc8\xbc\xc9\ +:\xc9\xb9\xca8\xca\xb7\xcb6\xcb\xb6\xcc5\xcc\xb5\xcd\ +5\xcd\xb5\xce6\xce\xb6\xcf7\xcf\xb8\xd09\xd0\xba\xd1\ +<\xd1\xbe\xd2?\xd2\xc1\xd3D\xd3\xc6\xd4I\xd4\xcb\xd5\ +N\xd5\xd1\xd6U\xd6\xd8\xd7\x5c\xd7\xe0\xd8d\xd8\xe8\xd9\ +l\xd9\xf1\xdav\xda\xfb\xdb\x80\xdc\x05\xdc\x8a\xdd\x10\xdd\ +\x96\xde\x1c\xde\xa2\xdf)\xdf\xaf\xe06\xe0\xbd\xe1D\xe1\ +\xcc\xe2S\xe2\xdb\xe3c\xe3\xeb\xe4s\xe4\xfc\xe5\x84\xe6\ +\x0d\xe6\x96\xe7\x1f\xe7\xa9\xe82\xe8\xbc\xe9F\xe9\xd0\xea\ +[\xea\xe5\xebp\xeb\xfb\xec\x86\xed\x11\xed\x9c\xee(\xee\ +\xb4\xef@\xef\xcc\xf0X\xf0\xe5\xf1r\xf1\xff\xf2\x8c\xf3\ +\x19\xf3\xa7\xf44\xf4\xc2\xf5P\xf5\xde\xf6m\xf6\xfb\xf7\ +\x8a\xf8\x19\xf8\xa8\xf98\xf9\xc7\xfaW\xfa\xe7\xfbw\xfc\ +\x07\xfc\x98\xfd)\xfd\xba\xfeK\xfe\xdc\xffm\xff\xff\x80\ +\x00 P8$\x16\x0d\x07\x84BaP\xb8d6\x1d\ +\x0f\x88DbQ8\xa4V-\x17\x8cFcQ\xb8\xe4\ +v=\x1f\x90HdR9$\x96M'\x94JeR\ +\xb9d\xb6]/\x98LfS9\xa4\xd6m7\x9cN\ +gS\xb9\xe4\xf6}?\xa0PhT:%\x16\x8dG\ +\xa4RiT\xbae6\x9dO\xa8TjU:\xa5V\ +\xadW\xacVkU\xba\xe5v\xbd_\xb0XlV;\ +%\x96\x10\x01\x07ZDA\x1b`\xac\x1bo\x0f\x81\xae\ +A\x10\x0d\xd4\x02\xf9\xbc<\x1eW\xb6\xe3\xc6\xfc\xda\xbf\ +<[vl&\x166\x0a\xc4\x06\x84x\xb2\xb6,F\ +Y\xb6\x04E@\x5c\xa02(\xfc\xcc=\xdd\x99\xb6c\ +\x83<\xb2n\xe8U\x0f]#\x93\x0d\xa7\xc3\x04\xf5C\ +\x01n\xb4\xde\x1e\xd8\x12\xc1\x1b0\xac\xb1\xf1\xb7v7\ +\xf7J\xe6\xce\xf5:\xea\xe02\xb5\x1c:\xc8\xbf\x8cu\ +\x19\xf2O\xe0N`.x\xfd\xe8>\x18\xbd3cc\ +\xac\x9d\xe2vi ~\xe0K\x923?\x8b\x10*b\x1eA\x04\xa8U\x05\x8dH\ +\xc1\xdd\x07\x9aN\x01\xd4e\x9c\xf0\xa9\x82\xd2\x1e\xa7)\ +\xfd\x0d\x9f,\xa0\x0a\xb7\xad\xe1\x105\x11\x88\x00\x94L\ +\x16\x02\x11HP\x81\x80(\xc1\xad\x17\x93\x064d6\ +\xc3g\xf1\xf9\x03G\x09(]\x1d\x8eA\xc4|F\xa2\ +\x90\x91\x94fH\x83\xe1\xcb#\x97\xb0\x11\xff\x02\x22\xe0\ +\x14\x9c\x02\x832\x88|\x18\xca\x83\xe4F\x0d\x08\x08\xc1\ +\xa1-\x90\xe6T\xbc=G3\x0a;\x13\x02Ah\xa1\ +3\x99\x0e`\x08\x05\x22\x06\xdc\xdcR\x18s\x88\xcc\xcc\ +\x1f\x87\xbaP\xbb\x00MhZ8\x86\xf3\xe9\x12\xbb\x00\ +h\x82\xf0|\x9d\xe5U\x0c\x14=\x87\xb9\xd51Q\x88\ +\xa8\x93G\x96\xc0\xed$$\xa2\x0d\x09\xbaT\x97\xf4\xc8\ +\xbd\x1a\x9fI\xa07O\x88b\x0dDR1\x00P0\ +\x88\x1bUIB`U\x83\x05\x1bW\xa1\xa0]d\x0d\ +\x8a\xf5\xa9\xb359\xc8\x5c0r\x15\xb5\xe8`\xdb\x9f\ +\x07jx\x0b\xd8\x81\xd0\x9bc\x98\x12p\x04\x02\xa1\x94\ +\xe1Wg\x85\x8c\x0b\x07XZ\x88 ik\x90A\x95\ +\xb4>\xa2\x13\x89\x864\x1a\xf7\x092\xa2\x077)\x1f\ +=\x0e\x08\x84\xb6h\x11\x12\xf1\x94<\xda\xb5\x83\xb8\x03\ +\x82U\xa8\xael6`Cj\x85\xd1'QQ\x7f\x84\ +\x87\xde\x04y\xa8\x80\x1e\x0c\x04\x0axI\xa1\x14\x82\x01\ +:\x18y\xe2\x07\x05\x9eU\x85s\xa1\xedx\xcc/\x10\ +X7\x07X\xe9\x22\x887F\xf9\x5c]\xe4\x82\x9a\x99\ +\x8d\x0d\xf8\xe8tH!\x92Q\xfcWf\x01\x99\xdb\x99\ +\x9a\x18\xc3\xe0\xf9\x01\xe2\xb6tkT\xa0\xd2\x1e\x7f\x96\ +Z\x08zth\x86*\x98\x04\xe9\x00\xbet+\x1a\xf7\ +\x98\x22\x86\x17\x9a\x88\xaaoj\x85fl\xf7\xe1\x81D\ +\xce(\x18\xef\x90 \x86h\x87A\x86Y\xec\x82\x06\x5c\ +\xa8\x0a;I\x96\x0a\xed\x81\xa2\x18an\x03#\xcc\xec\ +j\xef\x80\x03Y\x01`\xd6\xd8\x0a\x86\xb7D\xa2\x0c\x87\ +\xe8#\xfe[\x89G\x1f\x0c[\xaa\x827\x14X\x04\x1c\ +h\x9e\x86FF0\xdcjr\x84\x9e\xebx\xd3\xe0\xd8\ +\x87\xcc\x88\x86o<@:\x07\xe9\xf2\xaaQ\xe2M#\ +I\xf2\x11\x97'\xca\xf2\xfdj\xb35\x018H\xa6h\ +\x81\xfd\xa8J\x86\x18=\xc8\xc6\xde\x9b$\xf7]\xdf\xaa\ +\xaf\xc0,\x1ckf4X\x86\x17^H\xa4\xcf\x1c\x05\ +\x7f\x81\xe7\xaa!\xf7\xa4M\x85\x1e\xa8\xc9\x96\xc0G\xe9\ +_\xed\x86\xcc\xd9\xd8gz\x1f\x0a\x92\xc8\x85B\x97\xcc\ +g`\xc0\x18\x0e\x86\x1d\xffi\xad^\x95\xa1\x8d9\xf1\ +~\x8a-\xca\x1c\x91\xd3\xd0\xe2\x88s\xc6i\x02\xffD\ +\x03\xf5\x80E\x05\xf4\x80v\x966\x11\x00 !\x83\xda\ +\x06\x0ef`+\x81\xa4\x0c\x1e\xc3\x9e\x01\xc1Rz\x95\ +\xc2\x10L\x83B\xf1\xe3\x90\xb1\xf5\x07\xc7\x84!\x1e\x03\ +e<\x0fHL8\xc7\x0c)\x16*\xa4m\x0a(-\ +\x0b\xc8\xaa\x1e\x01\x8d \x04\x81d@\x08KH\x0e\x04\ +\x802\x1e\x01\xd8h\x06\x1b\xf8>v\xa0=\xdb\x923\ +\xf89\x05\xd3\x91\x0d\xf0\x88lC\x07\x5c\x87\x80kx\ +\x03p&!\x82f\x18\x0ab\x18$\x87 \x8e\x1a\x01\ +epO\x10x\xee\x1aB\xc22\x03\x96-\x13\x8a\xe2\ +x\x86L\xe1\xbcC\xe6\x90\x05\xa2\xec?\x87\x800\x0e\ +\xb0\xc0O\x1bU(\x19\x80\xa5a\xe4\x8b\xa7\x96g\x9e\ +th(\xcb(\x02\xb7\xb0i\x0eA!\x91\x05q\xda\ +\x1c\x82%\xe6\x04\x95\xc3NQ\x90\xb0P*\xc1\x80\x18\ +d\x11>k\xc0\xaeN\x06\xb0E'\xc2\xa9\xaa\x02`\ +\xbd\x1c#Q\xf6\xc5\x96\x00\xeci\xd2<\x86!Q\xce\ +0\x9b \xb3p2d\x9cH\x80\x8f-\xc5\x84\x8a,\ +\x08\xd4~,\x01\xd5\x09\x87\xa0\xe2\x89\x90\x88\xc0\x17\xe1\ +\xb2\x86\x074\x1f\x1fC\xc6e\x0e\xf5\x06<\x10@<\ +\x12\xa0\x9ej\x06\x22\x190\x07\x18\xac\x9b@\xb6e\x0f\ +\x19hL$ N\x9cC\x0d\xe1\x03r\x98\xe8G\xc2\ +\x89\x1dl@y\x8d\xe3\x027!\x10\xd6\x89\x93\xb0p\ +\xcc\x01\xc4\xc0\x87\xdb\x04#i\xf4\x1b\x88\xa3\x8c\x0b\xc3\ +\xa9\x0ct#\xe6m\x0a\xc0\x5c`F\xd4\xdf%\xe0\x9a\ +\x86\x06\x00\x81C\xc4\xf90e\xca\x0cv\xcd\x8a\x10\xb4\ +\xa0\x90\xe8Pc\xb9`N\xb6\x22\xa2GL\xf8\x1e\x84\ +\xd2N\x02\xb0\xd6\x0e\xe9@\x94\x22\x02\xe2\x96\x04\xb1\xc5\ +K\xc5\xb5\x0a%\xce(#\x0a\xf7\x1a\x08\x02\x81\x18\x97\ +\x94vv\x0e\x02\xf6<\x86\xeb\xed\x1d\xe3QiS\xf1\ +\xbb=\x94\x18\xef*\x8ep%\xd4\xd1vD\x06=Q\ +\x0e#N\xaa2\xcadK\x168M\x181\x04\x86Q\ +\xd1\xa5W\xc4ta\x1aS\xd1]\xcd\xd3\x87\x16\xc2\xad\ +i\x1a\xb1\xec\x85\xa2\xf1\xac&\x06%q\x0d5\x5c\x96\ +P\xf0\x80(h`&\x0b\xd0.\x06\x8aZ\xfc\x07\x92\ +P\xfdQ\x8f\xa4\x044\xb1\xaf\x02H`\xe6\xb1B\xfc\ +ZX\xd0\x85]\x09X0\xb2A\xe4\x1bYQ\x0c\xf6\ +\x07\xf8\xfd~\x00\xca\xb1-J\xb20\x1b\xfc\xb3!T\ +\xfcoPP[\x19\xec\x81%\x03\xf6\xac&\xcbp\x8e\ +,\x88\x83Q\x17\x8dM\xaa\x93KBc\x82\xb47\x95\ +-\x84b&\xe1\xb6)S\xa0\xf5%\x93DK \xb0\ +U\x5c\xc8\x5c\xe8\xa0\xa0\xbe\x84Z\x92J\x99\x01s\xb2\ +\x19\xe9\xe0\x86.\xe0\xf0\xba\xc4I,\xb0\x8f\xdcG\x82\ +\x9b\xbc\x19\xae\xa1\x0b\x1d7\x8cc)\x91~\x17\xaa1\ +(G`\xb9\x1e\xa3\xf2 -o\x80DH\xe3\x94^\ +\xdc\xe2H\xd7\x97\xb0\xd8\x86\x80\x5c\x86[\xe1Gy\xab\ +\xd9*\x004\xd0WSzrE\xe7\xb4}\x0a\x0fx\ +g\x92E$\x07BC\xa5q\x04>\xb8\x8c@\xd5[\ +\x84\xbd\xf6$\xed\xa4(\xb6\xb6\xdaC\x10\x90\xc8\x8c\x82\ +\xc0\x1c\x92\x8bCg\xc9\x03\x86\x1cb\xe1\xc1\xa9BG\ +\x1d\x82\xa61\x1ar\x10\x86.\xb5\xda\x97\x97\x86\x1a$\ +\xa1\x0f\x1e\x0as\x1c\x16\x08b\xbbP\xc2\xa8\x15O\x89\ +\xf4H\xab\xb0\xa0\xaf!|\x90A!\xce\xbf\xc5@%\ +\xb8$\x82\x19@x\xa4C\x1d\xe0\x9ew#\x041\xe3\ +\xa2J\xb6\x81\x90|Z\xe0\xd0A\x90\xc6-\x90\xc1T\ +\xc0\x1c$\x93\x0ea\xe0*\xdb\x88\xfc\xe8b`\xae\xd2\ +\x12I\xc4\x13\x86\x18\x18\xcf@\xf0\x86R\xf1\xc4-)\ +`\xb8\x09\xb9x\x92\x18\xe0\xaf\x8f\x02\x18\xa8\xb3\x16i\ +^\xd9\xc4 I,\xfd\xa1$\x14\x8b9\xcfbI\x92\ +rY\x0c\x1dzlf=\xb1^\x0d\x88\x18\xff\xd0\x84\ +~Q\x03\x07\xcc\x14\x86m\xe1!V4Z\x04+\x14\ +9\x85\xf9$\xcckem\x92\x0a\x8d\x90\xc1L\xa6$\ +\x97\xac:#\xe0p\x22\xc8e b`\xb2T\xea2\ +<\xbe@\xa2\xf6\x1bRH\x85\xc9`\xbf\x0b!q#\ +\x91\x0d,j\xac\xa0\x0cG\x1c\xa0\xd4\x12.Et\x92\ +{V\x07\xc2u\xae\x16+5\x0d\x8f\xc8\x1f\xa3\x87p\ +\xd3\xd8\xc4u@\x1cH#\x82\xc4\ +i\xcd\x07\x02(\x8a\xef\x08Y@\x08!\x83\xd2\x19`\ +\xf6\x19\xf0\xc4\xb2\xe2nP\x0b\xf6\xfbH\xb6\x91H\xb6\ +k(\xf2\x8a\x07`&\x0e\xc8\x11\x8e\xc2\x19\x0a\x03\x0b\ +\x02&g\x05\xec\x1b+\xf6\xf5g*r#\xc8#e\ +\x00M@\x15\x08\xe8\xe6\x03\xe8\xaa\x8a\xa7\xc8\x81/\xb4\ +k\xc2\x90\x99A\xe0\xb3i\xd8\x1b\xf0\xec\x22\xc0\x02x\ +\xa7\x84?B\x16\xf4a\xb8\x14\xcf@\x17\xc0\xb6 \x8b\ +\xf6\x8f0\x9cEH\xb2D\x00E\x0aF\x9ck\xc8d\ ++\x8a@\x171\x5c\x0a\x0cC\x12b4\x08Qh\x14\ +\xa0I\x16\xe0\xb4\x9a\xe8L\x1c.\xde\x18\xe8\xab\x10\xa6\ +\x9c\xd5C\x88\x99A\xe4\x95\xc1\x80H\x81\x98\x0f\xe6f\ +\x1d\xa6k\x16B8\xb2@`\x0f\x0e8\x10\xe9J\xdc\ +\xa9|\x9e\xc9\x88\xa7\xe1\xb6X\x01\xda\xa3\xa9R\xa8\xc9\ +\xb1\x19\xc2H\xebn\xba\x9cN\xbe+i\xd1\x1b\xe2\xf6\ +\x9d\xc2\xfc\x1bi\x86\x84!\xac\x9e\x89\xec\xc8\xd1\xc4'\ +\xe7`\xb5\xc1ds\x82v\x1f\xe9R\x9b\x040\x1c\xaa\ +(\x9dQ\xfe0!\xb2\x9d\xeaA\x1e\x91\xea+0\xa4\ +\xae\xc1D\xa6\xe7\x1e#jv7\x11\x22\x9d\x81\xbc\x8c\ +!\xaa\x9ef \x1b\xec\xd4\xa92\x12Z\xa4\xf0\xeam\ +\xbe\x09\xa9\x1e\x97\x91\x1c\xa2\xe2\xfc\x1b\x8a\x85\x1e& \ +\x1b\xd1\xfe\xf2\xf2;%\xf2a&2e&ri&\ +\xb2m&\xf2q'2u'ry'\xb2}'\xf2\ +\x81(2\x85(r\x89(\xb2\x8d(\xf2\x91)2\x95\ +)r\x98(\x22\x02\x00\x03\x00\x01\xa0\x03\x00\x01\x00\x00\ +\x00\x01\x00\x00\x00\x02\xa0\x04\x00\x01\x00\x00\x00`\x00\x00\ +\x00\x03\xa0\x04\x00\x01\x00\x00\x00`\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\ +\x00\x00\x02\x93\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a \x0a Artboard\x0a \ +Created with Ske\ +tch.\x0a \ +\x0a \x0a <\ +circle id=\x22Oval-\ +3\x22 cx=\x223.0315222\ +4\x22 cy=\x222.9313699\ +9\x22 r=\x222.5\x22>\x0a \x0a \x0a\x0a\ +\x00\x00\x02\x9b\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a \x0a Icons / Sys\ +tem / Carat / Wh\ +ite / Default\x0a \ +Created with Ske\ +tch.\x0a \ +\ +\x0a <\ +/polygon>\x0a \x0a\x0a\ +\x00\x00\x05\x14\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a \x0a icon / outl\ +iner / slice / s\ +tandard copy 2\x0a Created with Sk\ +etch.\x0a \ + \x0a \ + \x0a \x0a \ + \ +\x0a \ + \x0a \x0a \x0a\x0a\ +\x00\x00\x03(\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a \x0a icon / outl\ +iner / layer / d\ +efault\x0a \ + Created\ + with Sketch.\x0a \x0a \x0a <\ +rect id=\x22Rectang\ +le\x22 x=\x220\x22 y=\x226\x22 \ +width=\x2212\x22 heigh\ +t=\x228\x22 rx=\x221\x22>\x0a \ + \x0a\ + \x0a \ + \x0a \x0a\ +\x0a\ +\x00\x00\x04\x96\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a \x0a icon / outl\ +iner / entity / \ +Not active - Def\ +ault\x0a \ + Created w\ +ith Sketch.\x0a \x0a \ +\x0a \x0a \x0a\x0a\ +\x00\x00\x09\x85\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a \x0a Artboard\x0a \ +Created with Ske\ +tch.\x0a \ +\ +\x0a \x0a \ + \x0a \ + \ +\x0a \ + \x0a \ + \ +\x0a \ + \x0a <\ +/g>\x0a \x0a\x0a\ +\x00\x00\x05\x15\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a \x0a icon / outl\ +iner / slice / \ +Editor only - Sa\ +ved\x0a \ +Created wi\ +th Sketch.\x0a \x0a \x0a \ + \x0a \x0a\x0a\ +\x00\x00\x02\x93\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a \x0a Artboard\x0a \ +Created with Ske\ +tch.\x0a \ +\x0a \x0a <\ +circle id=\x22Oval-\ +3\x22 cx=\x223.0315222\ +4\x22 cy=\x222.9313699\ +9\x22 r=\x222.5\x22>\x0a \x0a \x0a\x0a\ +\x00\x00\x05\x19\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a \x0a icon / outl\ +iner / slice / \ +Editor only - Up\ +dated\x0a \ + Created \ +with Sketch.\x0a \x0a \x0a \ +\x0a \ +\x0a\x0a\ +\x00\x00\x05\xfa\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a \x0a icon / outl\ +iner / lock / on\ +\x0a Created with \ +Sketch.\x0a \ + \x0a \ +\x0a \ + \x0a \ + \x0a \ + \ +\x0a \ + \x0a \ + \x0a \ + \x0a \x0a\x0a\ +\x00\x00\x15\xa4\ +I\ +I*\x00B\x08\x00\x00\x80?\xe0@\x08$\x16\x0d\x07\ +\x84BaP\xb8d6\x1d\x0f\x88DbQ8\xa4V\ +-\x17\x8cFcQ\xb8\xe4v\x0b\x02\x7f\xc7\xa4R9\ +$\x96M'\x94JeR\xb8\xa4\x82Y/\x98Lf\ +S9\xa4\xd6a.\x9bNgS\xb9\xe4\xf6}#\x9c\ +O\xe8T:%\x16\x8d/\xa0\xd1\xe9T\xbae6\x9d\ +\x1f\x81\xd3\xeaU:\xa5V\x91Q\xabVkU\xba\xe4\ +B\x93]\xb0XlU*\xfd\x8e\xcdg\xb4N\xec\xb6\ +\x9be\xb6\xdd&\xb5\xdb\xeeW;\xa4J\xe3u\xbc^\ +o7{\xd5\xf6\xfdi\xbe_\xf0X:\xde\x07\x09\x87\ +\xc4Sp\xd8\x9cf6\x7f\x8b\xc7drS<\x86O\ +-\x97\x93\xe5s\x19\xbc\xe4k5\x9d\xd0hk\xd5\x8d\ +\x16\x97M-\xd2Q\x00:\xbb\xf1\xaf\x5c\x1a}\xecG\ +pQ\x94\x14c\x05\x0e\xc1B;\xa8K\xbe\x0a\xf0\x82\ +\xb8\xf5`\x16|\x15\x9c\x04\xe41\x12\xbc\xb75\xf7?\ +\x94\xd4\xd0\xf8v\xc3?T7 .AJ\x10Q\xbc\ +\x14\x036\x90\xc1\x19pUx\x0f\xcc\xa5K\xfa\x5cx\ +\x0e\x8d\x0b\x9f2\xe9\xd7M\x1f1\xc4\x80\xe1 )\xc1\ +@\x95g\xe7\x93\xcc\x01\x92\x0fI.c+\xafzc\ +\x03&\x0f\x8a\xa44\xc1\x80\xe9\xfb\x07\x91\xa8(\xaa\xbd\ +\x15\xa8(\xe4MC\x07\x12\xa7\x04*\xef\x0a\x8d\x05(\ +\xa3\xfcD\x03\x1d\x11(\xe6\x90\x0fh(\x16\xc4\x1e\xc8\ +)\x0a\x03\xc6\x04i'\x19\x9f*<8\x96F\xe9\x5c\ +@\x9f\x0c\xd1\xe8\x8c\x82\x92h(L\xd1\x1bh(\xdd\ +\x0c\x13E\xc2\x87\x1c\xa5RbS\x1d\xa6q\x10\xfe\x01\ +D\xa7A\x06\x90\x0fM:\x1eD\x032\xe8\xf6@\xcc\ +\x07\xf2s'%\x13\x22O(%\x83|\xd4\x08\x1e\xf3\ +iL\x82\x892\xd2&\xe1\x97\x00D\xec,\x923\xcb\ +\x80\x99L\xcb\x83\xda\x9f\xcd\x09;\xaa3\x85I\x01`\ +\x82\x84\xb3\x92:n9\x00 \xa0KR\x06\xac:\xa5\ +O\xa9-\x02\x91G\xa30\x86\xf2 \xa0m\x14\x93\x9e\ +\x8f\xf8\xa3\x01\x17\x89M*\x92T\xe9\x1d.\x8dPb\ +*@X\xa0\xa0M>\x98\x1f\x0e\x18\x9cL\xd7\x05\xda\ +KT\xa4U\xe2=U\xa2\xb4\xcc~\x82V\x08 \x10\ +\xa99\xa8!X\x82\x96\xef\xf9\xc2\x06Z\x07!\xebi\ +\x9f\xee\x1b`\xd8\x97\xa8(8\xae\x1f\x08(\x9f$\x17\ +H\xf5|\x8e\xdch\xe5\x80\x88>c@\x8e\x7f]\x94\ +=\x8c\xa6\x1c\x00\x15\xe4:\x02\xf7\xa9_0\x103\x15\ +\x83\x1e\x9b\x88(F\xb1\x1f\x17\x90\x04(\x13\x18)r\ +\xcfO\xe9\xf5\xca\x8d\xdc\xe8\x5c\x184\x86\xb0y\xfa`\ +\xd6*a\x18\x05\xe3\x03\xf1\x1f\x8d\x9e\xe8\xf53~\xa0\ +\x97\xfa\xcf\x16\xa0\x81\xfc\x90f\x22\xd8^\x11\x0f(\xb8\ +j\x0dL\x83\xc8)\x92\x82\x83\x0a5\xf4\x00\x0d\x92A\ +.\x94\xe3\xf7\xf2\xdcs\xbf\xe1\xbc\x04\xf5\xa29R3\ +\xa3#\x18h\xdb\xa5\x81\xc7\xce\x9cb\xa0\xa1b\x8e\xe1\ +\x8c\x95\xc12N\xa5\xf9\xeeB\xba\x1a@~\xbc\x1e\x11\ +{\x09\xe6\x87i\x08\xbe\xca\x8bR\xe9\x00\x03A\x96h\ +(\x96\xa6\x14\x12@\xc2\x99\xeb@\x06D\xbc\x16Z\xb0\ +\xa0\xe1\xe5\x886\xce\x8a\xef\xe8\xa5/L\x8f\x88)\x07\ +xc\x00XU\x8d\x91\xf8\xeae\xba\xee\xeb\xc3\x86;\ +\xea\xc4R\x15\xc0\xa2|\xc2%\x1d\xdd!\xed\xd8\x7f\x17\ +\xe8(\x06\xa6\x0c\xb2A8\x9c\xf2\x0c\x13\xfa\x82\x07\x92\ +Ff\xa8o\xb2^\x12\x9e\xbazX\xdb\xa6\xe9\xc6\x92\ +\x0a\x0f\xa9\x87\x0d\x11$\x1f}E\xf9\x9f0\xf2*\x08\ +\x18I\x07\xb75\xa2\xf6i\xe3\xa7A\x91\xa9\x00\xe4\xa6\ +\xb8dN\xac<'\xbdK\x10\xe1\x90:\xb1\x01\xe5\xb4\ +}\x8a\x848|\x93d\xdb\xa2\x00\x00b\x9a\xff\x88\x10\ +\x16(\x9e{La\xdfF\x83\xceY*zF\xdej\ +wt\x8e\xc9\x01\x12T\x9cp\x00\x01\xef\x01\xec\xbc6\ +\xb6c\x8e\x18r`\xa2`G\xbf\x97\xc4O\xd4\x18\xb5\ + \xa1(\xa9\x0d\xd4\x90\x09\x0a\x1b\x0f\x04D\x80\x02\x92\ +\x97>\xdbH\x22\x89)\x87\x0cY\xc0\xb0\x9d\x03\x8aR\ +\x83\x1b)\x08\xa9\x0cT\x90\x0f\x0c\x1a\x99t$\x10 \ +\x15!\xb0\xd5\x81L((\xea\x0d\x92\x00\x05dS\xc5\ +\xa2H\x09\xb0\xc5\x1e\x8a\xf3\xb4T\x87\xb3VEe\x19\ +\xf0\x10\xf5\x067\xc8( *C\x19$\x1b3\x04\xa6\ +F\x11\x05\x07\xa5Ho5g\x22\xec\xa0y>Pj\ +\xe8\x82\x04H\xb8\x92\x22\xf9zS#iD\x15!r\ +\xd5\x82D:(\xcb\xa4D\x12\x00\xeeT\x87\xc2]\x03\ + =|\x0f\xa2\xea\xa6`\xe9\x04O`\x00\x05=C\ +V! X}\x8eE\x14\xd7\x06\xb0>?$\x80\xdd\ +tE5\x81\x048\x16/\x8b\xaa\x83\x08\x04\x82\x19\x94\ +\xe1\xf4\x01e\x00!\x12\x92\x8dd\x94X\x9aC\x8e\x9a\ +\x99\x15$\x14+\x15\x22\x00\x8cM@\xce\xa0\x084\x1e\ +\x11\x09\x85B\xe1\x90\xd8t>!\x11\x00\x19\xa2\x88\x98\ +9\xda%\x19\x8dF\xe1)\xe8\x1ah\xc6\xff\x91G$\ +\x92XD\x89\xff&\x95G\x002\xd0\x01\xa6`\x22~\ +\xcc\xda\x10pl\xaeq\x1aq\x86g\x82D\x0c\xfd\xf5\ +9\xa1P\xe1G\xfa0\x19\xcfInA\xc3\xb4Jt\ +)\xdf-\x00\x8bS5W,\xa2\x9fY\xacVi\xd5\ +(I\x9e\xc0^\x94(k\x96X1\xa6>\x98\xb3Z\ +\xe31C1\xa2\x0e\x97\xb6Q*Ez\xaaeU'\ +\x91\xdc\xe5u\xbb\xe4\x9a\xbd\x0c\xb7'\xe0\xe6\x0b\xfc\xe1\ +\xc4\x0d\xc5\x0a\x91\xb8\xd7\xae\x1e\xd8j\xc9\x03\x1f\x99V\ +\xb53!$\xa9&\xae\xe6xe\xfb3\x1a\xd0hb\ +X\x18]\x18\xfe\x08\xa4\xb9\xd8\xd0q\x8e\x92H\xa5\x8f\ +\x976\x15\x9br\x9a\x0eY\xda\xe9e\xac\xc06\xfcx\ +\x93\xe1>s\xf7\xbd\xdcCG\xc7\x86i\xa1\xc6\xdep\ +q\xf3\xd1d\xc1\xc3\x5c\xa8}H\xd7wKu\xa3\x96\ +\xe3l\x1d%\xdc\x889*C\x8b\xbb\x97\x91\xc6\xf1B\ +\xb9>\xb872#\x925\x0c2\xaf\xc6\x1c\x1c\x19\xee\ +\x84\xca`\xc7H\xf9\x1c\xfd!+r\x0a\x83\x22\xcf|\ +\x02\x83\x9e`\x1c\x16\x1e\x12\xf0q\xa4\xd1=PC\xda\ +\xf7>\x08\xd0\xd1\x0c\x09'\xf46Y \xe0$\x10\x85\ +\x12\xe0|F;\x91q1\xe6\xd29\xc3h\x1c}E\ +\xa4ZP3D\x08I\xf8\x01F\xa2a1\x1c\x17)\ +,(\xf5\xc7\x8f\x14,\x92-\xcd\xa2\x0cP \xe0\x1c\ +d\x84\x1d\x088\xf0\x83\x94\xc8\xf9\xf6\xa25\x0aB\x92\ +-\xa0\xe4:\x0e\x0b\xc9\x089\xfa\xc2\xa3\xe5\x22q\x1f\ +;\x93\x0b\xad %P\xc0\xd0,Cg\xf1G\x0fK\ +HQ\xe0\x83\x96\x089q\x1a\x80G\x08\x0b<\x1c\x88\ +A\xf7>\x03\x93P>\x83\x89\x088\xa0\x83\x82\x13r\ +\x12~\xce\xa2\xe4pL\x15\x0a$\xc6\xe5R\x0e<\xca\ +\x9c\xac\x038\xa8\x947\x080\x0bC\xd3\xac9\xf8\xa9\ +\x0b+\xb9X\xaeRM\xddL\xda\xd2\x8a\x22\xddB \ +\xc5:\x0e\x04S\xd5\x92\x88|7(\xfc\xe4\xb5\xd5\x0d\ +\x85t\xd2UJ\xca`4\x86i\x99\xfaW \xe0\xf5\ +gd#G\x12\x0e)\xa3\xe6c\x0f^46\x8b3\ +_,\xcbp(\xa9\x15\x09@\x87d\xdb\xa8A~\x03\ +\xdc\x22\xbb\x84I\x9dm%\xa6\xc8]\x0c=\xaa\xb9\x95\ +Wp\x06^^$B\x0e:[\xd2\xd2\xa4G\x08w\ +\xd0\xec+_\xb2\xe5O\x09@7R\xffv4\x93<\ +5\x0d\x92(8K{7f\xe2\xa47\xae\xe5\xb6\x05\ +\x80\xbfX\x1a\xf9\x82\xb7r\x93V9 \xe3\xdb\xf1\x86\ +\xa9\xecz\x0cC\x5c 9\x1br8\x91\x96.\xb9\xe5\ +\x8bf2\xf7R\xc0\xdaPE \xe2\xd6B\x93\x15\x19\ +0\xebrOU\x9e]\x5c\xe2\xb0\xaa]\x9c\x22h\xa0\ +d\x83\x8d\xc88\xb0\x83\x80\xf6\xf6T\x00\x15PX\x06\ +H\xc1\xc4\xb9\x9b\xa2\xe8\x0b6\xb4\xb2\xe6\x16LT\x0a\ +\xc5\xa7\xd0\xafA\xa5\x01\xfc\xda\xda\x9f\x889\x858\xce\ +\xa5M\x18uh\xae+\xf9\x95\xe8O^\xbd\xb9 \xe3\ +~\xf6\x08\x1e\xfb\xf0p\xa9\x06)C^\x83)\xa85\ +\x0c\x83\x02(\x5c\xe0\x83\x1d\xe89\xc6\x83\x9a\x13\xa9\x9e\ +\xa9\x19\x1a\xb7\x1d\xbc\xa3z\xe5K\xbbs<\xf7?\xd0\ +:\xdc\xdfC\xd2t\xbd2#\xd1\xf4\xfdWW\xd3u\ +=g_\xd8k<\xefc\xdav\xbd_]\xdbw=\ +\xd4'\xd9\xf7}\xf7\x7fn\xf7\x1e\x07\x87\xe2/\x9e\x17\ +\x8b\xe4y4\x7f{\xe5y\xbes3\xe3\xf9\xfe\x97\xa6\ +\x86\xfa>\xa7\xaf\xeb\xfa\xde\xc7\xb7\xe7{^\xe7\xbf\xe2\ +\xfb\xdf\x07\xc7\xdf|_'\xcf\xda\xfc\xdfG\xd7\xd6}\ +_g\xdf\xd2\xfd\xdf\x87\xe7\xcf~_\xa7\xef\x9c~\xdf\ +\xc7\xf7\xe0\xf9\x9f\xe3\xffwo\xea\x00@4\xb4@@\ +\x00\x13\x00\xfe\x00\x04\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\ +\x01\x04\x00\x01\x00\x00\x00`\x00\x00\x00\x01\x01\x04\x00\x01\ +\x00\x00\x00`\x00\x00\x00\x02\x01\x03\x00\x04\x00\x00\x00,\ +\x09\x00\x00\x03\x01\x03\x00\x01\x00\x00\x00\x05\x00\x00\x00\x06\ +\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\x00\x11\x01\x04\x00\x01\ +\x00\x00\x00\x08\x00\x00\x00\x15\x01\x03\x00\x01\x00\x00\x00\x04\ +\x00\x00\x00\x16\x01\x04\x00\x01\x00\x00\x00`\x00\x00\x00\x17\ +\x01\x04\x00\x01\x00\x00\x009\x08\x00\x00\x1a\x01\x05\x00\x01\ +\x00\x00\x004\x09\x00\x00\x1b\x01\x05\x00\x01\x00\x00\x00<\ +\x09\x00\x00\x1c\x01\x03\x00\x01\x00\x00\x00\x01\x00\x00\x00(\ +\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\x001\x01\x02\x00\x10\ +\x00\x00\x00D\x09\x00\x00=\x01\x03\x00\x01\x00\x00\x00\x02\ +\x00\x00\x00R\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\x00S\ +\x01\x03\x00\x04\x00\x00\x00T\x09\x00\x00s\x87\x07\x00H\ +\x0c\x00\x00\x5c\x09\x00\x00\x00\x00\x00\x00\x08\x00\x08\x00\x08\ +\x00\x08\x00\x802\x02\x00\xe8\x03\x00\x00\x802\x02\x00\xe8\ +\x03\x00\x00paint.net 4.0\ +.9\x00\x01\x00\x01\x00\x01\x00\x01\x00\x00\x00\x0cHL\ +ino\x02\x10\x00\x00mntrRGB X\ +YZ \x07\xce\x00\x02\x00\x09\x00\x06\x001\x00\x00a\ +cspMSFT\x00\x00\x00\x00IEC s\ +RGB\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\xf6\xd6\x00\x01\x00\x00\x00\x00\xd3-HP \x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11c\ +prt\x00\x00\x01P\x00\x00\x003desc\x00\ +\x00\x01\x84\x00\x00\x00lwtpt\x00\x00\x01\xf0\x00\ +\x00\x00\x14bkpt\x00\x00\x02\x04\x00\x00\x00\x14r\ +XYZ\x00\x00\x02\x18\x00\x00\x00\x14gXYZ\x00\ +\x00\x02,\x00\x00\x00\x14bXYZ\x00\x00\x02@\x00\ +\x00\x00\x14dmnd\x00\x00\x02T\x00\x00\x00pd\ +mdd\x00\x00\x02\xc4\x00\x00\x00\x88vued\x00\ +\x00\x03L\x00\x00\x00\x86view\x00\x00\x03\xd4\x00\ +\x00\x00$lumi\x00\x00\x03\xf8\x00\x00\x00\x14m\ +eas\x00\x00\x04\x0c\x00\x00\x00$tech\x00\ +\x00\x040\x00\x00\x00\x0crTRC\x00\x00\x04<\x00\ +\x00\x08\x0cgTRC\x00\x00\x04<\x00\x00\x08\x0cb\ +TRC\x00\x00\x04<\x00\x00\x08\x0ctext\x00\ +\x00\x00\x00Copyright (c)\ + 1998 Hewlett-Pa\ +ckard Company\x00\x00d\ +esc\x00\x00\x00\x00\x00\x00\x00\x12sRGB \ +IEC61966-2.1\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x12sRGB IEC\ +61966-2.1\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00XYZ \x00\ +\x00\x00\x00\x00\x00\xf3Q\x00\x01\x00\x00\x00\x01\x16\xccX\ +YZ \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00XYZ \x00\x00\x00\x00\x00\x00o\xa2\x00\ +\x008\xf5\x00\x00\x03\x90XYZ \x00\x00\x00\x00\x00\ +\x00b\x99\x00\x00\xb7\x85\x00\x00\x18\xdaXYZ \x00\ +\x00\x00\x00\x00\x00$\xa0\x00\x00\x0f\x84\x00\x00\xb6\xcfd\ +esc\x00\x00\x00\x00\x00\x00\x00\x16IEC h\ +ttp://www.iec.ch\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16IEC \ +http://www.iec.c\ +h\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00d\ +esc\x00\x00\x00\x00\x00\x00\x00.IEC 6\ +1966-2.1 Default\ + RGB colour spac\ +e - sRGB\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00.IEC 61966-2.\ +1 Default RGB co\ +lour space - sRG\ +B\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00desc\x00\x00\x00\x00\x00\ +\x00\x00,Reference Vie\ +wing Condition i\ +n IEC61966-2.1\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00,Refere\ +nce Viewing Cond\ +ition in IEC6196\ +6-2.1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00v\ +iew\x00\x00\x00\x00\x00\x13\xa4\xfe\x00\x14_.\x00\ +\x10\xcf\x14\x00\x03\xed\xcc\x00\x04\x13\x0b\x00\x03\x5c\x9e\x00\ +\x00\x00\x01XYZ \x00\x00\x00\x00\x00L\x09V\x00\ +P\x00\x00\x00W\x1f\xe7meas\x00\x00\x00\x00\x00\ +\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x8f\x00\x00\x00\x02sig \x00\ +\x00\x00\x00CRT curv\x00\x00\x00\x00\x00\ +\x00\x04\x00\x00\x00\x00\x05\x00\x0a\x00\x0f\x00\x14\x00\x19\x00\ +\x1e\x00#\x00(\x00-\x002\x007\x00;\x00@\x00\ +E\x00J\x00O\x00T\x00Y\x00^\x00c\x00h\x00\ +m\x00r\x00w\x00|\x00\x81\x00\x86\x00\x8b\x00\x90\x00\ +\x95\x00\x9a\x00\x9f\x00\xa4\x00\xa9\x00\xae\x00\xb2\x00\xb7\x00\ +\xbc\x00\xc1\x00\xc6\x00\xcb\x00\xd0\x00\xd5\x00\xdb\x00\xe0\x00\ +\xe5\x00\xeb\x00\xf0\x00\xf6\x00\xfb\x01\x01\x01\x07\x01\x0d\x01\ +\x13\x01\x19\x01\x1f\x01%\x01+\x012\x018\x01>\x01\ +E\x01L\x01R\x01Y\x01`\x01g\x01n\x01u\x01\ +|\x01\x83\x01\x8b\x01\x92\x01\x9a\x01\xa1\x01\xa9\x01\xb1\x01\ +\xb9\x01\xc1\x01\xc9\x01\xd1\x01\xd9\x01\xe1\x01\xe9\x01\xf2\x01\ +\xfa\x02\x03\x02\x0c\x02\x14\x02\x1d\x02&\x02/\x028\x02\ +A\x02K\x02T\x02]\x02g\x02q\x02z\x02\x84\x02\ +\x8e\x02\x98\x02\xa2\x02\xac\x02\xb6\x02\xc1\x02\xcb\x02\xd5\x02\ +\xe0\x02\xeb\x02\xf5\x03\x00\x03\x0b\x03\x16\x03!\x03-\x03\ +8\x03C\x03O\x03Z\x03f\x03r\x03~\x03\x8a\x03\ +\x96\x03\xa2\x03\xae\x03\xba\x03\xc7\x03\xd3\x03\xe0\x03\xec\x03\ +\xf9\x04\x06\x04\x13\x04 \x04-\x04;\x04H\x04U\x04\ +c\x04q\x04~\x04\x8c\x04\x9a\x04\xa8\x04\xb6\x04\xc4\x04\ +\xd3\x04\xe1\x04\xf0\x04\xfe\x05\x0d\x05\x1c\x05+\x05:\x05\ +I\x05X\x05g\x05w\x05\x86\x05\x96\x05\xa6\x05\xb5\x05\ +\xc5\x05\xd5\x05\xe5\x05\xf6\x06\x06\x06\x16\x06'\x067\x06\ +H\x06Y\x06j\x06{\x06\x8c\x06\x9d\x06\xaf\x06\xc0\x06\ +\xd1\x06\xe3\x06\xf5\x07\x07\x07\x19\x07+\x07=\x07O\x07\ +a\x07t\x07\x86\x07\x99\x07\xac\x07\xbf\x07\xd2\x07\xe5\x07\ +\xf8\x08\x0b\x08\x1f\x082\x08F\x08Z\x08n\x08\x82\x08\ +\x96\x08\xaa\x08\xbe\x08\xd2\x08\xe7\x08\xfb\x09\x10\x09%\x09\ +:\x09O\x09d\x09y\x09\x8f\x09\xa4\x09\xba\x09\xcf\x09\ +\xe5\x09\xfb\x0a\x11\x0a'\x0a=\x0aT\x0aj\x0a\x81\x0a\ +\x98\x0a\xae\x0a\xc5\x0a\xdc\x0a\xf3\x0b\x0b\x0b\x22\x0b9\x0b\ +Q\x0bi\x0b\x80\x0b\x98\x0b\xb0\x0b\xc8\x0b\xe1\x0b\xf9\x0c\ +\x12\x0c*\x0cC\x0c\x5c\x0cu\x0c\x8e\x0c\xa7\x0c\xc0\x0c\ +\xd9\x0c\xf3\x0d\x0d\x0d&\x0d@\x0dZ\x0dt\x0d\x8e\x0d\ +\xa9\x0d\xc3\x0d\xde\x0d\xf8\x0e\x13\x0e.\x0eI\x0ed\x0e\ +\x7f\x0e\x9b\x0e\xb6\x0e\xd2\x0e\xee\x0f\x09\x0f%\x0fA\x0f\ +^\x0fz\x0f\x96\x0f\xb3\x0f\xcf\x0f\xec\x10\x09\x10&\x10\ +C\x10a\x10~\x10\x9b\x10\xb9\x10\xd7\x10\xf5\x11\x13\x11\ +1\x11O\x11m\x11\x8c\x11\xaa\x11\xc9\x11\xe8\x12\x07\x12\ +&\x12E\x12d\x12\x84\x12\xa3\x12\xc3\x12\xe3\x13\x03\x13\ +#\x13C\x13c\x13\x83\x13\xa4\x13\xc5\x13\xe5\x14\x06\x14\ +'\x14I\x14j\x14\x8b\x14\xad\x14\xce\x14\xf0\x15\x12\x15\ +4\x15V\x15x\x15\x9b\x15\xbd\x15\xe0\x16\x03\x16&\x16\ +I\x16l\x16\x8f\x16\xb2\x16\xd6\x16\xfa\x17\x1d\x17A\x17\ +e\x17\x89\x17\xae\x17\xd2\x17\xf7\x18\x1b\x18@\x18e\x18\ +\x8a\x18\xaf\x18\xd5\x18\xfa\x19 \x19E\x19k\x19\x91\x19\ +\xb7\x19\xdd\x1a\x04\x1a*\x1aQ\x1aw\x1a\x9e\x1a\xc5\x1a\ +\xec\x1b\x14\x1b;\x1bc\x1b\x8a\x1b\xb2\x1b\xda\x1c\x02\x1c\ +*\x1cR\x1c{\x1c\xa3\x1c\xcc\x1c\xf5\x1d\x1e\x1dG\x1d\ +p\x1d\x99\x1d\xc3\x1d\xec\x1e\x16\x1e@\x1ej\x1e\x94\x1e\ +\xbe\x1e\xe9\x1f\x13\x1f>\x1fi\x1f\x94\x1f\xbf\x1f\xea \ +\x15 A l \x98 \xc4 \xf0!\x1c!H!\ +u!\xa1!\xce!\xfb\x22'\x22U\x22\x82\x22\xaf\x22\ +\xdd#\x0a#8#f#\x94#\xc2#\xf0$\x1f$\ +M$|$\xab$\xda%\x09%8%h%\x97%\ +\xc7%\xf7&'&W&\x87&\xb7&\xe8'\x18'\ +I'z'\xab'\xdc(\x0d(?(q(\xa2(\ +\xd4)\x06)8)k)\x9d)\xd0*\x02*5*\ +h*\x9b*\xcf+\x02+6+i+\x9d+\xd1,\ +\x05,9,n,\xa2,\xd7-\x0c-A-v-\ +\xab-\xe1.\x16.L.\x82.\xb7.\xee/$/\ +Z/\x91/\xc7/\xfe050l0\xa40\xdb1\ +\x121J1\x821\xba1\xf22*2c2\x9b2\ +\xd43\x0d3F3\x7f3\xb83\xf14+4e4\ +\x9e4\xd85\x135M5\x875\xc25\xfd676\ +r6\xae6\xe97$7`7\x9c7\xd78\x148\ +P8\x8c8\xc89\x059B9\x7f9\xbc9\xf9:\ +6:t:\xb2:\xef;-;k;\xaa;\xe8<\ +'\ + >`>\xa0>\xe0?!?a?\xa2?\xe2@\ +#@d@\xa6@\xe7A)AjA\xacA\xeeB\ +0BrB\xb5B\xf7C:C}C\xc0D\x03D\ +GD\x8aD\xceE\x12EUE\x9aE\xdeF\x22F\ +gF\xabF\xf0G5G{G\xc0H\x05HKH\ +\x91H\xd7I\x1dIcI\xa9I\xf0J7J}J\ +\xc4K\x0cKSK\x9aK\xe2L*LrL\xbaM\ +\x02MJM\x93M\xdcN%NnN\xb7O\x00O\ +IO\x93O\xddP'PqP\xbbQ\x06QPQ\ +\x9bQ\xe6R1R|R\xc7S\x13S_S\xaaS\ +\xf6TBT\x8fT\xdbU(UuU\xc2V\x0fV\ +\x5cV\xa9V\xf7WDW\x92W\xe0X/X}X\ +\xcbY\x1aYiY\xb8Z\x07ZVZ\xa6Z\xf5[\ +E[\x95[\xe5\x5c5\x5c\x86\x5c\xd6]']x]\ +\xc9^\x1a^l^\xbd_\x0f_a_\xb3`\x05`\ +W`\xaa`\xfcaOa\xa2a\xf5bIb\x9cb\ +\xf0cCc\x97c\xebd@d\x94d\xe9e=e\ +\x92e\xe7f=f\x92f\xe8g=g\x93g\xe9h\ +?h\x96h\xeciCi\x9ai\xf1jHj\x9fj\ +\xf7kOk\xa7k\xfflWl\xafm\x08m`m\ +\xb9n\x12nkn\xc4o\x1eoxo\xd1p+p\ +\x86p\xe0q:q\x95q\xf0rKr\xa6s\x01s\ +]s\xb8t\x14tpt\xccu(u\x85u\xe1v\ +>v\x9bv\xf8wVw\xb3x\x11xnx\xccy\ +*y\x89y\xe7zFz\xa5{\x04{c{\xc2|\ +!|\x81|\xe1}A}\xa1~\x01~b~\xc2\x7f\ +#\x7f\x84\x7f\xe5\x80G\x80\xa8\x81\x0a\x81k\x81\xcd\x82\ +0\x82\x92\x82\xf4\x83W\x83\xba\x84\x1d\x84\x80\x84\xe3\x85\ +G\x85\xab\x86\x0e\x86r\x86\xd7\x87;\x87\x9f\x88\x04\x88\ +i\x88\xce\x893\x89\x99\x89\xfe\x8ad\x8a\xca\x8b0\x8b\ +\x96\x8b\xfc\x8cc\x8c\xca\x8d1\x8d\x98\x8d\xff\x8ef\x8e\ +\xce\x8f6\x8f\x9e\x90\x06\x90n\x90\xd6\x91?\x91\xa8\x92\ +\x11\x92z\x92\xe3\x93M\x93\xb6\x94 \x94\x8a\x94\xf4\x95\ +_\x95\xc9\x964\x96\x9f\x97\x0a\x97u\x97\xe0\x98L\x98\ +\xb8\x99$\x99\x90\x99\xfc\x9ah\x9a\xd5\x9bB\x9b\xaf\x9c\ +\x1c\x9c\x89\x9c\xf7\x9dd\x9d\xd2\x9e@\x9e\xae\x9f\x1d\x9f\ +\x8b\x9f\xfa\xa0i\xa0\xd8\xa1G\xa1\xb6\xa2&\xa2\x96\xa3\ +\x06\xa3v\xa3\xe6\xa4V\xa4\xc7\xa58\xa5\xa9\xa6\x1a\xa6\ +\x8b\xa6\xfd\xa7n\xa7\xe0\xa8R\xa8\xc4\xa97\xa9\xa9\xaa\ +\x1c\xaa\x8f\xab\x02\xabu\xab\xe9\xac\x5c\xac\xd0\xadD\xad\ +\xb8\xae-\xae\xa1\xaf\x16\xaf\x8b\xb0\x00\xb0u\xb0\xea\xb1\ +`\xb1\xd6\xb2K\xb2\xc2\xb38\xb3\xae\xb4%\xb4\x9c\xb5\ +\x13\xb5\x8a\xb6\x01\xb6y\xb6\xf0\xb7h\xb7\xe0\xb8Y\xb8\ +\xd1\xb9J\xb9\xc2\xba;\xba\xb5\xbb.\xbb\xa7\xbc!\xbc\ +\x9b\xbd\x15\xbd\x8f\xbe\x0a\xbe\x84\xbe\xff\xbfz\xbf\xf5\xc0\ +p\xc0\xec\xc1g\xc1\xe3\xc2_\xc2\xdb\xc3X\xc3\xd4\xc4\ +Q\xc4\xce\xc5K\xc5\xc8\xc6F\xc6\xc3\xc7A\xc7\xbf\xc8\ +=\xc8\xbc\xc9:\xc9\xb9\xca8\xca\xb7\xcb6\xcb\xb6\xcc\ +5\xcc\xb5\xcd5\xcd\xb5\xce6\xce\xb6\xcf7\xcf\xb8\xd0\ +9\xd0\xba\xd1<\xd1\xbe\xd2?\xd2\xc1\xd3D\xd3\xc6\xd4\ +I\xd4\xcb\xd5N\xd5\xd1\xd6U\xd6\xd8\xd7\x5c\xd7\xe0\xd8\ +d\xd8\xe8\xd9l\xd9\xf1\xdav\xda\xfb\xdb\x80\xdc\x05\xdc\ +\x8a\xdd\x10\xdd\x96\xde\x1c\xde\xa2\xdf)\xdf\xaf\xe06\xe0\ +\xbd\xe1D\xe1\xcc\xe2S\xe2\xdb\xe3c\xe3\xeb\xe4s\xe4\ +\xfc\xe5\x84\xe6\x0d\xe6\x96\xe7\x1f\xe7\xa9\xe82\xe8\xbc\xe9\ +F\xe9\xd0\xea[\xea\xe5\xebp\xeb\xfb\xec\x86\xed\x11\xed\ +\x9c\xee(\xee\xb4\xef@\xef\xcc\xf0X\xf0\xe5\xf1r\xf1\ +\xff\xf2\x8c\xf3\x19\xf3\xa7\xf44\xf4\xc2\xf5P\xf5\xde\xf6\ +m\xf6\xfb\xf7\x8a\xf8\x19\xf8\xa8\xf98\xf9\xc7\xfaW\xfa\ +\xe7\xfbw\xfc\x07\xfc\x98\xfd)\xfd\xba\xfeK\xfe\xdc\xff\ +m\xff\xff\ +\x00\x00\x89\xf8\ +I\ +I*\x00\x08\x00\x00\x00\x18\x00\xfe\x00\x04\x00\x01\x00\x00\ +\x00\x00\x00\x00\x00\x00\x01\x03\x00\x01\x00\x00\x00`\x00\x00\ +\x00\x01\x01\x03\x00\x01\x00\x00\x00`\x00\x00\x00\x02\x01\x03\ +\x00\x04\x00\x00\x00.\x01\x00\x00\x03\x01\x03\x00\x01\x00\x00\ +\x00\x05\x00\x00\x00\x06\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\ +\x00\x11\x01\x04\x00\x01\x00\x00\x00\xfcS\x00\x00\x12\x01\x03\ +\x00\x01\x00\x00\x00\x01\x00\x00\x00\x15\x01\x03\x00\x01\x00\x00\ +\x00\x04\x00\x00\x00\x16\x01\x03\x00\x01\x00\x00\x00`\x00\x00\ +\x00\x17\x01\x04\x00\x01\x00\x00\x00\xf9\x12\x00\x00\x1a\x01\x05\ +\x00\x01\x00\x00\x006\x01\x00\x00\x1b\x01\x05\x00\x01\x00\x00\ +\x00>\x01\x00\x00\x1c\x01\x03\x00\x01\x00\x00\x00\x01\x00\x00\ +\x00(\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\x001\x01\x02\ +\x00\x22\x00\x00\x00F\x01\x00\x002\x01\x02\x00\x14\x00\x00\ +\x00h\x01\x00\x00=\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\ +\x00R\x01\x03\x00\x01\x00\x00\x00\x01\x00\x00\x00\xbc\x02\x01\ +\x00\xf68\x00\x00|\x01\x00\x00I\x86\x01\x00B\x0d\x00\ +\x00r:\x00\x00i\x87\x04\x00\x01\x00\x00\x00\xf8f\x00\ +\x00s\x87\x07\x00H\x0c\x00\x00\xb4G\x00\x00\x5c\x93\x07\ +\x00\xd0\x22\x00\x00$g\x00\x00\x00\x00\x00\x00\x08\x00\x08\ +\x00\x08\x00\x08\x00\x00\xf9\x15\x00\x10'\x00\x00\x00\xf9\x15\ +\x00\x10'\x00\x00Adobe Photo\ +shop CC 2017 (Wi\ +ndows)\x002017:04:0\ +4 11:01:55\x00\ +\x0a\x0a \ + \x0a \x0a \ + paint.net \ +4.0.9\x0a \ + 2017-03-01T11:2\ +0:20-08:00\x0a \ + 2017-04-04T\ +11:01:55-07:00\x0a\ + 2017-\ +04-04T11:01:55-0\ +7:00\x0a \ + imag\ +e/tiff\x0a 3\x0a \ + sRGB IEC\ +61966-2.1\ +\x0a \x0a \ + \x0a \ + adobe:docid\ +:photoshop:6e5b1\ +c59-1960-11e7-ba\ +e7-e6e7a5cd2814<\ +/rdf:li>\x0a \ + \x0a\ + \x0a \ + xmp.iid:db7b2\ +8e8-30e9-e04f-9f\ +78-916e5c5110e6<\ +/xmpMM:InstanceI\ +D>\x0a ad\ +obe:docid:photos\ +hop:bf3203a1-196\ +0-11e7-bae7-e6e7\ +a5cd2814\x0a \ + x\ +mp.did:8f625742-\ +0048-e64f-ab3c-d\ +4b1a5a27a24\x0a \ +\x0a\ + \x0a \ + \x0a \ + created\x0a \ + \ +xmp.iid:8f6257\ +42-0048-e64f-ab3\ +c-d4b1a5a27a24\x0a \ + \ +2017-03-01T11:20\ +:20-08:00\x0a \ + Ad\ +obe Photoshop CC\ + 2017 (Windows)<\ +/stEvt:softwareA\ +gent>\x0a \ + \x0a \ + \x0a\ + \ + \ +saved\x0a \ + xmp.iid\ +:db7b28e8-30e9-e\ +04f-9f78-916e5c5\ +110e6\x0a \ + 2017-04-0\ +4T11:01:55-07:00\ +\x0a \ + \ +Adobe Photo\ +shop CC 2017 (Wi\ +ndows)\x0a \ + <\ +stEvt:changed>/<\ +/stEvt:changed>\x0a\ + <\ +/rdf:li>\x0a \ + \x0a\ + \x0a \ +\x0a \ +\x0a\x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \x0a8BIM\x04%\x00\x00\x00\x00\x00\x10\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x008BI\ +M\x04:\x00\x00\x00\x00\x00\xe5\x00\x00\x00\x10\x00\x00\x00\ +\x01\x00\x00\x00\x00\x00\x0bprintOutp\ +ut\x00\x00\x00\x05\x00\x00\x00\x00PstSbo\ +ol\x01\x00\x00\x00\x00Inteenum\x00\ +\x00\x00\x00Inte\x00\x00\x00\x00Clrm\x00\ +\x00\x00\x0fprintSixteenB\ +itbool\x00\x00\x00\x00\x0bprint\ +erNameTEXT\x00\x00\x00\x01\x00\x00\ +\x00\x00\x00\x0fprintProofSe\ +tupObjc\x00\x00\x00\x0c\x00P\x00r\x00\ +o\x00o\x00f\x00 \x00S\x00e\x00t\x00u\x00\ +p\x00\x00\x00\x00\x00\x0aproofSetu\ +p\x00\x00\x00\x01\x00\x00\x00\x00Bltnenu\ +m\x00\x00\x00\x0cbuiltinProo\ +f\x00\x00\x00\x09proofCMYK\x008\ +BIM\x04;\x00\x00\x00\x00\x02-\x00\x00\x00\x10\x00\ +\x00\x00\x01\x00\x00\x00\x00\x00\x12printOu\ +tputOptions\x00\x00\x00\x17\x00\ +\x00\x00\x00Cptnbool\x00\x00\x00\x00\x00\ +Clbrbool\x00\x00\x00\x00\x00Rgs\ +Mbool\x00\x00\x00\x00\x00CrnCbo\ +ol\x00\x00\x00\x00\x00CntCbool\x00\ +\x00\x00\x00\x00Lblsbool\x00\x00\x00\x00\ +\x00Ngtvbool\x00\x00\x00\x00\x00Em\ +lDbool\x00\x00\x00\x00\x00Intrb\ +ool\x00\x00\x00\x00\x00BckgObjc\ +\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00RGBC\x00\x00\ +\x00\x03\x00\x00\x00\x00Rd doub@o\ +\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00Grn do\ +ub@o\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00Bl\ + doub@o\xe0\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00BrdTUntF#Rlt\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00Bld Un\ +tF#Rlt\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00RsltUntF#Pxl@b\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0avector\ +Databool\x01\x00\x00\x00\x00PgP\ +senum\x00\x00\x00\x00PgPs\x00\x00\x00\ +\x00PgPC\x00\x00\x00\x00LeftUnt\ +F#Rlt\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00Top UntF#Rlt\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00Scl Unt\ +F#Prc@Y\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x10cropWhenPrintin\ +gbool\x00\x00\x00\x00\x0ecropRe\ +ctBottomlong\x00\x00\x00\x00\ +\x00\x00\x00\x0ccropRectLeft\ +long\x00\x00\x00\x00\x00\x00\x00\x0dcrop\ +RectRightlong\x00\x00\x00\ +\x00\x00\x00\x00\x0bcropRectTop\ +long\x00\x00\x00\x00\x008BIM\x03\xed\x00\ +\x00\x00\x00\x00\x10\x00\x90\x00\x00\x00\x01\x00\x01\x00\x90\x00\ +\x00\x00\x01\x00\x018BIM\x04&\x00\x00\x00\x00\x00\ +\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00?\x80\x00\x008\ +BIM\x03\xee\x00\x00\x00\x00\x00\x0d\x0cTran\ +sparency\x008BIM\x04\x15\x00\ +\x00\x00\x00\x00\x1e\x00\x00\x00\x0d\x00T\x00r\x00a\x00\ +n\x00s\x00p\x00a\x00r\x00e\x00n\x00c\x00\ +y\x00\x008BIM\x045\x00\x00\x00\x00\x00\x11\x00\ +\x00\x00\x01\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00d\x01\ +\x008BIM\x04\x1d\x00\x00\x00\x00\x00\x04\x00\x00\x00\ +\x008BIM\x04\x0d\x00\x00\x00\x00\x00\x04\x00\x00\x00\ +\x1e8BIM\x04\x19\x00\x00\x00\x00\x00\x04\x00\x00\x00\ +\x1e8BIM\x03\xf3\x00\x00\x00\x00\x00\x09\x00\x00\x00\ +\x00\x00\x00\x00\x00\x01\x008BIM'\x10\x00\x00\x00\ +\x00\x00\x0a\x00\x01\x00\x00\x00\x00\x00\x00\x00\x018BI\ +M\x03\xf5\x00\x00\x00\x00\x00H\x00/ff\x00\x01\x00\ +lff\x00\x06\x00\x00\x00\x00\x00\x01\x00/ff\x00\ +\x01\x00\xa1\x99\x9a\x00\x06\x00\x00\x00\x00\x00\x01\x002\x00\ +\x00\x00\x01\x00Z\x00\x00\x00\x06\x00\x00\x00\x00\x00\x01\x00\ +5\x00\x00\x00\x01\x00-\x00\x00\x00\x06\x00\x00\x00\x00\x00\ +\x018BIM\x03\xf8\x00\x00\x00\x00\x00p\x00\x00\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\x03\xe8\x00\x00\x00\x00\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\x03\xe8\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x03\xe8\x00\ +\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\x03\xe8\x00\x008BI\ +M\x04\x00\x00\x00\x00\x00\x00\x02\x00\x018BIM\x04\ +\x02\x00\x00\x00\x00\x00\x04\x00\x00\x00\x008BIM\x04\ +0\x00\x00\x00\x00\x00\x02\x01\x018BIM\x04-\x00\ +\x00\x00\x00\x00\x06\x00\x01\x00\x00\x00\x048BIM\x04\ +\x08\x00\x00\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x02@\x00\ +\x00\x02@\x00\x00\x00\x008BIM\x04\x1e\x00\x00\x00\ +\x00\x00\x04\x00\x00\x00\x008BIM\x04\x1a\x00\x00\x00\ +\x00\x035\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00`\x00\x00\x00`\x00\x00\x00\x00\x00\x00\x00\x01\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x00\ +\x00\x00`\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00null\x00\x00\x00\x02\x00\x00\x00\x06bo\ +undsObjc\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00Rct1\x00\x00\x00\x04\x00\x00\x00\x00To\ +p long\x00\x00\x00\x00\x00\x00\x00\x00Le\ +ftlong\x00\x00\x00\x00\x00\x00\x00\x00Bt\ +omlong\x00\x00\x00`\x00\x00\x00\x00Rg\ +htlong\x00\x00\x00`\x00\x00\x00\x06sl\ +icesVlLs\x00\x00\x00\x01Objc\ +\x00\x00\x00\x01\x00\x00\x00\x00\x00\x05slice\x00\ +\x00\x00\x12\x00\x00\x00\x07sliceIDlo\ +ng\x00\x00\x00\x00\x00\x00\x00\x07groupI\ +Dlong\x00\x00\x00\x00\x00\x00\x00\x06ori\ +ginenum\x00\x00\x00\x0cESlic\ +eOrigin\x00\x00\x00\x0dautoG\ +enerated\x00\x00\x00\x00Type\ +enum\x00\x00\x00\x0aESliceTy\ +pe\x00\x00\x00\x00Img \x00\x00\x00\x06bo\ +undsObjc\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00Rct1\x00\x00\x00\x04\x00\x00\x00\x00To\ +p long\x00\x00\x00\x00\x00\x00\x00\x00Le\ +ftlong\x00\x00\x00\x00\x00\x00\x00\x00Bt\ +omlong\x00\x00\x00`\x00\x00\x00\x00Rg\ +htlong\x00\x00\x00`\x00\x00\x00\x03ur\ +lTEXT\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00n\ +ullTEXT\x00\x00\x00\x01\x00\x00\x00\x00\x00\ +\x00MsgeTEXT\x00\x00\x00\x01\x00\x00\x00\ +\x00\x00\x06altTagTEXT\x00\x00\x00\ +\x01\x00\x00\x00\x00\x00\x0ecellTextI\ +sHTMLbool\x01\x00\x00\x00\x08ce\ +llTextTEXT\x00\x00\x00\x01\x00\x00\ +\x00\x00\x00\x09horzAlignenu\ +m\x00\x00\x00\x0fESliceHorzA\ +lign\x00\x00\x00\x07default\x00\ +\x00\x00\x09vertAlignenum\ +\x00\x00\x00\x0fESliceVertAl\ +ign\x00\x00\x00\x07default\x00\x00\ +\x00\x0bbgColorTypeenu\ +m\x00\x00\x00\x11ESliceBGCol\ +orType\x00\x00\x00\x00None\x00\x00\ +\x00\x09topOutsetlong\x00\ +\x00\x00\x00\x00\x00\x00\x0aleftOutse\ +tlong\x00\x00\x00\x00\x00\x00\x00\x0cbot\ +tomOutsetlong\x00\x00\x00\ +\x00\x00\x00\x00\x0brightOutset\ +long\x00\x00\x00\x00\x008BIM\x04(\x00\ +\x00\x00\x00\x00\x0c\x00\x00\x00\x02?\xf0\x00\x00\x00\x00\x00\ +\x008BIM\x04\x14\x00\x00\x00\x00\x00\x04\x00\x00\x00\ +\x048BIM\x04\x0c\x00\x00\x00\x00\x03\xeb\x00\x00\x00\ +\x01\x00\x00\x000\x00\x00\x000\x00\x00\x00\x90\x00\x00\x1b\ +\x00\x00\x00\x03\xcf\x00\x18\x00\x01\xff\xd8\xff\xed\x00\x0cA\ +dobe_CM\x00\x01\xff\xee\x00\x0eAdo\ +be\x00d\x80\x00\x00\x00\x01\xff\xdb\x00\x84\x00\x0c\x08\ +\x08\x08\x09\x08\x0c\x09\x09\x0c\x11\x0b\x0a\x0b\x11\x15\x0f\x0c\ +\x0c\x0f\x15\x18\x13\x13\x15\x13\x13\x18\x11\x0c\x0c\x0c\x0c\x0c\ +\x0c\x11\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\ +\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x01\x0d\ +\x0b\x0b\x0d\x0e\x0d\x10\x0e\x0e\x10\x14\x0e\x0e\x0e\x14\x14\x0e\ +\x0e\x0e\x0e\x14\x11\x0c\x0c\x0c\x0c\x0c\x11\x11\x0c\x0c\x0c\x0c\ +\x0c\x0c\x11\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\ +\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\xff\ +\xc0\x00\x11\x08\x000\x000\x03\x01\x22\x00\x02\x11\x01\x03\ +\x11\x01\xff\xdd\x00\x04\x00\x03\xff\xc4\x01?\x00\x00\x01\x05\ +\x01\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x03\x00\x01\ +\x02\x04\x05\x06\x07\x08\x09\x0a\x0b\x01\x00\x01\x05\x01\x01\x01\ +\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x03\x04\x05\ +\x06\x07\x08\x09\x0a\x0b\x10\x00\x01\x04\x01\x03\x02\x04\x02\x05\ +\x07\x06\x08\x05\x03\x0c3\x01\x00\x02\x11\x03\x04!\x121\ +\x05AQa\x13\x22q\x812\x06\x14\x91\xa1\xb1B#\ +$\x15R\xc1b34r\x82\xd1C\x07%\x92S\xf0\ +\xe1\xf1cs5\x16\xa2\xb2\x83&D\x93TdE\xc2\ +\xa3t6\x17\xd2U\xe2e\xf2\xb3\x84\xc3\xd3u\xe3\xf3\ +F'\x94\xa4\x85\xb4\x95\xc4\xd4\xe4\xf4\xa5\xb5\xc5\xd5\xe5\ +\xf5Vfv\x86\x96\xa6\xb6\xc6\xd6\xe6\xf67GWg\ +w\x87\x97\xa7\xb7\xc7\xd7\xe7\xf7\x11\x00\x02\x02\x01\x02\x04\ +\x04\x03\x04\x05\x06\x07\x07\x06\x055\x01\x00\x02\x11\x03!\ +1\x12\x04AQaq\x22\x13\x052\x81\x91\x14\xa1\xb1\ +B#\xc1R\xd1\xf03$b\xe1r\x82\x92CS\x15\ +cs4\xf1%\x06\x16\xa2\xb2\x83\x07&5\xc2\xd2D\ +\x93T\xa3\x17dEU6te\xe2\xf2\xb3\x84\xc3\xd3\ +u\xe3\xf3F\x94\xa4\x85\xb4\x95\xc4\xd4\xe4\xf4\xa5\xb5\xc5\ +\xd5\xe5\xf5Vfv\x86\x96\xa6\xb6\xc6\xd6\xe6\xf6'7\ +GWgw\x87\x97\xa7\xb7\xc7\xff\xda\x00\x0c\x03\x01\x00\ +\x02\x11\x03\x11\x00?\x00\xf4<\xdc\xcc\x96d\x9a\xa9;\ +@\x80\x00\x00\x92O\xc6P\xfd~\xab\xe0\xff\x00\xfbl\ +\x7f\xe4R\xc9\xff\x00\x95\x1b\xfdz\xff\x00\xef\xabU\xce\ +\x0dis\xb4\x00I>A%9^\xbfU\xf0\x7f\xfd\ +\xb6?\xf2)z\xfdW\xc1\xff\x00\xf6\xd8\xff\x00\xc8\xa2\ +UU\xf9\xe0\xdde\x8e\xaa\x92}\x95\xb7\xc0x\xa7{\ +o\xe9\xeem\x82\xc3n9 =\xae\xd4\x89\xee\x12R\ +/_\xaa\xf8?\xfc\xc1\xff\x00\x91D\xc0\xcc\xc8\xb3#\ +\xd2\xb4\xee\x04\x1e@\x04\x11\xfdU\xa4\xb20\x7f\xe5\x03\ +\xff\x00\x5c\xfc\xa9)\xff\xd0\xef\xf2\x7f\xe5F\xff\x00^\ +\xbf\xfb\xea\xb9\x9f\x7f\xa7W\xa6\x1a\x5c\xfb\x81c@\xf3\ +\x11\xfcU<\x9f\xf9Q\xbf\xd7\xaf\xfe\xfa\xacu\x0f\xe9\ +\x18\x9f\xf1\x9f\xc5\x89)\x1e>NU\x14\xb6\xaf\xb2\xbd\ +\xdbg\xdd\xa8\xe4\xcf\xee\xa8\xe5]\x95\x93I\xa8\xe2\xbd\ +\x92A\x9dO\x1f\xd9\x0a\xdfP\xb6\xea\xb1\xf7\xd3\xa1\x90\ +\x1c\xee`x\xa9aYu\x98\xed}\xdfH\xcc\x1e$\ +~k\x92R\xd8y\x02\xfa\xa7ik\x98v\xb8\x1f\x10\ +\xa8`\xff\x00\xca\x07\xfe\xb9\xf9U\x9e\x97\xf4.\xff\x00\ +\x8d*\xb6\x0f\xfc\xa0\x7f\xeb\x9f\x95%?\xff\xd1\xef\xf2\ +\x7f\xe5F\xff\x00^\xbf\xfb\xea?R;,\xc6\xb4\x83\ +\xb1\x8f\x97\x11\xf1i\xff\x00\xbe\xa8f\xe1d\xbf$\xdb\ +P\x90b\x0c\xc1\x04!\xfd\x9b\xaa~\xf3\xff\x00\xed\xcf\ +\xfc\xc9%'\xb7\xa8\xe1[[\xabxyk\x84\x1d\x08\ +N\xce\xa7\x86\xc65\x8d\x0f\x0dh\x00\x0d\xa7\x80\xab\xfd\ +\x9b\xaa~\xf3\xff\x00\xed\xcf\xf6\xa5\xf6n\xa9\xfb\xcf\xff\ +\x00\xb7?\xda\x92\x9b\x1d(\x1fJ\xd7A\x0du\x84\xb4\ +\x9e\xe1V\xc1\xff\x00\x94\x0f\xc6\xcf\xca\x9f\xec\xddS\xf7\ +\x9f\xff\x00n\x7f\xe6H\xb88Y\x15\xdf\xea\xda\x03@\ +\x04s$\x92\x92\x9f\xff\xd9\x008BIM\x04!\x00\ +\x00\x00\x00\x00]\x00\x00\x00\x01\x01\x00\x00\x00\x0f\x00A\ +\x00d\x00o\x00b\x00e\x00 \x00P\x00h\x00o\ +\x00t\x00o\x00s\x00h\x00o\x00p\x00\x00\x00\x17\ +\x00A\x00d\x00o\x00b\x00e\x00 \x00P\x00h\ +\x00o\x00t\x00o\x00s\x00h\x00o\x00p\x00 \ +\x00C\x00C\x00 \x002\x000\x001\x007\x00\x00\ +\x00\x01\x00\x00\x00\x0cHLino\x02\x10\x00\x00m\ +ntrRGB XYZ \x07\xce\x00\x02\x00\ +\x09\x00\x06\x001\x00\x00acspMSFT\x00\ +\x00\x00\x00IEC sRGB\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf6\xd6\x00\x01\x00\x00\x00\ +\x00\xd3-HP \x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x11cprt\x00\x00\x01P\x00\ +\x00\x003desc\x00\x00\x01\x84\x00\x00\x00lw\ +tpt\x00\x00\x01\xf0\x00\x00\x00\x14bkpt\x00\ +\x00\x02\x04\x00\x00\x00\x14rXYZ\x00\x00\x02\x18\x00\ +\x00\x00\x14gXYZ\x00\x00\x02,\x00\x00\x00\x14b\ +XYZ\x00\x00\x02@\x00\x00\x00\x14dmnd\x00\ +\x00\x02T\x00\x00\x00pdmdd\x00\x00\x02\xc4\x00\ +\x00\x00\x88vued\x00\x00\x03L\x00\x00\x00\x86v\ +iew\x00\x00\x03\xd4\x00\x00\x00$lumi\x00\ +\x00\x03\xf8\x00\x00\x00\x14meas\x00\x00\x04\x0c\x00\ +\x00\x00$tech\x00\x00\x040\x00\x00\x00\x0cr\ +TRC\x00\x00\x04<\x00\x00\x08\x0cgTRC\x00\ +\x00\x04<\x00\x00\x08\x0cbTRC\x00\x00\x04<\x00\ +\x00\x08\x0ctext\x00\x00\x00\x00Copyr\ +ight (c) 1998 He\ +wlett-Packard Co\ +mpany\x00\x00desc\x00\x00\x00\x00\x00\ +\x00\x00\x12sRGB IEC61966\ +-2.1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\ +sRGB IEC61966-2.\ +1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00XYZ \x00\x00\x00\x00\x00\x00\xf3Q\x00\ +\x01\x00\x00\x00\x01\x16\xccXYZ \x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00XYZ \x00\ +\x00\x00\x00\x00\x00o\xa2\x00\x008\xf5\x00\x00\x03\x90X\ +YZ \x00\x00\x00\x00\x00\x00b\x99\x00\x00\xb7\x85\x00\ +\x00\x18\xdaXYZ \x00\x00\x00\x00\x00\x00$\xa0\x00\ +\x00\x0f\x84\x00\x00\xb6\xcfdesc\x00\x00\x00\x00\x00\ +\x00\x00\x16IEC http://ww\ +w.iec.ch\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x16IEC http://w\ +ww.iec.ch\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00desc\x00\x00\x00\x00\x00\ +\x00\x00.IEC 61966-2.1\ + Default RGB col\ +our space - sRGB\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00.IEC \ +61966-2.1 Defaul\ +t RGB colour spa\ +ce - sRGB\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00d\ +esc\x00\x00\x00\x00\x00\x00\x00,Refer\ +ence Viewing Con\ +dition in IEC619\ +66-2.1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00,Reference View\ +ing Condition in\ + IEC61966-2.1\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00view\x00\x00\x00\x00\x00\ +\x13\xa4\xfe\x00\x14_.\x00\x10\xcf\x14\x00\x03\xed\xcc\x00\ +\x04\x13\x0b\x00\x03\x5c\x9e\x00\x00\x00\x01XYZ \x00\ +\x00\x00\x00\x00L\x09V\x00P\x00\x00\x00W\x1f\xe7m\ +eas\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x8f\x00\ +\x00\x00\x02sig \x00\x00\x00\x00CRT c\ +urv\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x05\x00\ +\x0a\x00\x0f\x00\x14\x00\x19\x00\x1e\x00#\x00(\x00-\x00\ +2\x007\x00;\x00@\x00E\x00J\x00O\x00T\x00\ +Y\x00^\x00c\x00h\x00m\x00r\x00w\x00|\x00\ +\x81\x00\x86\x00\x8b\x00\x90\x00\x95\x00\x9a\x00\x9f\x00\xa4\x00\ +\xa9\x00\xae\x00\xb2\x00\xb7\x00\xbc\x00\xc1\x00\xc6\x00\xcb\x00\ +\xd0\x00\xd5\x00\xdb\x00\xe0\x00\xe5\x00\xeb\x00\xf0\x00\xf6\x00\ +\xfb\x01\x01\x01\x07\x01\x0d\x01\x13\x01\x19\x01\x1f\x01%\x01\ ++\x012\x018\x01>\x01E\x01L\x01R\x01Y\x01\ +`\x01g\x01n\x01u\x01|\x01\x83\x01\x8b\x01\x92\x01\ +\x9a\x01\xa1\x01\xa9\x01\xb1\x01\xb9\x01\xc1\x01\xc9\x01\xd1\x01\ +\xd9\x01\xe1\x01\xe9\x01\xf2\x01\xfa\x02\x03\x02\x0c\x02\x14\x02\ +\x1d\x02&\x02/\x028\x02A\x02K\x02T\x02]\x02\ +g\x02q\x02z\x02\x84\x02\x8e\x02\x98\x02\xa2\x02\xac\x02\ +\xb6\x02\xc1\x02\xcb\x02\xd5\x02\xe0\x02\xeb\x02\xf5\x03\x00\x03\ +\x0b\x03\x16\x03!\x03-\x038\x03C\x03O\x03Z\x03\ +f\x03r\x03~\x03\x8a\x03\x96\x03\xa2\x03\xae\x03\xba\x03\ +\xc7\x03\xd3\x03\xe0\x03\xec\x03\xf9\x04\x06\x04\x13\x04 \x04\ +-\x04;\x04H\x04U\x04c\x04q\x04~\x04\x8c\x04\ +\x9a\x04\xa8\x04\xb6\x04\xc4\x04\xd3\x04\xe1\x04\xf0\x04\xfe\x05\ +\x0d\x05\x1c\x05+\x05:\x05I\x05X\x05g\x05w\x05\ +\x86\x05\x96\x05\xa6\x05\xb5\x05\xc5\x05\xd5\x05\xe5\x05\xf6\x06\ +\x06\x06\x16\x06'\x067\x06H\x06Y\x06j\x06{\x06\ +\x8c\x06\x9d\x06\xaf\x06\xc0\x06\xd1\x06\xe3\x06\xf5\x07\x07\x07\ +\x19\x07+\x07=\x07O\x07a\x07t\x07\x86\x07\x99\x07\ +\xac\x07\xbf\x07\xd2\x07\xe5\x07\xf8\x08\x0b\x08\x1f\x082\x08\ +F\x08Z\x08n\x08\x82\x08\x96\x08\xaa\x08\xbe\x08\xd2\x08\ +\xe7\x08\xfb\x09\x10\x09%\x09:\x09O\x09d\x09y\x09\ +\x8f\x09\xa4\x09\xba\x09\xcf\x09\xe5\x09\xfb\x0a\x11\x0a'\x0a\ +=\x0aT\x0aj\x0a\x81\x0a\x98\x0a\xae\x0a\xc5\x0a\xdc\x0a\ +\xf3\x0b\x0b\x0b\x22\x0b9\x0bQ\x0bi\x0b\x80\x0b\x98\x0b\ +\xb0\x0b\xc8\x0b\xe1\x0b\xf9\x0c\x12\x0c*\x0cC\x0c\x5c\x0c\ +u\x0c\x8e\x0c\xa7\x0c\xc0\x0c\xd9\x0c\xf3\x0d\x0d\x0d&\x0d\ +@\x0dZ\x0dt\x0d\x8e\x0d\xa9\x0d\xc3\x0d\xde\x0d\xf8\x0e\ +\x13\x0e.\x0eI\x0ed\x0e\x7f\x0e\x9b\x0e\xb6\x0e\xd2\x0e\ +\xee\x0f\x09\x0f%\x0fA\x0f^\x0fz\x0f\x96\x0f\xb3\x0f\ +\xcf\x0f\xec\x10\x09\x10&\x10C\x10a\x10~\x10\x9b\x10\ +\xb9\x10\xd7\x10\xf5\x11\x13\x111\x11O\x11m\x11\x8c\x11\ +\xaa\x11\xc9\x11\xe8\x12\x07\x12&\x12E\x12d\x12\x84\x12\ +\xa3\x12\xc3\x12\xe3\x13\x03\x13#\x13C\x13c\x13\x83\x13\ +\xa4\x13\xc5\x13\xe5\x14\x06\x14'\x14I\x14j\x14\x8b\x14\ +\xad\x14\xce\x14\xf0\x15\x12\x154\x15V\x15x\x15\x9b\x15\ +\xbd\x15\xe0\x16\x03\x16&\x16I\x16l\x16\x8f\x16\xb2\x16\ +\xd6\x16\xfa\x17\x1d\x17A\x17e\x17\x89\x17\xae\x17\xd2\x17\ +\xf7\x18\x1b\x18@\x18e\x18\x8a\x18\xaf\x18\xd5\x18\xfa\x19\ + \x19E\x19k\x19\x91\x19\xb7\x19\xdd\x1a\x04\x1a*\x1a\ +Q\x1aw\x1a\x9e\x1a\xc5\x1a\xec\x1b\x14\x1b;\x1bc\x1b\ +\x8a\x1b\xb2\x1b\xda\x1c\x02\x1c*\x1cR\x1c{\x1c\xa3\x1c\ +\xcc\x1c\xf5\x1d\x1e\x1dG\x1dp\x1d\x99\x1d\xc3\x1d\xec\x1e\ +\x16\x1e@\x1ej\x1e\x94\x1e\xbe\x1e\xe9\x1f\x13\x1f>\x1f\ +i\x1f\x94\x1f\xbf\x1f\xea \x15 A l \x98 \ +\xc4 \xf0!\x1c!H!u!\xa1!\xce!\xfb\x22\ +'\x22U\x22\x82\x22\xaf\x22\xdd#\x0a#8#f#\ +\x94#\xc2#\xf0$\x1f$M$|$\xab$\xda%\ +\x09%8%h%\x97%\xc7%\xf7&'&W&\ +\x87&\xb7&\xe8'\x18'I'z'\xab'\xdc(\ +\x0d(?(q(\xa2(\xd4)\x06)8)k)\ +\x9d)\xd0*\x02*5*h*\x9b*\xcf+\x02+\ +6+i+\x9d+\xd1,\x05,9,n,\xa2,\ +\xd7-\x0c-A-v-\xab-\xe1.\x16.L.\ +\x82.\xb7.\xee/$/Z/\x91/\xc7/\xfe0\ +50l0\xa40\xdb1\x121J1\x821\xba1\ +\xf22*2c2\x9b2\xd43\x0d3F3\x7f3\ +\xb83\xf14+4e4\x9e4\xd85\x135M5\ +\x875\xc25\xfd676r6\xae6\xe97$7\ +`7\x9c7\xd78\x148P8\x8c8\xc89\x059\ +B9\x7f9\xbc9\xf9:6:t:\xb2:\xef;\ +-;k;\xaa;\xe8<' >`>\xa0>\xe0?\ +!?a?\xa2?\xe2@#@d@\xa6@\xe7A\ +)AjA\xacA\xeeB0BrB\xb5B\xf7C\ +:C}C\xc0D\x03DGD\x8aD\xceE\x12E\ +UE\x9aE\xdeF\x22FgF\xabF\xf0G5G\ +{G\xc0H\x05HKH\x91H\xd7I\x1dIcI\ +\xa9I\xf0J7J}J\xc4K\x0cKSK\x9aK\ +\xe2L*LrL\xbaM\x02MJM\x93M\xdcN\ +%NnN\xb7O\x00OIO\x93O\xddP'P\ +qP\xbbQ\x06QPQ\x9bQ\xe6R1R|R\ +\xc7S\x13S_S\xaaS\xf6TBT\x8fT\xdbU\ +(UuU\xc2V\x0fV\x5cV\xa9V\xf7WDW\ +\x92W\xe0X/X}X\xcbY\x1aYiY\xb8Z\ +\x07ZVZ\xa6Z\xf5[E[\x95[\xe5\x5c5\x5c\ +\x86\x5c\xd6]']x]\xc9^\x1a^l^\xbd_\ +\x0f_a_\xb3`\x05`W`\xaa`\xfcaOa\ +\xa2a\xf5bIb\x9cb\xf0cCc\x97c\xebd\ +@d\x94d\xe9e=e\x92e\xe7f=f\x92f\ +\xe8g=g\x93g\xe9h?h\x96h\xeciCi\ +\x9ai\xf1jHj\x9fj\xf7kOk\xa7k\xffl\ +Wl\xafm\x08m`m\xb9n\x12nkn\xc4o\ +\x1eoxo\xd1p+p\x86p\xe0q:q\x95q\ +\xf0rKr\xa6s\x01s]s\xb8t\x14tpt\ +\xccu(u\x85u\xe1v>v\x9bv\xf8wVw\ +\xb3x\x11xnx\xccy*y\x89y\xe7zFz\ +\xa5{\x04{c{\xc2|!|\x81|\xe1}A}\ +\xa1~\x01~b~\xc2\x7f#\x7f\x84\x7f\xe5\x80G\x80\ +\xa8\x81\x0a\x81k\x81\xcd\x820\x82\x92\x82\xf4\x83W\x83\ +\xba\x84\x1d\x84\x80\x84\xe3\x85G\x85\xab\x86\x0e\x86r\x86\ +\xd7\x87;\x87\x9f\x88\x04\x88i\x88\xce\x893\x89\x99\x89\ +\xfe\x8ad\x8a\xca\x8b0\x8b\x96\x8b\xfc\x8cc\x8c\xca\x8d\ +1\x8d\x98\x8d\xff\x8ef\x8e\xce\x8f6\x8f\x9e\x90\x06\x90\ +n\x90\xd6\x91?\x91\xa8\x92\x11\x92z\x92\xe3\x93M\x93\ +\xb6\x94 \x94\x8a\x94\xf4\x95_\x95\xc9\x964\x96\x9f\x97\ +\x0a\x97u\x97\xe0\x98L\x98\xb8\x99$\x99\x90\x99\xfc\x9a\ +h\x9a\xd5\x9bB\x9b\xaf\x9c\x1c\x9c\x89\x9c\xf7\x9dd\x9d\ +\xd2\x9e@\x9e\xae\x9f\x1d\x9f\x8b\x9f\xfa\xa0i\xa0\xd8\xa1\ +G\xa1\xb6\xa2&\xa2\x96\xa3\x06\xa3v\xa3\xe6\xa4V\xa4\ +\xc7\xa58\xa5\xa9\xa6\x1a\xa6\x8b\xa6\xfd\xa7n\xa7\xe0\xa8\ +R\xa8\xc4\xa97\xa9\xa9\xaa\x1c\xaa\x8f\xab\x02\xabu\xab\ +\xe9\xac\x5c\xac\xd0\xadD\xad\xb8\xae-\xae\xa1\xaf\x16\xaf\ +\x8b\xb0\x00\xb0u\xb0\xea\xb1`\xb1\xd6\xb2K\xb2\xc2\xb3\ +8\xb3\xae\xb4%\xb4\x9c\xb5\x13\xb5\x8a\xb6\x01\xb6y\xb6\ +\xf0\xb7h\xb7\xe0\xb8Y\xb8\xd1\xb9J\xb9\xc2\xba;\xba\ +\xb5\xbb.\xbb\xa7\xbc!\xbc\x9b\xbd\x15\xbd\x8f\xbe\x0a\xbe\ +\x84\xbe\xff\xbfz\xbf\xf5\xc0p\xc0\xec\xc1g\xc1\xe3\xc2\ +_\xc2\xdb\xc3X\xc3\xd4\xc4Q\xc4\xce\xc5K\xc5\xc8\xc6\ +F\xc6\xc3\xc7A\xc7\xbf\xc8=\xc8\xbc\xc9:\xc9\xb9\xca\ +8\xca\xb7\xcb6\xcb\xb6\xcc5\xcc\xb5\xcd5\xcd\xb5\xce\ +6\xce\xb6\xcf7\xcf\xb8\xd09\xd0\xba\xd1<\xd1\xbe\xd2\ +?\xd2\xc1\xd3D\xd3\xc6\xd4I\xd4\xcb\xd5N\xd5\xd1\xd6\ +U\xd6\xd8\xd7\x5c\xd7\xe0\xd8d\xd8\xe8\xd9l\xd9\xf1\xda\ +v\xda\xfb\xdb\x80\xdc\x05\xdc\x8a\xdd\x10\xdd\x96\xde\x1c\xde\ +\xa2\xdf)\xdf\xaf\xe06\xe0\xbd\xe1D\xe1\xcc\xe2S\xe2\ +\xdb\xe3c\xe3\xeb\xe4s\xe4\xfc\xe5\x84\xe6\x0d\xe6\x96\xe7\ +\x1f\xe7\xa9\xe82\xe8\xbc\xe9F\xe9\xd0\xea[\xea\xe5\xeb\ +p\xeb\xfb\xec\x86\xed\x11\xed\x9c\xee(\xee\xb4\xef@\xef\ +\xcc\xf0X\xf0\xe5\xf1r\xf1\xff\xf2\x8c\xf3\x19\xf3\xa7\xf4\ +4\xf4\xc2\xf5P\xf5\xde\xf6m\xf6\xfb\xf7\x8a\xf8\x19\xf8\ +\xa8\xf98\xf9\xc7\xfaW\xfa\xe7\xfbw\xfc\x07\xfc\x98\xfd\ +)\xfd\xba\xfeK\xfe\xdc\xffm\xff\xff\x80\x00 P8\ +$\x16\x0d\x07\x84BaP\xb8d6\x1d\x0f\x88Db\ +Q8\xa4V-\x17\x8cFcQ\xb8\xe4v=\x1f\x90\ +HdR9$\x96M'\x94JeR\xb9d\xb6]\ +/\x98A\x00\x930(*l\x0c\x9c\x03\x02\x13`P\ +0\x07?\x02?\xe8O\xe8X\x06 \x01\xa4\x00hO\ +\xfa$\x1a\x93H\x82R\xdf\xf0J}J\x06\xff\xa4\x80\ +\xa9t\xd0\x05\x1a\x07U\xa5\xd5\xeb\xf4\xfa\x8d\x86\x05S\ +\x81S\xe9VhK\xfc\x05o\x01\xd5\xaa\xf6\xca\x8d~\ +\x0fh\xb4\xd2\x00P\x8a\x95\x92\xefK\xb0P\xacW\x9a\ +M\xca\x9dI\xbe]05\xca\xf0\x02\x98\xfe\xc8>\xf2\ +O\xa7\xa6U\xe2\xf3\xcc<2O\xb7\xce\x1aSO\x07\ +\xe8Bcm!\x10\x87\xa7)\x89\xb5C\x00v\xb4#\ +?\x01\x81*\x98\x88]\xf7i\x87\xa4g\xb18+\x1e\ +\xe7\x01\xb7\x8e\xed\xaa\x17:\x15\xfa\x0d\xba\xde\xda\xf7\x98\ +Ln;\x7f\xbe\xe2\xf0!\x99\xec\x0d\xe2\xbbj\xe8T\ +\xab\x18^\x7f6\x9f\x90\xc8uz\xbb>\xcf\x81\xfc\xf8\ +\xf4=\x9c\xbe\xb6\xf3#\xdc\xbaa|VN\x0f\xa3c\ +6\xfa\x94\x04\xbfAb\xcf\xf4\xe0)\xc0\x03:r\x08\ +-\xebzc\x03\xc1\x10L\x15\x05>\xe6\x94\x1cc\x13\ +p\x89\x04h\xc2\x86+\xee\x90\x00\xd0\xc8\x10(C\x83\ + \xdb\x0f\x91\x00LD\x05\xc1q,M\x13\xc5\x09B\ +\xa4fE\x85\xf9\x17\x17\x8d\xa6\xfcdk\xb9\x08\xb0;\ +\x1b\x84\x84LtV5A0_\x14\xc8\x12\x0c\x85!\ +\xa2\xe7\xd4\x8c|\x93RI\x00SI\x84|\x8c}\x1f\ +(\xc4\x0a\x01\x07\xb2\xa8\x9aCK\x058\x0f-\x812\ +$\xbd/\xcc\x13\x0a\x04gL\x86\x08\xed3\x8a\x87\x84\ +\xd4v#\x09\x98\x08\x02\x8a\xf3\x88\xda7\xce\x84\x5c\xa7\ +1O\x13\xcc\xf5\x03\x9d\x13\xe9\xc44P\x02\x11\xc9A\ +\x9b\xa8\xc42\x03\x01\x03-\x14?\x0c\x14h\xf0\xe3O\ +t\x8d%I\xa3\xe7\x95,w\x0c\x94\xc8|oS\x86\ +\xad\x0d\x0d\x0d\x95\x09\x0e\xfe\x8b#}!JU\x15M\ +T\x873\x07\x99\xe1E\x0c\xa1\xf1\xb9Y\x9ah\xc4\xb6\ +\x03\x810\xf8\xdaDN\x22\xb8\xdbS\xc4\xae\x13\x9bU\ +\xc8q\xab\xae\xe1\xa1V\x15UV\x9e\x14\xc8\xc8\x1e\x9b\ +\xb6\x89\xa9O\xd1\x03u\xacD\xd7\xb5\xfb\xa4\x89\xaaF\ +\xdd\xbch\x9e\xb7\x09\xe6\xea\xcav\x13\xa8\xe0\x1f\xb7I\ +\xfb;\xb8\x8e\xdb\xb2\xf29Wr\xd4\x82<\xc8E\x80\ +\xe3\xbb\xab+\xa3d9\xd7\xdd\xe3}-\xd0-\xec\xe0\ +X\xc8\xa3\xc6\xe4\xbc\xce\xc5\xde\xbf\xb9`\x04\xdc\x02\x84\ +X\x88T\x05\xe2\x80r8\xca\x9e\x87\x8d\x9c\x1e\xd6f\ +\xe5j\x8b\xd6\xe0MB6\x10\xe2\xc6L7^\xe8\x89\ +\xf9\x95\x9fc\xa6\x5c(\x9a\xf9\x89\x9be!\xf72\x87\ +\x02\x80xN\x15\x80:\xb6\x15 \xed.\x92\x9d\xea\x81\ +\xe8O\x06R\xe9\xad\x97r\xb5\x9b\xae\x17\xa6\x8c\xe0`\ +\xeec\xcdr\xbb\xb9\xa5\x93|\xdd\xb4\x83\xcc\x08\xeb\x80\ +\xa8\xf9\xaf\x93an\xc4\x1cb\xec\xb0\xc7\xb3\x87\x96\x89\ +\xbbi\xe4\x12\xe6GQ\xbf\xa3z8\xfb\x8c\xdb\xa8~\ +i\xef\x06E\x89\xbd\xef\x88>\xb8\x08\x82\xb1\xd1\x12U\ +\x86\x5c(~\x8eY\x9b\xa8\xcc\x1f\xdb\xc6\xd9\xa5[K\ +\x95\xd5y9h\xe8{\xefX\x07\xc6\xa74d\xef\xa8\ +\xbcD\x04\x81a\x0fD\x14\x82\x9d(2\x0a\xf5\x00\xd3\ +Z\x07\x02G\x7f\x5cu\x9d\x9d\x89\xccu\xf6\x8758\ +o\x1a\xd0\xbf:\x8a\x82\x1d\xe8)\x17\x91epa\xe1\ +\x87\x9c\xaa\x1d\x8ccT\xce9Zr\x15\xc6\xdf\x93\x0b\ +\x19E\xb6\x89I\xe7\xc8\xcf\xeb\x88\x1b\xc1\xa7\xbdwh\ +Gz\x08\x02\x82\x07\xc4(|B\x00\x9e\xd2\x06\xc2%\ +\x0e\x04#\x07\xb7\xdcy\x98\xdf\x89n`~\x85\x8b\xe2\ +a\x16_q\xecz{\xbe\xf7|\xf0\x1e\x13\xc4x\xc4\ +5f=p\xce\x10\x06\xd4\x09\x1a+P\x049%H\ +\xdc\x88\xd9\xf7\x80\xc1\x01\x07\x0d!\x8e\xf7I\xe0\x0c\x0b\ +\x90l9\xc1\xb0\xb8\x1d \xc90MC\xc0v\x09\xc8\ +L \xc5l)\x13\x0e\xe9\xce\xbd\xf0(\x22\xa1\x80\xad\ +p\xa0\xc8\x1f6V2\xe2\x81\xfc\x09\x1bP-\xb6\xbc\ +\xe5D\xf4\x1e\x92\xfc\x22\x8e]E9\x976\xdf\x02<\ +I\x0b\x01\xce&\x09\x03\xf4\x04\x80\xbaD=c\x94o\ +\x08X\xac\x19\x86TY\x17\xad\xf1\xd5\x81!\x19\x17\xc5\ +t3p\xe4mf9\x86:\xc7\xc8\xb3!rKf\ +\x01\x90\xc6\xe8\xdd\x9e\xd3\xdcR)L5GQ\x0a\xa3\ +C\x00xRk\xa8~\x08\xe8\xfc\x1cEL\x81\x12\x8a\ +\xaa\x17@\x00c!\xc1\xe9\x1c\x5c#\xd4y6p\xc6\ +\x0f#;\xcddP\xfd\x93\xc6\xd2\x16\xca\xc7\xe0\xfbs\ +\x11\xc5=\x00Y<\x01\x9c\x10\xab\x07\xd2\x8c'=\xd1\ +Y)\xc4\xb0\x88\x95A\xadI\xb7\xf7\x02\x8e\xe1\x9c5\ +\x8c\x86f3<\xc8z\x02V\xb0n[\x09\xc9\xb9\x99\ +70\xe6\x86\xa3\x9cO!\xf6b\x09\xc0\x9f1\xc3\x19\ + \x1dS,r\x8d\x89\x9c3\x9dp\xef\x1dO \xd0\ +\x80\xf8\x9f\x14\x01T\xd9\x06\xb0\xb8\x90\x09y\xbc\x1f\x04\ +\xec\xe1\x10\xa9\xeaWC\x01\x14+d81\x912\xcd\ +W1\xb6\xd4\xdb#K\x91D\x11\xb1\xe9\x91\x18\xde\xe2\ +\xe4\xe2`\x81\xf109\x89\x020\xa5\x87\x90\xee\x15T\ +\x0cJ\x8b\x8a\x0c)\x8f\xa0\xe0\x1b\x0c\x18\xa4\x82z\x1c\ +\x0c\x02e\x11\x0c\x13\x1c'\x867>\x89\x16\xe1K\x0e\ +\xb4l)?A\x80,\x13\x0c\x85E\xe2\xbat\xce\xb2\ +4\xf2!\xc4:\x87\x93\xc6\x1f2H\x1eG$\xc0\xfb\ +cs\x02a$ IM\xc1jL\x14\xc3=\x9c\x11\ +\x02\xa4)j\x00\x8e\x135\x0c?\x8fz\x8c=IC\ +\xdf\x02a\xca\xa6\x09\x00\x95S\xc2\xe1\x14\x7fC\xcd\x0e\ +\x05\x00H;\xaa\xc0\xeaH\x93\x96\x18\xd2W\x11-\x22\ +,\x91\x96\xeeJ \x11\xc7\xab\x0e)\xa2D\x125\xac\ +Z\x83\xba\xdc\x12\x88\x85F\x1e\xe3\xd6\x8d\x87P\xa2{\ +\x86@\xbbD\xd4D&\x05\xe0\xfd_\xc4\xf5=!\xe2\ +\xae\xc2\x09W\x04\x1b\x12$.\x9c\xd3\xa2DIb\x15\ +\x01^\xc5*\x81\x95\x92J\xcfR!=\xdb\xbbyH\ +\x00\xd2\xce\x04\x011g\xc5\xf9\x10I\xe3\xe2\x5c\x84\xa4\ +X3-\x0aC\x096\xac-\x88\x1b\x5c(\x97a\x0a\ +\xa6!V\xda\x02\xa1\xc7m\xc6\xe2@\xab\x93\x9e\xaf\x11\ +\xb7\x90\xc6\xeb\x15,W3\xcd\xcaYg-/\xa2-\ +iE\x22B\xe6\x0b@ys\xc2Y\x10\xb9\x82@:\ +\x0aK\xac#S\xd0w\xbbBR\xda\x05YXC\xe8\ +\x18\xaa\x12\x93\x986\xa4\x08]\x17\xc4`\xafx`\xc0\ +\x1eCa\xe3J`T\x92\x8dw\x16!\x11:cL\ +\xe2:%\x83\x22\xf2\xfe\x0e\xc5\x0e\x01\xc8dg\x0bx\ +\x0c\x18\xae\xa1\xfa\x9e\x98\xa0\x0b\x01\xa2\xbf\x06\x0d\xc8\x9e\ +\x05\x88`\xe9\xc2C\x8c%\xe1P=n\x9a\xeb\x82\x15\ +\x92\xc6E.\x19\x1a\xda.\x09\x15d2\xe4D\x85l\ +L\x1b,q\x09z\xb0N|\xa0\xb3N\x10\xc2\x9e\x1a\ +\x22\x17\xa07\x0a\x8cl$\xd5UL\x0eB8-c\ +\xd0\xe2D \xf03\x99\xc3`g\x22kwc'U\ +\xees\x0e5\xc7\xcbv\xdfK\xe0\x89\x93\x87\x18\xb5\x05\ +\x07\xbc\xac&B\x8eY\x0c\xc4@$e\xd04\xecG\ +`\xe7U@\xbf2\x03\xa9\xc2'F)\x10\x12\x99\xac\ +<\x0a\x0c\xdc\x22r3]\xb1v\xf6\x93\x99l\x96\xb7\ +\xb2m\xc2y\xf6V\xfa\x91($\xf6 \xac\x17D\xa2\ +KB\x0b`u\xa1\xc2I\x0c\xaeC\xd5*\x83\xd0\x18\ +\xdf%p\xbb\xd2Uh\x87\xcaqY*e^qp\ +\x10\x032\x02\xf0w\x8aHDe\xac2\xd8\x8b>\xbc\ +IYr\x88\xfb\x1fR\xfe\xfc\xa0\xbat4\x11\xea?\ +!c\x8bZ\x0d\xb0\xa5\xad\xc13\xdd\x19:\xec}\x9b\ +\x03dB\xe8\xf0\xb0e\xc1\xd0(\xa2jD\xf0o[\ +\xc5\xb8\xcf\x1c\xcb_\x08w|\xae\x22\xbe\xd4\x04\x1e\xcc\ +eD\x13\xa4\x85\xd8\xea\x95\xc42\x84\x8d\x80\xa9\xb7\xc1\ +K\xdd~#\x18|_\xf2\x19M#\xc3dD\xb6*\ +\x18\xe1\xcb}\x9d\xa2.L\xda\x0a\xeezg\xd9\xed\x94\ +\xa3\x85\x9aD\xa3\x0f~\x0fJ/\xb7\x0f\xae\xdf\x0a\x9b\ +\x85\xdd\xee=\xca\x86p\x01\x0b\x9d\xea\xf4\x16\xecg}\ +b\xf7vuc9\xdd\xc7o7'\xb4\xb6Y\x0d\xcf\ +\xf0\x1f@\xa2m\xf80\xf7\xf2#\xe0\x14+\x81pG\ +;\xc1\xb77\x0aZ\x5c3\x87>\x09\x0d\x220\xec\x8c\ +c{\xca[\xe2LL\x15\xb1G\x19\x8d\xc6N\x09\xf1\ +\xdd\xf7\xbfw\xf9\x0b\xdb\xbc\x97q?\x1e\x0e\x01\xb8I\ +\x0a\xe1i\xc7\x86\xa2Y]\x86\xb8\x89\x19\xa5\x0d\xda\xc9\ +\x11w\xd6\x1c:\xc0\x8b\xbb\xa1\xafi\x90m\xab\xbe\x90\ +_\x1f\xe4.\x83\x91\xed\xed\xc1\xd1w')\xe9\x5c\xaf\ +\xa6i\xa9^\x22Ee%\xeb\xa4\x15\xc4\xb7nip\ +\xaf\x9f\x18\xde\xd6_|O\x8e\xc0\x82\xbb\x17A!]\ +\x0f\xb3\xf0^\x8d\xda\x88OK\x0a\xfd5\x05\xee\xc9\xcf\ +\xd4H\xc6\xa2V8\x84\x8a>\xb6\xdf\x8fB\xd0p\x97\ +\xba\xab\x9e\xa0\xed\x04\x81\xef\xf8\xbe\xf4C\xb8\x04zP\ +\x14C5\xa0\xe2\x1br8\x1d\xbd\xd1m\xeb\xc7$\x9e\ +\x00\xa0\x18\x86#!\xbe5\xd5 /\xa6(&WJ\ +\xa1\x10*\xa3\x17s \x94\x00w\xc1>\xef\x88\x92\xe7\ +6\xc4\xff\x08\x81\xbdU\x00\x1a\x02\x0f>$\xc5?\x9b\ +\x86\xben\x1b\x00\xff\xd9\x04\xef\xf5\x04-\xd5\xbe(\x7f\ +\x00\x89\x17?\x8cT\x12\xcd\x8fI9\x84\xec\x1e\x10\xe3\ +\xe3\x91H\xd4\x885A\x1a\xeb\xefl\x92MP%\x00\ +#\x17\xdcO\x1e\x88_\x0a\xdc\xac\x0f`\xb4\x85\x82B\ +\xf1\xc8dp\xa9d\xe2G\x92Y\xef(\x22fB\xcf\ +g\xa2\xf9\x82\x04\xfeh\xe4$(\xac\x10\xa1L\x89 \ +\x8e\x0b/\xf4R\x8c\xdc\x14\x01\x0e\xcda(\x0fBI\ +\x00\x8f \x22\xe5\x98\x9d\xc5\xa4\x92P\x1c\x88%\x86\x22\ +h\x88V+\x94#\xc0q\x06`\x8b\x04\x01u\x03e\ +T<\x01\xfa\xe1\x8fl\x1a\xe2@\xc8\xec\xe8#)\x16\ +\x1eNf\xcf\x0e,\xfe\x223\x02B@\x0fP\x98\x13\ +\x0dn\x0a@\xcf\x07\x06\xf6\x12\xb0\xa8\x0fA?\x0a\xe1\ +\x0e$\x0b\xce\x8b\xeb\xd4x\x8ec\x08\x87\x94\xfd\xb0\x18\ +\xf9%\xae\xfa\xf0 \x00\x0e6\x82\x8f<$\x10@\x17\ +0f\x07\x00\x8c\x22\x08\xb2\x19Ay\x07P\xa4$G\ +>\x01\x8d:\xf5\xa2\x1e\x16\x10\xfc\x13a\x09\x10,\xb6\ +#\xe9\xaa\x02k\xd0\x15\xf0\x82#\x07\x90\xe2\x8c\xf2\xf9\ +\x05p\xef%\xb4\xefk\x8e\xd5MX\x98\x22@I!\ +4\x18\x0f\xf2!\xed\x1a\x01\x8d\x17\x0e\xe2B\xa6\xe0H\ +\x05\x8cl\x15\x08\xd0!\xa1k\x15!D\x0f\xf1X\x0b\ +\xf0~\xceHb\xd90\xcf\x11m\xe3\x08\xca\xc6\xda1\ +#\x05\xac\xfc\xef\xab2\xfe\x82?\x13\x114p\xc2!\ +\x13\xb1?\x14\x02?\x14QH\xc6\xd1N!\x91R\x16\ +\xb1W\x15\xb0\xb4\xe1\xed\xdb\x00\xca\xbeU\xcf\xd9\x16\xce\ +\xf1\x17\x10\xce\xc5g\xb0\xda\xc27\x18\x116!\xd1\x88\ +\xa8\xf1\x8d\x18\xeao\x191L\x22\x11\x9b\x19\xe0\xff\x15\ +\xc2>\xe9\xe9a\x1a\x8f\xd4\x96\xa6<\xe2\xcd\xeb\x17M\ +\xef\x12\x8b\x92\xd5\xa2;\x1c\x11\x85\x13\x84\xab\x13\xd1\xc9\ +\x1c\xa2;\x19\x11K\x19b\x17\x1dqY\x1d\xb1\xa2\xe5\ +\xcaG\x16Nt!p\x87\x08\xae+\x16\xed\xe8\xbe\x91\ +\xf0\xef\x8dT\xcan\xfe#\x91\xfc\x06H\xc7\x1cR\x03\ +\x18\xb2\x08#r\x0d\x19Q\xd5\x15R\x17\x1d\xc2<\xc8\ +\xf2!\x12EX31\xaf\x22\xac\xf4\x92\x90\x1f\x22\x22\ +\x15\x09Q~I1\x83$\x11\x87$r\x06@\xe07\ +(`B\x06r\x8c\x08\x08\x5c\xcc\x01\xcf\x0eax\xcc\ +\x01\xd0A2O\x1d\x22\x1f!Q\xa0#\xf0I\x1eB\ +4\xee\xa7\x17\x0cB$\xc4p\xca\xf9rp!0^\ +\x88\xd1-'q3\x1c\x22\x1b\x1cj\xe6%\x8fJ\x01\ +\x00\x14rP\xcc\x9e\xaab\x84\xc18\x10P:\x11\x09\ +0\x1f\x82Y*2\x10!R\xa9!\x91\xdf\x16\x0bx\ +\xfd0\x11\x11\x90\x8ed\xef6\x1fR9\x17\xc2=#\ +\xf2C-2\x81-bN\xbf\xf0:\x19\x04z\x06\x02\ +0\x18\xb34\x16\xc4\xe8\x0d\xeb\xa2%r\xf9%1\x9d\ +%q^p\x0e\xa1+\x023+G\x19\x1b\x11\x1c\xb8\ +ew\x09\x021,pc\x1f\xb2y-\x02\x19-J\ +\x90$\xe6\xde\x8f\x08\xf4#\xe1\x0f7\xe0\xd0\x85!Z\ +\x13\x22Q42\xa7%R\xaa#\xcf\x1c\xc3q\xff+\ +*\xc0\xf2mI5\xb1!\x0c\xf2u1\xb3k9\xb3\ + \xd1\xd2H$\x22r\x01\xeb\xf8\x17\x81\xd6a\xe2@\ +\xab\x01\xdc\x1d,\xba\x09\x004hbE8\xc2\x1d/\ +\xf2X#\xb1\x0ax\x10\x0b'\xcd\xde\xe2qk&\x93\ +\xa5\x1bR\xc2!\x13e\x1f\x92=:\xf3\xe9$S\xb5\ +(\x22C\x0d\xf0j\xcdpn$\xe4\x00\x0a`N\x1c\ +4\x1c\x1bBI=\x91Q9\x13\x019Q\xa4\xf1\xf3\ +P#\x12'\x0c3X\xfd\xc9\xe55\xf3\x10#jb\ +\x93r;\x1b\xf4\x011\xf3o23r$@\x83E\ +\xa0\xa2\x80\x02P\xc8,\x86\xc8\xa2GBQ\x99B\x93\ +\xde#\x91\xe0\xee\x10J\x22\xcf$VS\xa3C\xd1\x1f\ +?R`\xe3K\x91\x06\x13\xfdD\xd2\xcf;\x14S@\ +s$$J\x1c\x04\xe0`\xa8\x01J\x19\xe2P\xc5\xe0\ +&\x1e4\xb4\x1d\xd4#\x1c\xf2\x0f4Q\xd9G\x227\ +\x10\xb1\x0f\x11\x22.\xb7\xe7\x95\x01r\xbbC\xee/\x17\ +3b\xe7\x8d\x01\x0dr\xcd'\xb4P!sp$\x84\ +\xa6\x15\xd4\xf4\x1b@9O\xa0F$\x0bN\x17\xef\x9e\ +\x08S\x8bK\xd2Q8\xf3G9\x22;%\xc8\x05?\ +b\x0fCe\x9f+\x82#+\xc9t[3\x131p\ +'?\xf4\x97@3\xb3 T\x9e$\xa0\x8bT \xad\ +7\xe1\x0e\x15\x228\x8f\x88&\x1a\x15T\xcd\x22OF\ +\xd2\x13G\x13J\x02\xac\xe70\x8e\xa42\xcb\x81H0\ +\xc7Hr.\xefR2!\xe7\xaas\x01\xabX!\x95\ +\x12\xf4O'\xf4\x9dEbR\x0cU\x94\x0f@\xd3Y\ +\xa1\x08\xc5#\xef\x02\xa0\xcc\x16\x95\xa8\x142\xf7P\xd2\ +\xa5=\xb5a*\xd4.\xc9\x00{\x16umM5q\ +MuuM\xb3\xa9\x17\x91\xbc#S\x1dX\xd5=Y\ +\x02Xda\x0c\x8f\x00\xf2\x22\x11\x02\x10\x80\xcb\x0f\xc1\ +`\x13\x82aU\xd2\xfd[t-!\xc7\x83L\xc2-\ +\x16\x85cRB!R\x8cK,\x14\x8a!\x95~\x88\ +\xb5\x82\x1a\xb5\x87NsmN\xd4T&\x00\xbfb\xe0\ +\xecWL\xe0!\xe0\xf1c\xa0\xad;\xe1W_u\xb1\ +/\xa2\x13=\xd2\x1a\x85\xf1\xa6\x86\x8b\xdc\xd9\xcaW?\ +4@z5.\xdf3\x196\x957N\xa2\x15N\xe2\ +_b\xe0\xbfc$?cb\x1dc\xa0\xf1c\xeb\xf9\ +d\x22__\x96K_\xd5\x16\xc3$v\xeeU\x1c \ +\xd6\x08\x07\xd6\x0c!\xef\xdfWt\xdcH\xa4\x8e\xc5\x94\ +K]U\x8b \x15\x8fb\xd61cB!h\x16\x84\ +\x17\x96\x88%\xd6\x8c!\x16M0'\x01Vl\x92#\ +p\x86\x91\xc9!\x5cu'M\x93`\x22\xf4F\x88\xb5\ +\xd2#5\xd7k\x95\xda&\x0a\x9e\x09@\xb8\x10W\x04\ +\x14b Y\xc0yUA\xa1U\x96\xcddt\xc14\ +\x91\x084T\xcbV\x91\x14\xde\x16\x0bC\xa2&}h\ +\x1cn6b\xef\xd6gST\xe9]\x93\xb6%\x8f\xec\ +\xb0\x81V\x1a\xc8\x9e\x8a\x22\x0ev\xe1\xaa\xc0`\xb6\x06\ +P\x05Z\xf1GK\xf5\x11L6N\x80\x12_W\xad\ +\x99>\xd7+?\x14\x855\xc1\x11n\xa2-:\xb6i\ +s\xf6\xf9t\x22^\x04\x17\x90\x05\x07$t@B\x05\ +!\xady\xe1\x96\xd0\x81$\x0e\xe9\x96\x1dA\xcb*\x17\ +\x19vw\x1c#\xd4\xc9\x0b\x96\x04\x22\xb6\x9fj\x22\x1c\ +\xd4\xc5\xaf\x1e\xf4\xdf\x1fT\x91,\xb3\xadf\xb7A@\ +\x92J#\x16\xce \xf6\xd3%\xb6\x94pi\xd2\x07\xd0\ +\xcfG\xf4\xd5nu\xcb|\xd6\xacJ\x0f\x9e\xfa4\xe5\ +}w\x89@V\xfb}\xe25~\x22\x0d~b:\xfc\ +\xf7\xbe\x22\x97\xf5nV\x0em\xc5D\xca\x0f\xe42f\ +7a\xf6#\x80\x96'f\xf6+\x81\x023\x81B\x0b\ +\x81\x8299x:\x22\xb0\x87Y@\xc4\x07i\xdf\x05\ +X+sMR\xd5q\xf7}W\x87\x84\xe2\x11g\x18\ +@\x22\xf8D \x98H#r\xafeO\xd4\x82n\xab\ +&\xa6H\x88\x15\xcf#veS4\x95\x80\xb5;x\ +\xd8r\x22Xv xz#Tw9\x98\x81\x01\x15\ +o\x1e\xb2-\x5c\xd6\x9a \xb7\x84#\x8b>\x13\x01|\ +\xb3\x80h\x08\x22 \xbb@\xee\x0a\x81\xf3\x8da\xf1\x89\ +\xe2.\x03X\xe0\x04\x04\xce\x0e\xc9\x06!\xf5\xa8\x16\x81\ +@\x10\x18\xf4\x0c7j\xa4x\x1e\x22sU|B\x1b\ +jx\xb9ab\x17\x8b\xe26\x94,^\x0a\x98\xdcO\ +\x0b\xac\x14\x81\x1a\xba`\xe9d\xee!C4\xcf\x5c0\ +\x15\x82V\xa5n\x94C\x82\xf7\xd1,\x8aj#\xa9\xf6\ +\x89\xb9\x1aLM\x86\x0a-\x83\x92\x96S\x00\xf3S&\ +N\xedr\xd5\xc8\x92x\x8a\xcf\x97qH\xcf9N(\ +,$\x0c\x12\x01\xb2\x0e\x039|\x03\xf9JH\x17\x9e\ +\x1a\xc1\x97\x85@u/5b\xc3V\x99\x90\xc2\x15M\ +\x193\x8bMJCMO\x93\xa23n\xe5co\x22\ +8\x06\xb9\xb4\x08A'\x9b\xa1qC\x88)\xc2\x0aS\x82\x81\ +*\xcf\xcf\x18\x0b\xfcH\x06P\x09\x8c\xae\xbd\xc9\xbb\x9e\ +\xa1>\x0a\x91\xa3\x05\x83\x87\xdc\x1cG \xa2\xaa\xf4V\ +\xa0\xa3\x90i\x0b\x9cJ\x9c\x0a\xab\xbc\x0a4\x12\xa2\x9a\ +\x91\x08\x0c|D\x83\x92\x0a> \xa0[\x10{ \xa4\ +(\x1d\x17\x91\xa14d|\xa8\xf0\xdaY\x1b%p\xfa\ +|\xf9\x19\x822\x0aI\xa0\xa13Dn6\xa3k\x92\ +\x19\x97\x0a\x1cp\x95IiLt\xe7\x1f\xe0\x11\x9d)\ +\x90i\x00\xf4\xd3\xa1\xe4L\x8e=6\xa7\xf2s&\xa5\ +\x13\x02O'\xa5\x8e\x99\x9e\x08\x1f\xb3IJ\x82\x89R\ +\xc2,\x5c\x00s\x88\xb2\x18\xce\x8e\x03\xdb\x03\xb1\xf3\xc2\ +}2$\xf2\x99\x9c\x15:\xc7\xf1`\x82\x84\xb3r:\ +nN \x18\xa1:\x06&\xac8\xa5LI4\xf8\x91\ +5\xc6h\x86\x90\x15\xe8(\x1bC$\xe7\xa3\xfc\x01\x0a\ +P\x08d]\xa54\x8aKS$\x94\x9a5?\x08\x94\ +\x09d\x82\x814\xe2`|S\xe2uER$\x95B\ +\x81='\xb5R+\x1eG\xc8!b\x82\x81\x0a\x93\x96\ +\x82\x15\x8d\xa9n\xda\x9c@M\x9cq\xcd'\xe9\xfe~\ +Z\x80\xd5\xa8~\x17\xa8(8\xae\x1f\x08(\x9f\x0b\x86\ +\x85\xd2=]$W\x22=_\x22\x11\xe0\x8e\x82\xd0h\ +%\x8a\xa5\x9c-\xa8\xe7Q\x15\xf2\xea-\x1e\x1bh(\ +H\xb1[\xa8 \xa1p\x17,\xf5x\x9e\x5c\xc8\xed\xd0\ +\x85\xcf\xc1\xad\x02` \xa0R\x98F\x82\xd8\x88\xfa\x0f\ +b\x87\xba=|_KA\xec\xda\x87\xf29\x98\x8b`\ +\xa8\xe6B\x8d\xe0\xe84x\x0f \xa6J\x0a\x0c(\xd2\ +\xf2\x086\xdc\x04\xb2S\x8c \x97\xda\xdat<\xa08\ +l\xf4\x05\xafSG\x0e\xa8\xb9\x1a5\x83\x9bZ(\x1c\ +yi\x06*\x0a\x16)\x83-\xc0N%\xf9\xa0\x01\x9b\ +.F\x90\x17\xab\x87\x81N\xb4y\xa1\xda\x123\xaf#\ +\x14\x9a@\x00\xd2\xa5\x9a\x0a%\xa8\xed\xa9A#\x8c)\ +\x9e\xa5\xaa.\xa5\x94\x8e(6\xba\x02\x0d\xb0\x22\xfb\xc2\ +-I\xd2\xa3\xe2@A\xa9\x87\x02\x0a\x15\xdc\x11be\ +\xb7\xaf\xad\xa8\xf1#\x91(V\xf4\x8a\xf1\xe8\xa4u\x1e\ +\x07\x88.\x18\x82\x00zn\x9e\x9c\xf1\x0b\xfb\xf8\x82\x07\ +\x97\x06T\xa8n\xd2V\x06\x9d\xba:)\xb5\xa3\xe9\x06\ +\x92\x0a\x0f\xa9\x87\x0d\x09p\x1f|\xe3\xe5|\xe6\xacG\ +p\x00\x06\x1c/\x22\x89\xf7\xe8\x93\xa3\x1e\x11\xb0\xaa\xa4\ +E\x5c\x03\xba{\xce\xb0\xed\xa9\x05#\x8f\xfe\x0a#\xe9\ +\x22\x06\x87\xad4M9\xf0\x18\xa6\xd1\x22\x0d\x19\xcb\xa7\ +~c\x12w\x81\x1f(<\x15\xfd\x07\xa4k\xd3\xa7S\ +\xf0\xec\x90q\xaa~,\x82\x01\xfd\xa7\x97\xdb\xe3,s\ +j9TD\x7f\xd6\xe9J\x12\x95\x16\xa9\xb0\xa9\x0d\xd5\ +\xc0\xdc\x09\xe8\xd2\x81@\x88\x90\x00RR\x83\x87\xda\xaf\ + \x89\x08\xa7\x8b4\x8e\x13\x9f\xf9JR\xa3e \x95\ +!\x8a\xb8\x1c\xa9\x82G\x82\xf8\x82\x84\x12\xa46\x128\ +)\x83%\x1dJ\xb8`\x00\xacJa\xb5\x16\x89\x1c&\ +\x984x\xa6W\xf1R\x1e\xe9\x1d\x87\x14g\xa8C\xd4\ +\xa8\xdf \xa0\x80\xa9\x0cu\xc0\x0e\x8c\x1a\x95\x18D\x80\ +\x1e\x95!\xbe\x91\xc1\x14+(\xcaU\x5c\x00\x00\x88T\ +\x86\xf2\xe0\x04p\xd8\xf9A\xc8&T\x85\xd2G]p\ +\xf9\xf6\x13\x95*\x22\x08+\xca)\xe3\xe1\xf2\x80\x80\x1e\ +\x0b#\x80\xfa.\xa8\xf2\x07\x10D\xec\x00!\xe9N\x10\ +\xa9\x1d\x14FH\x00O\xd3\xf0\x1f$\x03t\x82\xb9\x92\ +\x9e\x10\xd7\x04$.\x89\xf8\x1f\xb0\xb2\xa4>\x8d\xa8!\ +TK\x1d\xa0\xc6RltT\xa8\xa9$\x01X\xa6\x90\ +\x00\x0c\x09\x183\x82\x9d@\x10\x88L*\x17\x0c\x86\xc3\ +\xa1\xf1\x08\x8cJ&\x00fE\x910\x93\xb4R7\x1c\ +\x8e\xc2\xd3\xe3I\x09\x89\xff$\x8fI\xa4\xf0\xa9#\xfe\ +Q,\x8f@\x80 \x06\x94\xc8D\xfa\x9a\xb4! \xd9\ +l\xea8\xe3\x04O\x84\x82\xca\x0b\xeawD\xa2\xc3\x1a\ +\x94\x803\xe2\x96\xdb\x84\x87\xa8\xd5\x08c\xc0\x07T\x16\ +\x0cj\xeeYUF\xb7Z\xad\xd4%\xf0\xb6u\x88\xbc\ +\xfe\xb2\xa8k\xd5\xe9y\xa6\x0a3LZ-\xf1\xd6m\ +\xc8\xcf*\xb7\x5c(\xd2\xf2\xc5\xb1S)\x92\xdd\xe7U\ +\xdb\xfc\xb2\xc1\x0e\xb93S\xf2\xa3\x06\x0av\xe2\x02c\ +\x85C\x0c\x8b\xd7\x17\x7fhe\x81o\xcc\xcb^\x12\x1d\ +\xcaI\xe5\xe9\xbba\x9a\x1d\x81\xcfGt\xbah\xde\x12\ +\x1a\xe2\xd6\x82][\x06,$c\xa9\x8e\xcb\xd4\xb6\xc2\ +\xe6\xd6\xbd\x16f)a%\xad\xde\xaa\x04\xcd\x06\xf1\x87\ +bnK\xe7I~\xe1D\xf5\x1c\xe8~\xae \xd3\xea\ +\x87_=\x86D$5\xd1\x8d\x9a\xe4#D\xb7vM\ +\x866J\x92~8\x9b\x96\xa8\x03\x1b\xd5\xc6.X\x97\ +C\xd3}\x95\xfd!\xdd8\x9b?\xf60~\xff\x8c4\ +$\x0c}\xd0\xc3\xfd/\x1d\x16\xc2:\x03C\x1b\xd4\x1d\ +\x08F\x10\x84\xc2\x0aBO0\x0a\x15\x0fC(`\xd1\ +G\x1f8\x0e\x1c}\xdf\x94qb3\x84\x95\x94\xfe,\ +\xd0\x90\x0e\x12B\x92\xf2X\x0a\x8b\x87\x80\xa61<\xdb\ +Sj5\x03\x8f(\xe0\x8aBFx\xa9\x0c?R\xf1\ +1l.\x12xy\xf4\x91^\x98\x81\xe4\x5c\x85\xc4\xa8\ +\xa0\x8a#\xd4,\xe7BG\x94$\xa6x\x0f\xb5\x19H\ +5\x14\xa5-\xc1B\x08\x84$\x17\x94\x10\xa8\xfd\x02\x18\ +\x16\xc2\x91\x80sc\xd9\x1d\xe3\x92R\xc8\x88Y\x89J\ +9>cC\x0e\xf4$\xb0Bd4 \xe2\x01g\xf3\ +\x91\x0a>\xe80qNK\xc4\x94\xa8PBA\x09\xda\ +>\x85@!v\x18\x0c\x8au\x1amwigFo\ +N\xe2!R%\xa5\x10\x80\x12\x8d\xa8\x9ac\xf1\xc0x\ +\x0a\xb5z\x98s\xaa\xa7\x0a\x9aQ\x9b\xda)\x08\xa7\xc0\ +\x00\x22\xa3\xad\x95\x17-\x08\x16^\x02\xbdw\xab\x1b\xba\ +\xfd\xb5\xab\x95\xb6\x183J\x8a\xe5:\xb7\xb2\x91\xe3\x8d\ +/\x14\x96\xc31\x94\xb0Z\x9bM\xa6\xb0\xd6\xf6\xf4\x14\ +K\xca\x94\xa8B\xb2\xed\xf40\xc0\xa3\xc5jH\xebm\ +mVz\xe8e-u\xfd*\x00\xe2\x22!*\x1d.\ +\x0a\xd8\x8f[\x07d\xbe\xa5\xaa\xe6\xb8\xaa\xeab\xee\xc6\ +\xd6\x22\x89\x16RI\x09\x09/GD\xddBF\xf7\x80\ +\xb5\x84\xaf\xe6\x0b\x10_\xf0\x07:Z\x97\x0f\x81\xc9\x09\ +\x1f\x10\x90/\x08V\xd94 \x86\x03\xb225\xc9\x09\ +\xab\x99\xb2\xfc\xc3\xf2\xa8+\x14\x80\xdf\xb3<\x1b\x7f\x8f\ +\xd2-\x09\x16q\xe4\xb0\xa9\x9f\xc0Q\xd0/\xcf\xa8\x1b\ ++\x12\xaf\xb2\xc8\x0f.\x9d\xacT\xa8nBEt$\ +\x07\xbd\x144 \xa9K\xc9+C8B4%\xc3X\ +[\xf4k.\x22\x05R\xa1a\x09\x14\x12\xa0\xf9\x09\xa8\ +\x5c+\xe8\x00\x80\x10\x82\xc1\x8e\x01\x0a\x86D0:\xb5\ +d?ZZ7e\xa5\x02\xdd\x12\x84\xc8\xd2\x04Y\x93\ +\xf08\x89[D 0K\xc1\xd4\xa8\x11\xa2\xd0\x98D\ +\x00\x9e\x10\x83\xc1\x098\xd0\x93>\x8f46\xe3\x1c.\ +\xe6\xb8\xfd\xed\xa7\xd1\x1f}\xe3\x9d\xe8\xba>\x93w\xe7\ +\xfa^\xa3\xa9\xea\xb1\x1e\x9f\xab\xeb\xba\xfe\xc1(\xe8{\ +\x1e\xd3\xb5\xde\xfb>\xdb\xb9\xee\xb4\x1e\xb7\xbb\xef\xbb\xfe\ +\x8b\xb8\xf0\x01E\x01L\x01R\x01Y\x01`\x01g\x01n\x01\ +u\x01|\x01\x83\x01\x8b\x01\x92\x01\x9a\x01\xa1\x01\xa9\x01\ +\xb1\x01\xb9\x01\xc1\x01\xc9\x01\xd1\x01\xd9\x01\xe1\x01\xe9\x01\ +\xf2\x01\xfa\x02\x03\x02\x0c\x02\x14\x02\x1d\x02&\x02/\x02\ +8\x02A\x02K\x02T\x02]\x02g\x02q\x02z\x02\ +\x84\x02\x8e\x02\x98\x02\xa2\x02\xac\x02\xb6\x02\xc1\x02\xcb\x02\ +\xd5\x02\xe0\x02\xeb\x02\xf5\x03\x00\x03\x0b\x03\x16\x03!\x03\ +-\x038\x03C\x03O\x03Z\x03f\x03r\x03~\x03\ +\x8a\x03\x96\x03\xa2\x03\xae\x03\xba\x03\xc7\x03\xd3\x03\xe0\x03\ +\xec\x03\xf9\x04\x06\x04\x13\x04 \x04-\x04;\x04H\x04\ +U\x04c\x04q\x04~\x04\x8c\x04\x9a\x04\xa8\x04\xb6\x04\ +\xc4\x04\xd3\x04\xe1\x04\xf0\x04\xfe\x05\x0d\x05\x1c\x05+\x05\ +:\x05I\x05X\x05g\x05w\x05\x86\x05\x96\x05\xa6\x05\ +\xb5\x05\xc5\x05\xd5\x05\xe5\x05\xf6\x06\x06\x06\x16\x06'\x06\ +7\x06H\x06Y\x06j\x06{\x06\x8c\x06\x9d\x06\xaf\x06\ +\xc0\x06\xd1\x06\xe3\x06\xf5\x07\x07\x07\x19\x07+\x07=\x07\ +O\x07a\x07t\x07\x86\x07\x99\x07\xac\x07\xbf\x07\xd2\x07\ +\xe5\x07\xf8\x08\x0b\x08\x1f\x082\x08F\x08Z\x08n\x08\ +\x82\x08\x96\x08\xaa\x08\xbe\x08\xd2\x08\xe7\x08\xfb\x09\x10\x09\ +%\x09:\x09O\x09d\x09y\x09\x8f\x09\xa4\x09\xba\x09\ +\xcf\x09\xe5\x09\xfb\x0a\x11\x0a'\x0a=\x0aT\x0aj\x0a\ +\x81\x0a\x98\x0a\xae\x0a\xc5\x0a\xdc\x0a\xf3\x0b\x0b\x0b\x22\x0b\ +9\x0bQ\x0bi\x0b\x80\x0b\x98\x0b\xb0\x0b\xc8\x0b\xe1\x0b\ +\xf9\x0c\x12\x0c*\x0cC\x0c\x5c\x0cu\x0c\x8e\x0c\xa7\x0c\ +\xc0\x0c\xd9\x0c\xf3\x0d\x0d\x0d&\x0d@\x0dZ\x0dt\x0d\ +\x8e\x0d\xa9\x0d\xc3\x0d\xde\x0d\xf8\x0e\x13\x0e.\x0eI\x0e\ +d\x0e\x7f\x0e\x9b\x0e\xb6\x0e\xd2\x0e\xee\x0f\x09\x0f%\x0f\ +A\x0f^\x0fz\x0f\x96\x0f\xb3\x0f\xcf\x0f\xec\x10\x09\x10\ +&\x10C\x10a\x10~\x10\x9b\x10\xb9\x10\xd7\x10\xf5\x11\ +\x13\x111\x11O\x11m\x11\x8c\x11\xaa\x11\xc9\x11\xe8\x12\ +\x07\x12&\x12E\x12d\x12\x84\x12\xa3\x12\xc3\x12\xe3\x13\ +\x03\x13#\x13C\x13c\x13\x83\x13\xa4\x13\xc5\x13\xe5\x14\ +\x06\x14'\x14I\x14j\x14\x8b\x14\xad\x14\xce\x14\xf0\x15\ +\x12\x154\x15V\x15x\x15\x9b\x15\xbd\x15\xe0\x16\x03\x16\ +&\x16I\x16l\x16\x8f\x16\xb2\x16\xd6\x16\xfa\x17\x1d\x17\ +A\x17e\x17\x89\x17\xae\x17\xd2\x17\xf7\x18\x1b\x18@\x18\ +e\x18\x8a\x18\xaf\x18\xd5\x18\xfa\x19 \x19E\x19k\x19\ +\x91\x19\xb7\x19\xdd\x1a\x04\x1a*\x1aQ\x1aw\x1a\x9e\x1a\ +\xc5\x1a\xec\x1b\x14\x1b;\x1bc\x1b\x8a\x1b\xb2\x1b\xda\x1c\ +\x02\x1c*\x1cR\x1c{\x1c\xa3\x1c\xcc\x1c\xf5\x1d\x1e\x1d\ +G\x1dp\x1d\x99\x1d\xc3\x1d\xec\x1e\x16\x1e@\x1ej\x1e\ +\x94\x1e\xbe\x1e\xe9\x1f\x13\x1f>\x1fi\x1f\x94\x1f\xbf\x1f\ +\xea \x15 A l \x98 \xc4 \xf0!\x1c!\ +H!u!\xa1!\xce!\xfb\x22'\x22U\x22\x82\x22\ +\xaf\x22\xdd#\x0a#8#f#\x94#\xc2#\xf0$\ +\x1f$M$|$\xab$\xda%\x09%8%h%\ +\x97%\xc7%\xf7&'&W&\x87&\xb7&\xe8'\ +\x18'I'z'\xab'\xdc(\x0d(?(q(\ +\xa2(\xd4)\x06)8)k)\x9d)\xd0*\x02*\ +5*h*\x9b*\xcf+\x02+6+i+\x9d+\ +\xd1,\x05,9,n,\xa2,\xd7-\x0c-A-\ +v-\xab-\xe1.\x16.L.\x82.\xb7.\xee/\ +$/Z/\x91/\xc7/\xfe050l0\xa40\ +\xdb1\x121J1\x821\xba1\xf22*2c2\ +\x9b2\xd43\x0d3F3\x7f3\xb83\xf14+4\ +e4\x9e4\xd85\x135M5\x875\xc25\xfd6\ +76r6\xae6\xe97$7`7\x9c7\xd78\ +\x148P8\x8c8\xc89\x059B9\x7f9\xbc9\ +\xf9:6:t:\xb2:\xef;-;k;\xaa;\ +\xe8<' >`>\xa0>\xe0?!?a?\xa2?\ +\xe2@#@d@\xa6@\xe7A)AjA\xacA\ +\xeeB0BrB\xb5B\xf7C:C}C\xc0D\ +\x03DGD\x8aD\xceE\x12EUE\x9aE\xdeF\ +\x22FgF\xabF\xf0G5G{G\xc0H\x05H\ +KH\x91H\xd7I\x1dIcI\xa9I\xf0J7J\ +}J\xc4K\x0cKSK\x9aK\xe2L*LrL\ +\xbaM\x02MJM\x93M\xdcN%NnN\xb7O\ +\x00OIO\x93O\xddP'PqP\xbbQ\x06Q\ +PQ\x9bQ\xe6R1R|R\xc7S\x13S_S\ +\xaaS\xf6TBT\x8fT\xdbU(UuU\xc2V\ +\x0fV\x5cV\xa9V\xf7WDW\x92W\xe0X/X\ +}X\xcbY\x1aYiY\xb8Z\x07ZVZ\xa6Z\ +\xf5[E[\x95[\xe5\x5c5\x5c\x86\x5c\xd6]']\ +x]\xc9^\x1a^l^\xbd_\x0f_a_\xb3`\ +\x05`W`\xaa`\xfcaOa\xa2a\xf5bIb\ +\x9cb\xf0cCc\x97c\xebd@d\x94d\xe9e\ +=e\x92e\xe7f=f\x92f\xe8g=g\x93g\ +\xe9h?h\x96h\xeciCi\x9ai\xf1jHj\ +\x9fj\xf7kOk\xa7k\xfflWl\xafm\x08m\ +`m\xb9n\x12nkn\xc4o\x1eoxo\xd1p\ ++p\x86p\xe0q:q\x95q\xf0rKr\xa6s\ +\x01s]s\xb8t\x14tpt\xccu(u\x85u\ +\xe1v>v\x9bv\xf8wVw\xb3x\x11xnx\ +\xccy*y\x89y\xe7zFz\xa5{\x04{c{\ +\xc2|!|\x81|\xe1}A}\xa1~\x01~b~\ +\xc2\x7f#\x7f\x84\x7f\xe5\x80G\x80\xa8\x81\x0a\x81k\x81\ +\xcd\x820\x82\x92\x82\xf4\x83W\x83\xba\x84\x1d\x84\x80\x84\ +\xe3\x85G\x85\xab\x86\x0e\x86r\x86\xd7\x87;\x87\x9f\x88\ +\x04\x88i\x88\xce\x893\x89\x99\x89\xfe\x8ad\x8a\xca\x8b\ +0\x8b\x96\x8b\xfc\x8cc\x8c\xca\x8d1\x8d\x98\x8d\xff\x8e\ +f\x8e\xce\x8f6\x8f\x9e\x90\x06\x90n\x90\xd6\x91?\x91\ +\xa8\x92\x11\x92z\x92\xe3\x93M\x93\xb6\x94 \x94\x8a\x94\ +\xf4\x95_\x95\xc9\x964\x96\x9f\x97\x0a\x97u\x97\xe0\x98\ +L\x98\xb8\x99$\x99\x90\x99\xfc\x9ah\x9a\xd5\x9bB\x9b\ +\xaf\x9c\x1c\x9c\x89\x9c\xf7\x9dd\x9d\xd2\x9e@\x9e\xae\x9f\ +\x1d\x9f\x8b\x9f\xfa\xa0i\xa0\xd8\xa1G\xa1\xb6\xa2&\xa2\ +\x96\xa3\x06\xa3v\xa3\xe6\xa4V\xa4\xc7\xa58\xa5\xa9\xa6\ +\x1a\xa6\x8b\xa6\xfd\xa7n\xa7\xe0\xa8R\xa8\xc4\xa97\xa9\ +\xa9\xaa\x1c\xaa\x8f\xab\x02\xabu\xab\xe9\xac\x5c\xac\xd0\xad\ +D\xad\xb8\xae-\xae\xa1\xaf\x16\xaf\x8b\xb0\x00\xb0u\xb0\ +\xea\xb1`\xb1\xd6\xb2K\xb2\xc2\xb38\xb3\xae\xb4%\xb4\ +\x9c\xb5\x13\xb5\x8a\xb6\x01\xb6y\xb6\xf0\xb7h\xb7\xe0\xb8\ +Y\xb8\xd1\xb9J\xb9\xc2\xba;\xba\xb5\xbb.\xbb\xa7\xbc\ +!\xbc\x9b\xbd\x15\xbd\x8f\xbe\x0a\xbe\x84\xbe\xff\xbfz\xbf\ +\xf5\xc0p\xc0\xec\xc1g\xc1\xe3\xc2_\xc2\xdb\xc3X\xc3\ +\xd4\xc4Q\xc4\xce\xc5K\xc5\xc8\xc6F\xc6\xc3\xc7A\xc7\ +\xbf\xc8=\xc8\xbc\xc9:\xc9\xb9\xca8\xca\xb7\xcb6\xcb\ +\xb6\xcc5\xcc\xb5\xcd5\xcd\xb5\xce6\xce\xb6\xcf7\xcf\ +\xb8\xd09\xd0\xba\xd1<\xd1\xbe\xd2?\xd2\xc1\xd3D\xd3\ +\xc6\xd4I\xd4\xcb\xd5N\xd5\xd1\xd6U\xd6\xd8\xd7\x5c\xd7\ +\xe0\xd8d\xd8\xe8\xd9l\xd9\xf1\xdav\xda\xfb\xdb\x80\xdc\ +\x05\xdc\x8a\xdd\x10\xdd\x96\xde\x1c\xde\xa2\xdf)\xdf\xaf\xe0\ +6\xe0\xbd\xe1D\xe1\xcc\xe2S\xe2\xdb\xe3c\xe3\xeb\xe4\ +s\xe4\xfc\xe5\x84\xe6\x0d\xe6\x96\xe7\x1f\xe7\xa9\xe82\xe8\ +\xbc\xe9F\xe9\xd0\xea[\xea\xe5\xebp\xeb\xfb\xec\x86\xed\ +\x11\xed\x9c\xee(\xee\xb4\xef@\xef\xcc\xf0X\xf0\xe5\xf1\ +r\xf1\xff\xf2\x8c\xf3\x19\xf3\xa7\xf44\xf4\xc2\xf5P\xf5\ +\xde\xf6m\xf6\xfb\xf7\x8a\xf8\x19\xf8\xa8\xf98\xf9\xc7\xfa\ +W\xfa\xe7\xfbw\xfc\x07\xfc\x98\xfd)\xfd\xba\xfeK\xfe\ +\xdc\xffm\xff\xff\ +\x00\x00\x03\xa0\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a \x0a icon / outl\ +iner / entity / \ +Default - Saved<\ +/title>\x0a Created with S\ +ketch.\x0a \ + \x0a\ + \x0a <\ +path d=\x22M13.6916\ +3,3.24686842 L8.\ +01783965,6.52512\ +131 L2.34404932,\ +3.24686842 L8,0.\ +481790242 L13.69\ +163,3.24686842 Z\ + M7.25035308,7.8\ +2264135 L7.25035\ +308,14.7689324 L\ +1.9912897,11.723\ +6967 L1.9912897,\ +4.79310939 L7.25\ +035308,7.8226413\ +5 Z M14.0326515,\ +11.6884321 L8.74\ +360561,14.776916\ +3 L8.74360561,7.\ +8257203 L14.0024\ +918,4.79949203 L\ +14.0326515,11.68\ +84321 Z\x22 id=\x22Sha\ +pe\x22 fill=\x22#4285F\ +4\x22 fill-rule=\x22no\ +nzero\x22>\x0a \ + \x0a\x0a\ +\x00\x00\x04g\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a \x0a icon / outl\ +iner / entity / \ +Editor only - De\ +fault\x0a \ + Created \ +with Sketch.\x0a \x0a \x0a \x0a \x0a<\ +/svg>\x0a\ +\x00\x00\x02\x90\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a \x0a Artboard\x0a \ +Created with Ske\ +tch.\x0a \ +\x0a \x0a \x0a \x0a \ + \x0a\x0a\ +\x00\x00#k\ +\x00\ +\x00\xf0\x80x\x9c\xed\x5c\x07\x5c\x93\xc7\xdf\xbf'\x09\x09\ +[\xb62\xc4\x88\x03\x17#\xcc\x10\x01\xd9CE\x11\x10\ +\xd4\xbaB\xf2\x00\x91,\x930\xc4=\xaaV\xad\x03\xad\ +\x0b\xb7\xd6=\xea^\xad\xd6\x89V\xabu\xb7\xd5\xb6\x8e\ +?\xae*\xe2`\xa3y\xef\x9e$\x10\x14\x15$\x8a\xf6\ +}\xbe\xf9\xdc\x93\xbb\xdf\xdd\xfd\xd6\xddsw\xcf\xb8'\ +&\x06t\x02\x00\xe8\x83\x16\xe0\x15\xa0\xc1\x18\x06T\x07\ +*\xf17\x14\x1e0\xad8\x85\x88\xc3r\x98+FU\ +\xd3aa\x8c\xae\x8eS\xe0\xc1\x5c\xc3'q!f\xa1\ +U\xc6Z\x1dG\xb5m\xb4x6\xd7\x94\x9f\x0d0;\ +\xa0\xa7\x8ac>\x98}u<\x10s\xd0\xe2\xd3AK\ +\x16\x0b\x1d\x81\x13\x8cE`\x1eD\xdc\x0a\xc6\xd3\xb0\xb8\ +\x9a\xf2\x94\x1f\xd1\x91\xb3\x16&GM<\x08\x18\x90\xde\ +\x0c\x00\x7f\xa7\xc9\xd1\x88n\xea\x08\xe3\x1eS\x04\x1a\x1d\ +\xee.\x9c\x22Ge\x8c\xa3\x00\xe8\x1e;w \x8a\x1b\ +\xec\x83\xf4\xe3\xc8/\xd0O\xaa\x9fa\xd58\x00\x9c\xcd\ +4\xff\xc1|I2\xce\x8cM\x93($\xf24\x89\x94\ +\x19\x1a\xca\xf4pg\xf92;$\x09\xc4|I\x96\xbc\ +#@I\x8e\xbb\x07\xc7\xdd\x93\xc9\xf2\xe1x\xf8p\xbc\ +X\xc0\xbf[\xb6\x94\xcbK\xc7\x15\xccda\xb8\x9c'\x13H\x15\x02\x89\x98\x89\ +\xd2\xdcdI\x86\x22\xc0\xc9\xc9\x90\xa9\x05\xb5]\x22i\ +\xb5 \xb1\xdc\x95\xb0\xd1\x95'\x11\xb9es\xa5n,\ +Ww\xb7\xba*\xf1y\xd5u\xa4\x192!\xa1\x1a\x9f\ +\xe7\x86\x0bq\x11.V\xc8a=V\x9d\xf5\xa4\x9a\xb6\ +\xab[du\xf6[\x05Cmcb\xde\xad\xafHT\ +gM\xb9\x22\x9f\xef\xc3\xe6\xe1P\x0b\x1cOv\ +\xf1\xf3\xf3rwa\xb3y\x9e.\xbe\xc9\x1e\xde\xc9\xc9\ +\x1e8\xd7\xdd\xc3\x8bh\xcb\xda\xd5\xdf`\xad\x91\xaef\ +M\x98\xca\xf3\xf4\xc0}\xfd\xd8.)\xfc\x14\x96\x8b\xb7\ +\x9f\x17\xdf\xc5\xcf;\xc5\xcf\x85\xeb\xe5\xc3\xf2e\xf9&\ +\xfbp\xb9\xbe\x1a\xd6Z\xd5\xdf`\xdd[&\x80\xa31\ +W\xd8H\x11u\xb0yCT\x94\x00ynD\x1dm\ +\x1b\x8f\x0f\x7f[\xdb\x12\xe3\xa6\x94+\x93\xe3hT\x08\ +p\xd2\x0c\x0bNoT@u\x88\xd1\x85\xc3\xe5\xa1\x11\ +7\x90G\x9c\xf8\xb0\xc1kQ\xdf^M\xf0f\x03\xd6\ +\xcf\x05oT\x7f\xbb\x8c\xac4\x5c\xfc\xae\x01K\xab\xd4\ +\xdb\x99\xc8%)\x8a,\xae\x0c\x0fN\x85\x9e\xae\xcfh\ +QW\xb57\xfc]\xe7y\xa1\x93\x86\x90s3\x1b\xd7\ +\x0c\x9e)\xbe>\xc98\xcb\xc7\x85\xcd\xe7y\xb8p\xd9\ +^\xb0\x05\x90\x0f}\xbdY\x9e\x9e\xbe\x1e\x5c/\x16\x8b\ +\xdf\xb8f\x80m\xc0\xd2\x1a\xad\x9b\xae\x19j\xd8\xf3\xd2\ +\xb8\xe2T\x9c\x1f\xe8\xa6\xa9\xa8!|I-W\xbf\x11\ +\xb0\x91-\xe7\xf3\xdfj9\x15\xb5\xf6\x98\xa8\x19g_\ +\x1bCUE\xb5\x96\x99\xaa5\xac\x9bz\x11\x0b\xd7\xcf\ +n\xd5\x0b\xe8\xba\x14\xd6=H!\xa4\x10R\x08)\x84\ +\x14B\x0a!\x85\x90BH!\xa4\x10R\x08)\x84\x14\ +B\x0a!\x85\x90BH!\xa4\x10R\x08)\x84\x14B\ +\x0a!\x85\x90BH!\xa4\x10R\x08)\x84\x14B\x0a\ +!\x85\x90BH!\xa4\x10R\x08)\x84\x14B\x0a!\ +\x85\x90BH!\xa4\x10R\x08)\x84\x14B\x0a\xd1\xb1\ +\x10\xc3\x9a-\xa9\xb8\x98\x1f\xe0\x94\xe5\xd4-\xd0\x01\x1b\ +\x00\xa8\xf6\xed\x22\x1d(\x80\xd8`\xcb\x0e\x89\x8e\xa1\xb5\ +#v\xc3\x9a\xfdz\xbeb\xf4\xfa\xfcC\x06z\xd2\xcc\ +\xad\xdb\xf4\x8e\xf5\x22\xf28D^\x01\xca\xd7\xec'\x06\ +FR\x99@\xac\xe8\x9d\xa1\x90f(`\x12m\xec\x05\ +\xb1rE|\xb2D\x22$JD\x8b\x158.\xce\x10\ +i\xe2\xe8?T(C\xe9fD\xddxA6*\x11\ +\x22P\xa0:5\x8f\xf0\x85\ +\xca6\x8a:E\xa9\x95rW\xe9\xa8\xf6\xb5\x0b\x91\xa2\ +\x13\xfe\xb0%(\xfa\xea^A\xb4\x0d%H\x15\xd4u\ +\x1dk\xb7\x0c\xcd\x0e\xc5\xa8\xde\xd5\x96\xab0T\x1dT\ +\xdey\x13\xda4\xed\xb2u\x16\xd0\xa0fp\x03\xe2\x0c\ +\xa1Pe\x10\xa0'K2\xc4|\xf9kc\x0bO\xc1\ +\xd2\xa8\x89NH\xad\x93\x01\xbcv\xd6\x80\x90\x9a\xb3\x8b\ +P#\xae\xe6\xe4Ai\xba\x5c(\xe0\xe1\xf2DaO\ +t\xfac\xb5\xe4\xe8\x11y0b\x01\x03\x83HD\x87\ +i\xf1f\xa4\xca$\x19\xd2Z$\xba\x84\xd8\x97\xab\x19\ +\xd9\xc3\xe3Q%\xd5^]\x986\xe1f($\x91\xb8\ +\x18\x97\xa1}\xb2\x84\xf6#\xa4\x9a\x89\xc9PU\x18Q\ +PN\xb4(\x95\xf9\x09\xec\xa7f\xc8\x84\xb5\xa67\xc2\ +\xf9\xb5)1\xf2\xd4\xdaS \x9d+T$pSk\ +\xd1Ly8\xac\x87g+\xa2\xe5Q\x091=5\x83\ +\xac\xbe\x86\x5c\xab\xb0A\x9aD\x96\x13,\x14\xa4j<\ +\xd5Le|\x94\x86\x8c\xbc\xcb\xc7S\xb8\x19\xc4(k\ +\x90\x89\xcb\x14u\x14O\xd4\x90k\x177JN%\xf6\ +\xd1k9\xd7\x5cU!$\xb2:\x03\xa9\xd1K\x22F\ +\xff\x06\x0a\x89\x14N\xa5r\x5c\xdbq\x86B\xe8\xc87\ +\xa8\xc6\xc9\xc4p\xfd\x06\xddH\x86\x06\xe5\xd7\xc8\xc4\x19\ +\xd4AU\x0f\x06J\xb7\x22PC\xb7\x22\xa2\xa8\x09U\ +g\xa51\x91\xdc\xa9v\xd1PU\xc0`\x17@g\x02\ +m\x01h\x010\xe5\xef\xca\xc7\xc0\x98\xd8=9$4\ +\x06\xa6\x0b\x81)\x91\x02\xfcq\xa8\x9e\xf2:\x98\x04\x8c\ +\xf5\xf5\xf5\x0d\xf4\x8d\x0d\x0c\x8c\xcd\x8d\x0c\x8d\xcc\xad\x9b\ +\x19\x1b7\xb3naiimi\xd9\xc2\xdc\x98\x80\xfa\ +\xafn`&FF&\xa6&f\xa6\xa6fV\xa6\xa6\ +\xa6V\xe8`j\xa5\xaab^\x1f\x06\xca\x9f\x81\xb9>\ +T~(\x15s\x02\x14s\x8cj\x8e)\xff\x82\x86\xd2\ +\x95\xc7\xb1nPK=\x8c\x80\xdaqT\x80Qhz\ +t\x86\xbe\x81\xa1\x11\xf6z&\x06(TM\xa6\x19\xc0\ +h\x18\x95B\xa3\xe81\xe8\xfazTcO\x98iN\ +\xa5\xb5\xb6`\xe9\x05\xf7\xe1Z:\x0d\x1f\xefA\xb7\x9a\ +\xb3r{H\x9b\xb6\xd6qG\x92=\xbdd\x13.\x84\ +2\xda\xe5\xc6\x17\xddz\xca\x93{\xdb\xac\xda1\xb1}\ +\xd8\xdc\x04~\xf8\xd1\xd5\x0a\x9f\xe6\x17\xfb\xde\xc6\x9f\xed\ +\x9ct\xecR\xc6\x9d\xe7\x11\xce\xf3\xd6|\xbd\xeb\xbb\xe3\ +\x97\xff\xf7\xe2\xfb\xdd'\xae\x14\x14'\xa6dN\x9e\xbf\ +v\xcf\xc9\xabwK|#\x93R\xb3\xa6,X\xb77\ +\xff\xda\xbdRs@\xa1@mi\x84N\x0c\xba\x9e7\ +\xa1Bk\x96\x05\x0dj0\xdc\xc9R\xcfc\xfc\x1c+\ +\xa4\xc1\x91\xb8\x0bE\x9em\x93o\xc9&\xe4\x86\xc6[\ +\xf3\xe4^O\xdb\xd1\x91\x02\x8c\xf6\xdeG/B%V\ +7\xe7\x87\xf7\xf5Q\xe0\xb7\xabUx\xbb\x06\xce5*\ +(\xff\x04\xc6TB\xa69\xe8\x06\x8a\x13r\xa3\xdbu\ +l\x9b\x1b\xdd=\xbamn\x5cnt\xdbyk\xd4\x84\ +\xde\xca\xdf\x8a\xfb\x1a\x89\xf0\xbey\x8e\x0a\xc3a6\x89\ +g\xfa\xf5{\xba\x7f\xdd\x8e\xeei\x17\xae\xb4?\xeaj\ +vq\xf4\x9a\xcc\xb2- \xd8\xc2x\xe2\x91~\xe5\xd9\ +n+\x0a%\x07\x0e;\xde\xa98\xbd}\xa7(\xbf\xe4\ +\xa5\xcf\x98\x07\x8f\x8b\xa2{\x9df\x1aph\xcdSn\ +\xffp\xe4\x87Q\xbb\x95`C\x7f\xdf\x82A#\x16\x1c\ +\xec\xf5\xabC\xeb\xb6\xebD\xfb\xf7ms\xef\xd2*\xa0\ +\xdb\xc39\xe3iQ\x97]G\xd8\xcc\xd8\xb4\xde#_\ +\xf0\xd7\xbaI\xf3\x0a\xd7l\xba}7i\xb6W\xc9\x8f\ +\xb2\x7f\x0a\x13-\x08\xcd\x94@y\x81\xd0\xd7\xfb\xb9G\ +^\xf8\xf0\xd5\xcb\x1e\xdb]\xaaJ\xecx\xc5\xd2\xe9\xde\ + \xf9\xb2\x91K\xfd\xa7\xf0\xbd\xe6}\xbfn\xe2`\xeb\ +\x19\x17V^m\xb6\xa6\xd5\x86\xbeO\x8bF\x8f\x92\xf3\ +z\xfa\xb3\xc75\xa3\x85l\xb3\xb9\x90\x9a\x19\xb0\xa1\xa3\ +\xebH\xbb\xb3\xebv\x8f\xf3^\xe5egJ\xd9\xfa\xed\ +\x933\x07z,\xbe\xb6\x0f\xdb:\xee\xe7\xaf;\x17\x89\ +W\xe6\xfd= \xec\xe4\x94\x97\xdft\xa4:\xdee\xfb\ +\xadu`wNm\xd6q\xbf\xf5\xbf\xdf\x7f[\x11Z\ +\xb69\xa1\xe7\xc8\xa51\xbff?\xcax\xde\xf2b\xfc\ +\x8fP\xadu\xca\x8b\x84R\xec\x11\x0a\xce\xf4%\x97^\ +\xf4\xda\x12\x18\xd5Y\xeel\xbb\xc8\xfaq\xe6\xccV\xe1\ +\x7f\xeb%_\x8f\x7f8\x82w\xdc,w\xa9\xe9\xdc\xa1\ +]F\x0f:r#\x90\x11\x9e\xeel\xf3\xe3\xe4c\xbb\ +\xa4\x15\xae\x0e_O\xef;k\xc3\xadG\xee7w=\ +|8o\xdf\x98\xd96]\x0fKs\x97\xfc\xfb\xf4q\ +\xfe\x98k\xdfveK\x13\x96/\x10\xcd3\x1cR8\ +\xb1\xf5_/\x1em\xfd_\xb1q\xd2\xd5~\xf6\x0f\xcf\ +\xcf\x9c\xa8\x04mwZ\xc4\xcd\xd9\xde\xc1\xf7\xc6\xd5Y\ +\xab\xbc\x87?\x0b\xfe\x8a\xed}\xf1\x17l}\xe1\xf25\ +\x85\xcfr\xf3`+v\x1f\xab\xbc\xa4jb\xc3\xaa\x9c\ +')\xd7fM\x9c\xd2\xda\xba\xed\xbc;C\xc6\x8f\x8e\ +\x18\x10\x10\x91\xbd\xb7lw\xe2 \x8b\xe9\x9b\xb6(A\ +\xf4\xb7Y\xc7)\xb9\xcbF\xf7_M\xa9\xec\xb9/G\ +\xf84\xabh\xd85Q\xc6\xce\xfb\xdb\xb7\x94\x01\xab\xdc\ +\xf8Es/\x19\xd9\x1f\x980\x88z\xe3\xd2\xf9\x13\x1b\ +\xbfo~=\xb4\xd4=\x7fzo\xc6\xed\xbd\xdf\xf5\xdc\ +L\x1f\x9c\xb5\xf3\xf7W\xf7\xb6GG\x0f\xdf\xd1\x7f\xf6\ +\xaf\xbf\x9aE\xccdl\x8f\x88]\xbb6\xbe\xdf\x96\x89\ +\xc1e\xe5\x1b\xd6\xacS^~W_\xfbC5\x9e\xb5\ +&\xce\xd8A\x80Xy\xa0\x8f \x05\x03>\xbc\x18J\ +\x86\x0bC&\xbc4J\x83q\x05\x0cr\x22\x86.\x83\ +\x9a\xbf\xa7\x04\x13\x84\xc2\x1f\x13.\xc7\xdc\x01\x0b\xf8\xaa\ +\x07F\xe3\xa8\x9e\x02\xb1\x84\x02\x17\x0b\x22x\xfd\x81\xbe\ +\x81\xd2\xaf\xff\x00&\xe3\x1c\x5c,\x18\xc05\x0a\x9c\x16\ +\xb9<\xb94&>\x22\x81\x98D\xc3C\x99\xe8C)\ +\xa0\x16J\xae\xaa\xa6\xa1K.Q\xb1L&h\x18\xcc\ +yR\x19\x9cd\xb0X\x18\xf7\xe4\xe3r8-c\x93\ +`\x5c\x98\xa5\x90\x22:\x1a\xe3\xad\x92\xd3Q\x9c\x82F\ +w+\x19T\x10\xc6[\xa0x\xaa*\xde\x85(\xa3\x8a\ +\x07\xa18_$\x86\xcb\x01\x0a\xd2Y\xca\x17\xf1Q\x1c\ +}\x11jjf\x06Z&P{\xc2\xf8\xe4L\x01\x9e\ +\x05\xe3\x97a\xbc\xad0C$\x80q\xb4\x02\xb5\x12\xe1\ +\x5c\xb8t!\xe6\x8f\xb6\x0a\x9c\x97\x06\xe3h\x05h,\ +K\x88\x83W24\x7f8\x07\x1b\xa7j\xc5\x93\xb5\xe2\ +\x0a81#\xa3B%\xd2\x11\xc4\x0c\xc6\xec\xc0\xeb\xc8\ +d\xf9\xf9\xb1\x99Qx\x96\x10W(\x5cb\xe1\x05;\ +W\xc6g\x86JDR\xae\x18\xae\xefU6\x13\xb0x\ +\xe3#4Z\x8ezgf=\x81\xdaV\x15{\xde\x87\ +h3\xcc\xe6l\x0d\xad\xaer\x92Up~\x85\xab}\ +\xea\xec\x1aZ\xf2\x22\x00\xf6~\x0d@\x8b?khm\ +W\xc0>\x0a\xdbm\xcfy-{lP\x7f\xd1\xfa\xf8\ +\x94\x00\xe7\xb9\x22\x87V\xe3\xbd\x05\xea\x01-y\xae\x88\ +]\xb5{\x98a\xaa\x15\x0c\x13\xf9\x8d\x07\xd7)\x192\ +&\xbc\xfe\xe2\xe1L\x97\xd7;\xf1\x07W\xac[\x8f.\ +qx\x0a\x8e\xae\xf3pf\x22\xece\xf02\x156\xb7\ +\x98/ \xbe\xa3%\x10\xbf\xad\x11?\xb0\xdakP\xf5\ +k\x08\xcb5\xaf\x80\xd5\x10W`v\xde\x0aP\x1f\x9f\ +\x054K#@\x1d\xb8\x0c\xe6`\xd5\xed\xd6\xd3 \x11\ +\xa03/\xa9\xd5=U\xbf'P\xc7\xe5\x04e\x16:\ +\xc8\x05\xc4\x22\x1a\x84\xc6%0y\x19\xb2LU\x1e\xb1\ +n\xd6\x83\xd7\x88\xcd\x80\x15\xb0\x85\xd7\xb3m@\x07x\ +u\xe7\x01\x07\x99\xae \x08\x84\x83\xee\xa07\xbc\xbe\xed\ +\x0f\x06\xc3+\xda4 \x82W\xb7Y`\x14\x18\x0f&\ +\x83\xe9`6\xf8\x0e,\x06\xcb\xc1\x1a\xb0\x01l\x05;\ +\xc0^\xf0#8\x02N\x823\xe07p\x05\x5c\x077\ +A\x01\xf8\x17\x14\x81\x12P\x09\x172\x0c\xcc\x04\xb3\xc4\ +l\xb1VX;\xac3\xe6\x81\xb1\xb1@,\x1c\xeb\x89\ +\xc5a\xfd\xb1\xa1X*&\xc62\xb0Q\xd8Dl:\ +\x96\x8b-\xc6Vb\x1b\xb0\xed\xd8~\xec\x08v\x1a\xbb\ +\x80\xfd\x81\xdd\xc2\x1e`\xcf\xb0\x0a\x0a\x95bL\xb1\xa2\ +\xb4\xa4\xb4\xa7\xb8Q\xd8\x94`J\x0fJ\x02e\x10%\ +\x952\x9c\x92C\x99D\x99IYHYE\xd9L\xd9\ +C9B9C\xb9B\xb9I\xf9\x97RL\x05T#\ +\xaa\x0d\xb55\xd5\x85\xca\xa6\x86R{S\x07PS\xa8\ +2\xea\x18\xea4\xea|\xea*\xeaV\xea\x01j>\xf5\ +\x12\xf5&\xf5\x11\xb5\x9cF\xa7Y\xd2\x984\x17ZW\ +Z\x14\xad/\x8dG\x1bN\x1bC\x9bA[L[O\ +\xdbC;N\xbbD\xbbE+\xa2\xbd\xd23\xd1s\xd0\ +\xeb\xac\xc7\xd1\x8b\xd6\xeb\xa7\x97\xaa\x97\xa57Yo\xbe\ +\xdeZ\xbd\xddz'\xf4\xae\xe8\x15\xe8\x95\xd0\xe9t\x1b\ +\xba3\xdd\x97\x1eE\xefO\x1fF\x1fI\x9fA_J\ +\xdfF\xff\x99~\x81~\x87^\xcc`0l\x19\x9d\x19\ +\x01\x8c\xde\x0c.C\xc1\x98\xccX\xc4\xd8\xcc8\xcc\xb8\ +\xc8(`\x94\xe9\x1b\xe9\xb7\xd2\xf7\xd0\x8f\xd0\x1f\xa0/\ +\xd6\x9f\xa0?_\x7f\xa3\xfe!\xfd\x8b\xfa\xf7\xf4+\x0d\ +\xcc\x0c\xda\x19p\x0cz\x1b\xf0\x0dF\x18\xcc2Xc\ +p\xc0\xe0\xbcA\x81A\xa5\xa1\xb9\xa1\xb3a\x80a\x82\ +\xe10\xc3\xf1\x86\x0b\x0d\xb7\x1a\x9e0\xbca\xf8\xdc\xc8\ +\xc8\xc8\xc9\xc8\xcf\xa8\x8f\x91\xc0h\x9c\xd1B\xa3\x1f\x8c\ +N\x19\xdd2*7\xb60\xeed\x1cj<\xd08\xc3\ +x\xa6\xf1:\xe3\x9f\x8d\xff0~nbb\xd2\xde$\ +\xc8d\x80\x89\xc2d\xa6\xc9\x06\x93c&\x7f\x9b\x94\x99\ +Z\x9a\xba\x9aF\x9b\xf2M\xc7\x9a\xe6\x99\xee1\xbdh\ +Z\xd8\xcc\xa0Y\xbbf\xc1\xcd\x067\xcbi6\xbf\xd9\ +\xcef\xe7\x9b=230ko\x16j\xc65\x1bc\ +\x96g\xb6\xdf\xec\x9aY\xb1\xb9\xa59\xcb\xbc\xb7\xb9\xc8\ +|\x86\xf9F\xf3\xd3\xe6\xf7-\x18\x16\xed-\xc2-\xf8\ +\x16\x93,V[\x1c\xb3\xb8cI\xb5lc\x19j\xc9\ +\xb3\x9ch\xb9\xc6\xf2\x84e\x81\x15\xdd\xca\xd9*\xdaj\ +\x98\xd5t\xab-V\xe7\xac\x8a\xac-\xac\xbd\xac\x13\xad\ +\xb3\xad\xf3\xac\x7f\xb2\xbeiC\xb5io\x13m#\xb4\ +\x99e\xb3\xc3\xe6\xaaME\xf3\x96\xcd\x83\x9b\xe3\xcd\xbf\ +i\xbe\xb5\xf9\xc5\xe6\xa5-\xec[\x04\xb5\xc0[Lk\ +\xb1\xad\xc5\x95\x16\x15\xb6L\xdbp\xdbt\xdb9\xb6{\ +m\xff\xb2\xa3\xd9u\xb2\xebc\x97e\xb7\xcc\xee\x84\xdd\ +#{+\xfb\xae\xf6<\xfbi\xf6;\xec\xfft\xa08\ +tr\x88s\x18\xe9\xb0\xda\xe1\xacCqK\xc7\x96\x91\ +-\xa5-\x17\xb5<\xd6\xf2\x91\xa3\x8dc\x90\xe30\xc7\ +y\x8e\x87\x1c\x1f\xb4\xb2l\x15\xd8J\xd0j^\xab\xc3\ +\xad\x1e2\xad\x99\xc1L!s!\xf38\xb3\xa8\xb5C\ +\xeb\xa8\xd6\x19\xadW\xb6>\xd7\xba\xd2\xc9\xd9\xa9\xaf\xd3\ +\x04\xa7mN\x7f\xb51l\xc3n\x93\xd2f^\x9b\xa3\ +m\x8a\xda\xb6j\x1b\xd3vT\xdbMm\xfflg\xd0\ +\x8e\xdd.\xad\xdd\x82v\xf9\xedJ\xdb;\xb7Oj?\ +\xa5\xfd\xde\xf6\xf7\x9d[8G;\xe78or\xbe\xd1\ +\xc1\xa4C\xb7\x0e\xc3;\xac\xeap\xb9#\xbd#\xbbc\ +z\xc7\xa5\x1d\x7f\xebD\xe9\xe4\xdd)\xadS^\xa7\xf3\ +\x9d)\x9d}:\x0b:/\xed|\xa1\x8b^\x17\xbf.\ +\xe2.\xab\xba\x5cs1v\x09v\xc9t\xd9\xe4r\xcb\ +\xd5\xc6\xb5\xa7\xeb\x04\xd7\xbd\xae\x85nm\xdd\x06\xb8\xcd\ +q\xcbw{\xe5\xee\xed.t_\xe3~\x9de\xc1\xea\ +\xce\x9a\xc0:\xc0z\xe6\xd1\xc9\x83\xe7\x91\xe7q\xd9\xd3\ +\xc43\xc2s\xac\xe7>\xcf\xa7^\x9d\xbdp\xafe^\ +\xbf{[z\xc7xO\xf1>\xea\xfd\xd2\xc7\xd7G\xe6\ +\xb3\xd5\xe7\x81o[\xdf\xa1\xbeK|\xaf\xb1\xad\xd8\xb1\ +\xec\x19\xecS~z~!~c\xfd~\xf4+\xe7\xf8\ +p\x14\x9c\x1d\x9c']]\xba\xa6w\xdd\xd8\xf5\xbe\xbf\ +\xb3?\xee\xbf\xc6\xffN\x80S\x007`e\xc0\xcd@\ +f\xe0\xd0\xc0\x15\x817\xbb\xb5\xee\xc6\xed\xb6\xaa\xdb\xed\ +\xa06A\xfc\xa0\xb5A\xf7\x82;\x06\x0f\x0b\xde\x1c\x5c\ +\x18\xe2\x1e\x22\x0b\xd9\x1dR\x1a\xca\x09\x1d\x1d\xfas\x18\ +5,2lZ\xd8\xb9p\x8b\xf0\xbe\xe1\x8b\xc3\xff\x8e\ +p\x8aH\x8d\xd8\x14Q\x14\xe9\x1d92\xf2\xe7(\xbd\ +\xa8\x1eQs\xa2\xaeE\xb7\x8c\xe6Eo\x88.\xea\xee\ +\xdb}t\xf7\xe3=\x8c{\xc4\xf7X\xdc\xe3v\xcfN\ +=e=\x0f\xc4Pb\xba\xc7\xcc\x8d\xb9\xd1\xab]/\ +q\xaf\xbd\xbdA\xef\xe8\xdes{\xff\x15\xeb\x1c;<\ +\xf6`\x1fz\x9f\xd8>y}\xee\xc6\xb1\xe2F\xc5\xe5\ +\xc7[\xc6\x0f\x89\xdf\x18_\x92\x10\x920+\xe1z\xdf\ +\x0e}3\xfa\x1eMl\x9680qCbiRX\ +Rn\xd2\xcd~n\xfdF\xf7;\xd3\xdf\xae\xbf\xa0\xff\ +\xbe\x01\x8c\x01\x89\x03\xd6\x0e(\xfe*\xfc\xab\xef\xbe*\ +\x18\xe8=p\xf2\xc0\xab\x83\x9c\x07e\x0f:=\xd8n\ +\xb0p\xf0OC\x9a\x0d\xe1\x0e\xd99Toh\xd2\xd0\ +\x8dC\xab\xb8\xbd\xb9\xab\xb8\xc5\xc9\xd1\xc9K\x92\x8bx\ +\xa1\xbc\x05\xbc\x7f\xf9A\xfcy\xfc\x07x\x00\x9e\x8b\xdf\ +K\x09H\xc9M\xb9\x9f\x1a\x90:7\xf5AZ\xb7\xb4\ +\xf9i\x8f\x04\xa1\x82\xc5\x82\xa7\xc3\xa2\x86-\x1fV\x9a\ +\xde;}]\xbaR\x98$\xdc&\xd2\x17\x0d\x15\xed\x17\ +[\x88\xd3\xc5\xc7%\x8e\x92l\xc9\x05ig\xe9d\xe9\ +\xcd\xe1\x9c\xe1\xdf\x0d/\x92\xf5\x90\xad\x95c\xf2A\xf2\ +}\x0a+\xb8\x98:\x9b\xd1!\xe3\xeb\x8c[\x99\x81\x99\ +y\x99eY\x89Y;\xb3\xcd\xb3\xc5\xd9gGt\x1a\ +\xf1\xcd\x88{9\x119\xdf\x8f\xa4\x8d\xe4\x8d<:\xaa\ +\xf5\xa8\xf1\xa3n\x8d\x0e\x1e\xbdr\x0c6&y\xcc\xd1\ +\xb1m\xc6N\x1a[0.r\xdc\xfa\xf1\x86\xe3\xd3\xc7\ +\xff:\xc1}B\xee\x84\x17\x13\x93&\x1e\x98\xd4r\xd2\ +\xb8Iw\xbe\x8e\xfcz\xd3d\xd3\xc9\xb2\xc9\xd7\xa6t\ +\x9d\xb2|*m\xaa`\xea\xb9o<\xbfY\xf4\xcd\xab\ +i\xfci\xbfLw\x9f>\x7fz\xd5\x0c\xde\x8c_\xbe\ +e}\xbb\xf0[\xe5\xcc\x94\x99\xe7f\xf9\xccZ6\x9b\ +>[<\xfb\xea\x9cns\xd6\xe7\x9a\xe7\xe6\xe4\xde\x99\ +\x1b3w\xcf<\xe6\xbci\xf3^|7\xe4\xbb\xd3\xf3\ +\xbd\xe6/_`\xb8 c\xc1\xcd\x85=\x17\xee[\xd4\ +v\xd1\xecEU\x8b\xd3\x16_\xc9\x0b\xc9\xdb\xb6\xc4a\ +\xc97KJ\x97\xf2\x97^\x5c\x16\xb4l\xeb\xf2\x96\xcb\ +\xa7/\xafX!X\xf1\xfb\xca\xc8\x95{V\xb5_5\ +\x7f5}u\xe6\xea\xbbk\x12\xd7\xe4\x7f\xcf\xfe~\xc3\ +Z\xbb\xb5\xd3\xd7\xbe\x5c'^ws}\xdc\xfa\xe3\x1b\ +|7l\xd8\xe8\xb0q\xd6&\xca\xa6\x8cM\x0f6\x0f\ +\xdc\xfc\xdb\x96\xb0-\xfb\xb6\xbal]\xb9\xcdf\xdb\xf4\ +\x1f\xc0\x0f\x19?<\xdc>t\xfb\xd5\x1d=v\x1c\xdd\ +\xc9\xde\xb9uW\xbb]Kv[\xee\x9e\xb6\x07\xdb3\ +bO\xd1\xde\xb4\xbd7\xf7\xf5\xdfwa\x7f\xf7\xfdG\ +\x0ft=\xb0\xfb\xa0\xeb\xc1u?\xb6\xfe1\xef'\xeb\ +\x9ff\x1d2<4\xe9\x90\xf2p\xce\xe1\xe2\x9f\xa5?\ +?:\x92z\xe4\xce\xd1!G\xaf\x1f\xebw\xec\xf2\xf1\ +>\xc7\xcf\x9d\xe8q\xe2\xd4\xc9\x88\x93\xc7\xf2\x83\xf3\x0f\ +\x9f\x0a8\xf5\xe3i\xce\xe9\xfd\xbf\xb0\x7f\xd9{\xc6\xe7\ +\xcc\x9e\xb3\xdegw\xff\xea\xfd\xeb\xees>\xe7\xf6\x9c\ +\xf7=\xbf\xef7\xbf\xdf\x0e\x5c\xf0\xbfp\xe8b\xb7\x8b\ +G.\x85]:y9\xfa\xf2\x99+\xbd\xae\x5c\xb8\xda\ +\xf7\xea\xef\xd7\x06^\xbb\xf9;\xff\xf7\xfb\x7f\x08\xffx\ +\xfag\xe6\x9f\x95\xd7\xc7\xdd\xd0\xbb1\xed/\xb3\xbf\xe6\ +\xff\xed\xf0\xf7\xaa\x7f:\xfe\xb3\xed\xa6\xcf\xcd\x9fn\x85\ +\xdd:{;\xfe\xf6\xf5;\xbc;\xff\xfeO\xfe\xbf\xaa\ +\x82IwM\xee\xce\xbf\xd7\xea\xde\x86\xfb\x1e\xf7\x7f|\ +\x10\xf1\xe0\xb7\x87_=,\xf8W\xfao\xe5\xa3\xc9\x8f\ +\xcd\x1f/)\xecP\xb8\xebI\xd0\x93\xb3E\xfd\x8a\x0a\ +\x9e\xca\x9e*\x9f\xcdxn\xfb|\xdd\x0b\xaf\x17G\x8b\ +c\x8b\xff.\x11\x95T\x96N+\xb3-[_\xce.\ +\xcf\xafH\xaa\xb8W\x99U\xc5\xa8Z\xf8\xb2\xe3\xcb\x03\ +\xafz\xbc\xba\xa1\x14U\xdf\x8f&A\x82\x04\x09\x12$\ +H\x90 A\x82\x04\x09\x12$H\x90 A\x82\x04\x09\ +\x12$H\x90 A\x82\x84\x1a\xb1\xb1\xb1\xfc\x9c\x9c\x9c\ +\x85zzz\xf4\xf7\x97&\xa1K\xb8\xba\xba\xfa\xe5\xe7\ +\xe7\x97\x9f={V\xb9l\xd9\xb2\x13VVV\xb6M\ +\xad\xd3\xff\x17\xd8\xdb\xdb;\x1d>|\xf8\x09\xf2\xbd&\ +\xec\xdd\xbb\xb7\x00\xb5IS\xeb\xf6_\x07\x1ak\x0e\x1e\ +<\xf8P\xdb\xf7\x9ap\xf2\xe4\xc9\xb2\xb8\xb8\xb8\x94\xa6\ +\xd6\xf1\xbf\x8cE\x8b\x16\x1d\xae\xcb\xf7\xda\x01\xce\x09\x8b\ +\xe8t:\xa3\xb1\xb2\xac\xad\xad\xed\xc2\xc2\xc2\xfa\x0a\x85\ +\xc2)s\xe7\xce\xdd\xb7q\xe3\xc6+\xfb\xf6\xed\xbb\x0b\ +\xdb\xb9\x14\x05\x14\xdf\xb4i\xd3\xd5y\xf3\xe6\xed\x17\x89\ +DS\xc3\xc3\xc3\x13Q\x1d]\xd8\xf99\x22))I\ +\xf4>\xdfk\x02\x9a\x13>\xc4\x17666\xf6C\x86\ +\x0c\xc9Z\xbe|y\xfe\x993g^\xd5W\x9e&\xa0\ +:+W\xae<=t\xe8\xd0\xec\xe6\xcd\x9b\xb7\xfc\x18\ +~h*\x8c\x1c9rqC|\xa1\x9e\x138\xf5\xe1\ +\xed\xe2\xe2\xc2\x9e\x16X,V\xc0\x81\x03\x07\xee7\xc4\xfe\xd7\xe7\ +\x044\x8f\xa31\xe2\xd8\xb1c/>\xb6\xef5\xe1\xf8\ +\xf1\xe3\xc5\xc9\xc9\xc99\xba\x98\x9b\x9a\x1a\xa8\xdf\xa2q\ +\xb6!\xf6k\xe6\x046\x9b\x1d\xb1u\xeb\xd6?>\x95\ +\xdf_\x0f\xdb\xb6m\xbb\xce\xe1p\xa2\x9a\xda\x87\x8d\x05\ +\xecG\xfac\xc6\x8cY\xd6\x10\xdb\x8f\x1e=\xfa\xbc\xa9\ +\xfc\xfez@k&\x0aDS\xfb\xb1\xb1h\xe8\x9c\xf0\ +9\x85\xdc\xdc\xdc\xbd&&&fM\xed\xc3\xc6\xe2C\ +\xe6\x84\xcf%\xa0\xf1\xc8\xc9\xc9\xa9sS\xfb\xb0\xb1\xf8\ +\x909\xe1s\x09h\x5c\xf4\xf5\xf5\x0doj\x1f6\x16\ +\xea9aiS\xfb\xf3C\x02\xba\xa6\xfe/\xb4\x01B\ +ff\xe6\x5c]\xf9\x05]\xc7)\x14\x8a9h\xcd\x02\ +\xc7\x89N\x86\x86\x86&0\x18;::\xb6\xdf\xb3g\ +\xcf\x1d]\xb7\x01Z\x9f5\xb5\xff\x1a\x03??\xbfH\ +dGc}\xb1s\xe7\xce\x9b!!!\xf1\xefZ\xa3\ +\xa0\xb1\xfbc\x9c\x07\xc8\x86O\xe93]\xa1S\xa7N\ +\xde\xe8:\xa7\xb1>@\xcfu\x18\x0c\x86\xc1\xfb\xe4}\ +\x0c\xff\xa3\x80l\x80\xb6x}\x0a\x9f\xe9\x0a\xe8\xfa~\ +\xff\xfe\xfd\xf7ta?\xba\xb7Y\x9f\xfb6\x1f\xcb\xff\ +( [\xbe\x94{xFFF\xa6\x1b6l\xb8\xa4\ +K\xfb\xd1\xf3\xb5\xb8\xb8\xb8\xd4w\xc9\xfd\x98\xfeGa\ +\xdd\xbau\x17\xd0|\xf3\xa9\xfc\xf8!@\xdfk\x9a=\ +{\xf6\xae\x8f\xe5\x03t\xdf\xf5m\xf7l>\xb6\xffQ\ +\x989s\xe6v\xadoR}v\xe0\xf1x\xa3>\xb6\ +\x0f\x96-[v\x12=\x1bx]\xf6\xa7\xf0?\x0a\xe8\ +\x99DS\xf8\xf6}pww\xf7\xff\xe5\x97_\xaa>\ +\x85\x0f\xd0\x9c\xe0\xe6\xe6\xd6U[\xfe\xa7\xf2?z\x96\ +\xd0\xa5K\x17\xdf\xa6\xf2s]@c>Z#6\xd6\ +\xb6\x86<\xe7BsB|||\xf5\x17\x7f>\x95\xff\ +Q\xd8\xbau\xeb\x9f\xfa\xfa\xfa\x86M\xe9sm\x0c\x1f\ +>\xfc[]\xd85q\xe2\xc45\x0d]7\x8d\x1a5\ +*\x0f\xcd\x09\x9f\xd2\xff(\xa4\xa6\xa6\x8eoj\xbf#\ +\xa0{\x86\xba\xba\x97\xec\xe9\xe9\x19\x84\xc6\xf6\x15+V\ +\x9cjH=\xf4\x8cx\xc7\x8e\x1d\xff|J\xff\x1f:\ +t\xa8\x10]{7\xb5\xff\x07\x0f\x1e\x9c\xa9\x0b{N\ +\x9c8QB\xa3\xd1\x88\x0f\x96\xa3\xfe\xd7\x86\xaelY\ +\xbat\xe9\xf1\xba\xf8\xa3u\xce\x87\xce\x09o\xd3y\xe1\ +\xc2\x85\x87t\xa1\xf3\xe6\xcd\x9b\xaf}<\xcf\xd6\x0fh\ +\xdc\xd0\x85-\xb3f\xcd\xda\xf96\x19\x1f:'\xd4u\ +\x9d\x800c\xc6\x8cm\xba\xd0\x19\xd9\xfe\xf1<[?\ +\xe8j\xdeC\xd7U\xef\x92\x83\xfa3\xea\xd7\x0d\xe1Y\ +\xd7u\x02B^^\xdeQ]\xe8\x0cm\xff\xfb\xe3y\ +\xb6~\x98?\x7f\xfeA]\xd8\xb2}\xfb\xf6\xbf\xea#\ +\x0f\xad\xf95\xef[\xd7'\xa09\x01\xcd#\xda\x058\x1cN\xb4.\xae\x0b\xb2\xb2\xb2\xbe\xfb\x90\xf7\ +\x0e\xd039\xf4\xeePc\xe5#\x1b\xbe\xd4=\x02\xdd\ +\xbbw\x1f\xa8\x8b6@\xeb\x9a\x9e={\x0e\xd1<\x1f\ +x\x17\xd0\xfa5&&f\xa8.\xde\xc1\x86\xba\xbfD\ +6|\x0a_},DFF\xf6\xd7\xd5\xf51z\xe6\ +\x84\xae{\xd0\xfeR\xb4O\x0f\xbdg\x8d\x02\x8a#\x1a\ +Z\x7f\xbd\xbe\x1f\xbc\xb1}\xbf\xb1\xf3\xd0\xe7\x80\xd0\xd0\ +\xd0\x84\xa6x>\xa5\xab\x80\xde\xe3\xfe\xdc\xd7=\xefC\ +PPP\xac.\xde\xc5m\xaa\x80\xf63|)\xeb\x9f\ +\xb7\xa1c\xc7\x8e\x9e\xe8\xfa\xaa\xa9}\xf9\xa1\x01\xcd)\ +\xe8=\xa7\xa6\xf6cc`fff\xb5`\xc1\x82\x9f\ +\x9a\xda\x97\x1f\x1a\xd0\xf3\x84/}N\xa0P(Tt\ +\xaf\xb3\xa9}\xa9\x09h\xbf}C\xaf\x19\xff\x0bs\x02\ +\xbaF\xf8\xd4\xefMi\x07\xf4\xce\x85\xbf\xbf\x7f\x0f\xa4\ +\x0b\xba\x97\x8f\xf6%7\xa4\xbezNphj?6\ +\x06M\xb1\xff\x1d\xc9\xaak\xff;J\xa3\xfd\xf9\x0d\xe1\ +\x85\xe6\x04\xb4\xe7\xb3\xa9\xfc\xa7+\xa0\xb5\xc5\xd7_\x7f\ +\xbd\xf6S\x8c5\xef\xeb\xb3\xe8;\x15\xe8{\x15\xf5\xe5\ +\x89\xe6\x04\xb4\xf7\xf9S\xf9\xeac\x02\xad\x91\xc6\x8f\x1f\ +\xbf\xb2!\xf6\xbf/\xa0\xfbp\x13&LX\xd5\x90}\ +D\xe8\xdeQC\xe7\x84\xcf\xf9\xdetCannn\ +\x8d\xbe3\x84\xd6J\x1fr\xed\x86\xea\xa0\xf7\xac\xfa\xf5\ +\xeb'\xb6\xb0\xb0\xb0\xf9\x10\x1d\x1a:' Y\xba\xf6\ +\xc3\xe7\x00SSSs4W\xa31\x1b}\xa3\x06=\ +w\xdf\xb2e\xcb\xefh\xec\x85\xe1\x01\x8a\xa3g\xeb\xdf\ +|\xf3\xcd&T\xa6k\xd7\xae\xddQ\x1d]\xc8F\xf3\ +S}\xee\xe3}N\xcf\x83\xff\x8b\xe8\xd3\xa7\x0f\xfe\xb6\ +1\x11\xb5\xfd\x97\xbe\x16\xfd\x12\x80\xbe\xeb\xf8\xfa\x9c\x80\ +\xdeM\xfd\xd2\xd7\xa0_\x12\xd0\xf7M5s\x02\x9a\xd7\ +\xffK\xdf4\xfbR\xa0\x99\x13\xd0w\x7f\x9bZ\x17\x12\ +$H\x90 A\x82\x04\x09\x12$H\x90 A\x82\x04\ +\x09\x12$H\x90 A\x82\x04\x09\x12$H\x90\xa8\x06\ +u\x05\x06\xa8\xf0\x1f\x83?\xb0\x82\x02hD\x1c\x80\xa1\ ++\xa85qU\xd1`\xbe$\x19g\xc6\xa6I\x14\x12\ +y\x9aD\xca\x0c\x93\xf02D\xb8X\xc1\x0c\xe3*\xb8\ +\xcc\x10\xa1\x84\x97\x0e\xd8!\xd111\x092\xe2=$\ +\x14\xef\xc9\x1d!\x03\xc0\xc0\x8f\xe0c\x01\x03\xdaI\x17\ +\x03C\x02\xa0)\x95\x00\xd0J\x09\xd6\x85D~!@\ +\xdf7/D\xf5\xc4\x12\x99H\x09\xf4\x91\x02\x9a\xf7\xed\ +;\x00\x80j\xbc?0\xe2\xd3\xb8R\x9c\xc9B|\x84\ +\x19b\xf4\xed\x19+\x18\x18 \x1e\xa4\x01.\x90\x02\x1c\ +0\x01K\xa5\x9fP,G{,irX\x85H\x8f\ +\x10\xa0g\xba\xc8r[\x94\xe6\x09\x93\x85(\x8d\xa9\xed\ +\x11\x88S\xb2\xd5\xf9D:]\x9c.\xd1N\x0b\xe5\xd2\ +\x94Zi\x9e\x10\xf1\xd7\xd7\xb8\x1b\xd1\xe4i\x22$\x03\ +\xed\xe9\xc3\x08\x19\x19r\x85:\x1b\xbd\x9fg\xa6\xf6:\ +\xac%\xc2\x15\x5c>t\xae\x9ab \xe4\x8e\xc0e\x09\ +\x02\x11\xce\x97d$\x07_m\x17Y\x94\xc4\xdaK\xf0\ +L\xc9\x96I\xd5uk\x03\x83\xb2\x0d\x8110\x02\xf6\ +\xa09\xb0\x86\xbf\xe6\xc0\x12\x963V\xffl\xe0\xcfZ\ +\xfd\xb3\x84\xa1\x05Q\xc2\x068T\xff\xec\x81\x1dA\xb1\ +\x84^D\xa5P\x8d\x16\xc0\xb6\x9a\x839\xa4\xb7Ps\ +\xb6\x87r\x8c\xa1<\xfd\x97\x80\xc2_H?\x02^\x01\ +\x9a_\xb9\xf2\x84\xedQ\xa0\x04\x98\xd3\x93WJ\xac\xc0\ +\xef\x18lf\xfa\xc3*%V\x96r\x1c\xeaw\xb8\x5c\ +\x89-b<\x05&v}\xa7\xec\xbbr\xb7\xb4\xf4\xee\ +\xd5\xfdS\x13\xed\xfe\x07\x80\xa8T\x89\x9d\xb0+\x06T\ +\xfb\xac\xfcW\xc5J\xea\xab\xd3\xd9-\xef\x01\xb0\xb8\x04\ +r\xe1\x94\x01\x0a{}\xe5\x13%\xa5r#\xe7\x01\xe4\ +\x98^Q\x8a8V\x02\xcca\xe3\x03%\xb6\xd9\xf1_\ +$2\xe0~\x89\x92\xbe\x88\x01\x00=\xfb\xc5=%\xa5\ +8\x87\xf1\x18\xea\x849\x9c.QRO\xd8E\xfcq\ +G\x89]\x8f*\x04/\x01\xa6\xbf\xacD\x09\x9e\xff\xa3\ +\xc4\xa6R\x8a\x00\xe4\x92^qY\x89\xed5{\x0a*\ +\x10\x17\x18\xbf\xde\xf9\x19(GUa\xfcy\xf8sP\ +\x06\xeb,\x85\xf1\xd2\xf0\x17\xa0\x04\x80\xb9O\x94\x8c\x82\ +9Q\x9dL\x8c\xdb\xdf)\x84\xd4\x88bP\x0a\xb0\xc8\ +\xd2\xa7J\xca\xcdxJ%\x00\xd7\x1fCjd\x09\xaa\ +\xe7]\xfcT\x89-4(\x87\xc4GJ\xac\xd8\xab\x14\ +1v\xbcW\xa4\xc4\xeer\x10\xf1_%v\xafe\x19\ +\x92lz\x09\xf2*O\xad\x80\xc4\x87J\xec\x82I9\ +R\x0d\xdb\x05\x0b,fTA\x22\xb4t;V\x01\x89\ +`\x14\x8c\x9e\xb4\x7f\x09i\xf7\x95 \xab\x02T\xc13\ +\xa7\xea>\xe4\xd8\xf5\x15A\xc3*}+\x91\x9d\xa67\ +\x9f*\xc1\xabR%\xad<\x0d\xd2\xef)\xb1?\x0d\xab\ + \x1d|\x0b\xa5\xaf\xb9W\xa2\xa4\xe41\xae\xdfU\x82\ +\xf1U\xc8Of\xcf\x8b\x94\x94 \xfbS\xd0\xe3\xf9\xff\ +\xdcUb\x85\xc6/!\x19d\x16)i%z\x80\xb1\ +\x04\xba\xac\xb2@\x09\x86\x13\xd4\xddEJp\x03J\x10\ +\xa0\x96\xa8\x18[\xee\x0c\xfe\x80\x94\x1dD\x1e\x8a\x1d\x87\ +*u\x85\x12\xb0<\x06\xd4\xf7\x10\xa4\x5c#\xf2J`\ +l'4K%\xc6\x1e\x9a\xb5\x0dRJ\x88\xbc\x7f`\ +\xec$\xf4\x03#\xaf\x04\x99\x02\xf5<\x0a)\x7f\x13y\ +\x07a\xec/\xe8\xcd\xb4r$O\xa0\x96\xb2\x9f\xc8\x9b\ +\x0a\xad)\xa5\xc3\xcc\xaewaK/a\xe8\x15\xc3\xac\ +I(\x0bkU\x05\xa3!\xb0m\xec\xf3!\xcfS\xf1\ +\xb0d\xb9\xddK\xe4\x82\x0d0cz\x89J\x18x\x01\ +\x13\xcb\x90g0\xa7g\xb0\xb5n\xd3\x8b\x91$\xe8\xaf\ +'PC\xa8\xe3`\x98\x9f\xf6\x02\x09\x80\xfeN\xaaD\ +M\xb0\x1c\x96\xbbe\x04i\xf6'\x1f*\xc1b\xd4,\ +\x98\xc19\xe8\xee5\xcf!\xd3\xc5\xb0\xa9\xcf2*P\ +\xab\xb6,\x80\xc4a\xcf\x00\x96Z\xfeD\x89\xfd\xcf\xbe\ +\x1c\xb5\xbf\xfb\xf3gJ\xec\x95\x0cR9O!\xa3g\ +ne\xa8\xabDW\xc1\xf8w&P\xb8\xe9B\x18\xab\ +\x8a*E\xddj \xa4R\xee\x0e\xd1+\x07\x14\xfa\xd0\ +\xfb\x90\xfer`\x09\xec\x84X\x7fh\x9bA\xe1\xb2D\ +\xb6\x83\x03;q\xf9\x13\xc8\xbcjX\x09\x80\x95\x13*\ +/)\xb1\xa5\x8c2\x00\xb5\x8b-\x85\xf1\xd3P(\xd4\ +\xca\xf3\x16\x8c\xdf\xf7\xaf\x00P\xac\xd5O0^1\xac\ +\x12<\x05\x18u:<\x13\xd6\x17\x94\xa0J/\xc1\x13\ +\xa8\xc7\xf5;J\xda\x8d\x1e\xc0\xee\x04\xa4\x9dvx\x85\ +\x06k\xd59\xf5\x22\x87\x01\xbd\xcaX\x04\xfd|?\x00\ +\x80G\xd0\xfc\xb5\xb0/\xaew\x80\x86\xa6\x94\x95*)\ +\x15\xe9\xe0!\xa0x\xae,\x83'k\xf9*\xd8\xd91\ +\x0ed\x0c\x16\xdf\x07Tk\xd1O\x95\xf0\xc4\xae<$\ +\xb6\x81\x8a\xd9\x9d(U\x02q\x0101\x8f\xce\xd9\x98\ +\xff\xfb\xfd\x07\xbf\x9f\xda\x94\xd3\xdd\xbc\x08`\xf4\x85p\ +\x90X\x06\xe0p\x81\x97U))\xa7\x18\xe0\x18\xc0\xfc\ +\x0a^)\xa9\xf7\x1c`\x97\x004\xdb\x13\xcar\xce+\ +p\x04*\xb5\x90\xff\x12\x0d{\x94\xa6\xf8\x1d8\xdb\x14\ +?\xd2\xda\xff\xb0\xb5\xeauT\x8c\x1c\xedo0U\xad\ +q\x08x\x8cS\xe7\xc5r\x15\x0a\xcd\xda\x22BU\xce\ +X\xbb\x1c:\xfc\x1f\x02\xea)+\ +\x00\x00\x80\x08\ +I\ +I*\x00\x08\x00\x00\x00\x18\x00\xfe\x00\x04\x00\x01\x00\x00\ +\x00\x00\x00\x00\x00\x00\x01\x03\x00\x01\x00\x00\x00`\x00\x00\ +\x00\x01\x01\x03\x00\x01\x00\x00\x00`\x00\x00\x00\x02\x01\x03\ +\x00\x04\x00\x00\x00.\x01\x00\x00\x03\x01\x03\x00\x01\x00\x00\ +\x00\x05\x00\x00\x00\x06\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\ +\x00\x11\x01\x04\x00\x01\x00\x00\x00NS\x00\x00\x12\x01\x03\ +\x00\x01\x00\x00\x00\x01\x00\x00\x00\x15\x01\x03\x00\x01\x00\x00\ +\x00\x04\x00\x00\x00\x16\x01\x03\x00\x01\x00\x00\x00`\x00\x00\ +\x00\x17\x01\x04\x00\x01\x00\x00\x000\x12\x00\x00\x1a\x01\x05\ +\x00\x01\x00\x00\x006\x01\x00\x00\x1b\x01\x05\x00\x01\x00\x00\ +\x00>\x01\x00\x00\x1c\x01\x03\x00\x01\x00\x00\x00\x01\x00\x00\ +\x00(\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\x001\x01\x02\ +\x00\x22\x00\x00\x00F\x01\x00\x002\x01\x02\x00\x14\x00\x00\ +\x00h\x01\x00\x00=\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\ +\x00R\x01\x03\x00\x01\x00\x00\x00\x01\x00\x00\x00\xbc\x02\x01\ +\x00\x1f8\x00\x00|\x01\x00\x00I\x86\x01\x00j\x0d\x00\ +\x00\x9c9\x00\x00i\x87\x04\x00\x01\x00\x00\x00\x80e\x00\ +\x00s\x87\x07\x00H\x0c\x00\x00\x06G\x00\x00\x5c\x93\x07\ +\x00X\x1a\x00\x00\xace\x00\x00\x00\x00\x00\x00\x08\x00\x08\ +\x00\x08\x00\x08\x00\x00\xf9\x15\x00\x10'\x00\x00\x00\xf9\x15\ +\x00\x10'\x00\x00Adobe Photo\ +shop CC 2017 (Wi\ +ndows)\x002017:04:0\ +4 11:01:25\x00\ +\x0a\x0a \ + \x0a \x0a \ + paint.net \ +4.0.9\x0a \ + 2017-03-01T11:2\ +0:20-08:00\x0a \ + 2017-04-04T\ +11:01:25-07:00\x0a\ + 2017-\ +04-04T11:01:25-0\ +7:00\x0a \ + imag\ +e/tiff\x0a 3\x0a \ + sRGB IEC\ +61966-2.1\ +\x0a xmp.\ +iid:7284f562-66e\ +c-6d4b-bfaf-a292\ +c87d086e\x0a \ + adobe:doc\ +id:photoshop:aca\ +ee4ff-1960-11e7-\ +bae7-e6e7a5cd281\ +4\x0a xmp.did:\ +15df0628-f397-b6\ +41-8e6b-37248a21\ +c43f\x0a\ + \x0a \ + \x0a \ + \x0a\ + \ + \ +created\x0a \ + xmp.i\ +id:15df0628-f397\ +-b641-8e6b-37248\ +a21c43f\x0a \ + 2017-03\ +-01T11:20:20-08:\ +00\x0a\ + \ + Adobe Pho\ +toshop CC 2017 (\ +Windows)\x0a \ + \x0a \ + \x0a \ + saved\x0a \ + \ +xmp.iid:7284f5\ +62-66ec-6d4b-bfa\ +f-a292c87d086e\x0a \ + \ +2017-04-04T11:01\ +:25-07:00\x0a \ + Ad\ +obe Photoshop CC\ + 2017 (Windows)<\ +/stEvt:softwareA\ +gent>\x0a \ + /\x0a \ + \x0a \x0a \ + \x0a \x0a <\ +/rdf:RDF>\x0a\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \x0a\x008BIM\x04\ +%\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x008BIM\x04:\x00\x00\x00\ +\x00\x00\xe5\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\x00\x00\ +\x0bprintOutput\x00\x00\x00\x05\ +\x00\x00\x00\x00PstSbool\x01\x00\x00\x00\ +\x00Inteenum\x00\x00\x00\x00Int\ +e\x00\x00\x00\x00Clrm\x00\x00\x00\x0fpri\ +ntSixteenBitbool\ +\x00\x00\x00\x00\x0bprinterName\ +TEXT\x00\x00\x00\x01\x00\x00\x00\x00\x00\x0fpr\ +intProofSetupObj\ +c\x00\x00\x00\x0c\x00P\x00r\x00o\x00o\x00f\x00\ + \x00S\x00e\x00t\x00u\x00p\x00\x00\x00\x00\x00\ +\x0aproofSetup\x00\x00\x00\x01\x00\ +\x00\x00\x00Bltnenum\x00\x00\x00\x0cb\ +uiltinProof\x00\x00\x00\x09p\ +roofCMYK\x008BIM\x04;\x00\ +\x00\x00\x00\x02-\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\ +\x00\x00\x12printOutputOp\ +tions\x00\x00\x00\x17\x00\x00\x00\x00Cpt\ +nbool\x00\x00\x00\x00\x00Clbrbo\ +ol\x00\x00\x00\x00\x00RgsMbool\x00\ +\x00\x00\x00\x00CrnCbool\x00\x00\x00\x00\ +\x00CntCbool\x00\x00\x00\x00\x00Lb\ +lsbool\x00\x00\x00\x00\x00Ngtvb\ +ool\x00\x00\x00\x00\x00EmlDbool\ +\x00\x00\x00\x00\x00Intrbool\x00\x00\x00\ +\x00\x00BckgObjc\x00\x00\x00\x01\x00\x00\ +\x00\x00\x00\x00RGBC\x00\x00\x00\x03\x00\x00\x00\x00\ +Rd doub@o\xe0\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00Grn doub@o\xe0\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00Bl doub\ +@o\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00BrdT\ +UntF#Rlt\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00Bld UntF#Rlt\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00Rslt\ +UntF#Pxl@b\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x0avectorDatabo\ +ol\x01\x00\x00\x00\x00PgPsenum\x00\ +\x00\x00\x00PgPs\x00\x00\x00\x00PgPC\x00\ +\x00\x00\x00LeftUntF#Rlt\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00Top U\ +ntF#Rlt\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00Scl UntF#Prc@\ +Y\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10cropW\ +henPrintingbool\x00\ +\x00\x00\x00\x0ecropRectBott\ +omlong\x00\x00\x00\x00\x00\x00\x00\x0ccr\ +opRectLeftlong\x00\x00\ +\x00\x00\x00\x00\x00\x0dcropRectRi\ +ghtlong\x00\x00\x00\x00\x00\x00\x00\x0bc\ +ropRectToplong\x00\x00\ +\x00\x00\x008BIM\x03\xed\x00\x00\x00\x00\x00\x10\x00\ +\x90\x00\x00\x00\x01\x00\x01\x00\x90\x00\x00\x00\x01\x00\x018\ +BIM\x04&\x00\x00\x00\x00\x00\x0e\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00?\x80\x00\x008BIM\x03\xee\x00\ +\x00\x00\x00\x00\x0d\x0cTransparen\ +cy\x008BIM\x04\x15\x00\x00\x00\x00\x00\x1e\x00\ +\x00\x00\x0d\x00T\x00r\x00a\x00n\x00s\x00p\x00\ +a\x00r\x00e\x00n\x00c\x00y\x00\x008BI\ +M\x045\x00\x00\x00\x00\x00\x11\x00\x00\x00\x01\x00\x00\xff\ +\xff\x00\x00\x00\x00\x00\x00\x00d\x01\x008BIM\x04\ +\x1d\x00\x00\x00\x00\x00\x04\x00\x00\x00\x008BIM\x04\ +\x0d\x00\x00\x00\x00\x00\x04\x00\x00\x00\x1e8BIM\x04\ +\x19\x00\x00\x00\x00\x00\x04\x00\x00\x00\x1e8BIM\x03\ +\xf3\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x01\ +\x008BIM'\x10\x00\x00\x00\x00\x00\x0a\x00\x01\x00\ +\x00\x00\x00\x00\x00\x00\x018BIM\x03\xf5\x00\x00\x00\ +\x00\x00H\x00/ff\x00\x01\x00lff\x00\x06\x00\ +\x00\x00\x00\x00\x01\x00/ff\x00\x01\x00\xa1\x99\x9a\x00\ +\x06\x00\x00\x00\x00\x00\x01\x002\x00\x00\x00\x01\x00Z\x00\ +\x00\x00\x06\x00\x00\x00\x00\x00\x01\x005\x00\x00\x00\x01\x00\ +-\x00\x00\x00\x06\x00\x00\x00\x00\x00\x018BIM\x03\ +\xf8\x00\x00\x00\x00\x00p\x00\x00\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x03\ +\xe8\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x03\xe8\x00\x00\x00\ +\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\x03\xe8\x00\x00\x00\x00\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\x03\xe8\x00\x008BIM\x04\x00\x00\x00\x00\ +\x00\x00\x02\x00\x008BIM\x04\x02\x00\x00\x00\x00\x00\ +\x02\x00\x008BIM\x040\x00\x00\x00\x00\x00\x01\x01\ +\x008BIM\x04-\x00\x00\x00\x00\x00\x06\x00\x01\x00\ +\x00\x00\x038BIM\x04\x08\x00\x00\x00\x00\x00$\x00\ +\x00\x00\x01\x00\x00\x02@\x00\x00\x02@\x00\x00\x00\x04\x00\ +\x00\x01+\x00\x00\x00\x0a\xc5\x00\x00\x00\x01\x1b\x01\x00\x00\ +\x0a\xd5\x018BIM\x04\x1e\x00\x00\x00\x00\x00\x04\x00\ +\x00\x00\x008BIM\x04\x1a\x00\x00\x00\x00\x035\x00\ +\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x00\ +\x00\x00`\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x00\x00\x00`\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00nu\ +ll\x00\x00\x00\x02\x00\x00\x00\x06bounds\ +Objc\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00Rc\ +t1\x00\x00\x00\x04\x00\x00\x00\x00Top lo\ +ng\x00\x00\x00\x00\x00\x00\x00\x00Leftlo\ +ng\x00\x00\x00\x00\x00\x00\x00\x00Btomlo\ +ng\x00\x00\x00`\x00\x00\x00\x00Rghtlo\ +ng\x00\x00\x00`\x00\x00\x00\x06slices\ +VlLs\x00\x00\x00\x01Objc\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x05slice\x00\x00\x00\x12\x00\ +\x00\x00\x07sliceIDlong\x00\x00\ +\x00\x00\x00\x00\x00\x07groupIDlon\ +g\x00\x00\x00\x00\x00\x00\x00\x06origine\ +num\x00\x00\x00\x0cESliceOri\ +gin\x00\x00\x00\x0dautoGener\ +ated\x00\x00\x00\x00Typeenum\ +\x00\x00\x00\x0aESliceType\x00\x00\ +\x00\x00Img \x00\x00\x00\x06bounds\ +Objc\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00Rc\ +t1\x00\x00\x00\x04\x00\x00\x00\x00Top lo\ +ng\x00\x00\x00\x00\x00\x00\x00\x00Leftlo\ +ng\x00\x00\x00\x00\x00\x00\x00\x00Btomlo\ +ng\x00\x00\x00`\x00\x00\x00\x00Rghtlo\ +ng\x00\x00\x00`\x00\x00\x00\x03urlTEX\ +T\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00nullT\ +EXT\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00Msg\ +eTEXT\x00\x00\x00\x01\x00\x00\x00\x00\x00\x06a\ +ltTagTEXT\x00\x00\x00\x01\x00\x00\x00\ +\x00\x00\x0ecellTextIsHTM\ +Lbool\x01\x00\x00\x00\x08cellTe\ +xtTEXT\x00\x00\x00\x01\x00\x00\x00\x00\x00\x09\ +horzAlignenum\x00\x00\x00\ +\x0fESliceHorzAlign\ +\x00\x00\x00\x07default\x00\x00\x00\x09v\ +ertAlignenum\x00\x00\x00\x0f\ +ESliceVertAlign\x00\ +\x00\x00\x07default\x00\x00\x00\x0bbg\ +ColorTypeenum\x00\x00\x00\ +\x11ESliceBGColorTy\ +pe\x00\x00\x00\x00None\x00\x00\x00\x09to\ +pOutsetlong\x00\x00\x00\x00\x00\ +\x00\x00\x0aleftOutsetlon\ +g\x00\x00\x00\x00\x00\x00\x00\x0cbottomO\ +utsetlong\x00\x00\x00\x00\x00\x00\x00\ +\x0brightOutsetlong\ +\x00\x00\x00\x00\x008BIM\x04(\x00\x00\x00\x00\x00\ +\x0c\x00\x00\x00\x02?\xf0\x00\x00\x00\x00\x00\x008BI\ +M\x04\x14\x00\x00\x00\x00\x00\x04\x00\x00\x00\x048BI\ +M\x04\x0c\x00\x00\x00\x00\x04\x02\x00\x00\x00\x01\x00\x00\x00\ +0\x00\x00\x000\x00\x00\x00\x90\x00\x00\x1b\x00\x00\x00\x03\ +\xe6\x00\x18\x00\x01\xff\xd8\xff\xed\x00\x0cAdobe\ +_CM\x00\x01\xff\xee\x00\x0eAdobe\x00d\ +\x80\x00\x00\x00\x01\xff\xdb\x00\x84\x00\x0c\x08\x08\x08\x09\x08\ +\x0c\x09\x09\x0c\x11\x0b\x0a\x0b\x11\x15\x0f\x0c\x0c\x0f\x15\x18\ +\x13\x13\x15\x13\x13\x18\x11\x0c\x0c\x0c\x0c\x0c\x0c\x11\x0c\x0c\ +\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\ +\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x01\x0d\x0b\x0b\x0d\x0e\ +\x0d\x10\x0e\x0e\x10\x14\x0e\x0e\x0e\x14\x14\x0e\x0e\x0e\x0e\x14\ +\x11\x0c\x0c\x0c\x0c\x0c\x11\x11\x0c\x0c\x0c\x0c\x0c\x0c\x11\x0c\ +\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\ +\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\xff\xc0\x00\x11\x08\ +\x000\x000\x03\x01\x22\x00\x02\x11\x01\x03\x11\x01\xff\xdd\ +\x00\x04\x00\x03\xff\xc4\x01?\x00\x00\x01\x05\x01\x01\x01\x01\ +\x01\x01\x00\x00\x00\x00\x00\x00\x00\x03\x00\x01\x02\x04\x05\x06\ +\x07\x08\x09\x0a\x0b\x01\x00\x01\x05\x01\x01\x01\x01\x01\x01\x00\ +\x00\x00\x00\x00\x00\x00\x01\x00\x02\x03\x04\x05\x06\x07\x08\x09\ +\x0a\x0b\x10\x00\x01\x04\x01\x03\x02\x04\x02\x05\x07\x06\x08\x05\ +\x03\x0c3\x01\x00\x02\x11\x03\x04!\x121\x05AQa\ +\x13\x22q\x812\x06\x14\x91\xa1\xb1B#$\x15R\xc1\ +b34r\x82\xd1C\x07%\x92S\xf0\xe1\xf1cs\ +5\x16\xa2\xb2\x83&D\x93TdE\xc2\xa3t6\x17\ +\xd2U\xe2e\xf2\xb3\x84\xc3\xd3u\xe3\xf3F'\x94\xa4\ +\x85\xb4\x95\xc4\xd4\xe4\xf4\xa5\xb5\xc5\xd5\xe5\xf5Vfv\ +\x86\x96\xa6\xb6\xc6\xd6\xe6\xf67GWgw\x87\x97\xa7\ +\xb7\xc7\xd7\xe7\xf7\x11\x00\x02\x02\x01\x02\x04\x04\x03\x04\x05\ +\x06\x07\x07\x06\x055\x01\x00\x02\x11\x03!1\x12\x04A\ +Qaq\x22\x13\x052\x81\x91\x14\xa1\xb1B#\xc1R\ +\xd1\xf03$b\xe1r\x82\x92CS\x15cs4\xf1\ +%\x06\x16\xa2\xb2\x83\x07&5\xc2\xd2D\x93T\xa3\x17\ +dEU6te\xe2\xf2\xb3\x84\xc3\xd3u\xe3\xf3F\ +\x94\xa4\x85\xb4\x95\xc4\xd4\xe4\xf4\xa5\xb5\xc5\xd5\xe5\xf5V\ +fv\x86\x96\xa6\xb6\xc6\xd6\xe6\xf6'7GWgw\ +\x87\x97\xa7\xb7\xc7\xff\xda\x00\x0c\x03\x01\x00\x02\x11\x03\x11\ +\x00?\x00\xf4<\xdc\xcc\x96d\x9a\xa9;@\x80\x00\x00\ +\x92O\xc6P\xfd~\xab\xe0\xff\x00\xfbl\x7f\xe4R\xc9\ +\xff\x00\x95\x1b\xfdz\xff\x00\xef\xabR\xcb\x19[\x0b\xec\ +!\xad\x1c\x92\x92\x9c\xbf_\xaa\xf8?\xfe\xdb\x1f\xf9\x14\ +\xbd~\xab\xe0\xff\x00\xfbl\x7f\xe4T\xed\xea\xee\x9f\xd0\ +\xb0\x06\xfe\xf3\xff\x00\xf2#\xff\x00$\x95]]\xd3\xfa\ +f\x02\xd3\xf9\xcc\xff\x00\xc8\x9f\xfc\x92Ja\xeb\xf5_\ +\x07\xff\x00\x98?\xf2(\x98\x19\x99\x16dzV\x9d\xc0\ +\x83\xc8\x00\x82?\xaa\xb4+\xb1\x960>\xb2\x1c\xd3\xc1\ +\x0b+\x07\xfeP?\xf5\xcf\xca\x92\x9f\xff\xd0\xef\xf2\x7f\ +\xe5F\xff\x00^\xbf\xfb\xea\x16fS\xb2-\xff\x00\x83\ +i\x867\xfe\xff\x00\xfd\xa4\x5c\x9f\xf9Q\xbf\xd7\xaf\xfe\ +\xfa\x87\x9b\x8a\xec{\x09\x03\xf4O>\xc3\xe0O\xe6\x1f\ +\xfb\xeaJnt\xecJ\x85-\xb9\xed\x0e{\xf5\x13\xac\ +\x0e\xd0\xa9dc\xde-\xb5\xfe\x9b\x85a\xce;\xbbD\ +\xf2\xad\xe0f\xd4\xda\x856\xb81\xcc\xd1\xa4\xe8\x08\xf8\ +\xa5\x9f\x9bS\xaa4\xd4\xe0\xf7?G\x11\xa8\x03\xe2\x92\ +\x9a\x98y.\xc7\xb4\x7f\xa3y\x01\xe3\xfe\xff\x00\xfd\x94\ +L\x1d:\x8b\x87\x9d\x9f\x95C\x0b\x15\xd9\x16\x87\x11\xfa\ +&\x19q\xf1#\xf3\x07\xfd\xf9O\x07^\xa2\xe3\xe7g\ +\xe5IO\xff\xd1\xef\xf2\x7f\xe5F\xff\x00^\xbf\xfb\xea\ +\xd4{\x1a\xf6\x96<\x074\xe8A\xe1g\xe6\xe1d\xbf\ +$\xdbP\x90b\x0c\xc1\x04!\xfd\x9b\xaa~\xf3\xff\x00\ +\xed\xcf\xfc\xc9%&\xb7\xa4\xb4\x99\xa6\xc2\xd1\xfb\xae\x1b\ +\x87\xdf\xf4\x92\xab\xa4\xb4\x19\xba\xc2\xe1\xfb\xad\x1bG\xdf\ +\xf4\x90~\xcd\xd5?y\xff\x00\xf6\xe7\xfed\x97\xd9\xba\ +\xa7\xef?\xfe\xdc\xff\x00\xcc\x92S\xa8\xc65\x8d\x0c`\ +\x0dh\xd0\x01\xc2\xca\xc1\xff\x00\x94\x0f\xc6\xcf\xca\x9f\xec\ +\xddS\xf7\x9f\xff\x00n\x7f\xe6H\xb88Y\x15\xdf\xea\ +\xda\x03@\x04s$\x92\x92\x9f\xff\xd98BIM\x04\ +!\x00\x00\x00\x00\x00]\x00\x00\x00\x01\x01\x00\x00\x00\x0f\ +\x00A\x00d\x00o\x00b\x00e\x00 \x00P\x00h\ +\x00o\x00t\x00o\x00s\x00h\x00o\x00p\x00\x00\ +\x00\x17\x00A\x00d\x00o\x00b\x00e\x00 \x00P\ +\x00h\x00o\x00t\x00o\x00s\x00h\x00o\x00p\ +\x00 \x00C\x00C\x00 \x002\x000\x001\x007\ +\x00\x00\x00\x01\x00\x00\x00\x0cHLino\x02\x10\x00\ +\x00mntrRGB XYZ \x07\xce\x00\ +\x02\x00\x09\x00\x06\x001\x00\x00acspMSF\ +T\x00\x00\x00\x00IEC sRGB\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf6\xd6\x00\x01\x00\ +\x00\x00\x00\xd3-HP \x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x11cprt\x00\x00\x01\ +P\x00\x00\x003desc\x00\x00\x01\x84\x00\x00\x00\ +lwtpt\x00\x00\x01\xf0\x00\x00\x00\x14bkp\ +t\x00\x00\x02\x04\x00\x00\x00\x14rXYZ\x00\x00\x02\ +\x18\x00\x00\x00\x14gXYZ\x00\x00\x02,\x00\x00\x00\ +\x14bXYZ\x00\x00\x02@\x00\x00\x00\x14dmn\ +d\x00\x00\x02T\x00\x00\x00pdmdd\x00\x00\x02\ +\xc4\x00\x00\x00\x88vued\x00\x00\x03L\x00\x00\x00\ +\x86view\x00\x00\x03\xd4\x00\x00\x00$lum\ +i\x00\x00\x03\xf8\x00\x00\x00\x14meas\x00\x00\x04\ +\x0c\x00\x00\x00$tech\x00\x00\x040\x00\x00\x00\ +\x0crTRC\x00\x00\x04<\x00\x00\x08\x0cgTR\ +C\x00\x00\x04<\x00\x00\x08\x0cbTRC\x00\x00\x04\ +<\x00\x00\x08\x0ctext\x00\x00\x00\x00Cop\ +yright (c) 1998 \ +Hewlett-Packard \ +Company\x00\x00desc\x00\x00\x00\ +\x00\x00\x00\x00\x12sRGB IEC619\ +66-2.1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x12sRGB IEC61966-\ +2.1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00XYZ \x00\x00\x00\x00\x00\x00\xf3\ +Q\x00\x01\x00\x00\x00\x01\x16\xccXYZ \x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00XYZ\ + \x00\x00\x00\x00\x00\x00o\xa2\x00\x008\xf5\x00\x00\x03\ +\x90XYZ \x00\x00\x00\x00\x00\x00b\x99\x00\x00\xb7\ +\x85\x00\x00\x18\xdaXYZ \x00\x00\x00\x00\x00\x00$\ +\xa0\x00\x00\x0f\x84\x00\x00\xb6\xcfdesc\x00\x00\x00\ +\x00\x00\x00\x00\x16IEC http://\ +www.iec.ch\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x16IEC http:/\ +/www.iec.ch\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00desc\x00\x00\x00\ +\x00\x00\x00\x00.IEC 61966-2\ +.1 Default RGB c\ +olour space - sR\ +GB\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00.IE\ +C 61966-2.1 Defa\ +ult RGB colour s\ +pace - sRGB\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00desc\x00\x00\x00\x00\x00\x00\x00,Ref\ +erence Viewing C\ +ondition in IEC6\ +1966-2.1\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00,Reference Vi\ +ewing Condition \ +in IEC61966-2.1\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00view\x00\x00\x00\ +\x00\x00\x13\xa4\xfe\x00\x14_.\x00\x10\xcf\x14\x00\x03\xed\ +\xcc\x00\x04\x13\x0b\x00\x03\x5c\x9e\x00\x00\x00\x01XYZ\ + \x00\x00\x00\x00\x00L\x09V\x00P\x00\x00\x00W\x1f\ +\xe7meas\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\ +\x8f\x00\x00\x00\x02sig \x00\x00\x00\x00CRT\ + curv\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\ +\x05\x00\x0a\x00\x0f\x00\x14\x00\x19\x00\x1e\x00#\x00(\x00\ +-\x002\x007\x00;\x00@\x00E\x00J\x00O\x00\ +T\x00Y\x00^\x00c\x00h\x00m\x00r\x00w\x00\ +|\x00\x81\x00\x86\x00\x8b\x00\x90\x00\x95\x00\x9a\x00\x9f\x00\ +\xa4\x00\xa9\x00\xae\x00\xb2\x00\xb7\x00\xbc\x00\xc1\x00\xc6\x00\ +\xcb\x00\xd0\x00\xd5\x00\xdb\x00\xe0\x00\xe5\x00\xeb\x00\xf0\x00\ +\xf6\x00\xfb\x01\x01\x01\x07\x01\x0d\x01\x13\x01\x19\x01\x1f\x01\ +%\x01+\x012\x018\x01>\x01E\x01L\x01R\x01\ +Y\x01`\x01g\x01n\x01u\x01|\x01\x83\x01\x8b\x01\ +\x92\x01\x9a\x01\xa1\x01\xa9\x01\xb1\x01\xb9\x01\xc1\x01\xc9\x01\ +\xd1\x01\xd9\x01\xe1\x01\xe9\x01\xf2\x01\xfa\x02\x03\x02\x0c\x02\ +\x14\x02\x1d\x02&\x02/\x028\x02A\x02K\x02T\x02\ +]\x02g\x02q\x02z\x02\x84\x02\x8e\x02\x98\x02\xa2\x02\ +\xac\x02\xb6\x02\xc1\x02\xcb\x02\xd5\x02\xe0\x02\xeb\x02\xf5\x03\ +\x00\x03\x0b\x03\x16\x03!\x03-\x038\x03C\x03O\x03\ +Z\x03f\x03r\x03~\x03\x8a\x03\x96\x03\xa2\x03\xae\x03\ +\xba\x03\xc7\x03\xd3\x03\xe0\x03\xec\x03\xf9\x04\x06\x04\x13\x04\ + \x04-\x04;\x04H\x04U\x04c\x04q\x04~\x04\ +\x8c\x04\x9a\x04\xa8\x04\xb6\x04\xc4\x04\xd3\x04\xe1\x04\xf0\x04\ +\xfe\x05\x0d\x05\x1c\x05+\x05:\x05I\x05X\x05g\x05\ +w\x05\x86\x05\x96\x05\xa6\x05\xb5\x05\xc5\x05\xd5\x05\xe5\x05\ +\xf6\x06\x06\x06\x16\x06'\x067\x06H\x06Y\x06j\x06\ +{\x06\x8c\x06\x9d\x06\xaf\x06\xc0\x06\xd1\x06\xe3\x06\xf5\x07\ +\x07\x07\x19\x07+\x07=\x07O\x07a\x07t\x07\x86\x07\ +\x99\x07\xac\x07\xbf\x07\xd2\x07\xe5\x07\xf8\x08\x0b\x08\x1f\x08\ +2\x08F\x08Z\x08n\x08\x82\x08\x96\x08\xaa\x08\xbe\x08\ +\xd2\x08\xe7\x08\xfb\x09\x10\x09%\x09:\x09O\x09d\x09\ +y\x09\x8f\x09\xa4\x09\xba\x09\xcf\x09\xe5\x09\xfb\x0a\x11\x0a\ +'\x0a=\x0aT\x0aj\x0a\x81\x0a\x98\x0a\xae\x0a\xc5\x0a\ +\xdc\x0a\xf3\x0b\x0b\x0b\x22\x0b9\x0bQ\x0bi\x0b\x80\x0b\ +\x98\x0b\xb0\x0b\xc8\x0b\xe1\x0b\xf9\x0c\x12\x0c*\x0cC\x0c\ +\x5c\x0cu\x0c\x8e\x0c\xa7\x0c\xc0\x0c\xd9\x0c\xf3\x0d\x0d\x0d\ +&\x0d@\x0dZ\x0dt\x0d\x8e\x0d\xa9\x0d\xc3\x0d\xde\x0d\ +\xf8\x0e\x13\x0e.\x0eI\x0ed\x0e\x7f\x0e\x9b\x0e\xb6\x0e\ +\xd2\x0e\xee\x0f\x09\x0f%\x0fA\x0f^\x0fz\x0f\x96\x0f\ +\xb3\x0f\xcf\x0f\xec\x10\x09\x10&\x10C\x10a\x10~\x10\ +\x9b\x10\xb9\x10\xd7\x10\xf5\x11\x13\x111\x11O\x11m\x11\ +\x8c\x11\xaa\x11\xc9\x11\xe8\x12\x07\x12&\x12E\x12d\x12\ +\x84\x12\xa3\x12\xc3\x12\xe3\x13\x03\x13#\x13C\x13c\x13\ +\x83\x13\xa4\x13\xc5\x13\xe5\x14\x06\x14'\x14I\x14j\x14\ +\x8b\x14\xad\x14\xce\x14\xf0\x15\x12\x154\x15V\x15x\x15\ +\x9b\x15\xbd\x15\xe0\x16\x03\x16&\x16I\x16l\x16\x8f\x16\ +\xb2\x16\xd6\x16\xfa\x17\x1d\x17A\x17e\x17\x89\x17\xae\x17\ +\xd2\x17\xf7\x18\x1b\x18@\x18e\x18\x8a\x18\xaf\x18\xd5\x18\ +\xfa\x19 \x19E\x19k\x19\x91\x19\xb7\x19\xdd\x1a\x04\x1a\ +*\x1aQ\x1aw\x1a\x9e\x1a\xc5\x1a\xec\x1b\x14\x1b;\x1b\ +c\x1b\x8a\x1b\xb2\x1b\xda\x1c\x02\x1c*\x1cR\x1c{\x1c\ +\xa3\x1c\xcc\x1c\xf5\x1d\x1e\x1dG\x1dp\x1d\x99\x1d\xc3\x1d\ +\xec\x1e\x16\x1e@\x1ej\x1e\x94\x1e\xbe\x1e\xe9\x1f\x13\x1f\ +>\x1fi\x1f\x94\x1f\xbf\x1f\xea \x15 A l \ +\x98 \xc4 \xf0!\x1c!H!u!\xa1!\xce!\ +\xfb\x22'\x22U\x22\x82\x22\xaf\x22\xdd#\x0a#8#\ +f#\x94#\xc2#\xf0$\x1f$M$|$\xab$\ +\xda%\x09%8%h%\x97%\xc7%\xf7&'&\ +W&\x87&\xb7&\xe8'\x18'I'z'\xab'\ +\xdc(\x0d(?(q(\xa2(\xd4)\x06)8)\ +k)\x9d)\xd0*\x02*5*h*\x9b*\xcf+\ +\x02+6+i+\x9d+\xd1,\x05,9,n,\ +\xa2,\xd7-\x0c-A-v-\xab-\xe1.\x16.\ +L.\x82.\xb7.\xee/$/Z/\x91/\xc7/\ +\xfe050l0\xa40\xdb1\x121J1\x821\ +\xba1\xf22*2c2\x9b2\xd43\x0d3F3\ +\x7f3\xb83\xf14+4e4\x9e4\xd85\x135\ +M5\x875\xc25\xfd676r6\xae6\xe97\ +$7`7\x9c7\xd78\x148P8\x8c8\xc89\ +\x059B9\x7f9\xbc9\xf9:6:t:\xb2:\ +\xef;-;k;\xaa;\xe8<' >`>\xa0>\ +\xe0?!?a?\xa2?\xe2@#@d@\xa6@\ +\xe7A)AjA\xacA\xeeB0BrB\xb5B\ +\xf7C:C}C\xc0D\x03DGD\x8aD\xceE\ +\x12EUE\x9aE\xdeF\x22FgF\xabF\xf0G\ +5G{G\xc0H\x05HKH\x91H\xd7I\x1dI\ +cI\xa9I\xf0J7J}J\xc4K\x0cKSK\ +\x9aK\xe2L*LrL\xbaM\x02MJM\x93M\ +\xdcN%NnN\xb7O\x00OIO\x93O\xddP\ +'PqP\xbbQ\x06QPQ\x9bQ\xe6R1R\ +|R\xc7S\x13S_S\xaaS\xf6TBT\x8fT\ +\xdbU(UuU\xc2V\x0fV\x5cV\xa9V\xf7W\ +DW\x92W\xe0X/X}X\xcbY\x1aYiY\ +\xb8Z\x07ZVZ\xa6Z\xf5[E[\x95[\xe5\x5c\ +5\x5c\x86\x5c\xd6]']x]\xc9^\x1a^l^\ +\xbd_\x0f_a_\xb3`\x05`W`\xaa`\xfca\ +Oa\xa2a\xf5bIb\x9cb\xf0cCc\x97c\ +\xebd@d\x94d\xe9e=e\x92e\xe7f=f\ +\x92f\xe8g=g\x93g\xe9h?h\x96h\xeci\ +Ci\x9ai\xf1jHj\x9fj\xf7kOk\xa7k\ +\xfflWl\xafm\x08m`m\xb9n\x12nkn\ +\xc4o\x1eoxo\xd1p+p\x86p\xe0q:q\ +\x95q\xf0rKr\xa6s\x01s]s\xb8t\x14t\ +pt\xccu(u\x85u\xe1v>v\x9bv\xf8w\ +Vw\xb3x\x11xnx\xccy*y\x89y\xe7z\ +Fz\xa5{\x04{c{\xc2|!|\x81|\xe1}\ +A}\xa1~\x01~b~\xc2\x7f#\x7f\x84\x7f\xe5\x80\ +G\x80\xa8\x81\x0a\x81k\x81\xcd\x820\x82\x92\x82\xf4\x83\ +W\x83\xba\x84\x1d\x84\x80\x84\xe3\x85G\x85\xab\x86\x0e\x86\ +r\x86\xd7\x87;\x87\x9f\x88\x04\x88i\x88\xce\x893\x89\ +\x99\x89\xfe\x8ad\x8a\xca\x8b0\x8b\x96\x8b\xfc\x8cc\x8c\ +\xca\x8d1\x8d\x98\x8d\xff\x8ef\x8e\xce\x8f6\x8f\x9e\x90\ +\x06\x90n\x90\xd6\x91?\x91\xa8\x92\x11\x92z\x92\xe3\x93\ +M\x93\xb6\x94 \x94\x8a\x94\xf4\x95_\x95\xc9\x964\x96\ +\x9f\x97\x0a\x97u\x97\xe0\x98L\x98\xb8\x99$\x99\x90\x99\ +\xfc\x9ah\x9a\xd5\x9bB\x9b\xaf\x9c\x1c\x9c\x89\x9c\xf7\x9d\ +d\x9d\xd2\x9e@\x9e\xae\x9f\x1d\x9f\x8b\x9f\xfa\xa0i\xa0\ +\xd8\xa1G\xa1\xb6\xa2&\xa2\x96\xa3\x06\xa3v\xa3\xe6\xa4\ +V\xa4\xc7\xa58\xa5\xa9\xa6\x1a\xa6\x8b\xa6\xfd\xa7n\xa7\ +\xe0\xa8R\xa8\xc4\xa97\xa9\xa9\xaa\x1c\xaa\x8f\xab\x02\xab\ +u\xab\xe9\xac\x5c\xac\xd0\xadD\xad\xb8\xae-\xae\xa1\xaf\ +\x16\xaf\x8b\xb0\x00\xb0u\xb0\xea\xb1`\xb1\xd6\xb2K\xb2\ +\xc2\xb38\xb3\xae\xb4%\xb4\x9c\xb5\x13\xb5\x8a\xb6\x01\xb6\ +y\xb6\xf0\xb7h\xb7\xe0\xb8Y\xb8\xd1\xb9J\xb9\xc2\xba\ +;\xba\xb5\xbb.\xbb\xa7\xbc!\xbc\x9b\xbd\x15\xbd\x8f\xbe\ +\x0a\xbe\x84\xbe\xff\xbfz\xbf\xf5\xc0p\xc0\xec\xc1g\xc1\ +\xe3\xc2_\xc2\xdb\xc3X\xc3\xd4\xc4Q\xc4\xce\xc5K\xc5\ +\xc8\xc6F\xc6\xc3\xc7A\xc7\xbf\xc8=\xc8\xbc\xc9:\xc9\ +\xb9\xca8\xca\xb7\xcb6\xcb\xb6\xcc5\xcc\xb5\xcd5\xcd\ +\xb5\xce6\xce\xb6\xcf7\xcf\xb8\xd09\xd0\xba\xd1<\xd1\ +\xbe\xd2?\xd2\xc1\xd3D\xd3\xc6\xd4I\xd4\xcb\xd5N\xd5\ +\xd1\xd6U\xd6\xd8\xd7\x5c\xd7\xe0\xd8d\xd8\xe8\xd9l\xd9\ +\xf1\xdav\xda\xfb\xdb\x80\xdc\x05\xdc\x8a\xdd\x10\xdd\x96\xde\ +\x1c\xde\xa2\xdf)\xdf\xaf\xe06\xe0\xbd\xe1D\xe1\xcc\xe2\ +S\xe2\xdb\xe3c\xe3\xeb\xe4s\xe4\xfc\xe5\x84\xe6\x0d\xe6\ +\x96\xe7\x1f\xe7\xa9\xe82\xe8\xbc\xe9F\xe9\xd0\xea[\xea\ +\xe5\xebp\xeb\xfb\xec\x86\xed\x11\xed\x9c\xee(\xee\xb4\xef\ +@\xef\xcc\xf0X\xf0\xe5\xf1r\xf1\xff\xf2\x8c\xf3\x19\xf3\ +\xa7\xf44\xf4\xc2\xf5P\xf5\xde\xf6m\xf6\xfb\xf7\x8a\xf8\ +\x19\xf8\xa8\xf98\xf9\xc7\xfaW\xfa\xe7\xfbw\xfc\x07\xfc\ +\x98\xfd)\xfd\xba\xfeK\xfe\xdc\xffm\xff\xff\x80\x00 \ +P8$\x16\x0d\x07\x84BaP\xb8d6\x1d\x0f\x88\ +DbQ8\xa4V-\x17\x8cFcQ\xb8\xe4v=\ +\x1f\x90HdR9$\x96M'\x94JeR\xb9d\ +\xb6]/\x98A\x00\x930(*l\x0c\x9c\x03\x02\x13\ +`P0\x07?\x02?\xe8O\xe8X\x06 \x01\xa4\x00\ +hO\xfa$\x1a\x93H\x82R\xdf\xf0J}J\x06\xff\ +\xa4\x80\xa9t\xd0\x05\x1a\x07U\xa5\xd5\xeb\xf4\xfa\x8d\x86\ +\x05S\x81S\xe9VhK\xfc\x05o\x01\xd5\xaa\xf6\xca\ +\x8d~\x0fh\xb4\xd2\x00P\x8a\x95\x92\xefK\xb0P\xac\ +W\x9aM\xca\x9dI\xbe]05\xca\xf0\x02\x98\xfe\xc8\ +>\xf2O\xa7\xa6U\xe2\xf3\xcc<2O\xb7\xce\x1aS\ +O\x07\xe8Bcm!\x10\x87\xa7)\x89\xb5C\x00v\ +\xb4#?\x01\x81*\x98\x88]\xf7i\x87\xa4g\xb18\ ++\x1e\xe7\x01\xb7\x8e\xed\xaa\x17:\x15\xfa\x0d\xba\xde\xda\ +\xf7\x98Ln;\x7f\xbe\xe2\xf0!\x99\xec\x0d\xe2\xbbj\ +\xe8T\xab\x18^\x7f6\x9f\x90\xc8uz\xbb>\xcf\x81\ +\xfc\xf8\xf4=\x9c\xbe\xb6\xf3#\xdc\xbaa|VN\x0f\ +\xa3c6\xfa\x94\x04\xbfAb\xcf\xf4\xe0)\xc0\x03:\ +r\x08-\xebzc\x03\xc1\x10L\x15\x05>\xe6\x94\x1c\ +c\x13p\x89\x04h\xc2\x86+\xee\x90\x00\xd0\xc8\x10(\ +C\x83 \xdb\x0f\x91\x00LD\x05\xc1q,M\x13\xc5\ +\x09B\xa4fE\x85\xf9\x17\x17\x8d\xa6\xfcdk\xb9\x08\ +\xb0;\x1b\x84\x84LtV5A0_\x14\xc8\x12\x0c\ +\x85!\xa2\xe7\xd4\x8c|\x93RI\x00SI\x84|\x8c\ +}\x1f(\xc4\x0a\x01\x07\xb2\xa8\x9aCK\x058\x0f-\ +\x812$\xbd/\xcc\x13\x0a\x04gL\x86\x08\xed3\x8a\ +\x87\x84\xd4v#\x09\x98\x08\x02\x8a\xf3\x88\xda7\xce\x84\ +\x5c\xa71O\x13\xcc\xf5\x03\x9d\x13\xe9\xc44P\x02\x11\ +\xc9A\x9b\xa8\xc42\x03\x01\x03-\x14?\x0c\x14h\xf0\ +\xe3Ot\x8d%I\xa3\xe7\x95,w\x0c\x94\xc8|o\ +S\x86\xad\x0d\x0d\x0d\x95\x09\x0e\xfe\x8b#}!JU\ +\x15MT\x873\x07\x99\xe1E\x0c\xa1\xf1\xb9Y\x9ah\ +\xc4\xb6\x03\x810\xf8\xdaDN\x22\xb8\xdbS\xc4\xae\x13\ +\x9bU\xc8q\xab\xae\xe1\xa1V\x15UV\x9e\x14\xc8\xc8\ +\x1e\x9b\xb6\x89\xa9O\xd1\x03u\xacD\xd7\xb5\xfb\xa4\x89\ +\xaaF\xdd\xbch\x9e\xb7\x09\xe6\xea\xcav\x13\xa8\xe0\x1f\ +\xb7I\xfb;\xb8\x8e\xdb\xb2\xf29Wr\xd4\x82<\xc8\ +E\x80\xe3\xbb\xab+\xa3d9\xd7\xdd\xe3}-\xd0-\ +\xec\xe0X\xc8\xa3\xc6\xe4\xbc\xce\xc5\xde\xbf\xb9`\x04\xdc\ +\x02\x84X\x88T\x05\xe2\x80r8\xca\x9e\x87\x8d\x9c\x1e\ +\xd6f\xe5j\x8b\xd6\xe0MB6\x10\xe2\xc6L7^\ +\xe8\x89\xf9\x95\x9fc\xa6\x5c(\x9a\xf9\x89\x9be!\xf7\ +2\x87\x02\x80xN\x15\x80:\xb6\x15 \xed.\x92\x9d\ +\xea\x81\xe8O\x06R\xe9\xad\x97r\xb5\x9b\xae\x17\xa6\x8c\ +\xe0`\xeec\xcdr\xbb\xb9\xa5\x93|\xdd\xb4\x83\xcc\x08\ +\xeb\x80\xa8\xf9\xaf\x93an\xc4\x1cb\xec\xb0\xc7\xb3\x87\ +\x96\x89\xbbi\xe4\x12\xe6GQ\xbf\xa3z8\xfb\x8c\xdb\ +\xa8~i\xef\x06E\x89\xbd\xef\x88>\xb8\x08\x82\xb1\xd1\ +\x12U\x86\x5c(~\x8eY\x9b\xa8\xcc\x1f\xdb\xc6\xd9\xa5\ +[K\x95\xd5y9h\xe8{\xefX\x07\xc6\xa74d\ +\xef\xbc\xee\xfa\x08t\x00\xa4^E\x95\xc1\x87L\x1er\ +\xa8v1\x8dS8\xe5i\xc8W\x1b~L,e\x16\ +\xda%'\x9f#?t o\x06\x9e\xf5\xcfx\x15W\ +@\x08tQ\x7fK\xd3\xf5(m\x99\xdd\x0c\xe2\x01\xb5\ +\xe7\x9a6\xa0\x11\xc9T\x9b\x926\xfb\xf9\x82\x04\x1ci\ +\x18\xfe\x0f\xbdJx`\xa1\x15\xf1\x95\xbc(d\x1fl\ +\xb8\xcf\x14\x1f\xf9\xe6\xd7\xa3\xb6\xf65\x17g\xda\xdf\x88\ +\xa7/Es<\xdf\xbf\xfd\xcfmh\x1c\x04\x84d\x01\ +\x15\xcf\x99\xc3\x91\xb5\x98\xe6\x18\xeb\x1f\x22\xcc\x85\xc9-\ +\x97\x92C\x1b\xa3vw\xae\xfd\xfeAT\xc0\xf8]\x18\ +\xae\x060l\x1e\x91\xc5\xc2=G\x93g\x0c`\xf2\x04\ +\xbb\x06D\xfc\x99<\x0f!l\xac~\x0f\xb71\x04\xe0\ +\xb41K\xcd\xfd\xc0\xa3\xb7\xcc\xfa 1\x99\x81\x0e\xbd\ +\xf8\x00\x95\xac\x1b\x96\xc2rnfM\xcc9\xa1\xa8\xe7\ +!\x91\x02\x02\xb1,\x0d\x02\xf8\x9c\x0e\xc1DQ\x06Q\ +D\x14\x03\x10-\x15\xc0\xeb\xfe\x021h\x82)a\xe4\ +;\xd6`\xe9\x8cC\x8cl\xc6Q\x9e6#@\xce\x1a\ +\x11\xacb\x0e\xb8\xdc9\xa1\x8c4|b(V\xc1\xb0\ +c\x07a\xca\xaecm\xa9\xb6@\xb7\x22\x88 s\xb6\ +\x220E\xc5\xc3\x07=\x15\xc0\xb0\x1b\x09R,.\x04\ +\x09\x1c\x14\x01\x5c\x91\x06\xf0\xa8\x8f\x15!\xad%\xc6X\ +\xbf\x93B\xbc\x5cI\xd1J\x9fG@\xe3o\x90a\xe3\ +Gh\xf0F\x9d[\xeb}\xaf\xbe??\x16H\xf5H\ +\xe4,\x1fln#D\x85P\xd8\x81h8T\x81\xc0\ +\xd3\x840\xa6l\x0d\x92`]C\xf2M\x0b\xf1^)\ +\xe6@\x90B\x83Dc)8\xe4\xf9%3\x88\x87O\ +\xe2\x12\xc3\xd7$\xfc\xc8\xe3\xb8}r\xd5=\x01y\xbc\ +\x07\x03\x8c\xe1\x11\xc1\x12r\x05W\xf6/\xa7@\xad\x11\ +\xd3\xac9J\x01\xc4\x98_\x0cs\x8e\xb0rJ\x10\x97\ +\x96\xee\xe5[\xd2\x9a\xf0\xa6A\x11\x09\x08\xdd\xdb\xcaD\ +\x00\xb4\x0c\x03\x05\xba\x0c\x1c\xa1\x10|D@%\x12D\ +\x90\x00z\x07\xc0\xf6\x13\xd4LB\x8aJ,#]\xc2\ +@\x99\xf1\xd2h\x91\xb7V\xc6\xe6\xac\xadW2\x01\xca\ +O\xd7-\x11\x1f\xc4\xdcE \xe2\x96\x04d\xce\x1d\x84\ +\x98\x1e\xa6@\x9a\x87\x11\x11\xc7M\xc6\xe3\xa3\x0d\xa3\x1a\ +\x9e\x0b\x84L\xf8`\x08\x8c\x15\xee\x98\x18\x03\xc7\xd2<\ +eS\xd0\x84\xd06\x92\xbfR',\xa5\xa3\xfaA\x09\ +L4\xd5Q\x06\x18j\xc0z\xa6\xa4\x80P\xd5\xd1\x12\ +%k\x00zhd\xba\x1a8!Y\x0d\xe0\xf2\xe1\x84\ +-\xa2\x90\x91VC\x0f\xc4HV\xaeA\xb2z\x90\x87\ +p\xf6d1.\x01\xb5\xec\x08\x08J\xfc)A\xdd\x81\ +\x09Ul\x93\xd3\xc1\x8c.\x03\xdd\x89\x0b+0\x96Q\ +\xb9\xe7\x1d\xea;\x98q\xae>\x1e\xb6\xf9`\xf5\xcc\x9b\ +\xeb\xaf$\xa5\x88\x82 UPE\x852\x03\xc0\x96\xc2\ +\x12\xean8\xc6\xe3.\x0e\x81A\xb5)\xe2Oc\xa8\ +\xec\xa82\xd6IoYJD\xec\xa7\xe5N\x22Oa\ +\xdd\xbd\xb7\xbaI\xcd 6\x08u\x04W\x93\xc0\x1bi\ +PP\xf6\xb9C\xd2\x97\x85#\xdc2\x05\xd9$\x86\x90\ +f'\x02\xf0w]H<\x07\x9a\x90\xf0\x8b(p\x11\ +\x5c&\xc5\x98\x1fc\xea\x22\xd5\x22D\x0d\xef@D\x9d\ +b8Y2\x1b\x90\x90\x12x\xf8\x0eW\xcc'\x5c\xfb\ +\xa2G\xe5#\xa4\xa8\x8e\xa2\x93:\xa3-R_uK\ +\xa4\x8a\xfa\xec\x10i\xfff\xc8\xe5,\x07\x01\x1a\xf5\x8b\ +\x1b\xbc\x91#p\xeb\x1c\xc2\xf7\x0a\x0a\xcb\x0c-\xe7t\ +b\x1d#\x8c\xa9D\xb0*\x06\x84\xbe!\x17\xb2 \x0e\ +'\xab\xe3|\xc3\x90O\xb9\xe2\xe8\x8eO\x17\xc9Z(\ +\xf5\xb3\x7f\x16O\x01+\xb9\x03n\xa4\x1d\x99\x82T\x04\ +\x8d\x83\x9c|\x11\xc4nA\x16\x18=\x14\x8e|\x8c8\ +D\x86I\x0es\x14W\xd62\x22+\xf2\x80\xdbF\xe0\ +t\x12);\xe2\x1c\xf2\xc0P\x18\xf9l\x5c\x91\x8c]\ +\x1d1\x85\xb2c6\xd1\xc7cW'\x81/\xe9\x0d\xb7\ +\x8f6\xdf\x11\x89\x22\x0a\xc1\xa8\x99\xceC\x00\x04gP\ +\x14\x90(\xb0\xa4\x11\xa2c>\x07\xda =\xc8\xe6P\ +\x15\xf9I\x1c*\xaa =\x9f\x5c\x97\x1a\xc30\x8a_\ +\x985\x07+L cx\xd2\x1e\xd7\x0a\xe4\x15\xab\xa6\ +i\x82\x06M\xec\xe6\xd2&\x065\x00\x1e\xab\xa2\x84d\ +\x81=L\x06\x111\xe6\xa7B\xafV\x09bI\xa0\xb4\ +&To\x83\xb7Z\x0e\x80\xbf\xad\xc1\xb4\xa0\x94D>\ +\xb2\xc3g\x0b\x0e3\x15Hn\xd3\xe4\x8b\xdd\xe0\xe1\xb1\ +\xc4XU\xd9A\xaf\x02\x90\x5c\x0f\x8f\x08q9\x01\xc2\ +wj\x0cPG\xb5\xc1b@\xaf\xc2\x102\x8b\x0d\xbc\ +'\x09F\xb0\xcayU\xcfY5\x9c\x0f \xf8\xf3!\ +\x9a\xf4D\x8a\xc9M\xb3H#\x89n\xdaR\x91T\xcc\ +\xd1\x8e'\xf6:\x90\xbb@\x84\x94\xf1\x1f\xbf\xc5\x98<\ +\xe0A- \x0bN\x0c(\x04\x07\x09\x0c$\xb3qh\ +W\xbe|F\x10\xb2\xcb\x01\xcc(,l\xbe\xf9u\xfc\ +\xd2U\xd0\xed\x8f=&\xde\x16\xb9\x00p\x88w\x8fN\ +\xa0\xeb~B\x96p|P\x01\xa0A\xa4\x01\xcd\xcb\xc7\ +\x06\x97\x05z\x1f\x86e\x1d\xc7\x0cD\xa79\x0f\x02\x83\ +\x9e\x08\x92\x11\x0d\x04GA\x15P\x13x\x108\xbc;\ +\xde\xce\xf4\xad\xc9sKW>\x8a@\x9d\xc7+\x08:\ +x\x83_\xb4\x92&\x86\x038\xdbU\xfbn\xed\xf2a\ +\xc3u\x94\x16\x98p\x88\x1eR\xa2\x05\xa3\xad\x89\x19\xde\ +N/\xa5\x11H\x18\x88/\x09\x1a\xd9\xee\xf8\x82m)\ +\x90)\xc6\x90\x19\xef@} da\xce8B\x8f\x81\ +\x04\xb2\xcb\xaf\xf3n\x1d\x12G\x17\x89\x1b|\x80-\x03\ +\x0d\x0f\xc5\xf3\x09\x19\xa3\xee\xb6\xb6\xf6\xe6\xdd\x0a\x1d\xa7\ +O\x00\x1d\xce\x0a\x00\x09\xc2\x1cDm\x06\x0ba\xc9\x22\ +\x0a/L\x22\x84\x97\xa9\x0e\xe8'\xb0nK\x08'=\ +\x80\x82\xcf\x82`?\xf9\x0e3\x1eVk\xad\x8f\x90\x9a\ +\xdcy\x9d4B\xdf\xba\xb1\x96\xb5\xec\x06\x81\x01k\xf1\ +\xc7\x19<\x01\x89\x13\xa9\x22\xc1\x980=g\x86\xec6\ +\x13\xa3\x84\xcf\xac\x07\x99\x0c\xf2\xed$b\x0f\x8f-'\ +ms7q#>s[\x85\xf0\xec\xae\xb9\xf2C\x1f\ +?\xac{\x83\xff\xdc\x03\xfc\x22\x08\xf5\xb7\xbc\x81\xef\xf1\ +\x1e\x1c\xbe8\xb5\x14w\x12\xfd\xe9\x1f\xbcu\xae\xda\x22\ +j\xdeZ\xed.\xd3-\xf0\xa4\xeeH\xb7\xaeL\x120\ +\x18\x16\xab\x02\x07k\x06He\x06\x1c\x81\xbaC\x80\xa0\ +\xf5\xc4\x14\x03\x904\x04F\x1e$\x8b\xd6\x16KD\xa6\ +\x84\x86\xe2\x01f\x100L\x0c+\x88\xfbb.ul\ +\xc8\xb6\xce\x96W\x0d\xec[P\x0e!\xcf\x82\x7f(\x8e\ +\x15\xd0p\x1b0BH\x89\x96\x18\xae\xc8\xa6\xaff\x17\ +\xc0i\x08`\x82H\x83\xe8\x1c\x01\xb0s\x09\xe4\xbfo\ +5\x05\x8cf\xfc\x09\xac\xc0pdXb&\xf3\x81\x8b\ +\x0a\xe1\xec\xbd\xc4\x86\x18\x90\xb8\x16\x8d\x8e\x0e\x00\x9a\xa6\ +\xab\x88\x91\xc0\x80\x0a\x04\x88\xfda\xf2\x1e\xe0\x97\x0d`\ +<\x9eO\x22#\x0e\xd6q\x90\xa0\xde\xb0\xa4\xf3J\xee\ +wh&\x16P\xf4\x1b\xe05\x0f\xa0@H\x8b|\x0c\ +Q\x04\x07Jj\xf6\x018\x18J\x88\x94\xe4\x82\xe5\xe1\ +\xcc\x1b\xef\xca\x06\xea\xcd\x0d\xe2.\xbbEb\xf2\xb0\x04\ +\x8f\xecl\xa9\xb0\xa8\xb7jP\xf8G6\x12\xd1@\x17\ +k\x82\x08\x84\x88=a\xca\x1b\xc0\x9f\x15 F\xa6\xb0\ +p\x15\xd0t\xa6d\x88\xc5f\xbe\x0f\x80\xb6\x830\x98\ +\xf7\xe2\x14\xfb\xaf\xbe\xcc\xb0\xa3\x13-\xef\x13lr\xbc\ +k4o'$\xfc\xafVHk\xe2\xfd\xc0~\x01\xe4\ +.{\xe6\x1e\x18\x11\xa0\x1e\x0c\xea\x01\x0c\xeeHj&\ +\x13\xc1\x0a\xee\xe1#\x09g\x91\x17\x09\xec3'\xd7\x00\ +\x22$d/z~\x91\x80\xdf1\x84\xc7g|\xef@\ +2\x03\xe1c\x1d\xe1\xba\xebD\x86\xaa\xa0\xd2\x08a\x97\ +\x1e\xe1|\x7f`g\x1f`~\xceA2\xfa\x04\x86>\ +\xe0\x9d `B>\xf0\xdc\xf6\xe25\x0e1\xc4\x220\ +\x06\x88\x10\x0a\xf3Pj\xec\xc0\x00\xe8!\x10\x15)\xc8\ +\x08\x80\xacH\x8c\xf2\x11\x8c\x92\x12\x00\xea\x7fj\xe0\x0b\ +\xd2D\x0e\xc4\x89\x0fAd\x13\xe1\x05% \xc4\xb6\x0d\ + \xc6,\xc7\x09\xf1y\x0e\x85v\xfcB0\xf3\x82\x09\ +\x03@8\x04D\x98\x14\xc1\xa0\xb8\xc4\x80\xc3A\xc7\x02\ +\xc0I\x19\xa5\x88\xa0`\x0a\x00\xcd`\xd4\x000\x03\xc4\ +\x80Y\x85z\x05\x81\xd5*!\xca\xdd\x8a\xcf!\x0e\xd5\ +\x1c\x0d\xe7\x0ep^\xa4rfd\xeeF\xbc\x8aR\xbc\ +\xc2\x0a\xfa\xc0\x98\x0b\xce\x12\x10\x01BH\x92(\x0d!\ +Y-\xa10o\x84\x00\x0a`\xce\x0f2\xe9-\xe4\x86\ +\x0fR\xf0\x0b\x01u/aR \x8c\xbf*\xa0d\x80\ +\xb2\x12\x9aq*\xbb\x92\xb7\x062 \xdfJ\x00\xee\x82\ +\x17,\xe1?,\x80\xc0H\x09\xdc\xd9@\xaa\x05A\xef\ +2\xe1\xeaRj\x16\x01r\xda\x15\x81\xae\x9b\xc0.\x03\ +\xa4\x80\xdb\xc1`\x13m\xb6\x0c\xc2\x104 \x1e\x02g\ +F\xe3\x13\x02\xb22a\x05\xcf-\x06\x10\xeb\x1b\xc2\x11\ +\x222\xc4!\x11\xa6\x01-\xa8\x13\xa1\x8a\x04\xf3\x80\x06\ +$\x80\x93\xa1p\x14\xb1f\x0b\x85&\xdbaJ\x09\x13\ +\x98\x0bD\x80\x8d\x01\xb0\x19\xb1\x04\x0c@v\xa3\x22\x0e\ +\xf6\xc7\xce\xff\xd1w6Q/6\x92\xbav\x89be\ +\x88^\xdf\x82\x19)@:\x13\xf3\xd0\x19\x0c<\x03D\ +\x80p@\xd6\xd5\x81V\xd5\xc4\xc0W\xa0\xd8\x0e\xb3\xec\ +\x12d\x81*!\xd4\x1c\xa5\x1a\x0c\x00o?A\xca\xdd\ +f\xbb\x122\xad\x0e\x13\x08VS\x0d6r\xb8\xcc\xf0\ +\xa7&\xb1;\x06\xc9l\x223\x80\x04\xe0`B!6\ +\x18o\x94D\xc2\xa5\x01\x81\x22\x0e\x8c\xf2\x11\xc4\x81$\ +@\xbc\x0e\xaf\xd0\xf3B@\xb9A\xec\x1ef6\xd8\x82\ +\x1d5@'\x052Z\xd8*AA3\xbbAlo\ +\x1c\xf0\x10\x1fNJ{\x821\x01\xe0\x92\xfe\xc1g\x1e\ +DQ3\xa1,\x12t\x8c\x0f\x0d\xd2%\x8d\xa4\x87\xe1\ +\x14\x0aT\x9c\x0c\xe4\x80<\x01\xfb\x0b\xe0\x98\xb0\xca|\ +\x22k\x1d\x16\xf0f!\xb1u\x00\x12\xb5AJ\xe0[\ +2\xbf\x18s\x18#I\x16\x09@\xb9,\xe1AHD\ +N\x1d\x94\xdc\x1c\xeer\x12\x80\xf38\x81L\xfe\x225\ +(\xc0\x0d9\x80\x90\x0bG$?@$\x02\xf4\xa22\ +\x01\xfb,\xe0\xc0\x16\xd5\x0c\x14\x821%\x8b!%\xc7\ +XY\xf1-\x1cq1A\x90\xecH\xe70\x1a\xb5,\ +\x19BAO@\xb3%!\x04\x14t\xd8H\x0e\x8f\x1a\ +\x01\x80\x16\x0c\xb6\x18\xe1p\x9d\xd3\xf4\x1c\x82\x08\xc4\x92\ +\x94\x03\xd4}\x19@\xa0\xf8\x80 H\x94\xa4\x0f\xd5l\ +\x0b\xb3\x88\x14\xecZt/\xb4\x9e\x93l \xef'Q\ +\xd4iR\x13\xbdRU~\xc0\xd3\x14\xc1\x02?\x22\xe0\ +\xa8\x10\xb5\x9c\x14\xe9\x80\xfe\x84P\x98k\x12\x0f`\xb4\ +\x17\x95\xb0\x15b@\xed\x14b\xf2LdV2\x16\x22\ +\x12\x1a\xae.\x9dX\xe2\x0aw\x15+R\xe2Q\x0c\x80\ +\xa0K\x01\x0c\x14\xec\x89ZB^w\x15\xaa\x0b,\x98\ +$\x93\xb0\xd8\x15\xbc}M\x86\xa9Qz\x11\x12h\x22\ +\xf2l%`S`\xa0f\x835[^BQ(\x13\ +\xec\x0e\xa0\xa4\xd1M\x18\xb5\xf4\x06Gm\xdf\x5c\xc2\x09\ +\x09\xd5\xc1K\xf4k1\x16, p\xeey\xb5\x94%\ +G\xc3\x22\x81S\x08`h\x08V\x14#\xe1\x9bea\ +\x80\x0f\x16\x5c\x0a\xc1\xdff!\xd6\xb1\xa6\xbbW\xb5\x16\ +#O\xba\xec\x95\x1f!\x95#`\x22,\x96S\xc7L\ +\xa2b6\x00\x06r@\xb9h\xe0\xe9e\x22-'a\ +\x1e\xf5!$\x0e\xc8X\x1f\x82aE\xd4af\xf5\xf6\ +\x1e0Z\x9fD@\xb2\xee\xe5Y3\xc8D\xb4|\xb5\ +A$\xe6\xf6\x94 \x90&\x1b\xaa\x82\x0d\xf0\xb8\x18\x81\ +j\xa7\xe7C\x16\xd1\xbbKb\x19c\x00}\x5c\x22\x1e\ +\xed\xf3\xbe\x0d\xd4\xc7\x1dO:H\x14\xf0\xf4J\x10l\ +\xea\x14Djk2\xe1\xee\x1e\xb3\xd0\x13\xe1\x0c\xcf*\ +0H\xe4\x81j\x88\x02\x15\xf0T\x22\xd6\xe9n\xc2\x1c\ +\xbb\xd4\xc3\x13T\x1c\xbck\xca\x88\xe4\xf4\x91\x006N\ +\x80\xde\x11`\x8ft\xa0\xb2\x7fr\xf6\x17ASC\x80\ +\xe8\xc3UTL\x0d\xd8\x15h\xec\x07\xcf5\x12\x94\x10\ +\xe3\xb5\xffF\xe20\xea%\x00\xeanLUV\x0a\x05\ + f~`\x8bx\xa0\xaeP\xe0\x0eL#\xee\x17w\ +\x98\x15!Qy\xe1%b\x05'[\x96\xad@\xce6\ +\xbbwp\xb6\xe5Ek\x8f\xc62f7R\xc1\xabS\ +\x07<\x86\x97J\x08\xe0\xb1]\x97gZ\x22V\x98a\ +\x9f}\xa1\x87TAau!P\x1d\xd7\xe8\x1dIG\ +W\x87\xc70\x13\x04#/\xbb:`v\xf7k+{\ +f\xe3+\xf7;B(b\x8bIp\x07\x14&\x06$\ +z\x06\x13\xcc\xf8\x80#VB\xbeU\xa8\xc032\x80\ +\x8c\xa1\xb2\x19\xe7\xda\x1a\x0b|\xe8\xe8c_.4\x1e\ +\x07\xb3E\x92\xb7\x1c\xb3\x13\x1d-\xf7hV\xcb\x85b\ +7*\x91%r\x83-Fw\xb30\xf3knO\x81\ +k\xd8U\x85\x98t\x22\xd7\xa9\x11W\xac\x1e\x11\xc3c\ +U\x89F\xd75`Xqo\xb8w\x89\x22%\x84\x15\ +\x19\x86H\x15\x86\x96\xf3\x80\x92\xc3s\xd8\x95\x8a\xb8\x97\ +\x7f\x0c\xc1@\xb1'+\x0e\xd9\x88Vx\x95\xc6J\xb7\ +4q\x06\x8d9\x01Ty\x8a\xd8\xd0!\xd2\xa9b\xb8\ +l!U\x82u\xd8f\x22\x970Z\xf6|\x22\xb6\x80\ +\x7f\x16C\x8d8\xf4 \x98]\x8bXa%\xf63&\ +2\xb6\xe9\xad1\x84\xf2\xc1\x13\xd8\xa9\x8fy\x14 \xb8\ +\x99FO)Xx\xbe\x84\xe6H~y\x0d\x80\xb9\x17\ +\x92\xe2\x06\xa8\x17\x22\xff\xa27g*\xd9\x92\x15\xc5R\ +7t\x22\xe9e\x22\x80\xd4FA\xbeF\x82\xe8.\xe3\ +v^B\xb2_C\x19\x96\x06p+b\xbfJT\x84\ +/\x02\xd5\x96\x83zic\x96;Y^6\xa2\x86`\ +\x09\x81\x97B\x1c+#\x0ciF\x9c\x1f\xc1\xfb\x97\xe3\ +\x1cjf\x04-#j \xe3\x94\x1f\xc3\x8c9\xa2\xb7\ +\x96b\x87\x82\x00\xd7\x9ba\x0b\x81\xaa\x8f\x89\xcf\xc3+\ +\xc2>\x96F\x0ak&\x08j\xa3\x14;\x85\xfc!\x86\ +\xa2_\xa5\xe4\x5c\xecpj\xc2\x0b\x9eFl_\xd9\xe0\ +^&\x7f\x9d4\xb7\x9eFy\x9c\xe2\x84]\x82\xcf\x95\ +e\xda^\x06\x1fD\xc2\x07r\xb8\xbd\x945\x8b\x94y\ +1\xa1\xa4\xf7\xa1\x19\x05\x8eD5s1\x7f\xa1\xda,\ +O.\x8e}vw\xa1@\x12\x0dZ<\x10\x97\x01\xa2\ +\xfaDO7\xe8\x1d\xc1\xd4\xe5`\x84S\x81\xbc\xb5\xcb\ +\xbaC \x0fh\xe0\xb8\x0e\x91\xe8\x10z\x0d\xa4zl\ +$\xbaT\x1a\xd7D\x09N\xfc\x1c\x220\x98\x00\x83\xa8\ + \xa3\x04\xc1\x02\x140\xb5\xa6\xfa\x90AC\xcdN\x88\ +\xe6\x0d\x87V#\x02\x9f\x0458\x14L\xde\x06\xda\x93\ +\xaa\xe4\x10\xd6\x81\xda\x1d\x19L\x18:\xbc\x16T\xa4#\ +\x86B\x97\xa0\xa9\x0b\xe1\x19O\xc0-\xab\x1a\xd4$\xe7\ +W'a \x15:\xe0\x12a\xe3\xaea\xda$\x87\xfc\ +\x02Q\x94\x09\xd0\x0a\xda\xe0F\x05r\x8dy\x22'\x9d\ +\xb9\xd9\x9dC\xac^\x19\xeb\xb0\xa3\x93\x9e\xfb\x0f\xb0c\ +\xb3\x9d\xa3\xc5\x9f\xc3\xac\x9e\xb9\xef\x95\xbb\x1e_\x99\xca\ +!Y\xf2a\xbb*_\xe6j)k\xe2\x1c;@\x1b\ +1\xde\x16!=[\x01x\x15zJ\x1d\x22P)\xe6\ +B\xdch\xa8\x06PCVB\x9fN\xd9\xdc`e\xf9\ +\x9d\xb9\xe4gC\xb0h\x05\xfd\x9d\xa6\x8a2\x02\x08g\ +\x14\xa5\xb2Y\xd0a\xa2\xa4j\x86\x1a`\x1a\x00X\xe0\ +\x02<\xdb\x8f\x99\xe2\x05\x99\xc2\xdf\xb7\x99\x5c8\x1bu\ +\x8c`\x01\xb7\xe1\xfd\xb2b\x0eJe\xd4\x1f\xbb\x82@\ +\xb0\xd0\x1f\x18(\xb4\xe1\xb9\xa7)@\x1c7\x0c\x1e\xbb\ +.$\xa2\x9e\x98\x06\x1f\xb9\x03\xb4\x22\x99\xf8A\x1b\xb8\ +H[\xea$[\xf2K\xc3\xcc\x98t\xa5\xbd\xba\xd7\xc0\ +<\x05\xc0|\x09\xc0\xbc\x0d\xc0\xe2\x08 \x00\x00\x03\ +\x00\x01\xa0\x03\x00\x01\x00\x00\x00\x01\x00\x00\x00\x02\xa0\x04\ +\x00\x01\x00\x00\x00`\x00\x00\x00\x03\xa0\x04\x00\x01\x00\x00\ +\x00`\x00\x00\x00\x00\x00\x00\x00\x00\x00Adobe\ + Photoshop Docum\ +ent Data Block\x00M\ +IB8nrTM\x00\x00\x00\x00MIB8r\ +yaL\xdc\x19\x00\x00\x01\x00\x03\x00\x00\x00\x03\x00\x00\ +\x00]\x00\x00\x00\x5c\x00\x00\x00\x04\x00\xff\xff\x9b\x0b\x00\ +\x00\x00\x00C\x04\x00\x00\x01\x00C\x04\x00\x00\x02\x00C\ +\x04\x00\x00MIB8mron\xff\x00\x08\x00<\ +\x01\x00\x00\x00\x00\x00\x00(\x00\x00\x00\x00\x00\xff\xff\x00\ +\x00\xff\xff\x00\x00\xff\xff\x00\x00\xff\xff\x00\x00\xff\xff\x00\ +\x00\xff\xff\x00\x00\xff\xff\x00\x00\xff\xff\x00\x00\xff\xff\x00\ +\x00\xff\xff\x07Layer 0MIB8i\ +nul\x14\x00\x00\x00\x07\x00\x00\x00L\x00a\x00y\ +\x00e\x00r\x00 \x000\x00\x00\x00MIB8r\ +snl\x04\x00\x00\x00ryalMIB8d\ +iyl\x04\x00\x00\x00\x03\x00\x00\x00MIB8l\ +blc\x04\x00\x00\x00\x01\x00\x00\x00MIB8x\ +fni\x04\x00\x00\x00\x00\x00\x00\x00MIB8o\ +knk\x04\x00\x00\x00\x00\x00\x00\x00MIB8f\ +psl\x04\x00\x00\x00\x00\x00\x00\x00MIB8r\ +lcl\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00M\ +IB8dmhsH\x00\x00\x00\x01\x00\x00\x00M\ +IB8tsuc\x00\x00\x00\x004\x00\x00\x00\x10\ +\x00\x00\x00\x01\x00\x00\x00\x00\x00\x08\x00\x00\x00met\ +adata\x01\x00\x00\x00\x09\x00\x00\x00lay\ +erTimebuod\xc2\x93A\xe0\xf78\ +\xd6A\x00MIB8prxf\x10\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\ +\x00S\x00O\x00\x0f\x00\x0c\x00\x0a\x00\x09\x00\x09\x00\x09\ +\x00\x09\x00\x15\x00I\x00K\x00\x12\x00\x14\x00\x14\x00\x12\ +\x00\x13\x00\x13\x00\x13\x00#\x00!\x00\x1e\x00\x1d\x00\x1f\ +\x00\x1d\x00\x1d\x00\x1d\x00\x1c\x00\x1e\x00\x1d\x00(\x00'\ +\x00&\x00&\x00&\x00%\x00$\x00$\x00\x22\x00 \ +\x00 \x00\x1e\x00\x22\x00\x1f\x00\x1e\x00\x1e\x00\x1f\x00!\ +\x00 \x00 \x00#\x00!\x00%\x00%\x00$\x00'\ +\x00(\x00(\x00+\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1c\ +\x00\x1d\x00\x1e\x00\x1e\x00\x1f\x00 \x00#\x00\x13\x00\x13\ +\x00\x13\x00\x12\x00\x14\x00\x12\x00\x13\x00\x13\x00M\x00L\ +\x00\x09\x00\x09\x00\x08\x00\x09\x00\x0a\x00\x0a\x00\x0c\x00L\ +\x00W\x00 \x00\xfd\x00\x04\x05\x11!-1\xfe/\xfc\ +0\x181//0110010/1/0\ +010/0110/01\xfe0\x0a/2\ +1100/00//\xfe1\x000\xfe1\x05\ +010/01\xfe0\xfe1\xff0\x081/0\ +/-'\x18\x08\x01\xfe\x00\xff\x00\x07\x01\x14X\xab\xdb\ +\xec\xf0\xf0\xfd\xf1\x00\xf0\xfe\xf1\x00\xf2\xfd\xf1\xff\xf0\x01\ +\xf1\xf0\xf8\xf1\x03\xf0\xf1\xf1\xf0\xfe\xf1\xfe\xf0\x07\xf1\xf0\ +\xf0\xf1\xf1\xf0\xf1\xf0\xfc\xf1\xff\xf0\x1b\xf1\xf0\xf0\xf1\xf2\ +\xf1\xf0\xf1\xf0\xf1\xf1\xf2\xf0\xf1\xf0\xf1\xf0\xf0\xf1\xf0\xee\ +\xe4\xc2|.\x06\x00\x00\xff\x00\x03\x16\x86\xed\xfd\xb3\xff\ +\x04\xf9\xbfA\x06\x00\x03\x00\x08l\xf4\xb0\xff\x03\xfe\xbd\ +*\x01\x02\x00$\xd0\xae\xff\x02\xf8x\x07\x02\x02O\xf6\ +\xad\xff\x01\xc0\x14\x02\x05r\xfd\xad\xff\x01\xe1#\x02\x08\ +\x86\xfe\xad\xff\x01\xed+\x02\x08\x8f\xfe\xad\xff\x01\xef-\ +\x02\x09\x91\xfe\xf1\xff\x00\xfe\xdb\xff\xfe\xfe\xfd\xff\x00\xfe\ +\xec\xff\x01\xef,\x02\x08\x91\xfe\xfa\xff\x17\xfe\xcf\xc2\xc3\ +\xc2\xc4\xc3\xc4\xc3\xc3\xc4\xc4\xc1\xc3\xc3\xc2\xc3\xc2\xc2\xc3\ +\xc2\xc3\xc4\xc4\xfe\xc2\xfd\xc3\x0a\xc2\xc3\xc3\xc2\xc3\xc3\xc2\ +\xc3\xc2\xc2\xc1\xfe\xc3\xff\xc4\xf9\xc3\x06\xc4\xc3\xc3\xc4\xc2\ +\xc3\xc4\xfe\xc3\xff\xc2\x01\xc7\xf1\xf9\xff\x01\xf0-\x02\x09\ +\x90\xfe\xfa\xff\x03\xfaK\x18\x17\xfc\x18\x16\x17\x18\x16\x19\ +\x17\x18\x19\x19\x18\x19\x18\x17\x18\x19\x19\x18\x17\x17\x19\x17\ +\x17\x19\x17\xfb\x18\x11\x17\x16\x18\x16\x19\x19\x17\x18\x18\x19\ +\x18\x18\x19\x17\x19\x18\x19\x18\xfd\x19\x08\x18\x19\x19\x18\x19\ +\x19\x17,\xc7\xf9\xff\x01\xf0,\x01\x09\x90\xf9\xff\x01\xf9\ +8\xc0\x00\x01\x15\xc0\xf9\xff\x01\xef.\x02\x09\x91\xfe\xfa\ +\xff\x01\xf97\xc0\x00\x02\x14\xc2\xfe\xfa\xff\x01\xf0-\x02\ +\x09\x90\xfe\xfa\xff\x01\xf88\xc0\x00\x02\x14\xc2\xfe\xfa\xff\ +\x01\xef/\x01\x08\x90\xf9\xff\x01\xf99\xc0\x00\x01\x14\xc1\ +\xf9\xff\x01\xf0/\x02\x09\x90\xfe\xfa\xff\x01\xf97\xc0\x00\ +\x01\x12\xc0\xf9\xff\x01\xef-\x02\x09\x91\xfe\xfa\xff\x01\xf9\ +8\xc0\x00\x01\x14\xc2\xf9\xff\x01\xf1-\x02\x09\x90\xfe\xfa\ +\xff\x01\xfa8\xc0\x00\x01\x15\xc1\xf9\xff\x01\xef-\x01\x09\ +\x92\xf9\xff\x01\xf97\xe7\x00\x0d\x1aU\x87\xb8\xd5\xe6\xf7\ +\xf7\xe6\xd6\xb9\x88V\x1a\xe8\x00\x01\x15\xc2\xf9\xff\x01\xef\ +,\x02\x09\x91\xfe\xfa\xff\x01\xf98\xea\x00\x03\x1bw\xc7\ +\xfe\xf5\xff\x03\xfe\xc9x\x1d\xeb\x00\x01\x14\xc2\xf9\xff\x01\ +\xf0/\x01\x09\x90\xf9\xff\x01\xfa7\xec\x00\x028\xa8\xfb\ +\xef\xff\x02\xfb\xaa:\xed\x00\x01\x15\xc2\xf9\xff\x01\xef-\ +\x01\x09\x91\xf9\xff\x01\xf87\xee\x00\x01\x1c\xaa\xe9\xff\x01\ +\xac\x1e\xef\x00\x02\x14\xc1\xfe\xfa\xff\x01\xef/\x02\x08\x90\ +\xfe\xfa\xff\x01\xf98\xf0\x00\x02\x06x\xf4\xe7\xff\x02\xf5\ +z\x07\xf1\x00\x01\x15\xc2\xf9\xff\x01\xf0-\x02\x09\x91\xfe\ +\xfa\xff\x01\xf97\xf1\x00\x01F\xd9\xe3\xff\x01\xdbH\xf2\ +\x00\x01\x14\xc3\xf9\xff\x01\xf0/\x02\x09\x91\xfe\xfa\xff\x01\ +\xfa7\xf3\x00\x01\x02\x85\xdf\xff\x01\x88\x02\xf4\x00\x01\x15\ +\xc1\xf9\xff\x01\xf1-\x02\x09\x92\xfe\xfa\xff\x01\xf88\xf4\ +\x00\x01\x10\xb5\xdd\xff\x01\xb7\x10\xf5\x00\x01\x15\xc2\xf9\xff\ +\x01\xf0.\x01\x09\x90\xf9\xff\x01\xf98\xf5\x00\x01*\xda\ +\xdb\xff\x01\xdb+\xf6\x00\x01\x15\xc2\xf9\xff\x01\xf0.\x02\ +\x09\x90\xfe\xfa\xff\x01\xf99\xf6\x00\x01C\xf2\xd9\xff\x01\ +\xf3E\xf7\x00\x02\x15\xc3\xfe\xfa\xff\x01\xef-\x01\x08\x91\ +\xf9\xff\x01\xf97\xf7\x00\x01D\xf6\xd7\xff\x01\xf7E\xf8\ +\x00\x02\x14\xc2\xfe\xfa\xff\x01\xf0/\x02\x09\x91\xfe\xfa\xff\ +\x01\xf98\xf8\x00\x01F\xf7\xf0\xff\x07\xe5\x91H*\x0d\ +\x0c&\xe3\xee\xff\x01\xf7F\xf9\x00\x01\x14\xc1\xf9\xff\x01\ +\xf0.\x02\x09\x91\xfe\xfa\xff\x01\xf98\xf9\x00\x01G\xf7\ +\xf1\xff\x02\xe0S\x02\xfb\x00\x00\xdb\xed\xff\x01\xf7G\xfa\ +\x00\x01\x14\xc1\xf9\xff\x01\xf0.\x02\x09\x91\xfe\xfa\xff\x01\ +\xf99\xfa\x00\x015\xf5\xf1\xff\x01\x8c\x09\xf9\x00\x00\xdb\ +\xec\xff\x01\xf54\xfb\x00\x01\x14\xc2\xf9\xff\x01\xf1.\x02\ +\x09\x92\xfe\xfa\xff\x01\xf99\xfb\x00\x01\x1e\xe7\xf2\xff\x01\ +\xfdj\xf7\x00\x00\xdb\xeb\xff\x01\xe7\x1d\xfc\x00\x01\x15\xc1\ +\xf9\xff\x01\xf0/\x02\x08\x93\xfe\xfa\xff\x01\xf98\xfc\x00\ +\x01\x0e\xd3\xf1\xff\x00d\xf6\x00\x00\xdb\xea\xff\x01\xd1\x0d\ +\xfd\x00\x02\x15\xc1\xfe\xfa\xff\x01\xef.\x02\x09\x91\xfe\xfa\ +\xff\x01\xf98\xfd\x00\x01\x01\xb4\xf1\xff\x00\x9f\xf5\x00\x00\ +\xdb\xe9\xff\x01\xb1\x01\xfe\x00\x01\x14\xc1\xf9\xff\x01\xef-\ +\x01\x08\x8f\xf9\xff\x01\xf99\xfd\x00\x00|\xf1\xff\x01\xdf\ +\x0a\xf5\x00\x00\xdb\xe8\xff\x00w\xfe\x00\x02\x15\xbf\xfe\xfa\ +\xff\x01\xee.\x02\x09\x92\xfe\xfa\xff\x01\xf89\xfe\x00\x01\ +<\xfc\xf1\xff\x00d\xf4\x00\x00\xdb\xe8\xff\x05\xfb7\x00\ +\x00\x14\xc2\xf9\xff\x01\xef.\x01\x09\x91\xf9\xff\x05\xf98\ +\x00\x00\x0e\xe0\xf1\xff\x01\xe0\x05\xf4\x00\x00\xdb\xe7\xff\x04\ +\xda\x0a\x00\x14\xc1\xf9\xff\x01\xf0-\x02\x09\x90\xfe\xfa\xff\ +\x04\xf98\x00\x00\x8d\xf0\xff\x00\x89\xf3\x00\x00\xdb\xe6\xff\ +\x03\x81\x00\x14\xc1\xf9\xff\x01\xef,\x02\x09\x90\xfe\xfa\xff\ +\x04\xf97\x00\x10\xf3\xf0\xff\x00@\xf3\x00\x00\xdb\xe6\xff\ +\x03\xee\x0c\x15\xc2\xf9\xff\x01\xf1.\x01\x09\x91\xf9\xff\x03\ +\xf98\x00v\xf0\xff\x01\xf6\x05\xf3\x00\x00\xdb\xe5\xff\x02\ +q\x14\xc3\xf9\xff\x01\xf1.\x02\x09\x92\xfe\xfa\xff\x03\xf9\ +9\x00\xb5\xf0\xff\x00\xdc\xf2\x00\x00\x22\xf7'\x00\xd9\xf0\ +\xff\x02\xb2\x13\xc2\xf9\xff\x01\xf0.\x02\x09\x91\xfe\xfa\xff\ +\x03\xf97\x00\xd9\xf0\xff\x00\xc4\xe7\x00\x00\xbe\xf0\xff\x03\ +\xd7\x15\xc2\xfe\xfa\xff\x01\xf0.\x02\x09\x91\xfe\xfa\xff\x03\ +\xf98\x00\xf6\xf0\xff\x00\xb3\xe7\x00\x00\xaf\xf0\xff\x02\xf6\ +\x14\xc1\xf9\xff\x01\xef.\x02\x09\x91\xfe\xfa\xff\x03\xf88\ +\x00\xdf\xf0\xff\x00\xc6\xe7\x00\x00\xc2\xf0\xff\x02\xde\x15\xc1\ +\xf9\xff\x01\xef-\x02\x09\x91\xfe\xfa\xff\x03\xf97\x00\xbb\ +\xf0\xff\x00\xdd\xe7\x00\x00\xd9\xf0\xff\x03\xb9\x14\xc2\xfe\xfa\ +\xff\x01\xf1.\x02\x09\x91\xfe\xfa\xff\x03\xf98\x00\x88\xf0\ +\xff\x01\xf7\x06\xe9\x00\x01\x05\xf5\xf0\xff\x03\x84\x15\xc2\xfe\ +\xfa\xff\x01\xef.\x02\x09\x90\xfe\xfa\xff\x04\xf98\x00\x1f\ +\xfc\xf0\xff\x00B\xe9\x00\x00?\xf0\xff\x03\xf9\x1a\x14\xc1\ +\xf9\xff\x01\xef.\x02\x09\x92\xfe\xfa\xff\x04\xf97\x00\x00\ +\xa9\xf0\xff\x00\x8b\xe9\x00\x00\x89\xf0\xff\x03\x9e\x00\x15\xc2\ +\xf9\xff\x01\xf0.\x01\x09\x91\xf9\xff\x05\xf98\x00\x00\x22\ +\xf2\xf1\xff\x01\xe2\x06\xeb\x00\x01\x06\xe1\xf1\xff\x04\xef\x1b\ +\x00\x15\xc1\xf9\xff\x01\xef.\x01\x09\x91\xf9\xff\x01\xf97\ +\xfe\x00\x00^\xf0\xff\x00h\xeb\x00\x00g\xf0\xff\x04W\ +\x00\x00\x14\xc0\xf9\xff\x01\xef-\x02\x09\x91\xfe\xfa\xff\x01\ +\xf98\xfd\x00\x00\x9f\xf1\xff\x01\xe1\x0b\xed\x00\x01\x0b\xe2\ +\xf1\xff\x00\x9a\xfe\x00\x01\x13\xc0\xf9\xff\x01\xf0.\x02\x09\ +\x91\xfe\xfa\xff\x01\xf97\xfd\x00\x01\x09\xce\xf1\xff\x00\xa4\ +\xed\x00\x00\xa5\xf1\xff\x01\xcc\x07\xfe\x00\x01\x14\xc1\xf9\xff\ +\x01\xf1.\x01\x09\x91\xf9\xff\x01\xfa8\xfc\x00\x01\x1d\xe5\ +\xf1\xff\x00j\xef\x00\x00l\xf1\xff\x01\xe4\x1b\xfd\x00\x01\ +\x15\xc1\xf9\xff\x01\xef-\x02\x09\x91\xfe\xfa\xff\x01\xf97\ +\xfb\x00\x010\xf3\xf2\xff\x01\xfer\xf1\x00\x01u\xfe\xf2\ +\xff\x01\xf2/\xfc\x00\x01\x13\xc2\xf9\xff\x01\xf0-\x02\x09\ +\x91\xfe\xfa\xff\x01\xf99\xfa\x00\x01I\xfc\xf1\xff\x01\x95\ +\x0d\xf5\x00\x01\x0e\x98\xf1\xff\x01\xfcH\xfb\x00\x02\x15\xc2\ +\xfe\xfa\xff\x01\xf1.\x01\x09\x92\xf9\xff\x01\xf98\xf9\x00\ +\x01\x5c\xfc\xf1\xff\x02\xe6_\x05\xf9\x00\x02\x06`\xe8\xf1\ +\xff\x01\xfc\x5c\xfa\x00\x01\x15\xc2\xf9\xff\x01\xf0-\x02\x09\ +\x91\xfe\xfa\xff\x01\xf86\xf8\x00\x01Y\xfc\xf0\xff\x09\xee\ +\x9eV8\x1c\x1c8V\x9f\xef\xf0\xff\x01\xfcY\xf9\x00\ +\x02\x14\xc1\xfe\xfa\xff\x01\xf0-\x02\x09\x91\xfe\xfa\xff\x01\ +\xf98\xf7\x00\x01T\xfb\xd7\xff\x01\xfbU\xf8\x00\x01\x14\ +\xc2\xf9\xff\x01\xf0.\x02\x09\x92\xfe\xfa\xff\x01\xf86\xf6\ +\x00\x01P\xf7\xd9\xff\x01\xf8Q\xf7\x00\x01\x14\xc1\xf9\xff\ +\x01\xf0/\x01\x09\x91\xf9\xff\x01\xf98\xf5\x00\x013\xe1\ +\xdb\xff\x01\xe24\xf6\x00\x02\x15\xc1\xfe\xfa\xff\x01\xf0.\ +\x02\x09\x91\xfe\xfa\xff\x01\xf88\xf4\x00\x01\x14\xbd\xdd\xff\ +\x01\xbf\x15\xf5\x00\x01\x15\xc2\xf9\xff\x01\xf1-\x01\x09\x91\ +\xf9\xff\x01\xfa8\xf3\x00\x01\x03\x8b\xdf\xff\x01\x8e\x04\xf4\ +\x00\x01\x13\xc2\xf9\xff\x01\xf0.\x01\x08\x90\xf9\xff\x01\xf9\ +8\xf1\x00\x01I\xdb\xe3\xff\x01\xdcK\xf2\x00\x02\x14\xc2\ +\xfe\xfa\xff\x01\xf0.\x01\x09\x91\xf9\xff\x01\xf98\xf0\x00\ +\x02\x06x\xf4\xe7\xff\x02\xf4z\x07\xf1\x00\x01\x13\xc2\xf9\ +\xff\x01\xf0.\x02\x08\x91\xfe\xfa\xff\x01\xf97\xee\x00\x01\ +\x1b\xa6\xe9\xff\x01\xa8\x1c\xef\x00\x02\x15\xc0\xfe\xfa\xff\x01\ +\xef-\x02\x09\x91\xfe\xfa\xff\x01\xf89\xec\x00\x023\xa1\ +\xf8\xef\xff\x02\xf9\xa24\xed\x00\x01\x14\xc2\xf9\xff\x01\xef\ +-\x01\x09\x90\xf9\xff\x01\xf96\xea\x00\x03\x15m\xbd\xfb\ +\xf5\xff\x03\xfb\xben\x16\xeb\x00\x01\x14\xc0\xf9\xff\x01\xf1\ +,\x01\x09\x90\xf9\xff\x01\xf97\xe7\x00\x0d\x11Iz\xaa\ +\xc7\xd8\xe8\xe9\xd8\xc8\xabzJ\x11\xe8\x00\x01\x14\xc1\xf9\ +\xff\x01\xef/\x02\x09\x90\xfe\xfa\xff\x01\xf98\xc0\x00\x01\ +\x15\xc1\xf9\xff\x01\xf0-\x02\x09\x91\xfe\xfa\xff\x01\xf98\ +\xc0\x00\x01\x14\xc2\xf9\xff\x01\xef.\x02\x09\x91\xfe\xfa\xff\ +\x01\xf98\xc0\x00\x01\x14\xc1\xf9\xff\x01\xf0-\x01\x09\x91\ +\xf9\xff\x01\xf97\xc0\x00\x01\x14\xc1\xf9\xff\x01\xef.\x02\ +\x09\x90\xfe\xfa\xff\x01\xf99\xc0\x00\x02\x15\xc1\xfe\xfa\xff\ +\x01\xf0-\x01\x08\x91\xf9\xff\x01\xfa8\xc0\x00\x01\x15\xc1\ +\xf9\xff\x01\xf0.\x02\x09\x92\xfe\xfa\xff\x01\xf97\xc0\x00\ +\x01\x14\xc1\xf9\xff\x01\xf0-\x02\x09\x90\xfe\xfa\xff\x01\xf9\ +7\xc0\x00\x01\x14\xc3\xf9\xff\x01\xf1-\x02\x09\x91\xfe\xfa\ +\xff\x02\xfad;\xfe:\xfe9\x1589;;9:\ +:8;9:7:9:;99;:98\ +\xfd:\xff8\x017;\xfc9\x09;:9;;8\ +:979\xfe:\xff9\x09:89::8;\ +9J\xcf\xf9\xff\x01\xf0-\x01\x09\x91\xf8\xff\x00\xfa\xfd\ +\xf9\x08\xf8\xf9\xf9\xf8\xf9\xf8\xf8\xf9\xf8\xfd\xf9\x06\xfa\xf9\ +\xf9\xf8\xf9\xf8\xf8\xfe\xf9\x00\xf8\xfe\xf9\x0e\xf8\xf9\xf9\xf8\ +\xf9\xf8\xf9\xf8\xf8\xf9\xf8\xf9\xf9\xf8\xf8\xfd\xf9\x00\xf8\xfe\ +\xf9\x05\xf8\xf9\xf9\xf8\xfa\xfa\xfe\xf9\xff\xf8\x01\xf9\xfe\xf9\ +\xff\x01\xf0.\x02\x09\x91\xfe\xad\xff\x01\xf0.\x02\x08\x91\ +\xfe\xad\xff\x01\xee-\x01\x09\x8d\xac\xff\x01\xe9+\x02\x07\ +{\xfe\xad\xff\x01\xd5\x1f\x02\x04U\xf6\xae\xff\x02\xfd\xa3\ +\x0f\x02\x01'\xc9\xae\xff\x02\xe7Q\x03\x03\x00\x09]\xe9\ +\xb0\xff\x03\xf0\x80\x13\x00\xff\x00\x03\x12`\xcc\xf7\xfb\xfe\ +\x00\xff\xfc\xfe\x00\xff\xfe\xfe\x02\xff\xfe\xff\xfe\xfe\x05\xff\ +\xfe\xfe\xff\xfe\xff\xfd\xfe\x0a\xff\xfe\xff\xfe\xfe\xff\xfe\xff\ +\xff\xfe\xfe\xfc\xff\xff\xfe\xfe\xff\x04\xfe\xff\xfe\xff\xff\xfb\ +\xfe\xff\xff\xff\xfe\x02\xff\xfe\xff\xfc\xfe\x06\xfd\xf5\xcel\ +\x17\x00\x00\xff\x00\x08\x01\x0a.`\x86\x96\x97\x92\x92\xfe\ +\x91\xff\x92\x13\x93\x92\x92\x91\x92\x92\x90\x91\x92\x91\x90\x91\ +\x92\x91\x91\x93\x91\x91\x94\x91\xfc\x92\x05\x91\x92\x91\x91\x90\ +\x92\xfe\x91\x0f\x90\x92\x92\x93\x91\x90\x92\x92\x90\x92\x91\x90\ +\x91\x92\x92\x90\xfd\x91\x03\x93\x91\x90\x90\xfe\x91\x0b\x93\x90\ +\x90\x92\x8ayU+\x0c\x01\x00\x00\xfd\x00\x04\x01\x05\x0a\ +\x0c\x0b\xfb\x0a\x00\x09\xf2\x0a\xff\x09\xf0\x0a\x00\x09\xf6\x0a\ +\x00\x09\xee\x0a\x02\x08\x04\x01\xfd\x00\x01\x00\x02\x00\x02\x00\ +\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\ +\x02\x00\x02\x00\x02\x00\x02\x00\x06\x00\x06\x00\x06\x00\x06\x00\ +\x06\x00\x11\x00\x10\x00\x0c\x00\x0c\x00\x0e\x00\x0c\x00\x0f\x00\ +\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x12\x00\x11\x00\x14\x00\x10\x00\ +\x12\x00\x14\x00\x12\x00\x0e\x00\x0f\x00\x0f\x00\x10\x00\x0e\x00\ +\x0a\x00\x06\x00\x08\x00\x08\x00\x06\x00\x08\x00\x10\x00\x11\x00\ +\x14\x00\x16\x00\x16\x00\x15\x00\x14\x00\x14\x00\x17\x00\x14\x00\ +\x16\x00\x0c\x00\x0a\x00\x0e\x00\x0f\x00\x0f\x00\x0c\x00\x0e\x00\ +\x0e\x00\x0e\x00\x10\x00\x13\x00\x06\x00\x06\x00\x06\x00\x06\x00\ +\x06\x00\x06\x00\x06\x00\x06\x00\x02\x00\x02\x00\x02\x00\x02\x00\ +\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\ +\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\ +\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xf4\xcc\xc1\xff\ +\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\ +\xc1\xff\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\xe8\x00\x03\xcd\ +\xcc\xcc\xcd\xf8\xcc\x00\xcd\xe8\x00\xf5\xcc\xf4\xcc\xeb\x00\x02\ +\xcf\xcd\xcd\xf1\xcc\x00\xd3\xeb\x00\xf5\xcc\xf4\xcc\xed\x00\xea\ +\xcc\x00\xce\xed\x00\xf5\xcc\xf4\xcc\xef\x00\x00\xd1\xe6\xcc\xef\ +\x00\xf5\xcc\xf4\xcc\xf1\x00\x00\xd4\xe3\xcc\x00\xda\xf1\x00\xf5\ +\xcc\xf4\xcc\xf2\x00\xe0\xcc\x00\xcd\xf2\x00\xf5\xcc\xf4\xcc\xf4\ +\x00\x01\xff\xcd\xde\xcc\x00\xff\xf4\x00\xf5\xcc\xf4\xcc\xf5\x00\ +\x00\xcf\xdb\xcc\x00\xcf\xf5\x00\xf5\xcc\xf4\xcc\xf6\x00\x00\xce\ +\xd9\xcc\x00\xcf\xf6\x00\xf5\xcc\xf4\xcc\xf7\x00\x00\xcd\xd7\xcc\ +\x00\xce\xf7\x00\xf5\xcc\xf4\xcc\xf8\x00\x00\xce\xd5\xcc\x00\xce\ +\xf8\x00\xf5\xcc\xf4\xcc\xf9\x00\xec\xcc\x04\xcd\xce\xd7\xd4\xd0\ +\xeb\xcc\xf9\x00\xf5\xcc\xf4\xcc\xfa\x00\xee\xcc\x01\xcd\xff\xfb\ +\x00\xea\xcc\xfa\x00\xf5\xcc\xf4\xcc\xfb\x00\x00\xce\xef\xcc\x00\ +\xe2\xf9\x00\xea\xcc\x00\xcd\xfb\x00\xf5\xcc\xf4\xcc\xfc\x00\xee\ +\xcc\xf7\x00\xe9\xcc\x00\xd3\xfc\x00\xf5\xcc\xf4\xcc\xfd\x00\x00\ +\xda\xef\xcc\xf6\x00\xe8\xcc\x00\xd7\xfd\x00\xf5\xcc\xf4\xcc\xfe\ +\x00\x00\xff\xf0\xcc\x00\xcd\xf5\x00\xe7\xcc\x00\xff\xfe\x00\xf5\ +\xcc\xf4\xcc\xfe\x00\x00\xcd\xef\xcc\xf5\x00\xe7\xcc\x00\xcd\xfe\ +\x00\xf5\xcc\xf4\xcc\xff\x00\xee\xcc\xf4\x00\xe5\xcc\xff\x00\xf5\ +\xcc\xf4\xcc\x01\x00\xda\xee\xcc\xf4\x00\xe4\xcc\x00\x00\xf5\xcc\ +\xf4\xcc\x00\x00\xee\xcc\xf3\x00\xe5\xcc\x01\xcd\x00\xf5\xcc\xf4\ +\xcc\x00\xcf\xef\xcc\x00\xcf\xf3\x00\xe4\xcc\x00\xd4\xf5\xcc\xf4\ +\xcc\x00\xcd\xee\xcc\xf3\x00\xe4\xcc\x00\xcd\xf5\xcc\xe1\xcc\xf2\ +\x00\x00\xd2\xf7\xd1\xe2\xcc\xe1\xcc\xe7\x00\xe2\xcc\xe2\xcc\x00\ +\xcd\xe7\x00\xe2\xcc\xe1\xcc\xe7\x00\x00\xcd\xe3\xcc\xe1\xcc\xe7\ +\x00\xe2\xcc\xe1\xcc\x00\xd4\xe9\x00\xe1\xcc\xf4\xcc\x00\xcd\xee\ +\xcc\xe9\x00\x00\xce\xef\xcc\x00\xcd\xf5\xcc\xf4\xcc\x01\x00\xcd\ +\xf0\xcc\x00\xcd\xe9\x00\xee\xcc\x00\x00\xf5\xcc\xf4\xcc\x01\x00\ +\xd2\xef\xcc\x00\xd4\xeb\x00\x00\xd4\xef\xcc\x01\xcf\x00\xf5\xcc\ +\xf4\xcc\xff\x00\x00\xce\xf0\xcc\x00\xcd\xeb\x00\x00\xcd\xf0\xcc\ +\x02\xcd\x00\x00\xf5\xcc\xf4\xcc\xfe\x00\x00\xcd\xf0\xcc\x00\xd0\ +\xed\x00\x00\xd0\xf0\xcc\x00\xcd\xfe\x00\xf5\xcc\xf4\xcc\xfe\x00\ +\x00\xe2\xf0\xcc\x00\xcd\xed\x00\xf0\xcc\x01\xcd\xda\xfe\x00\xf5\ +\xcc\xf4\xcc\xfd\x00\x00\xd3\xef\xcc\xef\x00\x00\xcd\xf0\xcc\x00\ +\xcf\xfd\x00\xf5\xcc\xf4\xcc\xfc\x00\x00\xcf\xf0\xcc\x00\xcd\xf1\ +\x00\xef\xcc\x00\xce\xfc\x00\xf5\xcc\xf4\xcc\xfb\x00\x00\xce\xf0\ +\xcc\x01\xcd\xd7\xf5\x00\x00\xda\xef\xcc\x00\xcd\xfb\x00\xf5\xcc\ +\xf4\xcc\xfa\x00\x00\xcd\xed\xcc\xf9\x00\x00\xd4\xee\xcc\x00\xcd\ +\xfa\x00\xf5\xcc\xf4\xcc\xf9\x00\x00\xce\xeb\xcc\xff\xd1\xff\xcc\ +\x00\xcd\xee\xcc\x00\xce\xf9\x00\xf5\xcc\xf4\xcc\xf8\x00\x00\xce\ +\xd4\xcc\xf8\x00\xf5\xcc\xf4\xcc\xf7\x00\xd5\xcc\xf7\x00\xf5\xcc\ +\xf4\xcc\xf6\x00\x00\xcd\xd9\xcc\x00\xcd\xf6\x00\xf5\xcc\xf4\xcc\ +\xf5\x00\x01\xcc\xcd\xdc\xcc\x00\xce\xf5\x00\xf5\xcc\xf4\xcc\xf4\ +\x00\x01\xff\xcd\xde\xcc\x00\xff\xf4\x00\xf5\xcc\xf4\xcc\xf2\x00\ +\x00\xce\xe0\xcc\xf2\x00\xf5\xcc\xf4\xcc\xf1\x00\x00\xd4\xe3\xcc\ +\x00\xda\xf1\x00\xf5\xcc\xf4\xcc\xef\x00\x00\xcf\xe7\xcc\x00\xd1\ +\xef\x00\xf5\xcc\xf4\xcc\xed\x00\x00\xcd\xeb\xcc\x00\xcd\xed\x00\ +\xf5\xcc\xf4\xcc\xeb\x00\x02\xce\xcd\xcd\xf1\xcc\x00\xd0\xeb\x00\ +\xf5\xcc\xf4\xcc\xe8\x00\x04\xd2\xce\xcc\xcc\xcd\xfa\xcc\x01\xce\ +\xd2\xe8\x00\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\xc1\xff\xf5\ +\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\xc1\ +\xff\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\ +\xcc\xc1\xff\xf5\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\ +\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\x01\x00\x02\ +\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\ +\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x06\x00\x06\x00\x06\ +\x00\x06\x00\x06\x00\x11\x00\x10\x00\x0c\x00\x0c\x00\x0e\x00\x0c\ +\x00\x0f\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x12\x00\x11\x00\x14\ +\x00\x10\x00\x12\x00\x14\x00\x12\x00\x0e\x00\x0f\x00\x0f\x00\x10\ +\x00\x0e\x00\x0a\x00\x06\x00\x08\x00\x08\x00\x06\x00\x08\x00\x10\ +\x00\x11\x00\x14\x00\x16\x00\x16\x00\x15\x00\x14\x00\x14\x00\x17\ +\x00\x14\x00\x16\x00\x0c\x00\x0a\x00\x0e\x00\x0f\x00\x0f\x00\x0c\ +\x00\x0e\x00\x0e\x00\x0e\x00\x10\x00\x13\x00\x06\x00\x06\x00\x06\ +\x00\x06\x00\x06\x00\x06\x00\x06\x00\x06\x00\x02\x00\x02\x00\x02\ +\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\ +\x00\x02\x00\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\ +\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xf4\ +\xcc\xc1\xff\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\xc1\xff\xf5\ +\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\xe8\ +\x00\x03\xcd\xcc\xcc\xcd\xf8\xcc\x00\xcd\xe8\x00\xf5\xcc\xf4\xcc\ +\xeb\x00\x02\xcf\xcd\xcd\xf1\xcc\x00\xd3\xeb\x00\xf5\xcc\xf4\xcc\ +\xed\x00\xea\xcc\x00\xce\xed\x00\xf5\xcc\xf4\xcc\xef\x00\x00\xd1\ +\xe6\xcc\xef\x00\xf5\xcc\xf4\xcc\xf1\x00\x00\xd4\xe3\xcc\x00\xda\ +\xf1\x00\xf5\xcc\xf4\xcc\xf2\x00\xe0\xcc\x00\xcd\xf2\x00\xf5\xcc\ +\xf4\xcc\xf4\x00\x01\xff\xcd\xde\xcc\x00\xff\xf4\x00\xf5\xcc\xf4\ +\xcc\xf5\x00\x00\xcf\xdb\xcc\x00\xcf\xf5\x00\xf5\xcc\xf4\xcc\xf6\ +\x00\x00\xce\xd9\xcc\x00\xcf\xf6\x00\xf5\xcc\xf4\xcc\xf7\x00\x00\ +\xcd\xd7\xcc\x00\xce\xf7\x00\xf5\xcc\xf4\xcc\xf8\x00\x00\xce\xd5\ +\xcc\x00\xce\xf8\x00\xf5\xcc\xf4\xcc\xf9\x00\xec\xcc\x04\xcd\xce\ +\xd7\xd4\xd0\xeb\xcc\xf9\x00\xf5\xcc\xf4\xcc\xfa\x00\xee\xcc\x01\ +\xcd\xff\xfb\x00\xea\xcc\xfa\x00\xf5\xcc\xf4\xcc\xfb\x00\x00\xce\ +\xef\xcc\x00\xe2\xf9\x00\xea\xcc\x00\xcd\xfb\x00\xf5\xcc\xf4\xcc\ +\xfc\x00\xee\xcc\xf7\x00\xe9\xcc\x00\xd3\xfc\x00\xf5\xcc\xf4\xcc\ +\xfd\x00\x00\xda\xef\xcc\xf6\x00\xe8\xcc\x00\xd7\xfd\x00\xf5\xcc\ +\xf4\xcc\xfe\x00\x00\xff\xf0\xcc\x00\xcd\xf5\x00\xe7\xcc\x00\xff\ +\xfe\x00\xf5\xcc\xf4\xcc\xfe\x00\x00\xcd\xef\xcc\xf5\x00\xe7\xcc\ +\x00\xcd\xfe\x00\xf5\xcc\xf4\xcc\xff\x00\xee\xcc\xf4\x00\xe5\xcc\ +\xff\x00\xf5\xcc\xf4\xcc\x01\x00\xda\xee\xcc\xf4\x00\xe4\xcc\x00\ +\x00\xf5\xcc\xf4\xcc\x00\x00\xee\xcc\xf3\x00\xe5\xcc\x01\xcd\x00\ +\xf5\xcc\xf4\xcc\x00\xcf\xef\xcc\x00\xcf\xf3\x00\xe4\xcc\x00\xd4\ +\xf5\xcc\xf4\xcc\x00\xcd\xee\xcc\xf3\x00\xe4\xcc\x00\xcd\xf5\xcc\ +\xe1\xcc\xf2\x00\x00\xd2\xf7\xd1\xe2\xcc\xe1\xcc\xe7\x00\xe2\xcc\ +\xe2\xcc\x00\xcd\xe7\x00\xe2\xcc\xe1\xcc\xe7\x00\x00\xcd\xe3\xcc\ +\xe1\xcc\xe7\x00\xe2\xcc\xe1\xcc\x00\xd4\xe9\x00\xe1\xcc\xf4\xcc\ +\x00\xcd\xee\xcc\xe9\x00\x00\xce\xef\xcc\x00\xcd\xf5\xcc\xf4\xcc\ +\x01\x00\xcd\xf0\xcc\x00\xcd\xe9\x00\xee\xcc\x00\x00\xf5\xcc\xf4\ +\xcc\x01\x00\xd2\xef\xcc\x00\xd4\xeb\x00\x00\xd4\xef\xcc\x01\xcf\ +\x00\xf5\xcc\xf4\xcc\xff\x00\x00\xce\xf0\xcc\x00\xcd\xeb\x00\x00\ +\xcd\xf0\xcc\x02\xcd\x00\x00\xf5\xcc\xf4\xcc\xfe\x00\x00\xcd\xf0\ +\xcc\x00\xd0\xed\x00\x00\xd0\xf0\xcc\x00\xcd\xfe\x00\xf5\xcc\xf4\ +\xcc\xfe\x00\x00\xe2\xf0\xcc\x00\xcd\xed\x00\xf0\xcc\x01\xcd\xda\ +\xfe\x00\xf5\xcc\xf4\xcc\xfd\x00\x00\xd3\xef\xcc\xef\x00\x00\xcd\ +\xf0\xcc\x00\xcf\xfd\x00\xf5\xcc\xf4\xcc\xfc\x00\x00\xcf\xf0\xcc\ +\x00\xcd\xf1\x00\xef\xcc\x00\xce\xfc\x00\xf5\xcc\xf4\xcc\xfb\x00\ +\x00\xce\xf0\xcc\x01\xcd\xd7\xf5\x00\x00\xda\xef\xcc\x00\xcd\xfb\ +\x00\xf5\xcc\xf4\xcc\xfa\x00\x00\xcd\xed\xcc\xf9\x00\x00\xd4\xee\ +\xcc\x00\xcd\xfa\x00\xf5\xcc\xf4\xcc\xf9\x00\x00\xce\xeb\xcc\xff\ +\xd1\xff\xcc\x00\xcd\xee\xcc\x00\xce\xf9\x00\xf5\xcc\xf4\xcc\xf8\ +\x00\x00\xce\xd4\xcc\xf8\x00\xf5\xcc\xf4\xcc\xf7\x00\xd5\xcc\xf7\ +\x00\xf5\xcc\xf4\xcc\xf6\x00\x00\xcd\xd9\xcc\x00\xcd\xf6\x00\xf5\ +\xcc\xf4\xcc\xf5\x00\x01\xcc\xcd\xdc\xcc\x00\xce\xf5\x00\xf5\xcc\ +\xf4\xcc\xf4\x00\x01\xff\xcd\xde\xcc\x00\xff\xf4\x00\xf5\xcc\xf4\ +\xcc\xf2\x00\x00\xce\xe0\xcc\xf2\x00\xf5\xcc\xf4\xcc\xf1\x00\x00\ +\xd4\xe3\xcc\x00\xda\xf1\x00\xf5\xcc\xf4\xcc\xef\x00\x00\xcf\xe7\ +\xcc\x00\xd1\xef\x00\xf5\xcc\xf4\xcc\xed\x00\x00\xcd\xeb\xcc\x00\ +\xcd\xed\x00\xf5\xcc\xf4\xcc\xeb\x00\x02\xce\xcd\xcd\xf1\xcc\x00\ +\xd0\xeb\x00\xf5\xcc\xf4\xcc\xe8\x00\x04\xd2\xce\xcc\xcc\xcd\xfa\ +\xcc\x01\xce\xd2\xe8\x00\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\ +\xc1\xff\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\ +\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\xc1\xff\ +\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\ +\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\ +\x01\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\ +\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x06\x00\ +\x06\x00\x06\x00\x06\x00\x06\x00\x11\x00\x10\x00\x0c\x00\x0c\x00\ +\x0e\x00\x0c\x00\x0f\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x12\x00\ +\x11\x00\x14\x00\x10\x00\x12\x00\x14\x00\x12\x00\x0e\x00\x0f\x00\ +\x0f\x00\x10\x00\x0e\x00\x0a\x00\x06\x00\x08\x00\x08\x00\x06\x00\ +\x08\x00\x10\x00\x11\x00\x14\x00\x16\x00\x16\x00\x15\x00\x14\x00\ +\x14\x00\x17\x00\x14\x00\x16\x00\x0c\x00\x0a\x00\x0e\x00\x0f\x00\ +\x0f\x00\x0c\x00\x0e\x00\x0e\x00\x0e\x00\x10\x00\x13\x00\x06\x00\ +\x06\x00\x06\x00\x06\x00\x06\x00\x06\x00\x06\x00\x06\x00\x02\x00\ +\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\ +\x02\x00\x02\x00\x02\x00\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\ +\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\ +\xa8\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\ +\xc1\xff\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\ +\xf4\xcc\xe8\x00\x03\xcd\xcc\xcc\xcd\xf8\xcc\x00\xcd\xe8\x00\xf5\ +\xcc\xf4\xcc\xeb\x00\x02\xcf\xcd\xcd\xf1\xcc\x00\xd3\xeb\x00\xf5\ +\xcc\xf4\xcc\xed\x00\xea\xcc\x00\xce\xed\x00\xf5\xcc\xf4\xcc\xef\ +\x00\x00\xd1\xe6\xcc\xef\x00\xf5\xcc\xf4\xcc\xf1\x00\x00\xd4\xe3\ +\xcc\x00\xda\xf1\x00\xf5\xcc\xf4\xcc\xf2\x00\xe0\xcc\x00\xcd\xf2\ +\x00\xf5\xcc\xf4\xcc\xf4\x00\x01\xff\xcd\xde\xcc\x00\xff\xf4\x00\ +\xf5\xcc\xf4\xcc\xf5\x00\x00\xcf\xdb\xcc\x00\xcf\xf5\x00\xf5\xcc\ +\xf4\xcc\xf6\x00\x00\xce\xd9\xcc\x00\xcf\xf6\x00\xf5\xcc\xf4\xcc\ +\xf7\x00\x00\xcd\xd7\xcc\x00\xce\xf7\x00\xf5\xcc\xf4\xcc\xf8\x00\ +\x00\xce\xd5\xcc\x00\xce\xf8\x00\xf5\xcc\xf4\xcc\xf9\x00\xec\xcc\ +\x04\xcd\xce\xd7\xd4\xd0\xeb\xcc\xf9\x00\xf5\xcc\xf4\xcc\xfa\x00\ +\xee\xcc\x01\xcd\xff\xfb\x00\xea\xcc\xfa\x00\xf5\xcc\xf4\xcc\xfb\ +\x00\x00\xce\xef\xcc\x00\xe2\xf9\x00\xea\xcc\x00\xcd\xfb\x00\xf5\ +\xcc\xf4\xcc\xfc\x00\xee\xcc\xf7\x00\xe9\xcc\x00\xd3\xfc\x00\xf5\ +\xcc\xf4\xcc\xfd\x00\x00\xda\xef\xcc\xf6\x00\xe8\xcc\x00\xd7\xfd\ +\x00\xf5\xcc\xf4\xcc\xfe\x00\x00\xff\xf0\xcc\x00\xcd\xf5\x00\xe7\ +\xcc\x00\xff\xfe\x00\xf5\xcc\xf4\xcc\xfe\x00\x00\xcd\xef\xcc\xf5\ +\x00\xe7\xcc\x00\xcd\xfe\x00\xf5\xcc\xf4\xcc\xff\x00\xee\xcc\xf4\ +\x00\xe5\xcc\xff\x00\xf5\xcc\xf4\xcc\x01\x00\xda\xee\xcc\xf4\x00\ +\xe4\xcc\x00\x00\xf5\xcc\xf4\xcc\x00\x00\xee\xcc\xf3\x00\xe5\xcc\ +\x01\xcd\x00\xf5\xcc\xf4\xcc\x00\xcf\xef\xcc\x00\xcf\xf3\x00\xe4\ +\xcc\x00\xd4\xf5\xcc\xf4\xcc\x00\xcd\xee\xcc\xf3\x00\xe4\xcc\x00\ +\xcd\xf5\xcc\xe1\xcc\xf2\x00\x00\xd2\xf7\xd1\xe2\xcc\xe1\xcc\xe7\ +\x00\xe2\xcc\xe2\xcc\x00\xcd\xe7\x00\xe2\xcc\xe1\xcc\xe7\x00\x00\ +\xcd\xe3\xcc\xe1\xcc\xe7\x00\xe2\xcc\xe1\xcc\x00\xd4\xe9\x00\xe1\ +\xcc\xf4\xcc\x00\xcd\xee\xcc\xe9\x00\x00\xce\xef\xcc\x00\xcd\xf5\ +\xcc\xf4\xcc\x01\x00\xcd\xf0\xcc\x00\xcd\xe9\x00\xee\xcc\x00\x00\ +\xf5\xcc\xf4\xcc\x01\x00\xd2\xef\xcc\x00\xd4\xeb\x00\x00\xd4\xef\ +\xcc\x01\xcf\x00\xf5\xcc\xf4\xcc\xff\x00\x00\xce\xf0\xcc\x00\xcd\ +\xeb\x00\x00\xcd\xf0\xcc\x02\xcd\x00\x00\xf5\xcc\xf4\xcc\xfe\x00\ +\x00\xcd\xf0\xcc\x00\xd0\xed\x00\x00\xd0\xf0\xcc\x00\xcd\xfe\x00\ +\xf5\xcc\xf4\xcc\xfe\x00\x00\xe2\xf0\xcc\x00\xcd\xed\x00\xf0\xcc\ +\x01\xcd\xda\xfe\x00\xf5\xcc\xf4\xcc\xfd\x00\x00\xd3\xef\xcc\xef\ +\x00\x00\xcd\xf0\xcc\x00\xcf\xfd\x00\xf5\xcc\xf4\xcc\xfc\x00\x00\ +\xcf\xf0\xcc\x00\xcd\xf1\x00\xef\xcc\x00\xce\xfc\x00\xf5\xcc\xf4\ +\xcc\xfb\x00\x00\xce\xf0\xcc\x01\xcd\xd7\xf5\x00\x00\xda\xef\xcc\ +\x00\xcd\xfb\x00\xf5\xcc\xf4\xcc\xfa\x00\x00\xcd\xed\xcc\xf9\x00\ +\x00\xd4\xee\xcc\x00\xcd\xfa\x00\xf5\xcc\xf4\xcc\xf9\x00\x00\xce\ +\xeb\xcc\xff\xd1\xff\xcc\x00\xcd\xee\xcc\x00\xce\xf9\x00\xf5\xcc\ +\xf4\xcc\xf8\x00\x00\xce\xd4\xcc\xf8\x00\xf5\xcc\xf4\xcc\xf7\x00\ +\xd5\xcc\xf7\x00\xf5\xcc\xf4\xcc\xf6\x00\x00\xcd\xd9\xcc\x00\xcd\ +\xf6\x00\xf5\xcc\xf4\xcc\xf5\x00\x01\xcc\xcd\xdc\xcc\x00\xce\xf5\ +\x00\xf5\xcc\xf4\xcc\xf4\x00\x01\xff\xcd\xde\xcc\x00\xff\xf4\x00\ +\xf5\xcc\xf4\xcc\xf2\x00\x00\xce\xe0\xcc\xf2\x00\xf5\xcc\xf4\xcc\ +\xf1\x00\x00\xd4\xe3\xcc\x00\xda\xf1\x00\xf5\xcc\xf4\xcc\xef\x00\ +\x00\xcf\xe7\xcc\x00\xd1\xef\x00\xf5\xcc\xf4\xcc\xed\x00\x00\xcd\ +\xeb\xcc\x00\xcd\xed\x00\xf5\xcc\xf4\xcc\xeb\x00\x02\xce\xcd\xcd\ +\xf1\xcc\x00\xd0\xeb\x00\xf5\xcc\xf4\xcc\xe8\x00\x04\xd2\xce\xcc\ +\xcc\xcd\xfa\xcc\x01\xce\xd2\xe8\x00\xf5\xcc\xf4\xcc\xc1\xff\xf5\ +\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\xc1\ +\xff\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\xf4\ +\xcc\xc1\xff\xf5\xcc\xf4\xcc\xc1\xff\xf5\xcc\xa8\xcc\xa8\xcc\xa8\ +\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\xcc\xa8\ +\xcc\xa8\xccMIB8ksML\x0e\x00\x00\x00\x00\ +\x00\xff\xff\x00\x00\x00\x00\x00\x002\x00\x80\x00\x00\x00M\ +IB8ttaP\x00\x00\x00\x00MIB8k\ +sMF\x0c\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\ +\x002\x00\x00\x00\x00\x00\ +\x00\x00\x05s\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22 standalone=\x22\ +no\x22?>\x0a\x0a \x0a <\ +title>eye on\x0a C\ +reated with Sket\ +ch.\x0a <\ +defs>\x0a \ + \x0a\ + \x0a \x0a\x0a\ +\x00\x00\x1f\xef\ +\x00\ +\x00\xe4\x14x\x9c\xed\x5c\x07\x5cS\xc7\x1f\xbf\x0c\x12\xf6\ +^2c\x98*\x10\xc2&\xc8\xde\x0a\x82l\x14\x85\x90\ +\x04\x88\x84$f\x80\xab\xe2\xaa\xd6U\x95\xba\xb5uo\ +\xc5\xd6]\xad\xdb\xd6Z\xf7\xb6u\xfc\xb1\xd6\xbaW\x15\ +\xb5\xa8\xf0\xbf{!\x10\x10-J\x00\xfb\xff\xbfo>\ +\xf7r\xef\xd6o\xdc\xbd\xbb\xdf\xdd\xbb{\x89\x89\xa0;\ +\x00@\x13\x98\x83Z@\x86>\x02P\x5cH\xd8_\x1e\ +\xbc\x10T\xfcD\xcc\x0f\xd3\x11\xcc\x09\xa4\xfap\x98\x98\ +@\xa9\xf7\x13\xe1\xc5HYN\xeam\x82\xb1J\x1a\xb3\ +z?\x96[\xa5L\x0be\xfa\xe9\x80`\x054\x14~\ +\x82\x1d\xc1\xba\xc1\xefL\xb0Q)\xc7U\x85\x16\x13]\ +\x01\x1d\xfa<\x08^\x98\xdf\x14\xfa\x93\x09)\x8d\xe9\x89\ +?\xa0\xab\x9f5\xbc\xe5\x8e\x8fG~C\x1a\x00\xfe\xa3\ +&\xf0\x95to\xdc\x9e \x05T\x00t\xe3\x00\x88]\ +\x8c\xe4\x87\xfaP\xfc\xb4_\x8f\x02\xc0\xc5P\xf9\x1f\xce\ +\x15\xe5\xf3h\xc9E\x22\x99HZ$\x12\xd3\x22#i\ +^\x9eL\x7f\x9ak&_\xc8\x15\x95I\xbb\x01t\xcb\ +\xf2\xf4byz\xd3\x98\xbe,/o\x96\xa7\x0f\xe8\x19\ +:D\xcc\xe6\x14\xf3d\xb4|^!_\x18L\x7f\xb4\ +k/\x9d\xc6\xe7\x06\xd33}\x13=\x13\xc5\x91\xbc\x22\ +~\xdc0\x09/uX\x9f4\xce\xb0bN \x97\x1e\ +\x1a\xa2\xdds\x08kH\x89\xb8\x84'c\xd3\x86\x94\x08\ +\x84R\xd6\x90`:\x1b\xd1gA?\x0af\xd0iX\ +\x12Yq0]\xc1XVb2-R$\xe1\xd1|\ +=\xfc\xdc9L\xef\x00\x9a\x7f\xa0\x07\xd370\xc0\xcb\ +\xc7\x0d1\xea\xc7\xf0\x0cd0}\xdc=\x99,\xcf@\ +\x96'\x93V\x0fz\x886\xbc\xf6\x94p\x0bX)Q\ +1\xf5\xe4\xe0]0\xbdH&\x13\xb3\x18\x8c\xb2\xb22\ +\x8f2o\x0f\x91\xa4\x90\xc1\x0c\x0c\x0cdxz1\xbc\ +\xbc\xdca\x0aw\xe9P\xa1\x8c=\xc4](uP\x14\ +\xa2,'\x8a'\xe5H\xf8b\x19_$\xa4\xa1{v\ +\xbeH.\x0b\xa6\xd3\xb5i*\xa8\x97\xabD\xdc@H\ +(\xf5\xc0d\xf4\xe0\x88J\x18C\xd8b\x06\xd3\xc3\x93\ +\xd1R&.\xa7!\x8fX.\x11`\xacq9\x0c\x9e\ +\x80W\xc2\x13\xca\xa40\x1f\xb3\xc5|be\xdd\xb5L\ +\xb2!\xfa\x9d\x84!\xb7\x89\x89\xef\xe7\xb7\xa4\xa4\xc5\x9c\ +RYt\xa9\xec\xfd9\xa5iC\xc5\x05\xee\x01\xcc|&|\xc6|}\xb9<\x0e\ +\xd3\xcb\x97\xeb\x8b\xe9\xa0i\xf6\xb7\x8a\x8e\x12q\xe4\xa8\ +\xe9\xd6\x17\xcd\xfd\xc0\xa2U\xb2\xbfUt\x92\x84\x0f\xbb\ +\x1d\xb6\xa0\x8d$Z(\xe6-Rq|\xa9L$\x19\ +\x1a\xd2\xa4\xf9c\x1dB*op\xd3Pe\x84\x80\x8f\ +u\x10b\xb6D\xcaC\xcd?\x98\xael\xff\xf4\xb72\ +\xa0<\xd8c\xc4bsP\xd7\x12\xc2\xc1Z8\xb7'\ +\xa3I\xe8\xbb\xb3\xf1?\xb6\x02\xdf\xca\xfen\x1aeE\ +<\xe1\xfb\x9eL\x95T\xef.D**\x90\x95\xb1%\ +\xbc\xf0B\xa8\xe9\x90\x7f\x1cw\x94\xa56\xcd\xf6\x96\xbe\ +\x19\x0a\x857\xab\x1e\xc6\xdb\xf5\xa3\xac\xf3f\xf5\xa9H\ +\xaa\xd2\xb7+\x06\x0eF\xfd\xc8\x01\x07-F\xc3\xa8\xd5\ +\x92p\xea\x07N\x04'\x82\x13\xc1\x89\xe0Dp\x228\ +\x11\x9c\x08N\x04'\x82\x13\xc1\x89\xe0Dp\x228\x11\ +\x9c\x08N\x04'\x82\x13\xc1\x89\xe0Dp\x228\x11\x9c\ +\x08N\x04'\x82\x13\xc1\x89\xe0Dp\x228\x11\x9c\x08\ +N\x04'\x82\x13\xc1\x89\xe0Dp\x228\x11\x9c\x08N\ +\x04'\x82\x13\xc1\x89\xe0Dp\x22j&\xa2\xddx\x0e\ +\x8c'\xe4\x06\xd3\xcb\xe8\xa1! \x22>\x91\xec\x84\ +\x9d93\x04\xcd\x80\xc5\xb10\xef\xcd\xfax\xect\x1e\ +\xd0\x11K\xf8BY\x92\x5c&\x96\xcb\xe0-:&\x07\ +\x92\xa5\xb2\xd4|\x91H\x80\xa5\x88\x17\xcax<\xa1\xbc\ +D\xe9G\xff\x91\x02\x09\xba7\xc0\xf2\xa6\xf2\x87\xa0\x14\ +\x11|\x19\xca\xd3X&O\xd2\x87]\xc2K\x8b\xceJ\ +k \xa6\xc8\x90,\x11\x89\x0aRy2\xb98)\x7f\ +\x10\x07\x06\xeb\x82d \x01\x22\xf8+\x004\x90\x0ax\ +@\x06\xe4@\x8ce\xd1\x167\xa4V\x16\x13!\x90\x09\ +\xeb9\xd2\xcd\x97\xf3\x052\xbe\x10+\x12\xdeka\xa9\ +#\x13\xb3{+$\x0eB\xe9\x89\xeeM$6V\x91\ +8\x09;y \x85\xa1\x16\x98\x5cb\x99P)\x04\x14\ +2_\xd2p\x93R(Ml\x8c\x91\x08#\x1bo\x84\ +\xb2\xc6\x9b\x84|\x81\xb4\xe1\xa6O\xa1\xac\xb4\xe1&\xba\ +D\x10\xd5p\x03\xf5\xd8Xt\x04\xa7\xb8\xb0^\x11\x0a\ +\x06AJlD$P\x1c\x9b\x04)\x5c\x1a\x8d+\x92\ +\xe7\x87\x89\xaa\x1a*3V\x22|+,B\xf0v\xba\ +\x08\x097-](\x8bqH\x11\xc8T\x1bC\x84\x80\ +Kk)\ +\x8b\xae2\x06\xb1\xa0\x12\xae\xa7\x0cO\xe1\x17\x16\xa9F\ +\xe8(# o\x0d\xc1\xa8\xe5\x90\x1e(x\x00q@\ +q\xf6\xb3\xfe\x1fkU\xceX\x9c~\xa3\x04\xa1\xa3\xea\ +s=T\x90\xd3M\x93\xb0\x85R1[\xc2\x13r\x86\ +*Z\xa2\x19\x16c\x87bA\x1al\xedl \x04R\ +\xd8\xc6\xd9\xd0\xcf\x83~\x0e\x18Z\xff\x94\xfab)\x8d\ +0z\xa0\xae\xae\x9e\x04\x97\xa0\x88\xb5\xc5\xee\xc8J>\ +\xc9z\x0d\xf7v\xd8}\x97\xa6\xf7\xa4\xa7\xd8\xbd\x96\x92\ +SE).\x8a\xfeA[\xd9\xe0\x14r\x91\xaa1\x7f\ +\x1c`\x14\x14\xc0\x18\x01\xbcR\xea3)B\x96\xcc\x9b\ +\xdf\x10\xe2\x85]\xfb\xc1\xab2\xc4\x17\xbb\xba7\x86`\ +e\xbe\xc4\xfcb$IK \xddF\xd1\xea\x8f\xc3t\ +\xa1\x90\x8dX\x7fGlr\xe7\xa9\xe0\xb1^\xab\xee\xd8\ +\x1d\x05\xd3\x07\x09\x0b\xd1\xac\xaf\x7f\xac\x16\x88a\x0aW\ +\x9f\xd7\xaeY\x1dX!\x1f\xc9\xb7Ar\x05\xf2\xea\x9d\ +B;oC5L5m\x8b\x09\x94h\xec\xc6\x80P\ +.\x10(\x04\x02\x94|\x91\x5c\xc8\x956\xebE82\ +\xa6\x92M\xf4\xe8\xa94{\xd0\xec\xf9\x00\x11\x8d\xcf\x11\ +\xc6FJ\xe3c\x82\xee)R\x01\x9f\xc3\x93f\x08\x12\ +\xd0\x83NhBG\x03\x8b\x83\x1ec\xe8\xa8\xd8M|\ +\x94J\xd9\xd4B\x89H.n\x12D\x11a\xc7\xff\x94\ +}xt*\xca\xa48\x12\x08\xef\xf5\xd8r\x99(\x96\ +'\xe4I\xd0q<\x8c\xfb\xa1b\xe5\x10\xa4\xadH\x8c\ +BPL|I!\xad\x03\xe4'\xc9%\x82&\x03\x19\ +\xa6\xfc\xa6!\x89\xd2\xc2\xa6\x83\x1d\x85-\x90\xa5\xb1\x0b\ +\x9b\x84\xe9sx0\x1fo\x88,^\x1a\x97\x96\x98\xa0\ +\xecN5\x95\xc1M\x12k\x15\x89$\xc3\xc2\x05\xfcB\ +\xa5\xa6\x0c\x14\xc2\xc7)\x83\x91v\xb9\xbc\x02\xb6\x1c\xeb\ +O\xb5Jy\x12Y\x0b\xc93\x94\xc1M\x93\xeb\xe4\x17\ +b\xa7\x5cU\x94k\xa4\xc8\x10\x11\xdb\x10\x81\xd8\xe8#\ +\x12\xa2\x7f-\x99H\x0c\x07M)OUq\xda\x02\xa8\ +\xc8\xb7Bu\xf3\xb1\x8e\xf9\xadp\x1d\x09\xea~\x9b\x05\ +cO\x90\xab\x22\x1ft\xc4\xd0\xc7\xa01\xdc\x14\xf3\xa2\ +*T<\x95\xba\x98b\x8f\xd6\xab(O\xe1\x08\xb0\x09\ +\xa0'\x81\xb2\x11X\x02B\xdd\xa5\xba\x07@\x17;\xe5\ +\x98\x1b\x99\x08\xef\x1f\x02}\xec\x0epG\xa1|u\x97\ +\xc18\xa0\xab\xa9\xa9\xa9\xa5\xa9\xab\xa5\xa5k\xa4\xa3\xad\ +cdf\xa0\xabk`fibbfbbi\xa4\ +\x8b\xa1\xfe\xafe\x10\xf4tt\xf4\xf4\xf5\x0c\xf5\xf5\x0d\ +M\xf5\xf5\xf5M\xd1E\xdfT\x91\xc5\xa85\x05\xd4\xed\ +\x03F\x9a\x90\xf9<\x12\x81\x0e\x88F\x04\x92\x11\xa1\xee\ +*\x14\x94Rw\x88\x10\x0a\xb9\xd4 `\xa8W\x1c\x09\ +\x10\x88d\x0d\x0aUSK[\x87\xd0<\x92\x00\x88$\ +e\xa4! \x90\x09$\x22\x99\xa8A\xa5hj\x90t\ +\xbda\xa4\x11\x89\xdc\xd5\x98\xa9\x11\xde\x97mB\x1f<\ +\xda\x8bb:c\xc9w\x11\x0e\x8ef)\xfb\xf3\xbd}\ +$cNGR\x9d*R\x1f_\x7f\xc2\x91\xfa\x9a/\ +\xdd4\xd69\xea\xab4n\xf4\x81e2?\x8b3\xe9\ +\xbf\xf3\xfe\xda<\xee\xe0Y\xf9\x8d\xa71.3\x97\x7f\ +\xbee\xd6\xa1s\x7f<[\xb1\xf5\xc7\xf37\xab3\x0a\ +J\xc7\xcf^\xb9\xed\xa7\x0b\x7f>\xf7\x8f\xcd,,\x9b\ +0g\xd5\xf6\xc3\x17o\xbd0\x02D\x22\xe4\x96\x8c\xf1\ +D\xa5h\xf8b,te\x1a\x93!\x07\x83\xe9&\x1a\ +^\xa3g\x98\x22\x0e\xf6\xa7\x9c~\xec\xed\x98\x7f]2\ +\xa6\x222\xd5\x8c#\xf5y\xe2DA\x0cP\x9d}\x0f\ +\x9c\x81L,\xb3\xe0F\xa7\xfb\xc9x\xbf7\xb0\xf0n\ +\x0e\x5c\x1aY\xa8\xfb\x0d\xe8\x920\x9aF \x14T\xa7\ +U\xc4;us\xac\x88\xef\x15\xefX\x91R\x11\xef8\ +sy}@R\xdd\xa9\xea4\xb7\x05\xbfN\x9dV\x10\ +\xb9\xdfm\xcd\x8a\x87z\xd6S\x08!\x17\xc6\xa5U\xa4\ +F.\xaf^h\xb7!v\xdd\xa4G\xe2Z\xc9\xaa\xa2\ +\xe7\xf67\xfdk_o\xac\x94\xae{\xd3o\xeb\xf7\xf6\ +[Y\xd6\xb5G\x17^\x1d\x90uz\xf6\x90:\xe0T\ +Y\xf6f{>\xa8y\x9a\x1e \x12\x16\x04\xdd\xbb\x9b\ +n\xfb\xe5\xe11V\x03^\xbd\xfa\xfa\xf5\xe5\xf2\x8a\x8a\ +oV\x9c(\xee\x97\xf3\xbb\xd5\xe95.a\xe6\xbc:\ +\x90\xbdS?h\xb2\xe0\xf8\xfa\x19'\x8el\xae\x03\xc1\ +\xd4\x8d\xc1ww\x97\xad\x91\xf7\xd7\xfaeKM\xf9\x82\ +\xde>y\xb5\x87o\x95g\xdf\x0bv\x0aY\x11{A\ +8vz\xd5oO\x8b\xc9O\xf6\x14\xd7\x81\x93K&\ +'V\x16\xcf\xb79csv\xb5Cr\xe6Tw\xfd\ +Y\x17\x87\xcd\xe9\xf5m\x90\xf9\xd9;\xb5r\xc6\xf9\x09\ +\xaf\xec\x17\xbc)p\x5cu\xbe\x22;X\xe7\x9e\x9d}\ +\xd6\xda.5n+'n\x1a#\xaf\xddZ\xf8\xf4\xd2\ +V\x85\xf8u\xa0\xee4\xa6\x94@\xfb\xac\x9a7\x03\xec\ +\x8d\xfb\x1b\x1c\xdd\x16m\xb6\xe8\xf5\xcb:\xf0\x07s\xe8\ +\xca\x98\xe8_\xfdC^]\x13l;\xc8\x18\xfe\xbd\x13\ +d$\xe6\xda\x8as\xc2_\xbe\xfdY\xfa\xc5\xfa\x91\xf7\ +\x08o\xacc\x9f\xa7;\xce\x9cc>;\xf7\xab\x01\x8c\ +\xad[\xfc\x0eS\x16\xe4>\xebgp+pXh\x9f\ +\x9aU\xa7\x9et\x17\x9c\xba\xb2j\x86\xf3\xe5\xddO\x1f\ +\x17>-\xc9\xda\x9bZ\xe3\xac_\x1es\xa4t\x00\xbb\ +v\xeb.\xd2\xde\xc0%S\xad\x07\xf4\xdf\xeb{y\xfd\ +0o\x8f\xbb{\xd3\x1e\x98q\x85\xc7o\x9f\xf0;lV`\x82\xa7U\xd5e\xea#\xcf:\x10p\ +\xa6bQ6l:\xa9ug0\xad\x85\xa4W\x8f]\ +q\xf9L\xcd\xd7[\x02\xec\xe3\x0f\xed\x99P\xea\xe6r\ +\xb9VtJrb\xe0\xba\x8b,\x8f\xd0\xac\x83>\xfd\ +\x1fl\xddyVT\xba\xab\x0e\xd0\x1e\x9d\x1c\xc8[4\ +z\xd6\xd9\xbfr'\xcf<>\xdb\xfb\xa1\xc3\xe6K\xe5\ +\x81_\xc6'\xb1k\x19\x9b\xb3\xee\xe7L!\x96\xc7\x1d\ +\xae9n\xe7..\xb6\xad\xe5\xcc\xab\x03\x89\xf2\xd9\x99\ +\x03\xd6\xcbK}\x82\xa7\x19\xfe\xb9#\x8e\xf6\x9c\xb6\x91\ +\xbe\xff\xf8\x91}\xbf\x14dxo\xeb\x9f=}\xb8\xd1\ +\xd5J\xfb\x9d7\xaf\xe4}6\xe2\xce\x9c\x0cJq\xee\ +\xd4\xa2\x9ad\x9dK\xe5k\xb3\x1f\xd5\x81\xc5\x153n\ +>\x1b\xb9\xec\x14\xa3,\xf9v\xaa\xb0\xdbE\x07\xf2\x91\ +\xb3\x7f\xdb\xef\xae\x03\x8b`\xdb\x19\x97\xfd\x9f~#7\ +\xb1\xab\x07\xce\x9a\x9a\xe1\xb3\xedp\xf6\x9e\xbbW\x8f\xfa\ +\xe9\xed*\x9f\xb5\xeb\xdc\xf3\x0d9u`\xe3\xd7^\xf3\ +\x7f>P\xfcWIhL8\x87Z=\xf9M\x1dx\ +f\xa15kFAF\xf4<\xf3\xc3k\x8a'\x7f\xbd\ +\x8521DoP\xaf\x98-{6>[\xc7Z\x95\ +\xbav\xfc\xd8;\x9e\x13\xae=\xdc?\xea\xd5\xde\x935\ +zi\x8f\x9fx\x1c\xffe\xa3\xf9\x17~W\x1el\xb8\ +\x92\x974\xaf\xc7\xd9\x1a\xfb\xe8\xc3\xb7_\xe6O\xda}\ +aW\xff\x0d\x0fo\x95\xffa\xfd\xf7\xc4n\xa71]\ +\x9eU<\x96}\xef^\xb5\xa6\xae\xe3\xd4\x04&\x9c+\ +\xf7/\x96\x0d7\xf8k@\x1d\xf8,\x13>\x9b\xf3\xab\ +Ekm3W\xed\xd8\xb3\xd2\xe6\x87\x91\x17\xd2\x1cG\ +\xd7\x01\xad\x8c\xcaA\x07ic\xc9\xe16\x9f\xdf\xff\xd9\ +\x82\xcd\xe6v\xd9k\xb7.i\xf2\xa5\x8b\xe5\xe7\xc93\ +\xff\x06\xe4\xb9\xc4\xf8*\xf7\x13_U\xc7\xae\xad\xa6R\ +/\x1d\x9c8\xed\xda\xd1(\xe3\xd0\xaa\xbb\xa7O\x0c\x9c\ +\xd0\xc7\xdc

\xf3\xee\xea\x97\xdfM\x15\xbd\x89\x8b\ +\x8dO\x0a\x15\x9d\xdbS\xf1\xf0\x9b+\xfdFW>\x1f\ +\xbe`\xd6\xd1\x17\xe5\x8c\x17\xf3^\x7f\xde\x9fZyK\ +6b\xfc\xb3\x93\xebi\x0fX}\x17\xfa\x16Ox\xed\ +\xb07\xa8\xa6\x0e$\xbd\xe9~7}\xc4}\xdd>K\ +\xbe\xbc/\xd8\xf9\xe3\xac]\xdf\xfda\x7f\x8d\xb3\xd7\xf7\ +H\xb7\xa0\x9c\x8b[\x02\x97\x07V\x1a_\xd4\x0b\xa7\xee\ +\xe8\xb3$\xd1\xb7o\xefn+\x96\xcc\xca e\x9d\xde\ +GHt\x0a\xad;\xf7\xbe>\xe8W\xc58\xd7\x15\xeb\ +\xc9\x07\x00\xcc\x22\x85#7\x08\x07\x5c8\x1d\xce\x87S\ +\x03\x1a\x9c\x1c\x17A\xbf\x0c:)\xe6C\x13a\x8b\x7f\ +HA\x03\x91\xf0G\x83f\xba'`\x02\xff\xfa\x01S\ +7.\x81/\x14\x11\xa1\x11Y\x02g\xa0\xe8\xcb\x15Y\ +\xd9\xfdh\xd4\x13\xd0\x88\xd4\x82\xb6+4\x97\xd8\x1c\xa9\ +815&\x0d3\xae\xa2#i\xe8\xf3\x16\xa0\x09\x9e\ +_P\x98'g\xdd\xe3\x92i4\xf0a0\xe2\x88%\ +2\xf4U\x1d\xe8\xf7\xe6\xf2\xa4\xd0\x5c#\x8c\x83~A\ +\x99L\x8c\xc2\xd1\xd8o\x9a_\x8c\xfcD4\xea\x9bJ\ + \x83\xd0o\x89\xfc\x85\x0a\xbf\x1b\x96F\xe1\x0fC~\ +n\x89\x10\x9a\x89D\xc4\xb3\x98[\xc2E\xfeC\xd0\xff\ +E\xa9\x1c\x99\x8f\xa4\x04\xe8\x1f_\xca\xe7\x95A\xff9\ +\xe8w\x14\xc8K\xf8\xd0\x8ff&\xa6%<64i\ +1\xbb\xc2Q\xc6\xe3\x14A?\x9a\x19\xe8J\xd2R\xe0\ +\x5c\x96\xdc\x13\xdaf\xba\x85*\xfe|\x15\xbf\x0c\x1al\ +H\xa8H\x91x(f\xd9\xd0\x5c9\xddh\xcc\xc0\xc0\ +\x00Z\x1c\xafL\xc0\x93\xc9\xdc\x93\xd9\x9cb\xb6\x84K\ +\x8b\x14\x95\x88\xd9B8\xc3S\xc8\x8c\xc1\xf8\xadO\x87\ +\xa8(\xea\xbd\x91\xad\x04\xaa[\x85\xefi_\xac\xce\x08\ +\xe6\xc7\x1a\xc3ZJ'Z\x0a\xed.8\x0b$Mo\ +\x0c\xcb\x9f\x07\xc0\xf6\xcf\x01\xb0\xfc\xad1\xccq1l\ +\xa3\xb0\xde\xb6\x9dT\x91\xc7\x1c\xb5\x17\x95\x8f\xfc\xf0y\ +\x1c\x0f\xa4\xd0\x06\xfcc\x82V@\x85\x9e\x07*\xaeA\ +=\xb4(\x85eKCz\xe3@\xfbU.\xa1\xc1\x19\ +8\x87Gso\xde\x88?:c\xcb|\xb8\xa5\xf0\x0a\ +xh\xa6\xcf\xa3e\xc0V\xc6\x17\x16\xc2\xea\x16r\xf9\ +\xd8\xf7\x8a\xf8\xc2wU\xe2Gfk\x06E\xbb\x860\ +Y^\x0bLs=\x80\xe1IS@zp\x0c\x90M\ +t\x00)\xe7\x1b\x18Ch\xa8\xb7\x04\xad\x0c\x80\x9e\xbc\ +L\xfb[\x8av\x8f\xa1\x85i&q\x1a\xbaH\xf9\xd8\ +\xe4\x0aD\xa6\xa4\xd18rI\xa9\x22\x0e\x9bOi\x00\ +m\xd8I\x99\x82.\xc0\x0e8\x00W8\xeb\xf7\x82\x9d\ +L\x10\x08\x03\xd1\xa0\x17H\x02i \x1b\x0c\x04\x1c\xd8\ +\x19\x95\x00\x09(\x03#\xc0h0\x1eL\x06\xd3\xc1,\ +0\x1f,\x02\xcb\xc1\x1aP\x096\x81\xed\xe0\x07\xb0\x1f\ +\xfc\x04\x8e\x82S\xe0<\xb8\x0c\xaa\xc0Mp\x0f<\x06\ +\xcf\xc1+h\xe0R\x09z\x04\x13B\x17\x82=\xc1\x89\ +\xd0\x83\xe0E\x08 \x84\x10\xa2\x09\x09\x84\x14B6!\ +\x8fPH\x10\x12\xe4\x84\x11\x84\xb1\x84\xc9\x84\x0a\xc2|\ +\xc2\x12\xc2\x1a\xc2w\x84\xef\x09\xfb\x09G\x08\xa7\x09\xbf\ +\x12\xae\x13\xee\x10\xfe\x22\xd4\x10ID]\xa2)\xd1\x96\ +\xe8Ld\x10\x03\x88\xe1\xc4\xde\xc44\xe2\x00b!q\ +0q\x18q\x1c\xf1K\xe2\x5c\xe2R\xe2z\xe26\xe2\ +~\xe2Q\xe2yb\x15\xf1\x1e\xb1\x9a\x04H:$s\ +RW\x92;)\x80\x14IJ\x22\xf5#\x15\x90$\xa4\ +\x91\xa4I\xa4\xd9\xa4\xa5\xa4J\xd2N\xd2a\xd2YR\ +\x15\xe9>\xe9o2\x85lB\xa6\x91\xdd\xc9A\xe48\ +r:\x99C\x1eL\x1eI\x9eB\x9eO^M\xdeF\ +>D>K\xbeN~L\xae\xd5\xd0\xd3\xb0\xd1\xe8\xa1\ +\xc1\xd2\x88\xd7\xc8\xd2(\xd4(\xd3\x18\xaf1[c\xa5\ +\xc6V\x8d\x1f5\xcek\xdc\xd4xN\xa1P\xcc).\ +\x14\x7fJ\x1c%\x9b2\x882\x9c2\x85\xf25e#\ +e\x1f\xe54\xe5\x06\x05\x0eh\xd4.\xd4\x1e\xd4`j\ +\x12\x95M\x95Q\xc7S\xe7Q\xd7S\xf7R\xcfPo\ +R_j\xeah\xdakzi\xc6h\xf6\xd3\x14j\x8e\ +\xd1\x9c\xad\xb9Vs\x8f\xe6\x19\xcd[\x9a\xaf\xb4\x0c\xb5\ +\x9c\xb4XZIZ\x5c\xad\xa1Z\xd3\xb4\x96k\xed\xd4\ +:\xa9uS\xeb\x95\xb6\x91\xb6\x8bv\xb0v\x9a\xf6 \ +\xed\xd1\xdas\xb5+\xb5\x7f\xd4\xbe\xa2\xfdTGG\x87\ +\xae\x13\xa8\xd3W\x87\xaf3Jg\xae\xce\xb7:?\xeb\ +\x5c\xd7\xf9[\xd7X\xb7\xbbn\xa4n\x8e\xae\x5c\xf7K\ +\xddU\xba\xfbt\x7f\xd5}\xaa\xa7\xa7\xe7\xac\x17\xa6\xd7\ +OO\xa6\xf7\xa5\xde\x1a\xbd\x83z\xd7\xf4^\xea\x9b\xe8\ +{\xe8\xc7\xebs\xf5\xcb\xf5\x17\xe8o\xd3?\xa3\xff\xd0\ +@\xcb\xc0\xc9 \xdc`\xa0\xc10\x83\xd9\x06\x9b\x0dN\ +\x1a\xdc7\xd42t6\x8c4d\x1b\x8e4\x5c`\xf8\ +\xbd\xe1E\xc3j#\x13#\xa6Q\x92Q\x89\xd1\x14\xa3\ +\xb5FG\x8cn\x1bS\x8d\x9d\x8d\xa3\x8d\xb9\xc6\xe3\x8c\ +\x97\x19\x1f4\xbeaB2q0\x894\xe1\x98\x8c5\ +Yn\xf2\xa3\xc9MS\x8a\xa9\x8bi\xbc\xe9 \xd3\xc9\ +\xa6\x1bLO\x98>636\xf31\xcb0\x1bb\xb6\ +\xc0l\xb7Y\x959\xc9\xdc\xd9<\xde\x5c`>\xcd|\ +\x93\xf9\x05\xf3\x1a\x0b[\x8bp\x0b\x9e\xc5D\x8bJ\x8b\ +3\x16/,\xad-\xc3,y\x96\x93,7Z\x9e\xb7\ +\xac\xe9B\xeb\x12\xdd\xa5\xb8\xcb\x8c.\xdb\xbb\x5c\xb5\x22\ +[u\xb7\xeakUf\xf5\x8d\xd5\x8fV\xf7\xadM\xad\ +\x83\xac9\xd6\x93\xac7Y\xfffC\xb4\xe9n\x93b\ +3\xdcf\x99\xcd1\x9bj[;\xdbX[\xb1\xed<\ +\xdb\x83\xb6\xf7\xed\xcc\xed\xc2\xec\x06\xd9\xcd\xb4\xdbcw\ +\xc7\xde\xc4>\xc4\x9eo?\xd3~\xaf\xfd]\x9a\x19-\ +\x9c&\xa0\xcd\xa5\x1d\xa2=\xeej\xd35\xae\xab\xbc\xeb\ +\x92\xae'\xba\xbe\xa2\xbb\xd0\xd3\xe9c\xe8\x1b\xe9W\x1d\ +\xb4\x1d\x02\x1c\x0a\x1cf:\x1cpx\xech\xef\x98\xe8\ +8\xc2q\x9d\xe3oNZN\x01NENs\x9c\x0e\ +;\xbdpvq\xcet\x9e\xe0\xbc\xdd\xf9\xb6\x8b\xa5K\ +\xbc\xcb0\x97u.W\x5c\xf5\x5cC]\x07\xbb.u\ +=\xd7\x8d\xd2-\xa0[q\xb7\xaf\xbb\x9d\xeaN\xec\xee\ +\xdb\xbd\xa8\xfb\x82\xee'{\x10{\xf8\xf5\xe0\xf7\xf8\xba\ +\xc7i7\x0d\xb7@7\xa1\xdbR\xb7\x8b\xee\xba\xee\xe1\ +\xee\xa5\xee\xeb\xdc\xaf{\x98{$x\x8c\xf1\xd8\xee\xf1\ +\x90\xe1\xc8\xe8\xc7\x98\xc18\xcc\xa8\xf5\xf4\xf5\x14x.\ +\xf7\xbc\xcc4f\xf6b\x8ea\xeed\xfe\xe5\xd5\xdd\x8b\ +\xe3\xb5\xc0\xeb\x9c\xb7\x9ew\x8cw\xb9\xf7\x0e\xef'>\ +=|x>\xdf\xf8\x5c\xf25\xf1M\xf4\x9d\xe0{\xc0\ +\xf7\x8d\x9f\xbf\x9f\xc4\xaf\xd2\xef\x8e\xbf\xa3\x7f\x9e\xffB\ +\xff\x8b\x01\xa6\x01\xc9\x01S\x02~\x0e\xd4\x08\x8c\x08,\ +\x0f\xfc!\xf0o\x96\x1fK\xc6\xda\xc4z\x14\xe4\x1eT\ +\x1c\xb46\xe8vO\x97\x9e\xbc\x9e\xcb{\xde\x08\xa6\x07\ +\xb3\x83\x97\x04W\x85\xd0B\xf2B\x16\x87T\x85v\x0d\ +e\x87.\x0d\xfd=\xcc!\x8c\x1b\xb62\xecVx\xb7\ +\xf0A\xe1\xeb\xc3\x1fFxFH\x22\xb6F\xbc\x88d\ +E~\x16\xb9/\x8a\x14\x15\x1b5)\xeaD\xb4qt\ +z\xf4\xfc\xe8k1\xf4\x98\xc2\x98u1\x8fc}c\ +\x87\xc7\xee\x8b\xd3\x88\xeb\x1d7#\xeeb\xbcm<'\ +~M\xfc\xe3^\xfe\xbd>\xebu\xa8\xb7n\xef\xd4\xde\ +\xf3{\xff\x9e\xd0=A\x92\xb03\x91\x98\xd8+\xf1\xab\ +\xc4+}\x9c\xfa\x08\xfblO\x02I\xf1I_%]\ +MvI\x1e\x9c\xbc\xab/\xa5or\xdf\x05}\xffL\ +a\xa6\x8cH9\x9cj\x92\x9a\x9b\xba6\xf5yZD\ +\xda\xb4\xb4\xcb\xe9\xae\xe9\xf2\xf4\x03\x19\x06\x199\x19k\ +2^dFeVdVe1\xb2>\xcb:\x9am\ +\x95\xcd\xcf\xde\xd1\x8f\xda/\xa3\xdf\xca~\xd5\xfd\xa3\xfb\ +\xcf\xea\x7f3\xc77g|\xce\x85\x01.\x03\x86\x0c8\ +2\xd0j\xa0`\xe0\xee\x5c\x83\x5cv\xee\xe6<\x8d\xbc\ +\xcc\xbc\xb5y\xaf\xd9I\xec\xa5\xec\xea\xfc\xf8\xfc\x85\xf9\ +\x8f9\x91\x9c9\x9c{\xdc0\xeeL\xee\x1d^0\xaf\ +\x82w\xab \xb8\xa0\xa2\xe0vap\xe1W\x85w\x8a\ +B\x8bf\x17\xdd\xe7G\xf2\xe7\xf3\x9f\x0c\x8a\x1b\xb4h\ +\xd0\x8b\xe2\xa4\xe2U\xc5u\x82L\xc1\xc6\x12\xcd\x92\xbc\ +\x92\xef\x85\xc6\xc2b\xe1!\x91\x9dh\x88\xe8\xb4\xb8\x87\ +x\xbc\xb8j0k\xf0\xac\xc1\x8f%\xbd%+\xa5\x04\ +\xe9\x00\xe9\x0e\x99)4\xa6\x8e\xc9]\xe5\x9f\xcb\xaf\x97\ +\x86\x94.(}Y\x96Q\xb6y\x88\xd1\x10\xe1\x90c\ +C\xbb\x0f\x9d8\xf4\xd6\xb0\x98a+\x86\x93\x87s\x86\ +\x1f\x18\xd1u\xc4\xe8\x11\xd7?\x0b\xffl\xc9H\xc2\xc8\ +\xfc\x91\x07\xca\x1d\xca\xc7\x95\xdf\x1c\x15;j\xf5h\xed\ +\xd1\xc5\xa3\x8f\x8f\xf1\x1cS1\xe6\xd9\xd8\xcc\xb1;\xc7\ +\xd9\x8e\x1b5\xee\xc6\xe7\xb1\x9f\xaf\x1b\xaf?^2\xfe\ +\xe2\x84\xa0\x09\x8b\xbe \x7f\xc1\xff\xe2\xc4D\xef\x89\xf3\ +&\xd6N\xe2N\xfae\xb2\xe7\xe4\xd9\x93_O\xe1L\ +\xf9e*s\xea\xdc\xa9u_\x16|yb\x9a\xdf\xb4\ +o\xa6S\xa6\x0b\xa7_\x98\x11:cu\x85Q\xc5\xb0\ +\x8a\x1b_%~\xb5m&m\xe6\xa4\x99\xcff\xe5\xce\ +:2\xdbg\xf6\xa29\xdas\xe4s\xaa\xe6&\xcc\xdd\ +1\xcfq\xde\xf4y\xaf\xe7\x17\xcd?\xbf b\xc1\xc6\ +\x856\x0b'.|\xf15\xf7\xeb3\xdf\x84}S\xb9\ +\xc8v\xd1\xe4E5\x8b\xf9\x8b/-\x89]\xb2m\xa9\ +\xf3\xd2\xd9\xcb(\xcbJ\x97\xfd\xb9\ +\xf1\xbe\xfb\xfb\x0b\xf7\xdf8\x90{\xe0\xf2\xc1\xac\x83\xe7\ +\x0e\xf5=t\xe2\xc7\xde?\xfe\xfcS\xccO\x07\x0f\x87\ +\x1f\xde\xfbs\xf0\xcf?\x1ca\x1d\xf9\xfe\x97\x80_\xb6\ +\x1f\xf5;\xba\xed\x98\xef\xb1\xad\xc7}\x8fo=\xe1w\ +b\xdbI\xff\x93;N\x05\x9e\xday\xba\xe7\xe9=g\ +B\xcf\xec?\x1bu\xf6\xa7s\xf1\xe7\x8e\x9e\xefs\xfe\ +\xf4\x85\xf4\x0b\x97.\xe6\x5c\xac\xba\xc4\xbdt\xfbW\xc1\ +\xafO~+\xfd\xed\xd5\xe5QW4\xaeL\xbajx\ +u\xf65\x9bkK\xff\xd3\xed?\x1b\xab\xfc\xaav_\ +\x8f\xba~\xec\xf7\xd4\xdf/\xdf\xe0\xdc\xb8\xf7\x87\xf4\x8f\ +\xd77\xc7\xfd\xa9\xf7\xe7\xec[\xf6\xb7\xd6\xdc\xf6\xba\xfd\ +\xc3\x9d\x98;\xa7\xee\xf6\xbf{\xf3\x9e\xf8\xde\xab\xfb\xe3\ +\x1f\x18=X\xf8\xd0\xf5\xe1\x96Ga\x8f\x8e=\xcez\ +|\xf3\x89\xe4I\xdd_S\x9evy\xba\xea\x99\xcf\xb3\ +\x03\xd5\xc9\xd5\xd7\x9e\x97<\x7f\xf5b\xd2\xcb./W\ +\xff\x1d\xf0\xf7\xe1\x9a\xcc\x9a[\xaf\xca^S_\xcf}\ +\xd3\xed\xcd\xce\xda\xde\xb5W\xeaJ\x1a\xdeH\xe0\xc0\x81\ +\x03\x07\x0e\x1c8p\xe0\xc0\x81\x03\x07\x0e\x1c8p\xe0\ +\xc0\x81\x03\x07\x0e\x1c8p\xe0\xc0\x81\x03\x07\x8e\xffc\ +\x90\xc9dMGG\xc7\xac\xce\xe6\xe3\xff\x15aaa\ +\x8b\x0a\x0a\x0a\xea\xe0\xff7\xa8.:\x9b\x9f\xff'\xa0\ +v\x8ft\xaft)))Guuu\xed\xda\x83\x96\ +\x8e\x8e\x8e\x15\x9dNO\xf7\xf3\xf3\x9b\xd0\xabW\xaf\x1d\ +\x19\x19\x19\xe7srr\xfe\xe4p8/\x90C~\x18\ +v\x01\xc6}\xef\xef\xef\xff\x85\x83\x83C\x06\xca\xd3\x1e\ +\xbc|*@\xed\x1d\xb5{\xd5:\x188p\xe0]k\ +k\xebw\xec\xf2\xfd0@\xfdY{zz\x96%'\ +'\x1f\x86e\xd7\xaa\xd2i\xa5\xab\xed\xdb\xb7\xef\x11X\ +\xc6\x10\xd8.l\xd5\xc1\xd3\xa7\x0877\xb7\x12.\x97\ +[\xa3\x94\x9b\xc7\xe3\xbdvww\x17}ly\x16\x16\ +\x16\x01QQQ\xaba9\xaf>B\xe7-:T\x16\ +,s\xad\xa5\xa5%K\x9d\xb2\x7f*\x80r\x05\x0d\x18\ +0\xe0\x96\xaa\xcc\x91\x91\x91+\xe13\xa2\xdd\xda2`\ +\x1b\xb5A:R\x97\xce\xdf\xe5\xa2\xa3\xa3\xd7\xb7W?\ +\xd9\x99\xd0\xd6\xd6\xee\x02\xfb\x8a\x9fTeMKK;\ +\xad\xaf\xafO\x7f_>\x12\x89DA}D~~\xfe\ +\xb3\xf6\xd6\xbd\xd2AZ\xd5L&s\x18\xa4M\xed(\ +\xfdt\x04\x90.CBB\xe6\xa9\xca\x9a\x97\x97\xf7\xd0\ +\xd6\xd66\xb6\xa5\xf46661\x99\x99\x99\xbfv\x94\ +\xde\x9b\xbb\xac\xac\xac\xcb\x90\xb7\xb8\x8e\xd6S{\xc3\xd5\ +\xd55\x1f\x8e\x09/Ud}\x83\xc6R\xe59g\xf8\ +G\x84\xb6\xcc\xe7\x9d\xa5\xf7\xe6\x0e\xd9L\x88\xa7\xce\xd6\ +\x9b:ann\xee\xdb\xbf\x7f\xff\xdfU\xe5\x8c\x89\x89\ +\xd9\x80\xfa\xf9\xf8\xf8\xf8\xad\x9d\xad\xf3\xe6\x0e\xda\xae\xdb\ +\xa9T\xea[\xdf:\xfa7CKK\xcb,11q\ +\xaf\xaa\x9c\xf0\xb9\xf8\xbb\xb3u\xfd\xbe\xfe\xc8\xd8\xd8\xb8\ +Gg\xebM\x9d \x12\x89d\x16\x8b5\xa3\xb3u\xdb\ +Z\x07\xc7\xe6\xa7p\x5c\x8a\xeel\xbd\xa9\x13P\x9e\xa8\ +O\xb9\xdd7whN\xfd\xbfR\x07\xc8\xc6A\xf2\xa8\ +C/9997\xd1\xb3\x84l\x16##\xa3\xee\x14\ +\x0aEOCCC\xd7\xd0\xd0\xd0\x19\x8e57\xda\xa1\ +\x0eb:[\x7fm\x01\xb2;\xd5\xa1\xfb~\xfd\xfaU\ +\xd1\xe9\xf4\xd4\xf7\xd9(\xa8\xefn\x8f\xe7\xe0]\xb6\xf3\ +\xa7\x0ed\xff\xa0yN[u\x10\x10\x100\x05\xce\xa3\ +\xb5\xfe\x89^{\xe8\x1f9$\x83\x99\x99\x99OG\xe8\ +L]@\xf3\xfb\xe6\xeb\x11\x1f\xe1\xde\xf4\xe8\xd1cP\ +ki\xb6\x97\xfe\x91C\xb2\xfc[\xd6\xf0`\x9f\xac\x9f\ +\x9e\x9e~\xb6\xad2\x7f\xe8\x1a^{\xea\x1f9\xb4\x96\ +\x82\xc6\x9b\xf6\xd2\x9b:\x80\xe6\xb7qqq[\xd4!\ +/\xea\xf3MMM[\xfd\xa5\x90\xf6\xd6?r\xb1\xb1\ +\xb1\xdf\xa9|\xab\xec\x93\x83\x97\x97\xd7\x085\xc8\xd9\xb0\ +\xd6\x0f\xc7\xbf\xe7\xce\xce\xce\x03ZC\xbb#\xf4\x8f\x1c\ +ZGio=~\x0c,--{\xa2\xb5\xff\xb6\xca\ +\x87\xec\xcb\xbc\xbc\xbc\xc7\xcd\xc2\xa6\xa3y\xdc\xfb\xe8w\ +\x94\xfe\xd1\xbb\x04h[\xf8w\x94^[\x03\xd4\xe7\xa3\ +\xfeB\x1d}\x0e\xd4\xb3\x86\x81\x81\x81\x13\x1cC\xce\xa9\ +\xc6\xf5\xe9\xd3\xe7\x80\xb6\xb6\xb6\xc5\xbbx\xe8(\xfd#\ +\x07i\xfd\xf6!\xef6\xda\x1b\x81\x81\x81S\xd5!\x97\ +\xbf\xbf\xffDe\x99h^\xd5\xfc}\x0c\x9c\x7f\xfd\xf1\ +\xae\xb6\xd7\x91\xfaG\xce\xc7\xc7gt\xc7i\xf8\xdd@\ +k\x86h\xcdD\x1d2YYY\x855/\x1f\xbd\x9b\ +Q\xed\xd7\xd0:\x86\xab\xab+\xb7y\xba\x8e\xd6?z\ +\xaf\x81\xdaH\x87(\xf9=\x80\xfa)U\x87H\x15h\x8d\xa8\xf9\xf8\ +\x8a\xd6\x92\x0c\x0c\x0c\x1cQ\xd9\xd0^\xb8\xdeV>\xe1\ +\xdc\xf7\x91r\xde\xf1\xa9\xc0\xd9\xd9y\xa0:\xdaU\xf7\ +\xee\xdd?\xf0+\xdao\x03\xf5\xf1={\xf6\x9c\xd9\x5c\ +gAAA_\xa9\x83G\x07\x07\x87Lu\xe8L\xdd\ +P\x9e\x87i\x8bC\xedS\xb5\xbfh\x0bP\x9bh\xf6\ +\xfe\xffc\xce\x114qh\xddC\x1d\xbc\xb5\x07\x90\xed\ +\xdd|\x8d\xe0c\x1c\x9c\xe3.W\x17O\xa6\xa6\xa6^\ +\xeaX\x1bG.%%\xe5\xd8\xa7\xbeg\x1a\xbd\xa7F\ +\xfbt\xda*\xeb\x87\xbc{\xff'\xa8c\x8d\x10\x8d\xeb\ +\x9fZ\x9f\xff.\xc06\xe7\xa9\x865\xe9Z\x0f\x0f\x0f\ +I[yA6h[\xfb\x1dd[\x98\x98\x980\xd4\ +\xa1\x9b\x8e\x82\x9d\x9d]\xbc:\xe6\x05p\x1c\x9d\xf51\ +\xfb\x0e\xd0;\xb9\xe0\xe0\xe0\xb9m\xa5\x8fd\xf8\xb7\x9e\ +\x11prr\xcaQG\x1d\xa0\xf3\x8dp,\xcd}\xd7\ +\xfb\x01U \x1b\xd3\xc5\xc5%\xaf\xf9\xda\xd0\xc7\xea\x1e\ +\xc9\xd0\x11\xbaj/8::f\xabk~\x8c\xde9\ +\xa1y\x0f:_\x8a\xe6Z\xe8,\x01r\xc8\x8f\xc2\x90\ +\xfd\x85\xecLu\xd0B<#\xde;[\x7f\xea\x00\x9d\ +NOS\xe7y\xc6\xf6vH\xf7\xe8\xbcqg\xebM\ +\x9d\xa0\xd1h\xc9\xea\xda\x07\xdd\x11.00\xf0\xcb\x7f\ +\xda\xf3\xf2o\x83\x99\x99\x99\xb7:\xe6\xff\xed\xe5T\xcf\ +1#\x87\xce\xee\xa03<\x9d\xad7uBSS\xd3\ +4!!awg\xeb\xba\xb9C\xba\xd6\xd7\xd7\xa7\xc5\ +\xc4\xc4T\xaa\x86\xa35)\xb4\x97\xbb\xb3\xf5\xa6N\xc0\ +\xe7\x9a\x84\xd6:;[\xe7-\xf55h\x7f\xa7\x97\x97\ +\xd7p\x18\xfeF\xe5\xb9x\x89\xcetv\xb6\xde\xd4\x0d\ +4G\xe8\x8c}#J\x87\xf6\x5c@\x1ez\xb7\xc4\x1b\ +\xb2\xf9\x91\xbd\xa5\x9a\x1e\xceEf\xb7\xc6\x06\xfe7\xa1\ +\x93\xce\xbf?k\xcd\xf9w\xb4\xae\x8e\xf6\x9d\xab\xe6M\ +JJ\xfa\x11\x9d\xf5\xef(\xfdt\x14\xd0\xda\x0a\xfaf\ +D{\xeb\x1e}\xdb\x03\xcd\x19Z\xcb\x17\xda\xe7\xd9\x9c\ +/4\x1fD\xdf\xbchO}t\x16\x90\x8d\x14\x1e\x1e\ +\xbe\xa4\xd9\xf9\xf969\xf4\xae\x10\xed\x8dh\xcb9\x22\ +\xb4\x16\xd5l\x1fd\x8d:\xd7\x08?5 \xbb\x0f}\ +\xdb\x06\xd9J\x1f3wCy\xd0>+X\x86\x10\x96\ +e\xae\x0e\x9e\xac\xac\xac\xc2\xd17\x8eT\xe9\xa09\xf7\ +\xff\xfa\xb7\xbf\xa8T\xaa\x11\x1a\xabQ\x9f\x8d\xde\xe7\xa2\ +o2eff^Bk\x0a\x0a \x0a Artboard\x0a \ +Created with Ske\ +tch.\x0a \ +\x0a \x0a \x0a \x0a \ + \x0a\x0a\ +\x00\x00\x04S\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a \x0a icon / outl\ +iner / entity / \ + error / Editor \ +only\x0a \ + Created w\ +ith Sketch.\x0a \x0a \ + \x0a \x0a\x0a\ +\x00\x00\x15\xcc\ +I\ +I*\x00j\x08\x00\x00\x80?\xe0@\x08$\x16\x0d\x07\ +\x84BaP\xb8d6\x1d\x0f\x88DbQ8\xa4V\ +-\x17\x8cFcQ\xb8\xe4v\x0b\x02\x7f\xc7\xa4R9\ +$\x96M'\x94JeR\xb8\xa4\x82Y/\x98Lf\ +S9\xa4\xd6a.\x9bNgS\xb9\xe4\xf6}#\x9c\ +O\xe8T:%\x16\x8d/\xa0\xd1\xe9T\xbae6\x9d\ +\x1f\x81\xd3\xeaU:\xa5V\x91Q\xabVkU\xba\xe4\ +B\x93]\xb0XlU*\xfd\x8e\xcdg\xb4N\xec\xb6\ +\x9be\xb6\xdd&\xb5\xdb\xeeW;\xa4J\xe3u\xbc^\ +o7{\xd5\xf6\xfdi\xbe_\xf0X:\xde\x07\x09\x87\ +\xc4Sp\xd6`\x0e6\xb4\xd0\xc8\x02\xdf\xb91L\x14\ +3\x05\x0dH\x02PWX\x0b<\xe6\xc6\x80\x5c\xc0]\ +#XY\xa7}Vqx\x0a\xc5\xcfCJflB\ +\x90R\x86\x84\x9f \x22AA\x11\xd7\x9e\x85o X\ +\x828K-8\xb1\xe9G\xd5\xda96\x1d|\xf5\xa9\ +\xcf\x06>:G8)\xd2\x0a\x0c\x9e; \xa8>\x10\ +!1\xc5\xd4\xcf9vo\x1dw\x9b6f\xfaK\x12\ +\x04\x84\x14/RohL\xc3?\xa2\xf6s\xe5\xb1~\ ++~y\x5c\x80\x04\xf4\x99\xa4*\x0a<,G\xe3B\ +8\xbe\x81\x99(\x99\xbfK\x04\x1a\xac\xbf\x893\x9ej\ +\x00\xce\x91\xf0U\xa0\xa2r\xde\xd0\x92\xd0H\xd6\xab\xa4\ ++\xec\x1e\xabB)+bf\x13\x88(\xc6\x94\x1c\xa8\ +)\x9c\x82\x9dH)\xe2\xd0\x82I\x03\xde\x82\x06\xa8+\ +f\x924#\xe4\x13\x01%\x11\x1b\x0a\xd6\xaeQ*;\ +\x13\x8d\xe8+\xda\x8e\x1d\xc8)*\x82\x94\xc1\xa4\xa4l\ +\x22\xc9\x00\x02h\xcb\x01\x81\xf9-\x8c\x11R\x0a\x05\xa3\ +1\x08\x00)JA\xa1`\x92\xc8J\xd4\xd2\xa9\xc8\xc8\ +\xc4N\x16\xa0\xa6z\x0a\x01\xa2\xb3\x11\x1c\x02O\x03\xf8\ +a=\x9e\xa9y\xad?\x82g\xb5\x05%\x80\x02\xe22\ +y\xcf\x00 I=\x86\x11\x8a;5\xaa\xd4\x82\x9f6\ +\xa2\xf19j\x82\x89H\xa9\xea\xcf\x00B\x88eO\x97\ +j\x19\x9dQ\x8b\xc7\xf5LONh\x93BJ\xc1#\ +b=I*\x95\x82\x9bJ\x22F}l 2g\xe9\ +~\x8a\x9f\x14\xc4\xcb]\xa9\x918\xb6\x82\x94H(\x04\ +\x88\x9fm\x08U\x04\x9b\x88\xd5d\xb2H\x90\xdb\x1c\x8d\ +D\xe5\xa2\x0a%\xa2\xa3\xa4\xcaF\xab0\x01(\x90C\ +\xe8\xa1)2\x8d\xb6u\xa2\xbaY\xea]h\x86\xc2n\ +\x8b\xa4\xed \x80:\x22i\xc1!\x8bB~\xab&\xbd\ +\xf4\x06\x9e\xb7\xed\x9a\x82\x02\xc8\x89\xc72\x83\xd74\xc4\ +\xbd\xdc\xebm\xd6\x86@\x02\x9a@VULh\xdd\x04\ +\x92k\x1cNG \xa3\x8a*\x19\xcc\xb1|\xeb\x84\xae\ +WJ\x95\x85\xa1p\x012\x90\x0c\xc8\xa852\x9c\xeb\ +\x1dFg\x07U1\xfcb\xe2 \x08\xf1\x04\x912\xae\ +@\xb7\xe4J>H\x85D\xe5\xb2\x0a$\xa2'\xac\xca\ +\xec-\x19x+\x99Q\xc8\x849\x0fgX:\xf1\x9e\ +\xa8\xd9\xfa\x13\x13\x9a\x08(^\x88\x9bs(L\xb7\xc4\ +\xe7\xda\x0a\x02\x22%\x84\xca(\xea+\xf6\xa8\xa2\xea\xc8\ +DO\xa6\x82\xa8\x89\xb12\xb2\xabtO^\xde(\x89\ +\x932\x87\x1bLE\x9d\xad\x1bj\x0f\x13\xb8\xe8$\xc0\ +\x88nr\x96\xea\xb6\xee\xe8-\xe4\x88\x1a\x93,\xe1\x8f\ +\xeaK\xae\xd6\xa2pH7\x09/\xee[\xa6\xc0\xd8\xef\ +\x00\x07\x1e\x87\xf22\x97&\x96\xf0\x0bo.\xa1\xf3(\ +/7\xc3s\xbcW>ft=\x1a\x1d\xd2\x86\x9d:\ +'\xd5\xa8\xdd\xe2\x7f\xd6\xa0\x9dx\x01\xc3\xa1\xfcHi\ +\xc5\xad\x9cn\xf3\xc8r[\xf2\xf5\xdf'\xde\x00\x01\xe1\ +x\x88w\x8d\xe4->WD\x88\xf7\x1d\xd2\xed\xd4\xad\ +\x9e\x82{\xc1\x1b_(\x0ey}\x12j\x08\x05k\x94\ +\xe0v\xb7\xe6G\x22\x0a\x03\x22&\xbe\xb52\xecH\x8f\ +\xc4\xa1\x7fi\xdc\x22\x95\x99xk$\x0a\xb8\x82\x02s\ +\x12K\x13\x10\xd14\x22%\x04\x8a\x82\x14\xffI\xf4\x10\ +'&\xbd\x09\x81$,+\x88(?\x80\xe5\x14V\x9d\ +\xd0\xb4x \x91\xe2|\x05\x8c\xd7\xa2qLAB\xcc\ +\x1b]F4C\xa0\x90\xf5\x08KT#,J\xd8g\ +\x84Vd.\xa1QS\x1f\xa6\x84\x16\xa9\xf0d\xfd\x9e\ +|2,(\x00L\x10P\xcf\x0eJ\xb0zA\x22\x1d\ +\xbf\xb9R\xdc\x80\x05\xc9\x05\x08\xc4T^/x\x90\xe5\ +\x1a@\x00}\xe4D\xd0\x89\xb8|\xcab\x0cN-\xa8\ +\x00`A\x92$\xa2@b\x8cO\xb1\x5c\x89\x99\x01\xa0\ +\x0b\x12\xd8\xfc\x1adTQ \x90\xbf\x13K\xc4d\x8c\ +\xc4F4F\xa8\xd9\x1bL\x84pKq\xcc\x8aGS\ +\xe9\x1d\xe3\x0cy=1\x94\x82A\xa8\xf8\x9e#J|\ +\x8f\xe4J7H(\xe5\x1d#\xb4x.\xb1\xeaF\xc6\ +y!\x1f\xa4\x99\x10\x92\xb1\xc6B\x119\x0c\x0c\xe4C\ +\x08\x8cE\xb2N\x00\x09\x1cD#\xec\x92\x94$>Q\ +\xc891!\xe4\xd1t\x95\xb2\xbc\x87\xcb\x10a\x1a\xc9\ +\xdcn\x04*\xe4 \x12\x00(hG8\x07\x99B\xf0\ +\xe2\x8e\x82{-d\xbc\x85\x932&M\x90\x06k5\ +\x80\x00\x82\x8f\xe0\xb0\x88L*\x0a\x04\x86\x83\x06\x11\x07\ +\xac.'\x14\x8a\xc5\xa1,\xc8\xc8*\x10\x88\x84\x1b!\ +\x00\x18\xbb\xec\x03$A\x0c\xa4\xe8\x89 \x05\xf9\x17\x96\ +\xcb\xa2\x8d\x09\x88\xb1\xf94i\xcb\xe1J!\x9c\xe8\xbf\ +7\x9e\xcf\xa7\xf4\x08\xbb\xfe\x87A\xa2\xd1\xa8\xf18\x14\ +\x0e\x11\x07\x9b\xc3@\x90\xf8\x8d\x22z\xda\xaa\x81\xdeU\ +\x86D aS\x82\xad\x86\x96\x02]v\x7f1hL\ +\xe6\xb4\x09\xcc\xee\xc7l\xb6\xcbho\xfbu\xca\xe7J\ +\x82A\xa7\xb4\xfa\x88\xc2%s\x89\xc6Y\x88xA\xe2\ +\xe7*4N\x86i\x9b\xecN\xcbg~M\xa7\xf6\xa1\ +\x9c\xf3\x15\x94\xae\xdc2\xb9\x8a\x0d\xd6\x99x\x87D/\ +y[\xf8>\x10\xeb\x84\x01r\x8e\x9c8jT\xfe\xca\ +\xe3&\x98\xebN\x1f'\x99\xda\xcf\xb2\xfbm\xcc_7\ +w\xa7g\xaaYFw\x08\x8a\xfe\xe2\xae\xb6\xd4\xf1>\ +}\xb5\xae\x99l1\xf3\xec\x8e\xd3u\xd4\x8an:\xbd\ +\x88.\xf0\x01M\x97\xdes\xf7\xccU\xfc\xa3\x08Wu\ +\x06v\x01\xa3;\x9bf\xe7\xec\xad}\x9f\x8c\x17\xaf\xf2\ +\xddv\xfb\xb2\xee\xff\x03\x14\xcf\xfe\x8c\x0f\xd8\x00\xcfm\ +\x80\x88\x10\x13\x0b s\xb9\xecc]\x04\xf5\xd2}_\ +\x17\xd2\x0fm_vuPx\x19U\xc0\x02R\x9c\xc4\ +\x14#e\x0b\xf7\xa4Bm\x9a\xf5\xa1\x90l\xe1'b\ +\x11\x8a\x19XQ\xbe\x85\x9f\xb6a\x7f\x15\x90\x82\xa5r\ +?\x008\xe0@\x0cc\xb3\x16#s\xa2WF'\x8a\ +\xdb\xa8\xaaC_b\xd7y\xbfh\x1dE\xfczB\x08\ +D\x81@>\x90\x81\x99\xe9(]X\x91\xb1\x89\x9f\x09\ +\x19\xb5\x91e\xd5\xbaH~d\xa7\x85\xd8R\x88e\xc0\ +yP\x06W\xa4\x9c|\xa5\x9817\x83\xa6\x06f_\ +\x9d\x169\x89-~\xa4\xb7eJ\x1d\x97\x02%@\x15\ +\x9e\x92\xaeo\x8f\xe5\xa9\x06\x5c\x9d\xd8\xa9\xda\x8bR'\ +\x94^{\x99]Y\xfa\x80\xa0\xa8J\x19\xed\x90 \xd9\ +\x0a\x8e_h\xdayE\xa4\x11jI\xf2\xa5T:\x05\ +?\xa0\xd6\x0a\x15\xf1\x9c\x1e\xf6J\xa1\xa7\xd4J\xc9l\ +\xa8\xd1Z\x95\xf1R\x85\xc5\xc0\xa3Oc\x80\x0c<\x8e\ +\xc3\x18\xf6\xae\xa1\xe7\x14\xbes\xadV\xda\x82\xcbOk\ +tR\xb9vMKP\x12>-sY\x08\x05\xd1s\ +V\x04\x02\x03(\x1c,\x94\xecjj\x88\xa7(\xab9\ +S\xb3n\x94\xba\xd0D\xed'\xd5\x7f\x0a\x11\xc4 )\ +J\x8c\xb0\x0a\xf9\x1d\xec3\x96(\xab\xe5\xba\xc6\xece\ +\xabL\x0a\xa2@\x97gr\x15^\xa9<\x16\xfe\xb1\xeb\ +\x07O\x0dPn\xbcII\xc1\xd9\xc8\xbb\x0b\xc5d;\ +\xfe\x89\xc0q\xb5\x03\x14\xc8\x10\x8b\xb9\x0b\xbc2;\x92\ +\x0b\xc42\x84\xff\x22\xca2T+'\xcb%\x8c?\x00\ +\xc4s5\x0b\x04\xce\x11\x5c\xc1\x09\xcc\xb3\xb8\xfa\xe5\xb2\ +\x12\xeb+@E\xb2\xec\x8dJ/\x90\x81\x05=J\x85\ +E\xc0\xf8\xd1\x9f\x10\x81\x08%4\xe4\x90\xa0I\xc3!\ +\x87S\xceW\x1dy\x0bR\xaa\xd0\x00T\xd8vt$\ +\x8da\xc7M\xa1\x13\xd22\x05(oB\x09\x0d\xb7h\ +\x14Xr\xc3uB\xb6\xfcl\xd8\xdf\x80\xd3\xd7\x81t\ +\x01\xfd\xeb,2\xd8p\xe9\x08K8W\xcf:\xda\x12\ +\xa0\x01\x7f\x88\x90R\xe1\xa6\xe3.\xc3\xd1*\x0d\x98s\ +_|\xca9\xecK\x90BVP\xc5\xb0\x95\xd0P\xb7\ +\x97\xa2\xcc \x1b\xad\x18B\xee\xc0\xdeBz\x0c\x83\xb4\ +\xea\xbb~\xe2\xe9\xed\xbb\x9e\xf3\xbd\x9d;\xbe\xfb\xc1\xf0\ +\x9f/\x03\xc3\xf1\xbcy\xd7\x8e\xf2<\xbf1\xf5\xf1|\ +\xdfC\xd1\xc8|\xafK\xd5\xf5\x96\xef?\xd7\xf6\xbd\xbf\ +g\xdb\xf7\xbd/w\xdf\xf8\xbc\xbf\x87\xe3\xf9\xbc/\x97\ +\xe7\xfa\xbb\x9f\xa7\xeb\xfb\xb8\xcf\xb7\xef\xfc\xb6\x8f\xc7\xf3\ +\xfd\xb4o\xd7\xf7\xfe\xb2\xc4\x04\x13\x00\xfe\x00\x04\x00\x01\ +\x00\x00\x00\x00\x00\x00\x00\x00\x01\x04\x00\x01\x00\x00\x00`\ +\x00\x00\x00\x01\x01\x04\x00\x01\x00\x00\x00`\x00\x00\x00\x02\ +\x01\x03\x00\x04\x00\x00\x00T\x09\x00\x00\x03\x01\x03\x00\x01\ +\x00\x00\x00\x05\x00\x00\x00\x06\x01\x03\x00\x01\x00\x00\x00\x02\ +\x00\x00\x00\x11\x01\x04\x00\x01\x00\x00\x00\x08\x00\x00\x00\x15\ +\x01\x03\x00\x01\x00\x00\x00\x04\x00\x00\x00\x16\x01\x04\x00\x01\ +\x00\x00\x00`\x00\x00\x00\x17\x01\x04\x00\x01\x00\x00\x00b\ +\x08\x00\x00\x1a\x01\x05\x00\x01\x00\x00\x00\x5c\x09\x00\x00\x1b\ +\x01\x05\x00\x01\x00\x00\x00d\x09\x00\x00\x1c\x01\x03\x00\x01\ +\x00\x00\x00\x01\x00\x00\x00(\x01\x03\x00\x01\x00\x00\x00\x02\ +\x00\x00\x001\x01\x02\x00\x10\x00\x00\x00l\x09\x00\x00=\ +\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\x00R\x01\x03\x00\x01\ +\x00\x00\x00\x02\x00\x00\x00S\x01\x03\x00\x04\x00\x00\x00|\ +\x09\x00\x00s\x87\x07\x00H\x0c\x00\x00\x84\x09\x00\x00\x00\ +\x00\x00\x00\x08\x00\x08\x00\x08\x00\x08\x00\x802\x02\x00\xe8\ +\x03\x00\x00\x802\x02\x00\xe8\x03\x00\x00paint\ +.net 4.0.9\x00\x01\x00\x01\x00\x01\ +\x00\x01\x00\x00\x00\x0cHLino\x02\x10\x00\x00m\ +ntrRGB XYZ \x07\xce\x00\x02\x00\ +\x09\x00\x06\x001\x00\x00acspMSFT\x00\ +\x00\x00\x00IEC sRGB\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf6\xd6\x00\x01\x00\x00\x00\ +\x00\xd3-HP \x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x11cprt\x00\x00\x01P\x00\ +\x00\x003desc\x00\x00\x01\x84\x00\x00\x00lw\ +tpt\x00\x00\x01\xf0\x00\x00\x00\x14bkpt\x00\ +\x00\x02\x04\x00\x00\x00\x14rXYZ\x00\x00\x02\x18\x00\ +\x00\x00\x14gXYZ\x00\x00\x02,\x00\x00\x00\x14b\ +XYZ\x00\x00\x02@\x00\x00\x00\x14dmnd\x00\ +\x00\x02T\x00\x00\x00pdmdd\x00\x00\x02\xc4\x00\ +\x00\x00\x88vued\x00\x00\x03L\x00\x00\x00\x86v\ +iew\x00\x00\x03\xd4\x00\x00\x00$lumi\x00\ +\x00\x03\xf8\x00\x00\x00\x14meas\x00\x00\x04\x0c\x00\ +\x00\x00$tech\x00\x00\x040\x00\x00\x00\x0cr\ +TRC\x00\x00\x04<\x00\x00\x08\x0cgTRC\x00\ +\x00\x04<\x00\x00\x08\x0cbTRC\x00\x00\x04<\x00\ +\x00\x08\x0ctext\x00\x00\x00\x00Copyr\ +ight (c) 1998 He\ +wlett-Packard Co\ +mpany\x00\x00desc\x00\x00\x00\x00\x00\ +\x00\x00\x12sRGB IEC61966\ +-2.1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\ +sRGB IEC61966-2.\ +1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00XYZ \x00\x00\x00\x00\x00\x00\xf3Q\x00\ +\x01\x00\x00\x00\x01\x16\xccXYZ \x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00XYZ \x00\ +\x00\x00\x00\x00\x00o\xa2\x00\x008\xf5\x00\x00\x03\x90X\ +YZ \x00\x00\x00\x00\x00\x00b\x99\x00\x00\xb7\x85\x00\ +\x00\x18\xdaXYZ \x00\x00\x00\x00\x00\x00$\xa0\x00\ +\x00\x0f\x84\x00\x00\xb6\xcfdesc\x00\x00\x00\x00\x00\ +\x00\x00\x16IEC http://ww\ +w.iec.ch\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x16IEC http://w\ +ww.iec.ch\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00desc\x00\x00\x00\x00\x00\ +\x00\x00.IEC 61966-2.1\ + Default RGB col\ +our space - sRGB\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00.IEC \ +61966-2.1 Defaul\ +t RGB colour spa\ +ce - sRGB\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00d\ +esc\x00\x00\x00\x00\x00\x00\x00,Refer\ +ence Viewing Con\ +dition in IEC619\ +66-2.1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00,Reference View\ +ing Condition in\ + IEC61966-2.1\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00view\x00\x00\x00\x00\x00\ +\x13\xa4\xfe\x00\x14_.\x00\x10\xcf\x14\x00\x03\xed\xcc\x00\ +\x04\x13\x0b\x00\x03\x5c\x9e\x00\x00\x00\x01XYZ \x00\ +\x00\x00\x00\x00L\x09V\x00P\x00\x00\x00W\x1f\xe7m\ +eas\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x8f\x00\ +\x00\x00\x02sig \x00\x00\x00\x00CRT c\ +urv\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x05\x00\ +\x0a\x00\x0f\x00\x14\x00\x19\x00\x1e\x00#\x00(\x00-\x00\ +2\x007\x00;\x00@\x00E\x00J\x00O\x00T\x00\ +Y\x00^\x00c\x00h\x00m\x00r\x00w\x00|\x00\ +\x81\x00\x86\x00\x8b\x00\x90\x00\x95\x00\x9a\x00\x9f\x00\xa4\x00\ +\xa9\x00\xae\x00\xb2\x00\xb7\x00\xbc\x00\xc1\x00\xc6\x00\xcb\x00\ +\xd0\x00\xd5\x00\xdb\x00\xe0\x00\xe5\x00\xeb\x00\xf0\x00\xf6\x00\ +\xfb\x01\x01\x01\x07\x01\x0d\x01\x13\x01\x19\x01\x1f\x01%\x01\ ++\x012\x018\x01>\x01E\x01L\x01R\x01Y\x01\ +`\x01g\x01n\x01u\x01|\x01\x83\x01\x8b\x01\x92\x01\ +\x9a\x01\xa1\x01\xa9\x01\xb1\x01\xb9\x01\xc1\x01\xc9\x01\xd1\x01\ +\xd9\x01\xe1\x01\xe9\x01\xf2\x01\xfa\x02\x03\x02\x0c\x02\x14\x02\ +\x1d\x02&\x02/\x028\x02A\x02K\x02T\x02]\x02\ +g\x02q\x02z\x02\x84\x02\x8e\x02\x98\x02\xa2\x02\xac\x02\ +\xb6\x02\xc1\x02\xcb\x02\xd5\x02\xe0\x02\xeb\x02\xf5\x03\x00\x03\ +\x0b\x03\x16\x03!\x03-\x038\x03C\x03O\x03Z\x03\ +f\x03r\x03~\x03\x8a\x03\x96\x03\xa2\x03\xae\x03\xba\x03\ +\xc7\x03\xd3\x03\xe0\x03\xec\x03\xf9\x04\x06\x04\x13\x04 \x04\ +-\x04;\x04H\x04U\x04c\x04q\x04~\x04\x8c\x04\ +\x9a\x04\xa8\x04\xb6\x04\xc4\x04\xd3\x04\xe1\x04\xf0\x04\xfe\x05\ +\x0d\x05\x1c\x05+\x05:\x05I\x05X\x05g\x05w\x05\ +\x86\x05\x96\x05\xa6\x05\xb5\x05\xc5\x05\xd5\x05\xe5\x05\xf6\x06\ +\x06\x06\x16\x06'\x067\x06H\x06Y\x06j\x06{\x06\ +\x8c\x06\x9d\x06\xaf\x06\xc0\x06\xd1\x06\xe3\x06\xf5\x07\x07\x07\ +\x19\x07+\x07=\x07O\x07a\x07t\x07\x86\x07\x99\x07\ +\xac\x07\xbf\x07\xd2\x07\xe5\x07\xf8\x08\x0b\x08\x1f\x082\x08\ +F\x08Z\x08n\x08\x82\x08\x96\x08\xaa\x08\xbe\x08\xd2\x08\ +\xe7\x08\xfb\x09\x10\x09%\x09:\x09O\x09d\x09y\x09\ +\x8f\x09\xa4\x09\xba\x09\xcf\x09\xe5\x09\xfb\x0a\x11\x0a'\x0a\ +=\x0aT\x0aj\x0a\x81\x0a\x98\x0a\xae\x0a\xc5\x0a\xdc\x0a\ +\xf3\x0b\x0b\x0b\x22\x0b9\x0bQ\x0bi\x0b\x80\x0b\x98\x0b\ +\xb0\x0b\xc8\x0b\xe1\x0b\xf9\x0c\x12\x0c*\x0cC\x0c\x5c\x0c\ +u\x0c\x8e\x0c\xa7\x0c\xc0\x0c\xd9\x0c\xf3\x0d\x0d\x0d&\x0d\ +@\x0dZ\x0dt\x0d\x8e\x0d\xa9\x0d\xc3\x0d\xde\x0d\xf8\x0e\ +\x13\x0e.\x0eI\x0ed\x0e\x7f\x0e\x9b\x0e\xb6\x0e\xd2\x0e\ +\xee\x0f\x09\x0f%\x0fA\x0f^\x0fz\x0f\x96\x0f\xb3\x0f\ +\xcf\x0f\xec\x10\x09\x10&\x10C\x10a\x10~\x10\x9b\x10\ +\xb9\x10\xd7\x10\xf5\x11\x13\x111\x11O\x11m\x11\x8c\x11\ +\xaa\x11\xc9\x11\xe8\x12\x07\x12&\x12E\x12d\x12\x84\x12\ +\xa3\x12\xc3\x12\xe3\x13\x03\x13#\x13C\x13c\x13\x83\x13\ +\xa4\x13\xc5\x13\xe5\x14\x06\x14'\x14I\x14j\x14\x8b\x14\ +\xad\x14\xce\x14\xf0\x15\x12\x154\x15V\x15x\x15\x9b\x15\ +\xbd\x15\xe0\x16\x03\x16&\x16I\x16l\x16\x8f\x16\xb2\x16\ +\xd6\x16\xfa\x17\x1d\x17A\x17e\x17\x89\x17\xae\x17\xd2\x17\ +\xf7\x18\x1b\x18@\x18e\x18\x8a\x18\xaf\x18\xd5\x18\xfa\x19\ + \x19E\x19k\x19\x91\x19\xb7\x19\xdd\x1a\x04\x1a*\x1a\ +Q\x1aw\x1a\x9e\x1a\xc5\x1a\xec\x1b\x14\x1b;\x1bc\x1b\ +\x8a\x1b\xb2\x1b\xda\x1c\x02\x1c*\x1cR\x1c{\x1c\xa3\x1c\ +\xcc\x1c\xf5\x1d\x1e\x1dG\x1dp\x1d\x99\x1d\xc3\x1d\xec\x1e\ +\x16\x1e@\x1ej\x1e\x94\x1e\xbe\x1e\xe9\x1f\x13\x1f>\x1f\ +i\x1f\x94\x1f\xbf\x1f\xea \x15 A l \x98 \ +\xc4 \xf0!\x1c!H!u!\xa1!\xce!\xfb\x22\ +'\x22U\x22\x82\x22\xaf\x22\xdd#\x0a#8#f#\ +\x94#\xc2#\xf0$\x1f$M$|$\xab$\xda%\ +\x09%8%h%\x97%\xc7%\xf7&'&W&\ +\x87&\xb7&\xe8'\x18'I'z'\xab'\xdc(\ +\x0d(?(q(\xa2(\xd4)\x06)8)k)\ +\x9d)\xd0*\x02*5*h*\x9b*\xcf+\x02+\ +6+i+\x9d+\xd1,\x05,9,n,\xa2,\ +\xd7-\x0c-A-v-\xab-\xe1.\x16.L.\ +\x82.\xb7.\xee/$/Z/\x91/\xc7/\xfe0\ +50l0\xa40\xdb1\x121J1\x821\xba1\ +\xf22*2c2\x9b2\xd43\x0d3F3\x7f3\ +\xb83\xf14+4e4\x9e4\xd85\x135M5\ +\x875\xc25\xfd676r6\xae6\xe97$7\ +`7\x9c7\xd78\x148P8\x8c8\xc89\x059\ +B9\x7f9\xbc9\xf9:6:t:\xb2:\xef;\ +-;k;\xaa;\xe8<' >`>\xa0>\xe0?\ +!?a?\xa2?\xe2@#@d@\xa6@\xe7A\ +)AjA\xacA\xeeB0BrB\xb5B\xf7C\ +:C}C\xc0D\x03DGD\x8aD\xceE\x12E\ +UE\x9aE\xdeF\x22FgF\xabF\xf0G5G\ +{G\xc0H\x05HKH\x91H\xd7I\x1dIcI\ +\xa9I\xf0J7J}J\xc4K\x0cKSK\x9aK\ +\xe2L*LrL\xbaM\x02MJM\x93M\xdcN\ +%NnN\xb7O\x00OIO\x93O\xddP'P\ +qP\xbbQ\x06QPQ\x9bQ\xe6R1R|R\ +\xc7S\x13S_S\xaaS\xf6TBT\x8fT\xdbU\ +(UuU\xc2V\x0fV\x5cV\xa9V\xf7WDW\ +\x92W\xe0X/X}X\xcbY\x1aYiY\xb8Z\ +\x07ZVZ\xa6Z\xf5[E[\x95[\xe5\x5c5\x5c\ +\x86\x5c\xd6]']x]\xc9^\x1a^l^\xbd_\ +\x0f_a_\xb3`\x05`W`\xaa`\xfcaOa\ +\xa2a\xf5bIb\x9cb\xf0cCc\x97c\xebd\ +@d\x94d\xe9e=e\x92e\xe7f=f\x92f\ +\xe8g=g\x93g\xe9h?h\x96h\xeciCi\ +\x9ai\xf1jHj\x9fj\xf7kOk\xa7k\xffl\ +Wl\xafm\x08m`m\xb9n\x12nkn\xc4o\ +\x1eoxo\xd1p+p\x86p\xe0q:q\x95q\ +\xf0rKr\xa6s\x01s]s\xb8t\x14tpt\ +\xccu(u\x85u\xe1v>v\x9bv\xf8wVw\ +\xb3x\x11xnx\xccy*y\x89y\xe7zFz\ +\xa5{\x04{c{\xc2|!|\x81|\xe1}A}\ +\xa1~\x01~b~\xc2\x7f#\x7f\x84\x7f\xe5\x80G\x80\ +\xa8\x81\x0a\x81k\x81\xcd\x820\x82\x92\x82\xf4\x83W\x83\ +\xba\x84\x1d\x84\x80\x84\xe3\x85G\x85\xab\x86\x0e\x86r\x86\ +\xd7\x87;\x87\x9f\x88\x04\x88i\x88\xce\x893\x89\x99\x89\ +\xfe\x8ad\x8a\xca\x8b0\x8b\x96\x8b\xfc\x8cc\x8c\xca\x8d\ +1\x8d\x98\x8d\xff\x8ef\x8e\xce\x8f6\x8f\x9e\x90\x06\x90\ +n\x90\xd6\x91?\x91\xa8\x92\x11\x92z\x92\xe3\x93M\x93\ +\xb6\x94 \x94\x8a\x94\xf4\x95_\x95\xc9\x964\x96\x9f\x97\ +\x0a\x97u\x97\xe0\x98L\x98\xb8\x99$\x99\x90\x99\xfc\x9a\ +h\x9a\xd5\x9bB\x9b\xaf\x9c\x1c\x9c\x89\x9c\xf7\x9dd\x9d\ +\xd2\x9e@\x9e\xae\x9f\x1d\x9f\x8b\x9f\xfa\xa0i\xa0\xd8\xa1\ +G\xa1\xb6\xa2&\xa2\x96\xa3\x06\xa3v\xa3\xe6\xa4V\xa4\ +\xc7\xa58\xa5\xa9\xa6\x1a\xa6\x8b\xa6\xfd\xa7n\xa7\xe0\xa8\ +R\xa8\xc4\xa97\xa9\xa9\xaa\x1c\xaa\x8f\xab\x02\xabu\xab\ +\xe9\xac\x5c\xac\xd0\xadD\xad\xb8\xae-\xae\xa1\xaf\x16\xaf\ +\x8b\xb0\x00\xb0u\xb0\xea\xb1`\xb1\xd6\xb2K\xb2\xc2\xb3\ +8\xb3\xae\xb4%\xb4\x9c\xb5\x13\xb5\x8a\xb6\x01\xb6y\xb6\ +\xf0\xb7h\xb7\xe0\xb8Y\xb8\xd1\xb9J\xb9\xc2\xba;\xba\ +\xb5\xbb.\xbb\xa7\xbc!\xbc\x9b\xbd\x15\xbd\x8f\xbe\x0a\xbe\ +\x84\xbe\xff\xbfz\xbf\xf5\xc0p\xc0\xec\xc1g\xc1\xe3\xc2\ +_\xc2\xdb\xc3X\xc3\xd4\xc4Q\xc4\xce\xc5K\xc5\xc8\xc6\ +F\xc6\xc3\xc7A\xc7\xbf\xc8=\xc8\xbc\xc9:\xc9\xb9\xca\ +8\xca\xb7\xcb6\xcb\xb6\xcc5\xcc\xb5\xcd5\xcd\xb5\xce\ +6\xce\xb6\xcf7\xcf\xb8\xd09\xd0\xba\xd1<\xd1\xbe\xd2\ +?\xd2\xc1\xd3D\xd3\xc6\xd4I\xd4\xcb\xd5N\xd5\xd1\xd6\ +U\xd6\xd8\xd7\x5c\xd7\xe0\xd8d\xd8\xe8\xd9l\xd9\xf1\xda\ +v\xda\xfb\xdb\x80\xdc\x05\xdc\x8a\xdd\x10\xdd\x96\xde\x1c\xde\ +\xa2\xdf)\xdf\xaf\xe06\xe0\xbd\xe1D\xe1\xcc\xe2S\xe2\ +\xdb\xe3c\xe3\xeb\xe4s\xe4\xfc\xe5\x84\xe6\x0d\xe6\x96\xe7\ +\x1f\xe7\xa9\xe82\xe8\xbc\xe9F\xe9\xd0\xea[\xea\xe5\xeb\ +p\xeb\xfb\xec\x86\xed\x11\xed\x9c\xee(\xee\xb4\xef@\xef\ +\xcc\xf0X\xf0\xe5\xf1r\xf1\xff\xf2\x8c\xf3\x19\xf3\xa7\xf4\ +4\xf4\xc2\xf5P\xf5\xde\xf6m\xf6\xfb\xf7\x8a\xf8\x19\xf8\ +\xa8\xf98\xf9\xc7\xfaW\xfa\xe7\xfbw\xfc\x07\xfc\x98\xfd\ +)\xfd\xba\xfeK\xfe\xdc\xffm\xff\xff\ +\x00\x00\x03\xa4\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a \x0a icon / outl\ +iner / entity / \ +Default - Update\ +d\x0a Created with\ + Sketch.\x0a\ + \x0a \x0a \ + \x0a \x0a\x0a\ +\x00\x00\x04\x84\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a \x0a icon / outl\ +iner / entity / \ +error / Not act\ +ive \x0a \ + Created w\ +ith Sketch.\x0a \x0a \ + \x0a \x0a\x0a\ +\x00\x00\x04i\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a \x0a icon / outl\ +iner / entity / \ + Editor only - U\ +pdated\x0a \ + Created\ + with Sketch.\x0a <\ +/defs>\x0a \x0a \ +\x0a \ +\x0a\x0a\ +\x00\x00\x15\x0a\ +I\ +I*\x00\xa8\x07\x00\x00\x80?\xe0@\x08$\x16\x0d\x07\ +\x84BaP\xb8d6\x1d\x0f\x88DbQ8\xa4V\ +-\x17\x8cFcQ\xb8\xe4v\x0b\x02\x7f\xc7\xa4R9\ +$\x96M'\x94JeR\xb8\xa4\x82Y/\x98Lf\ +S9\xa4\xd6a.\x9bNgS\xb9\xe4\xf6}#\x9c\ +O\xe8T:%\x16\x8d/\xa0\xd1\xe9T\xbae6\x9d\ +\x1f\x81\xd3\xeaU:\xa5V\x91Q\xabVkU\xba\xe4\ +B\x93]\xb0XlU*\xfd\x8e\xcdg\xb4N\xec\xb6\ +\x9be\xb6\xdd&\xb5\xdb\xeeW;\xa4J\xe3u\xbc^\ +o7{\xd5\xf6\xfdi\xbe_\xf0X:\xde\x07\x09\x87\ +\xc4Sp\xd6`\x0e6\xb5 \x05\xc1E0P\xcc\x14\ +5\x05\x09A]pW6r\x0a\xd6\xc6\x80_U\x9c\ +^\x02\xb1s\xd0\xd2\xa4\x01H)B\x0aO\x82\x91 \ +\xa0\x88\xeb\xce\x0a\xb7\x82\xac`\xab-\x0b\xd2\x8f\xa5\xb4\ +p,:\x99\xec\x80\x19\x059\xc1N\x90^<\xed\xd9\ +\x05A\xc1S\x1a\x1d\x1c\xf3\x85f\xeb\xd7x\x93i\x01\ +b\x0a\x90\x82\x85\xeaM\xe8)\x9bB\xbd\x9c\xf6l^\ +\xaa\xdfnW \x01AP\xb0S\xc5\x89\xf9\x058\xe8\ +R\x93?e\x83\xfa\xac\xbd\xcb\x82\x04\x03 \xa5Z\x0a\ +'.\x84\xb3B5\xaa\xe9\x0a\xfa\xff\xaa\xd0\x0aJ\x90\ +\x13\x88(\xc6\x94\x1c\xa8)\x9c\x82\x9dH)\xe2\xcc<\ +((j\x82\xb5\x898\xf8\xd0\xbeiD \xc2\xb4\xeb\ +\x94$\x8e\xa4\x03{\xbe\x8e\x9d\xc8)*\x82\x94\xcd\x09\ +\xb0\x8b$\x00\x0a\x0a\x18 \xa3\x04,\x82\xb2(\xc4\x1c\ +\x00\x0aM\x09a\x09\xc5\xab\xacV\xaaE\xf22\x04\x16\ +\xa0\xa6z\x0a\x01\xa2\xb29\x1c\x82\x8f\xed\x09\xeb\x06\x82\ +q\x9a\x08.#-\xb2\x08\x1240\xeca&\xae\x92\ +z\xa7(\xa2\xe9\x01j\x82\x89H\xac\xbe\x82\x0a-\x09\ +v\xa1\xa4\x02\xf2\x0aOJ\xe8\xa9*\xd0\x8d\x88\xf4\xdc\ +\xabP\xea|\xe0\xbb B\x02\x0a_\xa2\xa7\xc4\xe8\xd0\ +\xd2\x0ab@-\xa0\xa5\x12\x0a\xf8\xa2\x07\xda\x0a\x154\ +&\xe25D\xaa\x95\x22\x9bE\xa2)\x01h\x82\x89h\ +\xa8\xe8\xd0\x91\xad\x22\x04\xfd\xa0\x90b(J4#m\ +G6.u2\x99T!\x8e2\x0a\xe7\xa0\x80:\x22\ +i\xa0\xa1\x8bB~\xd6G\xf8\x1a\x82\xd4H ,\x88\ +\x9cm\x08=]\xc8\xeb\xddx\xb6X\x08Z@)\xa0\ +\xa5b*74$\x9a\xc6\x90Kh \xe2\x8a\x86m\ +\x0c7,\xdbk}|\xa5\xdb\xa8R@L\xbc\xa8\xa8\ +4\xd0\x9c\xf7:\x04\x1d \xa6**<4$Ly\ +x\xad\xd7\x9a\x95z\xa1)\x01l\x82\x89(\x89\xea\xd0\ +\xb9\xab:@\x0a\xc3\x88\xac\x14\xc6\xd6\xc9n\x10\xb6\xe1\ +J>\x18\x84$\x06\x82\x0a\x17\xa2&\xdbB\x13^H\ +\x15<\x82\x00\x88\x89`\xd0\x8a8=\xb2\xbcd*6\ +F\x83\xa4\x13P\x01\x8c\x22\x06\xc3B\xc9\xe1(\x15%\ +b\xa2&KB\x1cf\xcb\xf6r\xa2\xe7h2@\xdf\ + \x92*\x1f\xa11\xba&A\xa3 \xb62 j4\ +2\xa5\xe1\x9b\xc9\xd8\xfb\x18\xc7f\xda\xa0\x01\xab!\xda\ +\xc0\x03\xad-\x89\x06\x8e\x00k\xc8~\xc0\xc6\xecX\xf6\ +\xc96\xec\xcb\x1e\xa2\xa8\x1f\xfbV\xd8\x86\xed\xdb\x83L\ +\x7f\xee{\xaa\x1d\xbb\x80;\xca'\xa7\xb5[\xea\xc5\xbf\ +\xa0\x9a\x9c\x88\x88\xf0\xb9o\x11\xae\xa2\x9aJ\x80\xf0fD\x18aE\ +\x81\xad\xa4d\xbal\xdaU,\x81\xcb\xa6\xd3\x18\x1c\xce\ +\xa5\x5c\xae\xceb\xb5\xeb\x0d\x8a\x0d@\x00Af\xd40\ +\x0c:\xc7\x09\x95!\xe0\xc7\x8b`\x00\xd1#L\xdc\xa1\ +\x15Il\xde\xb2\x00\xad\xdd\xef\xf3\xb9\xd6\x03\x076\xb2\ +\xd9\xe6\xb6\x9b]\xb2T\x0f\x83:\xe0\xc0[\x93\xa6\x0c\ +\x1a\x91\xbf\xae\xf7\x9a\xb5\xeee\x84\xce\xcb\xf0Y\xed\x0c\ +G\x0dB\x91\xe2\xacr\xa2,\x19u\xa1\x13\xc8\xdbY\ +\x88\xadT\x01W\x9a\xdf/\xda-\xccR\xc1\xba\xde\xc0\ +\xf4\x96\x8d6\xc5\xfeQ\x83+\xb4#9\x1b;\x87\xb3\ +\xda\xcd6\xfb\xed\xf6\x83\xa3\xa2\xe0b8W)U2\ +\x06\xcf\xd0\x84\xe4n\xeee\xea\xb1\x9c\xeanz~l\ +\xefZi\x89\xe1\x80\xa0\xdb\x08\x18\x8e\xe4\xbf\x91\x90\xb0\ +\x99\x9d\xa6n\xb5\xe9\xd1z\x1f\xd6\x01\xebK\xde\xd6\x0d\ +*\x15\x90b\xa5aIP1\x01#1_\x86\xc9\xe3\ +m\x9eX\x02\x10?\xe1W\xa9\x06a\xde\xc7a\x9eJ\ +\x87\xa4\x18\x84G\x13s\xe9\x06\x19\x922\x85\xfe\x84Y\ +\xa7\x91\xfc\x86 V\xf2/_\xe0$\xa2\x04n\x92\xa2\ +\x19\x06\x1eSq\x95#'\x1d(\xad\xfa\x8bW\xd8\xc9\ +\x80\x7f\xe4U\x864I\xe3g\x9d\x15\x1d\x90b%7\ +\x15\x922\xae@J\xe1'>\x14\x92\x1a\x88\xc6[X\ +\xa4\xa4\x9aL\x8a\x8f\xf9=\x03\x94SiM\x0c\x95[\ +\xd7\xe5\xceK\xdd\x09z\x5c\x85\xe7\x19~\x1aiTI\ +\xb2N\x94%)RVs_\xb9\x12tXdz\x09\ +>\x98\x119\x89\xa1J\x85\xc4\x18\xa3M\xc3\xc8:~\ +\x96&\xf9j\x85ShJY;\xa1\xd1*&\x1eE\ +A$\x18\xd6A\x81tL\xd5A\x83$\x8e%\x9ee\ +x\xb2\x13\x8b\xa9\x9a^]\xac\x13\xdam\x11\xa7d\xd3\ +\xfc(F\x10`\xa5\x062\xd0a\xdd#9^\x99\xb6\ +\x80n+4\xf2\x98\xb2\x13J\xd5\x10\xad\xec\xbaJ\xad\ +\x96j\xfbA8\xb2\xadT\x9a\xcdC\xec\xfbbc\x9f\ +\xe4;\x1e\xddg\xeb+\x89(\xb6\x90\x9br\xe5\x85\xad\ +\xfa\xba\x81\xba\xae9\xce\xef\xb9\xa7g\x06x\xbc\xab\x8b\ +\xb2\xd3\xbb\xafu~\xf1\xbf\x13\xfb\xd1\xd7\xbd\xaf\xf6v\ +\xc5\xb80K\xf7\x08D\x8b\xe4\x18AM\xc5D\x18\xf8\ +\xc2\x9a \x81\x06%\x13r\x81\x06\x18q4\xa6\xe4\xc7\ +\x00\x09\xac\x00\xc41\xfcL\x8dA\x87L\x91x\xc7\xb1\ +\xc1\xbd\x06$2\x9c)\xc5@\xcb\x0c\xc1\x06\xb5\xf0@\ +6\x12\x07\xf3[\x8a\xbf@\xc3\xa4\x1a\x0b\xcds{\xc9\ +#\x00\x12\xa7\xdd\x03.\x19\x0c\xf2\x99=\x10`\xd9#\ +5\xf4K\xffT\xba\xb4f\xec\xff\x0cPh\xa5\x03\x0b\ +t\xd9\x14\xc2\xc6\x923{Y\xd85m\x83i\xda\xac\ +\xbd\xa3k\xdb\xb6\xf9{m\xdc7=\xd2\xc4\xca\xf7]\ +\xe3y\xdd\xaf\xed\xeb}\xdf\xaa\xbd\xff\x81\xe0\xa9\xed\xf3\ +\x83\xe1\xb8usr\xe28\xbe1m\xdd\xf8\xdeC\x91\ +\xe3\xb8^K\x95\xe5\xb8\xae[\x99\xde\xb9\x8ek\x9d\xdc\ +\xf9\xce{\xa1\xda\xba\x0e\x8b\xa5\xd0\xf8\xfe\x9b\xa9\xdb\xfa\ +N\xab\xad\xc1\x10\x10\x00\x13\x00\xfe\x00\x04\x00\x01\x00\x00\ +\x00\x00\x00\x00\x00\x00\x01\x04\x00\x01\x00\x00\x00`\x00\x00\ +\x00\x01\x01\x04\x00\x01\x00\x00\x00`\x00\x00\x00\x02\x01\x03\ +\x00\x04\x00\x00\x00\x92\x08\x00\x00\x03\x01\x03\x00\x01\x00\x00\ +\x00\x05\x00\x00\x00\x06\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\ +\x00\x11\x01\x04\x00\x01\x00\x00\x00\x08\x00\x00\x00\x15\x01\x03\ +\x00\x01\x00\x00\x00\x04\x00\x00\x00\x16\x01\x04\x00\x01\x00\x00\ +\x00`\x00\x00\x00\x17\x01\x04\x00\x01\x00\x00\x00\x9f\x07\x00\ +\x00\x1a\x01\x05\x00\x01\x00\x00\x00\x9a\x08\x00\x00\x1b\x01\x05\ +\x00\x01\x00\x00\x00\xa2\x08\x00\x00\x1c\x01\x03\x00\x01\x00\x00\ +\x00\x01\x00\x00\x00(\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\ +\x001\x01\x02\x00\x10\x00\x00\x00\xaa\x08\x00\x00=\x01\x03\ +\x00\x01\x00\x00\x00\x02\x00\x00\x00R\x01\x03\x00\x01\x00\x00\ +\x00\x02\x00\x00\x00S\x01\x03\x00\x04\x00\x00\x00\xba\x08\x00\ +\x00s\x87\x07\x00H\x0c\x00\x00\xc2\x08\x00\x00\x00\x00\x00\ +\x00\x08\x00\x08\x00\x08\x00\x08\x00\x802\x02\x00\xe8\x03\x00\ +\x00\x802\x02\x00\xe8\x03\x00\x00paint.n\ +et 4.0.9\x00\x01\x00\x01\x00\x01\x00\x01\ +\x00\x00\x00\x0cHLino\x02\x10\x00\x00mnt\ +rRGB XYZ \x07\xce\x00\x02\x00\x09\x00\ +\x06\x001\x00\x00acspMSFT\x00\x00\x00\ +\x00IEC sRGB\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\xf6\xd6\x00\x01\x00\x00\x00\x00\xd3\ +-HP \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x11cprt\x00\x00\x01P\x00\x00\x00\ +3desc\x00\x00\x01\x84\x00\x00\x00lwtp\ +t\x00\x00\x01\xf0\x00\x00\x00\x14bkpt\x00\x00\x02\ +\x04\x00\x00\x00\x14rXYZ\x00\x00\x02\x18\x00\x00\x00\ +\x14gXYZ\x00\x00\x02,\x00\x00\x00\x14bXY\ +Z\x00\x00\x02@\x00\x00\x00\x14dmnd\x00\x00\x02\ +T\x00\x00\x00pdmdd\x00\x00\x02\xc4\x00\x00\x00\ +\x88vued\x00\x00\x03L\x00\x00\x00\x86vie\ +w\x00\x00\x03\xd4\x00\x00\x00$lumi\x00\x00\x03\ +\xf8\x00\x00\x00\x14meas\x00\x00\x04\x0c\x00\x00\x00\ +$tech\x00\x00\x040\x00\x00\x00\x0crTR\ +C\x00\x00\x04<\x00\x00\x08\x0cgTRC\x00\x00\x04\ +<\x00\x00\x08\x0cbTRC\x00\x00\x04<\x00\x00\x08\ +\x0ctext\x00\x00\x00\x00Copyrig\ +ht (c) 1998 Hewl\ +ett-Packard Comp\ +any\x00\x00desc\x00\x00\x00\x00\x00\x00\x00\ +\x12sRGB IEC61966-2\ +.1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12sR\ +GB IEC61966-2.1\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00XYZ \x00\x00\x00\x00\x00\x00\xf3Q\x00\x01\x00\ +\x00\x00\x01\x16\xccXYZ \x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00XYZ \x00\x00\x00\ +\x00\x00\x00o\xa2\x00\x008\xf5\x00\x00\x03\x90XYZ\ + \x00\x00\x00\x00\x00\x00b\x99\x00\x00\xb7\x85\x00\x00\x18\ +\xdaXYZ \x00\x00\x00\x00\x00\x00$\xa0\x00\x00\x0f\ +\x84\x00\x00\xb6\xcfdesc\x00\x00\x00\x00\x00\x00\x00\ +\x16IEC http://www.\ +iec.ch\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x16IEC http://www\ +.iec.ch\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00desc\x00\x00\x00\x00\x00\x00\x00\ +.IEC 61966-2.1 D\ +efault RGB colou\ +r space - sRGB\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00.IEC 61\ +966-2.1 Default \ +RGB colour space\ + - sRGB\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00des\ +c\x00\x00\x00\x00\x00\x00\x00,Referen\ +ce Viewing Condi\ +tion in IEC61966\ +-2.1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00,\ +Reference Viewin\ +g Condition in I\ +EC61966-2.1\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00view\x00\x00\x00\x00\x00\x13\xa4\ +\xfe\x00\x14_.\x00\x10\xcf\x14\x00\x03\xed\xcc\x00\x04\x13\ +\x0b\x00\x03\x5c\x9e\x00\x00\x00\x01XYZ \x00\x00\x00\ +\x00\x00L\x09V\x00P\x00\x00\x00W\x1f\xe7mea\ +s\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x8f\x00\x00\x00\ +\x02sig \x00\x00\x00\x00CRT cur\ +v\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x05\x00\x0a\x00\ +\x0f\x00\x14\x00\x19\x00\x1e\x00#\x00(\x00-\x002\x00\ +7\x00;\x00@\x00E\x00J\x00O\x00T\x00Y\x00\ +^\x00c\x00h\x00m\x00r\x00w\x00|\x00\x81\x00\ +\x86\x00\x8b\x00\x90\x00\x95\x00\x9a\x00\x9f\x00\xa4\x00\xa9\x00\ +\xae\x00\xb2\x00\xb7\x00\xbc\x00\xc1\x00\xc6\x00\xcb\x00\xd0\x00\ +\xd5\x00\xdb\x00\xe0\x00\xe5\x00\xeb\x00\xf0\x00\xf6\x00\xfb\x01\ +\x01\x01\x07\x01\x0d\x01\x13\x01\x19\x01\x1f\x01%\x01+\x01\ +2\x018\x01>\x01E\x01L\x01R\x01Y\x01`\x01\ +g\x01n\x01u\x01|\x01\x83\x01\x8b\x01\x92\x01\x9a\x01\ +\xa1\x01\xa9\x01\xb1\x01\xb9\x01\xc1\x01\xc9\x01\xd1\x01\xd9\x01\ +\xe1\x01\xe9\x01\xf2\x01\xfa\x02\x03\x02\x0c\x02\x14\x02\x1d\x02\ +&\x02/\x028\x02A\x02K\x02T\x02]\x02g\x02\ +q\x02z\x02\x84\x02\x8e\x02\x98\x02\xa2\x02\xac\x02\xb6\x02\ +\xc1\x02\xcb\x02\xd5\x02\xe0\x02\xeb\x02\xf5\x03\x00\x03\x0b\x03\ +\x16\x03!\x03-\x038\x03C\x03O\x03Z\x03f\x03\ +r\x03~\x03\x8a\x03\x96\x03\xa2\x03\xae\x03\xba\x03\xc7\x03\ +\xd3\x03\xe0\x03\xec\x03\xf9\x04\x06\x04\x13\x04 \x04-\x04\ +;\x04H\x04U\x04c\x04q\x04~\x04\x8c\x04\x9a\x04\ +\xa8\x04\xb6\x04\xc4\x04\xd3\x04\xe1\x04\xf0\x04\xfe\x05\x0d\x05\ +\x1c\x05+\x05:\x05I\x05X\x05g\x05w\x05\x86\x05\ +\x96\x05\xa6\x05\xb5\x05\xc5\x05\xd5\x05\xe5\x05\xf6\x06\x06\x06\ +\x16\x06'\x067\x06H\x06Y\x06j\x06{\x06\x8c\x06\ +\x9d\x06\xaf\x06\xc0\x06\xd1\x06\xe3\x06\xf5\x07\x07\x07\x19\x07\ ++\x07=\x07O\x07a\x07t\x07\x86\x07\x99\x07\xac\x07\ +\xbf\x07\xd2\x07\xe5\x07\xf8\x08\x0b\x08\x1f\x082\x08F\x08\ +Z\x08n\x08\x82\x08\x96\x08\xaa\x08\xbe\x08\xd2\x08\xe7\x08\ +\xfb\x09\x10\x09%\x09:\x09O\x09d\x09y\x09\x8f\x09\ +\xa4\x09\xba\x09\xcf\x09\xe5\x09\xfb\x0a\x11\x0a'\x0a=\x0a\ +T\x0aj\x0a\x81\x0a\x98\x0a\xae\x0a\xc5\x0a\xdc\x0a\xf3\x0b\ +\x0b\x0b\x22\x0b9\x0bQ\x0bi\x0b\x80\x0b\x98\x0b\xb0\x0b\ +\xc8\x0b\xe1\x0b\xf9\x0c\x12\x0c*\x0cC\x0c\x5c\x0cu\x0c\ +\x8e\x0c\xa7\x0c\xc0\x0c\xd9\x0c\xf3\x0d\x0d\x0d&\x0d@\x0d\ +Z\x0dt\x0d\x8e\x0d\xa9\x0d\xc3\x0d\xde\x0d\xf8\x0e\x13\x0e\ +.\x0eI\x0ed\x0e\x7f\x0e\x9b\x0e\xb6\x0e\xd2\x0e\xee\x0f\ +\x09\x0f%\x0fA\x0f^\x0fz\x0f\x96\x0f\xb3\x0f\xcf\x0f\ +\xec\x10\x09\x10&\x10C\x10a\x10~\x10\x9b\x10\xb9\x10\ +\xd7\x10\xf5\x11\x13\x111\x11O\x11m\x11\x8c\x11\xaa\x11\ +\xc9\x11\xe8\x12\x07\x12&\x12E\x12d\x12\x84\x12\xa3\x12\ +\xc3\x12\xe3\x13\x03\x13#\x13C\x13c\x13\x83\x13\xa4\x13\ +\xc5\x13\xe5\x14\x06\x14'\x14I\x14j\x14\x8b\x14\xad\x14\ +\xce\x14\xf0\x15\x12\x154\x15V\x15x\x15\x9b\x15\xbd\x15\ +\xe0\x16\x03\x16&\x16I\x16l\x16\x8f\x16\xb2\x16\xd6\x16\ +\xfa\x17\x1d\x17A\x17e\x17\x89\x17\xae\x17\xd2\x17\xf7\x18\ +\x1b\x18@\x18e\x18\x8a\x18\xaf\x18\xd5\x18\xfa\x19 \x19\ +E\x19k\x19\x91\x19\xb7\x19\xdd\x1a\x04\x1a*\x1aQ\x1a\ +w\x1a\x9e\x1a\xc5\x1a\xec\x1b\x14\x1b;\x1bc\x1b\x8a\x1b\ +\xb2\x1b\xda\x1c\x02\x1c*\x1cR\x1c{\x1c\xa3\x1c\xcc\x1c\ +\xf5\x1d\x1e\x1dG\x1dp\x1d\x99\x1d\xc3\x1d\xec\x1e\x16\x1e\ +@\x1ej\x1e\x94\x1e\xbe\x1e\xe9\x1f\x13\x1f>\x1fi\x1f\ +\x94\x1f\xbf\x1f\xea \x15 A l \x98 \xc4 \ +\xf0!\x1c!H!u!\xa1!\xce!\xfb\x22'\x22\ +U\x22\x82\x22\xaf\x22\xdd#\x0a#8#f#\x94#\ +\xc2#\xf0$\x1f$M$|$\xab$\xda%\x09%\ +8%h%\x97%\xc7%\xf7&'&W&\x87&\ +\xb7&\xe8'\x18'I'z'\xab'\xdc(\x0d(\ +?(q(\xa2(\xd4)\x06)8)k)\x9d)\ +\xd0*\x02*5*h*\x9b*\xcf+\x02+6+\ +i+\x9d+\xd1,\x05,9,n,\xa2,\xd7-\ +\x0c-A-v-\xab-\xe1.\x16.L.\x82.\ +\xb7.\xee/$/Z/\x91/\xc7/\xfe050\ +l0\xa40\xdb1\x121J1\x821\xba1\xf22\ +*2c2\x9b2\xd43\x0d3F3\x7f3\xb83\ +\xf14+4e4\x9e4\xd85\x135M5\x875\ +\xc25\xfd676r6\xae6\xe97$7`7\ +\x9c7\xd78\x148P8\x8c8\xc89\x059B9\ +\x7f9\xbc9\xf9:6:t:\xb2:\xef;-;\ +k;\xaa;\xe8<' >`>\xa0>\xe0?!?\ +a?\xa2?\xe2@#@d@\xa6@\xe7A)A\ +jA\xacA\xeeB0BrB\xb5B\xf7C:C\ +}C\xc0D\x03DGD\x8aD\xceE\x12EUE\ +\x9aE\xdeF\x22FgF\xabF\xf0G5G{G\ +\xc0H\x05HKH\x91H\xd7I\x1dIcI\xa9I\ +\xf0J7J}J\xc4K\x0cKSK\x9aK\xe2L\ +*LrL\xbaM\x02MJM\x93M\xdcN%N\ +nN\xb7O\x00OIO\x93O\xddP'PqP\ +\xbbQ\x06QPQ\x9bQ\xe6R1R|R\xc7S\ +\x13S_S\xaaS\xf6TBT\x8fT\xdbU(U\ +uU\xc2V\x0fV\x5cV\xa9V\xf7WDW\x92W\ +\xe0X/X}X\xcbY\x1aYiY\xb8Z\x07Z\ +VZ\xa6Z\xf5[E[\x95[\xe5\x5c5\x5c\x86\x5c\ +\xd6]']x]\xc9^\x1a^l^\xbd_\x0f_\ +a_\xb3`\x05`W`\xaa`\xfcaOa\xa2a\ +\xf5bIb\x9cb\xf0cCc\x97c\xebd@d\ +\x94d\xe9e=e\x92e\xe7f=f\x92f\xe8g\ +=g\x93g\xe9h?h\x96h\xeciCi\x9ai\ +\xf1jHj\x9fj\xf7kOk\xa7k\xfflWl\ +\xafm\x08m`m\xb9n\x12nkn\xc4o\x1eo\ +xo\xd1p+p\x86p\xe0q:q\x95q\xf0r\ +Kr\xa6s\x01s]s\xb8t\x14tpt\xccu\ +(u\x85u\xe1v>v\x9bv\xf8wVw\xb3x\ +\x11xnx\xccy*y\x89y\xe7zFz\xa5{\ +\x04{c{\xc2|!|\x81|\xe1}A}\xa1~\ +\x01~b~\xc2\x7f#\x7f\x84\x7f\xe5\x80G\x80\xa8\x81\ +\x0a\x81k\x81\xcd\x820\x82\x92\x82\xf4\x83W\x83\xba\x84\ +\x1d\x84\x80\x84\xe3\x85G\x85\xab\x86\x0e\x86r\x86\xd7\x87\ +;\x87\x9f\x88\x04\x88i\x88\xce\x893\x89\x99\x89\xfe\x8a\ +d\x8a\xca\x8b0\x8b\x96\x8b\xfc\x8cc\x8c\xca\x8d1\x8d\ +\x98\x8d\xff\x8ef\x8e\xce\x8f6\x8f\x9e\x90\x06\x90n\x90\ +\xd6\x91?\x91\xa8\x92\x11\x92z\x92\xe3\x93M\x93\xb6\x94\ + \x94\x8a\x94\xf4\x95_\x95\xc9\x964\x96\x9f\x97\x0a\x97\ +u\x97\xe0\x98L\x98\xb8\x99$\x99\x90\x99\xfc\x9ah\x9a\ +\xd5\x9bB\x9b\xaf\x9c\x1c\x9c\x89\x9c\xf7\x9dd\x9d\xd2\x9e\ +@\x9e\xae\x9f\x1d\x9f\x8b\x9f\xfa\xa0i\xa0\xd8\xa1G\xa1\ +\xb6\xa2&\xa2\x96\xa3\x06\xa3v\xa3\xe6\xa4V\xa4\xc7\xa5\ +8\xa5\xa9\xa6\x1a\xa6\x8b\xa6\xfd\xa7n\xa7\xe0\xa8R\xa8\ +\xc4\xa97\xa9\xa9\xaa\x1c\xaa\x8f\xab\x02\xabu\xab\xe9\xac\ +\x5c\xac\xd0\xadD\xad\xb8\xae-\xae\xa1\xaf\x16\xaf\x8b\xb0\ +\x00\xb0u\xb0\xea\xb1`\xb1\xd6\xb2K\xb2\xc2\xb38\xb3\ +\xae\xb4%\xb4\x9c\xb5\x13\xb5\x8a\xb6\x01\xb6y\xb6\xf0\xb7\ +h\xb7\xe0\xb8Y\xb8\xd1\xb9J\xb9\xc2\xba;\xba\xb5\xbb\ +.\xbb\xa7\xbc!\xbc\x9b\xbd\x15\xbd\x8f\xbe\x0a\xbe\x84\xbe\ +\xff\xbfz\xbf\xf5\xc0p\xc0\xec\xc1g\xc1\xe3\xc2_\xc2\ +\xdb\xc3X\xc3\xd4\xc4Q\xc4\xce\xc5K\xc5\xc8\xc6F\xc6\ +\xc3\xc7A\xc7\xbf\xc8=\xc8\xbc\xc9:\xc9\xb9\xca8\xca\ +\xb7\xcb6\xcb\xb6\xcc5\xcc\xb5\xcd5\xcd\xb5\xce6\xce\ +\xb6\xcf7\xcf\xb8\xd09\xd0\xba\xd1<\xd1\xbe\xd2?\xd2\ +\xc1\xd3D\xd3\xc6\xd4I\xd4\xcb\xd5N\xd5\xd1\xd6U\xd6\ +\xd8\xd7\x5c\xd7\xe0\xd8d\xd8\xe8\xd9l\xd9\xf1\xdav\xda\ +\xfb\xdb\x80\xdc\x05\xdc\x8a\xdd\x10\xdd\x96\xde\x1c\xde\xa2\xdf\ +)\xdf\xaf\xe06\xe0\xbd\xe1D\xe1\xcc\xe2S\xe2\xdb\xe3\ +c\xe3\xeb\xe4s\xe4\xfc\xe5\x84\xe6\x0d\xe6\x96\xe7\x1f\xe7\ +\xa9\xe82\xe8\xbc\xe9F\xe9\xd0\xea[\xea\xe5\xebp\xeb\ +\xfb\xec\x86\xed\x11\xed\x9c\xee(\xee\xb4\xef@\xef\xcc\xf0\ +X\xf0\xe5\xf1r\xf1\xff\xf2\x8c\xf3\x19\xf3\xa7\xf44\xf4\ +\xc2\xf5P\xf5\xde\xf6m\xf6\xfb\xf7\x8a\xf8\x19\xf8\xa8\xf9\ +8\xf9\xc7\xfaW\xfa\xe7\xfbw\xfc\x07\xfc\x98\xfd)\xfd\ +\xba\xfeK\xfe\xdc\xffm\xff\xff\ +\x00\x00\x04e\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a \x0a icon / outl\ +iner / entity / \ + Editor only - S\ +aved\x0a \ + Created w\ +ith Sketch.\x0a \x0a \ +\x0a \x0a \x0a\x0a\ +\x00\x00\x07\x13\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22 standalone=\x22\ +no\x22?>\x0a\x0a \x0a <\ +title>lock on\x0a \ +Created with Ske\ +tch.\x0a \ +\x0a \ + \ +\x0a \x0a \x0a\x0a\ +\x00\x00\x05\x10\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a \x0a icon / outl\ +iner / slice / s\ +tandard copy\x0a C\ +reated with Sket\ +ch.\x0a <\ +defs>\x0a \ + \ +\x0a \ +\x0a \x0a \ +\x0a \x0a \ + \x0a\x0a\ +\x00\x00\x04\x96\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a \x0a icon / outl\ +iner / entity / \ +Not active - Upd\ +ated\x0a \ + Created w\ +ith Sketch.\x0a \x0a \ +\x0a \x0a \x0a\x0a\ +\x00\x00\x04\x92\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a \x0a icon / outl\ +iner / entity / \ +Not active - Sav\ +ed\x0a <\ +desc>Created wit\ +h Sketch.\ +\x0a \x0a \x0a \ + \ +\x0a \x0a\ +\x0a\ +\x00\x00\x06\xcd\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a \x0a Group 13\x0a \ +Created with Ske\ +tch.\x0a \ +\x0a \x0a \ + \x0a \ + \x0a \ + \x0a \ + \x0a \ + \x0a \ + \x0a \ +\x0a\x0a\ +\x00\x00\x03~\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a \x0a icon / outl\ +iner / entity / \ +Loop v2\x0a\ + Create\ +d with Sketch.\x0a \x0a \x0a \ + \x0a\x0a\ +\x00\x00_l\ +I\ +I*\x00\x08\x00\x00\x00\x17\x00\xfe\x00\x04\x00\x01\x00\x00\ +\x00\x00\x00\x00\x00\x00\x01\x03\x00\x01\x00\x00\x00`\x00\x00\ +\x00\x01\x01\x03\x00\x01\x00\x00\x00`\x00\x00\x00\x02\x01\x03\ +\x00\x04\x00\x00\x00\x22\x01\x00\x00\x03\x01\x03\x00\x01\x00\x00\ +\x00\x05\x00\x00\x00\x06\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\ +\x00\x11\x01\x04\x00\x01\x00\x00\x00DS\x00\x00\x12\x01\x03\ +\x00\x01\x00\x00\x00\x01\x00\x00\x00\x15\x01\x03\x00\x01\x00\x00\ +\x00\x04\x00\x00\x00\x16\x01\x03\x00\x01\x00\x00\x00`\x00\x00\ +\x00\x17\x01\x04\x00\x01\x00\x00\x00\xfa\x0b\x00\x00\x1a\x01\x05\ +\x00\x01\x00\x00\x00*\x01\x00\x00\x1b\x01\x05\x00\x01\x00\x00\ +\x002\x01\x00\x00\x1c\x01\x03\x00\x01\x00\x00\x00\x01\x00\x00\ +\x00(\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\x001\x01\x02\ +\x00$\x00\x00\x00:\x01\x00\x002\x01\x02\x00\x14\x00\x00\ +\x00^\x01\x00\x00=\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\ +\x00R\x01\x03\x00\x01\x00\x00\x00\x01\x00\x00\x00\xbc\x02\x01\ +\x00\xfa8\x00\x00r\x01\x00\x00I\x86\x01\x00\x90\x0c\x00\ +\x00l:\x00\x00i\x87\x04\x00\x01\x00\x00\x00@_\x00\ +\x00s\x87\x07\x00H\x0c\x00\x00\xfcF\x00\x00\x00\x00\x00\ +\x00\x08\x00\x08\x00\x08\x00\x08\x00\x00\xf9\x15\x00\x10'\x00\ +\x00\x00\xf9\x15\x00\x10'\x00\x00Adobe P\ +hotoshop CC 2015\ +.5 (Windows)\x00201\ +7:03:08 11:37:45\ +\x00\x0a\x0a \x0a \ +\x0a pain\ +t.net 4.0.9\x0a \ + 2017-03-0\ +7T11:32:29-08:00\ +\x0a 2017-\ +03-08T11:37:45-0\ +8:00\x0a <\ +xmp:MetadataDate\ +>2017-03-08T11:3\ +7:45-08:00\x0a \ + image/tiff\x0a \ + 3\x0a \ + sR\ +GB IEC61966-2.1<\ +/photoshop:ICCPr\ +ofile>\x0a \ +\x0a \ + \x0a \ + adobe\ +:docid:photoshop\ +:94a27cdb-0433-1\ +1e7-b02d-9f84d9f\ +5a326\x0a \ + \x0a <\ +/photoshop:Docum\ +entAncestors>\x0a \ + xmp.iid\ +:16fdf09c-857d-9\ +44e-9783-e127cb1\ +b9cf4\x0a \ + adobe:docid:\ +photoshop:9f9351\ +ac-0436-11e7-b02\ +d-9f84d9f5a326\x0a xmp.did:ca7\ +71a70-f965-e14f-\ +9103-360465543db\ +f\x0a \ + \x0a \ + \x0a \ + \x0a \ + <\ +stEvt:action>cre\ +ated\x0a \ + xmp.iid:\ +ca771a70-f965-e1\ +4f-9103-36046554\ +3dbf\x0a \ + 2017-03-07\ +T11:32:29-08:00<\ +/stEvt:when>\x0a \ + <\ +stEvt:softwareAg\ +ent>Adobe Photos\ +hop CC 2015.5 (W\ +indows)\x0a \ + \x0a \ + \x0a \ + saved\x0a \ + <\ +stEvt:instanceID\ +>xmp.iid:16fdf09\ +c-857d-944e-9783\ +-e127cb1b9cf4\ +\x0a \ + 2\ +017-03-08T11:37:\ +45-08:00\x0a \ + Ado\ +be Photoshop CC \ +2015.5 (Windows)\ +\x0a \ + /\x0a \ + \x0a <\ +/rdf:Seq>\x0a \ + \x0a \x0a \ +\x0a\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \x0a8BIM\x04\ +%\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x008BIM\x04:\x00\x00\x00\ +\x00\x00\xe5\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\x00\x00\ +\x0bprintOutput\x00\x00\x00\x05\ +\x00\x00\x00\x00PstSbool\x01\x00\x00\x00\ +\x00Inteenum\x00\x00\x00\x00Int\ +e\x00\x00\x00\x00Clrm\x00\x00\x00\x0fpri\ +ntSixteenBitbool\ +\x00\x00\x00\x00\x0bprinterName\ +TEXT\x00\x00\x00\x01\x00\x00\x00\x00\x00\x0fpr\ +intProofSetupObj\ +c\x00\x00\x00\x0c\x00P\x00r\x00o\x00o\x00f\x00\ + \x00S\x00e\x00t\x00u\x00p\x00\x00\x00\x00\x00\ +\x0aproofSetup\x00\x00\x00\x01\x00\ +\x00\x00\x00Bltnenum\x00\x00\x00\x0cb\ +uiltinProof\x00\x00\x00\x09p\ +roofCMYK\x008BIM\x04;\x00\ +\x00\x00\x00\x02-\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\ +\x00\x00\x12printOutputOp\ +tions\x00\x00\x00\x17\x00\x00\x00\x00Cpt\ +nbool\x00\x00\x00\x00\x00Clbrbo\ +ol\x00\x00\x00\x00\x00RgsMbool\x00\ +\x00\x00\x00\x00CrnCbool\x00\x00\x00\x00\ +\x00CntCbool\x00\x00\x00\x00\x00Lb\ +lsbool\x00\x00\x00\x00\x00Ngtvb\ +ool\x00\x00\x00\x00\x00EmlDbool\ +\x00\x00\x00\x00\x00Intrbool\x00\x00\x00\ +\x00\x00BckgObjc\x00\x00\x00\x01\x00\x00\ +\x00\x00\x00\x00RGBC\x00\x00\x00\x03\x00\x00\x00\x00\ +Rd doub@o\xe0\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00Grn doub@o\xe0\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00Bl doub\ +@o\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00BrdT\ +UntF#Rlt\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00Bld UntF#Rlt\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00Rslt\ +UntF#Pxl@b\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x0avectorDatabo\ +ol\x01\x00\x00\x00\x00PgPsenum\x00\ +\x00\x00\x00PgPs\x00\x00\x00\x00PgPC\x00\ +\x00\x00\x00LeftUntF#Rlt\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00Top U\ +ntF#Rlt\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00Scl UntF#Prc@\ +Y\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10cropW\ +henPrintingbool\x00\ +\x00\x00\x00\x0ecropRectBott\ +omlong\x00\x00\x00\x00\x00\x00\x00\x0ccr\ +opRectLeftlong\x00\x00\ +\x00\x00\x00\x00\x00\x0dcropRectRi\ +ghtlong\x00\x00\x00\x00\x00\x00\x00\x0bc\ +ropRectToplong\x00\x00\ +\x00\x00\x008BIM\x03\xed\x00\x00\x00\x00\x00\x10\x00\ +\x90\x00\x00\x00\x01\x00\x01\x00\x90\x00\x00\x00\x01\x00\x018\ +BIM\x04&\x00\x00\x00\x00\x00\x0e\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00?\x80\x00\x008BIM\x03\xee\x00\ +\x00\x00\x00\x00\x0d\x0cTransparen\ +cy\x008BIM\x04\x15\x00\x00\x00\x00\x00\x1e\x00\ +\x00\x00\x0d\x00T\x00r\x00a\x00n\x00s\x00p\x00\ +a\x00r\x00e\x00n\x00c\x00y\x00\x008BI\ +M\x045\x00\x00\x00\x00\x00\x11\x00\x00\x00\x01\x00\x00\xff\ +\xff\x00\x00\x00\x00\x00\x00\x00d\x01\x008BIM\x04\ +\x1d\x00\x00\x00\x00\x00\x04\x00\x00\x00\x008BIM\x04\ +\x0d\x00\x00\x00\x00\x00\x04\x00\x00\x00\x1e8BIM\x04\ +\x19\x00\x00\x00\x00\x00\x04\x00\x00\x00\x1e8BIM\x03\ +\xf3\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x01\ +\x008BIM'\x10\x00\x00\x00\x00\x00\x0a\x00\x01\x00\ +\x00\x00\x00\x00\x00\x00\x018BIM\x03\xf5\x00\x00\x00\ +\x00\x00H\x00/ff\x00\x01\x00lff\x00\x06\x00\ +\x00\x00\x00\x00\x01\x00/ff\x00\x01\x00\xa1\x99\x9a\x00\ +\x06\x00\x00\x00\x00\x00\x01\x002\x00\x00\x00\x01\x00Z\x00\ +\x00\x00\x06\x00\x00\x00\x00\x00\x01\x005\x00\x00\x00\x01\x00\ +-\x00\x00\x00\x06\x00\x00\x00\x00\x00\x018BIM\x03\ +\xf8\x00\x00\x00\x00\x00p\x00\x00\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x03\ +\xe8\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x03\xe8\x00\x00\x00\ +\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\x03\xe8\x00\x00\x00\x00\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\x03\xe8\x00\x008BIM\x04\x00\x00\x00\x00\ +\x00\x00\x02\x00\x008BIM\x04\x02\x00\x00\x00\x00\x00\ +\x02\x00\x008BIM\x040\x00\x00\x00\x00\x00\x01\x01\ +\x008BIM\x04-\x00\x00\x00\x00\x00\x06\x00\x01\x00\ +\x00\x00\x0a8BIM\x04\x08\x00\x00\x00\x00\x00\x10\x00\ +\x00\x00\x01\x00\x00\x02@\x00\x00\x02@\x00\x00\x00\x008\ +BIM\x04\x1e\x00\x00\x00\x00\x00\x04\x00\x00\x00\x008\ +BIM\x04\x1a\x00\x00\x00\x00\x035\x00\x00\x00\x06\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x00\x00\x00`\x00\ +\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00`\x00\x00\x00`\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\ +\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00null\x00\x00\ +\x00\x02\x00\x00\x00\x06boundsObjc\ +\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00Rct1\x00\x00\ +\x00\x04\x00\x00\x00\x00Top long\x00\x00\ +\x00\x00\x00\x00\x00\x00Leftlong\x00\x00\ +\x00\x00\x00\x00\x00\x00Btomlong\x00\x00\ +\x00`\x00\x00\x00\x00Rghtlong\x00\x00\ +\x00`\x00\x00\x00\x06slicesVlLs\ +\x00\x00\x00\x01Objc\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x05slice\x00\x00\x00\x12\x00\x00\x00\x07s\ +liceIDlong\x00\x00\x00\x00\x00\x00\ +\x00\x07groupIDlong\x00\x00\x00\ +\x00\x00\x00\x00\x06originenum\x00\ +\x00\x00\x0cESliceOrigin\x00\ +\x00\x00\x0dautoGenerated\ +\x00\x00\x00\x00Typeenum\x00\x00\x00\x0a\ +ESliceType\x00\x00\x00\x00Im\ +g \x00\x00\x00\x06boundsObjc\ +\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00Rct1\x00\x00\ +\x00\x04\x00\x00\x00\x00Top long\x00\x00\ +\x00\x00\x00\x00\x00\x00Leftlong\x00\x00\ +\x00\x00\x00\x00\x00\x00Btomlong\x00\x00\ +\x00`\x00\x00\x00\x00Rghtlong\x00\x00\ +\x00`\x00\x00\x00\x03urlTEXT\x00\x00\x00\ +\x01\x00\x00\x00\x00\x00\x00nullTEXT\x00\ +\x00\x00\x01\x00\x00\x00\x00\x00\x00MsgeTEX\ +T\x00\x00\x00\x01\x00\x00\x00\x00\x00\x06altTa\ +gTEXT\x00\x00\x00\x01\x00\x00\x00\x00\x00\x0ec\ +ellTextIsHTMLboo\ +l\x01\x00\x00\x00\x08cellTextTE\ +XT\x00\x00\x00\x01\x00\x00\x00\x00\x00\x09horz\ +Alignenum\x00\x00\x00\x0fESl\ +iceHorzAlign\x00\x00\x00\x07\ +default\x00\x00\x00\x09vertA\ +lignenum\x00\x00\x00\x0fESli\ +ceVertAlign\x00\x00\x00\x07d\ +efault\x00\x00\x00\x0bbgColo\ +rTypeenum\x00\x00\x00\x11ESl\ +iceBGColorType\x00\x00\ +\x00\x00None\x00\x00\x00\x09topOut\ +setlong\x00\x00\x00\x00\x00\x00\x00\x0al\ +eftOutsetlong\x00\x00\x00\ +\x00\x00\x00\x00\x0cbottomOutse\ +tlong\x00\x00\x00\x00\x00\x00\x00\x0brig\ +htOutsetlong\x00\x00\x00\x00\ +\x008BIM\x04(\x00\x00\x00\x00\x00\x0c\x00\x00\x00\ +\x02?\xf0\x00\x00\x00\x00\x00\x008BIM\x04\x14\x00\ +\x00\x00\x00\x00\x04\x00\x00\x00\x0c8BIM\x04\x0c\x00\ +\x00\x00\x00\x038\x00\x00\x00\x01\x00\x00\x000\x00\x00\x00\ +0\x00\x00\x00\x90\x00\x00\x1b\x00\x00\x00\x03\x1c\x00\x18\x00\ +\x01\xff\xd8\xff\xed\x00\x0cAdobe_CM\x00\ +\x01\xff\xee\x00\x0eAdobe\x00d\x80\x00\x00\x00\ +\x01\xff\xdb\x00\x84\x00\x0c\x08\x08\x08\x09\x08\x0c\x09\x09\x0c\ +\x11\x0b\x0a\x0b\x11\x15\x0f\x0c\x0c\x0f\x15\x18\x13\x13\x15\x13\ +\x13\x18\x11\x0c\x0c\x0c\x0c\x0c\x0c\x11\x0c\x0c\x0c\x0c\x0c\x0c\ +\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\ +\x0c\x0c\x0c\x0c\x0c\x0c\x01\x0d\x0b\x0b\x0d\x0e\x0d\x10\x0e\x0e\ +\x10\x14\x0e\x0e\x0e\x14\x14\x0e\x0e\x0e\x0e\x14\x11\x0c\x0c\x0c\ +\x0c\x0c\x11\x11\x0c\x0c\x0c\x0c\x0c\x0c\x11\x0c\x0c\x0c\x0c\x0c\ +\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\ +\x0c\x0c\x0c\x0c\x0c\x0c\x0c\xff\xc0\x00\x11\x08\x000\x000\ +\x03\x01\x22\x00\x02\x11\x01\x03\x11\x01\xff\xdd\x00\x04\x00\x03\ +\xff\xc4\x01?\x00\x00\x01\x05\x01\x01\x01\x01\x01\x01\x00\x00\ +\x00\x00\x00\x00\x00\x03\x00\x01\x02\x04\x05\x06\x07\x08\x09\x0a\ +\x0b\x01\x00\x01\x05\x01\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\ +\x00\x00\x01\x00\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x10\x00\ +\x01\x04\x01\x03\x02\x04\x02\x05\x07\x06\x08\x05\x03\x0c3\x01\ +\x00\x02\x11\x03\x04!\x121\x05AQa\x13\x22q\x81\ +2\x06\x14\x91\xa1\xb1B#$\x15R\xc1b34r\ +\x82\xd1C\x07%\x92S\xf0\xe1\xf1cs5\x16\xa2\xb2\ +\x83&D\x93TdE\xc2\xa3t6\x17\xd2U\xe2e\ +\xf2\xb3\x84\xc3\xd3u\xe3\xf3F'\x94\xa4\x85\xb4\x95\xc4\ +\xd4\xe4\xf4\xa5\xb5\xc5\xd5\xe5\xf5Vfv\x86\x96\xa6\xb6\ +\xc6\xd6\xe6\xf67GWgw\x87\x97\xa7\xb7\xc7\xd7\xe7\ +\xf7\x11\x00\x02\x02\x01\x02\x04\x04\x03\x04\x05\x06\x07\x07\x06\ +\x055\x01\x00\x02\x11\x03!1\x12\x04AQaq\x22\ +\x13\x052\x81\x91\x14\xa1\xb1B#\xc1R\xd1\xf03$\ +b\xe1r\x82\x92CS\x15cs4\xf1%\x06\x16\xa2\ +\xb2\x83\x07&5\xc2\xd2D\x93T\xa3\x17dEU6\ +te\xe2\xf2\xb3\x84\xc3\xd3u\xe3\xf3F\x94\xa4\x85\xb4\ +\x95\xc4\xd4\xe4\xf4\xa5\xb5\xc5\xd5\xe5\xf5Vfv\x86\x96\ +\xa6\xb6\xc6\xd6\xe6\xf6'7GWgw\x87\x97\xa7\xb7\ +\xc7\xff\xda\x00\x0c\x03\x01\x00\x02\x11\x03\x11\x00?\x00\xf5\ +T\x92P\xb5\xceensZ^\xe6\x82CG$\xa4\ +\xa5YuU\xff\x008\xf6\xb2x\xdc@N\xd7\xb1\xe3\ +s\x1c\x1c\xdf\x10d*X\xb8,\xb1\x9e\xbe[K\xee\ +\xb3S\xbb\xb0\xec6\xa6}#\x07&\xa7\xd2H\xaa\xe7\ +\x06=\x93\x22O\x05%:\x09$\x92J\x7f\xff\xd0\xf5\ +T\x1c\x9c\xaa\xf1\x9a\x0b\xe4\x97\x18kZ$\x94eK\ +\xaa{YM\xbd\xeb\xb0\x1f\x97\xfa\x84\x94\xb7\xdb\xefw\ +\xf3x\xaf>\x05\xda\x7f\x04+\x9b\xd4.s.}m\ +`\xa6\x5c\xd6\x93:\xf3:|\x15\xac\xf3x\xc6s\xa9\ +0F\xae#\x9d\xa3\xe9mK\x05\xd6Y\x88\xd7Zw\ +\x17L\x1e\xf1:nIL\xf1/7\xe3\xb2\xd2\x00.\ +\xe4\x0e$\x1d\xa8\xca\x97J\xd3\x1d\xf5\x9ekyj\xba\ +\x92\x9f\xff\xd1\xf5UW\xa8\xd6l\xc3\xb0\x01$A\x00\ +y\x1f\xfc\x8a\xb4\x92Jh7\xa95\xf5\x86\xb6\x8b-\ +1\x0e\x86\xe8t\xd7\xc5&_\x9b\xb42\x8cA[\x06\ +\x808\xc0\x1f/b\xbe\x92Jj`\xe3\xddQ\xb5\xf7\ +@u\xae\xdd\xb5\xbc\x05m$\x92S\xff\xd98BI\ +M\x04!\x00\x00\x00\x00\x00a\x00\x00\x00\x01\x01\x00\x00\ +\x00\x0f\x00A\x00d\x00o\x00b\x00e\x00 \x00P\ +\x00h\x00o\x00t\x00o\x00s\x00h\x00o\x00p\ +\x00\x00\x00\x19\x00A\x00d\x00o\x00b\x00e\x00 \ +\x00P\x00h\x00o\x00t\x00o\x00s\x00h\x00o\ +\x00p\x00 \x00C\x00C\x00 \x002\x000\x001\ +\x005\x00.\x005\x00\x00\x00\x01\x00\x00\x00\x0cHL\ +ino\x02\x10\x00\x00mntrRGB X\ +YZ \x07\xce\x00\x02\x00\x09\x00\x06\x001\x00\x00a\ +cspMSFT\x00\x00\x00\x00IEC s\ +RGB\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\xf6\xd6\x00\x01\x00\x00\x00\x00\xd3-HP \x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11c\ +prt\x00\x00\x01P\x00\x00\x003desc\x00\ +\x00\x01\x84\x00\x00\x00lwtpt\x00\x00\x01\xf0\x00\ +\x00\x00\x14bkpt\x00\x00\x02\x04\x00\x00\x00\x14r\ +XYZ\x00\x00\x02\x18\x00\x00\x00\x14gXYZ\x00\ +\x00\x02,\x00\x00\x00\x14bXYZ\x00\x00\x02@\x00\ +\x00\x00\x14dmnd\x00\x00\x02T\x00\x00\x00pd\ +mdd\x00\x00\x02\xc4\x00\x00\x00\x88vued\x00\ +\x00\x03L\x00\x00\x00\x86view\x00\x00\x03\xd4\x00\ +\x00\x00$lumi\x00\x00\x03\xf8\x00\x00\x00\x14m\ +eas\x00\x00\x04\x0c\x00\x00\x00$tech\x00\ +\x00\x040\x00\x00\x00\x0crTRC\x00\x00\x04<\x00\ +\x00\x08\x0cgTRC\x00\x00\x04<\x00\x00\x08\x0cb\ +TRC\x00\x00\x04<\x00\x00\x08\x0ctext\x00\ +\x00\x00\x00Copyright (c)\ + 1998 Hewlett-Pa\ +ckard Company\x00\x00d\ +esc\x00\x00\x00\x00\x00\x00\x00\x12sRGB \ +IEC61966-2.1\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x12sRGB IEC\ +61966-2.1\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00XYZ \x00\ +\x00\x00\x00\x00\x00\xf3Q\x00\x01\x00\x00\x00\x01\x16\xccX\ +YZ \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00XYZ \x00\x00\x00\x00\x00\x00o\xa2\x00\ +\x008\xf5\x00\x00\x03\x90XYZ \x00\x00\x00\x00\x00\ +\x00b\x99\x00\x00\xb7\x85\x00\x00\x18\xdaXYZ \x00\ +\x00\x00\x00\x00\x00$\xa0\x00\x00\x0f\x84\x00\x00\xb6\xcfd\ +esc\x00\x00\x00\x00\x00\x00\x00\x16IEC h\ +ttp://www.iec.ch\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16IEC \ +http://www.iec.c\ +h\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00d\ +esc\x00\x00\x00\x00\x00\x00\x00.IEC 6\ +1966-2.1 Default\ + RGB colour spac\ +e - sRGB\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00.IEC 61966-2.\ +1 Default RGB co\ +lour space - sRG\ +B\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00desc\x00\x00\x00\x00\x00\ +\x00\x00,Reference Vie\ +wing Condition i\ +n IEC61966-2.1\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00,Refere\ +nce Viewing Cond\ +ition in IEC6196\ +6-2.1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00v\ +iew\x00\x00\x00\x00\x00\x13\xa4\xfe\x00\x14_.\x00\ +\x10\xcf\x14\x00\x03\xed\xcc\x00\x04\x13\x0b\x00\x03\x5c\x9e\x00\ +\x00\x00\x01XYZ \x00\x00\x00\x00\x00L\x09V\x00\ +P\x00\x00\x00W\x1f\xe7meas\x00\x00\x00\x00\x00\ +\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x8f\x00\x00\x00\x02sig \x00\ +\x00\x00\x00CRT curv\x00\x00\x00\x00\x00\ +\x00\x04\x00\x00\x00\x00\x05\x00\x0a\x00\x0f\x00\x14\x00\x19\x00\ +\x1e\x00#\x00(\x00-\x002\x007\x00;\x00@\x00\ +E\x00J\x00O\x00T\x00Y\x00^\x00c\x00h\x00\ +m\x00r\x00w\x00|\x00\x81\x00\x86\x00\x8b\x00\x90\x00\ +\x95\x00\x9a\x00\x9f\x00\xa4\x00\xa9\x00\xae\x00\xb2\x00\xb7\x00\ +\xbc\x00\xc1\x00\xc6\x00\xcb\x00\xd0\x00\xd5\x00\xdb\x00\xe0\x00\ +\xe5\x00\xeb\x00\xf0\x00\xf6\x00\xfb\x01\x01\x01\x07\x01\x0d\x01\ +\x13\x01\x19\x01\x1f\x01%\x01+\x012\x018\x01>\x01\ +E\x01L\x01R\x01Y\x01`\x01g\x01n\x01u\x01\ +|\x01\x83\x01\x8b\x01\x92\x01\x9a\x01\xa1\x01\xa9\x01\xb1\x01\ +\xb9\x01\xc1\x01\xc9\x01\xd1\x01\xd9\x01\xe1\x01\xe9\x01\xf2\x01\ +\xfa\x02\x03\x02\x0c\x02\x14\x02\x1d\x02&\x02/\x028\x02\ +A\x02K\x02T\x02]\x02g\x02q\x02z\x02\x84\x02\ +\x8e\x02\x98\x02\xa2\x02\xac\x02\xb6\x02\xc1\x02\xcb\x02\xd5\x02\ +\xe0\x02\xeb\x02\xf5\x03\x00\x03\x0b\x03\x16\x03!\x03-\x03\ +8\x03C\x03O\x03Z\x03f\x03r\x03~\x03\x8a\x03\ +\x96\x03\xa2\x03\xae\x03\xba\x03\xc7\x03\xd3\x03\xe0\x03\xec\x03\ +\xf9\x04\x06\x04\x13\x04 \x04-\x04;\x04H\x04U\x04\ +c\x04q\x04~\x04\x8c\x04\x9a\x04\xa8\x04\xb6\x04\xc4\x04\ +\xd3\x04\xe1\x04\xf0\x04\xfe\x05\x0d\x05\x1c\x05+\x05:\x05\ +I\x05X\x05g\x05w\x05\x86\x05\x96\x05\xa6\x05\xb5\x05\ +\xc5\x05\xd5\x05\xe5\x05\xf6\x06\x06\x06\x16\x06'\x067\x06\ +H\x06Y\x06j\x06{\x06\x8c\x06\x9d\x06\xaf\x06\xc0\x06\ +\xd1\x06\xe3\x06\xf5\x07\x07\x07\x19\x07+\x07=\x07O\x07\ +a\x07t\x07\x86\x07\x99\x07\xac\x07\xbf\x07\xd2\x07\xe5\x07\ +\xf8\x08\x0b\x08\x1f\x082\x08F\x08Z\x08n\x08\x82\x08\ +\x96\x08\xaa\x08\xbe\x08\xd2\x08\xe7\x08\xfb\x09\x10\x09%\x09\ +:\x09O\x09d\x09y\x09\x8f\x09\xa4\x09\xba\x09\xcf\x09\ +\xe5\x09\xfb\x0a\x11\x0a'\x0a=\x0aT\x0aj\x0a\x81\x0a\ +\x98\x0a\xae\x0a\xc5\x0a\xdc\x0a\xf3\x0b\x0b\x0b\x22\x0b9\x0b\ +Q\x0bi\x0b\x80\x0b\x98\x0b\xb0\x0b\xc8\x0b\xe1\x0b\xf9\x0c\ +\x12\x0c*\x0cC\x0c\x5c\x0cu\x0c\x8e\x0c\xa7\x0c\xc0\x0c\ +\xd9\x0c\xf3\x0d\x0d\x0d&\x0d@\x0dZ\x0dt\x0d\x8e\x0d\ +\xa9\x0d\xc3\x0d\xde\x0d\xf8\x0e\x13\x0e.\x0eI\x0ed\x0e\ +\x7f\x0e\x9b\x0e\xb6\x0e\xd2\x0e\xee\x0f\x09\x0f%\x0fA\x0f\ +^\x0fz\x0f\x96\x0f\xb3\x0f\xcf\x0f\xec\x10\x09\x10&\x10\ +C\x10a\x10~\x10\x9b\x10\xb9\x10\xd7\x10\xf5\x11\x13\x11\ +1\x11O\x11m\x11\x8c\x11\xaa\x11\xc9\x11\xe8\x12\x07\x12\ +&\x12E\x12d\x12\x84\x12\xa3\x12\xc3\x12\xe3\x13\x03\x13\ +#\x13C\x13c\x13\x83\x13\xa4\x13\xc5\x13\xe5\x14\x06\x14\ +'\x14I\x14j\x14\x8b\x14\xad\x14\xce\x14\xf0\x15\x12\x15\ +4\x15V\x15x\x15\x9b\x15\xbd\x15\xe0\x16\x03\x16&\x16\ +I\x16l\x16\x8f\x16\xb2\x16\xd6\x16\xfa\x17\x1d\x17A\x17\ +e\x17\x89\x17\xae\x17\xd2\x17\xf7\x18\x1b\x18@\x18e\x18\ +\x8a\x18\xaf\x18\xd5\x18\xfa\x19 \x19E\x19k\x19\x91\x19\ +\xb7\x19\xdd\x1a\x04\x1a*\x1aQ\x1aw\x1a\x9e\x1a\xc5\x1a\ +\xec\x1b\x14\x1b;\x1bc\x1b\x8a\x1b\xb2\x1b\xda\x1c\x02\x1c\ +*\x1cR\x1c{\x1c\xa3\x1c\xcc\x1c\xf5\x1d\x1e\x1dG\x1d\ +p\x1d\x99\x1d\xc3\x1d\xec\x1e\x16\x1e@\x1ej\x1e\x94\x1e\ +\xbe\x1e\xe9\x1f\x13\x1f>\x1fi\x1f\x94\x1f\xbf\x1f\xea \ +\x15 A l \x98 \xc4 \xf0!\x1c!H!\ +u!\xa1!\xce!\xfb\x22'\x22U\x22\x82\x22\xaf\x22\ +\xdd#\x0a#8#f#\x94#\xc2#\xf0$\x1f$\ +M$|$\xab$\xda%\x09%8%h%\x97%\ +\xc7%\xf7&'&W&\x87&\xb7&\xe8'\x18'\ +I'z'\xab'\xdc(\x0d(?(q(\xa2(\ +\xd4)\x06)8)k)\x9d)\xd0*\x02*5*\ +h*\x9b*\xcf+\x02+6+i+\x9d+\xd1,\ +\x05,9,n,\xa2,\xd7-\x0c-A-v-\ +\xab-\xe1.\x16.L.\x82.\xb7.\xee/$/\ +Z/\x91/\xc7/\xfe050l0\xa40\xdb1\ +\x121J1\x821\xba1\xf22*2c2\x9b2\ +\xd43\x0d3F3\x7f3\xb83\xf14+4e4\ +\x9e4\xd85\x135M5\x875\xc25\xfd676\ +r6\xae6\xe97$7`7\x9c7\xd78\x148\ +P8\x8c8\xc89\x059B9\x7f9\xbc9\xf9:\ +6:t:\xb2:\xef;-;k;\xaa;\xe8<\ +'\ + >`>\xa0>\xe0?!?a?\xa2?\xe2@\ +#@d@\xa6@\xe7A)AjA\xacA\xeeB\ +0BrB\xb5B\xf7C:C}C\xc0D\x03D\ +GD\x8aD\xceE\x12EUE\x9aE\xdeF\x22F\ +gF\xabF\xf0G5G{G\xc0H\x05HKH\ +\x91H\xd7I\x1dIcI\xa9I\xf0J7J}J\ +\xc4K\x0cKSK\x9aK\xe2L*LrL\xbaM\ +\x02MJM\x93M\xdcN%NnN\xb7O\x00O\ +IO\x93O\xddP'PqP\xbbQ\x06QPQ\ +\x9bQ\xe6R1R|R\xc7S\x13S_S\xaaS\ +\xf6TBT\x8fT\xdbU(UuU\xc2V\x0fV\ +\x5cV\xa9V\xf7WDW\x92W\xe0X/X}X\ +\xcbY\x1aYiY\xb8Z\x07ZVZ\xa6Z\xf5[\ +E[\x95[\xe5\x5c5\x5c\x86\x5c\xd6]']x]\ +\xc9^\x1a^l^\xbd_\x0f_a_\xb3`\x05`\ +W`\xaa`\xfcaOa\xa2a\xf5bIb\x9cb\ +\xf0cCc\x97c\xebd@d\x94d\xe9e=e\ +\x92e\xe7f=f\x92f\xe8g=g\x93g\xe9h\ +?h\x96h\xeciCi\x9ai\xf1jHj\x9fj\ +\xf7kOk\xa7k\xfflWl\xafm\x08m`m\ +\xb9n\x12nkn\xc4o\x1eoxo\xd1p+p\ +\x86p\xe0q:q\x95q\xf0rKr\xa6s\x01s\ +]s\xb8t\x14tpt\xccu(u\x85u\xe1v\ +>v\x9bv\xf8wVw\xb3x\x11xnx\xccy\ +*y\x89y\xe7zFz\xa5{\x04{c{\xc2|\ +!|\x81|\xe1}A}\xa1~\x01~b~\xc2\x7f\ +#\x7f\x84\x7f\xe5\x80G\x80\xa8\x81\x0a\x81k\x81\xcd\x82\ +0\x82\x92\x82\xf4\x83W\x83\xba\x84\x1d\x84\x80\x84\xe3\x85\ +G\x85\xab\x86\x0e\x86r\x86\xd7\x87;\x87\x9f\x88\x04\x88\ +i\x88\xce\x893\x89\x99\x89\xfe\x8ad\x8a\xca\x8b0\x8b\ +\x96\x8b\xfc\x8cc\x8c\xca\x8d1\x8d\x98\x8d\xff\x8ef\x8e\ +\xce\x8f6\x8f\x9e\x90\x06\x90n\x90\xd6\x91?\x91\xa8\x92\ +\x11\x92z\x92\xe3\x93M\x93\xb6\x94 \x94\x8a\x94\xf4\x95\ +_\x95\xc9\x964\x96\x9f\x97\x0a\x97u\x97\xe0\x98L\x98\ +\xb8\x99$\x99\x90\x99\xfc\x9ah\x9a\xd5\x9bB\x9b\xaf\x9c\ +\x1c\x9c\x89\x9c\xf7\x9dd\x9d\xd2\x9e@\x9e\xae\x9f\x1d\x9f\ +\x8b\x9f\xfa\xa0i\xa0\xd8\xa1G\xa1\xb6\xa2&\xa2\x96\xa3\ +\x06\xa3v\xa3\xe6\xa4V\xa4\xc7\xa58\xa5\xa9\xa6\x1a\xa6\ +\x8b\xa6\xfd\xa7n\xa7\xe0\xa8R\xa8\xc4\xa97\xa9\xa9\xaa\ +\x1c\xaa\x8f\xab\x02\xabu\xab\xe9\xac\x5c\xac\xd0\xadD\xad\ +\xb8\xae-\xae\xa1\xaf\x16\xaf\x8b\xb0\x00\xb0u\xb0\xea\xb1\ +`\xb1\xd6\xb2K\xb2\xc2\xb38\xb3\xae\xb4%\xb4\x9c\xb5\ +\x13\xb5\x8a\xb6\x01\xb6y\xb6\xf0\xb7h\xb7\xe0\xb8Y\xb8\ +\xd1\xb9J\xb9\xc2\xba;\xba\xb5\xbb.\xbb\xa7\xbc!\xbc\ +\x9b\xbd\x15\xbd\x8f\xbe\x0a\xbe\x84\xbe\xff\xbfz\xbf\xf5\xc0\ +p\xc0\xec\xc1g\xc1\xe3\xc2_\xc2\xdb\xc3X\xc3\xd4\xc4\ +Q\xc4\xce\xc5K\xc5\xc8\xc6F\xc6\xc3\xc7A\xc7\xbf\xc8\ +=\xc8\xbc\xc9:\xc9\xb9\xca8\xca\xb7\xcb6\xcb\xb6\xcc\ +5\xcc\xb5\xcd5\xcd\xb5\xce6\xce\xb6\xcf7\xcf\xb8\xd0\ +9\xd0\xba\xd1<\xd1\xbe\xd2?\xd2\xc1\xd3D\xd3\xc6\xd4\ +I\xd4\xcb\xd5N\xd5\xd1\xd6U\xd6\xd8\xd7\x5c\xd7\xe0\xd8\ +d\xd8\xe8\xd9l\xd9\xf1\xdav\xda\xfb\xdb\x80\xdc\x05\xdc\ +\x8a\xdd\x10\xdd\x96\xde\x1c\xde\xa2\xdf)\xdf\xaf\xe06\xe0\ +\xbd\xe1D\xe1\xcc\xe2S\xe2\xdb\xe3c\xe3\xeb\xe4s\xe4\ +\xfc\xe5\x84\xe6\x0d\xe6\x96\xe7\x1f\xe7\xa9\xe82\xe8\xbc\xe9\ +F\xe9\xd0\xea[\xea\xe5\xebp\xeb\xfb\xec\x86\xed\x11\xed\ +\x9c\xee(\xee\xb4\xef@\xef\xcc\xf0X\xf0\xe5\xf1r\xf1\ +\xff\xf2\x8c\xf3\x19\xf3\xa7\xf44\xf4\xc2\xf5P\xf5\xde\xf6\ +m\xf6\xfb\xf7\x8a\xf8\x19\xf8\xa8\xf98\xf9\xc7\xfaW\xfa\ +\xe7\xfbw\xfc\x07\xfc\x98\xfd)\xfd\xba\xfeK\xfe\xdc\xff\ +m\xff\xff\x80\x00 P8$\x16\x0d\x07\x84BaP\ +\xb8d6\x1d\x0f\x88DbQ8\xa4V-\x17\x8cF\ +cQ\xb8\xe4v=\x1f\x90HdR9$\x96M'\ +\x94JeR\xb9d\xb6]/\x98LfS9\xa4\xd6\ +m7\x9cNgS\xb9\xe4\xf6}?\xa0PhT:\ +%\x16\x8dG\xa4RiT\xbae6\x9dO\xa8Tj\ +U:\xa5V\xadW\xacVkU\xba\xe5v\xbd_\xb0\ +XlV;%\x96\x0a\x01\xb4\x00Cv\xb1\x15\xb4D\ ++\x0c\xdcC\xe0\xeb\xa0F\xd2\x01y\xde^\x0e;\xe3\ +q\xc5\x7fm_\xdcM\xbb6\x17\x0d\x1b\x0a\xe2CD\ +\x5caX\x8f\x8f,\x88rB\xa0VT\x19\x14|\xe6\ +^\xedl\xe31\x85\x9fY.tJ\x87V\x95\xc9\x87\ +\xd4a\xc4\xda\xb1\x81g\x5co\x1elIa\x1d\xa0V\ +X\xf0\xdc;\x17\xdb\xb5r\xc7|\x9dj\xf0YZ\x9e\ +%d\xbd\xc7:\x99yG\xf0O4\x17<}t_\ +\x08\x9e\xa1\xb3|\xb1N\xf1{T\x9b\xa08$f\xf0\ +\x1f\xcb\x1e3u1_\xe7M\xa5\xfdG\xd7w\xb5\xd3\ +\xdb\xf8NA\x7f0rS\xec\xb9\x16\xfeG\x15FO\ +\xf5v6\xc0\x02A\xfd\x01\x9f\xcf\x8c\x0c\x98\x8e\xf0I\ +**\xc1\x83R0m\xc2\x06\x938k\x19fl,\ +`\x9dp\xc9\xca\xe8\x9fG\xcb\xe6\x05\x81\xabX6\x11\ +\x06q(\x80\x11\xc5\x01`A\x15\x85\x0b\xba0V\xc6\ +\x04\xc1\x15\x19\x8d\xa7\xecl~@\xf1\xcaJ-\xc7\x83\ +\x90\xe3\x1f\x91\xa8\xa3\x82j\x99D\xb4\x8c>\x19rI\ +{\x02@\xa8\xb8\x09'\x80\xa1\x94\xa4\x1f\x0cr\xa8\xf9\ +\x12\x86b\x020O\xcb\x849+/\x8fQ\xd4\xc4\x8e\ +\x84\x93(ZPM\x06@\x115\x81H\x81m7\x94\ +\x84,\xe433'\xc9\xee\x94\x00S\xc8\x04-O\x83\ +\x88\xdd?\x913\xd0\x06\x88\x1eT)\xde*Q\x01C\ +\xdaw\x1dS\x1d\x1c\x8a\x92T\x89l\x1dR\x82J \ +]S\x05H\xffM\x8b\xc7\xdd<}&\x81\xb5D!\ +\x90u)H\x09\xd5\x00\xc2 ZU\x85\x09\x01W\x8c\ +\x14}d\x86\x82\xd5\xa87\x18\x15\xa6\xcb\x9a\x04\xb9\xe8\ +[Ju\x1c\x8dp\xb2\x18\x1e6)\xda\x9e\x05\xd6H\ +tMY\x86\x04\x9e\x02\x00\xa8e<}\x9fB\xbd\xac\ +\x160L%gm\xa0\x83E\xbcA\x0c\x97\x08\xfa\x88\ +\x10\xd7(\xd0W]\x04\xca\x889]\x84|\xf8-\x0e\ +\x08\x84\xd0P\x11\x0f\xb1(<\xdb\x95\x9b\xba\x09W\x06\ +\xc3h\x08\xb6\xc8]\x16u\x0a\x18(H{a\x07\x9a\ +\x88\x03a\x80AO\x87\x9a\x00\xfe$\x13\xa1\x876,\ +p\x0a\xd8\xc8V|c\x87\xb5\xf31c\x81\xbbH \x86\x19\xfbi\x863\xee\ +\x02\x04\x98\xa8\x14[\xa9\x96\x15o\x01\xa2\x19R\x90c\ +#\xae\xec\xec.\xd2\xef\xa2\x03[\xc0T\x1a\xdd\xe3\x84\ +\xa4\x19\x07\xe8$\xfe7\x09F7$[\xaa\x84o,\ +X\x07\xfc\xc8\x9e\x86\x11|\xe8\xdcT\xf4\x04\x9f\x03|\ +\xd4A\xb0\x87\xd2\x88\x96a4@C\x87\xca\xa9H\x92\ +T\x9d+\xces\xdd\x01S\xd1t}\xca\xb0\x03\xf7\x80\ +N\x1eS\x9a \xf7\x84\x12\xa1\x84\x17\x8c1\x96^I\ +=\xddy\x8a\xab\xf2\x16\x87\x04\xf7\xa4cE\xc8X\xeb\ +\xeb\x8aE\xff\xb4W\xf9\xbe\xea\xa2>|\x04\xde\x0a(\ +\x0c\x99\xa4\x06~\xb8\xe2\xf0ll}\x86w\xbd\xf7\xa9\ ++pTR~\x86v\x18\x03\x00\xe8a\xbd\xfd\x9a\xd1\ +\xe0\xb6\x0cV\x9a\xa0~\x10\x0du\xae\xc1\x1c\xbb\xc3\x89\ +\x10uB\x05\xd5\x08\x08\x09\x03\xca\x0b\xf7\x00\xedTV\ +\x0d\x805\x05\xc1\x01\x0cC#\xacs\x05\xd8<\x0d\x07\ +d!\x1c\xf0B\x12\x13\xd0k\x09\xc2\x12F\x12\xc2\xf1\ +\xea\x90\xa2\xf2<\xc7\x80\xe1\x86Ce=\x00!\xd1\x0d\ +\xc7\x18\xc1\x87B\xc4Z\xc3\xd1E\x09b\x01\x152\xa0\ +(\x06/\xf0,\x88\x81\x08\x1c\x89@\x90\x0cD\xd0:\ +\xaa\x00\x98\x18\x061L\x1f< <\xf1\x09\x18\xc8\x8b\ +B\xe8FE\xd0\xde8#\x00\xd8\x88.\xea!\x80\xd5\ +k\x11\xe0\xb8\x1a\x04\x11X\x13\x19 B\x0a@\xecq\ +\x04\x91(\x0e\x028\x8c\xae\xd5\xe9:B\x03li\x06\ +\x18\xfc\x0eX\xe0\xf8c\xd1\x8c\xad\xc3Uv\xcf\x99\xf8\ +\x17\x91@u\xa9\x01 -#@\xb4P\x03\x12(\x0b\ +\x81\xd6$\x07\xc1<\x94\x03\xa0RN\x01\x98$V\x1e\ +\xb8u{/nB\x14u\x9e\x01\x5c04\x8e\x80\x91\ +\x14\x020W%\xc1:\x22\x04@>Z\x01$\xd6\x02\ +\x00[XQ\xc2\xce^\x0a\x01\x03/\xc3\x0c\xa5'\xcd\ +\xa4\x06\x81\x04\x18\x15CXD\x99AT\xd5\x82`^\ +\x8eG\xe4\xd1\x1fr\x04{\x1b\x81\xe0;\x1a\xc2\xfb!\ +\x83:n\x0c#\xc0\x19\x9cl\xc2'\x11\xc4\x0e\x82G\ +,#E\x81n\x05e\x81\x1b\x0f\xd1\xf8\xc0\xe1\xb8\xe8\ +\x1cQ\x80p\x0d\x83\x046\xa1\x90\xe1\x1b0ls\x0f\ +I\xfc\x1b\xf0\xb8\x1a\ +\xe2hK\x00\x80\x130\xc4\xe2\x02\x1e\xebn\xb3\x09\x02\ +2\x13\xb0\xd4\x18\x80_\x0d\xa0v!\x87\xd8\x1b\x01\x9c\ +\xe3\xa0h\xe0%\x1c\xb9\xcb\x98\xfe\x82\x16<\xe1^\x13\ +d\xe4\x10\xa0\xcd\x0d\x021\x01\xa0\xfa\x13\x80\x9f\x10\xed\ +v!l\x06\xd8\xcb<[e\xfa\x96\x02\x18\xc8\x81\x94\ +\x17\x8c\x82\x0dP\x01\x10B-\x06.A\x06\x8f\xd2i\ +/D\x06l\xc2\x1b,\xc6;h$\xe5@ \x02\xa8\ +\x90\x0f1T\x12\xe9\xd4!\x91B\x19\xeb\xc5\x13\x02,\ +\xe8\xce\x90\xb2.\x94!\xea\xc8\x0a\x86P\x15\xa2\xa0\x86\ +\xa9\x10\x02\x0c\x92\x9b\x22\xe8\x02Np\x8d\x8f\x10\xb9\xc7\ +\x08C\xe0\x1cHC\x84\xfdj=\x16B(\x8d\xc0R\ +\xfe!\xa4\x00q\xac\x00\x82\x18\x85@\xf6zA<\xbb\ +\xc2nPH\xa0\x92\x89*\xb5\xa9\xd4\xb5\xaf\x10\x93\x80\ +(\x03$>\x01\xa7x\x00\xe0\x12&\x01G\x1e!\x18\ +\x121\xe8\xa7\x91\xa0\x22oh\xe5\xa1\xb2\xc9\x82\x18v\ +\xc1&\xca\xe3\xca#e\x04\x96\xe0\x14\xc9\x22\xe2\x03 \ +>\x8d\x89.\x8d\xa3&\xb9\xc94\xc9\x22\x90\xa0\x8b\xc4\ +b\xc1\xcc\x1b\xf1\xee\x22b\xef\x1b\x81\x8cy\xe3\xf6!\ +aq#\xe1L|\x00\xf8\x0bb\x08\xc9\x91\xd1!\x06\ +$\x04\xcf\x10\xe7\x09e\x19F\xb1\x17\xed^+\x8a\xb8\ +\xcb\xec\xee\x1aa\x91\x22\xe24\x10\x92t\x14\xa0\x91'\ +\xa0\xb4!\x8d\x91&\xa1\x8e\x8d\x92\x0e\x03\xe9\x88\x02.\ +\x148\xb0\xae\x1e\xa1\xe4B\xc1\x9a\x18\x011* \xfe\ +g!\xb4grp#\x80\xc1+ \xf0\xf0\xa0\xd8\x10\ +\xe4r\xae\xe9\xe0\x86\xe3\x04\x1cC\x02/\xe1\xb6\xa9\x81\ +\xda\xb3\xcc\x06\xc7J\x9e\x1cr\xae$\x8f\x92\xf9o\x9a\ ++\x8aA-j\xfc\xa4\xe2\xf8\x1bj\x5c\xa5a\xac\xd9\ +\x0af\xd3r\xde'\xf1\xda\x01!\x1f0\xa1du\x02\ +p\xe0,\x07-\xa5~\x1c\xb2\xd0\xb3\xc86\x1c\xa9\xf2\ +\x1b*P\x1b\x8f\x8a\xab\xa6\x130\x22\xb5\x19Mr\x14\ +G2\x07\xe76#j\xee\xc0k\xd6\x1b\xed\xa6\xa5a\ +\xaa\xa5\xd3J\x9e!\xc2\xb1S4[\x88j\xf8\x00{\ +6`\x9a\x96\x80\x1e\x02N2\x1f\x8a&\x86(d\x1b\ +S+\x0b\x81\xbe\x1a\xcd\xa71\xb0\x095\xf3\x8d8\xf3\ +\x9193\x959s\x999\xb3\x9d9\xf3\xa1:3\xa5\ +:s\xa9:\xb3\xad:\xf3\xb1;3\xb5;s\xb9;\ +\xb3\xbd;\xf3\xc1<3\xc5\x0a\x0a \x0a icon / outl\ +iner / entity / \ +Default\x0a\ + Create\ +d with Sketch.\x0a \ +\x0a \x0a <\ +path d=\x22M13.6916\ +3,3.24686842 L8.\ +01783965,6.52512\ +131 L2.34404932,\ +3.24686842 L8,0.\ +481790242 L13.69\ +163,3.24686842 Z\ + M7.25035308,7.8\ +2264135 L7.25035\ +308,14.7689324 L\ +1.9912897,11.723\ +6967 L1.9912897,\ +4.79310939 L7.25\ +035308,7.8226413\ +5 Z M14.0326515,\ +11.6884321 L8.74\ +360561,14.776916\ +3 L8.74360561,7.\ +8257203 L14.0024\ +918,4.79949203 L\ +14.0326515,11.68\ +84321 Z\x22 id=\x22Sha\ +pe\x22 fill=\x22#FFFFF\ +F\x22 fill-rule=\x22no\ +nzero\x22>\x0a \ + \x0a\x0a\ +\x00\x00\x03~\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a \x0a icon / outl\ +iner / entity / \ +Loop v2\x0a\ + Create\ +d with Sketch.\x0a \x0a \x0a \ + \x0a\x0a\ +\x00\x00\x19\xf8\ +\x00\ +\x00\xe0\x1cx\x9c\xed\x9c\x09\x5c\x14\xd5\x1f\xc0\xdf\xec\xc5\ +\xb5\xdc\x87\x17\xea\x8a\x1c^\xdc7\xca\xb9\xa0\xa0\x22\x08\ +xf\xc9\xb2;\xc0\xea\xb2\xbb\xee\x01hVj\xa6\xa5\ +\x96Gf^e\x1e\x99GiY\x1e\x99\x1d\x9af\x87\ +\x7f\xcb\xdb\xb2\x03\xf3oj\x99Q\xa6V\x9a\xfc\x7f\xbf\ +Y\x16\x06\x04E\x19\xc0\xfe\xcd\x97\x0f\xb3o\xde\xf5\xfb\ +\xbd\xdf\xbcy\xd7\xcc\x9b\xccL\xd2\x8b\x10bK\xbc\xc8\ +M\x22\x02\x17E,\x07!\xf3\x93\x0f\x07\x8a\xe5\x160\ +n\x88GyQ\xc2j\x7f\x88LI\xaa\xdd\x028\xb8\ +Z\xf3\xc9\xaa\xa4\xdcXq<\xab\xddLjV\x9e\xed\ +\xac\xf1\xe7\x11\xaa#\x11[\xdcT\x17\xaaS\x8d\xdb\x9f\ +\xf2f\xe5\xd3\x83%+\x14\x8f\xc4\x07\x5cAT\x18\xe3\ +\xf6\x00w6\x95S\x1b_\xb0\x0b\x8fQ\x9d\xe0T5\ +#\x03\xdd\xd2\x1e\x84DO\x99\xa9\xb6\xca\xfd\xaer\xa6\ +\x91\xd8\x80\x7f:!\xf2uX~\xb0\x87\xe5\xcf\xfe\xc6\ +\x14B\x02\x5c\xac\xbf\xc9*]\x01-\xcb.\xd6\x99t\ +\xc6b\x9d^&\x97\xcb\xc2BB\xa3e=F\xa8\xb5\ +*]\x99\xb1'\xc1\xd3\xb8\x90\xb0\xb8\x90pYhd\ +\x5cX88H\xbf\xc4r\xbdB9\x9e6\xc9\x0a\xe8\ +\x22\xb56\xde\xe7\x97w\xde\xf7\x91\xa9U\xf1>#\x22\ +3C2\xf5r\xbaX\x9d>\xc9@\xe7N\x1a\x92\xa7\ +\x9c4^\x19\xab\xf2IL\xb0\xefW\x1eW^\xa2/\ +\xa1M\x0aYy\x89Fk\x8c+\x8f\xf7Q\xa0\xfc8\ +p\xa3w\xb0\x8f\x8c\x89b\x1a\x1f\xefcQldf\ +\xb6L\xae3\xd0\xb2\xc8\xa0\xa8@ehx\x8c,:\ +6(426&,\xa2\x0f*\x1a\x15\x1c\x12\x1b\x1c\ +\x1a\x11\x18\x12\x1a\x17\x12\x1b\x17\x12*\xab\xc6'\xc1\x1e\ +\x8e\xfd\x0c\xaa\xc2\xb8\x9c\xd4\xfe\xd5\xe2\xe0,\xde\xa7\xd8\ +d\xd2\xc7\x05\x07\x97\x95\x95\x05\x95\x85\x07\xe9\x0cE\xc1\ +\xa1\xb1\xb1\xb1\xc1!a\xc1aa\x81\x10#\xd08Q\ +kR\x94\x07j\x8d\xdd-\x99X\xf3I\xa5\x8dJ\x83\ +ZoR\xeb\xb4284($\xb8\xa1D*eM\x1a\ +\xbd\xd9\xa0aTS)\x83i\x0d]BkMFH\ +\x17\xda`:\xbd\xf5\xda5,\xb2&\xb8Q\xc1\xa0m\ +f\xe6\xed\xf5-)i0\xa5\xd1\x94Vj\xba}J\ +c\xdeD=\x1d\x9cC\x1buf\x83\x92N+\x85\xa2\ +\xd4\xda\x15M\x0b\xd2\xe3\xe4\x06Za\xa2S\xe1?\x01\ +k[`HX`Hx\x1e\xd4\xb6\x90\xa8\xb8\xb0\xc8\ +\xc0\x90\x98\xb8\x90\x90~\xc1\xf5b\xd6\xcb#S\xa7R\ +\x17Nl \x0f\xa6\xc6\xb2\xf3`\xc5\xac\x9f\x07\xd4A\ +\x95\xc2\xa4hR.\xec\xb8\xac|T\xca\xb8B\x9d\xa1\ +DaJP\x97(\x8a\xe8`\x93\xba\xb0\xb0_p\xad\ +/+j\xcd\xa5\x89\x93\xeb4:\x03\xe8E'\x84\xf7\ +\x0bn\xc8\xbb\xc1T\x19ry\xb6AW\xa8\xd6\xd0\x09\ +\xc6\x9c\x01)\xb2\x8c4yThlTT`XP\ +(;\x1bV\xbc\xba\x05\xce\xcc\x8c\xcb\xd0\x1aM\x0a\xad\ +\x92\xceHM\x00\x8f \xb5Z\x15WX\x18AG\x85\ +\xc7D\x05\xd2\x85\xe1t`(\x1dA\x07\x16D+c\ +\x02\xa3\x14\x11\x91ttxAX\xb4R\xc5\xd8\xa0n\ +\xf2[\xb2N\xd5)\xcdXu\xab\xb3V\xdde\xd6\xac\ +\xe4\xb7d\x9dePC\xb3\xa3\xd04SD\x03\xd9\xdc\ +\x22*]m4\xe9\x0c\x13\x13\xeaT\x7f\xa6A\xc8\xa5\ +'\xd4\xf5\xb5\x06h\xd4L\x03\xa1W\x18\x8c4V\xff\ +x\x1fk\xfd\xf7\xb9%\x01\xa6an\xa38\x85\x12\x9b\ +\x96\x04%S\xc3A\xc5:\xbe\x8d'S\xdf\xeb\x05\xbc\ +%y\xe32\xca\x8ai\xed\xed\xeeLV\xac\xc631\ +\xea\x0aMe\x0a\x03\x9d\x5c\x04\x96N\xb8c\xbfc\xcd\ +\xb5n\xb2[\xec\x1dl1x\xbd\xcb\x13|\xeb\xf5\xb1\ +^\xf3z\xd7\xd3\x12\x95\xd5\xb6[:\x8e\xe0\xea\x9e\x03\ +:\xad\xe0\x9a^\xab\xa1\xc2q\x0f/\x84\x17\xc2\x0b\xe1\ +\x85\xf0Bx!\xbc\x10^\x08/\x84\x17\xc2\x0b\xe1\x85\ +\xf0Bx!\xbc\x10^\x08/\x84\x17\xc2\x0b\xe1\x85\xf0\ +Bx!\xbc\x10^\x08/\x84\x17\xc2\x0b\xe1\x85\xf0B\ +x!\xbc\x10^\x08/\x84\x17\xc2\x0b\xe1\x85\xf0Bx\ +!\xbc\x10^\x08/\x84\x17\xc2\x0b\xe1\x85\xf0Bx!\ +\x1c\x0b\xb1\xaf\xdd\x07FkU\xf1>e>\x89\x09$\ +&%#S\xe4\xc7\xec9s!\xf5`\xc2\xe2\x18\xe7\ +\xd9\xeapfw\x1eq\xd0\x1b\xd4ZS\x96\xd9\xa47\ +\x9b\xe0\x14\xb7\xc9\x91l\xa3)\xb7@\xa7\xd3012\ +\xb4&\x9a\xd6\x9aK\xacn\xfc\x95k\x0cx\xee\xcc\xa4\ +\xcdU\x97c\x8c\x14\xb5\x09\xd3\xd4\xe6I\x1b\x86(J\ +\xe8\xbc\xb4\x91y5\xc2,\x09\xb2\x0d:]a.m\ +2\xeb\xb3\x0a\xc6)\xc1[J\xb2\x89\x81\xe8\xe0\xaf\x90\ +\xc8H.\xa1\x89\x89\x98\x89\x9eIb\xaf\xaf\x89m\xcd\ +&Ec\xd2Vk$-0\xab5&\xb5\x96\xc9\x12\ +\xce\xed\x98\xd8\xf2\xccQ\x83,%\xee\x8b\xf1\x05\x81u\ +J\xec\xc6*q\x16\xb3\xf3\xc0\x08\xbe\xed\x98r\xe9M\ +Zk!\xa0\x90\x05\x86\x9a\x93\x9c\x22cfm\x88A\ ++\xaf=\xd1\x9ajO\x06\x17h\x8c5'C\x8aL\ +\xa55'i%\x9a\xd4\x9a\x13\xb0cm\xd6)\xca\xf1\ +E\xd5\x86\xb0(Hr\x06\xa4\xc8\x89e\xdb$\xc9Q\ +\xc9d*\x9d\xb9 IWQs1\x07\x18\xb4\xb7\xf8\ +\xa5hn\x8d\x97bP\xe5\x0d\xd3\x9a\xfaw\xcf\xd1\x98\ +\xd8\x95!E\xa3\x925\xe4\x9fc\xd4\x98\x18\xff\xecr\ +MRN\x8d\xb7})\xad4\xe9\x0c\xa9\x0a\x93\xa2\xa6\ +Vd\x17e\x1b\xad\xb5\x02\xdd\xd5\xbfr\xc6\x08t\xa1\ +\xa9\xa1\xec\xf3t\xfa\x06\xc5\xe6*5\x16\xffl\x832\ +iT\x8d\xb7\x8b\xd2\xa0\xd3\x8f(\xa6\xe1\xe2\xc2\xf5R\ +k\x8b\xac\x16s\xc2\x80\x1c\xd0)Eg2\xe9J4\ +:mQu\x12\xa95\x04U`\xf9;Z\xfds\xd4\ +E\xc5\xec\x00\x07k\x00\xe8V\xe3\x8d5G\xf8\xb3E\ +\x07\x92N,{?\xab\x7f\x99Z\xe5\xcf\x849\xd5\x96\ + qJu\xaaK\x16q\xd2<\x83Bk\xd4+\x0c\ +\xb4V9\xd1R\x13=\x99\x90.\x18J\xf2\xa0\xb6+\ +\x88\x96\x18\xa1\x8e+\xc0M\x83[I&V\xdf\xa5\x91\ +LLWF\x1e\xa9\xaa\xaa\x16\xa1\xa2,\xa1\x9d\x993\ +\x91UO\x91c\xcdy\x17\xe6\xbcC\xdds\xe1e\xe6\ +\xdc\xce\xaa\xa9%\x97\x00K\xfb`o\xadp\x96r\x09\ +\xaf0\xeet\x12\x5cX\x08!\x1a8J\xaa\x13Y|\ +V.YZ\xe3\x13\xc6\x1cG\xc3\xd1\xea\x13\xc9\x1c\x03\ +k}\x98<\xff`\xdcz,IC\x08\xcfc0\xf7\ +a\x8c-,e\x13T\x9f\x09\xea\x9c\x85Xt\xac\xb6\ +j`\x9d0\xdb\xeak\xcf\x5c\x01A\x92\xe5\xbf:\xac\ +K=\xfbwD\x970\xb2\xa6\xd4\x16\xf2\xab\xff-\x96\ +\xb9\x15\xb6\x1f;n\x83\x11\xac\xd46aDk\xd6h\ +,\x0a\x13I\x81\xce\xacU\x19\xeb\xb5 JS\xa8U\ +M\xbc\xedXU\x9e\xd4\xbb7HJ\xed=\xc4\xa8\x91\ +S{\x8b\xe0\xb9\xc4\xa8Q+i\xe3p\xcd`\xbc\xc9\ +\xa9:r\xc4L\x188\xdc\xe0\xdf\x869\xc9He\xe5\ +mSd\xd0\x99\xf5u\xbc$:f\xeb\x9f\xb5\xfdN\ +\xcb\xc5D\x96\xed\x80p\xee\xa80\x9bt\x03h-m\ +\xc0\xadx\x8c\xf6\x13\xf5\xd6\xee\xc7\xde\x12\x19}0$\ +\xa3\xa4H\xd6\x0a\xe5\x17\x9a\x0d\x9a:\x9d\x18c\xfc\xba\ +>\x99\xc6\xa2\xba\x1d\x9dD\xa11\xe5)\x8a\xea\xf89\ +)iHG\x97\x9b2\x8c\xe9y\x99\x83\xadM\xa9\xad\ +\xd5\xbbNd\xbbb\x9daR\xb2F]d\xb5\x94\xb3\ +\xa5\xf0\xe9Vo\xb4\xae\x8a.T\x98\x99\xb6\xd4\xae\x94\ +6\x98\x1a\x88>\xdc\xea]7\xbaCA\x11\xb3\xc3\x95\ +e\x5cWK\x82\x94\x015\x01\xa8\xc6\x10\x9d\x16\x7f\xed\ +L:=t\x98F\x9am8{\x0d\x18\xf2\x16_i\ +\x01\xd3(\xdf\xe2\xef`\xc0\xa6\xb7\x9e7s\x07\xf5\xb0\ +\xa4\x83\x7fAb%\xa9\xf5\xf7`\x9cx\x09\x85\xcc9\ +\xc6 \x82\x93\xd5&\xca\xb7\xfcSP\x05\x98;a\x17\ +iO\xa8\xaa\x93U?\x13)\xb3\xc3q\xac<\x13\xce\ +/\x11'\xe6\x8c\xa8\xa6`\xba\xaaSd:\x91\xda\xda\ +\xda\xda\xd9J\xed\xec\xa4\xae\x0e\xf6\x0e\xae\x9e\xceR\xa9\ +\xb3g{wwOw\xf7\xf6\xaeR\x86\xea\x9f\x86\xa1\ +\x1c\x1d\x1c\x1c\x9d\x1c]\x9c\x9c\x5c<\x9c\x9c\x9c<\xf0\ +\xe0\xe4aI\xe2\xda\x94\x0c\xaa> \xae\xb6\xa0|\xbe\ +\x90\xf2!\x02WJ\xe8JU}\x03\x05\x95T\xed\xa5\ +\x12AK1\xc5Pm8!\xa1\x04\x22\xb1\xc4\xc6\xd6\ +\xce\xde\x81\xaa\x1fH\x11\x81\xd0\x1a\xe8B(\x11%\x14\ +\x88\x04b\x1b\x89\xadX(\x0d\x87@W\xa1\xa8\x9b[\ +\xa88y\xa8\xc2\xddg\xc2\xd40\x89\xc7\xfc\x95o\xa4\ +t\xf7\xf5\xcc\xd9]\x10\x1ea\x98vHn\xe3\xb7 \ +\xb7\xf2\xf4\xafJc\xa4\xd7\xaa-\x8f\xfb\xa7>\x9b\xa7\ +J\xdb\xb3\xda\x14\xd5\xee\xf0\xb0\xef\xe9\xdf\xde\x9c\xfe\xe1\ +\x11\xf3\x99\xcb\xfd\x03\x16\xaey\xe2\xad\xe7\xf6\x1e\xfd\xef\ +\xef/o\xddw\xec\xec\x95\xe1\x85\xa53\x16\xad\xdd\xf6\ +\xd1\xf1\x1f\xaeF\x0f\x18QT6\xf3\xf9W\xb6\xef?\ +q\xee\x9a+\x11\x08@[\x11\xa3\x93\x8dD\x1c\xc9\xa8\ +\xd0-\xd4M\x04\x1aL\xf0q\x17\x87M\x9d\xef\x81\x1a\ +\xec\xce9T\x19\xee[p\xda0m\x81<\xd7Si\ +\x8c\xf8\xd5O\x82\x0a\xd8\xf8G\xee9\x0cJ\xacn\xa7\ +J\x1b\x16e\xa2\xbf\xafQ\xa1q\x0d\x02jU\xa8\xfa\ +\x8aH\x85\x8cLW\x92H\xae\xe4-\xc8\xf0\xeb\xe9\xbb\ + c`\x86\xef\x82\x9c\x05\x19\xbe\x0b\xd7T{dU\ +}q\xbb\xc0C\xb7\x0b<|\xbb\xc0#\xb7\x0b\ +!\xc02\xd4m\x03\x9b\x08^[\x8b\xeb\xf2P\xe6\x9a\ +Q^\x07j\xfd\x1a\x8a\xa7[\x05m0\x8c\x06\x85\xf3\ +j\xfd\x0a\x96\x10\xb2\xfd\x09B\xda\x7fU\xeb\xe7\xfb\x12\ +\xd4Q\xb8n\xdb>g\x95\xc7\x0b\xeb\x0b\xebc\x1fj\ +Z\x19\x84\x06\xad\xe1\x8e\x11\x9a\x00K^\x10fWc\ +\x1eY\xaa\xa5\x97\x93\xa1\xdd\x94\xd0\x97\x99\x0d2\x18\x89\ ++iY`\xfdJ|\xcf\x09\x1b\xd6\xa3O\x0e]H\ +\xe3\x88\x9f\x96\x0d\x87Z\x06\x13\x16\xb8\xdcZ\x95\x9a\xf9\ +n\x89Z\xdb\xd8E\xbc\xc7d\xf5\xb0\xd4k\xc0}\xcd\ +M\xe216\x88\xb8|\xeeA\x84?\x1f \x22w\x07\ +\x22\x1c\xf3\x22\x84P5\xd7m\xb0\xddp\x82w\xde\x88\ +\xae\xe7,\xf5\x9e\xa1\x81!\xa7`.\x1e\x8cjf\xa0\ +E\xe49y2\xa5\xd9Pj\x09c\xc6Vb\x98C\ +8\x13\x0f\xd2\x01f6\xddI\x0f\x18\xfd\x87A#\xd3\ +\x97$\x9142\x90d\xc1Lg\x14y\x08\xe66\xc5\ +\xa4\x04\xe69ed2\x99Jf\x90\xd9d\x1ey\x8e\ +,%+\xc8\x1a\xb2\x9el\x22[\xc8v\xb2\x8b\xec&\ +\x1f\x91\xcf\xc8\x17\xe4\x189E*\xc8Y\xf2\x13\xa9$\ +W\xc9u\xe8\xecl(G\xca\x9d\xea@u\xa5\xfc\xa8\ +\xdeT\x18\x15C%Pi\xd4`*\x87\x1aE\xe5S\ +E\x94\x962S\x93\xa9\xc7\xa9\xd9\xd4\x02j)\xb5\x92\ +ZO\xbdA\xbdM\xed\xa6>\xa1\x0eQ_R\xa7\xa9\ +\x0b\xd4o\xd4_\x02\xa1@*\xf0\x10t\x16\xf8\x0b\x82\ +\x051\x82d\xc1 A\x9e\xe0AA\x91`\x82`\x92\ +`\xba\xe0\x19\xc1b\xc1*\xc1\xab\x82m\x82\xdd\x82\xcf\ +\x04\xc7\x04\x15\x82\x9f\x04W\x84D\xe8 \xf4\x12v\x13\ +\x06\x0ac\x84ra\x96p\xb4\xb0Ph\x10>*\x9c\ +%\x5c$\x5c%\xdc$\xdc)\xdc/<\x22\xac\x10^\ +\x14\xfe)\x92\x88\xdcE2Q\xa0\xa8\xaf(]4L\ +\xa4\x14M\x10=*\x9a#Z*Z'\xda&\xda+\ +:\x22:-\xaa\x14\xdd\x14;\x8a\xbd\xc5\xbd\xc5q\xe2\ +\x0c\xf1Hq\x91\xb8L\xb7;kw\xdd\xde\xd5>\xc0>\xde>\xcf~\x9c\ +\xfdT\xfb\xc5\xf6\x9b\xec\xf7\xd9\x7fm\x7f\xd9\xc1\xc1\xc1\ +\xc7!\xd6a\xa8\x83\xdaa\x8a\xc3b\x87\xd7\x1d>v\ +8\xed\xf0\xa7\xd4M\xdaK*\x97\x8e\x91\x9a\xa5\xcfH\ +_\x91~ \xfdRz\xd9\xd1\xd1\xd1\xdf1\xc9q\xb4\ +\xa3\xc9\xf1\x19\xc7\xf5\x8e\x1f:~\xeb\xf8\x87\x93\xbbS\ +\x90S\x86\x93\xca\xe91\xa7eN\xdb\x9c\x0e;]r\ +\xb6s\xf6sNv~\xc8y\x92\xf3\x22\xe77\x9d?\ +w\xbe\xe8b\xe7\xe2\xef\x22wQ\xb8<\xea\xb2\xcc\xe5\ +m\x97\x13.W\x5c\xdd]C]\xb3\x5cK\x5c\xe7\xb8\ +np\xfd\xc4\xf5\xbc\x9b\x8d\x9b\xbf[\x9a\x9b\xcam\xba\ +\xdbj\xb7\x0f\xdd\xce\xb8\x0b\xdd\xbb\xbb\xcb\xdd\x95\xee\x8f\ +\xbb\xafq\xdf\xe7~\xd6C\xe2\x11\xe0\x91\xe11\xcec\ +\xb6\xc7k\x1e\x07=*=\xdd<#<\x87{\x96{\ +.\xf3|\xd7\xb3\xc2K\xe8\xe5\xef\x95\xe1\xa5\xf1\x9a\xeb\ +\xb5\xc5\xeb\xb8\xd7_\xed:\xb7KnG\xb7{\xaa\xdd\ +\xa6v\x87\xdb]k\xdf\xa9}R{\xba\xfd\xac\xf6\x9b\ +\xdb\x1fk\xffW\x07Y\x87\xb4\x0e\xe3;\xcc\xef\xb0\xbd\ +\xc37\x1dE\x1d{u\x1c\xda\xb1\xac\xe3\x8b\x1d\xf7u\ +\xbc\xd8\xc9\xa3S\xdfN\xcaN\xb3:m\xe9\xf4\x95\xb7\ +\xc0\xbb\x97w\x8e\xf7\xc3\xde\xab\xbd\x0fx_\xe9\xdc\xa5\ +\xf3\x80\xce\xfa\xceK:\x7f\xd8\xf9b\x17\xaf.I]\ +\xc6uY\xd8\xe5\xbd.\x17\xba\xbawM\xe8\xaa\xee\xba\ +\xb0\xeb\xfb]\x7f\x94y\xca\x92e\x1a\xd9b\xd9^Y\ +e7\xefn\xe9\xdd\xcc\xddVv;\xd8\xed\xbaO\x80\ +\xcf0\x9fi>\x9b}\xbe\xe9n\xdf=\xa6{a\xf7\ +\x85\xdd\xf7t\xaf\xf4\xed\xea\x9b\xe9;\xd9w\xa3\xefW\ +~v~1~\xc5~\xcf\xfb\xed\xf7\xbb\xe6\x1f\xe0?\ +\xc2\x7f\xa6\xffv\xff\xf3\x01\xed\x032\x02&\x05l\x0c\ +\xf8\xba\x87c\x8f\xc4\x1e\x13z\xac\xeaq\xb4\xa7\xa4g\ +L\xcf\xf1=_\xe8\xf9E/A\xaf\xc8^\xc5\xbd\x96\ +\xf5\xfa\xbc\xb7\xa0wTou\xef\x17z\x1f\xea#\xee\ +\x13\xdbG\xdbgU\x9f\x13\x81\xd2\xc0\xe4\xc0\xd2\xc0\x8d\ +\x81\xa7\x83\xbc\x82\x06\x07M\x0b\xda\x1et)\xd87x\ +t\xf0\xfc\xe0\xfd\xc17C\x22C4!kBN\x85\ +\xba\x85\x0e\x0c\x9d\x16\xba3\xf4\xb7\xb0^a\xca\xb0e\ +aG\xc3\x1d\xc3\xfb\x87?\x16\xbe#\xfc\xd7\x88\xde\x11\ +t\xc4\x8b\x11'#\xdd#3#gF\xee\x89\xfc;\ +*:\xca\x10\xb5)\xeaB\xb4ot~\xf4\xf2\xe8\x13\ +1\x1e1\xd91sb>\x8e\x15\xc7\xa6\xc4>\x16\xbb\ ++\xf6\xcf\xb8\xa88S\xdc\x96\xb8_\xfa\x06\xf6\x1d\xdf\ +wC\xdf\xf3\xfd\x02\xfa\xd1\xfd\xd6\xf4;\x13\xef\x13\xaf\ +\x88_\x19_\x91 K\xc8Ox)\xa1\x22\xb1[\xa2\ +\x22qU\xe2\xf7I\xdd\x93TIk\x93\xce%\xf7L\ +\x1e\x97\xfcj\xf2\xa5\x94\x90\x14C\xca\xd6\x94k\xf28\ +\xf9#\xf2\x0fR\x85\xa9\x03Rg\xa5\x1eLsK\x1b\ +\x96\xb64\xed\xdb\xfe>\xfd\x8b\xfao\xec_9 r\ +\xc0\xc3\x03>H\x17\xa7\x0fJ\x9f\x9f~\x22\xa3s\x86\ +2c}F\xe5\xc0\xe8\x81\x8f\x0c\xdc;H:(w\ +\xd0\xd2A\xdf\x0f\xee5\xd80xg\xa6 s`\xe6\ +\xb3\x99_\x0f\xf1\x1b\xa2\x1d\xb2=\x8bded=\x9b\ +\xf5Mv@\xf6\x84\xecw\x86J\x86f\x0f]6\xf4\ +\x87\x9c\xd0\x9c\xc99\xfbs\xdds\xc7\xe6n\xc8\xbd\x9a\ +\x97\x9277\xef\xd4\xb0\x1e\xc3\xcc\xc3\xf6\x0cw\x1e>\ +f\xf8\xfa\xe1\xd7F\xa4\x8eX0\xa2bd\xf0\xc8G\ +F~6\xaa\xe3(\xf5\xa8\x1d\xa3mF\x0f\x1f\xbdv\ +\xf4\x95\x07\xd2\x1ex\xee\x81\xb3c\x22\xc7\xcc\x18s\xfc\ +\xc1\x80\x07\xcb\x1f\xfc\xe4\xa1\x8e\x0fi\x1ezw\xac\xf3\ +X\xc5\xd87\xf3\xc5\xf9#\xf27\xe4\xdfPd)V\ +)\xae\x14d\x14,/\xa8T\xca\x95\xcf+\x7fR%\ +\xa9\x16\xaa.\xd0\xf1\xf4\x02\xfa\x5ca|\xe1\x82\xc2\xf3\ +E\xf1E\xcf\x16](N,^T|Q-W/\ +U\xff:.}\xdc\x8aq\xd7\xc6g\x8d\x7fe|\x95\ +f\x84fs\x89mI~\xc9\xdbZ7\xedx\xed^\ +]\x17]\xb9\xee\x90\xbe\xb7~\x86\xbebB\xdc\x84\xe7\ +&T\x1a\x06\x19\xd6\x1a)\xe3\x83\xc6\x1d&\x0f\x18L\ +\x1d0\xf70?a>]\x9aP\xba\xac\xf4\x8f\xb2\xe1\ +eo\x96\xbb\x96k\xcb\x0fL\xec5\xf1\xa9\x89\xe7&\ +\xf5\x9f\xf4\xf2\xc3\xa2\x87\x95\x0f\xef\x99\xdcm\xf2\xd4\xc9\ +\xa7\x1fI~d\xe5\xa3\xd4\xa3\x05\x8f\xeey\xac\xfbc\ +\xd3\x1f;;e\xc0\x94uS\xed\xa7\x8e\x9f\xfa\x9fi\ +!\xd3\x16L\xfb\xfd\xf1\x11\x8f\xef\x9c\xdey\xfa\x94\xe9\ +g\x9e\x18\xf0\xc4\xc6\x19N3\x0c3N\xcc\xec;s\ +\xc5\x93\xa2'\xd5O\x1e|*\xfc\xa9%O\xdd\x9c\xa5\ +\x9a\xf5\xe9\xec\x90\xd9\x8bf\xdf\x98\xa3\x9c\xf3\xe9\xd3\xa1\ +O/~\xba\xea\x99\xc2g\x0e\xce\x8d\x9a\xfb\xe2<\xc9\ +<\xed\xbc\xe3\xf3\x13\xe7\xaf[\xe0\xba`\xd2\x823\xcf\ +f>\xbbm\xa1l\xe1\xac\x85\xbf?7\xf6\xb9O\x16\ +E,Z\xf1\xbc\xfd\xf3\xe6\xe7+\x16\x0f^\xbcc\x89\ +\xef\x92yKn,-^zlY\xca\xb2\xcd\xcb\xbd\ +\x97?\xb5\xfc\xda\x0b\xaa\x17\x0e\xbf\x98\xf4\xe2\xa6\x15\x9d\ +W\xcc^\xf1\xd7K\xea\x97N\xae\x1c\xb0r\xdb*\xff\ +U\x8bVKV\x97\xae\xfea\xcd\xf05\xfb_\x8ey\ +y\xfd\xda\x8ekg\xaf\xfd\xfb\x15\xed+\x15\xebr\xd6\ +\xed]\x1f\xbd~\xfd\x06\xef\x0ds7\x0a6\x9a7^\ +xu\xcc\xab_\xbc\x96\xfa\xda\x8eM\x81\x9bVn\xf6\ +\xda<\xfbu\xf2\xba\xf9\xf5\x1f\xdf\xc8\x7f\xe3\xf8\x96A\ +[\xf6\xbc\x19\xf3\xe6\xa6\xb7\xfc\xdeZ\xbe\xd5}\xeb\xac\ +m\xd4\xb6\x89\xdb*\xb7\x17o\xaf\xd81j\xc7\xa1\xb7\ +\x07\xbe\xbdgg\xdf\x9d[\xdf\x09z\xe7\x95]\xddv\ +-{\xd7\xf3\xdd\xb9\xef\xd9\xbf7\xfd\xbd\xaa\xf7'\xbd\ +\x7f\xe5\x03\xfd\x07\x17w\x17\xed>\xb3g\xec\x9eS\x1f\ +\x8e\xfc\xf0\xe8\xde\xa1{\x0f\xee\x1b\xb4\xef\xe3\x8f\xfa\x7f\ +\xf4\xe1\xfe\xe4\xfd\xef\x7f\x1c\xff\xf1\xaeO\xe2>y\xfb\ +\xd3\x98O\xb7\x7f\x16\xf5\xd9\xb6\x03\x91\x07\xb6\xfe'\xf2\ +?[\x0fF\x1d\xdc\xf6y\xf4\xe7;\xbe\x88\xfdb\xe7\ +\xa1~\x87\xde;\x9cxx\xf7\x91\xd4#\x1f\x1d\xcd8\ +\xfa\xd9\xb1!\xc7\x0e\x1d\x1fv\xfc\xe4\x891'*N\ +\xaaN\x9e\xffR\xf3\xe5\xaf_\x95~u\xfd\xd4\x94\xaf\ +\xc5_\xcf\xfa\xc6\xe5\x9bE\xdfz\x7f\xbb\xea\xbb\x9e\xdf\ +m\xae\x88\xaax\xf7t\xea\xe9\x03\xdf\xe7~\x7f\xea\x8c\ +\xf2\xccO\xff5\xfe\xf7\xc6\xd9\xe9?8\xfe\xb0\xe8\x5c\ +\xd7s\xeb\xcf\x87\x9d\xdfu\xa1\xff\x85/~|\xe0\xc7\ +\xb3?\xe9\x7f\xba~q\xc6\xcf\xae?/\xbf\xd4\xe3\xd2\ +[\xbf$\xfdr\xa0rd\xe5\xd9_\x0d\xbfV\xfd6\ +\xe7r\x87\xcb\xaf\xfc\x1e\xf1\xfb\x9e+\xd9W\xbe\xbdZ\ +r\xf5\xfa\xb5Y\x7ft\xf8c\xdd\x9f1\x7f\xee\xffk\ +\xc4_\xe7\xae\x97\xdd\xb0\xb9\xb1\xf8\xef\x9e\x7f\xef\xbc9\ +\xe8\xe6\xd7U%5+\x93<<<<<<<<\ +<<<<<<<<<<<<<<<<\ +<<<<<\xffbl\x81\x91@[\xeb\xf1oe\ +\x05\x80{e^\x04\xf0Z\xb4\xb5>\xff&\xb0\xde\xb3\ +\xf7+}\x06t\x01ZBVG`\x180\x13\xd8\x01\ +\x1c\x03~\x00\xaeU\x83\xee\xe3\xc0\xdb\xc0\x93\xc0p\x00\ +\xd3\xb4\x84.\xf7\x0bX\xdf\xb1\xde\xb3\xaf\xc1\x8f@\x0a\ +\xc0E\xfe\x9d\x802`?p\x13hx\x97Z\xe3`\ +\x9aO\x80r\xa03\xc0\x85N\xf7#%\xc0_\x80\xb5\ +\xdc7\x00\x1dp\xaf\xf9\xc5\x00\xeb\x80\xeb\xc0\xdd\xda\xbc\ +10\xaf\x0d@\x1c\xc0e\xd9\xef\x17\xfa\x02\xe7\x00v\ +\x99\xd7\x02\xf6@S\xf3\xf0\x06\xd0F\x5c\xd9\xbc1^\ +\x05Z\xaa\x9dlK:\x00\x1f\x01\xec\xb2\x1e\x02|\x80\ +\xdb\xa5\x93\x00\xd8F\xfc\x0e\xb4\xb4\xed\xad\x5c\x01&\x01\ +6@k\xd9\xa75@[.\x01\xd8e\xbd\x04\x0c\x00\ +\x1a\x8a\xdf\x1f\xf8\x12h-\xbb\xd7\xe7\x14\x90\x0e\xb4\xb6\ +\x9dZ\x9a\x02\xe0\x0f\xc0Z\xce\xbf\x01\xecK\xad{\x1e\ +\x05\xc0\x13@[\xd9\xbd>8fB\x9d\xda\xdan\x5c\ +\x12\x09|\x0f\xb0\xcb\xf9\x1a\x80\xed\xfcV\xa0\xadl\xdd\ +\x18\xdb\x01\x17\xa0\xad\xed\xc6%\x9e\xc0\xfb\x00\xbb\x9c\x7f\ +\x02md\xe2;\x82\xedQo\xa0\xad\xed\xc6%\x22`\ +>\xd0\xd6\xb6m*\x97\x814\xa0\xad\xed\xc6%\xa9\xc0\ +\xfd\x5c\xef\xeb\x83s\xea\xff\x97k\x80c\x1c,\x0f\x17\ +v9\x0b\xe0\xbd\x84c\x96^\x80#\x80\xdfB\xf0\x07\ +\xce\x00\x5c\xc8\xb0\x82:\xa3\xeemm\xbf\xe6\x80\xe3N\ +.l_\x01\xe4\x02\xb7\x1b\xa3`\xdb\xcd\x85\xdd\xd9\xa0\ +\xee\x8d\x8d\x9d\xefwp\xfc\x83\xf3\x9c\xe6\xda`\x0e`\ +\x07\xdcI^K\xd8\x1f\xc12D\x00\xada3\xae\xc0\ +\xf9}\xfd\xf5\x88\xbb\x05\xe7\x0c\xe3\x80\xa6\xcal)\xfb\ +#X\x96\x7f\xca\x1a\x1e~\xc7\xe6\x08\xd0\xdc2\xdf\xed\ +\x1a^K\xda\x1f\xc1\xb5\x14\xecoZ\xcan\x5c\x80\xf3\ +\xdb\xb7\x00.\xca\x8bm~(\xd0T\xd9-m\x7f\xe4\ +\x0d\x80\xf5\xdd\xa2\xfb\x8e\xc9@s\xcb\xc8^\xeb\xbf\x0a\ +<\x084Evk\xd8\x1f\xc1u\x94\x96\xb6\xe3\xbd\xd0\ +\x0f\xc0\xb5\xff\xe6\x96\x0f\xc7\x97\x95\x00\xdbo\x1e\x80\xf3\ +\xb8\xdb\xc9o-\xfb\xe3\xb3\x84h\xa0\xb5\xec\xda\x14\xb0\ +\xcd\xc7\xf6\xa2\xb9e\xc3<\xc4\x80\x1fp\x14`\x87\xed\ +\x01\xda\x01\x8d\xe9\xd0Z\xf6G\xbe\x02\xee\xe6\xd9FK\ +\xf34\xc0E\xb9\x9e\x02\xacy\xe2\xbc\xaa\xfe\xf3\x98\xff\ +\x02\x8d\xd5\xbd\xd6\xb4?2\x15h=\x0b7\x0e\xae\x19\ +\xe2\x9a\x09\x17eJ\x02\xea\xe7\x8f\xcff\xd8\xed\x1a\xae\ +c\xa8T*U\xfdx\xadm\x7f|\xae\x81u\xa4U\ +\x8c|\x1bJ\x01.\xca\x83}-\xb6=\x0d\xc9\xc0\xf5\ +\xa3\x8b\x00;\xfeR\x00\x9f\xf7X\xe3\xb4\xb6\xfd\x91\x09\ +@\xebY\xbaa\xb8Z\xcb\xff\x1a\xb8\x9d\x1c\xfc`\xf9\ +A\x80\x9d\xe6c\x00\xdf\x93\xc0p|\xce\x19\xd0D\xb8\ +z\xe6\xb6\x05h\x1d+7\x0eWe\xd9\x0b\xdcI\x16\ +\xaeC\xac\x06\xd8\xe9\xce\x03\x09\xc0\xdd\xe8\xfc\x1e\xc0\x85\ +\xce'\x80{\xb7\x1c7`\xbb\xc1EY\xde\x04\x9a*\ +S\x0f\xb0\xdfOA\xb7F\xa3\xd145\xfdf\x80\x0b\ +\x9d\xb1\xec\xf7f5\xee\xf8\x0e\xe0\xa2,\xf8\xee\xc4\xdd\ +\xc8\xc5:\x8fu\x9f\x9d\xc7*\xa0)ku8\x96\xe5\ +B\xe7o\x81{\xb7\x1c7\xbc\x03pQ\x96o\x80\xbb\ +\x95\x8dm?\xf6\x01\xec|\xb0\x8f\xc0\xbe\xe2v\xe9\xb8\ +j3\xf1}\xc7{6\x1cG\xe0\xbb\x03\x5c\x94\x05\xd7\ +\xda\xd9\xe3\x99\xa6\x82\xef\xf0,\x07\xd8y\xe1X\x09\xc7\ +L\x0d\xc5\xc71\x16\x17\xeb\xe2\xc8t\xa0\xf9\x16l\x1e\ +]\x01.\xd6\x1d\x90\xe6\xbc;Z\x08\xb0\x9fq\xa2N\ +f\xa0~\xbcD\x80\x0b]Q\xd6\xfd\xf2\x8e\xefz\x80\ +\x8b2\xcd\x06\x9a\xa3\x07\xbe;\x8asdv\x9e8\x87\ +v\x00\xacqp\x8e\xcd\x85\xae\xf8\xeeq\xf3-\xc7\x0d\ +8\xf6\xfe\x0dhn\x99\xf0}\xa1{i\x83\xd8\xe0\x1a\ +Q\xfd\xfe\x15\xd7\x92|\x01\xcc\xfb4\xd0\x5c=\x7f\x01\ +\xac\xf3\x8e\xfb\x85\x87\x80\xe6\x96\x0b)\x06\x9a\xab\x0b\xb6\ +\xf1\x0b\x81\xfa6{\x16\xe0B\xc7\x11\x00\x176\xe3\x1a\ +\xeb~\x98\xe6\x80\xf5\x93\xdd^4\x07\xac\x13\xec\xe7\xff\ +\xf7\xb2\x8f\xa0>\xb8\xee\xc1\x85n-\x01\x8e\xbd\xeb\xaf\ +\x11\xdc\x0bk\x00\xaet\x0a\x03\xb8X\x1bG\x0e\x00\xf7\ +\xfb;\xd3\xf8\x9c\x1a\xdf\xd3inY\xef\xe6\xd9\xfb\x9d\ +\xe0b\x8d\x10\xfb\xf5\xfb\xad\xcdo\x8c\x10\xa0\xb9k\xd2\ +\xd8V\x18\x80\xe6\xea\x82c\xd0\xe6\xb6;8\xb6\x08\x06\ +\xb8\xb0Mk\x91\x01p1/x\x0e\xb8\x97\xf7\x0e\xf0\ +\x99\xdcb\xa0\xb9\xf2\xb1\x0c\xff\xd4=\x02c\x00.\xae\ +\x01\xeeo\x1c\x0b4\xf6|\x80\x0d\x8e1\xf3\x81\xfak\ +C\xf7j{,Ck\xd8\xaa\xa5\x18\x05p5?\xc6\ +gN8\xef\xc1\xfd\xa58\xd7\xf2\xae\x06\xdd\xe8\x87\xe3\ +/\x1cgr!\x0buF\xdd\xdb\xda~\x5c\x90\x07p\ +\xb9\x9f\xb1\xa5A\xdb\xe3~\xe3\xb6\xb6\x1b\x97d\x03\x5c\ +\xbd\x07\xdd\x1a<\x03\xdc\xe9\x9d\x97\x7f\x1a\xe1\x00\x17\xf3\ +\xff\x96\x82\xbd\x8f\x19\xc1\xbd;\xb8\x87\xa7\xad\xed\xc6%\ +\x1e\xc0\xbb@[\xd9\xb81\xd0\xd6\xf8\xdc`\x13\xc0\xf6\ +\xc75)|\x97\xbb\xad\xed\xc6%B\x00\xd7:\xdb\xca\ +\xd6\xf5a\xb75\xf8~\xe7\xc3\x00\xbe\x7fm\x0d\xc7\xbd\ +\x9c\xb8\xa7\xb3\xad\xed\xc658Gh\x8b\xf7F\xac\xe0\ +;\x17\x83\x80\x86t\xc31?\x8e\xb7\xd8\xf1\x17\x01M\ +\x19\x03\xff\x93h\x8b\xfd\xef(\xab)\xfb\xdfq]\x1d\ +\xdf;g\xa7\xdd\x07\xe0^\xff\xd6\xb2Ok\x81k+\ +\xf8\xcd\x88\x96\xb6=~\xdb\x03\xe7\x0cM\xd5\x0b\xdf\xf3\ +\xac\xaf\x17\xce\x07\xf1\x9b\x17-i\x8f\xb6\x02\xc7H+\ +\x01\xf6\xfe\xf9\xe6\x82\xcf\x0a\xf1\xdd\x88\xe6\xec#\xc2\xb5\ +(\xf6<\x12\xc7J\x5c\xae\x11\xdeo\xe0\xb8\x0f\xbfm\ +\x83c\xa5{\x99\xbba\x1a|\xcfJ\x0bx\x01\x5c\xe8\ +\x94\x0c\xe07\x8e\xd8rp\xce\xfd\xff\xfe\xed/W\x00\ +\xfbjl\xb3\xf1y.~\x93\xe9$\x80k<\x17\x00\ +t\xe3{(\x1b\x01\x8c3\x10\xc04-\xa1\x0b\xae\xaf\ +\xe3\xb7\xbe\xd8\xd7\x80\xff\x06^\xeb\x82\xf5\x9d\xfd\xed\xbb\ +\xb6\xd6\xe7\xdf\x0a\xd6\xfb\xff\xf7\xb6\x87\x87\x87\x87\x87\x87\ +\x87\x87\x87\x87\x87\x87\x87\x87\x87\x87\x87\x87\x87\x87\x87\x87\ +\x87\x87\x87\x87\x87\x87\x87\x87\xe7\x1f\x81\xf0%\x8a\x08\xe1\ +\x97\x82?\xf2\x92\x80\x88\x187!\xf9/\x09k\xdd\x96\ +\xa8\xff\x03;\xbc\xca\x99\ +\x00\x00\x08'\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a \x0a icon / outl\ +iner / slice / n\ +ot active - save\ +d\x0a Created with\ + Sketch.\x0a\ + \x0a \x0a \ + \x0a \ + \x0a \ + \x0a \ + \ +\x0a \ + \x0a <\ +rect id=\x22Rectang\ +le-22-Copy-2\x22 tr\ +ansform=\x22transla\ +te(7.409295, 7.7\ +12904) rotate(-4\ +5.000000) transl\ +ate(-7.409295, -\ +7.712904) \x22 x=\x226\ +.40929495\x22 y=\x22-1\ +.28709556\x22 width\ +=\x222\x22 height=\x2218\x22\ +>\x0a \ + \x0a \x0a<\ +/svg>\x0a\ +\x00\x00\x05\x1d\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a \x0a Artboard\x0a \ +Created with Ske\ +tch.\x0a \ +\x0a\ + \x0a \ + \x0a \ + \x0a \ +\x0a\x0a\ +\x00\x00\x05\x09\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a \x0a Artboard\x0a \ +Created with Ske\ +tch.\x0a \ +\ +\x0a \x0a \ + \x0a \ + \x0a \ +\x0a\x0a\ +\x00\x00\x07^\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a \x0a icon / outlin\ +er / visible / m\ +ixed state - hov\ +er\x0a <\ +desc>Created wit\ +h Sketch.\ +\x0a \x0a \ + \x0a \ + \x0a \ + \ +\x0a \ + \x0a\ + \ + \ +\x0a \ + \x0a \ + \x0a \ + \x0a\ + \x0a \ + \x0a\x0a\ +\x00\x001/\ +\x00\ +\x01\x04 x\x9c\xed=\x07@SW\xd7\xf7%\xec\xa5\ +lpF\x147#\xcc$\xa8\x88\xb8P\xa9\x0a\x8a\xa3\ +\xfaIH\xc2\xd0\x90`\x12\xdc\xab\xcb~\xd5\xd6\x81\xd6\ +]m\xd5\xda\xaa\xd5\xd6Zg\x9d\xe0.8\xab\xb6\xda\ +\xe1\xde\x0a8\x90\x99\xfc\xe7\xbc\xe4a\x8c\x8c\xa0Q\xfb\ +\xf7\xcb\x0d\xe7\xbd;\xce=\xe7\xdcs\xef;\xf7\xdc\xfb\ +\x06\xb1\xb1\xa4-!\xc4\x86x\x115\xb1\x80\x18E\xb4\ +\x076}J\x84\x03\xa5\x17g\xd1q\xc0\xa3\xfc)\xb6\ +.\x1f\x90)+]\x9c\x05\x07g\x86\xce\x90\x06\x94\x8b\ +\x1e\x8e\xbb.\x8e\xb5=\xf4hz2\xf8s\x08\xd5\x80\ +Xj\xe3T\x18\xd5\xb02\xde\x89j\xa4G\xa7\xb5\x1e\ +/.\x1e\x89\x0f\xc4\xbaSAt\xdc\x0d\xe2\xa9T\xdc\ +3|\xd6.\xa7\xe7\x0d\xc3x\ +\x83_!\xbf'\xea\x05\xf4\xa4\xfd\xd9\x95O#\xa4U\ +}\xe6\x1c%\x96'I8\xfdR\xe5*\xb92U\x9e\ +\xc1\x89\x8e\xe6\x04\x05r\xc39\xad\x07\xa5\xc9\xc4\xf2\xb1\ +\xca6\x04\x93\x82\xc0\x10\xf8\xe3p\xb9\x82 \x9e\x80\x1b\ +F:D\x8e\xcb\x10\x8aFIT\x9c$IJ\x9a\xac\ +\xa3O\xfe\xcf{}8i\xe2\x8e>\x83Bc\x03c\ +3\xa2%\xa9i='($\xf1\x13\xde\x19 \x9a0\ +J\xc4\x17\xfbDv\xb2\xeb0N0.=#]\xa2\ +\x12r\xc6\xa5KeJ\xc1\xb8\x8e>B\xe4/\x808\ +f\x07\xf8ph\x14\xd5\xa8\x8e>Z\xc1\x06\xc7\xf6\xe3\ +D\xcb\x15\x12N\xa8\x7f\x98\x9f\x88\x1b\xcc\xe3\x84\xf3\xfd\ +\xb9\xa1|^PH{\x144, \x90\x1f\xc0\x0d\xf1\ +\x0b\xe4\x0a\x02\xf9\x82@.G\x17|:\xd9\xc1\xb1\x83\ +B\x9c,\x88\xeb\xda]\xc7\x0eR\x1d}RU\xaa\x0c\ +A@\xc0\xd8\xb1c\xfd\xc7\x06\xfb\xcb\x15)\x01\x5c>\ +\x9f\x1f\x10\x18\x14\x10\x14\xe4\x07\x18~\xca\xf12\x95p\ +\x9c\x9fL\xd9\x5cK\x84\xa1\xd3U\xa2\x14)\xd22T\ +ir\x19\x07\xd3\xc2$y\xa6\xaa\xa3\x8f\x8f\x1dG/\ +\xe8\xda\x95\x9eQ\xc9H\xa6\xf4\xa7\xdb\xe8/\x92\xa7\x07\ +\x8c\x13f\x04p\xfd\x03\x03\xaa\xaa$\x16U\xd6\xc9\xc8\ +THi\xd1\xc4\xa2\x00\x89T\x92.\x91\xa9\x94P\x8f\ +[e\xbd\x0c\xa6\xef\xaafYY\x5c-c\x9066\ +\xb6fy\xd3\xd3\xab\xac\xa9Tu\x1b\xa3\xaa\xb9\xa6r\ +\xc0\xf8\x0cI@\x9cD)\xcfT\x88$\xdd\xc6@S\ +\x9e\xe9\x15U\x0b\xdc\x05\xd1\x0a\x89P%\xe9\x0a\xd0\x09\ +G\x9b_`\x90_`\xf0\x00n\xa8 0L\x10\x14\ +\xea\x17\xc8\x13\x04\x06v\x080\xc04\xa0\x11+\x17\xa7\ +%\x8f\xd7\xa3\x01\x83\x22d\x003b\xfd\x02\xc3+i\ +\xe8a\x1a\xd2\x801(\x16\xaa\x84FQ\xd1\xc7\xad\xaa\ +=r\xc5\x00\xb9\x5c\xda\xa9\xd6\x0bL\xafa\xba*z\ +\xd4\xc4\x22A\xb2\x5c\x91.TuJK\x17\xa6H\x02\ +Ti\xc9\xc9\x1d\x02\x9e\xe5\xea\xa1Vv\xb4 Z.\ +\x95+\xa0\x95\x92N\xc1\x1d\x02\xaa\xca\xae\xb2VLt\ +t?\x85<9M*\xe9\xa4\x8c\xeb\xd1\x85\x13\xd3-\ +:\x8c\xcb\x0f\x0b\xf3\x0b\xf2\xe7\xea\x93\xd1\xc3\xab\x92N\ +W\xb9(\x13Gl\x94L$QB\x93\x94\x9d\x9e\x1b\ +9\xf4\xb5\xd4E\x98\xf2|.S M\xeb\xa4\xb5\x08\ +b\xb9(M\xfcll\x0b\x84\x22\xa1D\x12\x92\x9c\xec\ +\x07\x22\x05\xfaq\xb9\x92p\xbf$!\x1c$a\x92p\ +a\xa8H\x1c\xc4\xe3\x86t\x08\xd0\x91\xa8\x8e4(\xda\ +_\x0cd\x93\x93C$a\xc1\xbc0?Ir\xb0\xc4\ +\x8f+\x09\x91\xf8%\x85\x8bx~a\xc2\x90PIx\ +pRP\xb8H\x5c51m\xee\xf3\xe2\xeb+\xa7\xa6\ +\xc6w\xa0/4A\x8cL\xa9\x12BqLWZ\x9e\ +4\x90\x87\x1f\x1a,\x11\xf3\xf9\xc9~ S\xb2_R\ +(\xc8#\x0c\x0a\x0c\xf3\x13\x06\x07\x07qy\x81a\x10\ +\x0f\xa1\x87\xc9\xf3\xd5_ \xcdp\x87\xb2\xaa\xb5\x18\x1e\ +\x12\x1c\xce\x0b\xe2\x89Q\x8b!Z-\xf2D!I~\ +\xe2\xb0d\x89(\x5c\x98\xc4\x0b\x16\x051\x8c\xf4\x88\xbd\ +\xc0\xa8\xaf\x22\x0d\xcc\xbeP\xaa\x87S\xa9[Qp\x90\ +$\x9c\xcf\xf3K\x16's\xfdB\xf9!b?~h\ +2\xdfO\x18\x12\xc6\x0d\xe7\x86'\x85\x09\x85\xe1\x0c\x8b\ +*\xc8\xbc\xc0\xaag\x1a\xeaq|\x15\x83(^2\xba\ +\xba\x9e\xa6\x0dt\x86P\xa1\x94\xa0\xf9\xe9\xe8\xc3\xd8\x1f\ +\x9f\x17*`\x1d\xda\x8c\xc1\x08C\xd3\xdeID[\x18\ +\xe8\xfe\xe7r\xab\xaf\x96\xf6bw\x1a\xa7\x82\x17\xaaW\ +\xcfcl\xaaDV\x93e\xd4\xc3\xaa\x9e\x88R\x9e\xac\ +\x1a+TH\xa2R@\xd3\xc6\x98\xa5\xaa\xaa\xbd\xa0\xef\ +Z.\xb9W\xe8\x08\xa5p\xcc\xabuCprxX\ +\x92\x04\xac6O,\x0a\xf2\x13\xf2B\xa0\x07P\x87\xe1\ +\xa1\xdc\xe0\xe0\xf0 a\x08\x97+~\xb5n\x80>\xe0\ +\x0aB\xb8o\xbf\x1b\x9e\x91\x17\xa5\x0ae)\x12q\xa7\ +\x00\xa6\x22\x93\xf1\xff\xa9\xe7\x8c\xb3\x87/\xd7sUN\ +\xe8\xff\x82\x9e\xd3\xe6>o\x13\x19;k`C\xb5\xa8\ +z\xfe\xac\xd6Y\x0e\xd0y\xcb\xe0\xa8\x07Tz\xeaU\ +\x09l\xfa`fbfbfbfbfbfb\ +fbfbfbfbfbfbfbfb\ +fbfbfbfbfbfbfbfb\ +fbfbfbfbfbfbfbfb\ +fbfbfbfbfbfbfbfb\ +fbfbfbfbfbfbfbfb\ +b&v\xcf\xde}\x95\xc8\xc4\x1d}\xc6\xfaDv\x22\ +\x8d\xa8\xa1\x84\xdd\xd0\xb7G\xe5\x99E\xe8Wzy]\ +bb-|\xe9\xf7o\xeb\x1f\x1e\xeey]\xb5E\xf6\ +\xe4\xe2\x1e\xfe\xfc}\xb7\xc7\x0f\xa3\xcb\x04t\xd9u,\ +g\xde`&\xf6\x19\x8a4\x99\xaao\xa6*#S\x05\ +I|\x95\x98\xf4S\xaa\xe2\x93\xe4r)\x8d\x11#S\ +I$\xb2\xcct&\x8e\xe7h\xa9\x02\xd3\xf5\xe8\xba\xf1\ +i\xe3\x10\xa3K\x9a\x0a\xeb<\xa3)Q\xbc#L\x97\ +\x0c\xe86x@%3m\x85~\x0a\xb9<9^\xa2\ +\xca\xcc\xe8\x9b4R\x04\xd9\x0e\xa4\x1fQ\x109\xfc\x92\ +\x09\x87\xc4\x13\x09Q\x91L\x92AW\xb1\xcb\xa8\xc4f\ +\xc8t\x91\xaad:\x89\x1c\x922\xd3\xa4\xaa4\x19M\ +\x12\xd2\xb64vt\xec\x90\xdeZmD >\xcb\xef\ +\xb9\x16\xbb\xe8\xb5\xb8/\xfdF\x82R\xfb\xae3\xb4+\ +C%c\x1a\x01\x8dLRT&\xe2R\x94\xb1\xcfJ\ +\x14\xb2\xe8g\x09\x99\xeaY\xa2O\x92TY\x99x'\ +E5\xa62\xd1-]\xda\xb52\x01z|F\xba\x8b\ +hT\x8aN\x11Z\x01I\x5c\x8f.\xd1D\xfbj9\ +\x89\x13s8byfRg\xf9%\xc2\x84\x1e\x0a\xd9\ +\x0by]\xa4/\xe2uQ\x88\x07\x0c\x94\xa9\xba7\x8f\ +\x93\xaa\x88^\xe8\x22\x15s\xaa\xca\x8fSJUt~\ +\xbfq\xd2\xceq\x95\xd9vc$\x22\x95\x5c\xd1U\xa8\ +\x12V\x8e\x8a~)\xfd\x94\xcc\xa8\xc0\xb8\xee\x1cM+\ +A\x92\xac\xaa\x8a\xfc\x00yF\x95l\xe3ERm~\ +?\x85\xa8\xf3\x90\xca\xec\xfa\x22\x85?\xf0\xeb\xb5\xc7_o\ +9x\xf6\xfa\x93\x84\xe41\xd3\x17\xac\xd9z\xe8\xdc\x8d\ +\xa2\xf0\x1e\x83R\xc6~\xbc\xf0\x9bm\x87\xcf\xdf|\xea\ +LX,\x90\xd6\x82\x96\xc9\xda\xca2\x94\x16\xa1\x19\xd7\ +\xc5\x02$\x18\xed\xe3j\x19\xf4\xde\x5c7\x94`\x7f\xdc\ +\xa9\x82\xe0\x16I\x97\x15\xefgE\xc7\xbb\x8b\x94!\x85\ +\xbeV(\x80u\xcb\xd0\xec\xd3 \xc4*Oq\xb7\x81\ +a*\xc9\x95J\x11\xaa\x97\xa0\xd53\x114\x17\x88\x03\ +\x9b\xe6\xe9L\x22\xc9\x93\x86\xf9\x12\xf7\x85{g\xe5\x1c\ +X\xd7j}\xf1\xc0b\x0d\xd9\xd4w}\xd3S\xe7:\ +\x9c\xb86\xe4\xec\xb9\xbbM\xbc\xf6\xfbw\xb0\x98\xffW\ +\xc5\xc6\xa9\xa7\xa6D\xde\xeb]\xb4CC\xba!\x12\xbb\ +h\xcc\x88\x07S\x9a\x05\xfc\xfe\xfb\xd4\x1d\xc5\x1f\xce_\ +QY\x10p\xe1f\x85\xe7U\xf5\x81z\xda\x92\xbd)\ +\x12\xf5\xcd+.qSu\xd9{G\xadx\ +\x9a\xea\xb2.qj\xef\xef\xafLm\x16\xf3\xce\x02Y\ +|\xea\xc6\x90\x80\xa9\xa7\xd2\xca7\x0e>6\xf6\xc2\xdd\ +\x0d\x99\xb3\x1e\xa8\x9a\xb0\x7f\xe8\x17\xd3k\xe8\xe0P\xe1\ +\xe0\xfd\x8e\x7f&\x96F]P7\xed1\xf2\xfb\xcf>\ +*\xfatl\xc75M\x1a\x93&\x0e\x166[gF\ +l\xba\x1f\x13\x13\xbc\xe8\x9c\xa4\xe3w\xd4\x06g2z\ +_\xe7\xeeO\xaf\xff\x11\xe37\xea\xcfF\xb7\x1c\x1c\xd7\ +\xe6g\xef\x9cn\xbd\x87\xb3\xe8\xe4\xea\xd5~\xcaE\x97\ +n,\xca\xf8\xb5\xfe\xd6\xc0\x87\x87\xa2CO\x1f\xaah\ +\xa6!S\xec\xbd\xdf\x99\xf9E\xec\x86\x1f\xc6\x08f;\ +\xff\xd1bM\xad\x8d9]sc\xfa(R3=\xf9\ +\x1f\xcf\x1a:\xa9\x8b\xcb\x1f\xc7\x0e\xc9\xbaM|gV\ +\x83-\x7fY&\xfd\xfe\xee\x9d\xf1\xa2\x03\xbc\x16\xdfD\ +\xaf\xbe\x10\xb6g\xe3\xa5\x07M\xe7\xac\x1f\xc2\xdbr-\ +\xac\xf1\xaa\x8fOe\x5ck?\xf4\xdedy=\xe1\xc7\ +Nv\xa7\xd7\xaf\x8b\xbb\xd4\xb1\xdf\xe0\x07\xd7F\xba\xc4\ +\xaf\x98\xd2q{\xfe\x85\xc2oR\x9c\xec>_\x9c\xf0\ +{\xe7\xaf\xd5\x97\xce4\xfb\xb3\xf8#e\xaboE\x9d\ +~\xdc\x97#.\xbe\xd5)r\xd7\xe6\xb8\xb8\xb9\xa3\xbf\ +\xcd|\x1a\xfa\xc1\xaca\x93X.\xbf\xef\xdb\xb8\xa0\x9f\ +cW\xde\xcf\xb7#N\xec\xf7\xe5\x8f\x1fqZZc\ +\x93\xce\xd4\xd2?\x17<\xba\x87\x0eq\xbcP\xf8\xed\xe5\ +\x9c93\xb2z\x8d\x96\xef\xdb3\x8f\xbb{\xc5\xae\xbf\ +\xaf\xb8g\x9ej-X\xb2\x5cro\xd4\xecO\xc8\xea\ +o\xa8\xc1\xab\xac\xca\xfe\xcb\xdd\xb4bW\xfe%\x8f\x9f\ +\xd3\xd6N\x1f|\xe8\xa7\xe2i\xac%\xbd\x14\x0f'\x08\ +E\xe1q\xbd/M\x5c2\xbex\xcb\xc0\x95e\xa9S\ +nx\x15\xa6]*Ox\xb8\xf6\xf3i\xbf\x1c/\x9a\ +\xd8\xf4\x8f\xa26m\x8emQ\x7f=kR\xf7\xab\x81\ +?\xed\xd4\x0ak/\xb8a5\xb4\xc8\xa9A\xe2\xa4\x05\ +\xb3{\xa9\x85\x7f\x9fSS\xbe\x91\x9a_\x1f\xcb6\x94\ +\xff9\xd5e\xf3\xe0\xa7\x09\x97\x8a\xbc2.m\xb8\xb8\ +V\x92\xdb~\xaa\xdd\x8a{K4\xe4t\xd3\x1d\xbe\xa1\ +\x9d\xfe^\xa8\x9eS\x91S\x96U6eDi\xf4\xd3\ +z\x0f\x124D\xbc\xb9\xa2YYVE\xd6\x89\xc7\x1f\ +?\x88\x89\xed\xbb\xed\xba\x86\xac\x8e\xccP_\xdb\xa3\xc3\ +\xfd|\xef\xef\xed5\xa4\xe7\x94k{\xb5\x98\xf1\xf1\xf7\ +K\xa6\xde\xae\xf7G\xe4\x8e\x00\x06\xf7\xba\xbc\xa8w$\ +0\x08\xd0a\xce\xff\x95\xa1\xdf\x9b\xc1}W\xcb\xa0\xb7\ +\x16\xd1\x97\x7f\x5c\xb9\xfc\xcaM\xefVq\x09\xdf\xf4j\ +\xfa\xe5\xd8\xa5{\xa7\xf5o\xdcr\xc7\xd9k\x1f)v\ +\xfe\x1e\xcf\xf6j\xf6\x15\xb4\xe7w\xed\xac\xd7\x8c\xb6\xeb\ +\xc3\x09\xed\x9f\xc2\ +i29\x0b\x5c\xcatX\x8f\xe2Wx\x06\x0f\x19\xca\ +\xb1>\x0e.\xa5-x\xb2\xe0<\x09E\xca\x8c\xd8\xf8\ +\xee\x03hW\xab[4\x07?\xd5C\x9e\x0bE\xe7\xb4\ +\xce\xca\x19\xbf\x9e\xfd8\x1cR\xb7\xe0,\xcaP\x80+\ +B\xf5\x83x\xb0X\xa2\x04\xe7\x8d\xfa\x10\xe2\xd2\xb1\xaa\ +\x0c\xccGO\xc0-i\x14\xc6Y\xe8\x03\xb8)@@\ +\x88{a\x83\xa4\xa7\ +\xa8\x1a\x0b\x8d\x0c\xd8\xb7\xda\xd8\xa3\xfet\x9fQ\x1e\xb9\ +\xcf\xf2\xaa\xc2\x93\xaf\x04/\x0c\xd6\x84\xec9\xcf\xf2\x92\ +\x16\x13\xb2\xed#B\xbc.<\xcbk\xf1%\x8cQ\xe8\ +\xb7\xad'\xf4\xda\xe3\x81\xe3E\xef\xf3gi\x12\x91?\ +*\xb42\xd4\x8a`D\xd0\xe3\xe7\x8f\xe4*\xd5\xc3\xe9\ +\xaa\xf5s9\xa87\x11x\xb3\x99\x0a\x0e\xac\xc7E\x12\ +\x8e\x9f\xe1 ~\xe9\x8aU\xcb\xd1>N\x92,\xc1u\ +\xbf\x84\x93\x00\xa3,M\x96\x02\xdd-\x13\xa7\xd1_r\ +K\x93U\xd7\x89/Y\xcd h\xc75\x04\xd7\xd5j\ +\xe26\xc2\x9f\xd4?\xe1F\xd8\xf7s\x89\x85\xab=a\ +\x0f[\x0e%Te\xbf\xf5\xb1M x\xe5\x0djz\ +S;\xee\xe9P\xc5\xa2\x935\x1b\x0f\xca4z\xa9E\ +\xa2\xe3\x06pD\x99\x8a1\xda2zueI\xec\xc0\ +H\xb9\x11o\xd2\x844'\xad\x89\x1f\x18\x9ap\x12A\ +:\x93n\xa4\x17\xe9K\x06\x90!\xe4?D\x04\xc6(\ +\x9d(\xc8X2\x89\xbcG\xa6\x93\x99d\x0e\xf9\x9c,\ +!+\xc8j\xb2\x96l$?\x92md\x17\xd9O\x0e\ +\x91_\xc8Ir\x96\x5c$\x97\xc8ur\x97\x14\x90\x22\ +R\x06\xee\xae5\xe5H\xb9R\xdeTS\xca\x97jG\ +\x05Q<\xaa\x13\xd5\x8d\xeaC\xc5QC\xa8D*\x85\ +\x92Q\x99\xd4$\xea\x03j&\x95E-\xa1\xbe\xa2\xd6\ +R\x9b\xa8\x1d\xd4~\xea(u\x8a\xfa\x9d\xbaL\xdd\xa6\ +\x1eR\xa5,6\xcb\x81\xe5\xc6j\xccj\xc9\x0a`\xf1\ +XQ\xac\xde\xac\x01\xac\xe1\xac\x14\xd6h\xd6\x04\xd6\x87\ +\xacY\xacE\xac\x95\xac\xefX[Y\xfbY\xbf\xb0\xce\ +\xb2.\xb1\xee\xb2\x9e\xb0\x09\xdb\x9e\xed\xc1n\xc6\xf6c\ +\xf3\xd8\xd1\xec\xbe\xec\xa1\xecd\xb6\x82=\x85=\x83\xbd\ +\x80\xbd\x92\xbd\x91\xbd\x93}\x98}\x86}\x89}\x8f]\ +bae\xe1j\xc1\xb1\xf0\xb3\x88\xb0\xe8i1\xd0B\ +d1\xdab\x8a\xc5\xa7\x16K,\xbe\xb5\xd8jq\xc0\ +\xe2\x8c\xc5e\x8b\x02\x0b\xb5\xa5\xa3e#\xcbv\x96\x02\ +\xcb\x18\xcb\xc1\x96)\x96c-\xa7[.\xb0\x5cc\xb9\ +\xc5\xf2\xa0\xe5Y\xcb\xeb\x96EVVV\x1eV\xad\xac\ +\xc2\xadzZ\x0d\xb1\x1ai5\xd1\xeaS\xab/\xac\xbe\ +\xb7\xdagu\xca\xea\xaa\xd5\x13kkko\xebv\xd6\ +\x1d\xad\xfbZ\x0b\xadU\xd6\xd3\xad\x17[\x7fg\xbd\xd7\ +\xfa\xb4\xf5u\xebb\x1b{\x9b\xa66A6\xddm\x86\ +\xda\xc8l\xde\xb7Y`\xb3\xcef\x8f\xcdi\x9b\x9b6\ +e\xb6\xf5m}m\x05\xb6}m\xc5\xb6\xe3mg\xdb\ +\xae\xb6\xddi{\xc2\xf6\xbam\x99\x9d\xb3]+\xbb\x8e\ +v\x03\xecF\xda\xbdg\xb7\xc8n\xa3\xddA\xbb?\xec\ +\x1e\xd9\xdb\xdb\xfb\xd8\xf3\xed\xfb\xdb\xa7\xd9O\xb3_d\ +\xff\x83\xfd\x11\xfb\xcb\xf6%\x0e.\x0em\x1d\xa2\x1d\x86\ +9d:\xccr\xf8\xc6a\x9f\xc3\xef\x0e\x8f\x1c\x1d\x1d\ +[:vv\x1c\xea\xa8r\x9c\xe5\xb8\xd61\xc7\xf1/\ +\xc7b'W'\x7f\xa7\x18'\xb1\xd3T\xa7\xa5N[\ +\x9dN;=\xa8g[\xcf\xb7^T\xbd\xff\xd4\x9bP\ +oA\xbd\xcd\xf5N\xd4\xbbW\xdf\xb6~\xcb\xfa\xd1\xf5\ +\x85\xf5\xa7\xd4_Z\x7fG\xfd\xf3\xf5\x9f8\xbb:s\ +\x9d\xfb:\xa7;\x7f\xea\xbc\xce\xf9\xa8\xf3-\x17k\x97\ +\x96.\xdd\x5c\xc4.\x1f\xba\xacr\xc9q\xb9\xea\xcav\ +m\xee\x1a\xed*r\xfd\xc0u\xb5\xebA\xd7\xebnV\ +n\xad\xdcb\xdcF\xba\xcdt\xdb\xe0v\xdc\xad\xc0\xdd\ +\xc5=\xc4=\xc1}\x9c\xfbR\xf7\xdd\xee\x97<\xd8\x1e\ +-=b<\xa4\x1e\xb3=~\xf48\xe7Q\xea\xd9\xd8\ +3\xcaS\xe2\xf9\x89\xe7F\xcf\xd3\x9eO\xbd\x1azu\ +\xf6\x92x\xcd\xf0\xfa\xde\xeb\xacW\xa97\xc7\xbb\x9b\xf7\ +(\xef\xb9\xde\xdb\xbc\xffl`\xd1\xa0m\x83\xfe\x0d\xc6\ +6X\xde\xe0`\x83{\x0d\xdd\x1aF4\x145\x9c\xd1\ +\xf0\xc7\x86\x17\x1a\xb1\x1a\xb5m\x14\xd7hb\xa3U\x8d\ +r\x1b=i\xdc\xa4q\x8f\xc6\x19\x8d\x177\xcei|\ +\xaf\x89G\x93\xceMF6\x99\xdfdO\x93\xdbM]\ +\x9bvj\x9a\xd6t~\xd3\xbdM\xefp\xdc9Q\x1c\ +)g\x11\xe7\x00\xa7\xa0Y\xa3f=\x9be6\xfb\xaa\ +\xd9\xf1fe>\xad|\x06\xfa\xbc\xef\xf3\xbd\xcf\x9f\xcd\ +\xed\x9a\xf3\x9a'7\x9f\xdf<\xbbyA\x8b\xa6-b\ +[Lj\xb1\xbe\xc5\x05_[_\x9eo\xaa\xefB\xdf\ +\xc3\xbeO[\xb6j9\xa8\xe5\xc7-\xb7\xb5\xbc\xd5\xca\ +\xabUL\xab\x09\xad\xd6\xb7\xfa\xa3\xb5c\xeb\xc8\xd6\xa3\ +[\xafl\xfdk\x1b\xab6\xbc6\xa3\xda|\xd1\xe6d\ +[V\xdb\xd0\xb6\xa9m\x97\xb6=\xd1\x8e\xd5.\xac]\ +Z\xbb/\xda\x9djo\xd9\x9e\xdf^\xd6~e\xfb\xf3\ +~\x0e~Q~c\xfc\xd6\xfb]\xf6\xf7\xf0\xef\xe3\xff\ +\xbe\xff6\xff\x07\x01-\x02\x86\x06\xcc\x0d8\x1c\xa0\x0e\ +\x0c\x0d\x94\x06\xae\x0e\xbc\xc8u\xe1\xf6\xe2\xbe\xcf\xdd\xc9\ +}\x18\xd46H\x14\xb44\xe8\xd7`\xc7\xe0\xee\xc1S\ +\x83\xb7\x07\x17\x86\xb4\x0b\x91\x84,\x0f\xf9-\xd454\ +6\xf4\xe3\xd0\xec\xd0\x8a\xb0\xf00E\xd8\xc6\xb0\xdb\xe1\ +-\xc2\x13\xc3\x97\x85\x9f\xe7\xb9\xf1\xfa\xf1>\xe5\x1d\xe1\ +[\xf2\xbb\xf0\xa7\xf2w\xf1K\x04a\x02\x95\xe0GA\ +~\x84_\xc4\xa8\x88u\x11\xb7:\xb4\xea \xe9\xb0\xba\ +\xc3\xd5\x8e>\x1d\x85\x1d\xbf\xeax\xa9\x13\xa7Sb\xa7\ +/;]\x8al\x16)\x8c\x5c\x19y\xa5s\xf3\xce\xe2\ +\xcek:\xdf\x8cj\x1352\xea\xbb\xa8\x07]\x02\xbb\ +(\xbal\xe9\xf24Z\x10=9z_Wv\xd7\x1e\ +]gt=\xde\xcd\xa5\xdb\xc0nK\xba\xfd\xd5\xdd\xa7\ +{J\xf7\xf5\xdd\x0bz\x84\xf6\x98\xd8c_O\xcb\x9e\ +\xbd{\xce\xedy>\xa6q\x8c(fmLA\xaf\xf0\ +^\x93{\x1d\xe8\xed\xd0;\xbe\xf7\x92\xdeW\xfa\xb4\xed\ +\xa3\xe8\xb33\x96\x15\xdb+v^\xec\x1f\xef\xf8\xbe#\ +{g[_\xd27\xa6\xef\xbc\xbe\x7f\xf6k\xd5ot\ +\xbf\x9f\xfb[\xf5\xef\xd7\x7fi\xff\x1bq\xdc\xb8Iq\ +\x87\xe3]\xe3G\xc4\xaf\x8b/\x1a\xd0e\xc0\xec\x01\x17\ +\x07\xb6\x1e\x9890;\xa1^\xc2\xb0\x84\xb5\x09O\x07\ +u\x1d\x945\xe8\xd2\xe0\x80\xc1\x93\x07\xff2\xa4\xc1\x90\ +\xb4!\xdb\x87Z\x0fM\x18\xbaf\xe8\x93w\xbb\xbd\xfb\ +\xf9\xbb\xd7\x87\x85\x0e\x9b>\xec\xdc\xf0V\xc3\xc7\x0d?\ +\xfa\x9f\x06\xff\x91\xfeg\xf7\x88z#\x84#6'Z\ +&\x0eJ\x5c\x97X.\xec+\x5c)|\x92\x14\x93\xb4\ +,\xa9@\x14-Z(\xba+\xee,\x9e/\xbe-\xe9\ +(\xc9\x92\xdcL\xee\x98\x9c\x95|+\xa5c\xca\xbc\x94\ +\xdb\xa9\x91\xa9\x0bR\xef\xa5E\xa7-I+\x1c\xd9s\ +\xe4\x8a\x91OG\xf5\x1d\xf5\xcd(\x8dt\x90\xf4\xfbt\ +\x9b\xf4\xc4\xf4\x1d2\x17\xd9(\xd9\x01y\x13\xf98\xf9\ +\xa9\x8cv\x19\xd33.\x8d\x16\x8c\xfe|t\x81\xa2\xb7\ +b\x8d\x92R\x0eWnW\xb9\x813\x95\x9b\xd9:\xf3\ +\xa3\xcc\xcbc:\x8dY:\xa6xl\xc2\xd8\xcd\xe3\x9c\ +\xc7\xc9\xc6\xe5\x8eo;\xfe\x93\xf17't\x9f\xf0\xf5\ +D\x8b\x89\xa2\x89\xd9\x93\x9aMzo\xd2\xe5\xc9Q\x93\ +\xbf\x9aBMI\x9a\x92=\xb5\xf9\xd4\x0f\xa7^\x9f\xd6\ +c\xda\xb7\xef\xd9\xbd7\xea\xbd\xbc\xf7\x03\xdf\xcfz\xff\ +\xf1\x07\x83>\xd8\xf9a\xe3\x0f\xa7}x\xf5\xa3\x1e\x1f\ +\xad\x9f\xee4]1\xfd\xfc\xc7\x11\x1f\xaf\xf8\xaf\xc5\x7f\ +\xd3\xfe{\xfc\x93\xe0O\x16\x7f\xa2\x9e!\x9eqlf\ +\xe0\xcc\x053\xcb?\x15}z\xec3\xeeg\x8b>\xd3\ +\xccJ\x9eu|v\xd8\xec\xe5s\xac\xe6\xc8\xe6\x9c\x9b\ +\x1b9\xf7\xdb,\xe7\xac\x09YW\xe7\xc5\xce\xdb:\x9f\ +3\x7f\xc6\xfc\xc7\x9f\x8f\xf8\xfc\xe8\x82\x90\x05+\x16\xda\ +-\xcc\x5cxiQ\x9fE\xdb\x17\xb7XY\xf6\xf4\ +\x0b\xf1\x17\xa7\x97w^\xbeqE\xe3\x153W\x94~\ +\x99\xf6\xe5o_\xf5\xf8j\xeb\xca\x96+\x17\xac\xb2Z\ +5f\xd5\x8d\xd5\x09\xab\x0f\x7f\xcd\xfbz\xed\x9a\x06k\ +f\xae\xa9\xf8F\xf6\xcd\xa5o\xe3\xbe=\xb06|\xed\ +\xdau\x8d\xd6\xcd^\xcfZ\x9f\xb9\xfe\xf6w\xc3\xbe;\ +\xb9\xa1\xeb\x86\xed\x1b\xfd6~\xf5\xbd\xc7\xf73\x7f \ +?d\xfepgS\xe2\xa6s?\xf6\xfe1{3o\ +\xf3\xc6\x9f|\x7fZ\xb6\xc5u\xcb\x8c\xad\xd4\xd6\xf1[\ +\x0b\xb6\xa5n\xbb\xb4}\xc8\xf6S;z\xed\xc8\xde\x19\ +\xb1s\xcb\xcf\xfe?\x7f\xb3\xab\xd9\xae\xa5\xbb\xddw\xcf\ +\xdec\xb7\xe7\xc3=\x9a\xbd\x13\xf6>\xd9\x97\xb1\xef\xde\ +\xfe\x94\xfdW\xb3Gd_\xcc\x19\x9c\xf3\xeb\x81\xfe\x07\ +\x8e\x1f\xec}\xf0\xc8\xa1\xee\x87r\x0eG\x1d\xde{\xa4\ +\xe3\x91]G\x05Gw\x1c\xe3\x1d\xdb\xf6K\xd8/[\ +sCs\xb7\xe4\x85\xe6m9\x1ev|\xeb\x89\xf0\x13\ +\xdbO\xf2O\xee<\xd5\xe1\xd4\x9e\xd3\x91\xa7\xf7\x9f\xe9\ +z\xe6\xd0\xaf1\xbf\xfer\xf6\x9d\xb3\xa7\xce\x0d<\xf7\ +\xdb\xf9a\xe7/\xfd&\xfe\xed\xd6\xef\xd2\xdf\x0b/\x8c\ +\xb9Pvq\xda\x1f\x96\x7f\xcc\xf8\xb3\xfe\x9f\x0b\xfej\ +\xf4\xd7\xca\xbf\xdb\xfc\xfd\xfd\xa5\xb0K\xbb/w\xbd\x9c\ +{%\xfe\xca\xc5\xab\xa2\xabw\xaf)\xaf\x95_\xff\xf0\ +\x86\xe3\x8d\x057\x9b\xde\x5c{+\xe8\xd6\xae\xdb\xddo\ +\x9f\xbc\xf3\xee\x9d\xebw3\xee\x96\xdd\x9b~\xdf\xf9\xfe\ +\xb2\x07\xad\x1f\xfc\x94\xdf9?\xb7`p\xc1\xf5BE\ +\xa1\xe6\xe1\xa7\x8f\xbc\x1f}\xf38\xe4q\xf6\x93~O\ +\xfe*J/*{:\xa3\xd8\xbb\xf8\xdb\x12^\xc9\xe1\ +\xd2A\xa57\xcb\xc6\x96[\x97/\xaahS\xb1S\xdd\ +[\xfd\x87&\xbd\xf2\xfe\x849\x98\x839\x98\xc3?*\ +XXXX:9997h\xd0\xa0Y\x8b\x16-\ +\xfcZ\xb5j\xc5m\xd9\xb2e\x80\x1e\x04\x1a\x82\x01\x0e\ +\x9d\xd6\xe5\xe9\x97c<@\x0f\xf7\x85\xb2*\xea\x06\x18\ +\xe00\x10\xd0\xbau\xeb C>\x06\xf2\x050\xfc\xf4\ +\xf1\xaaJ\xd7\xc4\xcb\x10\xdf\xa0\xbdt=\xd4S\xd3\xa6\ +M[\xb9\xba\xbaz\xc1:\xc4F\xefN\x83\xd1\x01\xeb\ +\xd4\xaf_\xdf\xad{\xf7\xee\x83?\xf9\xe4\x93\xf5\xdf\x7f\ +\xff\xfd\xc5\xdd\xbbw\xdf\xdb\xb7o_\x01\xc2\xfe\xfd\xfb\ +\x0b\xf5\xc10/;;\xfbaU8\x0c^U4\xaa\ +\x02}<\xc3:\x0c=}\x9aU\xe1W\xc7\xab\xba\xba\ +\x8c\xecU\xd5\xc72\xc3|C:{\xf6\xecy\xb0u\ +\xeb\xd6kK\x97.\xcd\x16\x89D\x93|}}\xfd-\ +--\xadj\xd7\xfa\xb3\xe0\xe2\xe2\xe21j\xd4\xa8\xe9\ +@\xeb\xfe\xb1c\xc7*rss5f\xa8;\x1c>\ +|\xb8d\xf1\xe2\xc5{CBB\xa2\x8c\xed\x03\xbcf\ +\x12\x12\x12\xa4999\x8f\xdf\xb6\xfc\xff\x06\xf8\xe5\x97\ +_\xd4\x0b\x17.\xdc\xed\xe3\xe3\xd3\xd6\x18[\xd4\xb8q\ +\xe3\x16k\xd6\xac9\xf9\xb6\xe5\xfe7\xc1\xa1C\x87\x8a\ +\x13\x13\x13\xc7\xc1\xd8\xb6\xaeI\xf7,\x08\x91\x91\x91}\ +\x0f\x1e\xae\x0dj\xd2\xbf\xb5\xb5\ +\xb5\xadJ\xa5\x9ak\x0a\xfd\xff\x93\xfb\x10ec\xe0M\ +\xc9\x8d\xfao\xde\xbcy\xfb\xda\xc6\xbf1\xfa\xc7r\xf0\ +\x91N\xe0\x1ac\xd9\xb2e9x\xfe\xe2\x8b/\x0e`\ +\x9c93q\x04\x98{\xf63y\xfau\xf4\xe3\xfa\xf8\ +L\x19\x93\xaf\x0f\xfayU\xc5\x99z\xfa<\xf5i\x1b\ +\xd23\x04C\xf9\xf5e3\x94\x03a\xc5\x8a\x15\x87q\ +\xedU\x9b\xfeqmf\xcc\xf8W*\x95sj\xd3\xff\ +\x91#GJ;t\xe8\xd0\x1b\xd7\xd8\xb0V\xf3\xc4\xb3\ +!0\xf9\xb8\x96sss\xf3f\xd2\x18G`\xe2\xfa\ +\xb8\xfae\x98\x87\xc0\xd4\xd5\x8fW\xc5O\xaf\x8e\x87>\ +_\xc3:\x0c}&\xce\xd0\xd5/c\xea\x19\xcaj\x18\ +\xc7\xba8\xa6\xb1\x0f\x8c\xd1\x7fm\xe3\x9f\xd1\x7fm\xb4\ +p]\xe7\xe7\xe7\xc7\xab\x89\xd6\xffJpvvvG\ +\xdf\xd2\x18\xfb\x83{\x115\xd12\xd6\xfe\xa3\xfe\xdb\xb7\ +o\x1f\xfe\xa6\xda\xf8O\x0e\xe8\xd3\xa3\x1d\xaaMg\xa6\ +\xb4?\xb8\x9e3\x8f\x7fm0V\xff8\xfeq\x7f\xb4\ +&Z8\xff\x1ak\x7f\xfc\xfd\xfd\xf9L\xbd~\xfd\xfa\ +\x89'L\x98\xb0\xa8\xae\xfb|\xff\x86\x80\xfa\xc7\xb9\xde\ +\x18\xfb_\x9b\xfe\x8d\x1d\xff\xfa\xf6\x07\xfb\x01\xd3\x98\xbf\ +|\xf9\xf2\x838/\xbd\x99\x96\xff3\x82\x93\x93\x93\x8b\ +\xb1\xf6\xdfT\xfe?3\xff6l\xd8\xd0\x07\xe9\xea\x97\ +m\xdb\xb6\xed\xba\xfe\xb5\xf1o\x0f\x8c\xfd\xa9M\xff\xe8\ +\xa3\x9a\xd2\xff\xe4r\xb9\x1d\x7f\xfe\xf9\xe7;\xd5\xcd\x0f\ +qqq\xc9oJ\x07o3\xe8\xfc\x9fZ\xed\x8f\xb1\ +\xe3?333\xcb\x18\xfb\xbfz\xf5\xea\xbc\xda\xf0`\ +NX\x5c\xdb\x9e\xab1\x01\xef\xf1)\x14\x8aY\xe8g\ +\xef\xde\xbd\xfb.\xf6\xaf\xfe\x1e!\xc61\x0f\xef\xd1!\ +\x0e\xee\xa1`\x9dW\xe5kL@\xfd\x1b3\xfe\x8dY\ +\xff\x1ak\x7f\xa0\xbd\xe5\xb5\xf1c\x00\xe7\x04ww\xf7\ +\x06umW\x9b6m\x82\xb3\xb2\xb2\xb6\xe6\xe4\xe4<\ +2\x96\x97!\xe0=\xa4y\xf3\xe6m\x07[\xf9\xda|\ +ec\xedO]\xe6\xdf\xdah\xd5u\x7fZ7'\x08\ +\x8ci\x0f\xfaR\xb8W\xfb\xb2:\xaf\x0e\xb6n\xddz\ +5>>>\xa5v\x09\xea\x16\xea2\xfe\x8d\x9d\x7fk\ +\xa3\x85\xd7\xba\x5c.\x9f\x89\xf3\x80\xb1\xed\xafmNh\ +\xd7\xae](\xea\xc8\xd4z\xaf\xa2\x1f\xae\x99r\xed\xc2\ +\xf8\x9f\xa6\xf4\xff\x8d\xf5\x7fp\x0e\xde\xb9s\xe7\xad\xba\ +\xb4\xdfpN\xb0\xb3\xb3s@\x1b\xf1\xba\xf5n\x08\x9f\ +\x7f\xfe\xf9N\x07\x07\x07\xa7\x9a\xf4aL0v\xfc\x1b\ +\xbb\xfe\xad\xeb\xfe\x83\x87\x87G\xa3\xaf\xbe\xfa\xeah]\ +\xda\xce\xcc\x09B\xa1p<\xb3vx\x1b\x80\xd7\xafX\ +,\x9e\xf4*\xfa\xc7\xf1\x8f\xfb\xa1\xc6\xe8\xdf\x18\xfbo\ +\x8c\xfeQn\xfd\xfd\x1f\xbcn\xa6L\x99\xb2\xbc\x8em\ +\x7fkz7\x04\xf4\x99, \xbc\x8c\xfe\x8d\xf5?\x8d\ +\xf5\xff\xd1\xff|\xd9\xfd\x9f\x84\x84\x84Qu\x99\x13\xfe\ +I\xb0k\xd7\xae\xbb\xde\xde\xdeM_F\xff\xc6\xda\x1f\ +c\xf6?_u\xff\xf9e\xe6\x84\x7f\x0a\xe0\xd8\xe9\xdc\ +\xb9s\xdf\xb7\xad\x7fc\xec\x7fM{\x0c/3'\xfc\ +S\x00\xdb\x9e\x98\x988\xb6.\xfaG\xfbo\x8c\xffS\ +\x9b\xfda\xee?\x1a3\xfek\xdb\xff\xd7\xcd\x09_ \ +~^^\xde[\xd7k]\xc1\xd8>\xa8\xcb\xfe\xbf\xa9\ +\xe6\xdf\xba\xdc\xff\x9a5k\xd6&S\xe9\x04\xd7\xdd\xf8\ +l\x1e\xfa,\x9d:u\x8a\x05\x1f\x0a\xef\x07z\xf2\xf9\ +\xfc\xeeuY\x93\x1b\x0b\xe8\x9f\x19\xa3\x7fc\xf7\x9fM\ +y\xff\xcb\x18\xfd'%%M0\x85\x1e\x8e\x1e=Z\ +\x96\x91\x911\xb3&\x1f\xe5u\xcd\xfb\xd8\x86\x7f\xa2\xfe\ +k\xdbc\xee\xd3\xa7\xcf\x08S\xb4\xff\x9bo\xbe9U\ +\xaf^=\x97\x9a{\xfa\xf5\xe9\x1f\xa1w\xef\xde\xc3k\ +\xd2\xbf\xb1\xfb\xcf\xc6\xe8\xdf\x18\xff\xb36\xfd\xe3\xb5a\ +\xaag\x18\xb7o\xdf~\xc3\x98\xbd\xa3\xd7\xa9\x7flK\ +u{x\xc6\xfa\xff\xc6\xd8\x7f\x9c3\xc7\x8c\x193\xef\ +U\xec\x0f\xf8>\x0da}\xf0\xd4\x94\xedG~qq\ +q5\xee\x9d\xbd\xeeu\x07\xb6\x09\xe7\x9b\xea\xf4o\x8c\ +\xff\xf3\xba\xed?>?\x0d\xbe\xff\xedWmku\xfe\ +\xd2\xc4\x89\x13\x97Tw?\xe1M\xac\xfbv\xec\xd8q\ +\x13\xdb\xa8\xcf\xd7X\xfbo\xac\xff\x89\xf7.\x8c\x19\x8f\ +U\xd9\x9f\x85\x0b\x17\xeez\xdd:X\xbe|\xf9!\xbc\ +\xc6\xde\x86\xfe\x11\xf0\x9e\x84>_\x1c\xff\xf8\x8eKm\ +c\x16\xdfK2\x95\xfd\xc7\xfd\x07C\xfd\x0f\x1c8p\ +\xe4\x9bh?\x02\xce\x09\x01\x01\x01\x11oC\xff\x08\xef\ +\xbc\xf3N\x92\xfe\xf87v\xff\xdfX\xfbS\x1b-C\ +\xfb\x83\xe3\x11}\xc47\xd5~F\x86\xf8\xf8\xf8\xca/\ +\xfe\xbcI\xfd#/\xe6]\x8a\xba\xf8\x9f\xa6\xba\xffn\ +\xa8\xffU\xabV\xe5\x9a\xa2]\xeb\xd6\xad;\x8b6\xb6\ +.u&M\x9a\xb4\x14\xe7\x847\xbd\xef\x07c~\x7f\ +]\xf4o\xec\xfd\xdf\xba>\xff\x83{\x86\xa6zf{\ +\xe8\xd0\xa1\x19x-}\xf9\xe5\x97G\xeaR\x0f\xf7\x8f\ +\xdf\xb4\xfe\xb1\xcd\xb8\xf66v\xff\xcdX\xff\xbf\xae\xf6\ +\x07\xe6\xa3-\xa6j\x93\x8d\x8d\x8d\x1d\xd2\xc4\xf1ZSW\xfdcx\x999\xe1\ +e\x01t4\x87\xe1\xab\xb3?o\xe5\xfd#\xc3\xfa?\ +\xfc\xf0\xc3\xc5Wm\x1b\xfat\xf8\xee\xf4\xcb\xf4\x01\xce\ +\x09x\x7f\xe0u\xea~\xc3\x86\x0d\xe7\xf5y\xe2\xfa\xd7\ +\x18\xfd\xbf\xae\xf5\xaf\x81,.\xa6\xf8v\xd0\xe6\xcd\x9b\ +\xff~\x19\xfdc\xc09\x01\xef\x93\xbd\x0e\xddC\xdb\x9e\ +\x18>3m\xec\xfck\xca\xfd7\x9c\xc3\xaa\xbb\xff\x8b\ +\xf7\xa9M\xf1,\xce\xf4\xe9\xd3\xbf}\xd9>\xc0\x80\xf7\ +\x8bM9'`\x9b\x18\x9b\xaf\x1f\xde\xf6\xfa\xab\xaa\xd0\ +\xbd{\xf7A\xa6\x98\x8f\xf1\xd9\xadW\xe9\x03|n\xc2\ +\x14\xcf\x02`[\xbav\xed:\xb0*\x1eu\xd9\x7f3\ +\xa5\xfek{\xfe\xc7T~\xf6\xbau\xeb\xceT\xf5\xdc\ +Am\x01\xe7\x02\xbc\x9fc\x0a\x19jzG\xc0\xd8\xf5\ +W]\xf6\x9fk\x93\xc7\xd8\xe7\xdf\xc6\x8f\x1f\xbf\xd0D\ +\xd7~\x05\xfa\xf9\xcc\xfd\x81\x9a\x02\xfa\xaf\xb8\xd65\xd5\ +\xf3G\xd8\x86\x9a\xf8\xbd\x8d\xf7_p\xff\xad]\xbbv\ +a\xb5\xe9\x02\x03\xee\xc7\x9bB\x0f\x08(\x17\xae{\xf0\ +\x19\x0d|O\x0f\xdf\x19C\xc08\xe6\xa1\xffe\xca\xfb\ +0@\xab\x02\x9f+\xa8\xa9}\xc6\xbe\xffej\xfbS\ +\x97w\xd8F\x8f\x1e\xfd\xa9\xa9t\xf26\x00\x9f\xe3\xae\ +\xee~B]\xde?5\xe5\xf3'\xc6\x8e\x7f&H\xa5\ +\xd2\x8f\xdf\xb6\x1e_\x05\xf0}\x86\xaa\xee'\x98\xfa\xfb\ +\x1b/\xb3\xff`l\xe8\xd5\xab\xd7\xb07\xfd\x9c\x8a)\ +\x01\xef7\x06\x06\x06v\xd0o\x93\xb1\xcf\x1f\x9ar\xfd\ +\xf5*\xdf\xffi\xd2\xa4IK\xf0\x85Mr\xff\xefm\ +\x00\xae}\xf4\xe7\x84\xba<\xff`\xaa\xf7\xafkZ\x7f\ +\x19\x13\xf0;A\xb8\xd7\xf9\xb6u\xc9\xc0\x86\x0d\x1b~\ +\xdb\xbe}\xfb\xf5\xba\xd4a\xe6\x04S\xde\x7f\xaf\xcb\xf7\ +\x97L\xf1\x0e9\xae\x11\xde\xe6\xfb\x92\xc8;99y\ +\x1a\xca\x82\xef#\xe3{\xc9u\xa9\x8fs\x02\xea\xd4\xd4\ +\xf7\xdf\xdf\x94\xfe1\xfc\x93\xde\x7f\xc7\xf1\x8c\xef\xe7\xd7\ +\x85\x0e>\x7f\x83\xef\x88\x98j\xfc\xbf\xad\xef\xef\xe1\xde\ +\xca\xe6\xcd\x9b/\xbdn\xbd\xe3\xb7=p\xcdP\x93,\ +\xf8\x9d\x0a\x9c\xe3\x8c\xa5Y\xdd\xb7\x5c\xf5\xc1\x94\xfb?\ +U=\xffl\xaa\x80>\x12\xac\xa3\xfe0\xb5\xde7m\ +\xda\xf4gM\xef\x11\x19\x06\xdc;\xc2\xef\xb6\x98\x8a\xbf\ +\xb1\xfa7\xd6\xfe\xd7\xd5\xff\xafk\xe0p8\xad\xf1\x7f\ +\x9f\xbc\x8a\xaf\x84\xcfY\xcd\x981c\x03\xfe\xef\x83\x97\ +\x91\xe1e\xe6\x84\xea\x00\xfd\x1fS~\x7f\xf5M~\xff\ +\xb3a\xc3\x86\xcdp\xaeF\x9b\x8d\xdf\xa8\xc1o2\xa1\ +\x0c\xb8\xc7\x83\x80\xf1\xec\xec\xecGX\x8680\xa7N\ +\xc5:\xa6\xe0\x8d\xbe\x1a~\xdb\xd1\x14\xe3\xdf\x94\xdf?\ +\xfc_\xfb\xfeg\xff\xfe\xfd%\xd5\xcd\x09\xf8\xecXm\ +\xfa\x7f\x9b\xfb?\xff\x96\x80s\x9e\xe1\x9c\x80\xef\xbb\x19\ +\xf3\xad\x857\xf1\xfe\xdd\xffB\xc0\xef\x9b2s\x02\xea\ +A \x10\xc4\x98\xf2\xfd\x17S}\xff\xe1\xdf\x1c\x989\ +\x01\xf7\xbdM\xfd\xfc\x95)\xbe\x7f\xf2\xbf\x14\xea\xb2\xff\ +f\xaa\xef\x9f\xbc\xea\xfe\xcf\xbf)\xd4\xe5\xfd\xf7\xd7\xf5\ +\xfc\xe1\xffrx[\xef?\x9a\xf5\xaf\x0duy\xff\xcb\ +T\xfe'\xda\x1f\x9c{\xf0\x99?\x5c\xa7\xeb\x01\x9f\x01\ +\xb4OxF\x1c\x1d\x1e\x9f\xc1\xc32\xfd<\xecK\xbd\ +\xfa\x02\xbd2\xbe\x1e\x0f\x86\xa6>?\x9a\x16\x02\xd2\xd0\ +\xaf\xa7\x0f\xfa4\x18y\xf4h\xf1u\xfc\xf9\xfeU\xb7\ +E\xc0\xb4\xa5*\xf9#\x22\x22z\xe1\xff\xc2y\x93\xfe\ +\x0f\xd3\x07x\x1d\xe8\x03\xaeO\x0c\xe3x\xd6\x8f\x1b\xd6\ +\xd1\xa7SU\x9d\xaah\xd7\xc4\xab&\x9eU\xd15\x86\ +6\xcah\xd8^}Z\xc6\xdc\xf37\xe5\xfd/3\xd4\ +\x1dL\xb9\xffl\x86\xba\x03\xee\x05\x1ac\x7fF\x8f\x1e\ +\xfd\xd9\xdb\x96\xf5\xdf\x08\xb8Oa\xc4\xff\x1f\xb4NJ\ +J\x9ah\x1e\xff\xa6\x07|\x16\xb2\xb6\xef\xbb\xb2\xd9l\ +\x0b|\xce\xd4\xfc\xffgM\x0b\xb8G\xfe\xfe\xfb\xef\xaf\ +rpp\xa8W\x93\xfe\xf1\xff3\xe3\xff\x8e\xff\xff\xfa\ +\xed\xd4\x7f*\xe0\xfb\xfbQQQ\xfdY,\x16\xbb&\ +\xfd3s@\xaf^\xbd\x86\x9b\xe2;bf\xd0\xfa=\ +\xf8\x8c\x05>\xa7R\x9b\xee\x99\x80\xffS)666\ +\x11\xbf\xeb\x83\xcf\xcf\xeb\xff\xbfP\xc3\xff\x1djL>\ +\x93\xae.\xbf&\x9c\xea\xca\xf4\xf3\x0c\xf3\x0d\xa1\xaa\xb2\ +\x9ahT\xc5\xdfXY\x11\xd0\xde\x1c8p\xe0\xc9\xd7\ +_\x7f}\xeb\xac_\xce\xc4\ +qO\x83I\xe3\xd90\x8d\x80u\xf5\xe2\xf3\xf5\xeb\xeb\ +\x83a=\xa4e(\x0f\x93\xc7\xc8d\x98\xa7_G_\ +\x16}Y\xf5A\x9f\x86a9\x961\xf9X_&\x93\ +\xcd\xc0\xef\xe6\xe2<\x8a\xfe\x0e>_\x83\xfa\xac\x8b\xfe\ +\xf5\xfb\x01\xff'9\xf6\x05\xd2\xb1\xb5\xb5\xb5\xc7xU\ +\x80v\xab\xba2c\x00\xeb\xbf*\x8d\x97\x95\xc5T|\ +\x19\xc0u\x14\xfa2/\xabws0\x07s0\x877\ +\x14\xd8_R\x04\xfdR\x0a~\xe4K\x16\xb1\xa0\xe3\x84\ +$~\xc9~\x16\xd7\xa2F\x89\xe5I\x12N\xbfT\xb9\ +J\xaeL\x95gp\xba\xcaE\x99\xe9\x12\x99\x8a\xd3U\ +\xa8\x12r\xbaH\xe5\xa2Q\x84\xd7%&6v\x80B\ +\x86\xf8\x18\xef#\x1c\xaf \xa4A\x02M\x87\xad\x03|\ +\x0em\x18\xb1\xd0h\x08q\xa0\xdfi\xb0\x88\xc2r8\ +\xb2\xf0\x88\xf5drE\xba\x86\xd8\xa0\x00\xcc\x13\xf7\xad\ +\x09\xc1\x1a\xb5\x83u|\xaa0C\xc2\xe1\x22\x1di\xa6\ +\x0c\xbf>\x83_\x8b\xb4&\xf1$\x95\x08I\x06\x91\x10\ +\x0e\xe1j\xe5\x93\xca\x94\x0a\x14@\x09U\xe8\xf4\xf84\ +1\xa6\x01\xbc1-\x92&I1M\xe9\xda\x93&K\ +\x1e\xa7+\xa7\xd3\xa3d\xa3\xe4\xfai\xa92#\xf9\xb9\ +\xb4H\x8a\xf4m\x18uc\x9e25\x1dy\xf4\xc4\xc6\ +\xd1<2\x95*]q\x08@}\x9d\xd6\xa1V\xbaD\ +%\x14\x83ru9\xb6R\xe1x\x89b@Z\xbaD\ +,\xcfL\x8a:\xc7+\xc9\x90\xf4\xb8B\xd3L\x1e\xa7\ +\xc8\xd0\xd5}>P\xd0\xea\xbe\xa4\x1eq v\xc4V\ +\xf7s'1\xa47q\x01\xad\xb8\x11O\xe2M\x1a\x00\ +\xb4&\xcdA+\xcd\xe1\xe7\x03\xe7\xc6\xa4\x11i\x02\xd0\ +\x92\xf8\x92\x16pl\x05\xd0\x02\xca\x9a\xd1\x18\x1c\xc0n\ +\x039\xdac\x0b\xc0\xc1Z\xbe4vK\xfa\xd7\x16\xea\ +6\xd2QiF\xff\x1aC\xac9p\xf3\x02p\x07\xbe\ +.\xc4\x15~\xb1\xa4\x0f-\x91\x0d\x80\x1d\xfc\x1c =\ +\x88p*\x88\x85\xa5s3?\xae:\xa0<\xd0\x8b\x1b\ +\x10\x10\xc8\xe5\x06\x06r\x03\x03\xb8\x01\xf4\x09\x93pP\ +\x07\xda\x05\x04a\x09\xe4\x06\x04\xa8\xb9$P\xcd\xb5\x0c\ +\xd4\x15\xa9\xb9\x9a@\x1b\xc0\x0f\xf0k\xe5eC\xa9\x89\ +\x86XSn\x83\xd7_\xbcWPPQH\x0a\xd4\x85\ +\xe4aE\xa1\xa6\x80*,(.d\x17\x14\x16B\x8e\ +\xba\xc0\xba\xb0\x00\xa3\x85\x05\xe5P\xd4\x10\x13\x0f1U\ +X\xf8\x10\x8f\x90,xp-{\x92\xbf\x15\x8c2\xc2\ +\xf6\x98~\xbfb\xb3\xc6\xa2do\x94\x15\x8cj\x1b\xe9\ +\xe3\x1f4l\xf5\xee\xb6\x14\x8b\xb48\xb9Q\xc3*\x1e\ +g\xcdb\xf5-\xda\xa0\xa1\xf6\xb9\xb1,\x15\x15\x10\xb9\ +\xdc\x9ce3]\x0d\x91\xfb\xedX6\xb31\x92\xef\xc7\ +\xb2\x9d\xab.\xd4\x10\xf5E\x8dZ]\x01\xe7{\x90\xd9\ +\x9ee3W]\xaa\xf1T\x9f\xc8\xce\xc9>\x90s \ +'\xe7\xc0\x81\xfd99\x90\x80?\x88\xab\xb3+r\xec\ +\xb21\x83\xce\xdb\xaf\xce\xd1\x1c(\xc9\xb1B<(\x86\ +T6u\xb8\xb0DC\x15\x00\xf59@\x88]\xda\xdb\ +\xcb\xb3\xdc\xcb\xc3\xd3\xcb\xc3\xdb\xd3\xcb\xdb\xdb\xcb\xdb\x8b\ +>yzz\xe3_\x99\x97\xb3\xa7\x07\x14A\x19\x94x\ +y{\x22B\x85\xb7\x0d\x8d\xe9\xed\xd9\xfe0\x92jO\ +\xd9\xce\x81s\x09o\x1f\xa1\xdc\xf7A,\xdf\x1fE/\ +\x85\xac\xf0}\x84\xe5\x96\x8dQ\x86!U\xcc\xab\xcc\xcb\ +\x0f\xa0l\xa0\xa6U\x09\x9f\x10\xf1\x22\xab\x83\x84r\xdb\ +\x8f\x04\x03\xb4\xa8\xd6%\xe1\x84_\xa29\xe8}\x88P\ +.4]?-]v\x09\xcf'_\xad\xa1\xae\xf3\x0f\ +C\x95l()\xd4Qg\x95v\xbcS\x0e<\x92\x8f\ +\x80(\xfb\xe9*\x94m\x16\x0a\x97\x07\x87\xc5\xd6\x85\xc4\ +\x91;\xeb\xf0\xdd\xe2\x0a\x8d\xa6\xa2\xf8\xde\xe1\xd9\xdc[\ +\x80\x87\x04@\xb14iR\xfeTC\x1dl\xf0\x84\xb0\ +\x82\xb7>z\xa4a=\xde\x1e~W\xc7\xa3 \x80n\ +'\xa9(\x02\xce\x82bB\x89/\xdf\xd7PWS\xee\ +3$\x80\xd5\xdc\x12\xe8\xdd\x99\xa5OQ\x842B\x85\ +^\xbd\xad\xa1\xae\xf1\xf2\xa1\xc1\xfb\xb5\x0df\xd9\xcc\xd1\ +6\xa0\xe3\xad\x22\x8d\xe5bk0s\xdb\xafk\xa8\x9d\ +N\x85:*\x05\xba6Z@\xe3\x1b\x1d-\xd2\xb0\x0f\ +6\x18_rUC\x95Nz\x08r\xe4\xe8\xd4\x83\x18\ +\x96\xa5\xe1`\x07\x96\x17iH\xc9\xdf\x1a\xea\xb0\xc5c\ +]\x93Q\x17YZMW\x10jT\xe9\xaf\x1a\xean\ +\xd3'\x0cy\x7f\xa6\xb3\xca\x09\xd5\xf1\x16\x94\x95\xf6-\ +\xaa,\xd3uQ\x09\x1fdot\x14\x0a\xd5c\x9f\x12\ +\x96{\x0e-\xbb\x1fe3\x17k\x86\x97\x12\xca\xe6\x8b\ +3\x1a2\xb6\xb8\xb2s\x03\x98\x0e\xe7\x15\x13\xb2)_\ +c]~rR\xac\xb7g\xf7\xf2\xfb\x1a2\xbe\x84\xe9\ +\xd7\xcaa\xc1+!dB\x81\x86U6\xd3\xa2\x8c\x90\ +\xd2{\x1a2\xa1\xf4\x05$~)!#\x0a4\xd4)\ +\x17\xc0.\xbd\xab!\xc3\xcb\x98\xde\xf6\xd7\xb5\x90\x16\x94\ +W\x01H7\x04Z$\xaa\x22\xbc\x5c\xa7\x07\x10\xcaf\ +\x9e\x96\x1dd5|\xfa\x00b)@\xb3\xf4\x8e\x86z\ +\xea]\x01\xed\xd2\xf6\xc93\xa9@]\xac\xdb@c\x89\ +u9\xa0A\xd7\xddd\xa9uba\xebgc\xeb\xf9\ +\x15\x84\xec\x82\xa2C\x0d!RzKC\xb6\xaa\x81\xd2\ +^$\xf0\x80\x11\xab\x98\xaf&d\xe4M\x90*\x02\x22\ +\xa575\x16I0\xcf\xd0c\xc4\x9f\x1e#\x96%<\ +B\x1a\x96\xdd\x80^N\xd5\x22\x94\x82\xc1\xdd\xafw]\ +Z F.4\xec\xec\xcd\x22\x0dk\xa9u\xe9\x0d\x0d\ +{\xbf\x16\x05\x87\xea\x1c\xdd\x08i\xaa\x06-f4<\ +\x02C\xf20\xa2\xa8=\xdd\xb5\x0a\xa2\xd9\xc00#[\ +\xf25l;b\xbd\x0c\x86\x89\xfa\xba\x86\xf5\x03=\x84\ +\x18\x05\xb2\xe1\xca\xbbS\xa0!\xa5\xd0\xf24\x1c\xb5e\ +\xf3Jz\x92\x12\xa0y\xcb5[\xaf3\xd8\xc0\x0ar\ +I!(2\x02\x04\xa2\x96ZC\xbf=(\x80\x02w\ +\xed\x00\xd0!\xb2\x80c\xbe\x86\xdc\x82n\xd1\x0a\xd5\x10\ +4y#_\xa3S\x22C\xae\x98G\xca\x80\xdcC\xe8\ +t\xeb\xa5E\xa8'Pf\x01\x0e\x08\xddE\xfb\x8c\xed\ +}\x14\x0f.\xb6\xd4\x12\x10\xaf4\x0d\xf4\x09\x82\xb0\xef\ +i\xc7]a\xa5|\x05\xe9\x0e\x03\xdb#\x93\xf35,n\xa5hY\ +:\xa5\x92+\xc0\xf3X\x91V6R\x0a\xec.\x90\xca\ +\x8b\x87\xe9\xbdH0\xcdT\xb9\xc3\x13\x94\x0c\xfaO\x1d\ +L\xb4\xa2kQ\xe0*\x01I\x17\x03\x9d5\x8fQ\xa4\ +[\x1a\x8b90\x04\xf4\x8d\x18=\xde\xc8E\xa0R\xe6\ +\x018\x0d\x0f\xdd\xd1\x90\xf30\xdc\x5c\xf7=w\x15\x84\ +C\xd7\xb8\x14\xc14\xf0\xf7#\x10h\x09\xcc\x01O\x9c\ +\x98A\xa9\xebf\xaa\x14\x07x8LL\xe4[0\x12\ +)%\xa0\xef\xf2\xe0\x8aJ\x0bXI\x0aze\x10\xce\ +(\x9b\x00K\xf0\x148\xab\x07BEW}\xb3\xa3\xbd\ +\xec&\xc3\xc0;\xe3\x0dmkx\x16\x9a0\xa9\x0cF\ +\xb8N\xdf:k\x8a\x17\xf0B\xe8\xaf\x8a\xa5v%\x84\ +\xe5\xb0\x0c.A\xb2\xb0\xd4\xc0\x84Q\xc5a`\x0d\xe6\ +\xe5kl\xd5\x17f\x8bCC\xc5\xb3/\xaaA\xb4\x8a\ +\x91\xa5\x8c=|\xc6\x95\xf7\x94\x90OOk\xa8/\xe0\ +\xd2\xd3\x99\xdb\xca\xab)\xac\x88\x90\x8f\xa1\xec(\x5cr\ +\xcc\x0c\xa1\xd32\x0fd\x1cVvFC\xdd\xea\xa0f\ +.\xe8J\xdd\x15\xf3@\xaf-\x1f\x9c\x01K9\x92h\ +{\xb0\xd0\x8f\xd1\x18h\xd3\xea\x18\xd8\xcd\xdf\xae\x83\x8d\ +\xfd\xc2Z7\xdc\xe9\xf9\x08\xc8\x825\x9e\x5cz\x15.\ +\xcbi\xa4\xc1A@8\xea\xaf\x1b\xe6\x0c\xdf\x02B\xe9\ +\x0c7t\x86\xf5b\x18LwNi\x85\xb6\xd1)\xfb\ +\x01\xa1\x82/\x81\xa1\xb8\x1c\x0azI.~\xaa\xd1h\ +\xad(#\x1c\xff\x1e\x88\xfe\x07\xcc \x7f\x0e\x87\xf1(\ +\xb8\x9e\xaf\x9dAh\xfeaw\x08\xab\xf5\xfa\x070\xff\ +<\xd8\xd0\x16\x1a\xd1\xe0 tH!3\xcf\x86\xdf$\ +\x8e\xcd&\xef\xbc\xfa\xa8\xa4\xa2\xa2\xe4\xd1\xd5\x9dS\x9b\ +\x814V\x8b\x0a\xe9\xf9Eg\xc1y0gJ\x8a\xcb\ +\xe1\x1a{\xaesy0\xc7\xf2\xaf\xc3\xd4y\xfb\xe8s\ +\xf34\xef\x00\xb1\xf4>\xa8)\x89\xd1\xda f\x0c\xe7\ +\x10\x0b\xabE\xe2\xca\x0bD79\xec\xab\xd4\xb4nJ\ +(\xa5g\xfe\xfd\xfa\x9d\x863?\xf5\x9cE\xd3e\xe5\ +\xe8f(\xdaZ\x94\x8a#\xd4\x025\xdf\x9d\xc7\x8f\x88\ +\xe0\x0b\x04<8\x84\x0b\xf8\x82\x08>?B\xc0\xe7U\ +\x084<*<\xa2\x9co\x0b\xa9\x88\x08\x9e\x80\x1f\xce\ +W\x0b4|[\x01O\x8b\xdc\xeb\x04#m1\xda\xb0\ +\x12\x9b\xe2\x92\x92\xe2\x92b\xf8\xab(\xb1*\xd5\xc6\xd5\ +%\x04\xc0I[B\x97A\x0c\xca1\xd7\x12\xe3\xa5\xa5\ +\xea\x12M1U\xa2\xae\xbc\xec60\xfd\x08\x91\x07@\ +\xfd\xb3\xef@_\xedX\xd6\x131\xe3lS\x96\xc5\xc0\ +\x22p\xe2*V\xd5cQ\xad\x8eB\xecf\x7f6\x9b\ +\xd8\x0e\xbf\x0dN^\xc14W\xf4\xff\x5c\x12s\x9f\x96\ +\x81cY\x0e\xa0V\xb34j8Z\x02@\xa4Bm\ +G'\xe1\x00\xc7r<\x80\xf5\xc0T\x19\x80\x86F.\ +W[U<9.\xf5D_\xd2\x86\xb2\xf3O\x9c\xbe\ +`aV\x96z\xae&\xcbu^V\xd6\xdc\xac\xac9\ +s\xb3\xe6\x22\xcc\x9d7w\xee\xfc\xb9\xe5Y\x96\x18\x9f\ +\x03\x18\xf5\xe6de\xcd\x83X\xd6\x1c\x1a!kN\xc5\ +\x5c6\xa4\xe7\xa8\xe7\xda\xcf\x9b3'k\xc6\xf8\x81\xed\ +\x1c`\xb9\x00N4ei\xe7`_\x06\x8e\xffC;\ +\x8dm\x01\x9c\x8b\x00\x1e\xd8\xb1l,\xa8\x0a\x5c\x1a\xb0\ +j\xf8Y\x81;nE\xff\x9caY\xe1\x00?'p\ +\xd3\xb51\x078\xbb@\xbe\x1b}\xf6\x00p\x82%\x86\ +=\x1c\x9d\xe8\x85\x86\x03}\xb4\xa1q\xb4\xcb\x0cw\xfa\ +\xecI\x83\x16\xc3\x11~\x0et\x0d\xfc\xb9\xeax=\xfb\ +U#\xd7\xb7\xb9\xd5\xff\x1e\xe7\xee\xd7<\x81#\xf4G\ +\xeeA\x88\xe5\xe7\x1e\x82\xe3\x83\xdc\xc3p\xbc\x9f{\x04\ +\x8ews\x0b\x09;/77\xaf8\x97\xe4\xdd\x22O\ +r\xef\xe4\x82\x17x\x04-\x92\xe3\x15:\x8d\x92\xe3\ +\x05t\xd7B\xcb\xf2\xca+5_\x00\x95N?\x01\xf5\ +\xe6W*\x1f\xe6\xcf\xbc\xfb\xa0~r\x12QKu\xfd\ +H\xf2\xee\xe6jNh\xe8\xc6Py\xba\xbe\x83\xe91\ +\xefd\xae\x96\xdaSr\x22W\xcb\xab\x88\xce\xd5J\x02\ +\xf3[n\xde)\x9d\xfaa&\xb8\x81\x03*\xef\x16$\ +\x1e\x02\xd6%h\xfeM\x88\x17\xea\x06\xa0\x9a`I>\ +\xc8\x0a=x\xa2\x14\x9a\xf48\xf7>\xcd\x1a\x07\xd8]\ +H\xdd%j\x1c\xd0\xa0\x82{\x90\xbaE,N\xe0\x90\ +/\x05\x91N\x14\x90\xfb\x90uX\x93\x0f\xc7C\x9a\x02\ +8\x1e\xd4\x14\xc2\xf1\x80\xe6a\xe5\xe5cx\xac\xeer\ +3\x1b\x10\xb3\x011\x1b\x10\xb3\x011\x1b\x10\xb3\x011\ +\x1b\x10\xb3\x01y\x0b\x06D{\x8f)V9\x8a\x10\xb8\ +\x84\xe9\xfb?t\x08\x9a\xa6\xbb\xd7\xd2O\xa8R1\xf7\ +]\xbak\xf1\x1c\xf4\xf1\xf0\xf0\x7f\xa8-\xb6Q\ +\x00\x00\x09a\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a \x0a Sky Icon / \ +System / View\x0a \ +Created with Ske\ +tch.\x0a \ +\x0a \x0a \ + \x0a \ + \x0a \ + \x0a \ + \ + \ +\x0a \ + \ +\x0a \ + <\ +/path>\x0a \ + \x0a \ + \x0a \x0a \x0a\ + \x0a\x0a\ +\ +\x00\x00\x14\xc4\ +I\ +I*\x00b\x07\x00\x00\x80?\xe0@\x08$\x16\x0d\x07\ +\x84BaP\xb8d6\x1d\x0f\x88DbQ8\xa4V\ +-\x17\x8cFcQ\xb8\xe4v\x0b\x02\x7f\xc7\xa4R9\ +$\x96M'\x94JeR\xb8\xa4\x82Y/\x98Lf\ +S9\xa4\xd6a.\x9bNgS\xb9\xe4\xf6}#\x9c\ +O\xe8T:%\x16\x8d/\xa0\xd1\xe9T\xbae6\x9d\ +\x1f\x81\xd3\xeaU:\xa5V\x91Q\xabVkU\xba\xe4\ +B\x93]\xb0XlU*\xfd\x8e\xcdg\xb4N\xec\xb6\ +\x9be\xb6\xdd&\xb5\xdb\xeeW;\xa4J\xe3u\xbc^\ +o7{\xd5\xf6\xfdi\xbe_\xf0X:\xde\x07\x09\x87\ +\xc4Sp\xd8\x9cf6\x7f\x8b\xc7drS<\x86O\ +-\x97\x93\xe5s\x19\xbc\xe4k5\x9d\xd0hk\xd5\x8d\ +\x16\x97M-\xd2Q\x00:\xbb\xf4\x805\x05\x1d\xc1F\ +PQ\x8c\x14;\x05\x08\xee!.\xf8+\xc2\x0a\xe3\x82\ +\xb3\xe0\xac\xe8+\x13V\x01s_s\xf9MM\x0f\x8f\ +l\x90\x06\xe0\xa5\xc8)B\x0a7\x82\x80f\xd2\x18#\ +.\x0a\xaf\x82\xa9x\xfc\x0bG.e\xe6\x98\xf3\xeb\xb2\ +\x01\xc4\x14\xe1\x05)\xc1@\x95g\xe7~\x0a\x90\xe3\xb1\ +\xbd|\xda\x17\xa2`\xf5,\x88\x13n\x82\x11\xa8(\xaa\ +\xbd\x15\xa8(\xe4\xe3\x9cJ\x9b\xfc\xab\xbb\x8a4\x00\xa2\ +\xa4\x002\x0a9\xa0\xa3\xda\x0a\x05\xb1\x07\xb2\x0aB\xa0\ +\xa4k\x8e|\xa8\xf0zY\x13%p\x9a|\x90\x08\xc8\ +)&\x82\x84\xcd\x11\xb6\x82\x8d\xce9p\xa1\xc5\x09T\ +r\x94\xc5Na\xfe\x01 \xa4\x1a\x0a=4\xe8y\x11\ +\x0c\xb8\xe7\xf2s\x1d\xa5\x12bO\x1e\xc4\xe8\x10 \x82\ +\x94\xc8(\x93\x22\xa2\xd1\xba\x08,\xb8\xed\xf3\xce\xfe1\ +\xf3\x02}(3(\x10T\x82\x96\x08(K,#\xa6\ +\xe3\xaa\xe3\x9a\xb0\x82\x95'$\xd3\x22D\x90\x08o\xb2\ +\x08\x06\xcd\x899\xe8\x82\x8a.9x\x94\xce\x89-\x0a\ +\x92N\xcc\xf2\x04\x22\xa0\xa5\x8a\x0a\x04\xcf\xa9\x81\xf0\x82\ +\x89\xce9wCLI\xed\x0e\x91\xd1(\xacYF\xa0\ +\xa0B\xa4\xe4\xa0\x85b\x0a[\xa0\xa7\x0a\x0ar#\xe8\ ++^\x82\x17\xa8(8\xaeRh \x9e\xe3\x97H\xf5\ +7;\xd3)\xe5:\xd1\x9f\xe2<\xd1P\xa9\x87\x02\x0a\ +:;\xf2J,\x90M\xc8 F\xb1V\xa0\x00\xa0\xe3\ +\x974T#\x0aW\xa9\xdd~\x85\xa4\x01\xaa\x0a`\xd1\ +\xeaa\x18\x82\x8f\xce9\xef] Vh\x01g\xac\xf0\ +\xf2\x08\x1f\xb8\xe6e\x97l\xa7U\xda=m\xa0\xc9\x00\ +<\x82\x99((0\xa3IH \xd8\xe3\x92\xf4%\xd2\ +\x82\xdd\x8ba\xce\xeb\xbck\xb5\xe9%\xe1\xe9\xb5\xb6\x90\ +\x01\xc8)\x8a\x82\x85\x8a`\xc8\xe3\x93\xb0\x85\xd5\x84\xad\ +\xe6\x92\x0a\x1e8\xe7\x9a\x1d{#\xb9B9;$\x0e\ +\xd2\x08Y\xa0\xa2Z\x98P8\xe3\x0c}\x8f\xafE\x94\ +\xde\xd5\xda\xf7\xce\x22\x9a\xe5H\xdeX\x81\x0f\x92\x0d\x8a\ +\x82\x85W6o\x840C\xbb\x8eE!Z\x0d\xac\xa5\ +EI\x00z\x82\x97\xe8(\x06\xa6\x0c\xae99\x88\x1f\ +\xf9\xc2\xfe\xfa\xa0\x99#W~\xaa\x19\xecq\x9f\xa6\x8e\ +~(\x82\xe4H >\xa6UH J\xe3\x9f{\x06\ +\xc4\xc2Fh `\xe3\x9e\xda\x923\xc1#\x1br\x05\ +\x02\xa0\x83\x92\xa4D\xb8\xe3\xc55\x83\xd9\xccq\x02\xe3\ +\x90\x1c\x22/\xcb#2\x9a\x08\xf2\x00\x00b\xa4 8\ +\xf7\x02yfi\x8ckx\x82_h$\xfe\xa3s\x08\ +\xc0\xec\x82\x91*\x95\xce\x82\x01\xfb\xc7\x1f\xb0\xf4\xac\x97\ +\x14\x82\x11\xf1.\xd8\x9b\x16\xa8(\x94\xa9\x1b\xae8I\ +\xb5\x9f\xe1\x12\x0a\x02\xa5\x99\x86\xec\xa9y\xc0\x00\x9d\xdf\ +mJ)\xb3\x18*F+\x8e\x1e0i\x06\xb2\x82\x08\ +\x0a\x91\xb0\x82\x85>\xa2\x9bw\x00\x14\x82\x9eZ8\xe2\ +o\xba\x81<\x08#\xac\xa7\xfd\x10\xe7Y\xdf\xa6\xa6\xfa\ +\x0a\x10*F3\x8elL\x11 \x18D\x15\xab\x94\xf1\ +\xbc\xeeJ#\xad\x22\xea\x5c\x82\x04B\xa47\x8e; \ +9D\x08m&\xa2\xa4\xb5H H|\xc51#\x90\ +@\xeeT\x96\x8b\xb55c\xe8\xba\x92\x07\x98A\x12\xf0\ +\x00\x01EHB\x10P\xfb\x06\xca[s \x83u\xad\ +\x15 \x86q\xc5\xf4% O\x84\x82=\xf2\x9d\x09\x08\ + ! \xaa\x91l=R~\xe1\x87\xf8\xa9 \xa1X\ +\xa9\x10\x04`\x06\x06u\x00A\xa0\xf0\x88L*\x17\x0c\ +\x86\xc3\xa1\xf1\x08\x88\x01\xff\x14D\xc1\xce\xd1(\xccj\ +7\x09O@\xc0&8\xa3\xfe9$\x92\xc2$Ri\ +Lr?\x13\x8a\x08\xa0\xed\x0886U4\x8d8\xe0\ +\xe2H\xfb\xeak<\x9e\xc2\xa4@h;r\x0e\x1d\x9f\ +Q\xa1N\xf88\xb6>\xe5\x94Q\xe8\xf4\xea|\xfaY\ +'\x8a\x17\xa0\xea\x1a\x95j\x0ci\x8f\xa6+v\x08\xcc\ +\x88\xd1\x07K\xd8i\xe5x\xfa\xaa\xab#\xb3\xca\xaa6\ +\xe9-R\x17\x22O\xc1\xcc\x17\x19\xa3\x8a\x0e*\x8f\xbd\ +o6\x19\x102\x0e\xd6\xa2`%)\xa8\xf9\x9e\x19p\ +\xc3\xd8\xa2\x98\xe9\x5c\x0e\x1b\x22\x04A\xd8\xd0q\x8eF\ +H\xa5\x8f\x973t\xf9\x12\x9a\x0eY\xd0F\xd9\x90q\ +\xe4}\xf3\x8c\xc8i\xa28\xdd|2\xe7\x0e\x91\x07 \ +\xec\x988ke\x125\xc7\xd2\xdb\xc8\xe4\x88\xdb\x07I\ +pb\x0eH8\xe2\x99\x10\xd8\xf1\xe0\xfc\xeex\x03i\ +\xb0\x8a\x0c \xec8>\x0f\xa5'\x83\x9d#\xe8\xee\xe4\ +&E\x05\x83E\xa0\xc0\x1f\x14\x1d\xe7\xa9\x8f\xb4\xa3]\ +\x1e\x7f\xc7\x8f\xd4\xf8E\x090u\x94\x1c\x09\xea\x85Y\ +\x90a\xdd\x1f{\x18\xe4\x88\x0eA\xc8\xb4\x1cf\x7fP\ +\x93\xf1\x07\x13\x11\xf2\xe5%|\xdc\x18M\xbc}RD\ +\x89\x9fA\x8a\x04\x1c\x03\x82\xd0\x83\xa1\x07\x1e\x10r\x99\ +\x1f>\xd3\xe5\x01\x07\x16\xd0r\x1d\x07\x05\xe1\xf4\x1c\xfd\ +]\xd1\xf2\x914\x85[(\xdd\xaf\x85\xd2\x94\x88XA\ +\xca7\xee0B\x8f\x04\x1c\xb0A\xcb\x84\x1c\xe1A\xdc\ +\x94)\xb7A\x81\xf4\x1cHA\xc5\x04\x1c\x10\x90\x90\x98\ +\xc9\x06\x17\x11\xf2\xa2(k\xa0\xb8\xe5\xa6\x8e\xd3T\x88\ +T\x89\x10p\x16W\x9a\x97\x985\x06\x16Q\xf2\xb1R\ +\x98Z\x09\xcd\x9b\x98\xe5\xe3\xfeTA\x8at\x1d\x96\x9a\ +\xe7\xf4\xf4\xf8i\x11\xf9\x19`\x9dY\x1a\x1d\x8e\x9d\xda\ +\x14P3A\xca\xe4\x1c\x1e\xa0)4i{A\x854\ +}\xa8\x5ch\x96\x1e\x9c`(\xb5m\x22\x05\x10yu\ +\x06\x10\xe9J\xa1\x08/\xd0u\xa5\x03:\xe8\x89}\xfd\ +\xa7\x97\x9a\x81gH\xa1\xe4\x18\x88w\xaa\x99\xa9\xe1A\ +\x87d~Y\x9d+\x17\xaa\xb3\x5ckZ\xc0\xff~\x10\ +bE\x07\x09k\xc6\x99CA\x86\xf4|\xb6x\xace\ +\xba\xd8Y\xec\x86\x9a)A\x87$\x1c{v\xad\x05\x1d\ +\x7fA\x88d\x1c\x8dj\xe1\xfbi\x81\xb1\x1e+q\xd2\ +H\x81\xb4\x1c\x8aA\xc5\xab\x91&\xa9@\x01\xd5\x1f\x93\ +'\xfb\xb6\x86\xbb\xdd\xcb\xc60H\x83$\x1cnA\xe3\ +\xe4\x18\x07\xaaZ\xc4\x19k\xb3\x11\xf36\xf9KV\xd9\ +\x83\x03t\xb0ZM\x22\x05j\xc9M\x07\x0f\xe4\x16\x82\ +m\x00\x0c)\x15\x07*Q\xf3\xab\x16kq\x8a\xcb\x1a\ +s\xf1\xcc\xb9\x06H\xa5d\x188fs\xb4\x19EA\ +\xb3\x80\x00\x11B\xe4D\x19IA\x93t\x191A\x8c\ +\xf4\x1c\xc8G\xf4l\xd5\xf6\xcc,\x5c\xcbQ\xd5\xb5}\ +a\xbc\xc0u\x9ds]\xd7\xb5-\x7fa\xd8\xb64\xf7\ +[\xd96}\xa3.\xd9\xb6\x9d\xb3m\xa06\xbd\xbbq\ +\xdc\xb5MOs\xdd\xb7{Cp\xde7\xbd\xf2\xd9\xd5\ +w\xde\x03\x81\xd6\xb7\xfe\x0b\x85\xe1\x97\x9d\xeb\x87\xe2\xb8\ +\xb6\xd7\x84\xe38\xfeA&\xe2y\x1eS\x86\xe4\xf9^\ +c}\xe5\xf9\x9esv\xe6\xf9\xde\x83m\xe7\xfa\x1e\x93\ +d\xe8\xfa^\xa3^\xe9\xfa\x9e\xb3W\xea\xfa\xde\xc3\x16\ +\xeb\xfb\x1e\xd2\xa9\xec\xfb^\xe3\x00\xe3\xbb\x9e\xf3d@\ +@\x13\x00\xfe\x00\x04\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\ +\x01\x04\x00\x01\x00\x00\x00`\x00\x00\x00\x01\x01\x04\x00\x01\ +\x00\x00\x00`\x00\x00\x00\x02\x01\x03\x00\x04\x00\x00\x00L\ +\x08\x00\x00\x03\x01\x03\x00\x01\x00\x00\x00\x05\x00\x00\x00\x06\ +\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\x00\x11\x01\x04\x00\x01\ +\x00\x00\x00\x08\x00\x00\x00\x15\x01\x03\x00\x01\x00\x00\x00\x04\ +\x00\x00\x00\x16\x01\x04\x00\x01\x00\x00\x00`\x00\x00\x00\x17\ +\x01\x04\x00\x01\x00\x00\x00Z\x07\x00\x00\x1a\x01\x05\x00\x01\ +\x00\x00\x00T\x08\x00\x00\x1b\x01\x05\x00\x01\x00\x00\x00\x5c\ +\x08\x00\x00\x1c\x01\x03\x00\x01\x00\x00\x00\x01\x00\x00\x00(\ +\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\x001\x01\x02\x00\x10\ +\x00\x00\x00d\x08\x00\x00=\x01\x03\x00\x01\x00\x00\x00\x02\ +\x00\x00\x00R\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\x00S\ +\x01\x03\x00\x04\x00\x00\x00t\x08\x00\x00s\x87\x07\x00H\ +\x0c\x00\x00|\x08\x00\x00\x00\x00\x00\x00\x08\x00\x08\x00\x08\ +\x00\x08\x00\x802\x02\x00\xe8\x03\x00\x00\x802\x02\x00\xe8\ +\x03\x00\x00paint.net 4.0\ +.9\x00\x01\x00\x01\x00\x01\x00\x01\x00\x00\x00\x0cHL\ +ino\x02\x10\x00\x00mntrRGB X\ +YZ \x07\xce\x00\x02\x00\x09\x00\x06\x001\x00\x00a\ +cspMSFT\x00\x00\x00\x00IEC s\ +RGB\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\xf6\xd6\x00\x01\x00\x00\x00\x00\xd3-HP \x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11c\ +prt\x00\x00\x01P\x00\x00\x003desc\x00\ +\x00\x01\x84\x00\x00\x00lwtpt\x00\x00\x01\xf0\x00\ +\x00\x00\x14bkpt\x00\x00\x02\x04\x00\x00\x00\x14r\ +XYZ\x00\x00\x02\x18\x00\x00\x00\x14gXYZ\x00\ +\x00\x02,\x00\x00\x00\x14bXYZ\x00\x00\x02@\x00\ +\x00\x00\x14dmnd\x00\x00\x02T\x00\x00\x00pd\ +mdd\x00\x00\x02\xc4\x00\x00\x00\x88vued\x00\ +\x00\x03L\x00\x00\x00\x86view\x00\x00\x03\xd4\x00\ +\x00\x00$lumi\x00\x00\x03\xf8\x00\x00\x00\x14m\ +eas\x00\x00\x04\x0c\x00\x00\x00$tech\x00\ +\x00\x040\x00\x00\x00\x0crTRC\x00\x00\x04<\x00\ +\x00\x08\x0cgTRC\x00\x00\x04<\x00\x00\x08\x0cb\ +TRC\x00\x00\x04<\x00\x00\x08\x0ctext\x00\ +\x00\x00\x00Copyright (c)\ + 1998 Hewlett-Pa\ +ckard Company\x00\x00d\ +esc\x00\x00\x00\x00\x00\x00\x00\x12sRGB \ +IEC61966-2.1\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x12sRGB IEC\ +61966-2.1\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00XYZ \x00\ +\x00\x00\x00\x00\x00\xf3Q\x00\x01\x00\x00\x00\x01\x16\xccX\ +YZ \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00XYZ \x00\x00\x00\x00\x00\x00o\xa2\x00\ +\x008\xf5\x00\x00\x03\x90XYZ \x00\x00\x00\x00\x00\ +\x00b\x99\x00\x00\xb7\x85\x00\x00\x18\xdaXYZ \x00\ +\x00\x00\x00\x00\x00$\xa0\x00\x00\x0f\x84\x00\x00\xb6\xcfd\ +esc\x00\x00\x00\x00\x00\x00\x00\x16IEC h\ +ttp://www.iec.ch\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16IEC \ +http://www.iec.c\ +h\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00d\ +esc\x00\x00\x00\x00\x00\x00\x00.IEC 6\ +1966-2.1 Default\ + RGB colour spac\ +e - sRGB\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00.IEC 61966-2.\ +1 Default RGB co\ +lour space - sRG\ +B\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00desc\x00\x00\x00\x00\x00\ +\x00\x00,Reference Vie\ +wing Condition i\ +n IEC61966-2.1\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00,Refere\ +nce Viewing Cond\ +ition in IEC6196\ +6-2.1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00v\ +iew\x00\x00\x00\x00\x00\x13\xa4\xfe\x00\x14_.\x00\ +\x10\xcf\x14\x00\x03\xed\xcc\x00\x04\x13\x0b\x00\x03\x5c\x9e\x00\ +\x00\x00\x01XYZ \x00\x00\x00\x00\x00L\x09V\x00\ +P\x00\x00\x00W\x1f\xe7meas\x00\x00\x00\x00\x00\ +\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x8f\x00\x00\x00\x02sig \x00\ +\x00\x00\x00CRT curv\x00\x00\x00\x00\x00\ +\x00\x04\x00\x00\x00\x00\x05\x00\x0a\x00\x0f\x00\x14\x00\x19\x00\ +\x1e\x00#\x00(\x00-\x002\x007\x00;\x00@\x00\ +E\x00J\x00O\x00T\x00Y\x00^\x00c\x00h\x00\ +m\x00r\x00w\x00|\x00\x81\x00\x86\x00\x8b\x00\x90\x00\ +\x95\x00\x9a\x00\x9f\x00\xa4\x00\xa9\x00\xae\x00\xb2\x00\xb7\x00\ +\xbc\x00\xc1\x00\xc6\x00\xcb\x00\xd0\x00\xd5\x00\xdb\x00\xe0\x00\ +\xe5\x00\xeb\x00\xf0\x00\xf6\x00\xfb\x01\x01\x01\x07\x01\x0d\x01\ +\x13\x01\x19\x01\x1f\x01%\x01+\x012\x018\x01>\x01\ +E\x01L\x01R\x01Y\x01`\x01g\x01n\x01u\x01\ +|\x01\x83\x01\x8b\x01\x92\x01\x9a\x01\xa1\x01\xa9\x01\xb1\x01\ +\xb9\x01\xc1\x01\xc9\x01\xd1\x01\xd9\x01\xe1\x01\xe9\x01\xf2\x01\ +\xfa\x02\x03\x02\x0c\x02\x14\x02\x1d\x02&\x02/\x028\x02\ +A\x02K\x02T\x02]\x02g\x02q\x02z\x02\x84\x02\ +\x8e\x02\x98\x02\xa2\x02\xac\x02\xb6\x02\xc1\x02\xcb\x02\xd5\x02\ +\xe0\x02\xeb\x02\xf5\x03\x00\x03\x0b\x03\x16\x03!\x03-\x03\ +8\x03C\x03O\x03Z\x03f\x03r\x03~\x03\x8a\x03\ +\x96\x03\xa2\x03\xae\x03\xba\x03\xc7\x03\xd3\x03\xe0\x03\xec\x03\ +\xf9\x04\x06\x04\x13\x04 \x04-\x04;\x04H\x04U\x04\ +c\x04q\x04~\x04\x8c\x04\x9a\x04\xa8\x04\xb6\x04\xc4\x04\ +\xd3\x04\xe1\x04\xf0\x04\xfe\x05\x0d\x05\x1c\x05+\x05:\x05\ +I\x05X\x05g\x05w\x05\x86\x05\x96\x05\xa6\x05\xb5\x05\ +\xc5\x05\xd5\x05\xe5\x05\xf6\x06\x06\x06\x16\x06'\x067\x06\ +H\x06Y\x06j\x06{\x06\x8c\x06\x9d\x06\xaf\x06\xc0\x06\ +\xd1\x06\xe3\x06\xf5\x07\x07\x07\x19\x07+\x07=\x07O\x07\ +a\x07t\x07\x86\x07\x99\x07\xac\x07\xbf\x07\xd2\x07\xe5\x07\ +\xf8\x08\x0b\x08\x1f\x082\x08F\x08Z\x08n\x08\x82\x08\ +\x96\x08\xaa\x08\xbe\x08\xd2\x08\xe7\x08\xfb\x09\x10\x09%\x09\ +:\x09O\x09d\x09y\x09\x8f\x09\xa4\x09\xba\x09\xcf\x09\ +\xe5\x09\xfb\x0a\x11\x0a'\x0a=\x0aT\x0aj\x0a\x81\x0a\ +\x98\x0a\xae\x0a\xc5\x0a\xdc\x0a\xf3\x0b\x0b\x0b\x22\x0b9\x0b\ +Q\x0bi\x0b\x80\x0b\x98\x0b\xb0\x0b\xc8\x0b\xe1\x0b\xf9\x0c\ +\x12\x0c*\x0cC\x0c\x5c\x0cu\x0c\x8e\x0c\xa7\x0c\xc0\x0c\ +\xd9\x0c\xf3\x0d\x0d\x0d&\x0d@\x0dZ\x0dt\x0d\x8e\x0d\ +\xa9\x0d\xc3\x0d\xde\x0d\xf8\x0e\x13\x0e.\x0eI\x0ed\x0e\ +\x7f\x0e\x9b\x0e\xb6\x0e\xd2\x0e\xee\x0f\x09\x0f%\x0fA\x0f\ +^\x0fz\x0f\x96\x0f\xb3\x0f\xcf\x0f\xec\x10\x09\x10&\x10\ +C\x10a\x10~\x10\x9b\x10\xb9\x10\xd7\x10\xf5\x11\x13\x11\ +1\x11O\x11m\x11\x8c\x11\xaa\x11\xc9\x11\xe8\x12\x07\x12\ +&\x12E\x12d\x12\x84\x12\xa3\x12\xc3\x12\xe3\x13\x03\x13\ +#\x13C\x13c\x13\x83\x13\xa4\x13\xc5\x13\xe5\x14\x06\x14\ +'\x14I\x14j\x14\x8b\x14\xad\x14\xce\x14\xf0\x15\x12\x15\ +4\x15V\x15x\x15\x9b\x15\xbd\x15\xe0\x16\x03\x16&\x16\ +I\x16l\x16\x8f\x16\xb2\x16\xd6\x16\xfa\x17\x1d\x17A\x17\ +e\x17\x89\x17\xae\x17\xd2\x17\xf7\x18\x1b\x18@\x18e\x18\ +\x8a\x18\xaf\x18\xd5\x18\xfa\x19 \x19E\x19k\x19\x91\x19\ +\xb7\x19\xdd\x1a\x04\x1a*\x1aQ\x1aw\x1a\x9e\x1a\xc5\x1a\ +\xec\x1b\x14\x1b;\x1bc\x1b\x8a\x1b\xb2\x1b\xda\x1c\x02\x1c\ +*\x1cR\x1c{\x1c\xa3\x1c\xcc\x1c\xf5\x1d\x1e\x1dG\x1d\ +p\x1d\x99\x1d\xc3\x1d\xec\x1e\x16\x1e@\x1ej\x1e\x94\x1e\ +\xbe\x1e\xe9\x1f\x13\x1f>\x1fi\x1f\x94\x1f\xbf\x1f\xea \ +\x15 A l \x98 \xc4 \xf0!\x1c!H!\ +u!\xa1!\xce!\xfb\x22'\x22U\x22\x82\x22\xaf\x22\ +\xdd#\x0a#8#f#\x94#\xc2#\xf0$\x1f$\ +M$|$\xab$\xda%\x09%8%h%\x97%\ +\xc7%\xf7&'&W&\x87&\xb7&\xe8'\x18'\ +I'z'\xab'\xdc(\x0d(?(q(\xa2(\ +\xd4)\x06)8)k)\x9d)\xd0*\x02*5*\ +h*\x9b*\xcf+\x02+6+i+\x9d+\xd1,\ +\x05,9,n,\xa2,\xd7-\x0c-A-v-\ +\xab-\xe1.\x16.L.\x82.\xb7.\xee/$/\ +Z/\x91/\xc7/\xfe050l0\xa40\xdb1\ +\x121J1\x821\xba1\xf22*2c2\x9b2\ +\xd43\x0d3F3\x7f3\xb83\xf14+4e4\ +\x9e4\xd85\x135M5\x875\xc25\xfd676\ +r6\xae6\xe97$7`7\x9c7\xd78\x148\ +P8\x8c8\xc89\x059B9\x7f9\xbc9\xf9:\ +6:t:\xb2:\xef;-;k;\xaa;\xe8<\ +'\ + >`>\xa0>\xe0?!?a?\xa2?\xe2@\ +#@d@\xa6@\xe7A)AjA\xacA\xeeB\ +0BrB\xb5B\xf7C:C}C\xc0D\x03D\ +GD\x8aD\xceE\x12EUE\x9aE\xdeF\x22F\ +gF\xabF\xf0G5G{G\xc0H\x05HKH\ +\x91H\xd7I\x1dIcI\xa9I\xf0J7J}J\ +\xc4K\x0cKSK\x9aK\xe2L*LrL\xbaM\ +\x02MJM\x93M\xdcN%NnN\xb7O\x00O\ +IO\x93O\xddP'PqP\xbbQ\x06QPQ\ +\x9bQ\xe6R1R|R\xc7S\x13S_S\xaaS\ +\xf6TBT\x8fT\xdbU(UuU\xc2V\x0fV\ +\x5cV\xa9V\xf7WDW\x92W\xe0X/X}X\ +\xcbY\x1aYiY\xb8Z\x07ZVZ\xa6Z\xf5[\ +E[\x95[\xe5\x5c5\x5c\x86\x5c\xd6]']x]\ +\xc9^\x1a^l^\xbd_\x0f_a_\xb3`\x05`\ +W`\xaa`\xfcaOa\xa2a\xf5bIb\x9cb\ +\xf0cCc\x97c\xebd@d\x94d\xe9e=e\ +\x92e\xe7f=f\x92f\xe8g=g\x93g\xe9h\ +?h\x96h\xeciCi\x9ai\xf1jHj\x9fj\ +\xf7kOk\xa7k\xfflWl\xafm\x08m`m\ +\xb9n\x12nkn\xc4o\x1eoxo\xd1p+p\ +\x86p\xe0q:q\x95q\xf0rKr\xa6s\x01s\ +]s\xb8t\x14tpt\xccu(u\x85u\xe1v\ +>v\x9bv\xf8wVw\xb3x\x11xnx\xccy\ +*y\x89y\xe7zFz\xa5{\x04{c{\xc2|\ +!|\x81|\xe1}A}\xa1~\x01~b~\xc2\x7f\ +#\x7f\x84\x7f\xe5\x80G\x80\xa8\x81\x0a\x81k\x81\xcd\x82\ +0\x82\x92\x82\xf4\x83W\x83\xba\x84\x1d\x84\x80\x84\xe3\x85\ +G\x85\xab\x86\x0e\x86r\x86\xd7\x87;\x87\x9f\x88\x04\x88\ +i\x88\xce\x893\x89\x99\x89\xfe\x8ad\x8a\xca\x8b0\x8b\ +\x96\x8b\xfc\x8cc\x8c\xca\x8d1\x8d\x98\x8d\xff\x8ef\x8e\ +\xce\x8f6\x8f\x9e\x90\x06\x90n\x90\xd6\x91?\x91\xa8\x92\ +\x11\x92z\x92\xe3\x93M\x93\xb6\x94 \x94\x8a\x94\xf4\x95\ +_\x95\xc9\x964\x96\x9f\x97\x0a\x97u\x97\xe0\x98L\x98\ +\xb8\x99$\x99\x90\x99\xfc\x9ah\x9a\xd5\x9bB\x9b\xaf\x9c\ +\x1c\x9c\x89\x9c\xf7\x9dd\x9d\xd2\x9e@\x9e\xae\x9f\x1d\x9f\ +\x8b\x9f\xfa\xa0i\xa0\xd8\xa1G\xa1\xb6\xa2&\xa2\x96\xa3\ +\x06\xa3v\xa3\xe6\xa4V\xa4\xc7\xa58\xa5\xa9\xa6\x1a\xa6\ +\x8b\xa6\xfd\xa7n\xa7\xe0\xa8R\xa8\xc4\xa97\xa9\xa9\xaa\ +\x1c\xaa\x8f\xab\x02\xabu\xab\xe9\xac\x5c\xac\xd0\xadD\xad\ +\xb8\xae-\xae\xa1\xaf\x16\xaf\x8b\xb0\x00\xb0u\xb0\xea\xb1\ +`\xb1\xd6\xb2K\xb2\xc2\xb38\xb3\xae\xb4%\xb4\x9c\xb5\ +\x13\xb5\x8a\xb6\x01\xb6y\xb6\xf0\xb7h\xb7\xe0\xb8Y\xb8\ +\xd1\xb9J\xb9\xc2\xba;\xba\xb5\xbb.\xbb\xa7\xbc!\xbc\ +\x9b\xbd\x15\xbd\x8f\xbe\x0a\xbe\x84\xbe\xff\xbfz\xbf\xf5\xc0\ +p\xc0\xec\xc1g\xc1\xe3\xc2_\xc2\xdb\xc3X\xc3\xd4\xc4\ +Q\xc4\xce\xc5K\xc5\xc8\xc6F\xc6\xc3\xc7A\xc7\xbf\xc8\ +=\xc8\xbc\xc9:\xc9\xb9\xca8\xca\xb7\xcb6\xcb\xb6\xcc\ +5\xcc\xb5\xcd5\xcd\xb5\xce6\xce\xb6\xcf7\xcf\xb8\xd0\ +9\xd0\xba\xd1<\xd1\xbe\xd2?\xd2\xc1\xd3D\xd3\xc6\xd4\ +I\xd4\xcb\xd5N\xd5\xd1\xd6U\xd6\xd8\xd7\x5c\xd7\xe0\xd8\ +d\xd8\xe8\xd9l\xd9\xf1\xdav\xda\xfb\xdb\x80\xdc\x05\xdc\ +\x8a\xdd\x10\xdd\x96\xde\x1c\xde\xa2\xdf)\xdf\xaf\xe06\xe0\ +\xbd\xe1D\xe1\xcc\xe2S\xe2\xdb\xe3c\xe3\xeb\xe4s\xe4\ +\xfc\xe5\x84\xe6\x0d\xe6\x96\xe7\x1f\xe7\xa9\xe82\xe8\xbc\xe9\ +F\xe9\xd0\xea[\xea\xe5\xebp\xeb\xfb\xec\x86\xed\x11\xed\ +\x9c\xee(\xee\xb4\xef@\xef\xcc\xf0X\xf0\xe5\xf1r\xf1\ +\xff\xf2\x8c\xf3\x19\xf3\xa7\xf44\xf4\xc2\xf5P\xf5\xde\xf6\ +m\xf6\xfb\xf7\x8a\xf8\x19\xf8\xa8\xf98\xf9\xc7\xfaW\xfa\ +\xe7\xfbw\xfc\x07\xfc\x98\xfd)\xfd\xba\xfeK\xfe\xdc\xff\ +m\xff\xff\ +\x00\x00\x081\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a \x0a icon / outl\ +iner / slice / n\ +ot active - save\ +d copy\x0a \ + Created\ + with Sketch.\x0a <\ +/defs>\x0a \x0a \x0a \ + <\ +/path>\x0a \ + \x0a <\ +path d=\x22M14.9826\ +165,6.50282053 C\ +14.7276121,2.868\ +84654 11.6988335\ +,0 8,0 C6.821531\ +33,0 5.71107957,\ +0.29121506 4.736\ +68211,0.80560781\ + C5.52211072,1.5\ +7704166 8.929157\ +37,4.97484587 10\ +.4514738,6.50452\ +22 C10.82345,6.5\ +0282053 14.72604\ +01,6.5045222 14.\ +9826165,6.502820\ +53 Z\x22 id=\x22Combin\ +ed-Shape\x22>\x0a \x0a \ + \x0a \x0a\ + \x0a\x0a\ +\ +\x00\x00\x09\x94\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a \x0a Artboard\x0a \ +Created with Ske\ +tch.\x0a \ +\x0a\ + \x0a \ + \ +\x0a \ + <\ +/rect>\x0a \ + \x0a \ + <\ +/path>\x0a \ + \x0a \x0a \x0a\x0a\ +\x00\x00\x02\xad\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a \x0a Icons / Sys\ +tem / Carat / Wh\ +ite / Default\x0a \ +Created with Ske\ +tch.\x0a \ +\ +\x0a \x0a \ +\x0a\x0a\ +\x00\x00\x8e\x0c\ +I\ +I*\x00\x08\x00\x00\x00\x19\x00\xfe\x00\x04\x00\x01\x00\x00\ +\x00\x00\x00\x00\x00\x00\x01\x03\x00\x01\x00\x00\x00`\x00\x00\ +\x00\x01\x01\x03\x00\x01\x00\x00\x00`\x00\x00\x00\x02\x01\x03\ +\x00\x04\x00\x00\x00:\x01\x00\x00\x03\x01\x03\x00\x01\x00\x00\ +\x00\x05\x00\x00\x00\x06\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\ +\x00\x11\x01\x04\x00\x01\x00\x00\x00`V\x00\x00\x12\x01\x03\ +\x00\x01\x00\x00\x00\x01\x00\x00\x00\x15\x01\x03\x00\x01\x00\x00\ +\x00\x04\x00\x00\x00\x16\x01\x03\x00\x01\x00\x00\x00`\x00\x00\ +\x00\x17\x01\x04\x00\x01\x00\x00\x00\xd9\x15\x00\x00\x1a\x01\x05\ +\x00\x01\x00\x00\x00B\x01\x00\x00\x1b\x01\x05\x00\x01\x00\x00\ +\x00J\x01\x00\x00\x1c\x01\x03\x00\x01\x00\x00\x00\x01\x00\x00\ +\x00(\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\x001\x01\x02\ +\x00\x22\x00\x00\x00R\x01\x00\x002\x01\x02\x00\x14\x00\x00\ +\x00t\x01\x00\x00=\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\ +\x00R\x01\x03\x00\x01\x00\x00\x00\x01\x00\x00\x00\xbc\x02\x01\ +\x00\x1a;\x00\x00\x88\x01\x00\x00\xbb\x83\x07\x00\x0f\x00\x00\ +\x00\xa2<\x00\x00I\x86\x01\x00f\x0d\x00\x00\xb2<\x00\ +\x00i\x87\x04\x00\x01\x00\x00\x00\x0a\x0a \x0a\ + \x0a \ + Adobe Photosho\ +p CC 2015.5 (Win\ +dows)\x0a \ + 2017-03-07T11:3\ +2:29-08:00\x0a \ + 2017-04-04T\ +11:28-07:00\x0a \ + 2017-04-\ +04T11:28-07:00\x0a image/tiff\ +\x0a \ + 3\x0a sRGB IEC61966-\ +2.1\x0a \ + \x0a \x0a \ + a\ +dobe:docid:photo\ +shop:94a27cdb-04\ +33-11e7-b02d-9f8\ +4d9f5a326\x0a \ + adobe:\ +docid:photoshop:\ +acaee4ff-1960-11\ +e7-bae7-e6e7a5cd\ +2814\x0a \ + \x0a \x0a \ + xmp.iid:\ +fa5f33a4-5729-d3\ +41-9ab8-5edce3a2\ +68a4\x0a \ + adobe:docid:p\ +hotoshop:696e80e\ +4-1964-11e7-8c4b\ +-d6fec7ab83c2\ +\x0a xmp.did:ca77\ +1a70-f965-e14f-9\ +103-360465543dbf\ +\x0a \ + \x0a \ + \x0a \ + \x0a \ + crea\ +ted\x0a \ + xmp.iid:c\ +a771a70-f965-e14\ +f-9103-360465543\ +dbf\x0a \ + 2017-03-07T\ +11:32:29-08:00\x0a \ + Adobe Photosh\ +op CC 2015.5 (Wi\ +ndows)\x0a \ + \x0a \ + \x0a \ + saved\x0a \ + \ +xmp.iid:16fdf09c\ +-857d-944e-9783-\ +e127cb1b9cf4\x0a\ + \ + 20\ +17-03-08T11:37:4\ +5-08:00\x0a \ + Adob\ +e Photoshop CC 2\ +015.5 (Windows)<\ +/stEvt:softwareA\ +gent>\x0a \ + /\x0a \ + \x0a \ + \x0a \ + saved\x0a \ + xmp.\ +iid:fa5f33a4-572\ +9-d341-9ab8-5edc\ +e3a268a4\x0a \ + 2017-0\ +4-04T11:28-07:00\ +\x0a \ + \ +Adobe Photo\ +shop CC 2017 (Wi\ +ndows)\x0a \ + <\ +stEvt:changed>/<\ +/stEvt:changed>\x0a\ + <\ +/rdf:li>\x0a \ + \x0a\ + \x0a \ +\x0a \ +\x0a\x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \x0a\x1c\x01Z\x00\x03\x1b%G\x1c\x02\x00\x00\x02\x00\x00\ +\x008BIM\x04%\x00\x00\x00\x00\x00\x10\xcd\xcf\xfa\ +}\xa8\xc7\xbe\x09\x05pv\xae\xaf\x05\xc3N8BI\ +M\x04:\x00\x00\x00\x00\x00\xe5\x00\x00\x00\x10\x00\x00\x00\ +\x01\x00\x00\x00\x00\x00\x0bprintOutp\ +ut\x00\x00\x00\x05\x00\x00\x00\x00PstSbo\ +ol\x01\x00\x00\x00\x00Inteenum\x00\ +\x00\x00\x00Inte\x00\x00\x00\x00Clrm\x00\ +\x00\x00\x0fprintSixteenB\ +itbool\x00\x00\x00\x00\x0bprint\ +erNameTEXT\x00\x00\x00\x01\x00\x00\ +\x00\x00\x00\x0fprintProofSe\ +tupObjc\x00\x00\x00\x0c\x00P\x00r\x00\ +o\x00o\x00f\x00 \x00S\x00e\x00t\x00u\x00\ +p\x00\x00\x00\x00\x00\x0aproofSetu\ +p\x00\x00\x00\x01\x00\x00\x00\x00Bltnenu\ +m\x00\x00\x00\x0cbuiltinProo\ +f\x00\x00\x00\x09proofCMYK\x008\ +BIM\x04;\x00\x00\x00\x00\x02-\x00\x00\x00\x10\x00\ +\x00\x00\x01\x00\x00\x00\x00\x00\x12printOu\ +tputOptions\x00\x00\x00\x17\x00\ +\x00\x00\x00Cptnbool\x00\x00\x00\x00\x00\ +Clbrbool\x00\x00\x00\x00\x00Rgs\ +Mbool\x00\x00\x00\x00\x00CrnCbo\ +ol\x00\x00\x00\x00\x00CntCbool\x00\ +\x00\x00\x00\x00Lblsbool\x00\x00\x00\x00\ +\x00Ngtvbool\x00\x00\x00\x00\x00Em\ +lDbool\x00\x00\x00\x00\x00Intrb\ +ool\x00\x00\x00\x00\x00BckgObjc\ +\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00RGBC\x00\x00\ +\x00\x03\x00\x00\x00\x00Rd doub@o\ +\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00Grn do\ +ub@o\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00Bl\ + doub@o\xe0\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00BrdTUntF#Rlt\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00Bld Un\ +tF#Rlt\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00RsltUntF#Pxl@b\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0avector\ +Databool\x01\x00\x00\x00\x00PgP\ +senum\x00\x00\x00\x00PgPs\x00\x00\x00\ +\x00PgPC\x00\x00\x00\x00LeftUnt\ +F#Rlt\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00Top UntF#Rlt\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00Scl Unt\ +F#Prc@Y\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x10cropWhenPrintin\ +gbool\x00\x00\x00\x00\x0ecropRe\ +ctBottomlong\x00\x00\x00\x00\ +\x00\x00\x00\x0ccropRectLeft\ +long\x00\x00\x00\x00\x00\x00\x00\x0dcrop\ +RectRightlong\x00\x00\x00\ +\x00\x00\x00\x00\x0bcropRectTop\ +long\x00\x00\x00\x00\x008BIM\x03\xed\x00\ +\x00\x00\x00\x00\x10\x00\x90\x00\x00\x00\x01\x00\x01\x00\x90\x00\ +\x00\x00\x01\x00\x018BIM\x04&\x00\x00\x00\x00\x00\ +\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00?\x80\x00\x008\ +BIM\x03\xee\x00\x00\x00\x00\x00\x0d\x0cTran\ +sparency\x008BIM\x04\x15\x00\ +\x00\x00\x00\x00\x1e\x00\x00\x00\x0d\x00T\x00r\x00a\x00\ +n\x00s\x00p\x00a\x00r\x00e\x00n\x00c\x00\ +y\x00\x008BIM\x045\x00\x00\x00\x00\x00\x11\x00\ +\x00\x00\x01\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00d\x01\ +\x008BIM\x04\x1d\x00\x00\x00\x00\x00\x04\x00\x00\x00\ +\x008BIM\x03\xf2\x00\x00\x00\x00\x00\x0a\x00\x00\xff\ +\xff\xff\xff\xff\xff\x00\x008BIM\x04\x0d\x00\x00\x00\ +\x00\x00\x04\x00\x00\x00\x1e8BIM\x04\x19\x00\x00\x00\ +\x00\x00\x04\x00\x00\x00\x1e8BIM\x03\xf3\x00\x00\x00\ +\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x01\x008BI\ +M'\x10\x00\x00\x00\x00\x00\x0a\x00\x01\x00\x00\x00\x00\x00\ +\x00\x00\x018BIM\x03\xf5\x00\x00\x00\x00\x00H\x00\ +/ff\x00\x01\x00lff\x00\x06\x00\x00\x00\x00\x00\ +\x01\x00/ff\x00\x01\x00\xa1\x99\x9a\x00\x06\x00\x00\x00\ +\x00\x00\x01\x002\x00\x00\x00\x01\x00Z\x00\x00\x00\x06\x00\ +\x00\x00\x00\x00\x01\x005\x00\x00\x00\x01\x00-\x00\x00\x00\ +\x06\x00\x00\x00\x00\x00\x018BIM\x03\xf8\x00\x00\x00\ +\x00\x00p\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x03\xe8\x00\x00\x00\ +\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\x03\xe8\x00\x00\x00\x00\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\x03\xe8\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x03\ +\xe8\x00\x008BIM\x04\x00\x00\x00\x00\x00\x00\x02\x00\ +\x008BIM\x04\x02\x00\x00\x00\x00\x00\x02\x00\x008\ +BIM\x040\x00\x00\x00\x00\x00\x01\x01\x008BI\ +M\x04-\x00\x00\x00\x00\x00\x06\x00\x01\x00\x00\x00\x038\ +BIM\x04\x08\x00\x00\x00\x00\x00\x10\x00\x00\x00\x01\x00\ +\x00\x02@\x00\x00\x02@\x00\x00\x00\x008BIM\x04\ +\x1e\x00\x00\x00\x00\x00\x04\x00\x00\x00\x008BIM\x04\ +\x1a\x00\x00\x00\x00\x035\x00\x00\x00\x06\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00`\x00\x00\x00`\x00\x00\x00\x00\x00\ +\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00`\x00\x00\x00`\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x00null\x00\x00\x00\x02\x00\x00\ +\x00\x06boundsObjc\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x00Rct1\x00\x00\x00\x04\x00\x00\ +\x00\x00Top long\x00\x00\x00\x00\x00\x00\ +\x00\x00Leftlong\x00\x00\x00\x00\x00\x00\ +\x00\x00Btomlong\x00\x00\x00`\x00\x00\ +\x00\x00Rghtlong\x00\x00\x00`\x00\x00\ +\x00\x06slicesVlLs\x00\x00\x00\x01\ +Objc\x00\x00\x00\x01\x00\x00\x00\x00\x00\x05sl\ +ice\x00\x00\x00\x12\x00\x00\x00\x07slice\ +IDlong\x00\x00\x00\x00\x00\x00\x00\x07gr\ +oupIDlong\x00\x00\x00\x00\x00\x00\x00\ +\x06originenum\x00\x00\x00\x0cE\ +SliceOrigin\x00\x00\x00\x0da\ +utoGenerated\x00\x00\x00\x00\ +Typeenum\x00\x00\x00\x0aESli\ +ceType\x00\x00\x00\x00Img \x00\x00\ +\x00\x06boundsObjc\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x00Rct1\x00\x00\x00\x04\x00\x00\ +\x00\x00Top long\x00\x00\x00\x00\x00\x00\ +\x00\x00Leftlong\x00\x00\x00\x00\x00\x00\ +\x00\x00Btomlong\x00\x00\x00`\x00\x00\ +\x00\x00Rghtlong\x00\x00\x00`\x00\x00\ +\x00\x03urlTEXT\x00\x00\x00\x01\x00\x00\x00\ +\x00\x00\x00nullTEXT\x00\x00\x00\x01\x00\ +\x00\x00\x00\x00\x00MsgeTEXT\x00\x00\x00\ +\x01\x00\x00\x00\x00\x00\x06altTagTEX\ +T\x00\x00\x00\x01\x00\x00\x00\x00\x00\x0ecellT\ +extIsHTMLbool\x01\x00\x00\ +\x00\x08cellTextTEXT\x00\x00\ +\x00\x01\x00\x00\x00\x00\x00\x09horzAlig\ +nenum\x00\x00\x00\x0fESliceH\ +orzAlign\x00\x00\x00\x07defa\ +ult\x00\x00\x00\x09vertAlign\ +enum\x00\x00\x00\x0fESliceVe\ +rtAlign\x00\x00\x00\x07defau\ +lt\x00\x00\x00\x0bbgColorTyp\ +eenum\x00\x00\x00\x11ESliceB\ +GColorType\x00\x00\x00\x00No\ +ne\x00\x00\x00\x09topOutsetl\ +ong\x00\x00\x00\x00\x00\x00\x00\x0aleftO\ +utsetlong\x00\x00\x00\x00\x00\x00\x00\ +\x0cbottomOutsetlon\ +g\x00\x00\x00\x00\x00\x00\x00\x0brightOu\ +tsetlong\x00\x00\x00\x00\x008BI\ +M\x04(\x00\x00\x00\x00\x00\x0c\x00\x00\x00\x02?\xf0\x00\ +\x00\x00\x00\x00\x008BIM\x04\x14\x00\x00\x00\x00\x00\ +\x04\x00\x00\x00\x0d8BIM\x04\x0c\x00\x00\x00\x00\x03\ +\xfb\x00\x00\x00\x01\x00\x00\x000\x00\x00\x000\x00\x00\x00\ +\x90\x00\x00\x1b\x00\x00\x00\x03\xdf\x00\x18\x00\x01\xff\xd8\xff\ +\xed\x00\x0cAdobe_CM\x00\x01\xff\xee\x00\ +\x0eAdobe\x00d\x80\x00\x00\x00\x01\xff\xdb\x00\ +\x84\x00\x0c\x08\x08\x08\x09\x08\x0c\x09\x09\x0c\x11\x0b\x0a\x0b\ +\x11\x15\x0f\x0c\x0c\x0f\x15\x18\x13\x13\x15\x13\x13\x18\x11\x0c\ +\x0c\x0c\x0c\x0c\x0c\x11\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\ +\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\ +\x0c\x0c\x01\x0d\x0b\x0b\x0d\x0e\x0d\x10\x0e\x0e\x10\x14\x0e\x0e\ +\x0e\x14\x14\x0e\x0e\x0e\x0e\x14\x11\x0c\x0c\x0c\x0c\x0c\x11\x11\ +\x0c\x0c\x0c\x0c\x0c\x0c\x11\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\ +\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\ +\x0c\x0c\x0c\xff\xc0\x00\x11\x08\x000\x000\x03\x01\x22\x00\ +\x02\x11\x01\x03\x11\x01\xff\xdd\x00\x04\x00\x03\xff\xc4\x01?\ +\x00\x00\x01\x05\x01\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\ +\x00\x03\x00\x01\x02\x04\x05\x06\x07\x08\x09\x0a\x0b\x01\x00\x01\ +\x05\x01\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\ +\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x10\x00\x01\x04\x01\x03\ +\x02\x04\x02\x05\x07\x06\x08\x05\x03\x0c3\x01\x00\x02\x11\x03\ +\x04!\x121\x05AQa\x13\x22q\x812\x06\x14\x91\ +\xa1\xb1B#$\x15R\xc1b34r\x82\xd1C\x07\ +%\x92S\xf0\xe1\xf1cs5\x16\xa2\xb2\x83&D\x93\ +TdE\xc2\xa3t6\x17\xd2U\xe2e\xf2\xb3\x84\xc3\ +\xd3u\xe3\xf3F'\x94\xa4\x85\xb4\x95\xc4\xd4\xe4\xf4\xa5\ +\xb5\xc5\xd5\xe5\xf5Vfv\x86\x96\xa6\xb6\xc6\xd6\xe6\xf6\ +7GWgw\x87\x97\xa7\xb7\xc7\xd7\xe7\xf7\x11\x00\x02\ +\x02\x01\x02\x04\x04\x03\x04\x05\x06\x07\x07\x06\x055\x01\x00\ +\x02\x11\x03!1\x12\x04AQaq\x22\x13\x052\x81\ +\x91\x14\xa1\xb1B#\xc1R\xd1\xf03$b\xe1r\x82\ +\x92CS\x15cs4\xf1%\x06\x16\xa2\xb2\x83\x07&\ +5\xc2\xd2D\x93T\xa3\x17dEU6te\xe2\xf2\ +\xb3\x84\xc3\xd3u\xe3\xf3F\x94\xa4\x85\xb4\x95\xc4\xd4\xe4\ +\xf4\xa5\xb5\xc5\xd5\xe5\xf5Vfv\x86\x96\xa6\xb6\xc6\xd6\ +\xe6\xf6'7GWgw\x87\x97\xa7\xb7\xc7\xff\xda\x00\ +\x0c\x03\x01\x00\x02\x11\x03\x11\x00?\x00\xf4<\xdc\xcc\x96\ +d\x9a\xa9;@\x80\x00\x00\x92O\xc6P\xfd~\xab\xe0\ +\xff\x00\xfbl\x7f\xe4R\xc9\xff\x00\x95\x1b\xfdz\xff\x00\ +\xef\xabN\xd79\x95\xb9\xcdi{\x9a\x09\x0d\x1c\x92\x92\ +\x9c\xa7e\xf5\x16}79\xb3\xc6\xe6\xb4~V\xa7n\ +OSp\x96\x978\x1e\xe1\x80\x8f\xc1\xaa\xc6.\x0bl\ +g\xaf\x96\xd2\xfb\xac\xd4\xee\x9d\x07a\xb53\xea\x18Y\ +5>\x92EW81\xec\x99\x12x))\x0f\xaf\xd5\ +|\x1f\xfe`\xff\x00\xc8\xa2`fdY\x91\xe9Zw\ +\x02\x0f \x02\x08\xfe\xaa\xd2Y\x18?\xf2\x81\xff\x00\xae\ +~T\x94\xff\x00\xff\xd0\xef\xf2\x7f\xe5F\xff\x00^\xbf\ +\xfb\xea\xd0\xc9\xca\xaf\x19\xa0\xbeIq\x86\xb5\xa2IY\ +\xf9?\xf2\xa3\x7f\xaf_\xfd\xf5Y\xea\x9e\xd6Soz\ +\xec\x07\xe5\xfe\xa1%-\xf6\xfb\xdd\xfc\xde+\xcf\x81v\ +\x9f\xc1\x0a\xe6\xf5\x0b\x9c\xcb\x9f[X)\x975\xa4\xce\ +\xbc\xce\x9f\x05k<\xde1\x9c\xeaL\x11\xab\x88\xe7h\ +\xfa[R\xc1u\x96b5\xd6\x9d\xc5\xd3\x07\xbcN\x9b\ +\x92S\x01E\x01L\x01\ +R\x01Y\x01`\x01g\x01n\x01u\x01|\x01\x83\x01\ +\x8b\x01\x92\x01\x9a\x01\xa1\x01\xa9\x01\xb1\x01\xb9\x01\xc1\x01\ +\xc9\x01\xd1\x01\xd9\x01\xe1\x01\xe9\x01\xf2\x01\xfa\x02\x03\x02\ +\x0c\x02\x14\x02\x1d\x02&\x02/\x028\x02A\x02K\x02\ +T\x02]\x02g\x02q\x02z\x02\x84\x02\x8e\x02\x98\x02\ +\xa2\x02\xac\x02\xb6\x02\xc1\x02\xcb\x02\xd5\x02\xe0\x02\xeb\x02\ +\xf5\x03\x00\x03\x0b\x03\x16\x03!\x03-\x038\x03C\x03\ +O\x03Z\x03f\x03r\x03~\x03\x8a\x03\x96\x03\xa2\x03\ +\xae\x03\xba\x03\xc7\x03\xd3\x03\xe0\x03\xec\x03\xf9\x04\x06\x04\ +\x13\x04 \x04-\x04;\x04H\x04U\x04c\x04q\x04\ +~\x04\x8c\x04\x9a\x04\xa8\x04\xb6\x04\xc4\x04\xd3\x04\xe1\x04\ +\xf0\x04\xfe\x05\x0d\x05\x1c\x05+\x05:\x05I\x05X\x05\ +g\x05w\x05\x86\x05\x96\x05\xa6\x05\xb5\x05\xc5\x05\xd5\x05\ +\xe5\x05\xf6\x06\x06\x06\x16\x06'\x067\x06H\x06Y\x06\ +j\x06{\x06\x8c\x06\x9d\x06\xaf\x06\xc0\x06\xd1\x06\xe3\x06\ +\xf5\x07\x07\x07\x19\x07+\x07=\x07O\x07a\x07t\x07\ +\x86\x07\x99\x07\xac\x07\xbf\x07\xd2\x07\xe5\x07\xf8\x08\x0b\x08\ +\x1f\x082\x08F\x08Z\x08n\x08\x82\x08\x96\x08\xaa\x08\ +\xbe\x08\xd2\x08\xe7\x08\xfb\x09\x10\x09%\x09:\x09O\x09\ +d\x09y\x09\x8f\x09\xa4\x09\xba\x09\xcf\x09\xe5\x09\xfb\x0a\ +\x11\x0a'\x0a=\x0aT\x0aj\x0a\x81\x0a\x98\x0a\xae\x0a\ +\xc5\x0a\xdc\x0a\xf3\x0b\x0b\x0b\x22\x0b9\x0bQ\x0bi\x0b\ +\x80\x0b\x98\x0b\xb0\x0b\xc8\x0b\xe1\x0b\xf9\x0c\x12\x0c*\x0c\ +C\x0c\x5c\x0cu\x0c\x8e\x0c\xa7\x0c\xc0\x0c\xd9\x0c\xf3\x0d\ +\x0d\x0d&\x0d@\x0dZ\x0dt\x0d\x8e\x0d\xa9\x0d\xc3\x0d\ +\xde\x0d\xf8\x0e\x13\x0e.\x0eI\x0ed\x0e\x7f\x0e\x9b\x0e\ +\xb6\x0e\xd2\x0e\xee\x0f\x09\x0f%\x0fA\x0f^\x0fz\x0f\ +\x96\x0f\xb3\x0f\xcf\x0f\xec\x10\x09\x10&\x10C\x10a\x10\ +~\x10\x9b\x10\xb9\x10\xd7\x10\xf5\x11\x13\x111\x11O\x11\ +m\x11\x8c\x11\xaa\x11\xc9\x11\xe8\x12\x07\x12&\x12E\x12\ +d\x12\x84\x12\xa3\x12\xc3\x12\xe3\x13\x03\x13#\x13C\x13\ +c\x13\x83\x13\xa4\x13\xc5\x13\xe5\x14\x06\x14'\x14I\x14\ +j\x14\x8b\x14\xad\x14\xce\x14\xf0\x15\x12\x154\x15V\x15\ +x\x15\x9b\x15\xbd\x15\xe0\x16\x03\x16&\x16I\x16l\x16\ +\x8f\x16\xb2\x16\xd6\x16\xfa\x17\x1d\x17A\x17e\x17\x89\x17\ +\xae\x17\xd2\x17\xf7\x18\x1b\x18@\x18e\x18\x8a\x18\xaf\x18\ +\xd5\x18\xfa\x19 \x19E\x19k\x19\x91\x19\xb7\x19\xdd\x1a\ +\x04\x1a*\x1aQ\x1aw\x1a\x9e\x1a\xc5\x1a\xec\x1b\x14\x1b\ +;\x1bc\x1b\x8a\x1b\xb2\x1b\xda\x1c\x02\x1c*\x1cR\x1c\ +{\x1c\xa3\x1c\xcc\x1c\xf5\x1d\x1e\x1dG\x1dp\x1d\x99\x1d\ +\xc3\x1d\xec\x1e\x16\x1e@\x1ej\x1e\x94\x1e\xbe\x1e\xe9\x1f\ +\x13\x1f>\x1fi\x1f\x94\x1f\xbf\x1f\xea \x15 A \ +l \x98 \xc4 \xf0!\x1c!H!u!\xa1!\ +\xce!\xfb\x22'\x22U\x22\x82\x22\xaf\x22\xdd#\x0a#\ +8#f#\x94#\xc2#\xf0$\x1f$M$|$\ +\xab$\xda%\x09%8%h%\x97%\xc7%\xf7&\ +'&W&\x87&\xb7&\xe8'\x18'I'z'\ +\xab'\xdc(\x0d(?(q(\xa2(\xd4)\x06)\ +8)k)\x9d)\xd0*\x02*5*h*\x9b*\ +\xcf+\x02+6+i+\x9d+\xd1,\x05,9,\ +n,\xa2,\xd7-\x0c-A-v-\xab-\xe1.\ +\x16.L.\x82.\xb7.\xee/$/Z/\x91/\ +\xc7/\xfe050l0\xa40\xdb1\x121J1\ +\x821\xba1\xf22*2c2\x9b2\xd43\x0d3\ +F3\x7f3\xb83\xf14+4e4\x9e4\xd85\ +\x135M5\x875\xc25\xfd676r6\xae6\ +\xe97$7`7\x9c7\xd78\x148P8\x8c8\ +\xc89\x059B9\x7f9\xbc9\xf9:6:t:\ +\xb2:\xef;-;k;\xaa;\xe8<' >`>\ +\xa0>\xe0?!?a?\xa2?\xe2@#@d@\ +\xa6@\xe7A)AjA\xacA\xeeB0BrB\ +\xb5B\xf7C:C}C\xc0D\x03DGD\x8aD\ +\xceE\x12EUE\x9aE\xdeF\x22FgF\xabF\ +\xf0G5G{G\xc0H\x05HKH\x91H\xd7I\ +\x1dIcI\xa9I\xf0J7J}J\xc4K\x0cK\ +SK\x9aK\xe2L*LrL\xbaM\x02MJM\ +\x93M\xdcN%NnN\xb7O\x00OIO\x93O\ +\xddP'PqP\xbbQ\x06QPQ\x9bQ\xe6R\ +1R|R\xc7S\x13S_S\xaaS\xf6TBT\ +\x8fT\xdbU(UuU\xc2V\x0fV\x5cV\xa9V\ +\xf7WDW\x92W\xe0X/X}X\xcbY\x1aY\ +iY\xb8Z\x07ZVZ\xa6Z\xf5[E[\x95[\ +\xe5\x5c5\x5c\x86\x5c\xd6]']x]\xc9^\x1a^\ +l^\xbd_\x0f_a_\xb3`\x05`W`\xaa`\ +\xfcaOa\xa2a\xf5bIb\x9cb\xf0cCc\ +\x97c\xebd@d\x94d\xe9e=e\x92e\xe7f\ +=f\x92f\xe8g=g\x93g\xe9h?h\x96h\ +\xeciCi\x9ai\xf1jHj\x9fj\xf7kOk\ +\xa7k\xfflWl\xafm\x08m`m\xb9n\x12n\ +kn\xc4o\x1eoxo\xd1p+p\x86p\xe0q\ +:q\x95q\xf0rKr\xa6s\x01s]s\xb8t\ +\x14tpt\xccu(u\x85u\xe1v>v\x9bv\ +\xf8wVw\xb3x\x11xnx\xccy*y\x89y\ +\xe7zFz\xa5{\x04{c{\xc2|!|\x81|\ +\xe1}A}\xa1~\x01~b~\xc2\x7f#\x7f\x84\x7f\ +\xe5\x80G\x80\xa8\x81\x0a\x81k\x81\xcd\x820\x82\x92\x82\ +\xf4\x83W\x83\xba\x84\x1d\x84\x80\x84\xe3\x85G\x85\xab\x86\ +\x0e\x86r\x86\xd7\x87;\x87\x9f\x88\x04\x88i\x88\xce\x89\ +3\x89\x99\x89\xfe\x8ad\x8a\xca\x8b0\x8b\x96\x8b\xfc\x8c\ +c\x8c\xca\x8d1\x8d\x98\x8d\xff\x8ef\x8e\xce\x8f6\x8f\ +\x9e\x90\x06\x90n\x90\xd6\x91?\x91\xa8\x92\x11\x92z\x92\ +\xe3\x93M\x93\xb6\x94 \x94\x8a\x94\xf4\x95_\x95\xc9\x96\ +4\x96\x9f\x97\x0a\x97u\x97\xe0\x98L\x98\xb8\x99$\x99\ +\x90\x99\xfc\x9ah\x9a\xd5\x9bB\x9b\xaf\x9c\x1c\x9c\x89\x9c\ +\xf7\x9dd\x9d\xd2\x9e@\x9e\xae\x9f\x1d\x9f\x8b\x9f\xfa\xa0\ +i\xa0\xd8\xa1G\xa1\xb6\xa2&\xa2\x96\xa3\x06\xa3v\xa3\ +\xe6\xa4V\xa4\xc7\xa58\xa5\xa9\xa6\x1a\xa6\x8b\xa6\xfd\xa7\ +n\xa7\xe0\xa8R\xa8\xc4\xa97\xa9\xa9\xaa\x1c\xaa\x8f\xab\ +\x02\xabu\xab\xe9\xac\x5c\xac\xd0\xadD\xad\xb8\xae-\xae\ +\xa1\xaf\x16\xaf\x8b\xb0\x00\xb0u\xb0\xea\xb1`\xb1\xd6\xb2\ +K\xb2\xc2\xb38\xb3\xae\xb4%\xb4\x9c\xb5\x13\xb5\x8a\xb6\ +\x01\xb6y\xb6\xf0\xb7h\xb7\xe0\xb8Y\xb8\xd1\xb9J\xb9\ +\xc2\xba;\xba\xb5\xbb.\xbb\xa7\xbc!\xbc\x9b\xbd\x15\xbd\ +\x8f\xbe\x0a\xbe\x84\xbe\xff\xbfz\xbf\xf5\xc0p\xc0\xec\xc1\ +g\xc1\xe3\xc2_\xc2\xdb\xc3X\xc3\xd4\xc4Q\xc4\xce\xc5\ +K\xc5\xc8\xc6F\xc6\xc3\xc7A\xc7\xbf\xc8=\xc8\xbc\xc9\ +:\xc9\xb9\xca8\xca\xb7\xcb6\xcb\xb6\xcc5\xcc\xb5\xcd\ +5\xcd\xb5\xce6\xce\xb6\xcf7\xcf\xb8\xd09\xd0\xba\xd1\ +<\xd1\xbe\xd2?\xd2\xc1\xd3D\xd3\xc6\xd4I\xd4\xcb\xd5\ +N\xd5\xd1\xd6U\xd6\xd8\xd7\x5c\xd7\xe0\xd8d\xd8\xe8\xd9\ +l\xd9\xf1\xdav\xda\xfb\xdb\x80\xdc\x05\xdc\x8a\xdd\x10\xdd\ +\x96\xde\x1c\xde\xa2\xdf)\xdf\xaf\xe06\xe0\xbd\xe1D\xe1\ +\xcc\xe2S\xe2\xdb\xe3c\xe3\xeb\xe4s\xe4\xfc\xe5\x84\xe6\ +\x0d\xe6\x96\xe7\x1f\xe7\xa9\xe82\xe8\xbc\xe9F\xe9\xd0\xea\ +[\xea\xe5\xebp\xeb\xfb\xec\x86\xed\x11\xed\x9c\xee(\xee\ +\xb4\xef@\xef\xcc\xf0X\xf0\xe5\xf1r\xf1\xff\xf2\x8c\xf3\ +\x19\xf3\xa7\xf44\xf4\xc2\xf5P\xf5\xde\xf6m\xf6\xfb\xf7\ +\x8a\xf8\x19\xf8\xa8\xf98\xf9\xc7\xfaW\xfa\xe7\xfbw\xfc\ +\x07\xfc\x98\xfd)\xfd\xba\xfeK\xfe\xdc\xffm\xff\xff\x80\ +\x00 P8$\x16\x0d\x07\x84BaP\xb8d6\x1d\ +\x0f\x88DbQ8\xa4V-\x17\x8cFcQ\xb8\xe4\ +v=\x1f\x90HdR9$\x96M'\x94JeR\ +\xb9d\xb6]/\x98A\x00\x930(*l\x0c\x9c\x03\ +\x02\x13`P0\x07?\x02?\xe8O\xe8X\x06 \x01\ +\xa4\x00hO\xfa$\x1a\x93H\x82R\xdf\xf0J}J\ +\x06\xff\xa4\x80\xa9t\xd0\x05\x1a\x07U\xa5\xd5\xeb\xf4\xfa\ +\x8d\x86\x05S\x81S\xe9VhK\xfc\x05o\x01\xd5\xaa\ +\xf6\xca\x8d~\x0fh\xb4\xd2\x00P\x8a\x95\x92\xefK\xb0\ +P\xacW\x9aM\xca\x9dI\xbe]05\xca\xf0\x02\x98\ +\xfe\xc8>\xf2O\xa7\xa6U\xe2\xf3\xcc<2O\xb7\xce\ +\x1aSO\x07\xe8Bcm!\x10\x87\xa7)\x89\xb5C\ +\x00v\xb4#?\x01\x81*\x98\x88]\xf7i\x87\xa4g\ +\xb18+\x1e\xe7\x01\xb7\x8e\xed\xaa\x17:\x15\xfa\x0d\xba\ +\xde\xda\xf7\x98Ln;\x7f\xbe\xe2\xf0!\x99\xec\x0d\xe2\ +\xbbj\xe8T\xab\x18^\x7f6\x9f\x90\xc8uz\xbb>\ +\xcf\x81\xfc\xf8\xf4=\x9c\xbe\xb6\xf3#\xdc\xbaa|V\ +N\x0f\xa3c6\xfa\x94\x04\xbfAb\xcf\xf4\xe0)\xc0\ +\x03:r\x08-\xebzc\x03\xc1\x10L\x15\x05>\xe6\ +\x94\x1cc\x13p\x89\x04h\xc2\x86+\xee\x90\x00\xd0\xc8\ +\x10(C\x83 \xdb\x0f\x91\x00LD\x05\xc1q,M\ +\x13\xc5\x09B\xa4fE\x85\xf9\x17\x17\x8d\xa6\xfcdk\ +\xb9\x08\xb0;\x1b\x84\x84LtV5A0_\x14\xc8\ +\x12\x0c\x85!\xa2\xe7\xd4\x8c|\x93RI\x00SI\x84\ +|\x8c}\x1f(\xc4\x0a\x01\x07\xb2\xa8\x9aCK\x058\ +\x0f-\x812$\xbd/\xcc\x13\x0a\x04gL\x86\x08\xed\ +3\x8a\x87\x84\xd4v#\x09\x98\x08\x02\x8a\xf3\x88\xda7\ +\xce\x84\x5c\xa71O\x13\xcc\xf5\x03\x9d\x13\xe9\xc44P\ +\x02\x11\xc9A\x9b\xa8\xc42\x03\x01\x03-\x14?\x0c\x14\ +h\xf0\xe3Ot\x8d%I\xa3\xe7\x95,w\x0c\x94\xc8\ +|oS\x86\xad\x0d\x0d\x0d\x95\x09\x0e\xfe\x8b#}!\ +JU\x15MT\x873\x07\x99\xe1E\x0c\xa1\xf1\xb9Y\ +\x9ah\xc4\xb6\x03\x810\xf8\xdaDN\x22\xb8\xdbS\xc4\ +\xae\x13\x9bU\xc8q\xab\xae\xe1\xa1V\x15UV\x9e\x14\ +\xc8\xc8\x1e\x9b\xb6\x89\xa9O\xd1\x03u\xacD\xd7\xb5\xfb\ +\xa4\x89\xaaF\xdd\xbch\x9e\xb7\x09\xe6\xea\xcav\x13\xa8\ +\xe0\x1f\xb7I\xfb;\xb8\x8e\xdb\xb2\xf29Wr\xd4\x82\ +<\xc8E!C\x81\x17\xc8\x10\x05P\xe0<\xdc\x02\xa0\ +\x97Q\xf8|\xe0\x87\xc6\x08|\x9e\xefA\xf0{C\ +<\x01\x08\x0eli\xb9\xd4\xf2k@p\x12xa\xfd\ +\xfd\x06\xe5&+\xe0\x80\x9b\x12\xf0L>\x8e\xe8,:\ +]\xbb\xe7\x02\x0f\xa5\x17\xbe\xc7\xdc\xfc\x08z\xcc\x80!\ +\x9c 6\x11\xb44V\xa0\x08yn\x89\xcb\x198F\ +\x10\x10p\xd2\x18\xe9\x85\x90\x00\xb0\x1c%!\xc0\xb9p\ +\xa0\xb5\xc3\xb9\xe1\x93\x0f\xc5\xda\xba\x09\x0b\xd5T\xc1\xa0\ +(\x22\xa2@\xadw\xc0\xc8\x1f8\x86J\xf0\xc1\xfc&\ +\x85\x0eA\xfc*(\x1b\x08\x08s\xd0QOI\xea&\ +\x10\xef\x17\xc4\xa8U\x8cA\xa8\x8c\x0c\xb9\x5c\ +/b!\x16_\xf1,\x1f8\xa0\xc6\x1f#\xb83\x08\ +\x04`O\xcb\xd1\x0e%f\x00zRq\x19\xf5\x0a\xe0\ +c1\xc1\xe9\x1c\x5c#\xd4yK`y%\x1f\xbb.\ +\x8a\xcc\xceM\x10\xb6n?\x07\xdb\xd1\x93\xc9\x00\x12M\ +\xd0Z('\x00\xc8_@(\x88\x0bi\xcc)\x04,\ +\xe9\x0c\xcc\x1c{\x92\x84\xa6\x16\xa7\x80qZ\xc1\xb8D\ +\xb6\xe2\x1e\xa5\x87\x90\xef\x0a\x93\xec\x14Aa\xdc:\x93\ +\xd3\xb9wb\xb2Z<\x133$\xdf\xb4T\x013\xcd\ +l'(Z>\xc7\xd3\xd1zcQ\xea\xa2\x91%E\ +\xc5\xb0:\xa3A$\x88\x0b\xaa<*C\xfd!\x0b\xc8\ +]\x04\x1a@l\x10\xc4\x1d)\x14\x80N\x96\x01\x82 \ +-)\x80\xa1\x10\x14\xcc0P\x17\x01!El\xc7\x06\ +3&H\x99\x96N\xe3\x5c|\x96yH\x82L\xbf\xd7\ +\x9ed\xe2\x84\xdbD\xa0Z\xa6\x01\xb9\x04+F\xcb\xdc\ +!\x83\xaa\xaa\x0eEH\x0c\x07\x8dY\x1d\xa9\x00\x17U\ +\xd0t\x92D\xd0\xc0_\xf2l\xc9\xab\xd0X8\xab@\ +\xdbL3\x12\x0e\xd3\xaaxF\x9f\x94P\x8aSE\xc9\ +B\xc275\xc7\xdb'\xa2tU\x05\xa8\x00\xd0 \x96\ +p}\x22\x09`C\x06\x81]a\xc4\xcaa\x0eV,\ +G\xcf\x00\xb4\x1c\x08\x84\xe0\x14\x02\x22\x1c\x09@\xf2\x98\ +]\xcd8\xad\xd4\x19WP\x86U4^\x5c\x0d#\x8f\ +\xfe(W\xb4\x13\x22\xaax\xd8w$2\x7f\x0e\xa48\ +\x14\x01 \xf6\xb6C\xcd0\xaf\x81Om\xc6\x80\x1f\xb7\ +@\x9c\x86\x0ek|8\x02\xb5\xc1\x05l({$H\ +\x8df\xa6D\xd5!P\x8a\x01W2.\xbe-\x0c\xd4\ +\xa8\xc4BN-+\x1bLK\xc9\ +\xc8\x0f\x15x\x0ck\x01\x5c\x0c\x06\x8e\x99Kd\xe8P\ +h\x8cU&~\x80\x90\x17\x15\x98Lk\xc0\x80\x22C\ +\x22\xf8w\x0a\xa2\xf7\x0e\x0a\xcb\x8c\xfa$`\x8c\x15\xef\ +\xb4\x18\x03\xc8\x9c'\xc8\x90\xe8\x12;\ +\xa0\xa4ne\xcc\xd7\x17}\xea\x12\xb8\xa1\x97\x04+\x06\ +\xcb\x94B_\xfc/\xba\xe4\xb4\xa7\xe0`*\x06\xb28\ +*\x06\xb688H\xf2\x09<\xc2P\xc6\xceB\xdd\xdb\ +\x88\xdc\xec,\x1a\x90?\x09\xe41\xf5\x06\xe1S\x9f\xc4\ +\x9d\xf0\xa6\xf7\xcadbw\xa3\x19\xab\xa2\xa2\xae\xc4j\ +\xea\xb9\xa78\x91)0C\xa4\xc1\x12\xb0\x08\x07\xfe\xed\ +\xe8\xb8\x92\xa34o>\x22\xfc\xfd\xa04\x13\xa8\xb9\x14\ +\xefCE\xbd\x11B\x9f\xcd\xd2\xc5\xc4P\xfb\xc2\xf8c\ +\x0c\xdf*\x91e\xb6\xdcS\x8d\x16\xb0\x07\x81)\x0c\x10\ +Z\xec1\x8b-|'\xb5\x08\x15\x98\xa0\xbfb\x03\xbc\ +\xbeB$\x94[\xcb\x04U|P\xcbDF\xef\xec\x5c\ +\xa2\x9a\xc5H\xc3\xb0p'\xb6\xc0\xc6\x90\x01\xd7n\x05\ +&\xce/\xc5~\x1f\x83s\x17\x12>\xfb\xf6C\xab\x8b\ +\x99\xb9\xd9e\x5c\xe2\xc5}\xb1\xc8>\x8d\xcc{Q1\ +8 \xf8&\xedxd\xbd&@~\xbdp\xbc\x0d\x86\ +\xc7\x01\x19\xdb\x8a#\xc4\x9c\xa7\x5c\x0c\xb6\x87[\xcf\x22\ +\xfcn\xe5\xb5\xaa\xc8\x9e\xf2\xd1\xfb\xd101\xd0D\x0a\ +\x85'\x19\x19\xcb\xf4\x86)\xc1\xbc5\xa5\x08[\x064\ +\x91!\x5c~\x0c\xef\xa2m\xf4\xe1:\x9b\x85\xe2\xb5w\ +Qx\x81\x12\xd5\xb0\x0bW\xf1D\xc1b\xc3\x90\x8e\xb1\ +\xc1\xc4\x88V\x01\x03\xa5k[\xe8\x98\xb7\xcc\x8deV\ +O\xa9\xf7f[\xb89{s\x90\xdeg\x099\xaf6\ +H+\xf7\x09\x8a\xc1\xb0\x06\xba\xc0 !\x91\xb8u\x8e\ +`\xbb\xd7\xc1\xa0\xec\xecC\x9e\xcc8\x0a\x07\xc1\xc8\xce\ +\xe9x\x9b\xaff!\xa0\xe1\xdb\xc4\x5cb\x0a\xa1\xafx\ +\x10n%\x01z\x92A\x06\xbd\xec!J\xb1,/$\ +\x02\xcc\x1c>\x0cl\xa54\xfa:\x07\x18\xc1\xf1B\xc4\ +Z\xf8\xd1D\x89\xb2\x88\x89\x15\x95\xbb\xba\x90W\x84\xe6\ +zA\x15\x92\xfc;\xca\x90N\xef'\xfb\xc9!'\x80\ +1\xd3\x81h\xe8\x06\xc1\x08\x1c\xf5@\x90\x0cz\xd0;\ +K\x00\x98\x18\xa7@\xfb[\xeb\x92F{\x86@\xba\xc4\ +!\xbc\xfa\x0e\x01\xb0L90\x8a\x89\x5c\xa2\xce*\xfd\ +\x95BH\xb2\xf8rY\xb2\x87\x8f\xad\x5c\x83\xb5\x87\xa1\ +!$\xf0\x06\xd4\xcfM\xd6\x00\xd0 \xd6\xe0\x98\x10\xfd\ +\xd0R\x8d\xc0\xe8$\xf5@p\x11\xfaZ\xa4\x8ac0\ +a\xfd@\xe6\xe2\x12\xc7r\x22?\x80\xaa\x91\xfet\x81\ +\xcf\x81\xdf\x0b\xfc\xc9\x14e\xbd+.\xffB\x04\x7f\xea\ +\xfc\x08.\xa2K\xe4\xa6kbr\x01\x80\x1e\x02\xf0\x14\ +\x03\xac \x02\xd0\x1a\xf6\x001\x01@.\x03\xabt\x03\ +\xe0O\x02@:i\xe0(\x03.8\xda\x8d\xb8\x0e\xad\ +\xbcm\x02X\xad\x87\xd6\xe8\x822\xf2\xe7\x88\xff\x22&\ +\xf3ev\xd9\xed\x18\xa9\x09:\xe2b\x5c_\xec\xd2\x06\ +\x8f\xc6\x04\x88\xf4\x04`W\x02\xa0N\xf4\xe0D4 \ +\x1e\x02E\xf4\x86\xc3\x5c\xfaB4\x16p\x90\x14\x01\x03\ +\x09`\xc3\x04g\xd0\xa7\x0e\xd0#\x0b\xea~\x8d\x96\xff\ +G\x22\x9ag\xf6\xff\xc0\x00\xf3\xe2P\xc7@\x1a\x02\x0e\ +\xe4\x0d`\x89\x0c`\xaaG\xa4\x7f\x08\xc2(\xaf\x0b\x88\ +ua\xd8\xc2\xc9\x14!\x84\xc8\x19\xc1\x84\x8a\x10\x9c\x83\ +p\xa0\xf8\x8azU\xca~ZM\x12f\x08\xae\xe9\xaa\ +\xc8\xa2\x0a$\xc6BD\xfc\x00H\xce\xc1\x1a\x16\x0e,\ +\x05p\xd0`KZ\xf0\xe1\xc4\xf7\xa1\xb0\xad\x01\xc4\x1b\ +O\x06\x1c!\xb2\xeb\x81\xcc~O\xecY\x80\xf1\x13\xe1\ +*\x09\xd1D\x0cB\x18\x1d1L\x1cez\x05\xa7\xe4\ +%\x0b\xe2\xf8PL#\x0e\x8c~\x90T\x22PX\x11\ +\x10\x5c#0\xb8#\xe5\xfe\x13\x91x\x18`Y\x17\xe0\ +nRf\xbe\x1d\xf1\x88\x1dc\xd6\x1c\xa1\xbc\x1cq\x94\ +\x1b\x8e<\x1a\xd1$\x1c\xf1\xa0\x1c1 \xb6A\xec\xb6\ +\x826\x9ea\x14\xdf\xc0\xea!\x87\xfe\x7f@]\x12\x81\ +\xb4%\x08\x8c\xc4,F}\xc9\x94\x5c!\xe4\xe8\xeeZ\ +\xa1O\xf8\xe9\x8eb\xa8\xea \xf9\xe8d$\x00\x9b\x1e\ +\xa0\xc0\xa4 \xfe\x13\xe2`<\xca\xb2\x1e!\xdb\x14\xc1\ +\xd2\x1cq\xc1\x12\x81\xb6mA\xda\x1d\x11\xfa\x1d\xc7V\ +\xeb\xab~\x9f\xc1\xd3\x1a\x81\xe8A,\xb8\x0dk\xc2\x12\ +\x82 N\x80\xde\x09a\x8b#al%\x10\x80\x02q\ +\xc9\x15\xe2.~N\x14x\xee\x5cy\x8d\xdf\x10\x02\x16\ +\xda+\xfe#\xd1\xc8j\xa0\x80\x0a\x020`Q\x88\x1d\ +\xf2\x18\x1c\xc1\xc0Pa\xc8q\xa7\x1d\x19A\xc6\x1br\ +t\x1b\xb1 \xfe\xc7n\xd2n\xfc\x17b \x11\xd2\x94\ +\x0e$\x98\x14\xcb\xd0$\xf1Z\x15\xad\xcb\x0bRH\xe5\ +\x92L\xe1\xae^\xc5\xa5\x86\xe20`\xba\xd0d#\xaa\ +\xc0\x180\xa2 \xf2j\x1daK,\xe1\x1c\x8c\xd1\xa0\ +\x1c\xe1\xc2\xaa\x81\xd4\x1c\x91W\x0d\x02\x16\xfc`F\x15\ +R\xec\x1a\xb0:!J\x9e\x13\x01\x0f/\xa0\xd3\x1cP\ +\x9e\xe4\xe8\x98\xf8\xa8\xa1\x16b#\x16\xaea+g\xfc\ +H\xec\xc5+\xe29\x09a\x02\x14 \x972`\xbc\xeb\ +h\xdc\x1c\xd3&\x09`<<\x01\xfb.K\x9eCN\ +\xaa\x1a\xef\xb0\xebB\x16E\x81\x98\x17\xea\xfc\x08QX\ +\xec\xcc\xa5\x0f\x024\xd9%c\x0a\xb0V\xa8r\xb3%\ +1\xde\xba\x83'\x10m\xa6#\xef\xd4\x0c \xf2\x0ds\ +\x80\x10\xcd\xf6\x1f\xc1\xfa\xe4 e0\xd3<\x22J\xc0\ +\x18\x0c\xdc!q\x8e\x1b\xd1R\xfd\xa2G\x04\x88<\xc4\ +\xb0\xb5\x16%\x9f9\x02\x1f1\x12\xb4#\x11r#\xc0\ +}< \x9b)A\x1c\x16B \xc3,6\xc3\xa4\x12\ +\x91\xe0\x8b=\xa0\xac\xf4\xe0C\x0d\x81\xa1>a\x88\x16\ +\xf3\xec\x14\xa1\xef?!\xea%\x91>\x0f\x01,\x9f`\ +\xa9/\xe2\x16k\xe7\xf4\x05\xf1\xc0$\x92\xa3*rT\ +\xb9c30\xb1\xd6\xdd\x8dS\x0b4\x16!3\xbe#\ +\xa0KB\xe0],\xe1J\x19\xe6\x1e!!'C\xe0\ +\xf0\x144D\x11\x22X_\x0b\xcc\x0ea\x1e\x0a4T\ +\x0c\xd4:!\x08b\x18\xc0\xfdF \xbd(\x22P\xe4\ +)F\x94\xa2 \x0dTt\x08\x81\x95G\xa1z$\x8f\ +\x82\xf8s\x07\x0f!\xe1A\xd2\xae\xe9%\xae\xcb\x91\xdd\ +1Q\xe0\xa2(\xb7%\xa2;\x0b\xc0 \xb5, \x02\ +\xe2\x18\x9c\xc1l\x14tb\x0f\xd3*$\xe2\x9e\x98\xb2\ +a&B/\x12\x14N\x0a\x01\xb3L\xe1\x9e$\x8a4\ +\x07@\x90\xd3,\xe8!\xef\xe0\x11\x00\xd4\xea\xa1/A\ +\x0d\x07\x15\xcd\x0a\xe5FK$\xae\x18\xdd\x8b\xa2\x7fo\ +\x9a\xa93\x1c#\xec\x88\x14L\x8c\xc9\x02\x18\x93\xd3z\ +\x07\x22P\x91\xf3\x96$\x0c\xe4\x18\xc1p\x9ej8$\ +px\xcf\xe1R\x1aj\xc6!k$\xb2\x88p\xb2\xe2\ +F\xf2*\x095\xd0OA\xaf1A\xef56\x91l\ +fo\x9b7J\xf8$+\x08\x14\xe0\x8dV`\xb0\xaa\ +j\xab@\x00U\x1a\x91\xac$Jf\x10\x01@\x09\x95\ +\x80\x0b\xe2@\xecA\xd8\x1c\xf4T\x0a K?!\xef\ +?b>\xf4n\xaa\x1b\x0f\xac\x03b\x18\xd7\xc1d\x13\ +\xcdv\x10@\xc7H\x13\x02\x11UF\x06I!5\xea\ +\x0e\xf8\xeb?+\x12P\xe1\xf4\x997\x0a!PN\xf0\ +$il\x0f\x80\xd3]\xe1\x06!\x8b\x88\xee@U-\ +a\xc2$\x95\x0bP\xe0T\xc9\x22>k\xee\xe4\x05s\ +\x9e$\x91x\x13\x81\x86\xdc\xa2\x18\x18v\x10\x16\x89H\ +\x0e \x9a$\x92>}T\x85[\xee\xd2\xe5ec;\ +B\x1d;\x93m\x5c\xeb\xf974\x9f\x10\x82CV`\ +\x8c\x0a\xeb\x08\x15\x13\x878\xa9C8\xf5P$\x13\x97\ +9\xa2=\x22\x0c\xb8\x05q $\x95{W\xf5\x82!\ +\x88\xd0\x1a\xc1\x98\x0b\xf6t\x06\xc6$\x22\xf4\x83,b\ +-;\x00{b\xc2\x1b\x16\xb1n#\x0a\xf0\x9bU\x06\ +#\xc7@\xe3!H\x19\xb4Z \xf3S4\xc1~$\ +\x8a\xfc\xb0\x052\xb0B?(4\x00\x05*\xf0$\x8e\ +\xbe\x0b\xa0\xe9#\x01\x16\xb5\x88.\xcb\x80Y\x0d\x82A\ +TV\x80\x22\xb3`VO\x91U%p\xbf63;\ +\xd68\xbf\xd6<$\x08\x8c\xb0\xe1\x5c\x1bL,!\x91\ +\xf0\x0b\xef\x1a\x16\xaf\x1e$q\x0d.\xc1T\x1a\xa0\x0b\ +q`\x0c#\x8dh\x121\x10\xb2\x02O< |\x09\ +\xd3\xc8\x16\x22\x18`S\x8d6B5#\xf2CO.\ +\x10d\xab\xedn0\xadno9Bb\x10\xe9\xe8`\ +\xfa\x02HJu\xf2\x05\x17`\x06B\x19P\xa1\x16\xd3\ + \xec%\x12'\x22\xa2(*T\xb0\x14r\xfa\x10\xe0\ +\xd3:BL\xcd kP\xa7l!\xf3\xd0\xc3\x81z\ +\xc3\xc2?A(?u\x02\x0fhV\x88!\x8f\xf6Z\ +\xe5\xb3P0c]bL\x12\x17\xb8\x16\x87H\x07\x80\ +\x96!\x8d\xbe\x15\xf0>\x0aBYL'$\xc6\x80P\ +!\x8a\xf0@\x00\xa6\x05\x16\x02%w\xd4\x15\x17\xe8\x1a\ +U6!K*\x0f5;mt\xee\xa77Abw\ +E\x0a\x97I6wM6\xb5\xcc#\x07\xfez)Q\ +x\xe2M2\x13%2\x82\x18\x8c\xcb\xd6\x0b\x80f\x91\ +\x02V4\xe0\x86\x0a\x87v\x15b!R\x95\x22\x17\x02\ +Y\x02\x0bR\xc0\x22\x19\x09\x01g\x09P\x99oU\xb7\ +\x7f\xcaw*\x83-tu\xc7O\xd7O6\xf67]\ +7\xb2\xf4\x02H\xed\xe0\xe0\x11\x98&\x0eb\x18\xfe\xd5\ +\xe9 \xc1\xd0%\x8a\xdcB!6\x18B!{\x81 \ +\x0e\x96\x9c\x94\xc2Wq`\x0a\x00\xd50\x1a\x8fj!\ +\x8d^\x0cX\xb0\x07XT\xdcj\xdb\x7f\xf0\xa5b\x80\ +}zb\x17z\xa9\xe9IP\xb5\x81(\xb7\x81tj\ +\x94V\x17\x89\xc6\xf2(Vt\x0b\xe0mf\xe1\x98%\ +\x8fk~\x81P\x1aE\xf0!\x96\xf8\x13+\x08\x0d\x02\ +`\x98\x01*\x17@o\x90\xa0\x8bV\xd2\xdfm\x12\xe2\ +#V\x7fT\x98\xbe\x89\xed\xd4\xc5U\xc9h\xe2/B\ +\xa2H\x07\x190\x08\xcb*\x17\x22 \x0f\xb9<\x0b\x93\ +\xec\x16\xe1KD\xa45q\x01\xa9.\x82\x19q\xf7\x22\ +&\x0ep\xb1\xa9\xe1rB\x14`K\x1c\x06*\x80#\ +\x95D\xf2\x97\xa0 \xd2\xabb\xb6S\x80\x8d\xdb\x80\xd8\ +\xcf1\x88\x04\xdeu,\xb7u1SBh!\x8e|\ +\xe8\x02_l6\xc6N\xa2\x10\xfe\xc8\xa1s\x82R\xee\ +@\xd4\xc3!*\x22\x18t\x09\x81\x89\x9b\xa1k\x96\xd7\ +\xfb$V\x83\x1d\x09\x9d\x9a\x82!h\xd5X\xae\xe6q\ +iW\xb4$\xa7\xb9400!\x97\x94\x15\x93\xd0A\ +-'\x83\x00\xa6\x99a\xe7\x84\xc1>FA\xbe\x1a\xe4\ +\x12\x97 \x80\x13:\x09j\xa2\x1fv\xd7h#\x97<\ +\x91\x81_\x9cB+\x97x\xc3\x97\xa2$\xba\x04@\xd1\ +qq+\xad\x1d\x9d\xa2P\x13\xba8\x18\x8d\x88\x05\xe0\ +v!\x8e\x02\x1b\x01\x9dl ig\xb3\x92!sG\ +48\xf6!h \x15\xe16\x9d!\x0a\x0c\xc29:\ +\x94\x15\x86\x8d\xd1\x8c\x18\xc4!Y\xd1P\x0d\xa1\xa3\x19\ +\x88$\xd9<\x0f\xa18\x09\xfa\x8d[\x22\x17\x0d\x95\xe9\ +,\xbaR#\x0bS\x07\x82\x19G\xa1\x94\x17\x94t\x0d\ +Y\x0e#z\x16\xc4Z\x1c\x22\x9a!\xa7b\x12\xd9\xb7\ +\xad;\xb9+n\xed\xa5U\xe2Q\x99\xd6\xc8\xc1\x22\x85\ +\x82`gL\xe1\xb3M:\x9a!E\xfa\x83@+>\ +\x00\xf3\xae\xe1/\x11b\x19\xad\xc1\x9f8\xd9\xc0u\x18\ +6\xf6p\xb5m\xf9\xcd;uU18\x10H\xf0\x03\ +\x00bSr\x97-)W0!\xeb\xc2\x0a\x8b\xbc\x15\ +\xa5TJd\x07JP\xdc5\xa0%\x10\xcf\xb7}S\ +F\xcc\xc04\x86\xa6D\x22x\x17\x8e1\x82#s\xa9\ +\xabb'\xb0\x98\x07\x16\x90\xaef\x1a-n\xca d\ +\xf8\xd4%o\xba\x04 S\x8f\x01\xa46\x03d!n\ +\xfc\x0fm\xb0\x13\xd3\x84D\xa6\x88\xf6\x10%\x02r\xe9\ +\x11r\xe9}P4\x03(\xe4e\xa2`\x14{\xa8\x11\ +\x81#\xba\xf1\xb7\xb5U\xb7[\xb6%\x16\x11\xd1\x8b\x00\ +\xc4\x07yj\xd5\x0d\x14r\x95[c\xb3v%L\x03\ +o\x81\xb3J\xa2\x19S\x01&\xcf\xa28h\x89\xc7J\ +@3\xbe\xe0>\xfbp*\xfb\x8f\xba\x05SG\x03\x14\ +\xa4OE\x998\xcb|\x1c\xc1\xbf\xa6\xb8Wm\xa2(\ +\xb9\x88H\xed\x97J\x9aP\xfc\xd5V4\x8b:\x81i\ +bJ)\xfb\x86\x18\xcd\xac!\x81q\xc3\xa1L\xde\xc0\ +\xb6 \x94\xab\xb9\xfb\xf7}Q\x0d\x07\xdbH\xc2\xc4\x06\ +\xf4n\xf3!\xd4\xcb\xa8\x223m\x99\x1d$x_\x80\ +XcnY\x7f\x5c\xb0\xb5\x92\xc2V\x10\x9c|\x14\xa0\ +\x91\xc8 \xb4!\x95\xec\x80\x81\x8e\xfb{\xee\x03 ?\ +\x0b\xc0#j:\xe2 \x8c\xaa\x8da\x9a\x18\x011\xca\ +\xa0\xfe\xbd\xd5\xb5\x8b\x90K\x8b\xc2/\x05\x07\x8b\xa2S\ +\x0f\xb0\xfa\xc4\x22\xdcx%E\x1a\x0c\x00\xf0r\x5c\x9e\ +!\xb1\x1c\x82\xc1\xd5\x12\x12\x06\xad1\xfa\x1d\xb2\xcb\x0d\ +\x92\x83 \x01\xc7\x0e\xae\x0a\xf8\x5c\x14\x22p\xa6Y\xfb\ +\x0bb\xf5U\x92\x9c\xc9\xac\x94\xa1\x88\x89\x91\x88\xd8\x90\ +\xeaF\xbf\xce\xc5\x07\x191\x94\x1bq%\x19\xb5\xed\x1a\ +kfOY\x1bHu\xc0U\xd4\x8dO\xbcqB'\ +\xf9\xa7\x0e\x9c\x85\xceiu\x82^e\xa1\x1f\xd5!d\ +\xd2dL*P\xd9\xcf\x12\xdc\x1c\xbc\xe7,\xae\xb8\x1c\ +\xb1.\x1b2|\x1b\x92\x0d!\xfd/\x08\xd9n\xb99\ +r \xbc\xfe~\xbcn\x22\x9a\xc0\x9e\x9d\x08\xc5\xf9\xd6\ +\x8b|`%\x9bIZ\xe1D\xcf,\xf6#f\x05\x0d\ +\x91\x8e\x1b\xf3\x9e\xe3\xc1\xab\x12]\xae\xf0\xe1\xc3(\x9c\ +\xd6\x22\xfce\xd3X\x00\x1e4\xf8\x9a1\xdb\xc7}\x0d\ +o$\x10JxzJ\xa0z\x09\xb0\x80\x02I\xae\x1f\ +\x86H\x1e\x11.\x1b]s\x9f\xc1\xad9\xfdc\x91}\ +\xc3\xcfP\xef\xdc\x99\x1e~}\x01\xb5\xfc\xc2\x8a\xbc#\ +B]E\x104\x9do\x1b\xd3\xe0>%0\x087\x1c\ +\x96\x0c\xca\x99\xc8\xca\xfe\x11\x9c\xfc\xc5n\xa2.\xaf\x14\ +\xe2\x0dY\xfc\x1a\xec\x18\xc1\xde'\xe4\xe2D\x07~T\ +\x09S\x80\x0da\x0at\x0cO\x86\x09+\xc7\x14\xfe\x81\ +\xc2>\xaf\x1aP9\xc6\x92b&\xee1C\xb9\xe7b\ +\x18nF\x84cG\x9co\x02\x0b\xe8\xde\x86^E\xce\ +;&\x99\xe7\xddE\xe8\xc6\xf7\xe9\xa2\x85C\xa5\x8d\xe9\ +`\x02_\xf0\xb4 \x9a\xbb\xcc\x1e9\x80\xbcu\xd8>\ +Q\xec.\xa5\xebt\x8e\xed\xa5\xab\xac>=\xec^\xd5\ +\xdc9\xa4s=\x03h\xa4\xb9\xaa\xa1\x09F\xde\xd7\xee\ +\xbe$\xb5\xb3S\xdbE\xa8\x00\xf8&\x0e\x95\xde\x0d!\ +\x07\xeb>\xed\xf0e#\x19\xb20\x09U\xec#\x1b|\ +\x08?\x18\x0a8\x1d\xba_\x09\xf2.l<\xdc:\x17\ +\x01L\x90\xa0\xd9\xe0\x06&)/\xb7\xda\x00W\xf3\xe0\ +m\xf2_D\xda\x98\x85\xe4/\x14\x18!e3\x828\ +e\xb80\x0a\x98t\x11\x90\x1b\xf4\x7fdRG\xe5)\ +\xa1!\xbe\x1c\xe6$\x89\x14\xcf \x9dIPr\x05x\ +\xa0\x00\xff6c\x02\x1cnE\xe1\xe9%\xed\xe7\xe3\xac\ +<_\x95\xe8?\x94n_\x98\xc5\xde\xac\x22\x1f\xa6c\ +>\x94oE\xdb\xf8~y\xe8\x9f\x9f\xf9\xa6\x82)f\ +\xbf\xd6\xe7\xc4\x13\xc1y\xfc\xa1W!\xc2P)\xe6[\ +\x10\xd7`\x05\x00d\xfbt\xa4)\xf6\xbf\xfb\x22\x0en\ +?\xbc,\xff\xb0 F\x8c;\x06\x9a \x0f\xf7\xf8\x06\ +\x09\x05\x82@\xa0@\x08P\x00\x05\x0d\x01?\xa2\x0f\xe8\ +\x5c2\x1a\x03\x88\xbf`\xd18\xd4l\x01\x08\x81\xc1c\ +\xd18\xf48\x05!\x8eH\xe1\xd184E\xfd(\x86\ +\xc4\xe5\x92H\xf4z\x0d\x19\x85\xcb&\xd1\xc8\x5c\x92Y\ +&\x85NcRG\xed\x0d\xfb\x13\x92>i\x0f\x87\x9d\ +-\xde\xe3\xa77\x1b\xd5\x16\xb3\xa2\xa8\xe1{\xd5\xde\xb3\ +\xe9\xd5n\xb9]\x8eA\x80v\x10%\x8c\x08\x05\x99L\ +\xe15\xe9<\x22\x81j\xb7[\xeb\x95\xabm\xc2\xe9u\ +\x9dM \xb7k\xd4v\xd9y\xbd\xdf\xf0\x11\xa9e\x11\ +\xf9\x17\xad`q\x18\x9cV/\x19\x8d\xc7c\xf2\x19\x1c\ +\x96O)\x95\xcbe\xf3\x19\x9c\xd6o9\x9d\xcfg\xf4\ +\x1a\x1d\x16\x8fI{\x80\x80\x00\x00\x00\x03\x00\x01\xa0\x03\ +\x00\x01\x00\x00\x00\x01\x00\x00\x00\x02\xa0\x04\x00\x01\x00\x00\ +\x00`\x00\x00\x00\x03\xa0\x04\x00\x01\x00\x00\x00`\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00Adobe Pho\ +toshop Document \ +Data Block\x00MIB8n\ +rTM\x00\x00\x00\x00MIB8ryaL$\ +!\x00\x00\x01\x00\x03\x00\x00\x00\x03\x00\x00\x00]\x00\x00\ +\x00\x5c\x00\x00\x00\x04\x00\xff\xff\x88\x0d\x00\x00\x00\x00\x0c\ +\x06\x00\x00\x01\x00\x0c\x06\x00\x00\x02\x00\x0c\x06\x00\x00M\ +IB8mron\xff\x00\x08\x00<\x01\x00\x00\x00\ +\x00\x00\x00(\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\x00\ +\x00\xff\xff\x00\x00\xff\xff\x00\x00\xff\xff\x00\x00\xff\xff\x00\ +\x00\xff\xff\x00\x00\xff\xff\x00\x00\xff\xff\x00\x00\xff\xff\x07\ +Layer 0MIB8inul\x14\ +\x00\x00\x00\x07\x00\x00\x00L\x00a\x00y\x00e\x00r\ +\x00 \x000\x00\x00\x00MIB8rsnl\x04\ +\x00\x00\x00ryalMIB8diyl\x04\ +\x00\x00\x00\x03\x00\x00\x00MIB8lblc\x04\ +\x00\x00\x00\x01\x00\x00\x00MIB8xfni\x04\ +\x00\x00\x00\x00\x00\x00\x00MIB8oknk\x04\ +\x00\x00\x00\x00\x00\x00\x00MIB8fpsl\x04\ +\x00\x00\x00\x04\x00\x00\x00MIB8rlcl\x08\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00MIB8d\ +mhsH\x00\x00\x00\x01\x00\x00\x00MIB8t\ +suc\x00\x00\x00\x004\x00\x00\x00\x10\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x08\x00\x00\x00metadat\ +a\x01\x00\x00\x00\x09\x00\x00\x00layerTi\ +mebuod\xc5\xa4\xf3l\xf98\xd6A\x00M\ +IB8prxf\x10\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00S\x00O\ +\x00\x0f\x00\x0c\x00\x0a\x00\x09\x00\x09\x00\x09\x00\x09\x00\x15\ +\x00K\x00K\x00\x1e\x00\x1e\x00\x1e\x00\x1c\x00)\x00'\ +\x00(\x00$\x00'\x00\x22\x00'\x00$\x00&\x00%\ +\x00%\x00 \x00\x1d\x00\x1c\x00\x1c\x00\x1d\x00\x1b\x00\x1d\ +\x00!\x00\x22\x00#\x00%\x00!\x00$\x00+\x00+\ +\x00,\x00+\x00(\x00%\x00&\x00.\x00/\x00.\ +\x00+\x00-\x00-\x00.\x00-\x00.\x00/\x00-\ +\x00.\x00-\x00.\x00-\x00-\x00*\x00%\x00#\ +\x00(\x00,\x00+\x00,\x00,\x00%\x00#\x00!\ +\x00&\x00\x22\x00!\x00\x13\x00\x14\x00L\x00\x09\x00\x09\ +\x00\x08\x00\x09\x00\x0a\x00\x0a\x00\x0c\x00L\x00W\x00 \ +\x00\xfd\x00\x04\x05\x11!-1\xfe/\xfc0\x181/\ +/0110010/1/0010/\ +0110/01\xfe0\x0a/21100\ +/00//\xfe1\x000\xfe1\x05010/\ +01\xfe0\xfe1\xff0\x081/0/-'\x18\ +\x08\x01\xfe\x00\xff\x00\x07\x01\x14X\xab\xdb\xec\xf0\xf0\xfd\ +\xf1\x00\xf0\xfe\xf1\x00\xf2\xfd\xf1\xff\xf0\x01\xf1\xf0\xf8\xf1\ +\x03\xf0\xf1\xf1\xf0\xfe\xf1\xfe\xf0\x07\xf1\xf0\xf0\xf1\xf1\xf0\ +\xf1\xf0\xfc\xf1\xff\xf0\x1b\xf1\xf0\xf0\xf1\xf2\xf1\xf0\xf1\xf0\ +\xf1\xf1\xf2\xf0\xf1\xf0\xf1\xf0\xf0\xf1\xf0\xee\xe4\xc2|.\ +\x06\x00\x00\xff\x00\x03\x16\x86\xed\xfd\xb3\xff\x04\xf9\xbfA\ +\x06\x00\x03\x00\x08l\xf4\xb0\xff\x03\xfe\xbd*\x01\x02\x00\ +$\xd0\xae\xff\x02\xf8x\x07\x02\x02O\xf6\xad\xff\x01\xc0\ +\x14\x02\x05r\xfd\xad\xff\x01\xe1#\x02\x08\x86\xfe\xad\xff\ +\x01\xed+\x02\x08\x8f\xfe\xad\xff\x01\xef-\x02\x09\x91\xfe\ +\xf1\xff\x00\xfe\xdb\xff\xfe\xfe\xfd\xff\x00\xfe\xec\xff\x01\xef\ +,\x02\x08\x91\xfe\xfa\xff\x17\xfe\xcf\xc2\xc3\xc2\xc4\xc3\xc4\ +\xc3\xc3\xc4\xc4\xc1\xc3\xc3\xc2\xc3\xc2\xc2\xc3\xc2\xc3\xc4\xc4\ +\xfe\xc2\xff\xc3\x0c\xcb\xd5\xdc\xe1\xe1\xdd\xd5\xcc\xc2\xc3\xc2\ +\xc2\xc1\xfe\xc3\xff\xc4\xf9\xc3\x06\xc4\xc3\xc3\xc4\xc2\xc3\xc4\ +\xfe\xc3\xff\xc2\x01\xc7\xf1\xf9\xff\x01\xf0-\x02\x09\x90\xfe\ +\xfa\xff\x03\xfaK\x18\x17\xfc\x18\x14\x17\x18\x16\x19\x17\x18\ +\x19\x19\x18\x19\x18\x17\x18\x19\x19\x18\x17/~\xce\xf4\xfb\ +\xff\x13\xf7\xc8\x810\x18\x16\x19\x19\x17\x18\x18\x19\x18\x18\ +\x19\x17\x19\x18\x19\x18\xfd\x19\x08\x18\x19\x19\x18\x19\x19\x17\ +,\xc7\xf9\xff\x01\xf0,\x01\x09\x90\xf9\xff\x01\xf98\xeb\ +\x00\x020\x9f\xea\xf5\xff\x02\xeb\x996\xe8\x00\x01\x15\xc0\ +\xf9\xff\x01\xef.\x02\x09\x91\xfe\xfa\xff\x01\xf97\xec\x00\ +\x01u\xf4\xf1\xff\x01\xf7c\xe9\x00\x02\x14\xc2\xfe\xfa\xff\ +\x01\xf0-\x02\x09\x90\xfe\xfa\xff\x01\xf88\xee\x00\x01\x12\ +\x91\xed\xff\x01\x9a\x17\xeb\x00\x02\x14\xc2\xfe\xfa\xff\x01\xef\ +/\x01\x08\x90\xf9\xff\x01\xf99\xef\x00\x01\x0e\xc7\xeb\xff\ +\x01\xba\x02\xec\x00\x01\x14\xc1\xf9\xff\x01\xf0/\x02\x09\x90\ +\xfe\xfa\xff\x01\xf97\xef\x00\x00\x95\xfa\xff\x09\xd1\x9c]\ +B;Hj\xaa\xd6\xfe\xfa\xff\x01\x97\x04\xed\x00\x01\x12\ +\xc0\xf9\xff\x01\xef-\x02\x09\x91\xfe\xfa\xff\x01\xf98\xf0\ +\x00\x00r\xfb\xff\x02\xc9E\x02\xfa\x00\x02\x05C\xbf\xfa\ +\xff\x00\x86\xed\x00\x01\x14\xc2\xf9\xff\x01\xf1-\x02\x09\x90\ +\xfe\xfa\xff\x01\xfa8\xf1\x00\x01-\xf5\xfc\xff\x01\xa3\x09\ +\xf6\x00\x02\x02s\xfc\xfc\xff\x01\xee\x16\xee\x00\x01\x15\xc1\ +\xf9\xff\x01\xef-\x01\x09\x92\xf9\xff\x01\xf97\xf1\x00\x00\ +\xb6\xfc\xff\x01\xa8\x06\xf3\x00\x01C\xe7\xfc\xff\x00\xa0\xee\ +\x00\x01\x15\xc2\xf9\xff\x01\xef,\x02\x09\x91\xfe\xfa\xff\x01\ +\xf98\xf2\x00\x01\x1b\xf4\xfd\xff\x01\xe3\x13\xf1\x00\x01:\ +\xfa\xfd\xff\x01\xf9%\xef\x00\x01\x14\xc2\xf9\xff\x01\xf0/\ +\x01\x09\x90\xf9\xff\x01\xfa7\xf2\x00\x00\x82\xfc\xff\x00g\ +\xef\x00\x00\x8f\xfc\xff\x00\x87\xef\x00\x01\x15\xc2\xf9\xff\x01\ +\xef-\x01\x09\x91\xf9\xff\x01\xf87\xf3\x00\x01\x12\xea\xfd\ +\xff\x01\xe9\x0d\xef\x00\x01\x08\xd8\xfd\xff\x01\xdf\x0a\xf0\x00\ +\x02\x14\xc1\xfe\xfa\xff\x01\xef/\x02\x08\x90\xfe\xfa\xff\x01\ +\xf98\xf3\x00\x00n\xfc\xff\x00\xad\xed\x00\x00o\xfd\xff\ +\x01\xfd0\xf0\x00\x01\x15\xc2\xf9\xff\x01\xf0-\x02\x09\x91\ +\xfe\xfa\xff\x01\xf97\xf4\x00\x01\x0f\xe5\xfd\xff\x01\xfe;\ +\xed\x00\x01\x17\xee\xfd\xff\x00T\xf0\x00\x01\x14\xc3\xf9\xff\ +\x01\xf0/\x02\x09\x91\xfe\xfa\xff\x01\xfa7\xf4\x00\x01(\ +\xef\xfd\xff\x01\xc2\x02\xec\x00\x00\xcb\xfd\xff\x00c\xf0\x00\ +\x01\x15\xc1\xf9\xff\x01\xf1-\x02\x09\x92\xfe\xfa\xff\x01\xf8\ +8\xf4\x00\x06\x01\x1bP\xc0\xff\xffI\xeb\x00\x00\xb0\xfd\ +\xff\x00m\xf0\x00\x01\x15\xc2\xf9\xff\x01\xf0.\x01\x09\x90\ +\xf9\xff\x01\xf98\xf0\x00\x02C\x87\x07\xeb\x00\x00\xb6\xfd\ +\xff\x00m\xf0\x00\x01\x15\xc2\xf9\xff\x01\xf0.\x02\x09\x90\ +\xfe\xfa\xff\x01\xf99\xd8\x00\x01\x09\xda\xfd\xff\x00b\xf0\ +\x00\x02\x15\xc3\xfe\xfa\xff\x01\xef-\x01\x08\x91\xf9\xff\x01\ +\xf97\xd8\x00\x018\xfe\xfd\xff\x00Q\xf0\x00\x02\x14\xc2\ +\xfe\xfa\xff\x01\xf0/\x02\x09\x91\xfe\xfa\xff\x01\xf98\xd8\ +\x00\x00\x9b\xfd\xff\x01\xfc2\xf0\x00\x01\x14\xc1\xf9\xff\x01\ +\xf0.\x02\x09\x91\xfe\xfa\xff\x01\xf98\xd9\x00\x01*\xf8\ +\xfd\xff\x01\xd5\x06\xf0\x00\x01\x14\xc1\xf9\xff\x01\xf0.\x02\ +\x09\x91\xfe\xfa\xff\x01\xf99\xd9\x00\x00\x8e\xfc\xff\x00\x80\ +\xef\x00\x01\x14\xc2\xf9\xff\x01\xf1.\x02\x09\x92\xfe\xfa\xff\ +\x01\xf99\xda\x00\x01\x07\xdf\xfd\xff\x01\xe5\x19\xef\x00\x01\ +\x15\xc1\xf9\xff\x01\xf0/\x02\x08\x93\xfe\xfa\xff\x01\xf98\ +\xda\x00\x01B\xfe\xfd\xff\x04\xef\xc8\xca\xad^\xf2\x00\x02\ +\x15\xc1\xfe\xfa\xff\x01\xef.\x02\x09\x91\xfe\xfa\xff\x01\xf9\ +8\xe0\x00\x06\x0c\x22Cg\x84\x9c\xda\xf7\xff\x01\xb9(\ +\xf4\x00\x01\x14\xc1\xf9\xff\x01\xef-\x01\x08\x8f\xf9\xff\x01\ +\xf99\xe6\x00\x07\x0d(Hn\x97\xbb\xde\xf4\xf1\xff\x01\ +\xd1\x0a\xf5\x00\x02\x15\xbf\xfe\xfa\xff\x01\xee.\x02\x09\x92\ +\xfe\xfa\xff\x01\xf89\xef\x00\x0a\x02\x0e\x1d:Pf~\ +\x9b\xc2\xdf\xf8\xea\xff\x00Q\xf5\x00\x01\x14\xc2\xf9\xff\x01\ +\xef.\x01\x09\x91\xf9\xff\x01\xf98\xf4\x00\x07\x059]\ +\x88\xaf\xd1\xe3\xee\xe2\xff\x00\x9f\xf5\x00\x01\x14\xc1\xf9\xff\ +\x01\xf0-\x02\x09\x90\xfe\xfa\xff\x01\xf98\xf6\x00\x02\x10\ +{\xd0\xe3\xff\x03\xfa\xf0\xdc\xed\xfd\xff\x00\xc1\xf5\x00\x01\ +\x14\xc1\xf9\xff\x01\xef,\x02\x09\x90\xfe\xfa\xff\x01\xf97\ +\xf7\x00\x01$\xd4\xe8\xff\x0a\xfb\xe5\xc7\x9fyR8)\ +\x18\x08\x9d\xfd\xff\x01\xe2\x0f\xf6\x00\x01\x15\xc2\xf9\xff\x01\ +\xf1.\x01\x09\x91\xf9\xff\x01\xf98\xf8\x00\x01\x05\xc8\xed\ +\xff\x07\xf7\xe2\xc0\x9crJ+\x0d\xf9\x00\x00\x8a\xfd\xff\ +\x01\xf8&\xf6\x00\x01\x14\xc3\xf9\xff\x01\xf1.\x02\x09\x92\ +\xfe\xfa\xff\x01\xf99\xf8\x00\x00`\xf4\xff\x09\xfd\xea\xcd\ +\xa7\x82jXC#\x0c\xf3\x00\x00k\xfc\xff\x00J\xf6\ +\x00\x01\x13\xc2\xf9\xff\x01\xf0.\x02\x09\x91\xfe\xfa\xff\x01\ +\xf97\xf8\x00\x00\xaf\xfa\xff\x07\xfb\xe6\xc6\xa3wR/\ +\x11\xeb\x00\x00D\xfc\xff\x00p\xf6\x00\x02\x15\xc2\xfe\xfa\ +\xff\x01\xf0.\x02\x09\x91\xfe\xfa\xff\x01\xf98\xf8\x00\x00\ +\xc1\xfd\xff\x04\xeaxJ+\x0f\xe5\x00\x01#\xf8\xfd\xff\ +\x00\x97\xf6\x00\x01\x14\xc1\xf9\xff\x01\xef.\x02\x09\x91\xfe\ +\xfa\xff\x01\xf88\xf8\x00\x00\xa1\xfd\xff\x01\xe5\x03\xe2\x00\ +\x01\x08\xdf\xfd\xff\x00\xbe\xf6\x00\x01\x15\xc1\xf9\xff\x01\xef\ +-\x02\x09\x91\xfe\xfa\xff\x01\xf97\xf8\x00\x00y\xfd\xff\ +\x01\xfc.\xe1\x00\x00\xc0\xfd\xff\x01\xdd\x0a\xf7\x00\x02\x14\ +\xc2\xfe\xfa\xff\x01\xf1.\x02\x09\x91\xfe\xfa\xff\x01\xf98\ +\xf8\x00\x00M\xfc\xff\x00T\xf3\x00\x05?\x95\xb6\xa2f\ +\x0b\xf5\x00\x00\x96\xfd\xff\x01\xf7&\xf7\x00\x02\x15\xc2\xfe\ +\xfa\xff\x01\xef.\x02\x09\x90\xfe\xfa\xff\x01\xf98\xf8\x00\ +\x01.\xfd\xfd\xff\x00w\xf5\x00\x02\x08\x97\xfd\xfd\xff\x01\ +\xc5#\xf6\x00\x00r\xfc\xff\x00C\xf7\x00\x01\x14\xc1\xf9\ +\xff\x01\xef.\x02\x09\x92\xfe\xfa\xff\x01\xf97\xf8\x00\x01\ +\x10\xe8\xfd\xff\x00\xa2\xf6\x00\x01\x01\xaf\xfa\xff\x01\xe11\ +\xf7\x00\x00H\xfc\xff\x00i\xf7\x00\x01\x15\xc2\xf9\xff\x01\ +\xf0.\x01\x09\x91\xf9\xff\x01\xf98\xf7\x00\x00\xcb\xfd\xff\ +\x00\xc7\xf6\x00\x00?\xf8\xff\x00\xb7\xf7\x00\x01'\xfa\xfd\ +\xff\x00\x87\xf7\x00\x01\x15\xc1\xf9\xff\x01\xef.\x01\x09\x91\ +\xf9\xff\x01\xf97\xf7\x00\x00\xa7\xfd\xff\x01\xe3\x0d\xf7\x00\ +\x00\xa0\xf8\xff\x01\xe6\x0b\xf8\x00\x01\x0c\xe4\xfd\xff\x00\x9d\ +\xf7\x00\x01\x14\xc0\xf9\xff\x01\xef-\x02\x09\x91\xfe\xfa\xff\ +\x01\xf98\xf7\x00\x00|\xfd\xff\x01\xf5\x1f\xf7\x00\x00\xcb\ +\xf8\xff\x01\xf7\x22\xf7\x00\x00\xc3\xfd\xff\x00\xb3\xf7\x00\x01\ +\x13\xc0\xf9\xff\x01\xf0.\x02\x09\x91\xfe\xfa\xff\x01\xf97\ +\xf7\x00\x00W\xfd\xff\x01\xfc.\xf7\x00\x00\xc0\xf8\xff\x01\ +\xf3\x1e\xf7\x00\x00\xa0\xfd\xff\x01\xcb\x01\xf8\x00\x01\x14\xc1\ +\xf9\xff\x01\xf1.\x01\x09\x91\xf9\xff\x01\xfa8\xf7\x00\x01\ +0\xfd\xfd\xff\x00A\xf7\x00\x00\x82\xf8\xff\x01\xdc\x05\xf7\ +\x00\x00t\xfd\xff\x01\xe8\x14\xf8\x00\x01\x15\xc1\xf9\xff\x01\ +\xef-\x02\x09\x91\xfe\xfa\xff\x01\xf97\xf7\x00\x01\x14\xee\ +\xfd\xff\x00^\xf7\x00\x01$\xf9\xf9\xff\x00\x90\xf6\x00\x00\ +N\xfd\xff\x01\xfb-\xf8\x00\x01\x13\xc2\xf9\xff\x01\xf0-\ +\x02\x09\x91\xfe\xfa\xff\x01\xf99\xf7\x00\x01\x02\xcd\xfd\xff\ +\x00\x8a\xf6\x00\x00k\xfb\xff\x02\xfe\xa1\x0a\xf6\x00\x005\ +\xfc\xff\x00T\xf8\x00\x02\x15\xc2\xfe\xfa\xff\x01\xf1.\x01\ +\x09\x92\xf9\xff\x01\xf98\xf6\x00\x00\xb4\xfd\xff\x00\xae\xf5\ +\x00\x01P\xd7\xfd\xff\x01\xfa\x22\xf5\x00\x01(\xfa\xfd\xff\ +\x00x\xf8\x00\x01\x15\xc2\xf9\xff\x01\xf0-\x02\x09\x91\xfe\ +\xfa\xff\x01\xf86\xf6\x00\x00\xa1\xfd\xff\x01\xd1\x04\xf5\x00\ +\x00T\xfc\xff\x00H\xf5\x00\x01\x18\xf0\xfd\xff\x00\x9f\xf8\ +\x00\x02\x14\xc1\xfe\xfa\xff\x01\xf0-\x02\x09\x91\xfe\xfa\xff\ +\x01\xf98\xf6\x00\x00\x8c\xfd\xff\x01\xee\x18\xf5\x00\x00=\ +\xfc\xff\x00s\xf5\x00\x01\x06\xda\xfd\xff\x00\xc6\xf8\x00\x01\ +\x14\xc2\xf9\xff\x01\xf0.\x02\x09\x92\xfe\xfa\xff\x01\xf86\ +\xf6\x00\x00r\xfd\xff\x01\xfe4\xf5\x00\x01%\xf7\xfd\xff\ +\x00\x98\xf4\x00\x00\xba\xfd\xff\x01\xe3\x0f\xf9\x00\x01\x14\xc1\ +\xf9\xff\x01\xf0/\x01\x09\x91\xf9\xff\x01\xf98\xf6\x00\x00\ +F\xfc\xff\x00[\xf5\x00\x01\x08\xdc\xfd\xff\x00\x90\xf4\x00\ +\x00\x8f\xfd\xff\x01\xfb,\xf9\x00\x02\x15\xc1\xfe\xfa\xff\x01\ +\xf0.\x02\x09\x91\xfe\xfa\xff\x01\xf88\xf6\x00\x01'\xfa\ +\xfd\xff\x00\x80\xf4\x00\x00t\xfe\xff\x01\xee-\xf4\x00\x00\ +j\xfc\xff\x00K\xf9\x00\x01\x15\xc2\xf9\xff\x01\xf1-\x01\ +\x09\x91\xf9\xff\x01\xfa8\xf6\x00\x01\x0b\xe2\xfd\xff\x00\xab\ +\xf3\x00\x03D\x97\x8a)\xf3\x00\x00@\xfc\xff\x00u\xf9\ +\x00\x01\x13\xc2\xf9\xff\x01\xf0.\x01\x08\x90\xf9\xff\x01\xf9\ +8\xf5\x00\x00\xc4\xfd\xff\x01\xcd\x01\xe2\x00\x01 \xf7\xfd\ +\xff\x00\x9a\xf9\x00\x02\x14\xc2\xfe\xfa\xff\x01\xf0.\x01\x09\ +\x91\xf9\xff\x01\xf98\xf5\x00\x00\x9c\xfd\xff\x01\xeb\x15\xe1\ +\x00\x00\xd8\xfd\xff\x00\xbb\xf9\x00\x01\x13\xc2\xf9\xff\x01\xf0\ +.\x02\x08\x91\xfe\xfa\xff\x01\xf97\xf5\x00\x00t\xfd\xff\ +\x01\xfe1\xe4\x00\x03\x07\x1c=\xd4\xfd\xff\x00\xce\xf9\x00\ +\x02\x15\xc0\xfe\xfa\xff\x01\xef-\x02\x09\x91\xfe\xfa\xff\x01\ +\xf89\xf5\x00\x00N\xfc\xff\x00S\xec\x00\x09\x02\x12\x22\ +3Ei\x8f\xb7\xd7\xf1\xfb\xff\x00\xc9\xf9\x00\x01\x14\xc2\ +\xf9\xff\x01\xef-\x01\x09\x90\xf9\xff\x01\xf96\xf5\x00\x01\ +)\xfb\xfd\xff\x00z\xf2\x00\x08\x03\x1a7Z\x85\xa8\xd0\ +\xe9\xf6\xf4\xff\x00\x8b\xf9\x00\x01\x14\xc0\xf9\xff\x01\xf1,\ +\x01\x09\x90\xf9\xff\x01\xf97\xf5\x00\x01\x0f\xe8\xfd\xff\x00\ +\x92\xf9\x00\x08\x03\x0d\x1d\x0a\x0a \x0a icon / Prefer\ +ences / Global\x0a Created with Sk\ +etch.\x0a \ + \x0a \x0a \ +\x0a\x0a\ +\x00\x00\x09\xaf\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a \x0a icon / Prefer\ +ences / Camera\x0a Created with Sk\ +etch.\x0a \ + \x0a \x0a \ + \ +\x0a \x0a \ + \x0a\x0a\ +\x00\x00\x05\xc2\ +<\ +svg width=\x2224\x22 h\ +eight=\x2224\x22 viewB\ +ox=\x220 0 24 24\x22 f\ +ill=\x22none\x22 xmlns\ +=\x22http://www.w3.\ +org/2000/svg\x22>\x0a<\ +path d=\x22M21.4629\ + 11.2764C20.6447\ + 10.508 19.5748 \ +10.0719 18.4419 \ +10.0719C17.8965 \ +10.0719 17.351 1\ +0.1758 16.8475 1\ +0.3834C16.5748 9\ +.26204 15.9664 8\ +.2237 15.1063 7.\ +37226C13.8685 6.\ +16779 12.6717 5.\ +47607 10.4147 5.\ +47607C7.92095 5.\ +47607 6.586 6.16\ +779 5.32725 7.37\ +226C4.08949 8.57\ +673 3.30673 10.1\ +907 3.30673 11.8\ +935C3.30673 12.1\ +635 3.32771 12.4\ +335 3.34869 12.7\ +035C2.84519 12.8\ +281 2.49509 13.0\ +831 2.13844 13.4\ +362C1.57201 13.9\ +761 1.25732 14.7\ +029 1.25732 15.4\ +713C1.25732 17.1\ +534 2.66292 18.5\ +032 4.3832 18.50\ +32L18.2741 18.52\ +4C20.7286 18.524\ + 22.7426 16.5927\ + 22.7426 14.2045\ +C22.7217 13.1039\ + 22.2811 12.0656\ + 21.4629 11.2764\ +ZM17.2975 16.665\ +9L4.65419 16.686\ +7C3.62622 16.686\ +7 3.45969 16.038\ +7 3.37771 15.643\ +7C3.30673 15.301\ +7 3.37861 14.788\ +2 3.53455 14.579\ +9C3.74825 14.294\ +4 4.10093 14.164\ +9 4.5273 14.1216\ +C4.76182 14.0979\ + 5.1687 14.0552 \ +5.32721 13.8355C\ +5.43211 13.6901 \ +5.47406 13.5032 \ +5.45308 13.3163C\ +5.36917 12.901 5\ +.32721 12.5272 5\ +.32721 12.1119C5\ +.32721 10.7413 5\ +.6315 9.73925 6.\ +63849 8.76321C7.\ +64549 7.78717 8.\ +98815 7.24724 10\ +.4147 7.24724C11\ +.8413 7.24724 12\ +.9769 7.56395 13\ +.9839 8.53999C14\ +.865 9.39143 15.\ +3895 10.4921 15.\ +5154 11.655C15.5\ +363 11.8627 15.6\ +622 12.0703 15.8\ +72 12.1534C16.06\ +08 12.2365 16.31\ +26 12.2365 16.48\ +04 12.1119C17.63\ +42 11.3643 18.84\ +8 11.1981 19.876\ + 12.1742C20.4424\ + 12.7141 20.7426\ + 13.4362 20.7426\ + 14.2045C20.7426\ + 15.9074 19.0808\ + 16.6659 17.2975\ + 16.6659Z\x22 fill=\ +\x22white\x22/>\x0a\ +\x0a\ +\x00\x00\x00\xab\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x10\x00\x00\x00\x0d\x08\x06\x00\x00\x00\xa0\xbb\xee$\ +\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\ +\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00\ +UIDAT8Oc\xfc\xff\xff?\x03%\x80\x09\ +J\x93\x0d\xf0\x1a\xd0\xd8\xd8H\xd0y\x04]@\xc8\x10\ +\x940\xc0\xa7\xb8\xbe\xbe\x9e\x11\xcaD\x01D\x87\x01.\ +\xc3I\x0aDl\x86\x90d\x006o\x10m\x00\xae0\ +\xc0\x9b\x90`N\xc6\xa5\x19\x04\x08\xba\x00\x9ff\x10\x18\ +\xe8\xa4\xcc\xc0\x00\x00\x9d\xda\x22\x8d\x12\xa2\xae,\x00\x00\ +\x00\x00IEND\xaeB`\x82\ +\x00\x00\x05p\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a \x0a icon / Prefer\ +ences / viewport\ +\x0a Created with \ +Sketch.\x0a \ + \x0a \ + \ +\x0a \x0a \x0a \ + \x0a\x0a\ +\x00\x00\x00\xca\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x10\x00\x00\x00\x0d\x08\x06\x00\x00\x00\xa0\xbb\xee$\ +\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\ +\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00\ +\x09pHYs\x00\x00\x0e\xc3\x00\x00\x0e\xc3\x01\xc7o\ +\xa8d\x00\x00\x00_IDAT8O\xc5\x91\xc1\x0e\ +\xc0 \x08C\xc1\x1f\x07\xbe\x9c\x05'\x86\xc4\xb9\x89\x1e\ +\xf6.r\xa1\xd2\x16U\x15\x0c\x11\xb9\x87\x07\x88\x08\xdb\ +8\x80\xcc<]\x5c\xa1\xb4w\x9b\xff\x05z\x88\x19b\ +\xe0\xe9\x10\xbd\x11\x17I[\xf0E\x17*o\x1d\xcf\x88\ +\x16\x8eB\xb4\xcf\xab\xc0\xc9\x15\xfd\x82\x1d\x11c\xa81\ +\xfa\xfb\x06\xe0\x02\xfbk*\x0b\x22\xb70[\x00\x00\x00\ +\x00IEND\xaeB`\x82\ +\x00\x00\x05\xfe\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a Icons / Editor\ + / EMFX / Motion\ +\x0a \x0a \x0a \ + \x0a \ + \x0a\x0a\ +\x00\x00\x00\xa0\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x10\x00\x00\x00\x0d\x08\x06\x00\x00\x00\xa0\xbb\xee$\ +\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\ +\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00\ +\x09pHYs\x00\x00\x0e\xc3\x00\x00\x0e\xc3\x01\xc7o\ +\xa8d\x00\x00\x005IDAT8Oclhh\ +\xf8\xcf\x80\x06\xea\xeb\xeb\x19\xa1L\x82\x80\x09J\x93\x0d\ +\xb0\xba\x80\x18\x00s%\xd9.hll\x04[L\xb1\ +\x17F\x0d\x185\x80\x81\x81\x81\x01\x00\xc0\x1c\x0a\x95\xd5\ +0\x97g\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x11\xbc\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a \x0a icon / Prefer\ +ences / Debug\x0a \ +Created with Ske\ +tch.\x0a \ +\x0a \x0a \ + \x0a \ + \x0a <\ +/g>\x0a\x0a\ +\x00\x00\x125\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a \x0a icon / Prefer\ +ences / Experime\ +ntal\x0a \ + Created w\ +ith Sketch.\x0a \ +\x0a \x0a \x0a\x0a\ +\x00\x00\x04\x0e\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a \x0a icon / Prefer\ +ences / Files\x0a \ +Created with Ske\ +tch.\x0a \ +\x0a \x0a \ + \x0a\x0a\ +\x00\x00\x03`\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a \x0a icon / Prefer\ +ences / Gizmos\x0a Created with Sk\ +etch.\x0a \ + \x0a \x0a \ + \x0a\x0a\ +\x00\x00\x00[\ +\x00\ +\x00\x01Fx\x9c\x8d\x8c1\x0a\x800\x10\x04\xe7\xacD\ +P;\xeb\x94\x96>\xc1\xa7\xf9d\xad\x05\xcf\x8d\x88B\ +\xc0\x98Y\x86\x83cY\xa80B\x80V\x99\x0c\x06`\ +\x94z1KS\x22\x0b/\xd5m\xc4\xdd)\xa2\x93\xcd\ +\xb7\xfd~Pk5\xde\x5c\xef\xdaI\xf0\x12\xb6\xbc+\ +\xf6\xf8\xd7M9\x01\x0cb\x81\xee\ +\x00\x00\x00[\ +\x00\ +\x00\x01Fx\x9c\xc5\xc81\x0e@@\x18D\xe1\xf9W\ +!**\xad-\x95n\xc0\xcd\xec\xd1\x1c\xc5\x11\x94\x0a\ +\xf1\xec\xc6\x8a\x0bH|\x93\xd7\x8c\xe4d\xf2^jT\ +i0\xa9\x95\xd4\xc7\xe2\xa5)fqI\xd0\xcb\xe5\x12\ +@\x7f\xe3q\xcep\x8c\xb0w\xb0\xd5\xb0\x96\xb0\x14\x10\ +\xec\xfe\xbe.\xbb\x00\x9d\x16jC\ +\x00\x00\x01F\ +\x00\ +\x00\x02\x00\x01\x00 \x00\x00\x0c\x00\x04\x000\x01\x00\ +\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ +\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x07\xf8\x00\x00\x07\xf8\x00\x00\x0f\xfc\x00\x00\x0f\xfc\ +\x00\x00\x1f\xfc\x00\x00\x1f\xfe\x00\x00?\xfe\x00\x00/\xfe\ +\x00\x00o\xfe\x00\x00\xef\xfe\x00\x00\xcf\xf6\x00\x00\x0d\xb6\ +\x00\x00\x0d\xb4\x00\x00\x0d\xb0\x00\x00\x0d\x80\x00\x00\x0c\x00\ +\x00\x00\x0c\x00\x00\x00\x0c\x00\x00\x00\x0c\x00\x00\x00\x0c\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf0\x03\ +\xff\xff\xf0\x03\xff\xff\xf0\x03\xff\xff\xe0\x01\xff\xff\xe0\x01\ +\xff\xff\xc0\x01\xff\xff\xc0\x00\xff\xff\x80\x00\xff\xff\x80\x00\ +\xff\xff\x00\x00\xff\xfe\x00\x00\xff\xfe\x00\x00\xff\xfe \x00\ +\xff\xff\xe0\x01\xff\xff\xe0\x03\xff\xff\xe0\x0f\xff\xff\xe0\x7f\ +\xff\xff\xe1\xff\xff\xff\xe1\xff\xff\xff\xe1\xff\xff\xff\xe1\xff\ +\xff\xff\xf3\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\ +\x00\x00\x00\xa7\ +\x00\ +\x00\x0c\xbex\x9c\xed\x921\x0a\xc20\x18\x85_t\xe8\ +Rp\x13\xc7\x8e=\x867\xf0J\x1e\xc1cx\x0c\xc1\ +\x8btsut(<_\x8bC1\x12K\x93\xdfA\ +\xfe\x0f\x1e\x09\x09\xf9^\x02\x01V\x08h\x1a\x8c\xe3\xb9\ +\x06\xb6\x00ZEK\xd8+\x01;\x8c\xd4p\x1c\xc7q\ +\x9c?\x85\x11\xa6\xf2\x82\xfe\x8f\xf2R\x15\x09\xf9\x0f\xfc\ +\x99\x15_\xe59\xfe\xa9\xc1\xce?\xe7!\x8b+\xe2\xb7\ +\xbci\x8b\xf8c\xdbt\x92}\xf7\x94\xbf\xa0\xdc\x08k\ +\xbf\x11\xe9\x0f9\x8f~C>*\xf2\xaetk\xf22\ +$\x90G\x05C\xd4rR\xba\xf0\xda?\x90W\x9d\xbb\ +)O\x85i\xaa%\ +\x00\x00\x01F\ +\x00\ +\x00\x02\x00\x01\x00 \x00\x00\x06\x00\x06\x000\x01\x00\ +\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ +\x00\x01\x00\x01\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\ +\x00\xff\xff\xff\x00\x000\x00\x00\x000\x00\x00\x000\x00\ +\x00\x01\xfe\x00\x00\x01\xfe\x00\x00\x000\x00\x00\x000\x00\ +\x00\x001\x80\x00\x00\x01\x80\x00\x00\x03\x00\x00\x00\x03\x00\ +\x00\x00\x06\x00\x00\x00F\x00\x00\x00l\x00\x00\x00|\x00\ +\x00\x00\x7f\x80\x00\x00\x7f\x00\x00\x00~\x00\x00\x00|\x00\ +\x00\x00x\x00\x00\x00p\x00\x00?\xe0\x00\x00 \x00\ +\x00 \x00\x00 \x00\x00 \x00\x00 \x00\ +\x00 \x00\x00 \x00\x00?\xe0\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\xff\xcf\xff\xff\xff\xcf\xff\xff\xff\xcf\xff\ +\xff\xfe\x01\xff\xff\xfe\x01\xff\xff\xff\xcf\xff\xff\xff\xce\x7f\ +\xff\xff\xcc?\xff\xff\xfc?\xff\xff\xf8\x7f\xff\xffx\x7f\ +\xff\xff0\xff\xff\xff\x10\xff\xff\xff\x01\xff\xff\xff\x00\x1f\ +\xff\xff\x00?\xff\xff\x00\x7f\xff\xff\x00\xff\xff\xff\x01\xff\ +\xff\xff\x03\xff\xff\x80\x07\xff\xff\x80\x0f\xff\xff\x9f\xcf\xff\ +\xff\x9f\xcf\xff\xff\x9f\xcf\xff\xff\x9f\xcf\xff\xff\x9f\xcf\xff\ +\xff\x9f\xcf\xff\xff\x9f\xcf\xff\xff\x80\x0f\xff\xff\x80\x0f\xff\ +\xff\xff\xff\xff\xff\ +\x00\x00\x00`\ +\x00\ +\x00\x01Fx\x9cc``b`dPP``\xe0\ +f\xe0e0`d`\x10c``\xd0\x00b\xa0\x10\ +\x83\x03\x103\x02!\x0840 \x00\x13\x14\x83\xc0\xff\ +\xff\xff\x19H\x025@\x1c\x82\x03\x0b\xe0\x91\xab\xc1m\ +\xe4\x7fR@3&\xfe\xdd\xbc\xff\xff\xe7\xe6\xf9\xff\x1f\ +0\xf0\x83i\x10\x1f\x9b:\x5c\x00\x00\x81\xb3~\xf0\ +\x00\x00\x01F\ +\x00\ +\x00\x02\x00\x01\x00 \x00\x00\x0f\x00\x0f\x000\x01\x00\ +\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ +\x00\x01\x00\x01\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\ +\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x03\x80\x00\x00\x02\x80\x00\x00\x02\x80\ +\x00\x00\x02\x80\x00\x00\x02\x80\x00\x00\x04@\x00\x00\x0c`\ +\x00\x03\xf0\x1f\x80\x02\x01\x00\x80\x03\xf0\x1f\x80\x00\x0c`\ +\x00\x00\x04@\x00\x00\x02\x80\x00\x00\x02\x80\x00\x00\x02\x80\ +\x00\x00\x02\x80\x00\x00\x03\x80\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\ +\xff\xff\xfe\xff\xff\xff\xfc\x7f\xff\xff\xfc\x7f\xff\xff\xfc\x7f\ +\xff\xff\xfc\x7f\xff\xff\xfc\x7f\xff\xff\xf9?\xff\xff\xf1\x1f\ +\xff\xfc\x03\x80\x7f\xf0\x1e\xf0\x1f\xfc\x03\x80\x7f\xff\xf1\x1f\ +\xff\xff\xf9?\xff\xff\xfc\x7f\xff\xff\xfc\x7f\xff\xff\xfc\x7f\ +\xff\xff\xfc\x7f\xff\xff\xfc\x7f\xff\xff\xfe\xff\xff\xff\xfe\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\ +\x00\x00\x01F\ +\x00\ +\x00\x02\x00\x01\x00 \x00\x00\x10\x00\x0d\x000\x01\x00\ +\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ +\x00\x01\x00\x01\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\ +\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\ + \x01\x00\x00@\x00\xc0\x01\x80\x008\x0e\x00\x00\x07\xf0\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf9\xff\xff\xcf\xf8\xff\xff\ +\x8f\xfc?\xfe\x1f\xfe\x07\xe0?\xff\x00\x00\x7f\xff\xc0\x01\ +\xff\xff\xf8\x0f\xff\xff\xff\xff\xff\xff\xff\x7f\xff\xff\xfe?\ +\xff\xff\xff\x7f\xff\xff\xff\x7f\xff\xff\xff\x7f\xff\xff\xfe?\ +\xff\xff\xff\x7f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\ +\x00\x00\x00X\ +\x00\ +\x00\x01Fx\x9c\xc5\xcd1\x0a\x800\x0cF\xe1\x97.\ +\xe2\xa4\x93k;:z\x83z\xb3\xf6\xc8\xbdA\xfc\x0b\ +\x05A\x9c\x5c|\xe1#\x90\xa1\x85\x80\x91\x12\xac\xcc\x1c\ +\x06\x1b\xb0\x8bN\x9cb\x9a^\xe5.\x0c=w\xe7\xef\ +\xfc\xa5V>+\x92\x1bDYd\x1a;\xea\xd9,\xe5\ +\xf9\xd7\x05'\x93i\xe6\ +\x00\x00\x01F\ +\x00\ +\x00\x02\x00\x01\x00 \x00\x00\x03\x00\x03\x000\x01\x00\ +\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ +\x00\x01\x00\x01\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\ +\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00\x1e\x00\x00\x00\x1e\x00\ +\x00\x00\x1e\x00\x00\x00\x1e\x00\x00\x18\x1e\x00\x00\x14\x0c\x00\ +\x00\x12\x00\x00\x00\x11\xe0\x00\x00\x10\x10\x00\x00\x10 \x00\ +\x00\x10@\x00\x00\x10\x80\x00\x00\x11\x00\x00\x00\x12\x00\x00\ +\x00\x14\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xf3\xff\xff\xff\xe1\xff\xff\xff\xc0\xff\xff\xff\xc0\xff\ +\xff\xff\xc0\xff\xff\xff\xc0\xff\xff\xe7\xc0\xff\xff\xe3\xe1\xbf\ +\xff\xe1\xf3\xbf\xff\xe0\x1e\x0f\xff\xe0\x0f\xbf\xff\xe0\x1f\xbf\ +\xff\xe0?\xff\xff\xe0\x7f\xff\xff\xe0\xff\xff\xff\xe1\xff\xff\ +\xff\xe3\xff\xff\xff\xe7\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\ +\x00\x00\x01F\ +\x00\ +\x00\x02\x00\x01\x00 \x00\x00\x00\x00\x18\x000\x01\x00\ +\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ +\x00\x01\x00\x01\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\ +\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\xf0\x00\x00\x00\x88\x00\x00\x00\x84\x00\x00\x00\x82\x00\x00\ +\x00A\x00\x00\x00 \x80\x00\x00\x10@\x00\x00\x0b\xa0\x00\ +\x00\x05\xd6\x00\x00\x02\xe9\x00\x00\x01a\x00\x00\x00\x81\x00\ +\x00\x00@\x80\x00\x00\x80@\x00\x00\x80 \x00\x00p \ +\x00\x00\x08 \x00\x00\x04@\x00\x00\x03\x80\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\x0f\xff\xff\xff\x07\xff\xff\xff\x03\xff\xff\xff\x01\xff\xff\ +\xff\x80\xfc\xff\x0f\xc0~|c\xe0?1\xf9\xf0\x1f\x87\ +\xff\xf8\x09\xfd\xff\xfc\x00\xf8\xff\xfe\x00\xf0\x7f\xff\x00\xfd\ +\xdb\xff\x80}\xdb\xff\x00=\xdb\xff\x00\x1d\xc3\xff\x80\x1d\ +\xdb\xff\xf0\x1d\xdb\xff\xf8=\xdb\xff\xfcp\x7f\xff\xff\xf8\ +\xff\xff\xff\xfd\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\ +\x00\x00\x01F\ +\x00\ +\x00\x02\x00\x01\x00 \x00\x00\x01\x00\x01\x000\x01\x00\ +\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ +\x00\x01\x00\x01\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\ +\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x18\x00\x00\x00\x18\x00\x00\x00\x18\x00\x00\x00\xff\x00\x00\ +\x00\xff\x00\x00\x00\x18\x00\x00\x00\x18\x00\x00\x00\x18\xc0\x00\ +\x00\x00\xc0\x00\x00\x01\x80\x00\x00\x01\x80\x00\x00\x03\x00\x00\ +\x00#\x00\x00\x006\x00\x00\x00>\x00\x00\x00?\xc0\x00\ +\x00?\x80\x00\x00?\x00\x00\x00>\x00\x00\x00<\x00\x00\ +\x008\x00\x00\x000\x00\x00\x00 \x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xe7\xff\xff\xff\xe7\xff\xff\xff\xe7\xff\xff\xff\x00\xff\xff\ +\xff\x00\xff\xff\xff\xe7\xff\xff\xff\xe7?\xff\xff\xe6\x1f\xff\ +\xff\xfe\x1f\xff\xff\xfc?\xff\xff\xbc?\xff\xff\x98\x7f\xff\ +\xff\x88\x7f\xff\xff\x80\xff\xff\xff\x80\x0f\xff\xff\x80\x1f\xff\ +\xff\x80?\xff\xff\x80\x7f\xff\xff\x80\xff\xff\xff\x81\xff\xff\ +\xff\x83\xff\xff\xff\x87\xff\xff\xff\x8f\xff\xff\xff\x9f\xff\xff\ +\xff\xff\xff\xff\xff\ +\x00\x00\x01F\ +\x00\ +\x00\x02\x00\x01\x00 \x00\x00\x0f\x00\x0f\x000\x01\x00\ +\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ +\x00\x01\x00\x01\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\ +\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xe0\ +\x00\x00\x18\x18\x00\x00 \x04\x00\x00@\x02\x00\x00\x80\x01\ +\x00\x01\x00\x00\x80\x01\x00\x00\x80\x02\x00\x00@\x02\x00\x00\ +@\x02\x02\x00@\x02\x02\x00\x00\x02\x03\x00\x00\x02\x00\x00\ +\x00\x01\x00\x7f\x80\x01\x00 \x80\x00\x80\x10\x80\x00@\x08\ +\x80\x00 \x04\x80\x00\x18\x1a\x80\x00\x07\xe1\x80\x00\x00\x00\ +\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf8\x1f\ +\xff\xff\xe0\x07\xff\xff\xc7\xe3\xff\xff\x9f\xf9\xff\xff?\xfc\ +\xff\xfe\x7f\xfe\x7f\xfe\x7f\xfe\x7f\xfc\xff\xff?\xfc\xff\xff\ +?\xfc\xfc\x7f?\xfc\xfc\x7f\xff\xfc\xfc\x7f\xff\xfc\xff\xff\ +\xff\xfe\x7f\x80\x7f\xfe\x7f\xc0\x7f\xff?\xe0\x7f\xff\x9f\xf0\ +\x7f\xff\xc7\xe0\x7f\xff\xe0\x04\x7f\xff\xf8\x1e\x7f\xff\xff\xff\ +\x7f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\ +\x00\x00\x01F\ +\x00\ +\x00\x02\x00\x01\x00 \x00\x00\x0f\x00\x0f\x000\x01\x00\ +\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ +\x00\x01\x00\x01\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\ +\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x02\x80\x00\x00\x04@\ +\x00\x00\x08 \x00\x00\x02\x80\x00\x00\x22\x88\x00\x00B\x84\ +\x00\x00\x9e\xf2\x00\x01\x00\x01\x00\x00\x9e\xf2\x00\x00B\x84\ +\x00\x00\x22\x88\x00\x00\x02\x80\x00\x00\x08 \x00\x00\x04@\ +\x00\x00\x02\x80\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff\xfc\x7f\xff\xff\xf8?\ +\xff\xff\xf0\x1f\xff\xff\xfc\x7f\xff\xff\xdcw\xff\xff\x9cs\ +\xff\xff\x00\x01\xff\xfe\x00\x00\xff\xff\x00\x01\xff\xff\x9cs\ +\xff\xff\xdcw\xff\xff\xfc\x7f\xff\xff\xf0\x1f\xff\xff\xf8?\ +\xff\xff\xfc\x7f\xff\xff\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\ +\x00\x00\x01F\ +\x00\ +\x00\x02\x00\x01\x00 \x00\x00\x04\x00\x06\x000\x01\x00\ +\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ +\x00\x01\x00\x01\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\ +\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x03\xe0\x00\x00\x03\xe8\x00\x00\x03\xe0\x00\x00\x03\xe8\ +\x00\x00\x00\x08\x00\x00\x01\xf0\x00\x00\x0c\x00\x00\x00\x0c\x00\ +\x00\x00\x00\x00\x00\x00`\x00\x00\x00`\x00\x00\x00\x00\x00\ +\x00\x1f\x00\x00\x00\x13@\x00\x00\x13@\x00\x00\x1f@\x00\ +\x00\x00@\x00\x00\x0f\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf8\x0f\ +\xff\xff\xf8\x07\xff\xff\xf8\x03\xff\xff\xf8\x03\xff\xff\xf8\x03\ +\xff\xff\xf8\x03\xff\xff\xf0\x03\xff\xff\xe0\x03\xff\xff\xe1\xff\ +\xff\xff\x93\xff\xff\xff\x0f\xff\xff\xff\x0f\xff\xff\xc0\x1f\xff\ +\xff\xc0?\xff\xff\xc0\x1f\xff\xff\xc0\x1f\xff\xff\xc0\x1f\xff\ +\xff\xc0\x1f\xff\xff\xe0\x1f\xff\xff\xf0\x1f\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\ +\x00\x00\x01F\ +\x00\ +\x00\x02\x00\x01\x00 \x00\x00\x01\x00\x01\x000\x01\x00\ +\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ +\x00\x01\x00\x01\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\ +\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x00\ +\x00\x0e\x00\x00\x00\x0e\x00\x00\x00\x00\x80\x00\x00\x01@\x00\ +\x00\x00\xa0\x00\x00\x00P\x00\x00\x00(\x00\x00\x00\x14\x00\ +\x00\x00\x0a\x00\x00\x00\x05\x00\x00\x00\x02\x80\x00\x00\xc1\x00\ +\x00\x00\xc0\xe0\x00\x01\x80\xe0\x00\x01\x80\xe0\x00\x03\x00\x00\ +\x00#\x00\x00\x006\x00\x00\x00>\x00\x00\x00?\xc0\x00\ +\x00?\x80\x00\x00?\x00\x00\x00>\x00\x00\x00<\x00\x00\ +\x008\x00\x00\x000\x00\x00\x00 \x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\xff\xff\xff\xff\xf1\xff\xff\xff\xe0\xff\xff\ +\xff\xe0\xff\xff\xff\xe0\xff\xff\xff\xf0\x7f\xff\xff\xfe?\xff\ +\xff\xff\x1f\xff\xff\xff\x8f\xff\xff\xff\xc7\xff\xff\xff\xe3\xff\ +\xff\xff\xf1\xff\xff\xff\xf8\xff\xff\xff<\x7f\xff\xfe\x1e\x1f\ +\xff\xfe\x1e\x0f\xff\xfc>\x0f\xff\xbc>\x0f\xff\x98\x7f\x1f\ +\xff\x88\x7f\xff\xff\x80\xff\xff\xff\x80\x0f\xff\xff\x80\x1f\xff\ +\xff\x80?\xff\xff\x80\x7f\xff\xff\x80\xff\xff\xff\x81\xff\xff\ +\xff\x83\xff\xff\xff\x87\xff\xff\xff\x8f\xff\xff\xff\x9f\xff\xff\ +\xff\xff\xff\xff\xff\ +\x00\x00\x01F\ +\x00\ +\x00\x02\x00\x01\x00 \x00\x00\x01\x00\x01\x000\x01\x00\ +\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ +\x00\x01\x00\x01\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\ +\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\x00\x00\ +\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\ +\x00\x00\xc0\x00\x00\x01\x80\x00\x00\x01\x80\x00\x00\x03\x00\x00\ +\x00#\x00\x00\x006\x00\x00\x00>\x00\x00\x00?\xc0\x00\ +\x00?\x80\x00\x00?\x00\x00\x00>\x00\x00\x00<\x00\x00\ +\x008\x00\x00\x000\x00\x00\x00 \x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\ +\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff?\xff\xff\xfe\x1f\xff\ +\xff\xfe\x1f\xff\xff\xfc?\xff\xff\xbc?\xff\xff\x98\x7f\xff\ +\xff\x88\x7f\xff\xff\x80\xff\xff\xff\x80\x0f\xff\xff\x80\x1f\xff\ +\xff\x80?\xff\xff\x80\x7f\xff\xff\x80\xff\xff\xff\x81\xff\xff\ +\xff\x83\xff\xff\xff\x87\xff\xff\xff\x8f\xff\xff\xff\x9f\xff\xff\ +\xff\xff\xff\xff\xff\ +\x00\x00\x00\xc9\ +\x00\ +\x00\x0c\xbex\x9cc``b`dPP`\x00\x83\ +\x15<\x0c\x0cb@Z\x03\x88AB\x0e@\xcc\xc8 \ +\x01\x91\xe4a\x18@`<\x93\x04D\xba\xe13\xff\xff\ +g\x98I4\x22\xd5\x0a\x88\xf9g\x88C\xa3\xe6\x8f\x9a\ +?\x10\xe6\x13\x8f\xc8\xcbb4\xcc\xbf\xc3\x0e\xfc\x07\x83\ +!j\xfe\xa8\xe31\xcd\xa4\xb5\xf9\x103i\x142\xff\ +Q\x01\xad\xcd\xa7\xbaE45\x1c\xab\xf9T4\x1c\xd3\ +|\xea\x1a\x8ef>\xd5\x0dG6\x9f\x16\x863\xd0\xa5\ +\xc0\xa1\x9d\xe1C\x1a\x80\xc2\xfd\x01\x83\xfd\xff\x03\x0c\xf2\ +\x041H\x1d\x18\x00\xa9\x7f\xf2\x10\xfc\x07\xc8\xde\x03\xc4\ +3\xea\xff\xff\xef\x00\xe2\x06\xa0t\x03?\x10\x03\xe5\x1a\ +\x80\xe2\x0dP\xb1F n\x06\xe2v \xee\x07\xe2\xf9\ +\xd0\x04\x05\x00\x85\x1b/\xe1\ +\x00\x00\x00\x5c\ +\x00\ +\x00\x01Fx\x9cc``b`dPP``\x10\ +`\xe0d0`d`\x10c``\xd0\x00b\xa0\x10\ +\x83\x03\x103\x02!\x0840 \x00\x13\x14\x83\xc0\xff\ +\xff\xff\x19\x06\x1a\xfc\x87\x81\x1f\xf2\xd4\xc7\x0d\x8c\xff\xff\ +\x1f`\xfe\xff\xff\x01\xfb\xff\xff\x1f\xf8!b\x7f\xec\xff\ +\xff\xffW\x0f\xb7\x16\x00\xb3\x96jC\ +\x00\x00\x01F\ +\x00\ +\x00\x02\x00\x01\x00 \x00\x00\x07\x00\x18\x000\x01\x00\ +\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ +\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x01\xe0\x00\x00\x01\x10\x00\x00\x01\x08\x00\x00\x01\x04\x00\ +\x00\x00\x82\x00\x00\x00A\x00\x00\x00 \x80\x00\x00\x17@\ +\x00\x00\x0b\xac\x00\x00\x05\xd2\x00\x00\x02\xc2\x00\x00\x01\x02\ +\x00\x00\x00\x81\x00\x00\x01\x00\x80\x00\x01\x00@\x00\x00\xe0\ +@\x00\x00\x10@\x00\x00\x08\x80\x00\x00\x07\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xfe\x1f\xff\xff\xfe\x0f\xff\xff\xfe\x07\xff\xff\xfe\x03\xff\ +\xff\xff\x01\xff\xff\xff\x80\xff\xff\xff\xc0\x7f\xff\xff\xe0?\ +\xff\xff\xf0\x13\xff\xff\xf8\x01\xff\xff\xfc\x01\xff\xff\xfe\x01\ +\xff\xff\xff\x00\xff\xff\xfe\x00\x7f\xff\xfe\x00?\xff\xff\x00\ +?\xff\xff\xe0?\xff\xff\xf0\x7f\xff\xff\xf8\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\ +\x00\x00\x01F\ +\x00\ +\x00\x02\x00\x01\x00 \x00\x00\x11\x00\x0d\x000\x01\x00\ +\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ +\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff?\xff\xff\xff\x1f\xff\ +\xff\xff\x8f\xff\xff\xff\xc4\x0f\xff\xff\xe1\xe7\xff\xff\xf3\xf3\ +\xff\xff\xe3\xf9\xff\xff\xef\xfd\xff\xff\xef\xfd\xff\xff\xef\xfd\ +\xff\xff\xef\xfd\xff\xff\xe7\xf9\xff\xff\xf3\xf3\xff\xff\xf9\xe7\ +\xff\xff\xfc\x0f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\ +\x00\x00\x01F\ +\x00\ +\x00\x02\x00\x01\x00 \x00\x00\x07\x00\x0e\x000\x01\x00\ +\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ +\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf8\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xf7\xff\xff\xff\xe7\xff\xff\xff\xe7\ +\xff\xff\xff\x0f\xff\xff\xfe\x7f\xff\xff\xfe\x7f\xff\xfe\xfe\xff\ +\xff\xff~\xff\xff\xfe \x01\xff\xff\x00\x01\xff\xfe0\x03\ +\xff\xff~\xff\xff\xfe\xfc\x7f\xff\xff\xfc\x7f\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\ +\x00\x00\x01F\ +\x00\ +\x00\x02\x00\x01\x00 \x00\x00\x03\x00\x03\x000\x01\x00\ +\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ +\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x18\x00\x00\x00\x14\x00\x00\x00\x12\x00\x00\ +\x00\x11\xf8\x00\x00\x10\x08\x00\x00\x10\x10\x00\x00\x10 \x00\ +\x00\x10@\x00\x00\x10\x80\x00\x00\x11\x00\x00\x00\x12\x00\x00\ +\x00\x14\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xe7\xff\xff\xff\xe3\xff\xff\xff\xe1\xff\xff\ +\xff\xe0\x07\xff\xff\xe0\x07\xff\xff\xe0\x0f\xff\xff\xe0\x1f\xff\ +\xff\xe0?\xff\xff\xe0\x7f\xff\xff\xe0\xff\xff\xff\xe1\xff\xff\ +\xff\xe3\xff\xff\xff\xe7\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\ +\x00\x00\x01F\ +\x00\ +\x00\x02\x00\x01\x00 \x00\x00\x10\x00\x08\x000\x01\x00\ +\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ +\x00\x01\x00\x01\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\ +\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xf0\x00\x00\x07\xf0\ +\x00\x00\x0f\xf8\x00\x00\x1f\xf8\x00\x00\x1f\xfc\x00\x00?\xfc\ +\x00\x00w\xfc\x00\x00g\xfe\x00\x00\x07\xf6\x00\x00\x0d\xb6\ +\x00\x00\x0d\xb2\x00\x00\x19\xb0\x00\x00\x19\xb0\x00\x00\x01\x80\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xfc\x0f\xff\xff\xf8\x07\xff\xff\xf0\x07\ +\xff\xff\xe0\x03\xff\xff\xc0\x03\xff\xff\xc0\x01\xff\xff\x80\x01\ +\xff\xff\x00\x01\xff\xff\x00\x00\xff\xff\x90\x00\xff\xff\xe0\x00\ +\xff\xff\xe0\x00\xff\xff\xc0\x05\xff\xff\xc0\x07\xff\xff\xe4\x0f\ +\xff\xff\xfe\x7f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\ +\x00\x00\x01F\ +\x00\ +\x00\x02\x00\x01\x00 \x00\x00\x03\x00\x03\x000\x01\x00\ +\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ +\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x0a\x00\ +\x00\x00\x11\x00\x00\x00*\x80\x00\x18[@\x00\x14\x80 \ +\x00\x12[@\x00\x11\xea\x80\x00\x10\x11\x00\x00\x10*\x00\ +\x00\x10D\x00\x00\x10\x80\x00\x00\x11\x00\x00\x00\x12\x00\x00\ +\x00\x14\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfb\xff\xff\xff\xf1\xff\ +\xff\xff\xe0\xff\xff\xff\xd1\x7f\xff\xe7\x80?\xff\xe3\x00\x1f\ +\xff\xe1\x80?\xff\xe0\x11\x7f\xff\xe0\x00\xff\xff\xe0\x11\xff\ +\xff\xe0;\xff\xff\xe0\x7f\xff\xff\xe0\xff\xff\xff\xe1\xff\xff\ +\xff\xe3\xff\xff\xff\xe7\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\ +\x00\x00\x01F\ +\x00\ +\x00\x02\x00\x01\x00 \x00\x00\x0f\x00\x0f\x000\x01\x00\ +\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ +\x00\x01\x00\x01\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\ +\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00?\xff\x80\x00!\x00\x80\x00!*\x80\x00!T\ +\x80\x00!*\x80\x00!T\x80\x00!*\x80\x00!T\ +\x80\x00!\x00\x80\x00!\xfe\x80\x00 \x00\x80\x00 \x00\ +\x80\x00 \x00\x80\x00 \x00\x80\x00?\xff\x80\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xc0\x00\x7f\xff\xc0\x00\x7f\xff\xce\x00\x7f\xff\xce\x00\ +\x7f\xff\xce\x00\x7f\xff\xce\x00\x7f\xff\xce\x00\x7f\xff\xce\x00\ +\x7f\xff\xce\x00\x7f\xff\xce\x00\x7f\xff\xcf\xfe\x7f\xff\xcf\xfe\ +\x7f\xff\xcf\xfe\x7f\xff\xc0\x00\x7f\xff\xc0\x00\x7f\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\ +\x00\x00\x01F\ +\x00\ +\x00\x02\x00\x01\x00 \x00\x00\x03\x00\x03\x000\x01\x00\ +\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ +\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x14\x00\x00\ +\x00\x12\x00\x00\x00\x15\xf0\x00\x00\x16\x10\x00\x00\x17\xa0\x00\ +\x00\x17@\x00\x00\x16\x80\x00\x00\x15\x00\x00\x00\x12\x00\x00\ +\x00\x14\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe7\xff\xff\xff\xe3\xff\xff\ +\xff\xe1\xff\xff\xff\xe0\x0f\xff\xff\xe0\x0f\xff\xff\xe0\x1f\xff\ +\xff\xe0?\xff\xff\xe0\x7f\xff\xff\xe0\xff\xff\xff\xe1\xff\xff\ +\xff\xe3\xff\xff\xff\xe7\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\ +\x00\x00\x01F\ +\x00\ +\x00\x02\x00\x01\x00 \x00\x00\x06\x00\x06\x000\x01\x00\ +\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ +\x00\x01\x00\x01\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\ +\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x01\xfe\x00\x00\x01\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x01\x80\x00\x00\x01\x80\x00\x00\x03\x00\x00\x00\x03\x00\ +\x00\x00\x06\x00\x00\x00F\x00\x00\x00l\x00\x00\x00|\x00\ +\x00\x00\x7f\x80\x00\x00\x7f\x00\x00\x00~\x00\x00\x00|\x00\ +\x00\x00x\x00\x00\x00p\x00\x00?\xe0\x00\x00 \x00\ +\x00 \x00\x00 \x00\x00 \x00\x00 \x00\ +\x00 \x00\x00 \x00\x00?\xe0\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xfe\x01\xff\xff\xfe\x01\xff\xff\xff\xff\xff\xff\xff\xfe\x7f\ +\xff\xff\xfc?\xff\xff\xfc?\xff\xff\xf8\x7f\xff\xffx\x7f\ +\xff\xff0\xff\xff\xff\x10\xff\xff\xff\x01\xff\xff\xff\x00\x1f\ +\xff\xff\x00?\xff\xff\x00\x7f\xff\xff\x00\xff\xff\xff\x01\xff\ +\xff\xff\x03\xff\xff\x80\x07\xff\xff\x80\x0f\xff\xff\x9f\xcf\xff\ +\xff\x9f\xcf\xff\xff\x9f\xcf\xff\xff\x9f\xcf\xff\xff\x9f\xcf\xff\ +\xff\x9f\xcf\xff\xff\x9f\xcf\xff\xff\x80\x0f\xff\xff\x80\x0f\xff\ +\xff\xff\xff\xff\xff\ +\x00\x00\x01F\ +\x00\ +\x00\x02\x00\x01\x00 \x00\x00\x0b\x00\x09\x000\x01\x00\ +\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ +\x00\x01\x00\x01\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\ +\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x18\ +\x00\x00\x000\x00\x00\x000\x00\x00\x00`\x00\x00\x04`\ +\x00\x00\x06\xc0\x00\x00\x07\xc0\x00\x00\x07\xf8\x00\x00\x07\xf0\ +\x00\x00\x07\xe0\x00\x00\x07\xc0\x00\x00\x07\x80\x00\x01\xff\x00\ +\x00\x01\x01\x00\x00\x01\x01\x00\x00\x01\x01\x00\x00\x01\x01\x00\ +\x00\x01\x01\x00\x00\x01\x01\x00\x00\x01\x01\x00\x00\x01\xff\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xe7\xff\xff\xff\xc3\xff\xff\xff\xc3\ +\xff\xff\xff\x87\xff\xff\xf7\x87\xff\xff\xf3\x0f\xff\xff\xf1\x0f\ +\xff\xff\xf0\x1f\xff\xff\xf0\x01\xff\xff\xf0\x03\xff\xff\xf0\x07\ +\xff\xff\xf0\x0f\xff\xff\xf0\x1f\xff\xfc\x00?\xff\xfc\x00\x7f\ +\xff\xfc\xfe\x7f\xff\xfc\xfe\x7f\xff\xfc\xfe\x7f\xff\xfc\xfe\x7f\ +\xff\xfc\xfe\x7f\xff\xfc\xfe\x7f\xff\xfc\xfe\x7f\xff\xfc\x00\x7f\ +\xff\xfc\x00\x7f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\ +\x00\x00\x00V\ +\x00\ +\x00\x01Fx\x9c\xc5\xc8\xb1\x0d\x800\x0cD\xd1\xef4\ +\x88\x0a*\xda\xa4\xa4d\x03\xd8\xcc\x8c\x9c\x0d\xccE\x8a\ +D\x01\x15\x0d\xdfz\xb2t\x900J\x81\x99\x91\xcd`\ +\x01V\xd1\xc4!\xa6k\x9d\xdc\xa5\xae\x15\x11\xfc]<\ +s\xd9+d\x99d\xe8?W\xd7\xee\xe1\x12_\xbcu\ +\x01\xec\xfbi\xe6\ +\x00\x00\x01F\ +\x00\ +\x00\x02\x00\x01\x00 \x00\x00\x10\x00\x11\x000\x01\x00\ +\x00\x16\x00\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\ +\x00\x01\x00\x01\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\ +\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xfc\x1f\xc0\x00\x04\x10\ +\x00\x00\x04\x10\x00\x00\x04\x10\x00\x00\x04\x10\x00\x00\x04\x10\ +\x00\x00\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xfc\x01\xc0\x1f\xfc\x01\xc0\x1f\xfc\x01\xc0\ +\x1f\xff\xf1\xc7\xff\xff\xf1\xc7\xff\xff\xf1\xc7\xff\xff\xf0\x07\ +\xff\xff\xf0\x07\xff\xff\xf0\x07\xff\xff\xff\x7f\xff\xff\xfe?\ +\xff\xff\xff\x7f\xff\xff\xff\x7f\xff\xff\xff\x7f\xff\xff\xfe?\ +\xff\xff\xff\x7f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\ +\x00\x00\x00\xef\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\ +\x00\x00\x00\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\ +\x00\x00\x00\x09pHYs\x00\x00\x0e\xc3\x00\x00\x0e\xc3\ +\x01\xc7o\xa8d\x00\x00\x00\x18tEXtSof\ +tware\x00paint.net \ +4.0.6\xfc\x8cc\xdf\x00\x00\x00mIDA\ +T8O\xb5\x8c\xd1\x0a\xc0 \x0c\x03\xfdt\xff\xbc\xb3\ +\x83d]\xa8\xd82\xf6p\xa2\xc7\x99af\x9fHe\ +\x87\xe7\xb2\xae\x15\xd0\xf3\xdf}Htb\xce\xb9\xbe\xc9\ +\x80\xcb\x0a\xdb\x01\x88\x13\xff\x0d\xec@\x08\xdc\xa5\x03.\ +\x15\x8dc\xcb7$DD\xe3\xccQBD4\xce\x1c\ +%DD\xe3\xccQBD4\xce\x1ce\x07|\xe6\x80\ +\xe3\xab\x15\xd0\x83\xd7\xa3\x8f\x8d\x0b\xd1.k\xedV\x14\ +\x8b0\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x00\xd0\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\ +\x00\x00\x00\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\ +\x00\x00\x00\x09pHYs\x00\x00\x0e\xc2\x00\x00\x0e\xc2\ +\x01\x15(J\x80\x00\x00\x00\x18tEXtSof\ +tware\x00paint.net \ +4.0.6\xfc\x8cc\xdf\x00\x00\x00NIDA\ +T8O\xdd\x8c\xc1\x09\x00 \x0c\x03\xbb\xffT\xdd\xac\ +\x1a\xb0\x82\xb6*U\x10\xf4q\x8f\x5cBHD\x8ep\ +e\x04+\xb2\x02+\xa7XQ\xc6\xcc\x9c\xe3\xd8\xd5\xce\ +\x88\x7f\x0e<\xee\x1e`\xacl\x1f\xcc\x5c\xed\x8cx\xff\ +\x00`\xd8\x8f=\x07\x9a\x10G(\x01oN\x98?\xf6\ +\xff\xda\xc5\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x00\xd4\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\ +\x00\x00\x00\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\ +\x00\x00\x00\x09pHYs\x00\x00\x0e\xc2\x00\x00\x0e\xc2\ +\x01\x15(J\x80\x00\x00\x00\x18tEXtSof\ +tware\x00paint.net \ +4.0.6\xfc\x8cc\xdf\x00\x00\x00RIDA\ +T8O\xed\x8fA\x0a\xc00\x08\x04}\xba?\xb7\xce\ +a/a\xa1m\xbc\xe4\x90\xc0\x043\xd1\x05\xa3\xaaF\ +X\xf9\x07+\xa1\x0fW\x97\xfe_X\x09\x0a\xc8\xcc~\ +\xfa\x1e\xb0R0<\x0a\xf8\x82\x95\xa0\x15V\xbfb%\ +(`{\x85\x1bpB\x000<\x0ax\xa7\xe2\x01V\ +T\xcf_\x16\xfbf\x81\x00\x00\x00\x00IEND\xae\ +B`\x82\ +\x00\x00\x03\xea\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x93\x00\x00\x00\x15\x08\x06\x00\x00\x00B\x0c\xdc\xd0\ +\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\ +\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00\ +\x09pHYs\x00\x00\x0b\x11\x00\x00\x0b\x11\x01\x7fd\ +_\x91\x00\x00\x03\x7fIDAThC\xed\x9a\xbbN\ +*Q\x14\x86\x07Cb,\xec}#\x1e\x81\xc6\xca\xbb\ +!\xbe\x81\x8d\x8d\x8d%\x0d=Zig\xb4\xd0\xc4H\ +c(H,\x88\x85Zx\x04\x04\x01\xaf\xf1\x0e\xe2\x92\ +o\x9d\xb3\xf7\x19\x07\xf4\xe4h5\xb0\xff\xe4\x97q\xad\ +=4|\xf9\xf7\x9a\x0d^,\x16\x93n\x9e\x9e\x9e\x96\ +\xa9\xa9)\x99\x9c\x9ctvV\xc3\x03\x5ct\xe3\x05w\ +\xc0\xb4\xbe\xbe.\xa7\xa7\xbf\xda>\x95\xf3\xf3s\xb9\xb8\ +\xb8\x90\xeb\xebk\xb9\xb9\xb9q\xeeS\xf3\xf9\xc3\x01<\ +\xc0\x05|\x04\xb9\xc1\x16& :;;\x93B\xa1 \ +\xb5ZMnoo\xe5\xe1\xe1A\x9e\x9f\x9f\xa5\xd1h\ +8\xf7\xb9\xe1\x00\x1e\xe0\x02>\xe0\x04f:`\xa2X\ +n\x83T*\x95\x94\xc2\xc7\xc7G}\x83V\xab%o\ +ooj\xa7\xfe\x95a\x00\x1e\xe0\x02>\xe0\x04^\x08\ + \x0b\x13 U\xabU-\x12i\x10\xf8\xfa\xfa\xea\x00\ +\xeaS\xb1\x9d\xe5\xf3y\xc9d2\xb2\xb9\xb9\xa9\xde\xdd\ +\xdd\xd5\x1a=\xbf\xe0\x05nLB)L\x14 \x0d\x90\ +\xa0\x0f\x98\x9a\xcd\xa6\xec\xec\xec\xc8\xd2\xd2\x92\x0e^\x98\ +kj\xf4\x9czO\xc7\xc7\xc7\xb2\xbd\xbd\xadpt3\ +=\xd6\x98\xa0\x81\x17\xb81@y\xa4\x12{ \xd1e\ +\x12\x09XVVV$\x1e\x8fw5=\xd6\xb8\xf4\xea\ +\x1d\x01\xc9\xc6\xc6F\x07@A\xb3\x86\xb5\xb0\x82\xe1\x06\ +~\xe8y\x95JE\x87*\xf6B\xe0\xc0\x10\x0843\ +33\xb2\xba\xba*\xc5bQ\xcd55z\xac\xe1\xcd\ +\x9c\xc2/\xb6/\x7f\x22\xed\xed\xed\xd9\xebn5\xd6r\ +\x0f\xac\xc0\x0d\xfcP\xd7dbJg{C,X\x5c\ +\x5cT`\x80'(j\xf4XC\xcc\xb9t\x0a\xbf\x98\ +\x87\xfc\xd0\xa0\xc3\xc3C[\xe3\x1a\xf9\x81\xe2\x1e\x047\ +\xf0C\xcd\x830?\x144'&&\x14\x18\xd2((\ +j\xf4Xs\x7f\x7f\xef`\xea\x011`\x1bH\xb0\x81\ +\x87W\xff\xb5\x7f\x0d\xf7 >\x7f\xf8\xa1\xe6]^^\ +\xca\xcb\xcb\xcb\x07\x98\xc6\xc7\xc7\xff\x09\x13k\x887\xa7\ +\xf0\x8b'6?(\xd8@\x84\x82 a\xeeAp\x03\ +?\xd4<\xa6q3/!`ZXXP`\xbe\xda\ +\xe6X\x03Lf{t\x0a\xaf~\x0a\x13\xfcP\xf3\xae\ +\xae\xae:\x92\xc9\x00\xf3\xd5\x00\x9eN\xa7\xe5\xee\xee\xce\ +\xde\xe7\x14^}g\x9b\xe3\x1c\x0a}H&\xb69\xff\ +\xcc\xc4+\xe7\x06\xc9dR\xa1\xf9\xcc\x89DBO@\ +]2\x85_?\x19\xc0\xe1\xc5\xceL\x0c\xe0L\xe3\x9e\ +\xe7\xd9&\x89srr\x22\xcb\xcb\xcb2??/c\ +ccj\xaeS\xa9\x94M\xa7\xb9\xb99==7 \ +:\x85S\xdf=\x1a@\x84\x89}\x9ac\x9b\xe3X\x1c\ +\x98\x0cP\x9c\x1f\x01T\xb9\x5c\xd6\x03\xaa\x83\x83\x03\xf5\ +\xd1\xd1\x91\xfe\x9f\xcdfevv\xd6\x02\xc5\xa1\x95S\ +\xb8\xf5\xdf\x87\x96\xad\xdfg\x92\xccK\xf0CO\xe9!\ +\xa6\x86\x86\x86d``@\xd6\xd6\xd6\xf4\xcd\x01\x8a:\ +\x8f\xff\x0c\xda\x18\xc00i\x94\xcb\xe5\x14\xa8\xd1\xd1Q\ +\x85\xcb)\xfc\x02\x12\x7fB\x05M\xcf\x80\x84`\xc4\xa4\ +\x92\xfd\xd5\x00\xc0\x0c\x0e\x0e\xdat\x1a\x19\x19\xd1\xc5\x9f\ +\x09\x22\xeb\xf5\xba\xec\xef\xef\xcb\xd6\xd6\x96\x90nN\xbd\ +!\xb6/\xe6!\x86r\x9e\xd8\xb0\xf9\xa2\xb7\xde\xee5\ +\x9a\x7fgd3+\xd9_\x0d\xf0\x07\x0d\x0f\x0fK$\ +\x12\x91h4\xaa\xaff\xcb\xfbLL\xf0\xc4\x1b =\ +==\xfd\xa9:\xf5\xba\x08\x12\x12\x89\xcf\xdc\x0f\x92\x85\ +\x09\xd3\xe0\xcc\xa9V\xab* \xec\x85\x0cW\xdc\xec\x06\ +\xec\xfe\x96a\x00\x1e\xe0\x82Q'\x08\x12\xb609;\ +\xff\xcc1y\x07P\x7f\x17\xd6Q\x02K\x02\x00\x00\x00\ +\x00IEND\xaeB`\x82\ +\x00\x00\x01\xbb\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x0f\x00\x00\x00\x10\x08\x06\x00\x00\x00\xc9V%\x04\ +\x00\x00\x01\x82IDAT(\x91\x8d\xd2O\x88\x8eQ\ +\x14\x06\xf0\xdf7\xf3\xa6Qc#\xb1\x9b\xbe\xc6\xd0,\ +,&\x1dM\x8aI\xa9Ql\xecg\xa1H2J\xb3\ +\xb2\xb4\xc5\xdeJ\x91\xb5\xa6\xc8\xbf\xa5P\x16rD\xb1\ +\xa0\x11\x92\x92\x05if\xc1\xa4)\x8b\xf7}\xa7\xfb}\ +>\xe5Y\x9d{\xcf}\xce9\xf7yN\xc7\x7f 3\ +Gq\x0a\xdb#b\xbe\xbd\xaf\x9a\xe4\x16\x8c\x16\xefW\ +\x22\xe2[fV8\x8e1\x5c\xc1\x91\xa2\xe0H\xa7\x09\ +\xf6a\x02\xd3x\x8aw\x98\xc5\x14~c\xa5(<\x8c\ +M\xd8\xda)*m\xc0\x09\x1c\xc5$\xae\xe3E\xdf\x0f\ +f\xf0\x18\x9b\xf1\xbd\xca\xcc\xcb\xf8\x899\xbc\xc7%\xdc\ +\xc78\xe6\xf1*\x22\xae5\x0d\xba\x11q+3\xbb\x98\ +\x1a\xc2g,#\xb0\x18\x11w\x22b\x0d\x8bX\xc0\xd5\ +\xcc<4H\xc8*\x22.\x16\xa3\x97\xb9\xc9\x22\xde\x9f\ +\x99\x0f0\x91\x99\xc3\xed\xe5\xd0\xa0\x8a\x0d\xde\x16\xf1K\ +\xdcS\x0b\xfa\x05\xc7z\xc8\x99\xb9\x13\x072s.3\ +\xf7\xe2\x1c\x96p\x13\x9fp7\x22\xf6\xe0\xb4\xda\xb2\x91\ +\xaa\xa8\xbe\x80\x8f8\x8b\xdd\xf8\x85\x0b\xb8\x81\xd5\xa6\xc1\ +\x13\xb5\xa5\xb7\xf1\xbc\x1c\xfb\x07\xb6E\xc446\xe2\x0d\ +\x0e\xab}\xff\x80nC\x9a\x8d\x88\x93\x11\xb1T\xfa\xbc\ +\xabI\xee\x88\x88\xb5\xcc\x9c\xc1\xa36\xdd\x8c\xdc\x83\xf5\ +\xce\x11\xf1\x1a\xcb\x8dM\x1aqZ\x8c\xf7\x13\xfb\x05\x1b\ +S/I\x8b\xce?\xe2\xbf\xc9\xf8\x8a3\xc5\xf9Y\x11\ +\xf7,@\x8bu\xb5#bU\xeda\x8b\x87\xea-;\ +\x88\xf3\x83\xc8\x7f\x00k\xb9|\xe7dF#\x7f\x00\x00\ +\x00\x00IEND\xaeB`\x82\ +\x00\x00\x01\x01\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x0f\x00\x00\x00\x12\x08\x06\x00\x00\x00\x84\x9e\x84\x0f\ +\x00\x00\x00\xc8IDAT8\x8d\xa5\xd3=N\x031\ +\x10\x86\xe1gQ\x02]\xe8R\xf3\x97\x0e\xaa\xbd\x12E\ +.\x10J\x84\xc4=\xd2%\x12\x15\x11\xe7\xd8\x8d\x10\xa2\ +\xe5 H\x88M\x11G\xdaX\xded1_7\xdf\xe8\ +\x9d\xf1\x8c\xed\xa2i\x1am\xd5u-\xd2\x19\xbec\xb3\ +,K'\xb1\x99\xd0\x03\xceS\x89>\xf0\x04W\xb9\xf0\ +\xf5\x7f\xe0\x9b\x5cx\x841.s\xe0]\xc7,x\x12\ +\x15\xd9\xd3\xa0\x03\xba\xc3\x10\xb7!\xbe@i;\xffJ\ +\xb8\xf7.x\x88\x0aE\x88OC\xfc\x8a\x97c\xc7^\ +\xe3-\xf2~\xf1\xd86\x0e\xcd\xfc\x84\xf6\xdb]\xe2\xb3\ +/\xfcn;\x1f\xfc\x84b{:\xb6\xed]\xf79\xbe\ +\xfe\x0a\x7f`\x81\xe7T\xb2k\xdbm\xddK|I(\ +\xaa\xaa\xea\xc1\xa75\xc0\x14\xb3\x1cx\x03\xb2\x99!K\ +\xef\xfb\x80\xb9\x00\x00\x00\x00IEND\xaeB`\x82\ +\ +\x00\x00\x02\x1e\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x18\x00\x00\x00\x11\x08\x06\x00\x00\x00\xc7xl0\ +\x00\x00\x01\xe5IDAT8\x8d\x95\xd4]h\x8ea\ +\x18\x07\xf0\xdflIQC\xf2q\x22\x8a\x92\xe2\xd8G\ +!\x0e\x97\x16j\x07D\x88\x94R\xcb\xe7\xa2\x9c\x8d\x92\ +\x906\x16K\xf9\x96!\xc7\xac\xa4\x90\x83\xb7)\x07r\ +\x22\x12\xcd\xc1\x88%\x8b\xf9:\xb8\xafw\xef\xd3\xb3g\ +\xeb\xdd\xbf\x9e\xee\xfb\xbe\xee\xeb\xb9\xfe\xd7\xe7]S*\ +\x95\xea\xf1\xd5pl\xc2\x0d\x5c\xc7\xc6\xdc\xddy\xec.\ +\xf8g\x18\xc6\xe1\x07\x9a\xb0\x03\xbf\xf0\x1d\x9b\xf1$t\ +\xce\xe2p\xec\xbbC\xb7\xb3\x1a\xe3P\x87At\xc5y\ +:\x8ea1\xae\x85\xac\x84\xd3\xf8\x8c-\xe8\xad\xd6x\ +9\x82,N\xe0\x19\xf6bY\xc8Z\xb0\x14\xbb\xc6j\ +\xbc\x88\xe0Ox9\x80\xcbX\x81\xa3\xb8\x82\xbb\x19\xbd\ +\x16\xfc\xcb}\x0dq\xf72+\xcf\x13\xc0\x1b\xec\xc3<\ +<\x0c\xaf\xf7\xe4t\xeeK\xb5x\x1f\xe7\xfd\xe8\xc9\xec\ +\xbbc\xdf^D\x00\x17\xc3\x93\xf1hC\x7f\xee\xfe\xb5\ +T\xb7\x8e8ORI\xdf\x03\xcc\xc0_\xb4\x8eD\xb0\ +\x06\x8bB\xe9\x10f\x8e\xe2\xc8\x00\xb6\xaa\xa4{v\xfc\ +\xfb\x14\xbdE\x04\xf5\xb8\x84W\xd2,L\x93\xda\xb2\xa6\ +@\xb7\x0f71\x07\xabC\xb66\xd6;\x0c/2\x9c\ +\xc1\xac\xf0\xea\x96T\xe0\x06\xec\x1c!\x8a\xb6X\xb7\xc5\ +\xbaN\x8a\xbc\xab\x88\xa01\x0c\x1f\x97\xfa\x1f\x9a\xf1\x01\ +\xa7\xa4\xc2\xe7\xf1\x02\x8f\xb1\x1e\xf3\xb1J\xa4\xa7LP\ +\x8b)\x11f\x87T\xc0\xf6\x90\xc3O\x1c\xc4D\x5c\xc5\ +TL\xce\x91\x9c\xc3\x04)-\xb5\xb1*\x13,\xc4\x17\ +\xbc\x95\x8a\xb9\x00\x9fB\x0e'\xa57\x09\x96H\x13\xfd\ +.Gp\x0f\xad\x98+\xa5ghf\xea\xa4^n*\ +\x08\xbd\xdc\xe3\x9dx\x94\xbb\x1b\xcc\x9d\x7f\xe36\x8eH\ +3\xf01K\xf0M\xe5-*B\x8f\xca\x10\xe5\xb1]\ +\xea\xb6\xe78\x10\xb2\x0bY\x85\xbaQ\x0cW\x83f)\ +\xbd}\xd8 \xbd\xc0\xd9'\xa5\xb0M\xc7\x82~\xac\xc4\ +r)\x95\x8dR\x0d\x86\xf0\x1f\x84\xf8v\x1d=\x86M\ +P\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x01p\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x12\x00\x00\x00\x12\x08\x06\x00\x00\x00V\xce\x8eW\ +\x00\x00\x017IDAT8\x8d\x9d\x93\xc1J\xc3@\ +\x14EO\xa2\xa0\xa0\xa2\x05\x11\xba\xf3#\xde\xd2\x8d\xf4\ +\x1b\xc4\x1fp'\x88\xa0\x82Pp\xa3\xa2;\xc5\x95\xee\ +\x14\x7f\xe7\x82\x1f\xe1\xc6\x8d\xa4P\xb5\x9a\xb4\xd5E_\ +a\x88IF\xbc0d\xde\xcd\xc9\x9d7a\x06\x22\x92\ +\xb4#i/\xc6\xcd\xc6\x00\xe0\x02\x98\x01n\x9a\xa04\ +\xd6\x0d\xb0\x0a\xb4|\xfe\xbf \xef\xa6j\xfe\xf7 I\ +\x9d\xa0\xfc\x06\x0aI\x9b\x91\x85\xeb%i \xe9#\xc6\ +\xfd\xeaH\xd2v\xc9\xfa\xf4\x112\x07\x92\xe6+\x83$\ +\xedK\xca\x80\xdbR\xd0\x08(J\xde!\xd0\x93t)\ +)\x05H$\xed\x02g\xc0J\x00\x0e\x81\xdcC\x16\x99\ +\xfc\xa3w&\xc7`\xce\x9fS\xbd\x01\xdd\x14x\x02^\ +K+\x0e\x80\x9e\x8f\xb1\x07\xf5\xdd\xcf\xbd\x9e\xea\x0b\xc8\ +\x92`k\x1d\xe0\x0eh\x9b\xd9B\xe0g@afk\ +\x81\xf7\x0c,\x03'fvM\x95$m\x94\xea\xbe\x87\ +\x85\xdeV\xe5\xc7M\x92\x94K\x1a\xc4\xb8\xa4\xee\x85_\ +\x89.\xb0\xee\xd6\x0bplf\x0fU|\xd3\x15\xb9\x07\ +\xdaA\xbd\x04<\xd6\xc1\xb5Af6\x04\xae\x02\xeb\xd4\ +\xcc\xc6u|\xed\xd6\x00\xfc\xb0\xf5\x81\xdc\xccZMl\ +\xe3\xed\xf7\x0e\xce\x81\xa3&\x0e\xe0\x07\x81\x1e\x7f\x14\x8c\ +;\xe7\x95\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x01{\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x12\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1b\x06/\x5c\ +\x00\x00\x01BIDAT8\x8d\x95\xd3?K\xdbQ\ +\x14\xc6\xf1OB\xaa\x9bb\xfd\xb3IQ\xc8(\x08\x97\ +:\x1b\xa8\x9d\x5c\xb5\xd0\xcdEqt\x93\x80\xef\xa0o\ +\xa0N.\x0e\xba\xd61\x10p\x90\x0a\xbf\x0cm\x17\xb3\ +\xb8\xb8H\x15u\x8a\xa0`\x1c\xe2\ +\x06\x15\x9c`$\xa5t\x05\xc5\x1c\x90\x11\xccD^\xc6\ +%\xfe\xbf\x1e\x96r\x80\x86P\xc5'\x1c\xe3\x0b4\x1a\ +\x8d:\x96\xf3\x80\xae\x03\x92\xd0\x88\x05\x8b8(\x0c\xd8\ +\xa3\x02\xbec\x12-L\x04T\x00k\xfd*\xaa\xa0\x1e\ +y\x1b\xfb]\xe0RJmz7{\x12\x9b\x91\x0f\xf5\ +\xf0\xb4c\xe9\x07\x1aG\x0d\x19\xf6\xfa\xc0\xde\xa2\xdb\xd5\ +fq\x869/\x8d-\xe1a\x10\xd02\x8eB\x7f\xc0\ +\x1a\xa6p\x8b\x0d\x0c\xe3g\x9c\xef\xe8\x98\x9d\xce(\xe2\ +\x17\x96B?\x06d=*\xdb\xc5\xbf\xd0\xeb\x98\xeeU\ +Q!\xcb\xb2\xc3\xc8\x7fx\x9f\x93Y\x5c\xe07F\xf1\ +5<\xb5\xa8\xf4/\x9a\xb17\x81\xfb\x12Vc#\x0b\ +\xc8\x06\xb6\xb1\x82C\xfc\xc1|\x17O\x13\x0b8E9\ +\xcf_\xeb\x16\xafC\xa9\xe8}\x1e\xb60\x86\xcf\xa1\xbf\ +\x85\xae\x0e\xe09\xef|\xfe\x16\xee\xf0\x14\xfa)t\xab\ +\x9f'\xa5t\x07\xcf)mR\xad\xb7y\x8e\x81\x00\x00\ +\x00\x00IEND\xaeB`\x82\ +\x00\x00\x02,\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x11\x00\x00\x00\x10\x08\x06\x00\x00\x00\xf01\x94_\ +\x00\x00\x01\xf3IDAT8\x8de\xd3K\x88\x8fa\ +\x14\x06\xf0\xdf\x7f\xfc\x95\xb0@\x22\x9a\x92{\xe4\x9aS\ +\x9a\x85\xb2\x125R\xee\xa5L)\x16\xa6\x90\x8d\xb2D\ +\x12Rl$\xc9(I.Qr\xbf\xaf\xa4\x8e\x14\xd1\ +\xe4R\xc8\x06\xc9%\xb7$,\xbeW}\x8dSo_\ +o\xe7;\xcf\xfb<\xe79\xa7\xa1Gd\xe6h\xac\xc1\ +\x1c\x8c\xc1\x1f\xf4\xc2C\x9c\xc6\xc1\x88\xf8X\xafi\xa9\ +\x15\xf7\xce\xcc\x9d\xb8\x83N\xbc\xc5R\xdcB_\x1c\xc5\ +(<\xcd\xcc5u\x90F\x01\xe8\x8bs\xf8\x8c\x09\x18\ +_\xf2kq\x11\x0b1\xb5\xb0\x9a\x82\xa18\x1b\x11\x9d\ +u&\xc70\x02W\xf1\x18\xaf\xb0>\x22\xf6G\xc4\x0b\ +\xfc\xc4Jt`:V\xa0-3;\xa1\x91\x99m\xb8\ +\x81O\x18\x19\x11\xdf3s\x11N\xe15\x9e\xe1:\x96\ +a\x12\xeeEDd\xe6\xf4\x22\xbd\xb5\x05\xdb\xd1\x07;\ +\x22\xe2{a\xb6\xa4|[1\x1bG#br\x91z\ +937`0\xbebs#3_c\x0b\xc6\xe1\x01\ +\xba\x0b\xb3~\x05\xa8;\x22&\xd4\x0c8\x8b\x05\xe5z\ +\x18\x93\x9a\x18\x80\x13\xf8P\x12\xcf0\x11\xf3\xcay\x92\ +\x99\xcd\x88\xf8\xe5\xff8\x8e\xad\xcdri\xd6\x12\x8f\x22\ +\xe2\x15\x0e\xe0@fvcca\xfc\x02\x17\xf0\xa3<\ +\xf4\x05?Z\xf0\x06]\xd8\x8d\x9b\xb8_\xa3>Ye\ +w/\x95{\xad\xd8\x13\x11\xcb\xb1\x17\x97\xf0\xb1Y\xa4\ +tFD{)\xec\xca\xcc{8\x89\x81=\xe8o\xab\ +\xc9Z\xa22\xe4H#3\x87\xe0)fFDwf\ +v\xa9\xe6\x01\x16\xe16\xc6b\xbe\xaa\xd9\x0f\xf0\x5c5\ +\x9c\xdf0\xbc%\x22\xdeb\x03\xceg\xe6*\xf4\xae\xbd\ +\x9c\x11\xf1^5|\xab\xb1\x1e\x87\xd0^\xfa\xd2\x1e\x11\ +\xbf\x1b5\xfd\xeb\xb0\x09g\xb0\x0b\x8b1\xab\xa4\xaf\x14\ +\x80q\xb8[\xfa\xd3\x11\x11W\xa8-`D\xec+\xf4\ +g\xa8\xf6%0\x0c\xfd\x8b\x0b\xd7\xf0\xae\xb0j\xfb\x07\ +@Y\xc0\x9e\x91\x99\xd30W\xb5\xb5\x83J\xf1C\x9c\ +\x8f\x88\x97=\xff\xff\x0b\x84C\xb2\xa8\xaa\xc4\xf2\x0e\x00\ +\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x00\xee\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x0a\x00\x00\x00\x0d\x08\x06\x00\x00\x00\x907\xff\x05\ +\x00\x00\x00\xb5IDAT(\x91}\xd0\xa1\x8aBQ\ +\x14\x85\xe1O\xb9\xcdd\x9b\xeek\x08\xbe\xc7X\x0c:\ +\x08\xfa V\x1f@\xb1h1\xcc4\xc1l\xbc0\xc1\ +7\x10\x83ED\xc3\x14\x83\x96s`s\xb9\xcc\x82\x13\ +\xf6f\xb1\xfe\xb5O\xa3,\xcbO\xac\xfd\xafY\x11\x86\ +\x01\xfe\xc2\xdc\xc0\x1c\x1f8F\xe3\x0f\xeea\x9e&\xd3\ +\x0e\x9b&N\xd8\xe2\x19L\x1d\xccp\xc3\x17\x148\xa4\ +\x17\x91\x0b\xb4R\xea\x19\x9a5\xc5'\xe8%\xe4*/\ +\xab\xc6\x8c\xbcgdV<&\x22\x87\x19Y\x97\x98\x91\ +{,\xab}rbF>0\xc2+x\xc6\xb8\x145\ +\xc8S%\xac/}\xf88!\x0f\xf8F\xbb\x8eZ\xa0\ +\x9b\x16]\x5c\xab\xdd\x92~\xdf\xc4\xcd&:\xc3\xef\xf7\ +E\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x015\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x0f\x00\x00\x00\x0f\x08\x06\x00\x00\x00;\xd6\x95J\ +\x00\x00\x00\xfcIDAT(\x91\x95\xd0\xcf*D\x01\ +\x14\xc7\xf1\xcf\xcc\xcaB<\x06YX\x9d\xe6\x09\x94\x12\ +SJ\x9a\x97\xb0'\x8bY\xc8+XY\x121\xfe\x16\ +\x1b;ew\x1e@\xd9YX\xb0A\xd9\x10c\xe1\xca\ +\xedv\xa7\xc6os:\xe7\xf4\xfd\xfdN\xa7\x91\x99\xab\ +\xf8\xc0aD\xdc\xfb\x87\x1a\x99\xd9\xc1\x1e\xfa\xb8\xc1\x01\ +\x8e\x22\xe2a\x18x\x14O\x18)\xcd\xfb\xb8\xc6>\x8e\ +#\xe2\xb1\x16\x86\xcc\x06Z\xa5\xb1W#\xc4HW\x92\xccZ\xcf5\x97\ +i|8\xb0\x14h\x0e\xcc\x06^\x06\xb6\x03#\xf0~\ +\xfdU\xf5@aq\xa2\x8d\xf7\xfe\x00p\x13\xf0\xb8\xb3\ +\xe6\x9bx(\x80M\xc0 `\x82\xb3f\xd1U\xf1\x80\ +\xf7\xfe-\xa0-0/e\x1c\xc0Y\x03\x88\x22\xe0_\ +`Faq\x22+}M:@\xfc\xca\xf1\xc0?\xc0\ +{\x99\xeb\xce&\x0f\x03K\x80N\xde\xfb\xe7\xb3\xd1\xd9\ +`\x08\xa4\xd2\x03\x08q\xed\x07\xb4\x8f\x06\x0f\x03'\x80\ +\xe1\xc02g\xcd\xd8K\xec\xed\x05T\x02\xbb\x81\xbd@\ +\x0f\xa0\x03p\x168\x00\xac\x13B\xcc+\x8b\x89*\x00\ +\x0a\x8b'u\xf6\xbe\xee\x1d\xe0]g\xcda\xa9t\x0d\ +!\xc1\xceE\xa37\x12J-E\xe7\x81\xcd\xc0\xa7 \ +\x968\x9bD*\xdd\x1f(\x06F\xc6C\xa7>\xae6\ +\xeah\x09\xb4\x89\xbc\xfd\xc0@g\xcd\xef1\x04~p\ +\xfc\xe2\x1f\xa5\xd2}\x9d5-\x80\x02\xef}\x0bg\xcd\ +\xad\xce\x9a\x9b\xbd\xf7\xad\x81\x83@\x0d\xb0\x03x\x04X\ +\x0c\xbeZ*\xbd\x03\xd8\x0a\xbc\x12\xc3\xba?\x1a\x1a\xeb\ +\xaci\xee\xac\xe9\xec\xaci\x8b\x10]\x81R\xe0.`\ +Qz\x0e\x5c\x1b\xc7N\xc0\xf7R\xe9!\xce\x9a/W\ +\x94.\xb8\x18+!N\x01]\x81]\xce\x9a<`*\ +\xe0\x09\xd5\x90\x1b\xc5*\x81{\x81\xe9q\xde\xa5^\x8e\ +\x94$\x8f8k\x14\xf0\x0bP \x95n0\x09o\x00\ +\xd6I\xa5'\xd4K\x16!\xee\x8f\x07>-\x95\xdeD\ +\xa8\x7f\x80\x95\xc0\x9b\xc01\xa07\xb0\x0f\x18\x10\xd7z\ +]\x22\xf7\x0e\x03\xcd\x80\x8e\x97\xaa\x82k\x80\x85R\xe9\ +\x0fR\x0c\xef\xfd\x9d\xf1\xef@B\xad\x7f\x0d\xf4u\xd6\ +\x8cv\xd6\xcc\x11B\xdc\x02L\x8b\x8au\x94\xed\x9e\xa9\ +8\x96g?\xa0\xcaYs\xbc\xb12|C*\xbd\x22\ +\x96_N\xe4\xfd\x09\x14:k\x06;k*S\x82e\ +%I\x9c5\xb3@\xf4\x04R\xdd\xb0\x8fT\xba^\xb5\ +x\xef_\x8fa[\x09\x17\xaa \xf1\x82\xf7\xfe\x93\xff\ +9\xc8fg\xcd\x00\xa9\xf4d`\xb7\xb3\xe6B\xbb-\ +,Nt\x00r\xcaJ\x92\xbb\xd37H\xa5\xf7\x00w\ +\xc7\xe9\x82\xe8\x95n\xc0\xcf\xd1K=\x9c5\x87\xb2m\ +D\x0fK\xa5\xf79k\xe6\x0a!\xd6\xa7\x19\x19\xe3\xbd\ +?\xea\xbd\xdf%\x95\xde\x94\xd1\xfd\xaa\xe2\xf8\x1b0\x11\ +\xf8\x22\xfeZ\x01S\x9c5\x87R\xb1\xce\x96\xbaK\xa5\ +\x97\x96\xd5G\xba\xf7\xe3\xd7\x00\x0c\xf2\x9eQikg\ +S|\xe0;`\x18\xa1Z\xca\x9c5\x1f\xa6\x84\x9a\x8a\ +\x05\xe73\xe6u\x8d\xcc!4\xb4\x96\x97\x92i\xca\x01\ +v9k\xc6e\xf0^\x03\xce\xc4\xff\x1b\x84`u\xda\ +Z\xca\xe8\xb7\xc0\x83\xc0\x1a\x02d\x17I\xa5_m\xea\ +\x016:kr\xa5\xd2oK\xa5\x87\xa5\x98\xce\x9a5\ +@\x8e\x10\xe26g\xcd\x90\x8c\xf0\xb4\x8fcW`\xbe\ +\xb3f\x04\xf0,P\x0d\xcc\x91Jw\x86\xd8\x01{\xe5\ +\xe5\xf7!\x80LCT\x0a\x8c\xcc\xcd\xcb\xd7\x84\x98\x0f\ +\xcd\xcd\xcb?\xb1\xb3\xa2|;\xc0\xce\x8a\xf2\x9a\x9d?\ +m=\x99\x12\x96Jw\xcb\xcd\xcb\xff\x8cP\xebg\x80\ +\x22g\xcd\xbc([\x9d\x9b\x97\x7f\x1ax\x06h\xb6\xb3\ +\xa2|Cc\x1e\x98\xe9\xacQ\x01\xeb9\x1ay\xad\x81\ +\xc5R\xe9-R\xe9\x87.\x1aN \x95\x9eE@\xc1\ +\xc7\x22\xbb\xc2Y\xb32]\xa1\x10b\x01p\x12\x18\x0d\ +\x1738\x93j\x81\xf1\xce\x9a\xd2\xb4\x8d\xfb\xbd\xf7\x00\ +\x1b\x09\x19^\x00l\x91J\xaf\x03~\x00?\x09hG\ +hT\x06\x98L\xe8\xf9\xf5\xa8\xac$\x89Tz\x1b0\ +X*\xdd\xa6!\x0fT\x03O\xa6\x1b\x07\xf0\xdeW\x10\ +2\xb8\xa3\xb3f(0\x85\x00FO\x033\xa2\xf1J\ +\xe0>B\xb2A@\xcd\x86\xe8v\x02\xaa\xfe\x9d\xf2@\ +m\x1c\x8f\x00O8kvK\xa5G\x01\xab\xa2\xfb!\ + \xe5!\xe0\x1e\xa9\xf4^\xa0g\xe4W\x11\xe0\xb7?\ +\x01\x8c~%\xe0?@\x95T\x9a\x94\x0e\xa9tw`\ +&\xa1#\xaer\xd6\xc4V\xfc\xe2\xa4\x1c_W7\x15\ +\x98\xed\xac9&\x95>\x97\x16\x9ej\xe0zB=\xa7\ +\xa8\x06\xf8\x0aX*\x84X^V\x92D\x16'r\xf1\ +\xbe\x18\x18E\xc8\xfc\xf4\xdb\xd6\xe9\xb8\xff\xba8\xdf\x85\ +\x10\x8f\xba\x92\xe4\x89\x86\xafd\xc5\x89\x07\xf0\xfe%B\ +&\xb7#\x5c4\x0f\x02\x7f\x01c\x80\xe5\xce\x9a\xa2\x06\ +\xf7*\xdd\x9b\xd0\xef+\xe3\xd83\xea\xa8\x8d\xdeY+\ +\x84XT\xefJ\x96-\x8d\x1e7\x11!\xc4\x1f\x044\ +\xeb\xe2\xac\xa9\xca\x94\x91J/\x04&\x10\x10\xd35\xa6\ +\xb3I\xad8\xde\x90\x16\x12\xba\xdc\xf4\xccu\xa9\xf4\x1d\ +\x80\x02\x8e\x08!\x1a5\xde\xe4\x03\x00\x08!\xe6\x02\xc7\ +\x81\x84T\xfa\xa94\xe3\x00\xcb\x09q\x9eV\x96\xe5\xf3\ +\xec\xb2\xde\x86R\xe9\x02`-\xa1,?\x22@\xeex\ +\xc2}\xf0sg\xcd\xf0lu]\xd6\xdb0^H\x9e\ +\x03N\x01\x09`~4\xbeL\x08\x91\xb5\xf1\xcb\xf6@\ +\x9a' `H\xeay\xbe\xa7\xa9:\xfe\x03\x5c\xaa\xea\ +&\xfd\x17M\xd2\x00\x00\x00%tEXtdat\ +e:create\x002016-01\ +-08T15:18:18+00:\ +00\x01E\x99\xf0\x00\x00\x00%tEXtda\ +te:modify\x002016-0\ +1-08T15:18:18+00\ +:00p\x18!L\x00\x00\x00\x00IEND\xae\ +B`\x82\ +\x00\x00\x00\xce\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x0c\x00\x00\x00\x0c\x08\x06\x00\x00\x00Vu\x5c\xe7\ +\x00\x00\x00\x95IDAT(\x91\x9d\xd0\xb1\x09\x02Q\ +\x10E\xd1\xb3\x22\x08\xb6a,\x98\xd9\x80\x81\xa0e\x88\ +\x91%\x18Z\x82\x89b\x19\x0a\x826 \xfc`\xc1\xd8\ +\xd0\x16\x04#\x0d\xfe.\xac\xe8\xdf\x05_x\x87\xcb\xcc\ +\x9b,\x84\xf0\xc2\x01S1{L$\xd2\xc6\x19y\x85\ +\xe5\xe8\xa4\x84,\x84\x90\x9a%7lp\xc5\xba`\x0b\ +\xf4\xeb\x84\xb9\xd8\xa1\x14\xc6\x1a:\xf4\xf0\xa8\xb0\x19\xba\ +)\xa1\xd5|\xf5\xf7\x86\x9b\xcf\xb7\xee\x9aN\xda\x8a\xa5\ +\xcb\x1cqO\x09\x7f\xbd\xf5\x84\x0b\x96\x05[aX'\ +\x8c\xf0\xac\xb0A\xc1~\xe6\x0d\xc9\xd6\x1dQ\xcd\xba\xaa\ +\xa1\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x01}\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\ +\x00\x00\x01DIDAT8\x8d\x95\xd2\xb1KVQ\ +\x14\x00\xf0\xdf\xf7Qa\xe2\x12N\x91\x93\x85MN\x9d\ +\xa1E\x10\x84\x86j\xd4M\x87\x96\xc0\xdd]\xb7hh\ +\x8d \xa1!A\x1cZ\x85\xa6j*\xf2P\xe0\x90\xe2\ +\x1f\x10\x88A\x86aa|\xe2\xf0\xae\xa1\xaf\x0b\xe6\x99\ +\xde;\xf7\x9c\xdf=\x5cNG\x89\xcc\xbc\x829Lb\ +\x18\x7f\x90X\xc4RD\x1c\xaaD\xa74\x8f\xe25\xae\ +\x96\xfc/\xf40P\xfeW1\x15\x11\xfbm\xa0[n\ +^=\xd1\x0c\x971\x8bql\xe2.\x9e\xd5&\xe8\x96\ +\xb1\x87*g\xdf#\xe2\x1d\xc6\xf0\x153\x99y\xab\x06\ +L\xd5d\xecBD|\xc3\xa3\x92\xfb\xa7\xf6\x82\xe6\xc1\ +~\xa3\xaf\x0dd\xe6\x00\x06\xb1Qr\xd7k@\x0f{\ +xP\x90\x9f\xd8\xc6+\xdcl\xd5\xf7j\xc0:\x02[\ +\x11\xf1\xe9\xf8 3\xdb\x13\xc1\xe7v\xa2\x8b\x17\xe5\xfb\ +if\xf6W\x9ahv\xe2\x00/k\x13,b\x06\xb7\ +\xb1\x96\x99\xf3x\x8f\x8b\xa5\xe6\x00\x97\xf0\x04;m\xe0\ +x\x91\x06\xb1\x82\x89\xca\xed=,c\x1a\x1fq'\x22\ +~\x9c\x02\x0a\xd2\xc1=\xcd*\x8fh\xb61\xf1\x5c\xf3\ +\xa8_4\xfbr\x0a\xf9\x0b\x9c\x15\x99y\x03oq\x0d\ +\x1f0\x11\x11\xfb\xff\x0dT\x907\xb8\x7f.\xa0\x82<\ +>7p\x02Y\xc0\xc3#S\xefd\xae\x0f\x1eB$\ +\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x01x\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x10\x00\x00\x00\x12\x08\x06\x00\x00\x00R;^j\ +\x00\x00\x01?IDAT8\x8d\x9d\xd3=K\x5cA\ +\x14\xc6\xf1\xdf\xae\x06\x04\x8bt\xdb\xa8\x88q#\xa2\xd8\ +X\xa4\xb2\x15\x041\xd8\x05\xa2\x95\xe5\xd6!\xd8,n\ +!~\x06+IJ\xf3\x09\x94\x10P\x904n\x11H\ +0$\xf8\x02.\x0b\x0a\x16Vb\xe1\x8a\x8538\x19\ +]\xc2\xfa\xc0\xe5\x9e\xf3\x1c\xce\x7f\xce\x9d\x99[\xa8\xd7\ +\xeb\x12\xad\xa1\x8a\x96\x7fu\x89\x97\x99w\x8a\xc1bf\ +\x8e\xa3O\x07\xca\x01\xaf\xc2\xf3,@\x01\xe5N\x01\xdd\ +I\xdc\x8f\x9e6\x80\x1d\xf4\x86E&\xf0\x13\xe7\xf9\x04\ +\xb1q\xe8\x09\xc0<\xa6\xf1\x19%|\xc2B\x0ex\x9d\ +\x81r\xbd\xc0J\x88\xabq\xfa\x22\xc6BS\x0a\x18\xc5\ +\x1c\xba\x12\xc0\x12\x86C<\x82\xf7\x110\x80#|\x0c\ +\xc5\x12~\xe3\x9d\x87\xfb\xd0\x13VMUEw\x11\xdb\ +\xf8\x9e\x15oPK\xf2\x8a\xc7\xf7\xa3\x8c\xc5\xb8\x07\xb5\ +\xac\xb8\x81\xc3$ob\x06?B\xbe\x857hD\xc0\ +W\xec\x85\xf8\x1a\xab\x19p3Lz\x10\xf2_\xd8\xc7\ +\xb7\xf4\x14\xe2\x0e\xaf\xa3\xe1i\x1d\x87\xf7Q4\xe2E\ +Z\xc6$\xce\xdc\x9f\xc2\x97\xe0Wp\x91\x00N\xda\x01\ +\xa60\x1b\xe2\xb7I\xc3\x876\x13\xfc\x8dF\xfe3\xfd\ +O\xc7\xb8\x92|b\xa7\x80&\xfe\xe0\xf6\xb9\x80\x16v\ +S\xe3\x0e3\xc49\xa5\x12)N:\x00\x00\x00\x00I\ +END\xaeB`\x82\ +\x00\x00\x01\x1b\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x0e\x00\x00\x00\x0d\x08\x06\x00\x00\x00\x99\xdc_\x7f\ +\x00\x00\x00\xe2IDAT(\x91\x9d\xd1/K\x83Q\ +\x14\x06\xf0\xdf\xe6\x8aE\x98_`&\x83U\x10\xbf\x82\ +\x98\x9d0\x16\x945\xbb \xd6\x05\xcd.\x88}j\xb1\ +\x0cV4\x1b_\x164\xac\xb8b\x96\x81\xc5 2\x16\ +v\x06\x97\xd7wC|\xe0p\xcfs\xce\xf3\xdcs\xff\ +\x94\xb2,\xbb\xc0\x99\xdf8\xc1u\xe4}\xec\xa7\xcd2\ +\xeePG7j\xc3\xe0O\x89\xee\x12\xc7\xf8\xc2\x18\xcd\ +\x0a^#z\xd8\xc4\x0e\xaa\x18%\xc6g\x1ca\x15\x0d\ +\xf4\xcaI\xf3\x1b\x07\xf8\xc0\x15\xb6\x93^\x1d-tb\ +\x80\xd4\x08\xefh\xa2\x82\x07\xacc\x037\x18\xe04\xbd\ +c\x1e\x8fh\x87\xa1\x8b\xdb\xd0\x1d\xc6\xa9\x88\x9d\x8b\xd0\ +\xc6.\xf6\x827\xf0\x96\x0a\x8a&\xc2\x04\xe7\x91\x0fq\ +\x9f\x17,2\xc2On\xfd\xb3q)\xfem,z\x9c\ +\x15\xacE\xccy\xd5\xec\xde\x9f\xcb\x8c[x\xc9\xf1\xb1\ +\xd9\x1f\xd7\xe6\xc5)P\xcb+^\xfd\x05+R\x00\x00\ +\x00\x00IEND\xaeB`\x82\ +\x00\x00\x01\xcf\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\ +\x00\x00\x01\x96IDAT8\x8dm\xd3M\x88\x8eQ\ +\x14\x07\xf0\xdf\xf3\xf4R\x83\x8d\x05\xc5\xbc\x14)\xcd\x8a\ +\x95(R\x13\xa5\xac\xcc\xc6GMJY\x8cX(K\ +\x99\x8c\x05\x9a\xb1b\xc3b\xc6\x82R2\xd9\xc8(_\ +eA\x16b\xa1\xde\x84\x89Y\xccBB\xa4\x19\x1f\xc3\ +\xe2\x9e\x9b\xdb\x93S\xb7\xdb9\xf7\x9c\x7f\xff\xf3?\xe7\ +V\x9dN\xc7\x7fl\x1b\xfa\xb1\x05m\xfc\xc6\x1bL`\ +\x0c/sb\xd5\x00X\x82\xab\xd8^\xc4>\xa3\x85E\ +\xe1\xcf\xe1\x22\x8eb\xb6.\x12\xdbxZ\x14\x7f\xc3q\ +,\xc7\x0a\x9c\xc3\x0f\xd4\x18\xc0=,\xc8\x0cj<\xc6\ +\x06\xcc\xe0\x12\xce`\xba\xd1\xda\x1a\x0ca\x0f*\x8ce\ +\x80\xfd\xb8\x8c)\xf4\xe2uQ\xd4\x1d\xa0\x1f\x8b\xd8F\ +\x5c\xc1\xea\xdc\xc2\xc1\xb8\x87\x1b\xc5\x83x\x8bI\x9c\xc4\ +\xc2\x88?\xc1mT5\xba\xb0)\x1e\xde5(\x0fc\ +/n\xe20\x9ec}\xa1\x91VP\xccLv\xe2\x96\ +46\xf8\x8e\xf18-i\xac\xfb\xd0\x87u\x19\xa0\x9c\ +\xc44\x0ea-\x1e\xe2\x0e\xbe\xc6\xdb/<\x88C\xd2\ +L\x8d\xf7\x98\x8d\xe0+\x9c\xc7(\xce\xe2\x83\xb4<\x03\ +X\xdah\xefE\x06\x98\xc1\xfd\x08\xce\x8b\xfb\x19zp\ +,\xee\xc1L\xb9\xb0\x1e\xfem\xe2\x0eI\xd5I\x1c\x08\ +\xfa\xa5U\xf8S\xf8}\xb8\x86\xb9\xdc\xff\x84$\xd4\xaa\ +\xe8q\x5cZ\x9al\xb9xs\x80\xdf\x08\xb6\xa7K\x01\ +\xfb\xa5m\x84]\xd2\x87\x19\xc1b\xac\x8c\xa2G\xd8\x1a\ +9\xa3\x18j~\xa6.\x9c\xc2\x11\xcc\x8f\xd8\xcfh\xa1\ +\x15\xfe'\x9c\xc0\x85R\x83\xa6\xb5\xb1[\x9a\xfb2i\ +\x84S\xb8\x8b\xeb\xf8\x92\x13\xff\x02w\x5ckPMg\ +\xdc\xa5\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x01\x86\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x0f\x00\x00\x00\x0e\x08\x06\x00\x00\x00\xf0\x8aF\xef\ +\x00\x00\x01MIDAT(\x91\x85\xd21K\xd6Q\ +\x14\x06\xf0\x9fW\x0a)jhh\xc8h\x91\x1c5\xe9\ +PRIC\x82\x0e\xd9 !\x82\xd1j\x1f \xa8o\ +\xd0\x16\xb4\xb4\xd4\xe6`\xb4DB\xadA\xe0\x10\x1dT\ +hlh\x11A\x8c\x8ah\x10\xa9lx\xef?^\xfe\ +\xf0\xf2\x9e\xe9\x9e\xe79\xcf}\xce9\x9c\x01\xad\xc8\xcc\ +\x9bX\xc6\x15\x9c\xc2O|\xc4s\xbc\x8c\x88\xbfM\xed\ +@\x97\xe8\x18V0\x8f/X\xc3W\x9c\xc6\x0cF\xf1\ +\x1e\xb7#b\xaf-^\xc3\x1c\x1e\xe0qD\xfc\xee\xe2\ +\x0a\xee\xe2)>a*\x22\x0e\x1ar!3\x0f3\xf3\ +~{\x8c\xd6H\xb3\xb5\xee\xe1\x7f\xe7\xcc\x5c\xc7qL\ +D\xc4a\x9f\x0f^\xe0\x1a\xce\x95\xcc<\x89I\xac\xf6\ +\x13\xd6X\xc50F\x0b.\xa3`;3\x8f\xf4q=\ +\x8a]\xfc\xc1\xa5\x82G\x95\x1b\xc7\xab>\xaeou\x96\ +:\x88{\x05\x17*1\x86\xc1\xcc\x1c\xe9\xe1:\x82)\ +|\xab\xd0\xc5\x82\x1f5\xb9\x8e7X\xea\xe1z\x07\xef\ +p\xb5\x01\x0a>\xd7\xf7\x10~a\xb1\x87xI\xe7p\ +\xa6k\xbeY\xf0\xba\xab\xe0\x06\xf62s\xac\xd5\xf2$\ +\xcec\x1f'*\xbcR\xf0\x04\x9b\x15\x98\xc7\x87\xae\xb9\ +\x9a\xd8\xc7\x16n\xd5|\x03\xcf\x9a#9\xab\xb3\xe93\ +X\x88\x88\xf5v\xcf\x999\xa1\xb3\xed\xef\x98\x8e\x88\x9d\ +\x7fI\x1dq\x82#,l\xf1\x00\x00\x00\x00IEN\ +D\xaeB`\x82\ +\x00\x00\x01\xc6\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x11\x00\x00\x00\x10\x08\x06\x00\x00\x00\xf01\x94_\ +\x00\x00\x01\x8dIDAT8\x8d\x9d\xd3M\x88\xcda\ +\x14\x06\xf0\xdf\x9d\x99\xcd\xd8h\xc6,$ERS\xcc\ +4\xa5\x135\xd9\xcclg(\x12\x1b\x0b)\x16>v\ +\x16\xa2,(\xcdF\xcab\xa6\x1b[\x85\x22+K\xf9\ +X\xb9\x0ee!#D\x16\xa8!\x09\xc9\xc2\xc7\xe2\xff\ +\xcet\xfb\xd7\xcc\x8dS\xef\xe6=\xe7<\xcfs\xbe\x1a\ +\xfe\xd32\xb3\x89\xfd8\xde\xe8\x108\x82\xb5X\x85\xd5\ +\xe8F\x17\xd6c\x1bz\xd0\xea\xe9@x\x06O1\x83\ +\xe5\xd8\x83e\xb8\x82\xbeBp\xa2{\x09\x15\x1bp\x16\ +\xc3\xe8G/\x9ax\x84\x83\xd8\x87\x81\x88hv-\x02\ +\xb0\x157\xf0\x10o\xd1\x8a\x88i\x0c\xe04\x0eG\xc4\ +\x17\xfcVj\x9aO\x5c\x89\xbdE\xe2\x1b\xac@\x94w\ +)3[8R\x00~df?>B#3\x03\xc7\ +\xd0\xc0\xbb\xc26\x8a\x8b\x111U\x08\xee\xa8\x9ay\x0b\ +\xcf\xf1\x12?\xf1=\x22\xee\xf7\x14\xc6\xed\xc51\x8b\xc7\ +\xb8\x80'm\x15\xee\xc4H\x01\x1a\xc4I|\xc2\x98\xc2\ +.3\xc7q\x0d\xbb#\xe2\xf6b\xcd.\xb1S\x98\xc0\ +xD\xccQ\xcd\x5cI\xdc\x81\xcb\x999\xf9/\x00\x0b\ +J\xda\x82\xb6\xe0\xaejt\xdfj\xbeI\x9c\xc7h;\ +\xc0\x82\x926{\x8d\xafu\x80b\xef\x8bo\xae\xee\xa8\ +o\xec\x90jCef/\x8e\xe2\x05n\xe2\x19\x063\ +\xb3;\x22~-\xa5d\x08\xb3\x99y\x08\xaf\xb0\x19\xa7\ +\xf0@5\xf6\x0fXWWR\x07\x19\xc6\x01\xd5qM\ +D\xc4.l\xc29Lc\x0d6v*\xe73\xc6\x22\ +\xe2\xde\xfcGD\xfc\xc1\xd5\xcc\xbc\xae\xba\x97\xbe:\xc8\ +_\xc6l\x83y\x0c\xda\xbaW\x00\x00\x00\x00IEN\ +D\xaeB`\x82\ +\x00\x00\x01\x89\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x15\x00\x00\x00\x14\x08\x06\x00\x00\x00bKv3\ +\x00\x00\x01PIDAT8\x8d\xad\xd4\xb1K[Q\ +\x14\xc7\xf1O$\xb4\xee\x12j\xabq\xaaYJ\x05\xc9\ +_P\x07\x17\x07\x17\xc1BE:T\x90\xae\x9d\x0a\xed\ +\xa0t\x13\x97v\xc8\xd8\xc5\xc1E7\xdduN\x16\xa5\ +\x94\xd6M#m\x05'\x95XQ\xe2\x90\x9b\x12\x02\xef\ +\xbd\x9b\x92\x1f\x5c.<\xce\xf9\xf2;\xf7\xc7y\xb9f\ +\xb3)I\xb5Z\x0d\x9e\xe3\x00oQ)\x97\xcb\x89\xf5\ +m\x0ddV\xfc\x87b\xa1?P\x8d\x85\xe6\x92\xc6\x0f\ +\xa3\xc3C\xdc\xe16\x16\x1a\xe3\xf4o\x00\xe6\xf1\x1a\xab\ +\xfd\x80\xe6\xb1\x88\xef\xf8\x8a\xc7\x18\xc7`RC\xd6\xf8\ +S\xa8\xa0\x94\xd0\x7f\x86S\xd4q\x1c\xee\xbd|\x86\xcb\ +}\xac\xe1#\xc6\xc2\xb7?\xf8\xd6\x01\xfb\x85\x93p\xd7\ +\xf1;W\xadF\x85\xfa\x00\xcbx\x8f\x1d\xbcI+\x8e\ +y\xd3\x12n\xf0\x19O\xb1\x9d\xd5\x10\x03\xdd\xc2\x86V\ +8W\xd8\xcdj\xe8|\xd3A\x8c\xe0\x09F;\xee!\ +\xbc\xc2\xbcV\xfa\x9f\xb4B\x91\xb4\xb2y\xbc\xc44&\ +\x03\xb4\x90b`\x093x\x81\x9fiN7\xc3\xe9t\ +\x5c\x0c.\x8bx\x87\x09\x9cc\x1d_p\x99\x04lC\ +\xbbu\x8d\xa3p`\x01\x1f\xb4\x82\xbaH\x83\xa5A\xbb\ +5\x8bF\x0c\xac\xad\x98\xf4\x1bx\x86\xb9Xh\xe2\x9a\ +\xf2oU\x0b8\xc4\x8a>\xfe\xa4\x87\xf1(\xcab\x0f\ +\xd0\x9eu\x0f\xb5UQ\xc4\x18\x14\xeam\x00\x00\x00\x00\ +IEND\xaeB`\x82\ +\x00\x00\x01J\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x0d\x00\x00\x00\x0d\x08\x06\x00\x00\x00r\xeb\xe4|\ +\x00\x00\x01\x11IDAT(\x91\x85\xd2\xbf+\xc4q\ +\x1c\xc7\xf1\xc7\x9d\x93\xe4\xa2\xcb \x8b\xb2(\x7f\x00\x03\ +e2\xa0\x94\xd1 \xeab\xb1 \x0b2#\x93,\x16\ +\x89\x0c&E\xba\xc2\xa0\x84\x81\xbe\xc9$\xeb1\xa9\xeb\ +&\x8b\x1f\xc9p\x9f\xab\xef\xe9\xe2=\xbe?\xaf\xe7\xe7\ +\xf5\xfa|z%\xa2(\xca\xa3M\xe5\xaca\x11\x0bX\ +\xfduv\x9d\xc24\xd2\xd8@\x0b\xe6p\x11\x04Gx\ +\xc5\x16^\xb0\x84B\x0a\xb9 x\xc3\x09\x06\xb0\x19v\ +O\x98G\x0ac\xb8\x85d\xcc6\x87\xed\x00M\x85\xdd\ +0&\xb1R\x06 \x11EQ\xcc\xe2\x1c\xcb\xe8\xc0z\x5c\x14\xff\ +\xbdN\xdc\xe3,\xc4\x83\x1a\x5c\xa2\x07C8-;e\ +\xd0\x8c=\xbc+\xd5\xa7.@)\xa5\x86|`G\xa9\ +n\x99$\x8a(\xa0\x0bMxD6@Y\xdc\x85K\ +Z\x91G\xf1\x07i\x04=o\x03\x18\x5c\xb7\x00\x00\x00\ +\x00IEND\xaeB`\x82\ +\x00\x00\x02\x15\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x13\x00\x00\x00\x14\x08\x06\x00\x00\x00oU\x06t\ +\x00\x00\x01\xdcIDAT8\x8d\x9d\xd4]h\xcfQ\ +\x1c\xc7\xf1\xd7\x7ff)\xe5\xa15\xca\x05\x174\xb5\xd4\ +\x94\x8b\xb1%\xb1\xac<\xa4(S\xd4.\xdcz\xb8q\ +\xe7F\x89\xc2\x8dZ+)\x96I\xc9\xe4!\x91\x9a\x84\ +\x95q\xf1\xbf\xf0\xfc\x90;#\xa1\x11.H\xcd\x5c|\ +\xcf?\xbf\xfe\xfe\xff\xfd\xd6N\x9d\xce\xefw\x1e\xde\xe7\ +\x9c\xcf\xf7\xf3=\x85b\xb1h\x02\xa5\x06\xbbS]\x88\ +W8\x8a\xb3\xd9I\xb5\x13\x00MA/\xba\xd2\xff\x07\ +4\xa1\x0f\xd3q\x22\xbbc\x1e\xe8L\x02\xbdG+\xe6\ +a#\xc6p \xcb\xc8\x83m\xc5z\xbcD\x1b\x1e\xa4\ +\xfe\x1b\xf8\x84\xb9\x98Q\x9a<\xde5g\xe2\xb9\xd0\xe8\ +\x07F3c+1\x07\x1f\xf1}\xbc\x93M\xc3)\x8c\ +\xe0Ij{Q\x97\xc6\x97\xe2\x0a\x0a8\x84?\xd5N\ +6\x0bW\xb1\x0a_q_\xe8\xd4\x85~!\xfe\x00\xea\ +q\x1c=\xd9\xc5YX\x03n\xa1\x19/\xb0\x0d\xef\xd2\ +\xce\xab\xf1\x13w\x84F=\xd8W~\xa5\x12lv\xda\ +\xb1\x19\x0f\xb1\x01\x97\xb1\x1c\x17D\xe4v\xa4\xf9G\xb0\ +?\xf5\xfd\x07\xab\xc3\xcd\xa4\xc5\x10\xd6\x09Q\xcfc\x85\ +\x7f\xfe\xfa\x85\xbd2\xbe\xaa\x04\xdb\x8e\x16<\x126(\ +E\xe7\xa4\xd0\xaf\x15SqOD\xafj\xa9\xc1\xb2\xf4\ +\xdd\x8do\x99\xb1\xcd\xb8\x8bMx\x9c\x07*\xc1\x86\xd3\ +w{\xa6\x7f\x0f.b\xb10\xec\xeb\xfd7\x08\xdf\xb5\xd4\xa6\xe3w\x88\x1c\x5c\x92&\ +<\xc3.\x0cV8@\xbf\xc8\xcfF!\xc55\xe1\x82\ +\xa6B\xd9\x134?\xb5\xc3*\x84>\x95v\x5c\x12\xe9\ +\xf6[\xb8a\x04[\xca\xd3\xe9m\xaa\xd5@p[\x04\ +e,\x81F\xb1\x16\x83y\xafF\xa5\xd2\x88\xd3\x227\ +\x89g\xea\x1c\x16L\x06v\x1d\x8b\xc4\xd5:\xf1Y<\ +\x96\x03\x93\x81\x1d\xc6\x1b\xac\x11\xf6\xe9\x10\xd69\xf8\x17\ +-\x83l\x7f\xf5\xb9\xae\x1b\x00\x00\x00\x00IEND\ +\xaeB`\x82\ +\x00\x00\x02\xff\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ +\x00\x00\x00\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\ +\x00\x00\x00 cHRM\x00\x00z&\x00\x00\x80\x84\ +\x00\x00\xfa\x00\x00\x00\x80\xe8\x00\x00u0\x00\x00\xea`\ +\x00\x00:\x98\x00\x00\x17p\x9c\xbaQ<\x00\x00\x00\x06\ +bKGD\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\x00\ +\x00\x09pHYs\x00\x00\x0b\x12\x00\x00\x0b\x12\x01\xd2\ +\xdd~\xfc\x00\x00\x00\x07tIME\x07\xe0\x01\x08\x0f\ +\x12,c4\xebp\x00\x00\x01\xeeIDATX\xc3\ +\xed\x95\xbdk\x14A\x18\xc6\x7fo\x12D\x09\x09\x82 \ +h#H\x02\x16I\x99\xbf }\xdap\xdb\xc8\x92\xca\ +\xe2\x16\xff\x00\xc12U\x88\xec\x15!\xd5\x14\xe2\x1e)\ +\x02Q\xc4t6\x92\xc2\x90\xc6B,\xceBN\x11<\ +\x0c\xf9 \x09\x5c>nR\xdc\x9c\xbeYw7\x93\x8f\ +\xce}\x96\x81w\xe6}v\xe6\xd9g\xde\x99\x85\x12%\ +J\xfc\xef\x90\xbcD%\xac\xde\x03\x06]\xd7*\xfeA\ +\xdd\xd4~\xa6\xb8\x0f\x81\xfb\xc0\x100\x00\x1c\x01m`\ +\x17\xd8\xac\x9b\xda\xb7\xbcu\xfa\xf2\x95\xc9\xa2 \x0d\xa0\ +!\xc8W\xd7\x1a@3\x08\xa3\xf5 \x8c\x1e)\xeec\ +A>\x08\xf2\x0ex#\xc8\xaa \xef\x05\xd9\x00\xee\x04\ +a\xc4\x85\x05\x00\x87\xea\xeb;\xca\x85~`\x02\xf8\xa8\ +&>*\x98g\xb7h\x0b\x06\xce\xdd\xa4\xae\xedS\x89\ +\x89\xdf\x06at\x17X\x03F\x80a\xe0)\xf0\x22\xc5\ +\x9f\x06\xda\x89\x89_{\xcc\x9d\xef\x80uO/\x06H\ +L\xdc\x02\x9e\xdb?Y;\xa9\xb9\x8a\xe7\xb5x\xa1\x03\ +\xe2\xea\xd3b\x11D\x17\xeb'\xf9[\xbb\x0f4W\x8b\ +\xbd\xb2\x80\x02\xec\x03\xc7\xee\xdd\xe1,B\x10FO\x80\ +&\xb0e\xb1;\x82|NL|m\x02\x8e\x81\x13\xf7\ +\xee\xcd\x8c\xfcR\xaa?v)\x07\xb4\x95)[\xc5b\ +{\x9e\xf7g\xe4\xcf\xed{\x09H\xd5\x80N\xdd\x12\xe4\ +\x86\x8b\xdb\x9a\xeb\xf8\xd3\x82\x9c$&^\xf6\xb1\xb3\xcf\ +\x87\x94\xc2m\x15og\x11|\x17\xbf\x88\x80\x8e\x8a'\ +U\xfc\xe5\x12\x1fp\x06\xbe50^\x09\xab[\xc0(\ +\xf0\xccb-\xdd\x0b\xeaU\x9a\x0bP\x09\xabU\xa0\x05\ +\x1c\xb8\xb6\x0d\xfc\xaa\x9b\xda\x0fo\x01\xbd\xb3\xefj`\ +V\x0bs{\xbe\x9a\x98xEs]~)}/\xb8\ +\xfe\x18\xe0/\xc0\xa9n\xd1=r\x1a-\xe0eb\xe2\ +95\xb6\x07\xfc\xe6\xdf\x7fB\x07\xf8\x0e,\x90\xf3\xbf\ +(\x120\x935X7\xb5\xac\xe1y\xd7\xb2\x9c\x04 \ +\xef\x22*Q\xa2D\x89S\xad\x83\xa9\xe2\x81\x96I:\ +\x00\x00\x00%tEXtdate:cre\ +ate\x002016-01-08T1\ +5:18:44+00:00\x8e\x05\xfd\ +\xe0\x00\x00\x00%tEXtdate:mo\ +dify\x002016-01-08T\ +15:18:44+00:00\xffX\ +E\x5c\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x01\xeb\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x11\x00\x00\x00\x10\x08\x06\x00\x00\x00\xf01\x94_\ +\x00\x00\x01\xb2IDAT8\x8d\x95\xd3Oh\xcfq\ +\x18\x07\xf0\xd7\xf7\xb7%s\x908(.\x8aYM\x19\ +y\x14\x8a\x1c89\xb98\x92\x9b\x96\x7f3\xb2&\x9b\ +?5\x89\xb3\xc2\x8a\x5c8)M\x9a\x03Jqz\x0e\ +\x86\x83\x03\x07\xb2\xd5\xe4_\x88R3\x87\xdfw\xf5m\ +~#O}\xeaS\xef\xe7\xfd\xee\xfd|\x9e\xcf\xbb0\ +Cef+\xce\xa1\x1d\x0f\xd1\x13\x11\xef\x1b\xf5\x16\x0d\ +\xc8\x813X\x8d\x05\x15h\x14\x8fq$\x22^7\x14\ +\xc9\xcc-\xe8\xc7J\xcc\x9d\xc9!\xde!q4\x22\x9e\ +C\x91\x99;p\x18+0\xe7/\xe4\xe9\xf5\x09#\xe8\ +\xada\x02\xcd\xe5\xf9\xdf\x9a\xc0\xaf\x022\xb3\xc0nt\ +\xa3\x0dM\xffp\xf0\x04]\x111\x02\xb5\x12X\x8e]\ +X\x88>\xbc\xc0\xe44\xf2\x07\xdc\xc1N\xacCWf\ +\xce\x83Zf>\xc2S\xbcA[D\x0c\xa0\x03\xa7\xf0\ +\x0a\xe3\x18\xc2\x86\x88\xd8\x16\x11\xb7\xd57\xb7\x0c\xe3\x99\ +y\xbdY}m\xab\xb0V}3\x0f\x22\xe2'Nd\ +\xe6Y\xcc\x8f\x88\xd1);\x99Y\xc3&\xb4\xe23\xee\ +O\xbd\xc9,\x9c\xc4\x01\xbc\xc5\xfe\x88\x18\xae\xceR\x92\ +;\xcb\xbeB}\xa3W\x22b\xb2\xc8\xcc\x96\xd2zg\ +i\x7f\x08{\xf1\x11\xfb0\x8cC\xe8\xc1w\x9c/\xef\ +\x05\x8ec\xb0\xc8\xcc\xaf\x98\x8d\xed\xe5\xbc2\xb3\xb9$\ +\xf6\xa2\x05c\xe8\x8e\x88\x9b%^\xe04\x8e\xe1e\x91\ +\x99m\xb8\x88\xf5\xb8\x85\xce\xa9\x8cdf\x13\xda#\xe2\ +Ye\xac\x0e\x5c.\xdf\xef\x06\x0eV\xbf\xfd\x12\x0cb\ +#\xeebOD\x8cU\xf05\xb8\xa4\x1e\xc8k\xea\x19\ +\xfaB\xe3\x00..\x9dm\xc5=\x5c\xc0\x00\x96\xe2\xaa\ +zf\xbeU9\x7f\x88T\xc4\x16\x95\x02\x9bK\xfb}\ +\x11\xf1\xa3Q\xefos\xf3\x98\x0b\x981\xe3\xce\x00\x00\ +\x00\x00IEND\xaeB`\x82\ +\x00\x00\x02\x91\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x14\x00\x00\x00\x11\x08\x06\x00\x00\x00\xddD\x8c\xbe\ +\x00\x00\x02XIDAT8\x8d}\x93QhVe\ +\x18\xc7\x7f\xcf\xc7>(u\xcb\xae\xc4\xd01\x91\x85|\ +Q\x9a\x9eH\xac\xad\x18\x12\x14\xee\xb2\xb0\xebH(\x1a\ +\x0c\x04a\xdd\x85\x17\x0e\x12/\x82\x04\xe92\xbf`\x22\ +\x08\x0e\xbb\x182%\xb5\xa0\xde\xb352\xa9\x1b\xa9\x8b\ +\xe9\x96\xae\xf8J\xc4\xc2\xfau\xd1\xfb\xe9\xd9\xe7\xf2\xb9\ +9\xe79\xe7\xf9\xff\xfe\xff\x07\xde\x17:J]\xa3\x8e\ +\xa8g\xd5y\xf5\xb6\xba\xa4\xce\xa9\x1f\xa9;;5Y\ +\x87\xfa\xc0\xc7\xb7\xd4\x9b\xea\xd5\x0c|^\xedS\x9fR\ +\x87\xd5O\xd4[\xea\xa4\xfa\xc4C\x81\xd9\xfd\x8e\xfa\xae\ +\xfa\xb1\xba\xf1\x7f\x92lR\xcf\xa9\xd7\xd4-+\x02\xd5\ +\xd1\xbc\xda.\xb5\xa6\x9eZ\x09V\x11\xd7\xd5\x93y\x93\ +\xb5\xcb\x80joN6\xa6nW_S\x0f?\x0c\x98\ +\x01\xab\xd4\x9f\xd5\x0f\xab\xc0.\xe0m\xe0Z\x9e\xdb\x09\ +\xec\x02\xba\xd5O\x81_\x81q\xe0zD,\x03F\xc4\ +mu\x0a\x18P\x1f\x01\xee\x00\x84:\x0bLD\xc4x\ +vz\x07\xb8\x1c\x11\x17\xd4\xae\x99\x99\x99iu.\x22\ +N\xf7\xf4\xf4|\xd1\xdf\xdf\xffg\x9e[\x0d<\x0b<\ +\x07\x5c\x8c\x88o\x00j\xc0\x93\xc0\xb7\x15\xf3.\xe0\xaf\ +\x9c\xe2\xaez\x1exO\x9dj\xb5Z\x8beYN\xa4\ +\x94^_XXx\x1c\xf8\x0ah\x02\x7f\xb4\xc55\xe0\ +Q\xa0U\x01.\x01\xab*}\xb3\xf2\xfe\x98\xfa\x06p\ +b~~\xbeY\x96\xe5\x9a\x88\xf8\x05X\xac\x02\x17\x81\ +\xde\x8a\xe8\x07\xe0\x99vS\x14\xc5\x8f@by}\x07\ +\x0c\x15E\xd1\x0e\xf2{\x15\xf8%\xf0Jex\x0ex\ +\xa9\x03\xd0\xec\xe8\x9f\x06\x0e\xb6\x9b\x88\xf8\xbb\x0a\xfc\x0c\ +xS\xddP\xf9\xf9\x93\xda\x00Pw4\x1a\x8du\x80\ +\xc0\x11\xe0b\xd6\x8e\xa5\x94\xf6u\x18\x11j\x0d\xf8\x1e\ +\xa8\x03G\xf3\xb3\x17\xd8\x03\x5c\x00\xae\x00\xcd\xb2,_\ +\x05\x8e\xe5\x10\x1f\x00\xefg\x93\xe1\xa2(>\xbf\x07\xcc\ +)\x1aY\x5c\x02\x07\xf8\xef\x5c\x0e\x02/\x03#\x11\xd1\ +q\xeb!\xa5\xb4\x1b8\x0et\x03\x83EQ\x94\xed\x95\ +\x89\x88+\xc0\x00\xb0\x19\x98\x00\x86\x80I`\x1a8\xa1\ +n\xcd\xc6\xf56\xb0(\x8a\xb3\xc06\xe0\x12p&\xa5\ +\xd4w/a\xbb\xf2a\xdd\x0f\x8c\xe6\xd5\xbf\x06~\x03\ +\xb6\x00S\xc0\xa1\x88\xb8\xd1\x91\xb4\x96\xd7\xdf\x0b\x0c.\ +\xbfO\xf7\xc1u\xe0\x05`+\xb0\x1e\xb8\x09\x9c\x03f\ +#\xe2\x9f\x954)\xa5\x17\x81}\xff\x02\xe28ya\ +\x96\xfd\xc4\x97\x00\x00\x00\x00IEND\xaeB`\x82\ +\ +\x00\x00\x04x\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ +\x00\x00\x00\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\ +\x00\x00\x00 cHRM\x00\x00z&\x00\x00\x80\x84\ +\x00\x00\xfa\x00\x00\x00\x80\xe8\x00\x00u0\x00\x00\xea`\ +\x00\x00:\x98\x00\x00\x17p\x9c\xbaQ<\x00\x00\x00\x06\ +bKGD\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\x00\ +\x00\x09oFFs\x00\x00\x01@\x00\x00\x00\x00\x00s\ +\x05\xb7\x16\x00\x00\x00\x09pHYs\x00\x00\x0b\x13\x00\ +\x00\x0b\x13\x01\x00\x9a\x9c\x18\x00\x00\x00\x07tIME\ +\x07\xdf\x0c\x12\x0e\x1b\x0b$&IW\x00\x00\x00\x09v\ +pAg\x00\x00\x03@\x00\x00\x00 \x00\xbe\xe6\x89Z\ +\x00\x00\x03=IDATX\xc3\xe5\x97MhUG\ +\x14\xc7\x7f'\xba\xf3\xa3`\xa3Q\xb1\xa9-(*\xb5\ +(6\x96 \xadP\xdc\xc4\x16\x04\xad\xe0}\xbb\xa1\xb8\ +\xb0p\x1fZ\xa8\x8b\x82\xe8\xa6\x14\xba\x11\xee\x05\x15\x17\ +N\xa1p/h\xa4.\x0b\x8d\xa4\xa4i\xd4E\x055\ +~ H\xd1*\xa95DP*\x88\xf6\x9d.\xdey\ +\x8f\xf1a\xde\xbb\xe6C\x17\x9e\xcd\x999\x1f\x9c\xff\x9c\ +\xff\xdc\x99\xb9\xf0\x8aE\x8a\x04\x95\x5c\x19`\x8f\xa2?\ +\xe4>\xbd\xff*\x00\xfc\x02lR\xf4\x0fA>\xc8|\ +\x12\xfa\xf6\x03\xf3\x81S\x99O\xfa\xcc\xd6\x03lVT\ +\x049\x92\xf9d\x18 r\xf1^A:\x81\x93\x99O\ +\xfa\x01f\x16(~\x14\xd8d\xd3u\xc0I`[\x10\ +\xf21\xf0\x090\x0f\xe83\xdb\x97\xc0g6\x1e\x05\x86\ +K\xae\x8c\xa2_\x03\xed\xc0O\xb5\xe4\xb6f\xc5#\x17\ +\xefUt\xa7\xa2\xaah\x05PE\xb7F.\xfe\xbe\x16\ +\xa3\xe8iEQ\xf4\xbd\xc0\xd6\xadh}l\xfam\xa0\ +\xddbO\xb7\x04`\xbc\x7f+\xc8cA\x9e\x0a\xd2\x06\ +\xfcg\xf3\xafJ\xae\xdc^\xe5P\x06\x05A\x90w\x22\ +\x17Sr\xe5E\x82\xbc)\xc8C\xe0\xb1 \xdd\x16\xb7\ +\xca\xf4\x95\xdc\xa7\xb4\x04`\xb2\ +y/0\x02\xcc1\xb0k\xcc~.\xac\xd3\x94\x82\xdc\ +\xa7c\x99O\xfe\x01\xc6\xcc\xf4 \xf3\xc9hP\xbc\x06\ +\xf4b\xb0G6\xda\xf8\x14p\xd9\xc6\x1b\x80\xb5\x0d\x80\ +[\x03\x088\x95\x1a\xa7\xe3\xf8\xcf\x99\xbfK\xd1.\xe3\ +y\x10\x18\xb2q\xb7\xa2\xab-\xf6\xec\x0b\x030\x8e\x9b\ +\xf9\x07\xcd\xdf#\xc8rAn\xe5>\x1d\x03\x86,w\ +\x8b \x8b\x80G\xb9O\xaf\x85\xb9-?\xc3\x82\xf2\xbb\ +\xe9\x95\xa6\x7f6}\xde\xf4\x0a\xd3\xfd\x8d\x89\x85:\xd0\ +J2\x9f\xdc\x00\x1eA\x9d\xa7~\x80\xdc\xa7\x0f\x80+\ +A\xe8\xaf\x13\x02`<\xb6\x8a9\x03\x88\xc5\x0e\x04\xf6\ +\x0bA\xfePc^!\x0aj\xfc7\x03!\xc8nE\ +\x97\x0b\xa2\x99O\xae\x06\xf6\x03T?\xc9\x8a\xa2}\x8d\ +yS\xb5\x07\xb0\xf3~\xf89\xf6\xeb\xc0\xf5\xf1\xf2\xa6\ +d\x0fLF\x0au\xa0\x15\xff\xd3\x0e\xa0\xc8\x1eh&\ +v=\xc7\x8an\x0e\xef\x01xy\x14,\x03z\x80[\ +%W^\xfa\xc2\x1d\x00*\xa6\xe7\x96\x5c\xb9\xa3\x96\xa7\ +\xe83'\xe48\xf3\xa7\xc0\x1bfz\x0b\xb8Tr\xe5\ +O3\x9f\x0cT\xbb[@\x22\x17\x1f\x07\xb6O\xb2\x0b\ +\x15\xab'\xc0\x13`q\xee\xd3\xd1\x22/\xa2\x13\xc0\xe7\ +\xc0\xdf\xf6$\xab\xd3V\xb0\x03\x15\xe0]`\xa5\xa2j\ +\xfe\xdf\xa8\xbe\x94\x9aS\x10\xb9\xb8\x97\xea\xf3\xeb&\xd0\ +\x95\xfb\xf4\xdeD\x96^r\xe5]\xc0![\xfd\xb1\xcc\ +'_\xd4|mA\xd0\xda\x86\xa4<(\xde\x9d\xf9d\ +B\xc5Mf\x98\xfe&,^\x07\x10\xb9x\x81\xa2\xe7\ +#\x17\x1f\xb6y\xa6\xe8\x0e\xe0\x8e\xa2\x1ff>\x19\x99\ +Dq\x14\xedUtc\xee\xd3\xef\x1a}b\xab]\x0a\ +\xfci\x9c\xfdEu\xb7\xdeV\xf4\xfd\xa9\xfe\x0fh\x94\ +\x1a\x05\xed\xa6+V\xfc_`\xfdt\x17\x0f\x01t4\ +\xd8g\x01\xfb\xa6\xbbx\x1d\x80\xa2\xf3\xec\x98m\xd3\xfa\ +\xed\xaf\xbb\x22\x17G\xd3\x0d`&\x80 ?\x02\x9d\x8a\ +>\x11d\x04\xb8\x0b\xdcU\xf4\xc2\xcb\xe8\xc2\xeb-\xff\ +\x03Q\x9bYF6Y\xf5\xec\x00\x00\x00%tEX\ +tdate:create\x00201\ +5-12-18T14:27:11\ ++00:00YM\xe3\xc6\x00\x00\x00%tE\ +Xtdate:modify\x0020\ +15-12-18T14:27:1\ +1+00:00(\x10[z\x00\x00\x00\x00I\ +END\xaeB`\x82\ +\x00\x00\x01U\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\ +\x00\x00\x01\x1cIDAT8\x8d\xa5\x92?K\xc3P\ +\x14\xc5\x7f\xa9\x11%\x8b\x1d\x5c\x5c\x05\x05'\xa1\xdcM\ +\xfc\x02*n\xd9\x5c]\xc5/P\x1c;\xf9=\x1cU\ +\xea\x87\x10\x0eq\x12\xc4\xa5\x11\x8b\xe0\xa6(4R\x9a\ +8\xe4EB\xdaj\x82\x07\x1e\x8f\xfb\xe7\x9c\xfb\xce\xe3\ +z\x922 c6\x92J\xbc\x08\xf8\xc0\x17\xb0\x04\x8c\ +}G\xf6f\x90\x07f\xb6^NH:\x05B3\xdb\ +\x91t\x09\x1cx\xee\x05\xef\x15r\xcbM\xb8\x02\xd2R\ +~\x1b\xd8\x04\xae\x81=`\xc1\x07\x86\xc0\xee\x1c\x0b\xbf\ +\xe1\x0c\xe8\xfb\xc0\xc4\xcc\xe2\xa6lIm \xf5\x8bD\ +\x14E!\xb0_\x93\xff\x9c\xa6\xe99\xe4?Z\xe0(\ +\x08\x82\xc3:\xec$I\x1e\x0a\x81V\xcd\x89s\xf1o\ +\x81\xb2\x85\xa7\xd1ht\x0b,\x03\x9f\x95\xda\x9a;\x8f\ +\xc0[\x96e\xe3)\x81N\xa7s2o\x8a\xa4\x10\xb8\ +\x00\xb6\x80.\xd0\x03V\x9aX\x18\xba\xde\x04\xd8 _\ +\x22\x9a\x08\x0c\x80;\xe0\x1ex1\xb3\x9b)\x0b\x7f\xe0\ +\x158&_\xef\xbe\xa4\xdeOER\x5cS\xa4\xe8_\ +uw[R\xecI\xfa\x00&MD\x1c< \xfe\x06\ +\x8cB^q\x9bC\x89i\x00\x00\x00\x00IEND\ +\xaeB`\x82\ +\x00\x00\x01\xf9\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x13\x00\x00\x00\x13\x08\x06\x00\x00\x00rP6\xcc\ +\x00\x00\x01\xc0IDAT8\x8d\x9d\xd4M\x88\x8eQ\ +\x14\x07\xf0\xdf\xc3\xe4c\xf0\x8e\xa4\xa4X!a3\xf9\ +*55)!\x0b\x1f\xb1bMYH\x0a)+\x91\ +\x22\x89a%I\x16^5Y\xf8JV>J\x91G\ +Y(\xb11,$\xe3{2\xc64bq\xcfSO\ +\x0f\xaf\xf7\xcd\xa9[\xb7s\xcf\xfd\x9f\xff\xf9\x9fso\ +\x96\xe7\xb9\x16\xac\x1b\x07\xb0\x10\xef\xd0\x83S\xf8U\x0e\ +jk\x01h#.E\xec\x10f\xe1$j8T\x0e\ +\x1c\xd5\x04h-.\x22\xc3\x0eL\xc4\xb2\x00\xdd\x8b\xb1\ +\xad\x82M\x93J\xc9\xb0\x05\xa7\xf1\x13\x0fbM\xc2\x8c\ +\xf2\x85fe\xce\xc58|\xae$\xe9\xc40\xde6c\ +\xb6\x14O#p\x00\xe70=\xce:p\x0d\x93q\x16\ +\xdf\xfe\x05\xb6\x1a\xb7\xb1\x00/\xf1\x15\x1b$}j\xb8\ +\x89%\xb8\x87=U\x16e\xb05\xb8\x82v\x1c\xc4l\ +I\x93\xed\xb8\x80\x1b\x92\xf8O\xa4\xc6\x0c6\x02\xebB\ +/\xc6`\x1f\x1e\x06\xab\x13\x18\xc1\xf9\x88y\x8c\x15\xf8\ +R\x05\x225`\x1e\xae\x07\xa3\xfd8\x82\xc5\xd2@n\ +\x8b\x05w\xb0\xbe\x11P\x01v\x5c\x12\xf6(\x0e\x87?\ +\xc7|l\xc2L<\x0a\xe6#q^\xc3\x1c\xbcF\x7f\ +\xb9\xcc\xe5\xf8\x18\xac\x0a\x1b\x8d]\x18\x8f\xab\xa8\x97\x80\ +`w$\xe1\ +M\xd9\xf9\x1b\x87\xd0i\x8b\x22\xfc\x9f\xfe\x00\x00\x00\x00\ +IEND\xaeB`\x82\ +\x00\x00\x02\xbf\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x16\x00\x00\x00\x13\x08\x06\x00\x00\x00\x94y\xfd\x88\ +\x00\x00\x02\x86IDAT8\x8d\x8d\xd4]\x88\x97U\ +\x10\x06\xf0\xdf\x7fQ\xd0B\xdb2)\x08D]\xc9B\ +\xec\xa6!\x03\xa3\xb2 \xd1J(\x0d#\x13\x14\x0b\x8b\ +\xc0\x82\xad\x9b0\x0a\xa4@\x906BJ\x141\xb0 \ +$\xfb\xf0\x22r\xefV\xcc\x14fS\xe8\x036HJ\ +J\x0d!\xdd\xf2\x03#\xda.\xceYx\xf7M\xc9\x81\ +\xc3\xcb{f\xe693\xcf|t\xb4$3\xc7\xe1s\ +\x04\x0e\xe3B=k#\xe2\xf7js5^\xc63\xf8\ +\x0bK#\xe2@\x13\xa7\xab\x0d\x8c\xf9\x98\x80)8\x8e\ +\x07\xb1\x0c\xab*\xe8t|\x85n\xf4\xe0\x05\xack\x83\ +\x5c\x0a\xf8Z\x1c\x8d\x88\x11|\x8a\x91z\x7fCfN\ +\xc3\x00\xfa\x22\xe2\xb9\x888\x83\x1f0\xf5J\x80\x7f\xc5\ +4\x88\x88\xdd\x98\x8e\xdb\xf0\x08\x0e\xe1\xd5\x88\xd8\xd1\xb0\ +\x9f\x81_\xae\x04\xf8{\xcc\xcd\xcc\xf1\x15\xfc\x18\xbe\xc5\ +QL\xc2`\xcb\xfeN\x1c\xf9_\xe0\x888W\x9d\xef\ +o\x5c\xf7*\x94<\x81\x0fk\xf1Fe)\xf6\xb4q\ +:\xcd\x9f\xcc\x9c\x80\xdb\xf1\x12f)\xb4\xdc\x84[p\ +\xb1\x9en\x9c\xc0\xcf8\x85\x05X\x83\xfd\x11qb\x0c\ +pf\xce\xc3\x8b\xd5h\x10\x07\xf1<\x1e\xc5f\xbc\x16\ +\x11\xbb\xaa\xedU\xf8\x0e\xaf`%~\xabXw\xe1\x1c\ +\xb6bk'3{\xf1,6`wD\x9c\xad\x00\x9b\ +p7\xceD\xc4\x03\xad\xcc\x96\xe0\x0d\xa5\x83f7|\ +\xee\xa8\x01\xcd\x91\x99g3\xb3\xbb\xcdQf\xf6d\xe6\ +Hf\xceo\xeb\xaa\xfe\xeb\xcc|\xeb2\xba\xf7\xc6\xd5\ +\xb47d\xe6\xfa\x88\x18n\xe8\x17\xd4\xd4\x1e\xc2\x97-\ +\xc7\x99J\x1bv5\xee\x16b\x0b~\xc4\xad\x9d\xcc\x9c\ +Tix\x12\xfd\xf5\x1c\xc4'\x95\xa2\x0fp_D\x0c\ +5@\xf6`/\x1eG\x1f\xfe\xac\xdf9\xd5\xe4\xe9N\ +\xc3\xf8\x1a,Rx]X#\x1a\xc2u\x18V\xc6\x98\ +\xc2\xeb\x12\xa5\xc8=\x98\x88/p\x12O\xe1\x18\xe6\x8d\ +i\xb7\xc6#\xdbq\x00\x9f\xe1Fl\xc2\xdf\x15`#\ +\x1eS\x86\xe64~\xc2\x8c\x88\xf8\xa3\xf6\xf7\x85\x88\xf8\ +\xe7?\xc0\x99\xb9\x02\xef\xe0\xe1\x88\xd8W\xef\xaeG\xd6\ +\x94\xdf\x8e\x88m\x0d\xfb]\xf8h\xb4\x1dGe\xcc\xe4\ +e\xe6l\xbc\x8f\xc9x\xb3\xa1:]#\xbc\x19\xfbZ\ +\xb1\x0c\xe0\x9ev\x80\xed\x91\x1eVv/\x85+\x99\xd9\ +\xa5\x0c\xc9De\xff\xf6g\xe6\xac\x86\xcf\x90\xc2\xf5\xe5\ +\x81#\xe2$V+\x85Z\x91\x99\x93\x95\xd59S\xa1\ +f\x07\xd6c 3\xefm\xb8\x8eh\xc9\xa5\xb6[\xbf\ +\xb26\xfb\xf0M=\x8b#\xe2|}|'\x96\xe3\xdd\ +\xcc\xfc\x18\xaf+E\x1d#\xff\x02\xad\xb1\xf2$\x9a\xc7\ +|\xa6\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x02=\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x13\x00\x00\x00\x12\x08\x06\x00\x00\x00\xb9\x0c\xe5i\ +\x00\x00\x02\x04IDAT8\x8d\xad\xd4\xcfKTa\ +\x14\xc6\xf1\xaf6\x5cc&\x09\x84\x89\x91\x81\x82D.\ +.t\xa3\xa9\xa0\xb6\x17\x83\xcc\x7f\xa0\xeex\xab\x8d\x08\ +\xd5JJC\x0b\xda\x14ZV\x1b\xdf\xdew\xfa!\xb4\ +S\xaaM\xe0\xca\x19#52\xf1N\xbd\x17\xa1\xc8\x8d\ +\xad\xd2`\xae\xc9\x85\x99\xdb\xa2\x94\x8c\x08g\xecY\x9d\ +\xc5\xe1\xc3\xe1p8%Z\xeb\x1bV\xc2\xee\xa3\xc8\xbc\ +\x9aIm\xd7%Z\xeb\x00\xb8\x0b\xf4Z\x09;\xd8\x0b\ +V\x0a\xb0\xbc\xbc\xdc\x03H%\xc5\xbeb'\xdc\xc6n\ +\xde\x1a\xe6\x83\xd6g\x80Y%\x85\xb1'\xcc\xf7}\xd6\ +\xd6\xd6p2\x99z`RI\x11.\x1a\x03\x10B2\ +<|\x9b\x85\x85\x85v\xe0\x8d\x92\xa2\xbch,\x08~\ +\xee\xfe\xfb\xe6&\xa9t\xba\x06\x98RRT\x14\x85E\ +\xa3QB\xa1\x10cc\x0fP\xea!ss\xf3\x8d\xc0\ +[%E\xac`\xac\xaa\xea(\x03\xfd\x97\xa9\xac\x8ca\ +\x18\x06\xd9l\x96\x89\x89\xc9#\xc0\xb4\x92\xe2pA\x18\ +@<\x1e\xffxu\xa0\x7f\xa3\xa1\xbe\x9e\xc7O\xc6y\ +\xf6\xfc\x05s\xf3\xf3\xd5A\x10\xcc*)\xaa\x0b\xc2\x80\ +\xd7eeeM\xb6\x9d\xd0\xdd\xdd\x16\x87\xa2QV>\ +\xaf\x90L>\x8a\xe5\xf3\xf9i%Em!\x18V\xc2\ +v\x80\x86\xd6\x96\x96doo\x0f\xef\x16\x17I\xa5\xd3\ +8\x99L,\x97\xcb\xa5\x94\x14\x8d\xbb\xc6~\x81\x9e\x95\ +\xb0\xadxm\x9a\xe6\ +\xd3\xad\xa6\xd0V\xb1\xb4\xe408t\xad\x02\xf8\xe7\xa1\ +\x1e\x88Dp2\xefY_\xfff\x9c\xea<9\xee\xba\ +\xee~\xd34\x93;0\xcf\xf3\xf0<\xef_\xce\x8ed\ +\xb3Y\x06\x87\xae\x97^\xbaxA\xba\xae\x1b6M\xf3\ +\xfe\xd6?\xfb\x1f\xe9\xfb\x01\xfd\x9c\xd6\xcao\xa8\xd4\xb1\ +\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x01\x5c\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x0c\x00\x00\x00\x0c\x08\x06\x00\x00\x00Vu\x5c\xe7\ +\x00\x00\x01#IDAT(\x91m\x90?(\x84\x01\ +\x18\xc6\x7f\xef\xe7\x9b.\x03\xc9\xec\x06\x8aA\xc8`P\ +$\xebe0\xd8t\x03\x83\xc5`30;\x93U\xf9\ +su\x06\x8b\xc5\x22euJ1*\x97l\xca \x94\ +\xae\xfcI\xfd,\xdf\xe9K\x9e\xf1\xe9\xfd=\xcf\xd3\x0b\ +\x99\xd4.\xb5\xa2\xde\xa97\xea\xadZW\xcbjB^\ +\xea\x88\xdaP\xb7\xd5\xc9\x9c_T\xab\xea\x89Z\xc8'\ +7\xd4!u\x8d\x7f\xa4\xae\xaa5\x80P7\x80\x01\xe0\ +\x1c\x98\x02\x8e\x80\xb3\x88x\xf8\x03\xdd\x03s)0\x03\ +\x8cEDS\x058\x05Jj\x118\x88\x88[\xb5\x1b\ +\xa8\x03\xb3)@D4[I\x11\xf1\x08\xec\xa8)\xb0\ +\xac\xf6\x03\x83@\x15XJ\x80\xb6\x5cs\x9a\x03\xbf#\ +b\x0b(\x01_\xc0\x07\xf0\x91\x00\xcfY=@\xaaF\ +\xb6\xb9S]\x07\x8e\x81v`\x02\xb8\x0e\xb5\x0c\xcc\x02\ ++\x999\x0c\xbc\x00\xef\xc0nD\xbcf\xe0<0\x8e\ +\x9a\xa8\x97jM\x9dV7\xd5\xbe\xdcw:\xd4\x0bu\ +\x11\xa0U_\x00\xb6\x81\x1e`\x0f\x18\x02\xde\xb2\xdd\x0b\ +@%\x22\xf6\x7f\x81\x5c\xdah6\xaf\x17\xf8\x04\xae\x80\ +\xc3\x88xj\xdd\xfc\x00\xa7\xf6\xbd\x96\x10\xb6\xbf\xd9\x00\ +\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x01\xd0\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x14\x00\x00\x00\x10\x08\x06\x00\x00\x00\x16\x18_\x1b\ +\x00\x00\x01\x97IDAT8\x8d\xad\xd4\xcf\x8bOQ\ +\x18\xc7\xf1\xd7w\x9aIJ\x8a\xac\xfc\xc8ld$\x0b\ +\xd33ca!ij\xa2\x99\xd9XY\xda\xd9Q\x9a\ +\x85\xc2\x1f )Jb\xa9l\xa7(EJ\x84,\x1e\ +\xc2\x86\x155\x89\x05\x9b\xafh\xfcfq\xcf\x9d\xb9\xa6\ +kL\x8dO\xdd\xee\xe9~\xde\xcf\xe7\xdc{\xcfsN\ +GQf\xae\xc55L\xe39n\xe0nD\xfc\xd2P\ +fn\xc38\x02\x1bq'\x22\x8e\xd4~O\x81\x86q\ +\x00\x83\x05\x1a\xc4\x15\xbc\xc8\xcc\xbd\x85\xd9\x93\x99\x0f\xf0\ +\x0c\x93X\x81\x01\xec\xca\xcc-\x7f\x04\x96\xb0\xa3e|\ +6\x22F#b\x1d\x0e\xe2tf>\xc4-|\xc1>\ +\xac\x89\x88\x11\xbc\xc4v\x9c\x9c\x0d\xcc\xcc{\x18\xc6X\ +y\xf6\xa96#\xe2>Na\x07ND\xc4\xee\x88\xb8\ +\x1e\x11\xdf\x0a\xf2\x1dO1\x9a\x99\x1b\xea7\xdc\x89\x9b\ +xW\xa0\x1a\xae\xf5\xa3\xdc/k\xd7\x13\x5c\xc2tf\ +\x1e\xee\xf9\x0b\xd4Tw\x11\xccq\xcc\xa0\x7f1\x81\xff\ +TD|\xc6W\xe6\x16\xe5\xbf\xa9-pI\x93\xb4\x15\ +\xaf\x5cJ}o\x0b\xb4?3\xfb0\x15\x11\xef\xd1i\ +\x9a\x99\xb9\x1a#\xd8\x8a~<^(\xb0\x8b!U\xf3\ +\x9e\xc9\xccc\xf8P\xbcU\x999\xa9j\xf6e\xf8\xa8\ +Z\xd9\x99f@'3\x7f\xe2*\xa6\xcc\xb5H\x9fj\ +\x07\x8c\x95\xe2Mx\x8d\xb7\xb8\xad\xea\xbd:hya\ +\xce\xe3b/.\xe0\x10&Z>\xbf\xa9\xf5\xe5\x1aZ\ +\x80y\xd3\x81\xcc\xdc\x5cfjj@\xb5;\xe6\xff\x96\ +\x09\xd5\x894_\xdd\x88x\xd5i1f\x95\x99\xe3\xaa\ +\xa3\xaa\x0e}\x14\x11\xe7\x16\xaa\xf9\x0d\xa0\xcdx<3\ +\xa5\x8a\xf0\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x01X\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x0f\x00\x00\x00\x10\x08\x06\x00\x00\x00\xc9V%\x04\ +\x00\x00\x01\x1fIDAT(\x91\x95\xd0\xbf\xab\xcfQ\ +\x1c\xc7\xf1\xc7\xe7v\xb8r\x19X\x94\x1feq\x07\x85\ +\xd4{`0\xf9\x03\x84R\x18\xac\x06\x832Q\xca\xbf\ +`Q\x06\xfe\x03\x0c\xba\x7f\xc3]^\x0b\x912(%\ +E\x08I_\xe12\xdcs\xeb\x9b\xe9x\xd6\xbbsz\ +\x9d\xf7\xb3\xf7\xe9=%\xd9\x84\x078l\x8c\xaf\xb8W\ +U\xb7\xa7$\x87\xf0tP\x9cg\xd7\x02\xde\xe3\xe7\x7f\ +\x8a\xcf\xf1i\x82$\xcb88(~\xc1jU\xcdZ\ +\x0f\x1a>\x0f\xcak\xd8\x86\xd9\x94\xe4\x12n\xe0\xc5\xa0\ +<\xe1(\xce5\x9c\xc0\xf5\xaaz8(Kr\x19\xa7\ +\x1b^\xe2T\x92\xb5Aw\x09WpkJ\xb2\xb5\x7f\ +{\xef\xa0\xfc\x1d+U\xb5\xd2\xf0\xabO\xff0(\xff\ +\xb1\xbeq\x0b\xb8\x8a\x0b\xd6\x171\xc2\x22\xee$9\xd3\ +\xb0\x8c\xbbU\xf5hP\x96\xe4\x1b\x8e5\xac\xe2Z\x92\ +#\x83\xeev\x9c\xc7\xd9\x86\xfb\xf8\x88\xfd\xff4\xed\xc0\ +\x01<\xc1\x8f\xb9\xfc\x0d\x8eW\xd5\xeb)\xc9nl\xee\ +\x0f\xfbp\xb3\xdf\xb7`'\xde\xe17\x1e\xf7\xda`\xd6\ +p\x11{z\xb0\x88\xb7s\x0d\xaf\xfa\xb9\x84\x93\xbd6\ +x\xf6\x17\xf1zO\xd5\x8bA\xa4\xa9\x00\x00\x00\x00I\ +END\xaeB`\x82\ +\x00\x00\x01\x0a\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x08\x00\x00\x00\x0d\x08\x06\x00\x00\x00\x94\xc2/8\ +\x00\x00\x00\xd1IDAT\x18\x95]\xd1\xbf/\xc3a\ +\x10\xc7\xf1\x97'\xd5\xc9h\x11F\x83\xe8\x82\xa4\xb1\x96\ +\x8d\x8dAl\x9a\x0e\xfe\x83\xae\x1d\x18\xc4`\xa71\x1b\ +\x0c\x12\x8b\xc9`\xd3\xe1;t3h\x18-\x12\x93(\ +\xea\xc7\xe0\x9e4\xf5I\x9e\xdc=w\xef{\xee\xc9\xdd\ +XQ\x14B\xab8B\x05\x1d\xec\xe01Er\x06\x97\ +X\xc01^q\x81R)\x80\x06&\xd0\xc7\x1efq\ +\x8b\xad\x0c\xac\x87=\xc7s\x9c;l&T\xb1\x14@\ +\x17\xe5\xf0oPM\xd8\xc5x\x04\x9b\x86\xeaa*\xa1\ +\x15\xbd\xa1\x8d\x8f\xf0\xdf\xf0\x95\xf0\x84\x83H\x9c\x18\xd5\ +K\xfe\xe4!~\x02\xce\x9aF/\xcf\xe1\x1d\xfb\xff\xaa\ +\x17\xd1\xcd\xc0<\xceP\x8f\xfb$Vp\x9d[\xdcc\ +\x19\xdb\xf8F\x0d\x0f\xb8\xca/|b\xcd\xdf\x0eN1\ +\x87\x0d\x0c~\x01]'-R\x7f\xd2\xe3\xe9\x00\x00\x00\ +\x00IEND\xaeB`\x82\ +\x00\x00\x01~\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x0f\x00\x00\x00\x10\x08\x06\x00\x00\x00\xc9V%\x04\ +\x00\x00\x01EIDAT(\x91\x85\xd2\xbbjVQ\ +\x14\x04\xe0/\x1a\xa3h\xe5\x05A\xd0\x17\x10\x04\x85\x05\ +\xa6P\x10D\xb0\xb5\xb0\xb2Jc\xa1\x9d\x85\x8d\x01\xb1\ +\x15\x1b\x0b\x11\x0b\xf1\x15\x22v\xa9,l\x84)R\x05\ +\x84\x08\x0a\x81\x88\x22\xa8` x\x89\xc5\xd9\x07~\x0f\ +\xffe`\xc3\xda\xb3Xkf\x0f[\x92\x0fIN\x1b\ +A\x92\x85$\x17\xcd\xc0\x5c\x92]\x5c\xc5\xbb\xc6\xed\xc3\ +S\x5c\xc6\xc3V\x8f\xc3v?\xbc\x85\x13\xb3\x94\x06x\ +\xb9\xa7\x15\xd7q\xb8\x9d#x\x81\xbf\xb89\xc2\x0f\xcf\ +\x0dIv\x93\x9c\x1d]\x99d.\xc9\xc9Y\xd2\xbd\xed\ +Gx\x82E|\xc27\x5c\xc2\xca\x14\xee\xf5X\xe5!\ +\x92\x1cL\xf2|\xe8\xa6W\xbe\xa5\x0bm\x1c\x16\xb0\x8c\ +3\xcd\xc12\xbeb\xab\x1f^k!L\xc21\x1c\xc2\ +\x0e>\xeb\xc2\x5c\x9do\xcd\xa5\xaaZ\x9bb{/\xee\ +\xe1qU}\x1f\xda\xbe\x80\xb7\xd8\x8f?m\xf3\x01l\ +O\xe2\xaa\xeag\xaf|\x05\x1fq\x0e_\xf0C\x97\xe8\ +\xea\x14\xeeU?\xbcRU\x9bIvp\x17\xf7\xabj\ +\xbd\xf56G^\xf0\x1f\xd7\xdb~\x80_\xb8\xad\xfb\xa6\ +\x1bx\x86\xdf\x93r\xc0\xfb^y\x11Gq\xbc\xddO\ +\xe1Z[8\x09o\xe6\xdb[\xefT\xd5z\x92\xf3\xba\ +\xdf\xb6TU\x1bS\x06\xc1?\xb7?\x88\x1a\xfe<\x0d\ +\xb2\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x02\xce\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x17\x00\x00\x00\x13\x08\x06\x00\x00\x00{\xbb\x96\xb6\ +\x00\x00\x02\x95IDAT8\x8du\xd5]\x88\x96U\ +\x10\x07\xf0\xdf\xbe\xec\xa6\xb5R\x86\x19\x15Kx\x11F\ +B\x118\xb1\x98e\x94PT\x0a\xf6\xa9\x90\x10^I\ +Y$\xacE7\x19!D]\xa4E\x1f.\xa1\x88\x22\ +\xde\x88X\x04]\xecEEA\x9f'D\x12\x17\xb2\x94\ +\xa4\x15\xc2\xb0\xb7R\xa3\x0f\xb2\x8b3k\x8f\xcf\xbe\x0e\ +\x1c\x9e\xe7\x9c\x99\xf9\xcf\xccyf\xfeO\x9f\x96\x94R\ +\xfa\xf1>\x02\xfb\xf0G\xae\xd58\x91f}8\x93\xcf\ +\x95X\x86\x19\xf8\x02\x9b\xf0\x0bt\xda\xe0X\x88\xe9\x98\ +\x85c\xb8\x17\x0f\xe2\xd1\xd4Ok\xd8n\xc5\x0e\xdc\x8f\ +\x1b\xf0\x0c>\xc7\xec\xf3\x81_\x8a\xc3\x11q\x06\xefd\ +\x860\x13\x17\xe3\x82<{\x00\xabR\xf7\x0fn\xc6s\ +\x98\x8b7\xce\x07>\x81\xab!\x22\xf6`Nf5\x8c\ +\x058\x95vO4|\xf6\xe2\x086\xa3\x8b\x870\xb7\ +\x17\xf8A\x5c_J\x19\xc8\x00Gq\x00_\xe3'\xfc\ +\x9b\xd5-j\xf8\xbc\x95\xcf\x93\xd8\xae~\x8b\x15S\xc0\ +#\xe2T\x02-n\x1c\xaf\xc1\x8f\xf86\xf7\x8b\x1aU\ +\xef\xc3G\xad*\xe0\xb6\xbe&p)e:\xe6\xe3i\ +\x5c\x93\x80Wa\x00\xa3\xd8\x95\xc0kqK\xba\x8d\xab\ +w<\x99\xfdL\xb5[\x8eu\x12t\xb8\x94\xb2;\xc1\ +\xd6c?\x86\xf02\xfe\xc6\xe3\x11\xf1\x1a\x8e'\xd8p\ +#\xa7\xebpQc\xdf\xc5o\xb8\xac\xbf\x942\x82\xc7\ +\xb0\x01\xab\x22\xe2d\x06\x1c\xc4\x8b\xf8!\x22>l8\ +\x1f\xc4\x96\xf4\xa1\xde\xf3\x16\xe7J\x17C\xfdx\x01C\ +\x11\xd1m\x19l\xc6\x93\xb8\xd5Ty\x1e\x0f\xab\xb3\xb0\ +-\xc1\xdar\xa2\xa36\xfd\x86R\xca%-\xe5\xedj\ +\xdb\xdd\xd9\xc3\xf18F\xd4\xfe~\xb5\x87~\x16&\xfa\ +q\x9fz%\xdf\x97R\xc60\x96\x01GR7ZJ\ +\xd9\x16\x11\x13-\x80\x1d\xea@\x1dn\x9d_\x8eA\x8c\ +\x9f\xed\x96\xcc\xfcn\xb5\x1b\xeeR\x87g\x5c\xe5\x8c/\ +\xf1\xba\xda\xa2\xa7{d\xda\x94%x\x0f#}\xbd\xb4\ +\xa5\x94\xad\xf8\x14\xef\xe2\x0a<\x8bO\xd4\x1e\xee\xe2/\ +\xdc\x84\x1b\xf1\x9d\xda\xe7\x9341\xaa\x92\xdc\xbc)C\ +TJyD%\xaaC\x11\xf1sD\x1c\xc0SX\x9a\ +k0M/\xc4\xdb\xf8\x00\x1b\xf3lHe\xc9\xcf0\ +\xdei\x01_\x8b\x9d*Aml\xa8\xba\xf8\x1dwd\ +\xd6\xf01v\xe7\xfbZ\xbc\xa4\x12\xdd@&3\x85\xb8\ +~U\xb9\x1b\x8ef\xc0\x8e:\x81\x83x\x13W6\xec\ +W\xe2\x95\x0c\xbeN\xe5\x94%\xf8Jn\xda\xd7\xb2<\ +#/\xce,v\xaa\x1c\xbe,\x03O\xc3\x9fm?\xff\ +\xff@\xceJ/V\x1cS)w\x13\xbe\xc9uOD\ +LV\xd4\x0bX\x1b\x18\xfe\x03:\x81\xbf\x95\xfd\x1fR\ +q\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x01]\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x0e\x00\x00\x00\x0e\x08\x06\x00\x00\x00\x1fH-\xd1\ +\x00\x00\x01$IDAT(\x91\x9d\xd2!K\xa4a\ +\x14\xc5\xf1\xdf\xbcc\x90\xc5\xb5\xd8\xd7\xb22i\xda\xfd\ +\x00b\xd02A6\xca&\xd3\xb2U\x90A\xfc\x00&\ +\x8b\xb8[D\x10\xd4\x22\x82\xc5f\xb5\xb8\xb7\x88\x96\x0d\ +\xe6M\xc2*\x83\x82\x08\x1a\xe6\x1dy}w4\xeci\ +\x0f\xf7\xfc9\xf7\x1e\x1e\x99\xf9\xcd\x7f\xa8\x91\x99W8\ +\x88\x88\xee{\xc6\xcc\x1c\xc5\x0c:X.pQ\x0e\xd6\ +\xde\x00\xda\x99y\x84k\x1cc*\x22z\x05\x94i\x8f\ +o\xc0\x97\xf8\x88\x0f\xe5{\x17\x8a\xc14\x22V\xf1w\ +\x08\xdc\xc14np\x8f\xc3W`\x09\xafU\xe1\xccl\ +c\x1f\xa7\xf8\x8c\xa5\x88\xe8\xd1/\xe7(\x22\xe6kw\ +u\xd1*\x93~\xe1kDC\xc7x\x17\xfa*\x00\xe6\ +KG\x079=z\xde\xaek\xf8{\x85\x5c\xa3S\x0b\ +(C\x22!\x1c\xc1ry\x9e\x91\x17_~.\xb0\x89\ +\xf5\x8b+#\xe7.\x94\xcd\xa69c\x9d\x1d@()\ +\x9b\x14vJ\xc0\xd9{\x06\xbf\xaf\x80m\xd3\xbe\xdab\ +\xad\x07\xa8z\xbd~ \x02\xcd\xf2\xbb\xa1f\x89}\x89\ +\x8e\x14\x19\x22\x96\x04\xfe\xa8\x94\xe7\x97\xb76\x1f\x1e\x88\ +@\xdc(\xd6\xcaw=\xdd6N\x00\xc3@\x09\x9d\x1b\ +\x14\xfajV\x80Z.\xbf\xf7\x15\xef\x94\x80\x0d\xb50\ +,\x81\xd7\x0c\x81[\xe8\xec\xe9\x00\x09\xe0%`(\x99\ +J\x93/\x14Y_\xf3:&`7\xednC\xc0\xc2\ +VAo>\xda\xdeZ\x07H\xa6\xd2\xa03h\x1e\xa2\ +?\xc7aX\xb9DD\xf9\xf8\xaf?]\xe7\xfa\xd7\x9f\ +\xdb\xbe\xf4\xad\x14\xf19~\xac\x94\xa2\xaf\xdfF\x98_\ +\x1f\xc6\xcc)k(e\x9dp!\xa0\xcb\x1e\xaf\x8a\x10\ +d\x0b\xbdv\xbd\xf2\xe7\x22\xe6\x81#\xb9B/\xe3\x13\ +\x93\xb6?\x1aPT\x03\xd2\xb1C\xf1\xe2\xf8\xc4\xa4\x07\ +\x9cg\xb7p\xb5[\x8c\x8dOL\xce\x1aR\x05\xb4\xf3\ +6@W\xc8\xfb\x11\xb0O\xed{\xe6\x0b#mH\x8c\ +\x00\x0fBs\xb1\xc0\xf9n\xb6\xbb\x9bp\xc9\xee\x13\xf0\ +\xeeWh4\xea\x1b\xae\x1b\xfb\x18\x1dN%\xb3a\xc2\ +\x9c\xee\x11\xf0-0\x80~v\x934\x97\xec\xdf\x1bU\ +5\xb4\xb3\xda\xfaP\xa2\xdf\x8c\xdb^u\x99`E\xbc\ +\xe7F\xce\x8c\x8eqj\xf8,\xdd\xdd)\x84\xb3\x9b\xba\ +\xa5R(\xd9\xe0\xde\xec\x0c\x99l\x9e\x9eb\x1f\x8e\xe3\ +\xea\xa7O)\xa4\x94T\xca\xf7\x00\xe8\x1f\x18\xc2q\x1c\ +\x84\x10\xbe\xd7I)Y\xf5\xaa\xccLO\xb10w\x97\ +g\xf8_\xe1\x1f\x16\x8f\x0dW\xeaa@l\x00\x00\x00\ +%tEXtdate:create\ +\x002015-12-18T14:2\ +7:00+00:003\x90\xe8\xec\x00\x00\ +\x00%tEXtdate:modif\ +y\x002015-12-18T14:\ +27:00+00:00B\xcdPP\x00\ +\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x01\xa9\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x0f\x00\x00\x00\x0e\x08\x06\x00\x00\x00\xf0\x8aF\xef\ +\x00\x00\x01pIDAT(\x91}\xd2\xbbk\x94Q\ +\x14\x04\xf0\xdf.A\x22\xd8\x88O\xb0\xf0Q\xf9\x8a\xa8\ +\x1c\x9bhaa\x1b%\x01\x11\x8b\xfc\x01\x06A1+\ +\x096Z\x88HH\x0am\x04\x03*ha\xe3\xa3\xb3\ +\x08\x98*\x12\xe5@\x1a1\x08V\x0a\x8a\x06\x82b*\ +\x1bS\xec\xfd`\xf7#\xe4\xb4wf\xce\xcc\x9c\xdb\xb0\ +\xc6d\xe6~\xdc\xc1!\xbc\xc3XD\xfc\xaa\xe3\x1a5\ +R?n\xe2\x046w<\xfd\xc4\x5c\x11\xf9\xd2E\xce\ +\xcc\xb3h\xe1\x186\xad\xe5\xa6\xcc2>\xe0VD\xbc\ +od\xe63\x0ca\xe3:\xa4\xfa\xfc\xc5\xedj\xf30\ +\xae\xe10z\xd6!\xfd\xc1|\xd9<_\x01\xdf\xe2\x22\ +\xbea7\xfat\xf7\xb1\xac]\xdc\x06|\xc5Ghf\ +\xe6,\x16\xf1\x19\x17\xb4s\xdf\xc0',\xe15NF\ +\xc4\x00\x86\xb1\x05?2\xf3IO\xb1q\x14\xc7\xb1'\ +\x22\x16q73\xa7\xb0-\x22\xbew88\x82\x83X\ +\xc1\x5c\x95\xb9\x17\xafp\xaaX\x1a\x89\x88\x85\x8a\x91\x99\ +\xe70\x89\xed\x98\x8e\x88\x1642s\x1c\xa3%\xcb%\ +\x9c\xc6\xf5\x92\xff)\xae\xe0\xbf\xf6)\x9b\x98(\x9ac\ +M\x0c\xa2\x17/\xb1\x10\x11\x13\xd8\x81\xc7\xa5\xc4\x91\x88\ +\xd8\x1b\x11/0S\xca\xdd\x89\xf3\x95\xed\x03x\xa8}\ +\xaa\x07\xe5\x14\xff:lo\xc5=\x0c\xe0\x0d.G\xc4\ +R\xfd{\xee\xc34\x02\x8fp\x1fS8S\x9c]\x8d\ +\x88\xdf\x15\xbe\x8b\xdc!\xb2\xab\x88\xf4\xe39Z\x11\xb1\ +R\xc7\xad\x02\xcc\x87tf \xe3\x97\xea\x00\x00\x00\x00\ +IEND\xaeB`\x82\ +\x00\x00\x01\x04\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x08\x00\x00\x00\x0d\x08\x06\x00\x00\x00\x94\xc2/8\ +\x00\x00\x00\xcbIDAT\x18\x95]\xd0!K\x83a\ +\x14\xc5\xf1\xdf\x1e\xa7\xc5j\x19[\xb1\xc9\x92\x22\xab\x82\ +\xc1\xb0\xa8\xc1l\xda\x17\x10\xeb`\x03\x0d~\x82\x81\xb2\ +:0\x18\xd6V\xdc\xa2\xe1\x05WDP\xd1\xb8\xe2\x07\ +\x105\x18\xde\xfb\xe0\xf0\x94{9\xfc9\x97{*E\ +Q\xc0&\xae\xb0\x87G\x9c\xe2\x0e\x12\xaa\xb8\xc57\x06\ +\xd8\xc6\x18\x8d\x0c\x1c\x87\xd9C\x1f\x9fXG'\x03G\ +x\xc2=>p\xa3\xd4A\x06Z\x98\x86\xb9\x86y\xec\ +\xbbh%\xd4\xf0\xeaOg1W\xd1IX\x89\xbb\xf0\ +\x15\xdf\x08\xaf\x9b\xe2\xee\xb2\x06\x01^`\x91\xf0\x8c\xfa\ +\x12\xb0\xc09.E\x07\x0f\xd8\xf9\x97\xd2\xcfK\xc2\x04\ +\xfb\xd8\x08\xef\x04#4s\xc2\x04o\x119\xc3\x10\xef\ +x\xc9\x09?8\xc4\x16\xae\x95\x85\xb5\x95\xd5\xfb\x05\x08\ +|+}\x8e\x949\xf5\x00\x00\x00\x00IEND\xae\ +B`\x82\ +\x00\x00\x06\x1d\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ +\x00\x00\x00\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\ +\x00\x00\x00 cHRM\x00\x00z&\x00\x00\x80\x84\ +\x00\x00\xfa\x00\x00\x00\x80\xe8\x00\x00u0\x00\x00\xea`\ +\x00\x00:\x98\x00\x00\x17p\x9c\xbaQ<\x00\x00\x00\x06\ +bKGD\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\x00\ +\x00\x09oFFs\x00\x00\x01\x00\x00\x00\x00\x00\x00|\ +]\xbdz\x00\x00\x00\x09pHYs\x00\x00\x0b\x12\x00\ +\x00\x0b\x12\x01\xd2\xdd~\xfc\x00\x00\x00\x07tIME\ +\x07\xdf\x0c\x12\x0e\x1b\x00\xb3\xf4\x90\xdf\x00\x00\x00\x09v\ +pAg\x00\x00\x02`\x00\x00\x00 \x00\x1f=\x87\xd8\ +\x00\x00\x04\xe2IDATX\xc3\xed\x97YlTU\ +\x18\x80\xbf\xdb\xb9C;3]fa\xe8\x02\xb4@\x99\ +.\xd0R*\xb4\x104b\xc2\xea\x86\x18\x97 \xea\x83\ +F4\xfaf4F_\x5c\xde$\xf2\xa0\x0f&FE\ +\xe2\x83\x01#\xa6\x88@@)E\x81\xcaRZ\xbaP\ +\xbaP\xa4\xdbl\x1d\x0b\x85v\x98i;\xbd>\xdcs\ +\x87)\x9d\xa5`|\xd2?\xb99\xe7\xfc\xe7\xfc\xe7\xff\ +\xce\xb9\xff\xf9\xcf\xbd\xf0_\x17\xe9^\x0d\x93S\x0cX\ +\xac3\x99\x91\x9c\x82N\x96\x19\x1f\x1b%\x18\x08\xf0\xd7\ +\x80\x9bP(\xf4\xef\x00\xd8\xecY\xcc\xce\x9d\x8f}V\ +6\xf6\xac\xd91\xc7\x0dx\x9c\xf8\xbc.\xdc\xfd\xbdx\ +\x5c\xbd\xff\x1c \xddleaa\x09\x05\x8b\xca4\xd5\ +\xeb\xc0\x9b\x80#\xca\xf03\xc0\x0f\xc0\x1e\xa0\xbf\xf7j\ +\x17\xed\x17\xeb\xf1y\xdd\xf7\x06`\xb6\xd8\xd8\xb0i\x0b\ +RR\x12\xc0W\xc0f \x1d\x98\x00\xde\x07N\x01)\ +b\xae\x5c\xe0\x9b\x08\xf3s\xc0c\x80\xf7\xf7_\x7f\xc6\ +\xd9w\xf5\xee\x00\xcc\x16\x1b\x1b7o\x05\xb0\x00>\xe0\ +i\xa0J\xeb\xbf\xe5\x1f\xc1`4\x85\xc7\x8f\x8f\x8f!\ +\xcbz\xadY\x00\xb4\x8b\xfas\xc0\x9e\xdf~\xd9\x8f\xab\ +\xbf{\x92\x8f\xa4x\x00y\x0b\x0a\xb5j\x0fP\x01T\ +\xdd\xb8>\xa8\xe9\xca\x0dF\xd3v\xe08\xd0\x08\x9c\x96\ +e\xfd\x0e`\x0e@(\x14\xea\x10\x0b<\x09\xec\x06^\ +Z\xbd~\x136{\xd6\xf4v\xc0:3\x93\xf5\x8f?\ +\x0b\xf02\xf09`\x08\x06\x03$'\xa7d\x02M\xc0\ +\xac8\xec\xe7\x81\xe5\x11\xed\xb3b\x019\xed\x17/\xb8\ +\x1a\xce\x9eH\xbc\x03s\xf3\xf2\xb5\xea\x87@\x99p\x0e\ +\xe0N\xe0\x1c`\x19\xa0\x88\xd7\x00P)\xcao\x1dE\ +\xa5\x98\xd2\xd2\x13\x03dXl\x88\x09\xe6\x02\x1dMu\ +\xb5Z\xd7\xa7L_\x0e\x00f\xcd9\xb0.I\xa7\xc3\ +>+'1@\xce\xdcy\x00\xcf\x00-\xa0\x9emW\ +_7\xa8\xc7\xef\xebi\x028\x80\x8fD\xfd\x0bM\x99\ +\x9a\x9e\x11\x1f\xc0f\xcf\xd4\xaa\xaf\x01}\x8a\xa2pc\ +\xe8\x1a\xe7jk\xb89t\x0d`\x1b\xb0e\x9a\x10/\ +\x88r4\xacQ\x94D;\x10\x8e\xcdl\xa0\x5c\x92$\ +\xd22,\xf8GnRsd\x1fW:[\x01\xbe\x17\ +\x03\xb7'\x00\xb0\x8a2\x9c:\x83\xc1@|\x00\xb1\xfd\ +\x002\xf0\xaa\xd7\xdd\xaf\xad\x1c\xff\xc80gOVS\ +sd\x1f\x97\xdbZ\x00\xde\x05\xd6\xc4\x01xO\x94o\ +\x01]\xa0\xbe\xce\x98\x00\x16\x9b\x9d\xc5e\x15\xa0\x1e=\ +\x80\xfd\x91\x06\x9ax\x9c\xbd\xd4\xfdQC\xed\xf1\xc3\x00\ +\xc7\x80w\xa28\xf7\x00\x1f\xa3&\xb2\xd5\xc0\x06\x9f\xd7\ +\xc5\xf5A_l\x809\xb9\xe1\xe3\xf7\x06\xf0\x0a\x80\xbb\ +\xbf'\xe6\xf2z\xfe\xec\xe4Rs=\xc0'\xc0:\xc0\ +\x1f\xd1]!\xcaZ\xd4\x14\xdd\xd5T\x7fz\x92\xbd|\ +\xe7\x84\xb2^\x1f\xd9\xdc\xa9(\x0a\xa3\xa3A\xe2Ic\ +\xdd)<\xce\x1e*\x1fX{\xd4hJ5E\x19R\ +\x04\x14{\x5c}x]}\x93:\xa6\xec\xc0\xc4\xe4\xbb\ +\xfc\xb2$I\xdc\xff\xd0F\x8c\xa6\xb4\xb8\x10ng/\ +\x87\x7f\xda\xcd\x89\xea\x03(\xb7\xa3\xfcm \x84\x88\xea\ +\x96\x863S\xec\xa6\x00\xb8o\xdf\xdf\x0f\x02\xf9\x80\x92\ +n\xb6\xe2(.%\x91\x8c\x06\x03\xd8\xecYH\x92d\ +A\xcd\x84\x1f\x00:\x80\xeaC?\x12-\x96\xa6\x00x\ +\x9c\xbd4\xab\xa4'\x22\xf5#\xc37\x13\x02\x00\xcc_\ +X\x0c\xf0\x99h\xa6\xf9G\x869zpoT\xe7\x10\ +%\x06\x00|\x93\x07\x8f\x03\xa4\x18\x8c\x94\x96\xaf\x00\xa0\ +\xb3\xad\x99\xc0-\xff\x14\xbb\x0c\x8bM\xbb\x9e\x9f\xd7\xec\ +N\x1e;\xc8\xa0\xcf\x1b\x138*\xc0\x80\xd7\xa5UO\ +\x03+\x01J\x96V\x86\xfb\x0d\xc6TZ.\x9c\xc1?\ +2|\xdb\xb9\xd9J\xee\xbc\x85\x8c\x8f\x8d!\xeb\xf5\xdf\ +\x09\x08R\xd3\xccq\x01\xa2&\xa2\x89P\x88+\x1d\xad\ +\x00O\x09\x95\x22\x9e\x10\xf0\xf0\x82\x82E8\x8a\x96\x00\ +`\xb1\xdaYr\xdfJ6n\xde\xca\xe2\xa5\x95\xc8z\ +\xfd*\xa0\x5c\xcc]\x90=;7\xee+\x8by\x19\xb5\ +_l@Q\x14'j\x04k\xcf#\xc0!`g^\ +~!\xa5\xe5+\xd8\xf0\xc4\x16\x16\x95UX$I\xda\ +. O\x01%b\x9a]\xf3\x1d\xc5\xe8d9&@\ +\xdcO\xb2\x0c\xb3\x15{f\x0e\x06\xa3\x89\xa4$\x1d\xc5\ +K\x96i\xbbQ\xad(\xcaZI\x92@M\xb1;\x80\ +\x00\xf0\x22\xb0W\x98\x97\x00\xcd\x80Ts\xb8\x0a\xcf\x1d\ +\xe7?n\x0ch2t}\x90!\xf1\x09\x96\xb7\xa0 \ +\xb2k\x8d$I_\xa2\xde\x8a\x00\xfb\x80'\x01.5\ +\x9d'\x10\xf0\x93_X\xd2\x92\x9ea\x91n\x0c]c\ +\xc0\xe3\x8a\xe9#.@\xa4\x0cx\x5c\x8c\x8f\x8d\x22\xeb\ +g\xecB\x8d\x8dm\xa8A\xfa(0\xd8\xd1\xda\xc8\xd5\ +\xae\xb6p\xc0u_\xe9\xc0QTJg[3\x13\x13\ +\xb1\x7fT\xee\xea\xc7\xa4l\xf9*\x1cE\xa5\xc8\xfa\x19\ +a]wW;]\x9d\xadSR\xect\xe5\xae\x7f\xcd\ +dY\x8f=3\x1b\x9dNf\xc0\xeb\x22\x18\xb8uO\ +\x8e\xff\x17M\xfe\x06<\xc9\x9b\xa3b\xcb\x06=\x00\x00\ +\x00%tEXtdate:creat\ +e\x002015-12-18T14:\ +27:00+00:003\x90\xe8\xec\x00\ +\x00\x00%tEXtdate:modi\ +fy\x002015-12-18T14\ +:27:00+00:00B\xcdPP\ +\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x01Z\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x0e\x00\x00\x00\x11\x08\x06\x00\x00\x00\xed\xc8\x9d\x9f\ +\x00\x00\x01!IDAT(\x91\xc5\xd3\xbf+\xc5Q\ +\x18\xc7\xf1\xd7\xe5\x86\xe4\x12\x8b\xd1j5\xca\x8f.!\ +\xe4\x0fP\xc4\xceD\x06e\x91\x12\x7f\x81\xcd \x19d\ +\xb0\xc8d\x91\xc1f\xfe\xda\xc8b\x10I\xa9\x9b\x9f\xc3\ +9\xd7\x8f\xd3\xa5L>u\x86\xf3<\xe7\xfd\x9c\xf3\x9c\ +>O.\xcb\xb2\x02\x96\xd1\xe0S\x8d\xa8\xf6]\xb5\xa8\ +/o\xf2x\xc0\x0e\x0ep\x85M\xdc\xe35\x01\x1fQ\ +\xc2\x14\x86\xf21x\x86N\x1c\xa2\x1d\x0b\x15@\x98A\ +\x11\xc5\xaa/\xc1Kt\xa3\x03\xbb\xa8K\xa0E\xcc\xa3\ +\x17YU\x92\xbc\xc30\x9ep\x84\x96\x18_\xc5$z\ +pQ\xee1U\x09\x13X\xc3)N\xe2+\x8a\xb8)\ +\x1f\xaa\x04\xc2[|\xda\x05\xc6\xd1/|\xd8\x87rY\ +\x96\xfd\xc0\xfe\xae\xb4\xc7\xff\x07g1\xf8Wp\x09s\ +\xd8\xc6t\x9a\xac\xf4\xab9\xaccD0D\x93\xe0\xa8\ +6\xac\xfctc\x0e\x1b\xa2\xadp\x8dstaL\xf0\ +q>\x05\xab\xb1%xu\x00\xb7_r\xd7\xe8C\xab\ +0\x0c\x852X\x83=\xc1b\xa3\xb1`s\xb2\x0a\xb1\ +\xe7\x17\x1c\xe7\x85\x19\xdb\xc7P,\xf2(\x8c\xdas\xd2\ +F)\xe6\xc0;/f:\x9b\xed\xa3J\x96\x00\x00\x00\ +\x00IEND\xaeB`\x82\ +\x00\x00\x02\x0c\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x0e\x00\x00\x00\x0f\x08\x06\x00\x00\x00\xd4\x14\xfet\ +\x00\x00\x01\xd3IDAT(\x91\x8d\x90\xbfk\x13a\ +\x18\xc7?wy#I\x04\xc1HMq(m\x22\xa5\ +\x15/\x15DA\xed\xdda\x8d.\x82q\xabm\x97\x03\ +AJ]\x5cJ\x97\xc6?\xc2\x1f\xc5\xd1\xc9\xae\xea\x5c\ +\xa5w7\xd4\xa1\x08=\x0bbQ\xc8-\xd23%C\ +\x04\xf1\x02i\x1c\xbc\xf7\xed\x05\x1c|\xb6\xef\xe7\x9e\xe7\ +\x9e\xf7\xf9hc\xe5\xca7\x8ej\xd6\xb6\xccm\xd7\xf3\ +\x17\x81\xe5\x84m\xdb\x969\xebz\xfe4\xe0\xcbF\xf1\ +\xec\xe9\x93\xb2\x0c\xcf\xd7\xd6\x86\x01n\xd6j\xe3\xf5\xfa\ +\x9d2\xc0\x97\xbd\xbd_\xc1\xce\x0e\x86a\x14\x1f7V\ +\xd5\x06Q*\x95\x8e\x82\xc8\xea\x00\xb9|>#y\x14\ +E:\xff(\xd1\xe9t>\xcb\xa0\xebz\x07\xa0\x7fx\ +\xf8]\xf28\x8e\xbf\x02d2\x99V\x14E\xea\xa9\x9a\ +\xe38\xb7S?\xda\x02\xda@\x05\x98HX;\xe1'\ +\x80)\xb5\xd1\xf5\xfcG\xa9\xc1\xd0\xb6\xcc\xb6\xeb\xf9\x97\ +\x80\xfb\x09\xdb\xb5-s\xcb\xf5\xfcq\xe0\xa5\x1al4\ +Vk2\xac\xbfZ\x1f\x01v\xa7\xaf]\xbdx}f\ +\xa6\x06\x106\xc3\xa10l2991\xfcpiI\ +\x89\x14U\xc3P\xeb^\x17\xde\x08\x80\x93\xc5S\xc7\x14\ +\xef\xf7\xb3a\xd8D\x88\xac> \xb2\xdb\xed\x1e\xa8\x83\ +5-\xfe\xdb\xdb\xff)y\xaf\xd7kKqi\x91\x9a\ +\xe38\xf7R7\xbe\x03Z\xc09\xa0\x9a\xb0\x03`\x03\ +(\x02W\xd2r.\xa4\x06?\xd8\x96\xd9r=\xff4\ + y\xd3\xb6\xcc\x0d\xd7\xf3\xcf\x00J\xa4XX\x98_\ +\x91as\xd3}\x0f4\x0d\xe3\xfc\xadj\xb5\xba\x02\xd0\ +\xfa\xd1\xfa\x18\xc7\xbf_\x9c\xadTF\xe6\xe6\xe7\x94H\ +q\xb7^W\xeb\x82\xe0S\x0e`tt\xec\xb8\xe4A\ +\x10\xe4<\xcf#_(\x0c\x88\x14\xfcgi\x9a\x16\x0f\ +\x88t\x1c\xe7A\xea\xfb[`?\xb9\xefr\xc2\xf6\x13\ +>\x04\xdc\x90\x8d\x7f\x00\xbf\x16\xa5`bD\x0f\x81\x00\ +\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x01}\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x14\x00\x00\x00\x10\x08\x06\x00\x00\x00\x16\x18_\x1b\ +\x00\x00\x01DIDAT8\x8d\xad\x93A+DQ\ +\x18\x86\x1f#\x8d\xc8l\x94\x14QC\x16\xa2,N\x83\ +\x8d\x8dbJI\x8d,X($\x14\x0b!)%;\ +eq\xcb\xf0c\xf8\x09\xde\x95\xad\x85\xb2\xb1\xb1`c\ +cc\xe1\xbb:\x9d\xb9\xf72x7_\xefw\xcf\xf7\ +\x9c\xf7\x9e\xd3\x81\x14I:\x95\x94K\xfb\x9e\xa6\xc4\x01\ +I\x1d\xc0!0\xf7/@`\x15h\x02v\xeb\x056\ +\x84\x0d\xfb\xcd\x07\xa0\xc7Z%\xe7\xdc\xed_\x12\xcex\ +0\x80\xbdz\x12&\x017\x03_\x91\xd4\xfb+\xa0\xa4\ +\x22P6\xfbl\xb5\x11\xd8\x0e\xd6\x95$u\xfd$\xe1\ +\x06\x9f\xe7\xfa\x0eL\x02\xaf\xd6_\x97T0\xd8(p\ +\x03D\x99@Iy`\xc5\xec\x95s\xee\xce\x1bj\x03\ +\xd6\x0cv\x0d\x14\x80yI\xd3Y\x09\x17\x80v\xe0\x0d\ +8\xb3^\xe4\xa5\xdc\xf7`\xb1\xaa\x92\x9a\xd3\x80\xf1e\ +\x5c8\xe7\x9e\x00\x9cs/^\xca\xce\x00\x06\xd0\x0f\x1c\ +\xd4\x00%\x8d\x00\xe3\x96\xe6<\x18\xf2S&\xe9HR\ +_\x98p\xcb\xea=p,i\xca6\x9a\x05.\x81\xc7\ +\x0c`\x1e\xa8~\x01\xed\xf6\x96\xcc;`\x07\x980?\ +\x06,\x02\xc3\x19@\x80\xb2\xa4J\x9cp\x19h\x09\x16\ +\x14\xad\x0e|\x03\xf2\x15Ij\xcdQ\xfb2\x00\x06\xad\ +\x0e\xd5\x01\xec\x06N>\x00o\x01\x5c\xe2;\xefo\xbb\ +\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x01u\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x0b\x00\x00\x00\x10\x08\x06\x00\x00\x00\xc0\xbd\x85~\ +\x00\x00\x01\xcfy\xce=g\xa2!\xc9n\x5c\xc3!\xfc\ +\xc2F\xfc\xc0\xcd\xaaz\xaf\x13\x1eO\xf22\xc9i\x1d\ +\x92\xcc%YJr\x0e&I\xb6c\x11g\xaaj\xc5\ +\x14\x92l\xc6s\x5c\x18p\x19\xb7\xd6\x13BU\xfd\xc6\ +%\xdc\x18p\x0cO\xd6\x13v\x05\xaf\xb1m\x06?\xab\ +j\xb5\xb5\xdc\x87\xa3X\xc6a\xec\xac\xaag\xad\xe6\xdb\ +\x80\x17IN\xb5\x87\x19\xdci\xe7>\xb64\x93\x03X\ +\x19\xf0\x10\x0bIf\xab\xea\x03\x96\xb0\x80/U\xf58\ +\xc9&\xdc\xc5\xed\xa1\xaa\xfe\xe2js\xd3\xfe\x7f\x11\xef\ +Z~\x1d\x0f\xaa\xea\xfb\xd0\x06x\x85!\xc9\x0e|\xc5\ +,\xc6\xed\x9c\xc0S\x18\xba\xa1\x971\xdfo!\xc9A\ +\xbc\xa9\xaa\xb5q\xa0\x11\x8fp\x0f[\xb1\x17Gp\x12\ +WF\xc1d\xcai\xb1\x85k\xed\xdeSUs#\xdf\ +;\xc3.\xec\xef\xf2?=9-\xfe\x88U\xfck]\ +7\xf4\xe40%>\x8f\xb7\xf8\x8cO8\xdb\x93\xff\x01\ +?\x07g7v\xdb#C\x00\x00\x00\x00IEND\ +\xaeB`\x82\ +\x00\x00\x01\x03\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x13\x00\x00\x00\x11\x08\x06\x00\x00\x00?\x98\x97\xc7\ +\x00\x00\x00\xcaIDAT8\x8d\xed\xd2=J\x03Q\ +\x14@\xe1od2\xa6\x11W\x90F\xec\xd2Y\x84\x08\ +.!\xe0\x02DHe\xe1n\xa6\xb2Nm'$\xa5\ +\x16YA\xba\xb1\xb0\xb1\xc8\x16\x04GL\x8a\x99\xe0\xf8\ +\x08f^\xb4\xf4\xc0\xe5\x15\x17\xce\xbb\x7fIQ\x14\x0f\ +\xb8\xd0\x9e\x15\xae1\x0b\x13)Fx\xc6\x02\x07;D\ +=\x0cq\xba-\x99\x22\xc1\x13n[Tu\x82\x17\x5c\ +\xa1\xdfp\x1ca\x99\xb6\x104\xf9\xa8\xdfA\x1d\xdf\xd8\ +\xd5V\xc8\xab\xaa\x930\xee\xf0\x16+\xfb\x89\xf7\xb0\xcd\ +.&\xf5o1\x9cQ\x0d\xaf\xc9\xa1j\xbb\xe3H\xd9\ +\x14\xf9\xb6\x05\x94\xb8\x8f\x94\x1d#\xff\xcb\x99Eo\xf3\ +_\xf6%\xfb\xfc\xa5\xa7D\xb69\x8dKt\x90\xed)\ +K6\xb29\xceq\xd3H\xae\xf6\xa8\xecq\x0d\xfe\xb1\ +\x1c=z\xc7\xebp\x00\x00\x00\x00IEND\xaeB\ +`\x82\ +\x00\x00\x01)\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x12\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1b\x06/\x5c\ +\x00\x00\x00\xf0IDAT8\x8d\xd5\xd2/K\x83Q\ +\x18\x05\xf0\xdf\xe6\x9a`0h1\xbb&\x13\xee'\x10\ +\xf4KX\xd4l\x10\xecV\x99E\xa3q3\x1b\xd4b\ +5\x18\x9f0\x0d6\x83`S\x04\xa3 \xce\xe0\x8b\xbc\ +\x5c\xdc\xdd\x16=\xed\xdc?\xe7\x1c\xce\xf34\x22bh\ +4\xeeRJ\x9d\xc2\xfd/\x9a\x93<\xfa\x9fB-l\ +\xd7\xf8:^0\xa8\xf8\xdb\xa4B\x8d:\x89\x88\x1e\x06\ +)\xa5\x93\xec|\x07\x07\x05\x9d\xe7V\xc9%\x22\xf6\xd1\ +\xc7\x1c\xeeG\x88\xb5\xd1\xcd\x13]c\x15\xef\x18b\x09\ +\x9f\xb8\xc40\xa5\xb4\xf5\x87Y\x07\x17y\xa2W\x9c\xe3\ +\x0a\x0b\xd8\xc5)\xe6\xb1RJ_\xec(\x22\x9a)\xa5\ +\xaf\x88\xd8\xc3qA\xe7)\x8f\xd9\xab>M\x8db\xd9\ +5\x83\xb1\x89\xc6M\xed\x01\x87\x15\xedOS\xf626\ +#\xe2\xc8\xcf\xd6\xcf\xe0\x0c\xb7x,\x99\xe6B\x1b\x98\ +\xc5G\xc5o\xd0\xc5\x22\xd6*\xf7\x1cm\xb2\xa9\x8d\xc2\ +$\x9b\xfd\x0d1\x8aV\x95q\x1f\x8eP\x00\x00\x00\x00\ +IEND\xaeB`\x82\ +\x00\x00\x02\x01\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x11\x00\x00\x00\x14\x08\x06\x00\x00\x00k\xa0\xd6I\ +\x00\x00\x01\xc8IDAT8\x8d}\xd3\xcf\x8b\xcdQ\ +\x18\xc7\xf1\xd7\xdc\xaeD\xc9(4\xca\x1d\x1b\x16\xc4\xea\ +\xa2\x98\x85\xc5\x10eAhJj\x84\xf8\x0b\xb0\xc4\xca\ +\x86\xa4&c\xd6\xb2\xa04%\xc9\x8f\xe4\xc7$\xc4\xbd\ ++3S\x16\x16D\x94_%\xc5\x8c\xb8\x16\xe7\xf96\ +\xdf\xf9\xba\xdf9\x9b\xcfs\xcey\xce\xfb<\xcfy\x9e\ +\xd3\xd1j\xb5\xb4\x1b\xcdf\x13\x06q\x1c?by\x1f\ +&p-\xef\xdb\xd1h4\xdaBb\xf4c>\x06b\ +~\x13\xfb\xf19\xefT)9\xbc+\xf4\x0a6\x87=\ +\x0b\xbf\x8a\x802\xc8\x06\x5c\xc5JLb\x07:\xb1\x08\ +\xbbs~\x8bq\x06\xab\xdbAN\xa2\x8a\x13\xb9\xb5\x87\ +x\x1f\xba0\xa2\xbb\x8e\xa7\x18+B6bk\xd8}\ +\x11\x0d\x5c\x08\xdd\x84\xb3x\x80\x1e\x0c\xa3U\x84d\xb7\ +\x7f\x88T\xb3\xf9eSo\xb1\x0d\x7f\xf07;\x94\x87\ +\xac\x8b(\xbec\x8b\xf4\x1e}X\x8e\x9f\x18\x0a\xbf/\ +\x91Rov>\x0f9\x1a:\x841\x5c\x8a\xfdc\xb1\ +>\x18\xe0\xf31\xdf\x89&\xb6g}\xd2\x8d\xd7\xb1\xd9\ +\x1d\xe9\xac\xc2\xa8T\xd6\xa5\xf8\x8a\xf5x\x9e\xbbx6\ +\xe6f\x91\x1c\x92*2\x1c\x00\x18\xc7]\xcc\x91\x9a\x0e\ +\xe6\xe1H\x0e2\x81o\x95\x08\xf9@.\xe4\xfc\xb8\x18\ +z0\xf4I\xf8N+HEj\xae\x1a\xde`\xa4\x00\ +\xb9\x15i\xac\xc1\x0a\xe9\x81\xefDZ\xd3 \xbda\xdf\ +@\xf17N\xc6!R\xc5\xe0\x14\x9e\xe5\x9d\xaa\xe8\x0a\ +\xfb\x95\xf6c<\xb4\x06\xf5z\xfd?\x87\x8a\xa9&\xaa\ +\x95@\x96\x85~,\xd9W\xc1\xbd\xb0\xfb\xb1\xa0\xb0\xbf\ +\x04{\xc2\xbe?\x13d\x04\x8f\xa5\xb4nc\xad\xf4\xed\ +{\xa4\x12wJ\x9f\xede\x19\xa4\x1a\xba\x17\x8f\xa4W\ +\x7fQ\xf0\x19\xc5\xe12@\x16\x09\xbc\x8b\x08\xce\xe1-\ +~K\x1d|Zj\x81O3A\xfe\x015\x8de<\ +wk\x85?\x00\x00\x00\x00IEND\xaeB`\x82\ +\ +\x00\x00\x01\xba\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x15\x00\x00\x00\x10\x08\x06\x00\x00\x00\xf9\xda4%\ +\x00\x00\x01\x81IDAT8\x8d\xa5\xd1M\x88\x8ea\ +\x14\xc6\xf1\xdf\xfb6>\x92\x92|Dij4\xa1\xec\ +8\x1b+5\xb1\x18f\xa1f\xc5J1\xc3DVR\ +H!+;\x14\xc9J\xd2lf\xe3\xabdg)\x97\ +\x94\xb2\xb1 e\xc9\xdeJ\x16\x9eW\x8f\xe9\x19\x93q\ +V\xe7>\xd7\xb9\xfe\xf7\xb9\xef\xd3\xb3\x84H\xd2\xc3.\ +L\xe0 f\xaa\xea\xcd@\xef/`\xda\x94d\xef_\ +\xb8}\x5c\xc0e\xacn\x03ah\x01\xd3q\xec\xc1\xcb\ +\x05\xf4Q\x8c\xe1\x1df\xbbn\x9c?e\x1fS\x18O\ +\xb2\xbdC_\x87\xc7\xb8\x86\xdd\xb87\xbf\xa7k\xd2q\ +\x0c7\xf9\x19\x9cj\x01\x97\xe3\x01\xceV\xd5\x93\xa6\xfc\ +m\xd1Iq\xb2\x95\x1fM\xb2\xb6\x01\xf6p\x15\x17\x07\ +\xc0$\x9b;\xfc\x7fB\x93\x0c\xe3@\xab\xb4\x0a\xd3M\ +^\xb8SUo[\xfaX\x92\x1d\x8bM:\xd5Q;\ +\x9dd\xa8\xaa^W\xd5\xe7$\xd3IF\x1am\x16\x97\ +\x92l\xe8\x84&\x19\xc2\xb1\x8e\xd7l\xc1d\xd33\x83\ +\xbb\xb8\x01U\xf5\x03\xd71\x97d\xe5\xc0\xd0kA'\ +1\xd7\x01\x85W\xb8\x8f\xdb\xad\xdaDU=k\xbc7\ +\xb1\x11\x87\xd1kC_`\xff\x02\xd0\xae\xf8\x88\x9dU\ +\xf5=\xc9\x1a|@\xf0\xb4\xdf\x00G\xb1\xef\x1f\x80\xb0\ +\x15\xe7\x9a|\x19>\xf9\xb5\xe4m\x83?\x9d\xd6\xfa\x8a\ +\x7f\x88\xf3IF\xaa\xea+\xae\xe0=FzIV\xe0\ +\x0b\xd6/\x01\x0a\x8f\xaa\xea\x10\xbf\x97=\xd6Kr\x04\ +\x0f\x97\x08\x1c\xc4xU=\x1f\x1c\xfa8\xf1\x9f@\xb8\ +\xd5\xbc\x18\xfc\x049\xa0\x7f\x85\xe9\xdfLL\x00\x00\x00\ +\x00IEND\xaeB`\x82\ +\x00\x00\x01\xb8\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x11\x00\x00\x00\x12\x08\x06\x00\x00\x00\xbd\xf95T\ +\x00\x00\x01\x7fIDAT8\x8d\x95\xd3;hTQ\ +\x10\xc6\xf1\xdf\xbd((jv;\x05+\xc1\xad\x04!\ +0\x8d\x8d\x16\x82\x88H*A\xd2\xd9\xf8\xa8\x04\x1b5\ +\x82\x9d\x06;\xed\xc4B\x10\x0b\xedl$\xb0`e\x93\ +\x22\x0e\xda\x1bS\x89/\x10\x82\x16\xc1g\xb4\xc8\x89\x5c\ +\xd7\xbb\xbbf\xe0p\x98\xef|\xe7\xcf\xcc\x1cN\x95\x99\ +\xbd\x88X\xb4\xc1\xc8\xccI\x5cA\xa7\xca\xcc{\x98\xc6\ +\x02nF\xc4\xa31\x97\x8f\xe1\x01:E\xba[ef\ +\x0f/\x1b\xbek\x11qu\x0ch\x19\xdd\x92\xee\xadK\ ++\xcbE\xf8\x85'c\x00w\x0a\xe03>F\xc4R\ +]\xce\xfa\x98\xc3\x0f\xf43\xb3;\x04p\x02\xa7\xf18\ +\x22:8\x05\xeb\x903\x11q\x1c\xfb\xf0\xd5\xda|\x06\ +\x01{p\x1f\xd7#b\x0a\x22b\x0e\xaa\x16\xf3v<\ +\xc3+\xac\xcf\xa6\xc6C\xcc\xb4\x0d\xfe\x1fH\x03\xf6\x0d\ +\x9b\x1b\xd2\xdb\x88\xd8\xdd\xe6\xad\xdb\xc4\x12+\x03\xf9\xf7\ +a\xc6Q\x90\xff\x8eQ\x90\xc1\xb3m\x1b\x82d\xe6I\ +\xac\xe2ic\xc9\xcc\x1bm\xfe\xb6\xd7\x99\xc5y\xf4\x22\ +\xe2]C\xdf\x82\xf7\xd6\x9e\xffhD\xac\xfeUIf\ +\x1e){\x1f\x971\xdd\x04@D|\xc1A\x1c\xc6R\ +f\xee\xcc\xcc\x99?\x95d\xe6\xa7R~\x17\xb7\x22\xe2\ +\xc2\xb0\xfe3\xf3\x1cn\x17\xffJD\xec\xa8\xca\x97~\ +^<\x1f\x22b\xd70@\x81L\xe05&\x8at\xa0\ +\xc6\xc5\x86gkf\x1e\x1a\x05\xc1$\x16\xf1\xb3\xe4\x97\ +\xaa\xcc\x9c\xc7\x1b\xccF\xc4\x8b1\x80fE\x9bp\x16\ +\xfb\x7f\x03$D\x8d]u\xca0\xbc\x00\x00\x00\x00I\ +END\xaeB`\x82\ +\x00\x00\x04\xdc\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a Set object hei\ +ght 1\x0a \ + \x0a \ + \x0a \ + \x0a \x0a \ + \x0a <\ +/g>\x0a\x0a\ +\x00\x00\x01h\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x0c\x00\x00\x00\x10\x08\x06\x00\x00\x00\x22a\x9e\x07\ +\x00\x00\x01/IDAT(\x91m\xd2!H\x9dQ\ +\x14\x07\xf0\xdf\xf7=\xf0\xa5!\x82\x93\x85\x85\x81E\x96\ +\x0c\x074mma\xb0\xf0\x94\x19\xb5Y\xc4<\x1cC\ +\x04\xe3\xb3\x8a\x0b\xa6\x85\x85\x19\x1e\x0c\x8b\xc50\xb4\xdd\ +&cF\x8b\x08o,\x092\xa6\x8c\x85w\x95\x8f\xbb\ +\xef\xa4{\xcf\xff\x9c\xff\xff\xfc\xcf\xbd\x95\x96H)=\ +\xc5\x17\xbc\x89\x88_M\xacn)\xee`\x0f\x17\xd8(\ +\xf1\xaaQ8\x89>z\xe8\xe0;\xa6\xf1\x0d[\x11q\ +\xf6\xa0\x90R\x9a\xc1\x0f,c\x1cG\x111\x8f)\xec\ +\xe3 \xa5\xb4\x04UJ\xa9\x9b\xe5\x9f4\x94\xb7#b\ +\xb3\xa1>\x85\x13\xf4j\xac`\xa2\x18\xf5\xb2y\x89\x88\ +!\xde\xe1C\x8d\xb7\xe8\x16\x0d\xbfK\xb38\xc4\x5c\xdd\ +\xc2\xde\x1a\x11q{o\xfa\xbc\x05\xaf\xcaD\xf6qS\ +\x1b\xed\xfc\xba\xc0\x1f\xb7\x90\xac\xe1\xa0\x8e\x88S\x1c\xe3\ +O\x03|V\xb0/b\x01;UN\x8c\xe13^\xe1\ +\x11\xce\xf2\xf99V3\xc1bD\x5cV\x05\xd3\x1c\xd6\ +\xf1\x1a?q\x87M\x0c\x22\xe2o\xab\xb9\xdc\xd8\xc7\x0b\ +|\x8a\x88\xdd&\xf6\xdf\xe7\xcb\xf1\x1e_\xf1\xb1\x04\xee\ +=\xcc\xe2\xa5\xd1\x9bt\x8d\xfeP'/b\x98G\xbb\ +\xc2\xe0\x1f\x06\xdbU3\x9dA\x19\x09\x00\x00\x00\x00I\ +END\xaeB`\x82\ +\x00\x00\x01O\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x13\x00\x00\x00\x12\x08\x06\x00\x00\x00\xb9\x0c\xe5i\ +\x00\x00\x01\x16IDAT8\x8d\xe5\xd4=/DA\ +\x14\xc6\xf1\xdf\xae\xcd\x8d\xd7H\xd8\x88\xc6&tJ\x89\ +B\x22\xdb)t(\x84\x8f\xe0\xa5\xf09T:\x85\x1a\ +A\xa3Pjt\xbe\x00\xb2\x05\xd1\xa0\x14B\x16\xbb\x89\ +(\xee\xacl.\xb9w\xb3JOu\xe6\xccs\xfe9\ +3g2\xb9J\xa5r\x8e)\xed\xe9\x18\xcb\xa8A\x01\ +\xe3a\xe3\x05\xcf(\xe2!\x050\x84W\xf4a\x01\x07\ +\x0d`!\x18\xea(a\x04\xdb(\xa7\xc0\xf6\xb0\x8f+\ +\x9c\x06\xe0!\x96\xf2\xc1P\xc5S\xabg\x0b\xba\xc5l\ +\xa8\x9b\xc7Q>\xdd\x9f\xa9kl\x84x\xae\xf0\x8b\xa1\ +\x88\xc5\x14@)\xb1\xde\xc5\x16\x06\x92\xb0{\x9ca\x06\ +\x11z\x9a\xf6\xde\xf0\x8eK\xf1}5\xf4)\x1e\xc8\x0f\ +\xd8#VS\xbaJU\x12\xd6\x8b\x15td\xd4U\xb1\ +\x83\x8f\xe6dr\x00\xa3Xo\xa1\x895Lfu\x06\ +w\xd8\xcc\x80\x95\x91K&\xff\xfa4\xfe3\xac\x0b\x83\ +m2\x22\xf1\x0f\xf2=\xcdH\xfc\xedT\xd1\x89\x9b\x0c\ +\xc00&\xc4\xef\xb1?\xd4\xd4\x0a\xb8\xc0t\x00F\xc1\ +<\xd6BG\xddMq\x1d'_\xecY0\xc6f\xd8\ +\x84\x84\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x01/\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x08\x00\x00\x00\x10\x08\x06\x00\x00\x00+\x8a>}\ +\x00\x00\x00\xf6IDAT(\x91m\xd0=+\x86\x01\ +\x18\xc5\xf1\xdf\xf3\x84\xb2\xb0\x89\xf4$\xe4\xa5\x8c\xae\x12\ +\x8b\x922\xd9\x18\x14\xa3\x85\xd5\x8a\xcf`\x90\xcd\xcb&\ +e\x91\xcc>\xc0UH^V\x93A\x8aE\x8a\xb0\xdc\ +wn\xe5l\xd7\xe9\x7f\xaeN\xa7\xa6Pf\x0e\xe1\x1c\ +w\x98\x8e\x88/\xa8\xfb\xd5\x22v\xd0\x8e\xd1\xd2\xac\x02\ +\x9fh\xa0\x05\x1f\xa5\xd9T\x01\x0ep\x8dK\x5c\xfd\xf7\ +\xe1\x15\x0f\xb8\x8d\x88\xef\xff\x80u\x0cb&3;\xff\ +\x00\x99\xb9\x899\x1c\xe1\x19W\x999\x09\xb5\x02\xb8,\ +\xfa\xacb\x1e\xb3h\xc5[Sfv\xa1\x1f\x138\xc4\ +MD\xf4\x14\xc1\xaezQn\x19Cx/v\x00\x11\ +\xf1X+\x8f\xcc\x5c\xc2\x02\xc60\x1c\x11O\xd5\x92\x0d\ +\xac\xe1\x0c7\xb8\xc8\xcc6\xa8gf3\xb6\xd1\x8bc\ +\xec\xa3\x03\x93\xe5\x92\x1b\xf8\xc2xD\x85\x9fX\x87\xdbU\x95uc\x11\x97\xca~\x0f\ +L\xe2\x03:\xaa\xc8&p\x00\x9f\xb1'~o\xc5\xd1\ + \xf8\x1e\x1d\xec\xca\x93\xd5\xd1\x17\xfey\xf4\x87?\x8d\ +\xe7-\x84u\xdc\xc0\xee\xc8\xe9\xc7\xeb\x88\x1dA_\x0d\ +\xab\xf1\x02\x9bsU\x5c\xc1}\xcc\xa0\x177q(\xda\ +k\xc5(\xae\xe3G\x863\xd8\x88\xf7\xf8\xaa\x1dk\xd1\ +\x89_xT\x10\xef\xc5\x02F2I\xa7\x078\x8b\xb7\ +\xb9\xc4\x83\xb8\x16\xf6\x02\x8e\xe3[.\xe72\xb6b2\ +\x93\xf6iTZ\xceV\xec\x97\xa6\xda\x90\xb4|\x22\xad\ +\xc2>i\x00+8-i9\x90I\xda\xac\xa0\x81\xc1\ +hk\x18\x87\xb1\x1c\xb1\xf1x\x9f\xf5g\xff\xaeb\x1e\ +\xe7h_\x8d\xa6\xa4\xcdX\xb4\x9e?\x9f\x8b\xd1\xd2\x89\ + \xf9K\xe3<\xd9;\xec\x95v\xa8\xec\xd4j\xd2d\ +{\xf2dE\xe7\xb4\x05C\xd2\x94\x8ap\x17\x17\x8a\x02\ +Ed$]f\xc3\xde\x86\x0d\xd2\xad~\x91$(-\ +\xb9\x0a\xc3\xb8\x855x\xa9\xfd\xbc\xfe\x8bl\x08\xa7\xa2\ +\xca)l\xafJ\xfe\x0dZUP\xe3\xae\x0f\xedJ\x00\ +\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x01\xfc\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x17\x00\x00\x00\x12\x08\x06\x00\x00\x00\xb0\xe7E\x13\ +\x00\x00\x01\xc3IDAT8\x8d\xad\xd4\xcd\x8bNa\ +\x1c\xc6\xf1\xcf\x19/y\x9d\x85\x97\x14)\xa4\xcc\xc8\x82\ +\xe6\x96\x14EY(Rd\xa3\x89$\x8d\x05\xe5e\x1a\ +ec\x83\xb2\xb2\x90\x8d\x8d\x05v\x96vVVV\xd7\ +)\x7f\x02\xf2\x0f\xc8[\x8a\x1e\x8b\xe7\x9czL\xe7\x99\ +\x19q\xd5\xa9\xfb\xba\xbb\x7f\xdf\xdf\xd5\xef>\xe7T\xbd\ +^\xcfBT\xd7u\x85\xb3\x18\xc7G|\xc6\xb3\x89\x89\ +\x89\xa1\x80\xc5\x0b\x22\xf7u\x1d\xebJ)\xb7 \xc9X\ +\xb3\xf7`X\xc1HUU\xba\x9e\xba\xaeo\xd7u\xbd\ +\xac\xf5\xf8\x81WIv'9\x84\xefX?\xac\xbe\xaa\ +*#]\x1d\x93\x8cb\xa6\x19\xc3\x1f*\xa5\xbc\xc5[\ +\x9c\xd4\x1f\xcfPu\xc2q\x0e\xab0\x9d\xa4=\xf3\x0b\ +cI.b\x0b\xde\xe9\xcf}\xe1\xf0$\x15.7v\ +\x07\x8e5\xeb\xc7\xf8\x86\x8d8\x82Q<\x9b\x0b\xdeu\ +\xa1\x8716\xe0o\xe2e)\xa5\x87\xa7\x1daV\x96\ +R\xbe.(9\xae\xcc\xf2\x07\x92\xec\x9d#\xe0\xda$\ +\x17\xe6\x85'\xd9\x8c\x13\x1d\xe7ff\x9d\xdb\xde6,\ +\xa5|\xc0\xd2$\xa7\xe7K~\x09\x8b:\xe0\xa7\x92l\ +m\xc1x\x8d'I\xda\xb1>\xc6T\x92\x83\x9d\xf0$\ +K1\xd5\x01\xd64\xbc\x91dg\x03\xde\x84]\xb8\xd1\ +\xa4\xef\xe1\x1a^$\x19o\x8b\xaa\x01\xf8$\x9e\x0f\x81\ +\xc3W\xfd\x0fg\xdd\xc0\xde7\xec,\xa5\xbco\x18\xf7\ +0\x893\xf898\x96\xcb\xe6\xd6\xcaY`X\x81G\ +\x03\xfe.\x96\xe0\x0d\x0e\x8e4\x1d\xf7`\xff<\xf0a\ +:\x9e\xe4d\xb3\xde\xd7\xc0a[\x9b|\xf6\xeb\xf7\xb7\ +z\x98du)\xe55\xb6\xe1\x0e6TI\xd6\xe8\xff\ +#\x96\xffc\x83\x07\xa5\x94\xe9\xd6$Y5\x82\xf3\xff\ +\x01\x0cW\x93\xecnM)\xe5\xcbb\xfd\xdb\xfd\xf4\x1f\ +\xe0p\x1fG[\xf3\x1b\xdb,\x90K\x95\x7f\xdek\x00\ +\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x01\xb8\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x15\x00\x00\x00\x0e\x08\x06\x00\x00\x00\xc0\x06W\xce\ +\x00\x00\x01\x7fIDAT8\x8d\x8d\xd3\xbdk\x15Q\ +\x10\xc6\xe1g\xaf\x17EQ\xd1\x18E\x04\xb1\xd2F\xcb\ +\x01k\x0b\xed\x82\xa4NH\xa1EH\xa7]\x08\xa2H\ +\x04M\xa5\x85 \x8a \xe2_ X(\x08\x8aU\xc0\ +)\xc5\xc2&\x85\xe2g\xe7G\x22\x92\x0f\x8b\xdd\xab\xeb\ +\x82\xbbw\xba3\xf3\xce\xef\xcc9\xe7=\x85Fd\xe6\ +fLa\x0cG\xb1\x17[\xd1\xaf$k\xf8\x81\x0fx\ +\x81k\x11\xb1Tg\x145\xd8q\xdc\xc11\xf4\x9a\x9b\ +u\xc4\x1bLF\xc4\xcb?\xd0\xcc\xbc\x8b\xb3\x0d\xe1\x0a\ +>\xe3#~V\xb9-\xd5\xe4\xfb\xb0\xa3\xa1\xdf\xc0\xa5\ +\x88\x98/2\xf3\x02\xe6k\xa0\x07\xb8\x12\x11o\xdbF\ +\xcb\xcc]\x98\xab\x86\x19\xa9\x95\xc6\x8b\xcc\xfc\x86\xedx\ +\x84\xd3\x11\xb1>\xd4\x81\xff\xdd`\x12\xd71\x8awE\ +fn`-\x22\xfa\xed\xad\x9d\xe0Sx\x82\xf5\xc1\x83\ +l\xca\xcc\xd7\x999\xd2\xd27h\x9e\xce\xccC\xb5\xf5\ +\x91\xcc|\x8e\xc7U\xaa(2sYi\x19\xf8\x8a=\ +\x11\xb1\xda\x00\xf5q\x15\xd3\xca\x07\x9a\xc5+,(m\ +W\x8f\xef}\xdc\xc6\xb9*\xb1\x13\x13\xb8_\xc1F\x95\ +6\x1b\xf3\xd7\xa7p\x11\xdb\xfes\x98\x87\xbd\x888\x8f\ +\xa7\xb5\xe4\xfe\x0a8\xa3\xb4\xd4x\x03\xa8\x05\xf8\x1eg\ +z\x10\x11'1\x83/\xaa\xab\x88\x88[\xb8\xa7\xf4_\ +W\xac\xe2\x19\x0eG\xc4\xaf\xa2K\x9d\x99\x07\xb1\x88\x03\ +\x8d\xd22\x96\x94_\xf5rD|\x1a\x14:\xa15\xf8\ +\x14n`7f#ba\xd8\xdea\xe073\xf3D\ +\x9b\xe67\xefB~?\xd8\xe7\x90V\x00\x00\x00\x00I\ +END\xaeB`\x82\ +\x00\x00\x02\x0e\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x12\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1b\x06/\x5c\ +\x00\x00\x01\xd5IDAT8\x8dm\xd3M\x88\xceQ\ +\x14\x06\xf0\xdf;\xc6\x82)\xb10jl|5\x92\x8f\ +1u\x94\x90\x95\x95\x9a\x94\x12j2\x09[\x1a6,\ +H6\xa3|\x84\xcd\xa4h\xb2\xd1\x88\x99\x85\xaf\x86\xa4\ +\x88l\x8ef\x8a\x15K\xb3@hR\x94\x91X\xbc\xd7\ +\xf4\xce\xbf9u\xeb\x9e\xf3\x9c\x9es\xces\xef\xa9e\ +\xe6\x1cl\xc3hD\x8c\x9b\xc12\xb3\x0fK\xd0\x1d\x11\ +\x7ff\xca\xa9e\xe6\x03\xcc\xc5j\xb4G\xc4Df\x1e\ +\xc2A\xec\x88\x88\x8f\x999\x86\xa5h-g/\x1eF\ +\xc4\xdb\xffDMh\xc7\x1d\xfc\xc5\xfc\x12_\x8cuh\ +)\xfe0\xceD\xc4/\xdc,\xd8\x93\xc6\x8e\x9a\xb0\x1f\ +[\xf1\x1c\x9b!\x22N\xe3\x18\x96\x97\xbce\xf8Z\xee\ +\xdf\xb0\x16\x9f\xa7\x11E\xc4\x8b\x88\xd8\x8d\xe38\x95\x99\ +\x07\x0a6\x80\xdd\xe5\xde\x82\xef\x99\xb9\x08kp\xf6\x7f\ +\xd1)\x8d\x1a\x9d\xcc\x5c\x88\x07\x18\x88\x88\xfe\xcc<\x82\ +\x11\x5cB?\x8e\xe2bD\xdc\xcd\xcc\x1az\x8b\xb6\xe7\ +\xa6\x11\x15\xb2\x16\xdc\xc6c\x5c+z\xacG'\x86\x22\ +b\xa4\xe4m\xc1u\x0caC\xad\x04[\xd1\x19\x11\x8f\ +\x8a?\x1b]\x111\xdcP`\x05\xc6\x11\xd8\xa4\xfee\ +6b\x14\xef\x9bK\xde\x05tg\xe63L\x94Xo\ +\xa5\xd9\x85\xb8\x887x\x8dA\xcc\xc3J\xdco$\x1a\ +\xc3\x95\x88\xf8\xdd\xd0EG\xe9b\x01\xda\xcah7*\ +\x05\xdeR\x11\xbb\xa2\xd5N\xec\xc2>u\x91g\xe1G\ +\x19\xe9\x9e\xfa\x83L\x15m\x9a\x81\xa0\x96\x99'\xd1\x83\ +\x9e\x92<\x88=\x11q\x19?q\xb5\xe83e\xd5\xe7\ +\xefB\x1f>\xa8\xaf\xc7d\x03\xf6\xb2h\xf4N\xfdC\ +\xdej\xdc\xbbf\xd3m;V\xa9/\xe7d\x05\x9b\xc0\ +y\xf5\xbd\xec\xa8.ou\xb4\xc3h\x8b\x88\xb1\xea\xc8\ +\xea{\xd8\x87/XQ\x05\xa7uT\xf4\xf84\x03\x09\ +\x9c\xc0\x19<\xc5\xab*\xf8\x0f\xdd\xdb\x9d,w\xcc\x1f\ +\xb4\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x04\xe9\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00 \x00\x00\x00 \x08\x06\x00\x00\x00szz\xf4\ +\x00\x00\x00\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\ +\x00\x00\x00 cHRM\x00\x00z&\x00\x00\x80\x84\ +\x00\x00\xfa\x00\x00\x00\x80\xe8\x00\x00u0\x00\x00\xea`\ +\x00\x00:\x98\x00\x00\x17p\x9c\xbaQ<\x00\x00\x00\x06\ +bKGD\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\x00\ +\x00\x09oFFs\x00\x00\x02\xc0\x00\x00\x00\x00\x00\x5c\ +]\xb9S\x00\x00\x00\x09pHYs\x00\x00\x0b\x13\x00\ +\x00\x0b\x13\x01\x00\x9a\x9c\x18\x00\x00\x00\x07tIME\ +\x07\xdf\x0c\x12\x0e\x1b\x0b$&IW\x00\x00\x00\x09v\ +pAg\x00\x00\x03@\x00\x00\x00 \x00\xbe\xe6\x89Z\ +\x00\x00\x03\xaeIDATX\xc3\xed\xd6]\x88UU\ +\x14\x07\xf0\xdf\x98\x8e\x96\xa8QIjA\x1f\x04BD\ +\xd0KQ\xf8\x12\x91\x11=\x04\xf5b'\x85\x8e\x88\x8d\ +i\xa7\x14\x02\xc3\xc2\xbe\xa0\xcc,8f\x1aa\xa7/\ +N\x11J\x05RP\xe1C\x1f\x86\x0f\xbe\x98(\x94\x1a\ +F\x94\x85Y\x98\xcd\x80:\xde\x1e\xf6\xbe\xce\x9e\xdb\xbd\ +3:MO\xb5\xe0p\xf7\xddg\x9d\xb5\xfe{}\xfc\ +\xf7\xe2\xbf.]\xcdE\x96\x17Oa\xc5(\xdb\x9f]\ +W\xe5'C)\x8cM\xd6+p\x02\x07p\xec\x1f:\ +\x9e\x82\x19\xb8\x1a\xa7\x0d\x00\x0e\xd4Uy\xc5h\x1c=\ +\xcb\x8b\x06N\x0e\xa7\xd7\x0a\xe0X\x07cS\xb0\x11\x1b\ +\xeb\xaa\xfch\x04``a\x8c\xcc\xea\xba*;\x02h\ +~\xb0\x16S\xf1\x07&`\x12n\xc7\xac,/\xde\xc5\ +\xf7Q\xb5\x0b\xefa:\xaeCo]\x95/%\xa6\x9a\ +5\xb6\x04k\x84\x14\x8f\xc9\xf2bU\x13D[\x00\x98\ +\x17\xd1\xf6cL\xb2\x7f!\xee\x8b\xc0\xc6\xe3\xec\x08\xe6\ +Z,C\x1fR\x00?dy\xb1\x00O\xa3;>\xcb\ +\xb0j\xc8\x08\xe0!\xcc\xc48\xfc\x88\x8bp\x17.\xc0\ +Y\xf1\x99\x8f\x8b\xb1\x07G\xe2i\x8f&6\x1e\x8b\xfa\ +\xeb\x92\xbdo1o\xd8\x14\xd4U\xf9J\x9b\xb4lC\ +\x95\xa4d\x0dz\xea\xaa\xdc\x89\x9dh\xad\x8d?\xf1L\ +\xf2\xffg\xcc\xaf\xabr{\xaa\xd4\xa9\x06\xee\xc0e\x06\ +\xaa\xb8\x0b\xbf\xe1~\xac\xc6\xb9B\x9b\xbd\x9d\xe5\xc5-\ +uU~\x99\xe5\xc5R\xf4\xd5U\xb9!\xcb\x8b\x1e<\ +\x19\xc16\x9d\xcf\xa9\xab\xf2\x8bV_\x9dR\xb0\x14\xb3\ +\xda\xec7\xe2\xd3\x1f\xd30\x11\x1fdy\xb1\x0c+\x85\ +\x22\xdb\x80\xf5-a\x9f\xdf\xce\xf9P\x006\xe2\xb3\xe8\ +,\x95cx\x1d7\x09\xc56\x1e\xe7\xc7P/\xc0\x8c\ +,/~O\xf4\x8f\x0a9\xdf\xde\xc1O\xc7\x1ax\xcd\ +\xd0\xf2j\x96\x17\xbdX+\x14\xdat\xbc)tLw\ +\xd4\xd9\x8f|(\xe7\x1d\x01dyq'.\xd5\x99\xc9\ +\xba\xf0\x0b\x1eF)\xb4\xe3\x84\xe4\xfd^<\x81\xc3\xc3\ +\x1c\xa4c\x0a\x1e\xd4\xbe\x06Ri\x08\xfd\xbcI\xe0\x8d\ +T\xd6\xc7\xc8\xcc\xc6\xae\x91\x00x\x03\xdb\x87\x89\xc0.\ +\xa1\x1d\x97\xb7y\xbfR`\xbfm#\x8a@;\x1eh\ +\x95,/\x16\x09\x0c\xd7\x94\xc3\x02qM\xc2d\xa10\ +\x17c\xdf\x19\x03\xc8\xf2b\xb9p\x95\xa6\x11\xe8\xc2q\ +!\xbf\x87\xf0\x82\xd0\x05\xf0\x13\xee\xc1%x\xd6\x00O\ +\xbc\x95\xe5\xc5\xaduU~~\xa6)\xb8M\xfb\x1a8\ +.\xe4\xbe;\xd9\xfbF\xa0\xdd\x0f\xe3\xbbE\x06\xc8j\ +\x22\xde\xcf\xf2ba]\x95\x9b\xcf\x04\xc0\xa3\xf1\x04M\ +\x1eh\xa0W`\xc7\xc7\x13\x00G1\x17\x07\xe3o\x1f\ +\xb6\xc6\xc8\xad\x13:\xe3<\xbc\x98\xe5Eo\xbb\xab<\ +\x1d\xc9\x1a\xd8SW\xe5\x95\x1d\xd2r\xaf\xc0rM\xd9\ +\x8f\xb9uU~\xd5F\x17z\x84V\x9c\x1a\xb7\x8f\x08\ +t<\x08D[\x00\x09\x0f4\x84Ke\x1c\x9e3\x90\ +\xf3}x$\x86\xf9S\xc9< \xcc\x077\xe0F\xec\ +\x10Z\xb2\xf9\xddA,I\xd31\x1c\x0f\xf4\x0b\xfc\xde\ +\x9d\x80=\x89\xcbQ\xc7\xbd9\x06\xe6\x81\x13\xd8\x1d\xed\ +.\xc6\xddx@ \xabnL\xc3\xcbY^l\x1en\ + i\xf2@\xbfPd\xd7\x08\x83\xc8^a.\x98\x8e\ +\x9b\xe3\xfb\xdd\x06\xcf\x03\xdf\x09\x83\x0bL\xab\xab\xf2\xf9\ +,/~\x8d\xe9\xeb\x12\xae\xf0S\x8eN\x8b\x07\xb2\xbc\ +\x98\x1c\xc3\xbb\xa5\xae\xca\x1dq{K\xa2\xf2\xb5d\x1e\ +\xc8\xf2\xe2\xfa\xb8lD{\x9b\xb2\xbc\x18\x8b\xee\xba*\ +7\xa5\xb6[\x01\x8cI\x8ahr\xb2\xdf\x10\xfa\xfbP\ +\x043\x94\x1c\xc19q}\xaa\xc6\xea\xaa|'\xda\x1d\ +$\xad\x00f\xc6b\x1c-\x19D\xe5i\xe8\xdb\x01\xc8\ +p\x95\xbf\xcf\x00#\x95\x06>\x1e\xc5\xc3\xfc/\xff\x8e\ +\xfc\x05\x99&,\xa0:Dw\xab\x00\x00\x00%tE\ +Xtdate:create\x0020\ +15-12-18T14:27:1\ +1+00:00YM\xe3\xc6\x00\x00\x00%t\ +EXtdate:modify\x002\ +015-12-18T14:27:\ +11+00:00(\x10[z\x00\x00\x00\x00\ +IEND\xaeB`\x82\ +\x00\x00\x04~\ +\x00\ +\x00\x01\x00\x01\x00\x10\x10\x00\x00\x00\x00 \x00h\x04\x00\ +\x00\x16\x00\x00\x00(\x00\x00\x00\x10\x00\x00\x00 \x00\x00\ +\x00\x01\x00 \x00\x00\x00\x00\x00@\x04\x00\x00\x13\x0b\x00\ +\x00\x13\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +>\x00\x00\x00\xa1\x00\x00\x00\xd6\x00\x00\x00\xeb\x00\x00\x00\ +\xec\x00\x00\x00\xd8\x00\x00\x00\xa7\x00\x00\x00G\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x9e\x02\x022\ +\xff\x04\x10\x81\xff\x03#\xaa\xff\x02,\xbb\xff\x02-\xbc\ +\xff\x03$\xac\xff\x03\x12\x85\xff\x02\x028\xff\x00\x00\x00\ +\xac\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x0c\x00\x00\x00\xbb\x03\x08\x5c\xff\x02/\xcb\ +\xff\x00;\xca\xff\x00:\xca\xff\x009\xca\xff\x009\xca\ +\xff\x00:\xca\xff\x00;\xca\xff\x022\xcb\xff\x03\x09b\ +\xff\x00\x00\x00\xc9\x00\x00\x00\x13\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x98\x04\x08^\xff\x015\xca\xff\x00:\xca\ +\xff\x008\xca\xff\x008\xca\xff\x008\xca\xff\x008\xca\ +\xff\x008\xca\xff\x008\xca\xff\x00:\xca\xff\x018\xca\ +\xff\x03\x09c\xff\x00\x00\x00\xaf\x00\x00\x00\x00\x00\x00\x00\ +0\x00\x00\x00\xfd\x02.\xc8\xff\x00:\xca\xff\x008\xca\ +\xff\x008\xca\xff\x008\xca\xff\x008\xca\xff\x008\xca\ +\xff\x008\xca\xff\x008\xca\xff\x008\xca\xff\x00:\xca\ +\xff\x022\xcb\xff\x02\x027\xff\x00\x00\x00E\x00\x00\x00\ +\x92\x04\x0eu\xff\x00:\xca\xff\x008\xca\xff\x008\xca\ +\xff\x008\xca\xff\x008\xca\xff\x008\xca\xff\x008\xca\ +\xff\x008\xca\xff\x008\xca\xff\x008\xca\xff\x008\xca\ +\xff\x00;\xca\xff\x03\x13\x87\xff\x00\x00\x00\xaa\x00\x00\x00\ +\xce\x02\x1f\xa4\xff\x00:\xc9\xff\x008\xc9\xff\x008\xca\ +\xff\x008\xca\xff\x008\xca\xff\x008\xca\xff\x008\xca\ +\xff\x008\xca\xff\x008\xca\xff\x008\xca\xff\x008\xca\ +\xff\x00:\xca\xff\x03%\xaf\xff\x00\x00\x00\xdc\x00\x00\x00\ +\xea\x02)\xb9\xff\x01:\xca\xff\x088\xd1\xff\x098\xd1\ +\xff\x078\xd0\xff\x058\xce\xff\x038\xcd\xff\x028\xcc\ +\xff\x018\xca\xff\x008\xca\xff\x008\xca\xff\x008\xca\ +\xff\x009\xca\xff\x02-\xbd\xff\x00\x00\x00\xed\x00\x00\x00\ +\xe8\x02)\xb8\xff\x0d:\xd6\xff\x139\xdb\xff\x118\xd9\ +\xff\x0f8\xd7\xff\x0d8\xd6\xff\x0b8\xd4\xff\x0a8\xd3\ +\xff\x088\xd1\xff\x068\xcf\xff\x048\xce\xff\x028\xcb\ +\xff\x009\xc9\xff\x02-\xbd\xff\x00\x00\x00\xed\x00\x00\x00\ +\xcb\x06\x1d\xa5\xff\x1b;\xe2\xff\x1a9\xe2\xff\x189\xe0\ +\xff\x179\xde\xff\x159\xdd\xff\x139\xdb\xff\x129\xda\ +\xff\x108\xd8\xff\x0e8\xd7\xff\x0c8\xd5\xff\x0a8\xd3\ +\xff\x01:\xcb\xff\x03$\xad\xff\x00\x00\x00\xd9\x00\x00\x00\ +\x8b\x07\x0dr\xff\x22;\xe8\xff\x22:\xe9\xff 9\xe7\ +\xff\x1e9\xe5\xff\x1c9\xe3\xff\x1b9\xe2\xff\x199\xe0\ +\xff\x179\xdf\xff\x169\xdd\xff\x149\xdc\xff\x139\xdb\ +\xff\x07;\xd0\xff\x03\x11\x82\xff\x00\x00\x00\xa3\x00\x00\x00\ +(\x00\x00\x00\xfa\x1c+\xd7\xff,;\xf2\xff(:\xee\ +\xff&:\xec\xff$:\xeb\xff#:\xe9\xff!:\xe7\ +\xff\x1f9\xe6\xff\x1d9\xe4\xff\x1c9\xe3\xff\x1b;\xe2\ +\xff\x090\xd1\xff\x02\x02/\xff\x00\x00\x00;\x00\x00\x00\ +\x00\x00\x00\x00\x88\x07\x08[\xff,5\xf1\xff3;\xf8\ +\xff.;\xf3\xff,:\xf1\xff*:\xf0\xff(:\xee\ +\xff':\xed\xff%:\xeb\xff&;\xec\xff\x1c6\xe3\ +\xff\x04\x08]\xff\x00\x00\x00\x9f\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x05\x00\x00\x00\xaa\x08\x08[\xff)+\xe2\ +\xff8;\xfc\xff7;\xfc\xff4;\xf9\xff2;\xf8\ +\xff1;\xf6\xff/;\xf5\xff#/\xe5\xff\x06\x08`\ +\xff\x00\x00\x00\xbb\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x88\x00\x00\x00\ +\xf6\x0e\x0ex\xff\x1e\x1f\xb8\xff)+\xda\xff)+\xdb\ +\xff\x1d!\xba\xff\x0e\x0f~\xff\x00\x00\x00\xfb\x00\x00\x00\ +\x96\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ ++\x00\x00\x00\x8a\x00\x00\x00\xc8\x00\x00\x00\xe7\x00\x00\x00\ +\xe8\x00\x00\x00\xcb\x00\x00\x00\x91\x00\x00\x003\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x0f\x00\ +\x00\xc0\x03\x00\x00\x80\x01\x00\x00\x80\x01\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x01\x00\ +\x00\x80\x01\x00\x00\xc0\x03\x00\x00\xf0\x0f\x00\x00\ +\x00\x00\x03?\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a source control\ + connected\x0a \x0a \ +\x0a \ + \x0a\x0a\ +\x00\x00\x03C\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a source control\ + - not setup\x0a \x0a \ + \x0a \x0a\x0a\ +\x00\x00\x04~\ +\x00\ +\x00\x01\x00\x01\x00\x10\x10\x00\x00\x00\x00 \x00h\x04\x00\ +\x00\x16\x00\x00\x00(\x00\x00\x00\x10\x00\x00\x00 \x00\x00\ +\x00\x01\x00 \x00\x00\x00\x00\x00@\x04\x00\x00\x13\x0b\x00\ +\x00\x13\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x1a\x1c\ +>\x1c\x0f\x1b\xa1\x1c\x13\x1b\xd6\x1b\x1e\x1b\xeb\x19\x1d\x1a\ +\xec\x17\x0f\x17\xd8\x13\x05\x11\xa7\x0d\x09\x0cG\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00###\x0a#\x19\x22\x9e!$\x22\ +\xff\x18q!\xff\x0d\xb6\x1e\xff\x09\xd0\x1d\xff\x09\xd2\x1d\ +\xff\x0d\xba\x1f\xff\x16x \xff\x18!\x19\xff\x10\x05\x0f\ +\xac\x0f\x0f\x0f\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00%&%\x0c'\x1b&\xbb\x1fK$\xff\x09\xcd\x1d\ +\xff\x00\xfd\x19\xff\x00\xfb\x18\xff\x00\xf7\x18\xff\x00\xf6\x18\ +\xff\x00\xfa\x18\xff\x00\xff\x19\xff\x0a\xd7\x1f\xff\x18P\x1e\ +\xff\x12\x06\x11\xc9\x04\x05\x05\x13\x00\x00\x00\x00\x00\x00\x00\ +\x00-#,\x98\x22I&\xff\x03\xe6\x1a\xff\x00\xfb\x18\ +\xff\x00\xf0\x19\xff\x00\xf0\x19\xff\x00\xf0\x19\xff\x00\xf0\x19\ +\xff\x00\xf0\x19\xff\x00\xf0\x19\xff\x00\xf9\x18\xff\x05\xf1\x1c\ +\xff\x18P\x1e\xff\x11\x06\x11\xaf\x00\x00\x00\x00.,.\ +0+.+\xfd\x08\xc8\x1c\xff\x00\xfb\x18\xff\x00\xf0\x19\ +\xff\x00\xf0\x19\xff\x00\xf0\x19\xff\x00\xf0\x19\xff\x00\xf0\x19\ +\xff\x00\xf0\x19\xff\x00\xf0\x19\xff\x00\xf0\x19\xff\x00\xfa\x18\ +\xff\x09\xd7\x1e\xff\x19\x22\x1a\xff\x0c\x09\x0cE3&1\ +\x92\x1dk%\xff\x00\xfb\x18\xff\x00\xf0\x19\xff\x00\xf0\x18\ +\xff\x00\xf0\x18\xff\x00\xf0\x19\xff\x00\xf0\x19\xff\x00\xf0\x19\ +\xff\x00\xf0\x19\xff\x00\xf0\x19\xff\x00\xf0\x19\xff\x00\xf0\x19\ +\xff\x00\xff\x19\xff\x16x \xff\x14\x07\x13\xaa3'2\ +\xce\x0f\xa5\x1f\xff\x00\xfc\x17\xff\x00\xf0\x17\xff\x01\xf0\x1a\ +\xff\x02\xf0\x1b\xff\x00\xf0\x19\xff\x00\xf0\x18\xff\x00\xf0\x18\ +\xff\x00\xf0\x18\xff\x00\xf0\x19\xff\x00\xf0\x19\xff\x00\xf0\x19\ +\xff\x00\xfa\x18\xff\x0c\xba\x1f\xff\x1a\x12\x19\xdc5/4\ +\xea\x07\xc2\x1a\xff\x03\xf9\x1b\xff!\xf27\xff%\xf2:\ +\xff\x1e\xf24\xff\x16\xf1-\xff\x0f\xf1&\xff\x08\xf0!\ +\xff\x04\xf0\x1c\xff\x01\xf0\x1a\xff\x00\xf0\x18\xff\x00\xf0\x18\ +\xff\x00\xf7\x18\xff\x08\xd1\x1d\xff\x1b\x1f\x1c\xed616\ +\xe8\x07\xc1\x1b\xff:\xfcO\xffT\xf5e\xffH\xf4Z\ +\xffA\xf4S\xff9\xf4M\xff1\xf3F\xff*\xf2?\ +\xff\x22\xf27\xff\x1a\xf10\xff\x12\xf1*\xff\x08\xf0 \ +\xff\x00\xf7\x17\xff\x08\xd0\x1d\xff\x1d \x1d\xed8.7\ +\xcb \xa1.\xffs\xff\x82\xffr\xf6\x80\xffi\xf6x\ +\xffb\xf6q\xffZ\xf6k\xffS\xf5d\xffL\xf5]\ +\xffD\xf4W\xff=\xf4P\xff6\xf3I\xff-\xf2A\ +\xff\x06\xfb\x1f\xff\x0b\xb5\x1d\xff \x17\x1f\xd9;2:\ +\x8b3i9\xff\x91\xff\x9d\xff\x95\xfa\x9f\xff\x8b\xf8\x96\ +\xff\x83\xf8\x8f\xff{\xf7\x88\xfft\xf7\x82\xffm\xf7{\ +\xffe\xf6t\xff^\xf6n\xffV\xf5g\xffS\xf5d\ +\xff\x1d\xfe5\xff\x13q\x1d\xff\x1f\x12\x1e\xa3><=\ +(262\xfa\x83\xc4\x8a\xff\xbf\xff\xc7\xff\xac\xfa\xb4\ +\xff\xa5\xfa\xae\xff\x9d\xf9\xa7\xff\x96\xf9\xa0\xff\x8e\xf9\x99\ +\xff\x87\xf8\x92\xff\x7f\xf7\x8c\xffx\xf7\x85\xfft\xff\x83\ +\xff(\xce9\xff\x1f' \xff!\x1e!;\x00\x00\x00\ +\x00>;>\x88DME\xff\xbd\xe3\xc2\xff\xdb\xff\xdf\ +\xff\xc7\xfd\xcc\xff\xbe\xfb\xc4\xff\xb6\xfb\xbe\xff\xaf\xfa\xb7\ +\xff\xa8\xfa\xb0\xff\xa1\xfa\xaa\xff\xa3\xff\xad\xffx\xeb\x84\ +\xff$M(\xff'\x1f&\x9f\x00\x00\x00\x00\x00\x00\x00\ +\x00<=<\x05979\xaaLPL\xff\xba\xc7\xbb\ +\xff\xf1\xff\xf4\xff\xee\xff\xf0\xff\xe2\xff\xe6\xff\xda\xff\xdf\ +\xff\xd5\xff\xda\xff\xcd\xff\xd3\xff\x9b\xd0\xa0\xff9M;\ +\xff#\x1d#\xbb\x0d\x0e\x0d\x0b\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00CCC\x04<;<\x889:9\ +\xf6lnl\xff\xa4\xa8\xa4\xff\xc3\xcb\xc4\xff\xc1\xcd\xc2\ +\xff\xa2\xb0\xa3\xffitj\xff333\xfb,'+\ +\x96$$$\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00BBB\ ++555\x8a111\xc8444\xe7333\ +\xe8-+-\xcb,*,\x911113\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x0f\x00\ +\x00\xc0\x03\x00\x00\x80\x01\x00\x00\x80\x01\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x01\x00\ +\x00\x80\x01\x00\x00\xc0\x03\x00\x00\xf0\x0f\x00\x00\ +\x00\x00\x03E\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a source control\ + - warning v2\x0a \x0a \ + \x0a \x0a\x0a\ +\x00\x00\x04~\ +\x00\ +\x00\x01\x00\x01\x00\x10\x10\x00\x00\x00\x00 \x00h\x04\x00\ +\x00\x16\x00\x00\x00(\x00\x00\x00\x10\x00\x00\x00 \x00\x00\ +\x00\x01\x00 \x00\x00\x00\x00\x00@\x04\x00\x00\x13\x0b\x00\ +\x00\x13\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +>\x00\x00\x00\xa1\x00\x00\x00\xd6\x00\x00\x00\xeb\x00\x00\x00\ +\xec\x00\x00\x00\xd8\x00\x00\x00\xa7\x00\x00\x00G\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x9e\x0148\ +\xff\x02\x8c\x92\xff\x01\xbf\xc1\xff\x01\xd5\xd4\xff\x01\xd6\xd5\ +\xff\x01\xc2\xc3\xff\x01\x91\x97\xff\x01;@\xff\x00\x00\x00\ +\xac\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x0c\x00\x00\x00\xbb\x01bh\xff\x01\xe7\xe6\ +\xff\x00\xec\xe6\xff\x00\xec\xe6\xff\x00\xeb\xe6\xff\x00\xeb\xe6\ +\xff\x00\xec\xe6\xff\x00\xec\xe6\xff\x01\xe8\xe6\xff\x01io\ +\xff\x00\x00\x00\xc9\x00\x00\x00\x13\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x98\x02cj\xff\x00\xea\xe6\xff\x00\xec\xe6\ +\xff\x00\xeb\xe6\xff\x00\xeb\xe6\xff\x00\xeb\xe6\xff\x00\xeb\xe6\ +\xff\x00\xeb\xe6\xff\x00\xeb\xe6\xff\x00\xec\xe6\xff\x01\xeb\xe6\ +\xff\x01jp\xff\x00\x00\x00\xaf\x00\x00\x00\x00\x00\x00\x00\ +0\x00\x00\x00\xfd\x01\xe4\xe4\xff\x00\xec\xe6\xff\x00\xeb\xe6\ +\xff\x00\xeb\xe6\xff\x00\xeb\xe6\xff\x00\xeb\xe6\xff\x00\xeb\xe6\ +\xff\x00\xeb\xe6\xff\x00\xeb\xe6\xff\x00\xeb\xe6\xff\x00\xec\xe6\ +\xff\x01\xe8\xe6\xff\x019>\xff\x00\x00\x00E\x00\x00\x00\ +\x92\x02~\x84\xff\x00\xec\xe6\xff\x00\xeb\xe6\xff\x00\xeb\xe6\ +\xff\x00\xeb\xe6\xff\x00\xeb\xe6\xff\x00\xeb\xe6\xff\x00\xeb\xe6\ +\xff\x00\xeb\xe6\xff\x00\xeb\xe6\xff\x00\xeb\xe6\xff\x00\xeb\xe6\ +\xff\x00\xec\xe6\xff\x01\x93\x9a\xff\x00\x00\x00\xaa\x00\x00\x00\ +\xce\x02\xb7\xba\xff\x00\xec\xe6\xff\x00\xeb\xe6\xff\x00\xeb\xe6\ +\xff\x00\xeb\xe6\xff\x00\xeb\xe6\xff\x00\xeb\xe6\xff\x00\xeb\xe6\ +\xff\x00\xeb\xe6\xff\x00\xeb\xe6\xff\x00\xeb\xe6\xff\x00\xeb\xe6\ +\xff\x00\xec\xe6\xff\x01\xc6\xc6\xff\x00\x00\x00\xdc\x00\x00\x00\ +\xea\x01\xd3\xd3\xff\x00\xec\xe6\xff\x04\xeb\xe9\xff\x04\xeb\xe9\ +\xff\x03\xeb\xe9\xff\x02\xeb\xe8\xff\x02\xeb\xe7\xff\x01\xeb\xe7\ +\xff\x00\xeb\xe6\xff\x00\xeb\xe6\xff\x00\xeb\xe6\xff\x00\xeb\xe6\ +\xff\x00\xeb\xe6\xff\x01\xd7\xd6\xff\x00\x00\x00\xed\x00\x00\x00\ +\xe8\x01\xd0\xd1\xff\x06\xec\xec\xff\x09\xeb\xee\xff\x08\xeb\xed\ +\xff\x07\xeb\xec\xff\x06\xeb\xeb\xff\x05\xeb\xeb\xff\x05\xeb\xea\ +\xff\x04\xeb\xe9\xff\x03\xeb\xe8\xff\x02\xeb\xe8\xff\x01\xeb\xe7\ +\xff\x00\xeb\xe6\xff\x01\xd7\xd6\xff\x00\x00\x00\xed\x00\x00\x00\ +\xcb\x03\xb4\xb9\xff\x0d\xec\xf1\xff\x0d\xeb\xf1\xff\x0c\xeb\xf0\ +\xff\x0b\xeb\xef\xff\x0a\xeb\xef\xff\x09\xeb\xee\xff\x08\xeb\xed\ +\xff\x07\xeb\xed\xff\x07\xeb\xec\xff\x06\xeb\xeb\xff\x05\xeb\xea\ +\xff\x01\xec\xe6\xff\x01\xc2\xc4\xff\x00\x00\x00\xd9\x00\x00\x00\ +\x8b\x03x\x7f\xff\x10\xec\xf4\xff\x10\xec\xf4\xff\x0f\xec\xf3\ +\xff\x0e\xec\xf3\xff\x0e\xeb\xf2\xff\x0d\xeb\xf1\xff\x0c\xeb\xf1\ +\xff\x0b\xeb\xf0\xff\x0a\xeb\xef\xff\x09\xeb\xee\xff\x09\xeb\xee\ +\xff\x03\xec\xe9\xff\x01\x8d\x93\xff\x00\x00\x00\xa3\x00\x00\x00\ +(\x00\x00\x00\xfa\x0d\xd9\xe5\xff\x15\xec\xf9\xff\x13\xec\xf7\ +\xff\x12\xec\xf6\xff\x11\xec\xf5\xff\x10\xec\xf5\xff\x10\xec\xf4\ +\xff\x0f\xec\xf3\xff\x0e\xeb\xf2\xff\x0d\xeb\xf2\xff\x0d\xec\xf1\ +\xff\x04\xe7\xe9\xff\x0115\xff\x00\x00\x00;\x00\x00\x00\ +\x00\x00\x00\x00\x88\x03^e\xff\x15\xe9\xf8\xff\x18\xec\xfb\ +\xff\x16\xec\xf9\xff\x15\xec\xf9\xff\x14\xec\xf8\xff\x13\xec\xf7\ +\xff\x12\xec\xf6\xff\x12\xec\xf6\xff\x12\xec\xf6\xff\x0d\xea\xf1\ +\xff\x02ci\xff\x00\x00\x00\x9f\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x05\x00\x00\x00\xaa\x03]d\xff\x13\xd9\xea\ +\xff\x1a\xec\xfe\xff\x1a\xec\xfd\xff\x19\xec\xfc\xff\x18\xec\xfb\ +\xff\x17\xec\xfb\xff\x17\xec\xfa\xff\x11\xe3\xf1\xff\x03cj\ +\xff\x00\x00\x00\xbb\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x88\x00\x00\x00\ +\xf6\x06w\x81\xff\x0e\xb2\xc0\xff\x13\xd1\xe2\xff\x13\xd2\xe2\ +\xff\x0e\xb6\xc3\xff\x07~\x88\xff\x00\x00\x00\xfb\x00\x00\x00\ +\x96\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ ++\x00\x00\x00\x8a\x00\x00\x00\xc8\x00\x00\x00\xe7\x00\x00\x00\ +\xe8\x00\x00\x00\xcb\x00\x00\x00\x91\x00\x00\x003\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x0f\x00\ +\x00\xc0\x03\x00\x00\x80\x01\x00\x00\x80\x01\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x01\x00\ +\x00\x80\x01\x00\x00\xc0\x03\x00\x00\xf0\x0f\x00\x00\ +\x00\x00\x04~\ +\x00\ +\x00\x01\x00\x01\x00\x10\x10\x00\x00\x01\x00 \x00h\x04\x00\ +\x00\x16\x00\x00\x00(\x00\x00\x00\x10\x00\x00\x00 \x00\x00\ +\x00\x01\x00 \x00\x00\x00\x00\x00@\x04\x00\x00\x13\x0b\x00\ +\x00\x13\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00|||\ +>|||\xa1|||\xd6|||\xeb|||\ +\xec|||\xd8|||\xa7|||G\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00|||\x0a|||\x9e\x89\x89\x89\ +\xff\x9e\x9e\x9e\xff\xa8\xa8\xa8\xff\xac\xac\xac\xff\xad\xad\xad\ +\xff\xa9\xa9\xa9\xff\x9f\x9f\x9f\xff\x8b\x8b\x8b\xff|||\ +\xac|||\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00|||\x0c|||\xbb\x94\x94\x94\xff\xb0\xb0\xb0\ +\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\ +\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\x96\x96\x96\ +\xff|||\xc9|||\x13\x00\x00\x00\x00\x00\x00\x00\ +\x00|||\x98\x95\x95\x95\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\ +\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\ +\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\ +\xff\x96\x96\x96\xff|||\xaf\x00\x00\x00\x00|||\ +0|||\xfd\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\ +\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\ +\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\ +\xff\xb0\xb0\xb0\xff\x8a\x8a\x8a\xff|||E|||\ +\x92\x9b\x9b\x9b\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\ +\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\ +\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\ +\xff\xb0\xb0\xb0\xff\x9f\x9f\x9f\xff|||\xaa|||\ +\xce\xa6\xa6\xa6\xff\xaf\xaf\xaf\xff\xaf\xaf\xaf\xff\xb0\xb0\xb0\ +\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\ +\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\ +\xff\xb0\xb0\xb0\xff\xaa\xaa\xaa\xff|||\xdc|||\ +\xea\xac\xac\xac\xff\xb0\xb0\xb0\xff\xb3\xb3\xb3\xff\xb4\xb4\xb4\ +\xff\xb3\xb3\xb3\xff\xb2\xb2\xb2\xff\xb1\xb1\xb1\xff\xb1\xb1\xb1\ +\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\xff\xb0\xb0\xb0\ +\xff\xb0\xb0\xb0\xff\xad\xad\xad\xff|||\xed|||\ +\xe8\xac\xac\xac\xff\xb6\xb6\xb6\xff\xb9\xb9\xb9\xff\xb8\xb8\xb8\ +\xff\xb7\xb7\xb7\xff\xb6\xb6\xb6\xff\xb5\xb5\xb5\xff\xb4\xb4\xb4\ +\xff\xb3\xb3\xb3\xff\xb2\xb2\xb2\xff\xb2\xb2\xb2\xff\xb0\xb0\xb0\ +\xff\xaf\xaf\xaf\xff\xad\xad\xad\xff|||\xed|||\ +\xcb\xa8\xa8\xa8\xff\xbd\xbd\xbd\xff\xbc\xbc\xbc\xff\xbb\xbb\xbb\ +\xff\xbb\xbb\xbb\xff\xba\xba\xba\xff\xb9\xb9\xb9\xff\xb8\xb8\xb8\ +\xff\xb7\xb7\xb7\xff\xb6\xb6\xb6\xff\xb5\xb5\xb5\xff\xb4\xb4\xb4\ +\xff\xb0\xb0\xb0\xff\xa9\xa9\xa9\xff|||\xd9|||\ +\x8b\x9b\x9b\x9b\xff\xc0\xc0\xc0\xff\xc0\xc0\xc0\xff\xbf\xbf\xbf\ +\xff\xbe\xbe\xbe\xff\xbd\xbd\xbd\xff\xbd\xbd\xbd\xff\xbc\xbc\xbc\ +\xff\xbb\xbb\xbb\xff\xba\xba\xba\xff\xb9\xb9\xb9\xff\xb9\xb9\xb9\ +\xff\xb3\xb3\xb3\xff\x9e\x9e\x9e\xff|||\xa3|||\ +(|||\xfa\xba\xba\xba\xff\xc5\xc5\xc5\xff\xc3\xc3\xc3\ +\xff\xc2\xc2\xc2\xff\xc1\xc1\xc1\xff\xc1\xc1\xc1\xff\xc0\xc0\xc0\ +\xff\xbf\xbf\xbf\xff\xbe\xbe\xbe\xff\xbd\xbd\xbd\xff\xbd\xbd\xbd\ +\xff\xb4\xb4\xb4\xff\x88\x88\x88\xff|||;\x00\x00\x00\ +\x00|||\x88\x95\x95\x95\xff\xc5\xc5\xc5\xff\xc8\xc8\xc8\ +\xff\xc6\xc6\xc6\xff\xc5\xc5\xc5\xff\xc4\xc4\xc4\xff\xc3\xc3\xc3\ +\xff\xc3\xc3\xc3\xff\xc2\xc2\xc2\xff\xc2\xc2\xc2\xff\xbd\xbd\xbd\ +\xff\x95\x95\x95\xff|||\x9f\x00\x00\x00\x00\x00\x00\x00\ +\x00|||\x05|||\xaa\x95\x95\x95\xff\xc0\xc0\xc0\ +\xff\xcb\xcb\xcb\xff\xca\xca\xca\xff\xc9\xc9\xc9\xff\xc8\xc8\xc8\ +\xff\xc7\xc7\xc7\xff\xc7\xc7\xc7\xff\xc0\xc0\xc0\xff\x96\x96\x96\ +\xff|||\xbb|||\x0b\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00|||\x04|||\x88|||\ +\xf6\x9e\x9e\x9e\xff\xb3\xb3\xb3\xff\xbe\xbe\xbe\xff\xbf\xbf\xbf\ +\xff\xb3\xb3\xb3\xff\xa0\xa0\xa0\xff|||\xfb|||\ +\x96|||\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00|||\ ++|||\x8a|||\xc8|||\xe7|||\ +\xe8|||\xcb|||\x91|||3\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x0f\x00\ +\x00\xc0\x03\x00\x00\x80\x01\x00\x00\x80\x01\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x01\x00\ +\x00\x80\x01\x00\x00\xc0\x03\x00\x00\xf0\x0f\x00\x00\ +\x00\x00\x03=\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\x0a source control\ + error v2\x0a \x0a \x0a \ +\x0a\x0a\ +" + +qt_resource_name = b"\ +\x00\x0f\ +\x04T\x95'\ +\x00b\ +\x00m\x00p\x000\x000\x000\x000\x005\x00_\x000\x000\x00.\x00p\x00n\x00g\ +\x00\x0f\ +\x04S\x95\xc7\ +\x00b\ +\x00m\x00p\x000\x000\x000\x000\x006\x00_\x000\x005\x00.\x00p\x00n\x00g\ +\x00\x09\ +\x0a\xc5\xacG\ +\x00w\ +\x00a\x00t\x00e\x00r\x00.\x00p\x00n\x00g\ +\x00\x15\ +\x06Z\x7fG\ +\x00p\ +\x00a\x00r\x00t\x00i\x00c\x00l\x00e\x00s\x00_\x00t\x00r\x00e\x00e\x00_\x000\x000\ +\x00.\x00p\x00n\x00g\ +\x00\x0f\ +\x04_\x95'\ +\x00b\ +\x00m\x00p\x000\x000\x000\x000\x005\x00_\x000\x009\x00.\x00p\x00n\x00g\ +\x00\x16\ +\x0eE\x9e\x87\ +\x00e\ +\x00r\x00r\x00o\x00r\x00_\x00r\x00e\x00p\x00o\x00r\x00t\x00_\x00e\x00r\x00r\x00o\ +\x00r\x00.\x00s\x00v\x00g\ +\x00\x09\ +\x08\xbcm\xc2\ +\x00s\ +\x00t\x00a\x00t\x00u\x00s\x00b\x00a\x00r\ +\x00\x0f\ +\x04P\x95\xc7\ +\x00b\ +\x00m\x00p\x000\x000\x000\x000\x006\x00_\x000\x004\x00.\x00p\x00n\x00g\ +\x00\x0f\ +\x04\x5c\x95'\ +\x00b\ +\x00m\x00p\x000\x000\x000\x000\x005\x00_\x000\x008\x00.\x00p\x00n\x00g\ +\x00\x18\ +\x00\xf0&'\ +\x00e\ +\x00r\x00r\x00o\x00r\x00_\x00r\x00e\x00p\x00o\x00r\x00t\x00_\x00w\x00a\x00r\x00n\ +\x00i\x00n\x00g\x00.\x00s\x00v\x00g\ +\x00\x18\ +\x0c\x85t\xe7\ +\x00e\ +\x00r\x00r\x00o\x00r\x00_\x00r\x00e\x00p\x00o\x00r\x00t\x00_\x00c\x00o\x00m\x00m\ +\x00e\x00n\x00t\x00.\x00s\x00v\x00g\ +\x00\x0a\ +\x03\xd6;g\ +\x00M\ +\x00a\x00i\x00n\x00W\x00i\x00n\x00d\x00o\x00w\ +\x00\x0f\ +\x04U\x95\xc7\ +\x00b\ +\x00m\x00p\x000\x000\x000\x000\x006\x00_\x000\x003\x00.\x00p\x00n\x00g\ +\x00\x09\ +\x0c\xe6\xbd#\ +\x00v\ +\x00i\x00e\x00w\x00p\x00a\x00n\x00e\x00s\ +\x00\x0f\ +\x04a\x95'\ +\x00b\ +\x00m\x00p\x000\x000\x000\x000\x005\x00_\x000\x007\x00.\x00p\x00n\x00g\ +\x00\x07\ +\x0a\xc9\xa6S\ +\x00c\ +\x00u\x00r\x00s\x00o\x00r\x00s\ +\x00\x15\ +\x06S\x7fG\ +\x00p\ +\x00a\x00r\x00t\x00i\x00c\x00l\x00e\x00s\x00_\x00t\x00r\x00e\x00e\x00_\x000\x007\ +\x00.\x00p\x00n\x00g\ +\x00\x0f\ +\x04R\x95\xc7\ +\x00b\ +\x00m\x00p\x000\x000\x000\x000\x006\x00_\x000\x002\x00.\x00p\x00n\x00g\ +\x00\x0f\ +\x04^\x95'\ +\x00b\ +\x00m\x00p\x000\x000\x000\x000\x005\x00_\x000\x006\x00.\x00p\x00n\x00g\ +\x00\x15\ +\x06P\x7fG\ +\x00p\ +\x00a\x00r\x00t\x00i\x00c\x00l\x00e\x00s\x00_\x00t\x00r\x00e\x00e\x00_\x000\x006\ +\x00.\x00p\x00n\x00g\ +\x00\x0f\ +\x04W\x95\xc7\ +\x00b\ +\x00m\x00p\x000\x000\x000\x000\x006\x00_\x000\x001\x00.\x00p\x00n\x00g\ +\x00\x0f\ +\x04S\x95'\ +\x00b\ +\x00m\x00p\x000\x000\x000\x000\x005\x00_\x000\x005\x00.\x00p\x00n\x00g\ +\x00\x15\ +\x06a\x7fG\ +\x00p\ +\x00a\x00r\x00t\x00i\x00c\x00l\x00e\x00s\x00_\x00t\x00r\x00e\x00e\x00_\x000\x005\ +\x00.\x00p\x00n\x00g\ +\x00\x0f\ +\x04T\x95\xc7\ +\x00b\ +\x00m\x00p\x000\x000\x000\x000\x006\x00_\x000\x000\x00.\x00p\x00n\x00g\ +\x00\x0f\ +\x04P\x95'\ +\x00b\ +\x00m\x00p\x000\x000\x000\x000\x005\x00_\x000\x004\x00.\x00p\x00n\x00g\ +\x00\x03\ +\x00\x00x\xc3\ +\x00r\ +\x00e\x00s\ +\x00\x14\ +\x07\x22u\xc7\ +\x00a\ +\x00r\x00h\x00i\x00t\x00y\x00p\x00e\x00_\x00t\x00r\x00e\x00e\x00_\x000\x003\x00.\ +\x00p\x00n\x00g\ +\x00\x05\ +\x00O\xa6S\ +\x00I\ +\x00c\x00o\x00n\x00s\ +\x00\x15\ +\x06^\x7fG\ +\x00p\ +\x00a\x00r\x00t\x00i\x00c\x00l\x00e\x00s\x00_\x00t\x00r\x00e\x00e\x00_\x000\x004\ +\x00.\x00p\x00n\x00g\ +\x00\x0f\ +\x04U\x95'\ +\x00b\ +\x00m\x00p\x000\x000\x000\x000\x005\x00_\x000\x003\x00.\x00p\x00n\x00g\ +\x00\x14\ +\x07!u\xc7\ +\x00a\ +\x00r\x00h\x00i\x00t\x00y\x00p\x00e\x00_\x00t\x00r\x00e\x00e\x00_\x000\x002\x00.\ +\x00p\x00n\x00g\ +\x00\x15\ +\x06_\x7fG\ +\x00p\ +\x00a\x00r\x00t\x00i\x00c\x00l\x00e\x00s\x00_\x00t\x00r\x00e\x00e\x00_\x000\x003\ +\x00.\x00p\x00n\x00g\ +\x00\x0b\ +\x0f\x08B\x1e\ +\x00A\ +\x00p\x00p\x00l\x00i\x00c\x00a\x00t\x00i\x00o\x00n\ +\x00\x0f\ +\x04R\x95'\ +\x00b\ +\x00m\x00p\x000\x000\x000\x000\x005\x00_\x000\x002\x00.\x00p\x00n\x00g\ +\x00\x14\ +\x07(u\xc7\ +\x00a\ +\x00r\x00h\x00i\x00t\x00y\x00p\x00e\x00_\x00t\x00r\x00e\x00e\x00_\x000\x001\x00.\ +\x00p\x00n\x00g\ +\x00\x17\ +\x04\xc9\x5cG\ +\x00e\ +\x00r\x00r\x00o\x00r\x00_\x00r\x00e\x00p\x00o\x00r\x00t\x00_\x00h\x00e\x00l\x00p\ +\x00e\x00r\x00.\x00s\x00v\x00g\ +\x00\x0f\ +\x04a\x95\xc7\ +\x00b\ +\x00m\x00p\x000\x000\x000\x000\x006\x00_\x000\x007\x00.\x00p\x00n\x00g\ +\x00\x15\ +\x06\x5c\x7fG\ +\x00p\ +\x00a\x00r\x00t\x00i\x00c\x00l\x00e\x00s\x00_\x00t\x00r\x00e\x00e\x00_\x000\x002\ +\x00.\x00p\x00n\x00g\ +\x00\x0f\ +\x04W\x95'\ +\x00b\ +\x00m\x00p\x000\x000\x000\x000\x005\x00_\x000\x001\x00.\x00p\x00n\x00g\ +\x00\x14\ +\x07'u\xc7\ +\x00a\ +\x00r\x00h\x00i\x00t\x00y\x00p\x00e\x00_\x00t\x00r\x00e\x00e\x00_\x000\x000\x00.\ +\x00p\x00n\x00g\ +\x00\x0f\ +\x04^\x95\xc7\ +\x00b\ +\x00m\x00p\x000\x000\x000\x000\x006\x00_\x000\x006\x00.\x00p\x00n\x00g\ +\x00\x15\ +\x06]\x7fG\ +\x00p\ +\x00a\x00r\x00t\x00i\x00c\x00l\x00e\x00s\x00_\x00t\x00r\x00e\x00e\x00_\x000\x001\ +\x00.\x00p\x00n\x00g\ +\x00\x1c\ +\x0d\x96`\x07\ +\x00o\ +\x003\x00d\x00e\x00_\x00a\x00p\x00p\x00l\x00i\x00c\x00a\x00t\x00i\x00o\x00n\x00_\ +\x00r\x00e\x00v\x00e\x00r\x00s\x00e\x00.\x00s\x00v\x00g\ +\x00\x0f\ +\x0e\x0f\xf3\xff\ +\x00o\ +\x003\x00d\x00e\x00_\x00e\x00d\x00i\x00t\x00o\x00r\x00.\x00i\x00c\x00o\ +\x00\x14\ +\x0b\x1b&\xb6\ +\x00P\ +\x00a\x00d\x00l\x00o\x00c\x00k\x00_\x00D\x00i\x00s\x00a\x00b\x00l\x00e\x00d\x00.\ +\x00t\x00i\x00f\ +\x00\x17\ +\x0c\x9a\xdb\xc7\ +\x00l\ +\x00o\x00c\x00k\x00_\x00c\x00i\x00r\x00c\x00l\x00e\x00_\x00d\x00e\x00f\x00a\x00u\ +\x00l\x00t\x00.\x00s\x00v\x00g\ +\x00\x10\ +\x07T\xb1'\ +\x00D\ +\x00e\x00f\x00a\x00u\x00l\x00t\x00_\x00o\x00p\x00e\x00n\x00.\x00s\x00v\x00g\ +\x00\x19\ +\x0e\xd2\x13\xe7\ +\x00S\ +\x00l\x00i\x00c\x00e\x00_\x00H\x00a\x00n\x00d\x00l\x00e\x00_\x00M\x00o\x00d\x00i\ +\x00f\x00i\x00e\x00d\x00.\x00s\x00v\x00g\ +\x00\x0e\ +\x0b\xd8M\x87\ +\x00l\ +\x00a\x00y\x00e\x00r\x00_\x00i\x00c\x00o\x00n\x00.\x00s\x00v\x00g\ +\x00\x15\ +\x01\xaf\x1c'\ +\x00E\ +\x00n\x00t\x00i\x00t\x00y\x00_\x00N\x00o\x00t\x00_\x00A\x00c\x00t\x00i\x00v\x00e\ +\x00.\x00s\x00v\x00g\ +\x00\x19\ +\x05\xf2\xd2\x07\ +\x00v\ +\x00i\x00s\x00_\x00o\x00n\x00_\x00N\x00o\x00t\x00T\x00r\x00a\x00n\x00s\x00p\x00a\ +\x00r\x00e\x00n\x00t\x00.\x00s\x00v\x00g\ +\x00\x1c\ +\x05A\x11\x07\ +\x00S\ +\x00l\x00i\x00c\x00e\x00_\x00H\x00a\x00n\x00d\x00l\x00e\x00_\x00E\x00d\x00i\x00t\ +\x00o\x00r\x00_\x00O\x00n\x00l\x00y\x00.\x00s\x00v\x00g\ +\x00\x16\ +\x0c>\x8f\xc7\ +\x00v\ +\x00i\x00s\x00_\x00c\x00i\x00r\x00c\x00l\x00e\x00_\x00d\x00e\x00f\x00a\x00u\x00l\ +\x00t\x00.\x00s\x00v\x00g\ +\x00%\ +\x0f-\x08'\ +\x00S\ +\x00l\x00i\x00c\x00e\x00_\x00H\x00a\x00n\x00d\x00l\x00e\x00_\x00M\x00o\x00d\x00i\ +\x00f\x00i\x00e\x00d\x00_\x00E\x00d\x00i\x00t\x00o\x00r\x00_\x00O\x00n\x00l\x00y\ +\x00.\x00s\x00v\x00g\ +\x00\x0a\ +\x01\xb91\x87\ +\x00l\ +\x00o\x00c\x00k\x00e\x00d\x00.\x00s\x00v\x00g\ +\x00\x0f\ +\x05bA^\ +\x00E\ +\x00y\x00e\x00_\x00O\x00p\x00e\x00n\x00_\x00H\x00i\x00d\x00d\x00e\x00n\ +\x00\x1b\ +\x05K\x05V\ +\x00P\ +\x00a\x00d\x00l\x00o\x00c\x00k\x00_\x00P\x00a\x00r\x00t\x00i\x00a\x00l\x00_\x00E\ +\x00n\x00a\x00b\x00l\x00e\x00d\x00.\x00t\x00i\x00f\ +\x00\x0c\ +\x0f^26\ +\x00E\ +\x00y\x00e\x00_\x00O\x00p\x00e\x00n\x00.\x00t\x00i\x00f\ +\x00\x10\ +\x03\xcaZG\ +\x00S\ +\x00l\x00i\x00c\x00e\x00_\x00E\x00n\x00t\x00i\x00t\x00y\x00.\x00s\x00v\x00g\ +\x00\x16\ +\x06\x8e\x16\xc7\ +\x00E\ +\x00n\x00t\x00i\x00t\x00y\x00_\x00E\x00d\x00i\x00t\x00o\x00r\x00_\x00O\x00n\x00l\ +\x00y\x00.\x00s\x00v\x00g\ +\x00\x1b\ +\x04\xe2\x14'\ +\x00l\ +\x00o\x00c\x00k\x00_\x00c\x00i\x00r\x00c\x00l\x00e\x00_\x00t\x00r\x00a\x00n\x00s\ +\x00p\x00a\x00r\x00e\x00n\x00t\x00.\x00s\x00v\x00g\ +\x00\x0d\ +\x01m\xcf\x96\ +\x00E\ +\x00y\x00e\x00_\x00S\x00l\x00a\x00s\x00h\x00.\x00t\x00i\x00f\ +\x00\x14\ +\x0e\x00\x9e6\ +\x00E\ +\x00y\x00e\x00_\x00P\x00a\x00r\x00t\x00i\x00a\x00l\x00_\x00O\x00p\x00e\x00n\x00.\ +\x00t\x00i\x00f\ +\x00\x07\ +\x0c\xf8ZG\ +\x00E\ +\x00y\x00e\x00.\x00s\x00v\x00g\ +\x00\x14\ +\x07T)\xf6\ +\x00E\ +\x00y\x00e\x00_\x00S\x00l\x00a\x00s\x00h\x00_\x00H\x00i\x00d\x00d\x00e\x00n\x00.\ +\x00t\x00i\x00f\ +\x00\x1a\ +\x00\xe3\x5c\xa7\ +\x00v\ +\x00i\x00s\x00_\x00c\x00i\x00r\x00c\x00l\x00e\x00_\x00t\x00r\x00a\x00n\x00s\x00p\ +\x00a\x00r\x00e\x00n\x00t\x00.\x00s\x00v\x00g\ +\x00/\ +\x0a\xf8TG\ +\x00S\ +\x00l\x00i\x00c\x00e\x00_\x00E\x00n\x00t\x00i\x00t\x00y\x00_\x00M\x00o\x00d\x00i\ +\x00f\x00i\x00e\x00d\x00_\x00E\x00d\x00i\x00t\x00o\x00r\x00_\x00O\x00n\x00l\x00y\ +\x00_\x00U\x00n\x00s\x00a\x00v\x00a\x00b\x00l\x00e\x00.\x00s\x00v\x00g\ +\x00\x13\ +\x09+\x00\xf6\ +\x00P\ +\x00a\x00d\x00l\x00o\x00c\x00k\x00_\x00E\x00n\x00a\x00b\x00l\x00e\x00d\x00.\x00t\ +\x00i\x00f\ +\x00\x19\ +\x07,\xf6\x07\ +\x00S\ +\x00l\x00i\x00c\x00e\x00_\x00E\x00n\x00t\x00i\x00t\x00y\x00_\x00M\x00o\x00d\x00i\ +\x00f\x00i\x00e\x00d\x00.\x00s\x00v\x00g\ +\x00.\ +\x07\x84Qg\ +\x00S\ +\x00l\x00i\x00c\x00e\x00_\x00E\x00n\x00t\x00i\x00t\x00y\x00_\x00M\x00o\x00d\x00i\ +\x00f\x00i\x00e\x00d\x00_\x00N\x00o\x00t\x00_\x00A\x00c\x00t\x00i\x00v\x00e\x00_\ +\x00U\x00n\x00s\x00a\x00v\x00a\x00b\x00l\x00e\x00.\x00s\x00v\x00g\ +\x00%\ +\x08\xc2\x87g\ +\x00S\ +\x00l\x00i\x00c\x00e\x00_\x00E\x00n\x00t\x00i\x00t\x00y\x00_\x00M\x00o\x00d\x00i\ +\x00f\x00i\x00e\x00d\x00_\x00E\x00d\x00i\x00t\x00o\x00r\x00_\x00O\x00n\x00l\x00y\ +\x00.\x00s\x00v\x00g\ +\x00\x19\ +\x0e\x89\x90\x16\ +\x00P\ +\x00a\x00d\x00l\x00o\x00c\x00k\x00_\x00E\x00n\x00a\x00b\x00l\x00e\x00d\x00_\x00H\ +\x00o\x00v\x00e\x00r\x00.\x00t\x00i\x00f\ +\x00\x1c\ +\x0bd6G\ +\x00S\ +\x00l\x00i\x00c\x00e\x00_\x00E\x00n\x00t\x00i\x00t\x00y\x00_\x00E\x00d\x00i\x00t\ +\x00o\x00r\x00_\x00O\x00n\x00l\x00y\x00.\x00s\x00v\x00g\ +\x00\x0b\ +\x052\xac\xa7\ +\x00P\ +\x00a\x00d\x00l\x00o\x00c\x00k\x00.\x00s\x00v\x00g\ +\x00\x10\ +\x08Y\x11\xa7\ +\x00S\ +\x00l\x00i\x00c\x00e\x00_\x00H\x00a\x00n\x00d\x00l\x00e\x00.\x00s\x00v\x00g\ +\x00$\ +\x05\xcb\xc5\xc7\ +\x00S\ +\x00l\x00i\x00c\x00e\x00_\x00E\x00n\x00t\x00i\x00t\x00y\x00_\x00M\x00o\x00d\x00i\ +\x00f\x00i\x00e\x00d\x00_\x00N\x00o\x00t\x00_\x00A\x00c\x00t\x00i\x00v\x00e\x00.\ +\x00s\x00v\x00g\ +\x00\x1b\ +\x0e\xf5\xfe\xc7\ +\x00S\ +\x00l\x00i\x00c\x00e\x00_\x00E\x00n\x00t\x00i\x00t\x00y\x00_\x00N\x00o\x00t\x00_\ +\x00A\x00c\x00t\x00i\x00v\x00e\x00.\x00s\x00v\x00g\ +\x00\x0c\ +\x0e=1\x87\ +\x00u\ +\x00n\x00l\x00o\x00c\x00k\x00e\x00d\x00.\x00s\x00v\x00g\ +\x00\x1a\ +\x00\x9cw\x07\ +\x00S\ +\x00l\x00i\x00c\x00e\x00_\x00E\x00n\x00t\x00i\x00t\x00y\x00_\x00U\x00n\x00s\x00a\ +\x00v\x00a\x00b\x00l\x00e\x00.\x00s\x00v\x00g\ +\x00\x1a\ +\x0a\xe9\xdc\x96\ +\x00P\ +\x00a\x00d\x00l\x00o\x00c\x00k\x00_\x00D\x00i\x00s\x00a\x00b\x00l\x00e\x00d\x00_\ +\x00H\x00o\x00v\x00e\x00r\x00.\x00t\x00i\x00f\ +\x00\x0a\ +\x00\xb5\xd1\xa7\ +\x00E\ +\x00n\x00t\x00i\x00t\x00y\x00.\x00s\x00v\x00g\ +\x00#\ +\x08\x0b\xd5\x87\ +\x00S\ +\x00l\x00i\x00c\x00e\x00_\x00E\x00n\x00t\x00i\x00t\x00y\x00_\x00M\x00o\x00d\x00i\ +\x00f\x00i\x00e\x00d\x00_\x00U\x00n\x00s\x00a\x00v\x00a\x00b\x00l\x00e\x00.\x00s\ +\x00v\x00g\ +\x00\x13\ +\x0e\x1c\x0e\xf6\ +\x00E\ +\x00y\x00e\x00_\x00S\x00l\x00a\x00s\x00h\x00_\x00H\x00o\x00v\x00e\x00r\x00.\x00t\ +\x00i\x00f\ +\x00\x1b\ +\x03\x98\x0c'\ +\x00S\ +\x00l\x00i\x00c\x00e\x00_\x00H\x00a\x00n\x00d\x00l\x00e\x00_\x00N\x00o\x00t\x00_\ +\x00A\x00c\x00t\x00i\x00v\x00e\x00.\x00s\x00v\x00g\ +\x00\x17\ +\x03\xf8\xf5g\ +\x00l\ +\x00o\x00c\x00k\x00_\x00o\x00n\x00_\x00t\x00r\x00a\x00n\x00s\x00p\x00a\x00r\x00e\ +\x00n\x00t\x00.\x00s\x00v\x00g\ +\x00\x1a\ +\x00\xb2\x86\xa7\ +\x00l\ +\x00o\x00c\x00k\x00_\x00o\x00n\x00_\x00N\x00o\x00t\x00T\x00r\x00a\x00n\x00s\x00p\ +\x00a\x00r\x00e\x00n\x00t\x00.\x00s\x00v\x00g\ +\x00\x08\ +\x00\x95Ug\ +\x00v\ +\x00i\x00s\x00b\x00.\x00s\x00v\x00g\ +\x00\x15\ +\x0c\x87\x8f\xd6\ +\x00E\ +\x00y\x00e\x00_\x00P\x00a\x00r\x00t\x00i\x00a\x00l\x00_\x00S\x00l\x00a\x00s\x00h\ +\x00.\x00t\x00i\x00f\ +\x00\x0f\ +\x09\xcbq\xa7\ +\x00v\ +\x00i\x00s\x00b\x00_\x00h\x00i\x00d\x00d\x00e\x00n\x00.\x00s\x00v\x00g\ +\x00\x12\ +\x02{\xf5\x96\ +\x00E\ +\x00y\x00e\x00_\x00O\x00p\x00e\x00n\x00_\x00H\x00o\x00v\x00e\x00r\x00.\x00t\x00i\ +\x00f\ +\x00$\ +\x0a9L\xa7\ +\x00S\ +\x00l\x00i\x00c\x00e\x00_\x00H\x00a\x00n\x00d\x00l\x00e\x00_\x00M\x00o\x00d\x00i\ +\x00f\x00i\x00e\x00d\x00_\x00N\x00o\x00t\x00_\x00A\x00c\x00t\x00i\x00v\x00e\x00.\ +\x00s\x00v\x00g\ +\x00\x16\ +\x05\x5c\xa1g\ +\x00v\ +\x00i\x00s\x00_\x00o\x00n\x00_\x00t\x00r\x00a\x00n\x00s\x00p\x00a\x00r\x00e\x00n\ +\x00t\x00.\x00s\x00v\x00g\ +\x00\x12\ +\x0cS?'\ +\x00D\ +\x00e\x00f\x00a\x00u\x00l\x00t\x00_\x00c\x00l\x00o\x00s\x00e\x00d\x00.\x00s\x00v\ +\x00g\ +\x00\x1c\ +\x0d\x1b}6\ +\x00P\ +\x00a\x00d\x00l\x00o\x00c\x00k\x00_\x00P\x00a\x00r\x00t\x00i\x00a\x00l\x00_\x00D\ +\x00i\x00s\x00a\x00b\x00l\x00e\x00d\x00.\x00t\x00i\x00f\ +\x00\x12\ +\x06\xdb\x9dg\ +\x00P\ +\x00r\x00e\x00f\x00e\x00r\x00e\x00n\x00c\x00e\x00s\x00_\x000\x001\x00.\x00p\x00n\ +\x00g\ +\x00\x0a\ +\x08v\x9cg\ +\x00G\ +\x00l\x00o\x00b\x00a\x00l\x00.\x00s\x00v\x00g\ +\x00\x0a\ +\x0c\x8dj\xa7\ +\x00C\ +\x00a\x00m\x00e\x00r\x00a\x00.\x00s\x00v\x00g\ +\x00\x18\ +\x03\x0f\xe0\xa7\ +\x00A\ +\x00W\x00S\x00_\x00p\x00r\x00e\x00f\x00e\x00r\x00e\x00n\x00c\x00e\x00s\x00_\x00i\ +\x00c\x00o\x00n\x00.\x00s\x00v\x00g\ +\x00\x12\ +\x06\xd8\x9dg\ +\x00P\ +\x00r\x00e\x00f\x00e\x00r\x00e\x00n\x00c\x00e\x00s\x00_\x000\x000\x00.\x00p\x00n\ +\x00g\ +\x00\x0c\ +\x0d\x08\xc6'\ +\x00V\ +\x00i\x00e\x00w\x00p\x00o\x00r\x00t\x00.\x00s\x00v\x00g\ +\x00\x12\ +\x06\xe1\x9dg\ +\x00P\ +\x00r\x00e\x00f\x00e\x00r\x00e\x00n\x00c\x00e\x00s\x00_\x000\x003\x00.\x00p\x00n\ +\x00g\ +\x00\x0a\ +\x00k\xd7\xa7\ +\x00M\ +\x00o\x00t\x00i\x00o\x00n\x00.\x00s\x00v\x00g\ +\x00\x12\ +\x06\xde\x9dg\ +\x00P\ +\x00r\x00e\x00f\x00e\x00r\x00e\x00n\x00c\x00e\x00s\x00_\x000\x002\x00.\x00p\x00n\ +\x00g\ +\x00\x09\ +\x09\xba\xcf\xa7\ +\x00D\ +\x00e\x00b\x00u\x00g\x00.\x00s\x00v\x00g\ +\x00\x10\ +\x03l\x17\xc7\ +\x00E\ +\x00x\x00p\x00e\x00r\x00i\x00m\x00e\x00n\x00t\x00a\x00l\x00.\x00s\x00v\x00g\ +\x00\x09\ +\x02\xc6\xc0\xc7\ +\x00F\ +\x00i\x00l\x00e\x00s\x00.\x00s\x00v\x00g\ +\x00\x0a\ +\x04o\x98\xe7\ +\x00G\ +\x00i\x00z\x00m\x00o\x00s\x00.\x00s\x00v\x00g\ +\x00\x07\ +\x0f\x07J\x02\ +\x00h\ +\x00i\x00t\x00.\x00c\x00u\x00r\ +\x00\x0e\ +\x06\x0c\xfb\x82\ +\x00a\ +\x00r\x00r\x00o\x00w\x00_\x00d\x00o\x00w\x00n\x00.\x00c\x00u\x00r\ +\x00\x0b\ +\x06\x89\xd9\x82\ +\x00c\ +\x00u\x00r\x00s\x00o\x00r\x001\x00.\x00c\x00u\x00r\ +\x00\x0b\ +\x06\x80\xd9\x82\ +\x00c\ +\x00u\x00r\x00s\x00o\x00r\x002\x00.\x00c\x00u\x00r\ +\x00\x17\ +\x06h\xad\xa2\ +\x00p\ +\x00o\x00i\x00n\x00t\x00e\x00r\x00_\x00s\x00o\x00_\x00s\x00e\x00l\x00_\x00p\x00l\ +\x00u\x00s\x00.\x00c\x00u\x00r\ +\x00\x0d\ +\x08\x8c:\xe2\ +\x00l\ +\x00e\x00f\x00t\x00r\x00i\x00g\x00h\x00t\x00.\x00c\x00u\x00r\ +\x00\x0e\ +\x03\x0c\x0f\xc2\ +\x00p\ +\x00o\x00i\x00n\x00t\x00e\x00r\x00H\x00i\x00t\x00.\x00c\x00u\x00r\ +\x00\x12\ +\x03\xfe\x1c\x82\ +\x00p\ +\x00o\x00i\x00n\x00t\x00e\x00r\x00_\x00s\x00m\x00o\x00o\x00t\x00h\x00.\x00c\x00u\ +\x00r\ +\x00\x11\ +\x06\x8d\xde\x82\ +\x00a\ +\x00r\x00r\x00o\x00w\x00_\x00u\x00p\x00r\x00i\x00g\x00h\x00t\x00.\x00c\x00u\x00r\ +\ +\x00\x0e\ +\x02\xc2\xa5\x82\ +\x00a\ +\x00r\x00r\x00_\x00a\x00d\x00d\x00k\x00e\x00y\x00.\x00c\x00u\x00r\ +\x00\x15\ +\x07\x0a7B\ +\x00p\ +\x00o\x00i\x00n\x00t\x00e\x00r\x00_\x00g\x00e\x00t\x00h\x00e\x00i\x00g\x00h\x00t\ +\x00.\x00c\x00u\x00r\ +\x00\x10\ +\x08\x83\x1e\x22\ +\x00p\ +\x00o\x00i\x00n\x00t\x00e\x00r\x00_\x00p\x00l\x00u\x00s\x00.\x00c\x00u\x00r\ +\x00\x11\ +\x0d\xbf%b\ +\x00o\ +\x00b\x00j\x00e\x00c\x00t\x00_\x00r\x00o\x00t\x00a\x00t\x00e\x00.\x00c\x00u\x00r\ +\ +\x00\x0f\ +\x07\xb5h\x82\ +\x00o\ +\x00b\x00j\x00e\x00c\x00t\x00_\x00m\x00o\x00v\x00e\x00.\x00c\x00u\x00r\ +\x00\x13\ +\x00.\xa8\x22\ +\x00p\ +\x00o\x00i\x00n\x00t\x00e\x00r\x00_\x00l\x00i\x00n\x00k\x00n\x00o\x00w\x00.\x00c\ +\x00u\x00r\ +\x00\x10\ +\x07\x0b\x1e\x82\ +\x00p\ +\x00o\x00i\x00n\x00t\x00e\x00r\x00_\x00l\x00i\x00n\x00k\x00.\x00c\x00u\x00r\ +\x00\x11\ +\x01\x93\x0c\x22\ +\x00p\ +\x00o\x00i\x00n\x00t\x00e\x00r\x00_\x00m\x00i\x00n\x00u\x00s\x00.\x00c\x00u\x00r\ +\ +\x00\x13\ +\x0aQ\xeab\ +\x00p\ +\x00o\x00i\x00n\x00t\x00e\x00r\x00D\x00r\x00a\x00g\x00I\x00t\x00e\x00m\x00.\x00c\ +\x00u\x00r\ +\x00\x0c\ +\x0b\xd0gb\ +\x00a\ +\x00r\x00r\x00o\x00w\x00_\x00u\x00p\x00.\x00c\x00u\x00r\ +\x00\x0f\ +\x0eO\xc8\x02\ +\x00p\ +\x00i\x00c\x00k\x00_\x00c\x00u\x00r\x00s\x00o\x00r\x00.\x00c\x00u\x00r\ +\x00\x0c\ +\x0el\xec\xa2\ +\x00c\ +\x00u\x00r\x000\x000\x000\x000\x001\x00.\x00c\x00u\x00r\ +\x00\x0c\ +\x0em\xec\xa2\ +\x00c\ +\x00u\x00r\x000\x000\x000\x000\x002\x00.\x00c\x00u\x00r\ +\x00\x0c\ +\x0en\xec\xa2\ +\x00c\ +\x00u\x00r\x000\x000\x000\x000\x003\x00.\x00c\x00u\x00r\ +\x00\x0c\ +\x05\xaa\xdb\xa2\ +\x00h\ +\x00a\x00n\x00d\x00D\x00r\x00a\x00g\x00.\x00c\x00u\x00r\ +\x00\x0c\ +\x0eo\xec\xa2\ +\x00c\ +\x00u\x00r\x000\x000\x000\x000\x004\x00.\x00c\x00u\x00r\ +\x00\x10\ +\x03y\xfd\xc2\ +\x00o\ +\x00b\x00j\x00e\x00c\x00t\x00_\x00s\x00c\x00a\x00l\x00e\x00.\x00c\x00u\x00r\ +\x00\x0c\ +\x0ep\xec\xa2\ +\x00c\ +\x00u\x00r\x000\x000\x000\x000\x005\x00.\x00c\x00u\x00r\ +\x00\x0c\ +\x02\xaeA\x82\ +\x00p\ +\x00o\x00i\x00n\x00t\x00e\x00r\x00_\x00.\x00c\x00u\x00r\ +\x00\x15\ +\x0eb\xe8\x22\ +\x00p\ +\x00o\x00i\x00n\x00t\x00e\x00r\x00_\x00s\x00o\x00_\x00s\x00e\x00l\x00e\x00c\x00t\ +\x00.\x00c\x00u\x00r\ +\x00\x13\ +\x096M\x02\ +\x00a\ +\x00r\x00r\x00o\x00w\x00_\x00d\x00o\x00w\x00n\x00r\x00i\x00g\x00h\x00t\x00.\x00c\ +\x00u\x00r\ +\x00\x13\ +\x0f\xbas\x02\ +\x00p\ +\x00o\x00i\x00n\x00t\x00e\x00r\x00_\x00f\x00l\x00a\x00t\x00t\x00e\x00n\x00.\x00c\ +\x00u\x00r\ +\x00\x0c\ +\x0fy\xb7\xc7\ +\x00m\ +\x00a\x00x\x00i\x00m\x00i\x00z\x00e\x00.\x00p\x00n\x00g\ +\x00\x10\ +\x0a5o'\ +\x00h\ +\x00i\x00d\x00e\x00_\x00h\x00e\x00l\x00p\x00e\x00r\x00s\x00.\x00p\x00n\x00g\ +\x00\x10\ +\x0a\x9d~\xc7\ +\x00d\ +\x00i\x00s\x00p\x00l\x00a\x00y\x00_\x00i\x00n\x00f\x00o\x00.\x00p\x00n\x00g\ +\x00\x17\ +\x04\xb0\xfe\xc7\ +\x00e\ +\x00d\x00i\x00t\x00w\x00i\x00t\x00h\x00b\x00u\x00t\x00t\x00o\x00n\x00_\x00d\x00a\ +\x00r\x00k\x00.\x00p\x00n\x00g\ +\x00\x08\ +\x06b\x87\xf3\ +\x00t\ +\x00o\x00o\x00l\x00b\x00a\x00r\x00s\ +\x00\x1d\ +\x08\xa8\xaf\xe7\ +\x00s\ +\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00_\x00v\x00i\x00e\x00w\x00s\x00_\x00t\x00o\ +\x00o\x00l\x00b\x00a\x00r\x00-\x000\x005\x00.\x00p\x00n\x00g\ +\x00\x15\ +\x0e\x98q\xa7\ +\x00o\ +\x00b\x00j\x00e\x00c\x00t\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\x00-\x000\x004\ +\x00.\x00p\x00n\x00g\ +\x00\x18\ +\x000\xce\x87\ +\x00e\ +\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ +\x00-\x001\x004\x00.\x00p\x00n\x00g\ +\x00\x18\ +\x00N\xce\x87\ +\x00e\ +\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ +\x00-\x000\x006\x00.\x00p\x00n\x00g\ +\x00\x1d\ +\x08\xd5\xaf\xe7\ +\x00s\ +\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00_\x00v\x00i\x00e\x00w\x00s\x00_\x00t\x00o\ +\x00o\x00l\x00b\x00a\x00r\x00-\x001\x002\x00.\x00p\x00n\x00g\ +\x00\x1d\ +\x08\xa7\xaf\xe7\ +\x00s\ +\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00_\x00v\x00i\x00e\x00w\x00s\x00_\x00t\x00o\ +\x00o\x00l\x00b\x00a\x00r\x00-\x000\x004\x00.\x00p\x00n\x00g\ +\x00\x18\ +\x005\xce\x87\ +\x00e\ +\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ +\x00-\x001\x003\x00.\x00p\x00n\x00g\ +\x00\x18\ +\x00C\xce\x87\ +\x00e\ +\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ +\x00-\x000\x005\x00.\x00p\x00n\x00g\ +\x00\x1d\ +\x08\xd4\xaf\xe7\ +\x00s\ +\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00_\x00v\x00i\x00e\x00w\x00s\x00_\x00t\x00o\ +\x00o\x00l\x00b\x00a\x00r\x00-\x001\x001\x00.\x00p\x00n\x00g\ +\x00\x15\ +\x0e\xecq\xa7\ +\x00o\ +\x00b\x00j\x00e\x00c\x00t\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\x00-\x001\x000\ +\x00.\x00p\x00n\x00g\ +\x00\x18\ +\x00$\xce\x87\ +\x00e\ +\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ +\x00-\x002\x000\x00.\x00p\x00n\x00g\ +\x00\x1d\ +\x08\xa6\xaf\xe7\ +\x00s\ +\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00_\x00v\x00i\x00e\x00w\x00s\x00_\x00t\x00o\ +\x00o\x00l\x00b\x00a\x00r\x00-\x000\x003\x00.\x00p\x00n\x00g\ +\x00\x15\ +\x0e\x9aq\xa7\ +\x00o\ +\x00b\x00j\x00e\x00c\x00t\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\x00-\x000\x002\ +\x00.\x00p\x00n\x00g\ +\x00\x18\ +\x002\xce\x87\ +\x00e\ +\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ +\x00-\x001\x002\x00.\x00p\x00n\x00g\ +\x00\x1e\ +\x076,\x87\ +\x00p\ +\x00r\x00o\x00c\x00e\x00d\x00u\x00r\x00a\x00l\x00m\x00a\x00t\x00e\x00r\x00i\x00a\ +\x00l\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\x00.\x00p\x00n\x00g\ +\x00\x1d\ +\x08\xd3\xaf\xe7\ +\x00s\ +\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00_\x00v\x00i\x00e\x00w\x00s\x00_\x00t\x00o\ +\x00o\x00l\x00b\x00a\x00r\x00-\x001\x000\x00.\x00p\x00n\x00g\ +\x00\x1d\ +\x08\xa5\xaf\xe7\ +\x00s\ +\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00_\x00v\x00i\x00e\x00w\x00s\x00_\x00t\x00o\ +\x00o\x00l\x00b\x00a\x00r\x00-\x000\x002\x00.\x00p\x00n\x00g\ +\x00\x15\ +\x0e\x9fq\xa7\ +\x00o\ +\x00b\x00j\x00e\x00c\x00t\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\x00-\x000\x001\ +\x00.\x00p\x00n\x00g\ +\x00\x18\ +\x007\xce\x87\ +\x00e\ +\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ +\x00-\x001\x001\x00.\x00p\x00n\x00g\ +\x00\x18\ +\x00E\xce\x87\ +\x00e\ +\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ +\x00-\x000\x003\x00.\x00p\x00n\x00g\ +\x00\x13\ +\x0c\xd0\x1e\x87\ +\x00m\ +\x00i\x00s\x00c\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\x00-\x000\x000\x00.\x00p\ +\x00n\x00g\ +\x00\x1d\ +\x08\xa4\xaf\xe7\ +\x00s\ +\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00_\x00v\x00i\x00e\x00w\x00s\x00_\x00t\x00o\ +\x00o\x00l\x00b\x00a\x00r\x00-\x000\x001\x00.\x00p\x00n\x00g\ +\x00\x15\ +\x0e\x9cq\xa7\ +\x00o\ +\x00b\x00j\x00e\x00c\x00t\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\x00-\x000\x000\ +\x00.\x00p\x00n\x00g\ +\x00\x18\ +\x004\xce\x87\ +\x00e\ +\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ +\x00-\x001\x000\x00.\x00p\x00n\x00g\ +\x00\x1d\ +\x08\xdb\xaf\xe7\ +\x00s\ +\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00_\x00v\x00i\x00e\x00w\x00s\x00_\x00t\x00o\ +\x00o\x00l\x00b\x00a\x00r\x00-\x001\x008\x00.\x00p\x00n\x00g\ +\x00\x18\ +\x00B\xce\x87\ +\x00e\ +\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ +\x00-\x000\x002\x00.\x00p\x00n\x00g\ +\x00\x15\ +\x0e\x97q\xa7\ +\x00o\ +\x00b\x00j\x00e\x00c\x00t\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\x00-\x000\x009\ +\x00.\x00p\x00n\x00g\ +\x00\x18\ +\x00?\xce\x87\ +\x00e\ +\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ +\x00-\x001\x009\x00.\x00p\x00n\x00g\ +\x00\x10\ +\x0f\xf1A\xe7\ +\x00O\ +\x00b\x00j\x00S\x00e\x00l\x00e\x00c\x00t\x00i\x00o\x00n\x00.\x00p\x00n\x00g\ +\x00\x1d\ +\x08\xa3\xaf\xe7\ +\x00s\ +\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00_\x00v\x00i\x00e\x00w\x00s\x00_\x00t\x00o\ +\x00o\x00l\x00b\x00a\x00r\x00-\x000\x000\x00.\x00p\x00n\x00g\ +\x00\x1d\ +\x08\xda\xaf\xe7\ +\x00s\ +\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00_\x00v\x00i\x00e\x00w\x00s\x00_\x00t\x00o\ +\x00o\x00l\x00b\x00a\x00r\x00-\x001\x007\x00.\x00p\x00n\x00g\ +\x00\x18\ +\x00G\xce\x87\ +\x00e\ +\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ +\x00-\x000\x001\x00.\x00p\x00n\x00g\ +\x00\x1d\ +\x08\xac\xaf\xe7\ +\x00s\ +\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00_\x00v\x00i\x00e\x00w\x00s\x00_\x00t\x00o\ +\x00o\x00l\x00b\x00a\x00r\x00-\x000\x009\x00.\x00p\x00n\x00g\ +\x00\x15\ +\x0e\x94q\xa7\ +\x00o\ +\x00b\x00j\x00e\x00c\x00t\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\x00-\x000\x008\ +\x00.\x00p\x00n\x00g\ +\x00\x18\ +\x00<\xce\x87\ +\x00e\ +\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ +\x00-\x001\x008\x00.\x00p\x00n\x00g\ +\x00\x1d\ +\x08\xd9\xaf\xe7\ +\x00s\ +\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00_\x00v\x00i\x00e\x00w\x00s\x00_\x00t\x00o\ +\x00o\x00l\x00b\x00a\x00r\x00-\x001\x006\x00.\x00p\x00n\x00g\ +\x00\x18\ +\x00#\xce\x87\ +\x00e\ +\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ +\x00-\x002\x005\x00.\x00p\x00n\x00g\ +\x00\x18\ +\x00D\xce\x87\ +\x00e\ +\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ +\x00-\x000\x000\x00.\x00p\x00n\x00g\ +\x00\x1d\ +\x08\xab\xaf\xe7\ +\x00s\ +\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00_\x00v\x00i\x00e\x00w\x00s\x00_\x00t\x00o\ +\x00o\x00l\x00b\x00a\x00r\x00-\x000\x008\x00.\x00p\x00n\x00g\ +\x00\x15\ +\x0e\x99q\xa7\ +\x00o\ +\x00b\x00j\x00e\x00c\x00t\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\x00-\x000\x007\ +\x00.\x00p\x00n\x00g\ +\x00\x18\ +\x00A\xce\x87\ +\x00e\ +\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ +\x00-\x001\x007\x00.\x00p\x00n\x00g\ +\x00\x18\ +\x00O\xce\x87\ +\x00e\ +\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ +\x00-\x000\x009\x00.\x00p\x00n\x00g\ +\x00\x1d\ +\x08\xd8\xaf\xe7\ +\x00s\ +\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00_\x00v\x00i\x00e\x00w\x00s\x00_\x00t\x00o\ +\x00o\x00l\x00b\x00a\x00r\x00-\x001\x005\x00.\x00p\x00n\x00g\ +\x00\x18\ +\x00 \xce\x87\ +\x00e\ +\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ +\x00-\x002\x004\x00.\x00p\x00n\x00g\ +\x00\x1d\ +\x08\xaa\xaf\xe7\ +\x00s\ +\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00_\x00v\x00i\x00e\x00w\x00s\x00_\x00t\x00o\ +\x00o\x00l\x00b\x00a\x00r\x00-\x000\x007\x00.\x00p\x00n\x00g\ +\x00\x15\ +\x0e\x96q\xa7\ +\x00o\ +\x00b\x00j\x00e\x00c\x00t\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\x00-\x000\x006\ +\x00.\x00p\x00n\x00g\ +\x00\x18\ +\x00>\xce\x87\ +\x00e\ +\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ +\x00-\x001\x006\x00.\x00p\x00n\x00g\ +\x00\x18\ +\x00L\xce\x87\ +\x00e\ +\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ +\x00-\x000\x008\x00.\x00p\x00n\x00g\ +\x00\x15\ +\x0e\x9d|'\ +\x00o\ +\x00b\x00j\x00e\x00c\x00t\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\x00-\x000\x003\ +\x00.\x00s\x00v\x00g\ +\x00\x1d\ +\x08\xd7\xaf\xe7\ +\x00s\ +\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00_\x00v\x00i\x00e\x00w\x00s\x00_\x00t\x00o\ +\x00o\x00l\x00b\x00a\x00r\x00-\x001\x004\x00.\x00p\x00n\x00g\ +\x00\x18\ +\x00%\xce\x87\ +\x00e\ +\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ +\x00-\x002\x003\x00.\x00p\x00n\x00g\ +\x00\x1d\ +\x08\xa9\xaf\xe7\ +\x00s\ +\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00_\x00v\x00i\x00e\x00w\x00s\x00_\x00t\x00o\ +\x00o\x00l\x00b\x00a\x00r\x00-\x000\x006\x00.\x00p\x00n\x00g\ +\x00\x15\ +\x0e\x9bq\xa7\ +\x00o\ +\x00b\x00j\x00e\x00c\x00t\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\x00-\x000\x005\ +\x00.\x00p\x00n\x00g\ +\x00\x18\ +\x003\xce\x87\ +\x00e\ +\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ +\x00-\x001\x005\x00.\x00p\x00n\x00g\ +\x00\x18\ +\x00Q\xce\x87\ +\x00e\ +\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ +\x00-\x000\x007\x00.\x00p\x00n\x00g\ +\x00\x1d\ +\x08\xd6\xaf\xe7\ +\x00s\ +\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00_\x00v\x00i\x00e\x00w\x00s\x00_\x00t\x00o\ +\x00o\x00l\x00b\x00a\x00r\x00-\x001\x003\x00.\x00p\x00n\x00g\ +\x00\x18\ +\x00\x22\xce\x87\ +\x00e\ +\x00d\x00i\x00t\x00_\x00m\x00o\x00d\x00e\x00_\x00t\x00o\x00o\x00l\x00b\x00a\x00r\ +\x00-\x002\x002\x00.\x00p\x00n\x00g\ +\x00\x10\ +\x0c\x99\xf5\x1f\ +\x00b\ +\x00a\x00l\x00l\x00_\x00o\x00f\x00f\x00l\x00i\x00n\x00e\x00.\x00i\x00c\x00o\ +\x00\x1c\ +\x0d\xbb\x8bG\ +\x00s\ +\x00o\x00u\x00r\x00c\x00e\x00_\x00c\x00o\x00n\x00t\x00r\x00o\x00l\x00_\x00c\x00o\ +\x00n\x00n\x00e\x00c\x00t\x00e\x00d\x00.\x00s\x00v\x00g\ +\x00\x1c\ +\x03ZJ\xe7\ +\x00s\ +\x00o\x00u\x00r\x00c\x00e\x00_\x00c\x00o\x00n\x00t\x00r\x00o\x00l\x00-\x00n\x00o\ +\x00t\x00_\x00s\x00e\x00t\x00u\x00p\x00.\x00s\x00v\x00g\ +\x00\x0f\ +\x0a\x0d'\xdf\ +\x00b\ +\x00a\x00l\x00l\x00_\x00o\x00n\x00l\x00i\x00n\x00e\x00.\x00i\x00c\x00o\ +\x00\x1d\ +\x03\xe3zG\ +\x00s\ +\x00o\x00u\x00r\x00c\x00e\x00_\x00c\x00o\x00n\x00t\x00r\x00o\x00l\x00-\x00w\x00a\ +\x00r\x00n\x00i\x00n\x00g\x00_\x00v\x002\x00.\x00s\x00v\x00g\ +\x00\x10\ +\x0c\xa1\xe6\x1f\ +\x00b\ +\x00a\x00l\x00l\x00_\x00p\x00e\x00n\x00d\x00i\x00n\x00g\x00.\x00i\x00c\x00o\ +\x00\x11\ +\x08tl?\ +\x00b\ +\x00a\x00l\x00l\x00_\x00d\x00i\x00s\x00a\x00b\x00l\x00e\x00d\x00.\x00i\x00c\x00o\ +\ +\x00\x1b\ +\x00\x22\x12'\ +\x00s\ +\x00o\x00u\x00r\x00c\x00e\x00_\x00c\x00o\x00n\x00t\x00r\x00o\x00l\x00_\x00e\x00r\ +\x00r\x00o\x00r\x00_\x00v\x002\x00.\x00s\x00v\x00g\ +" + +qt_resource_struct = b"\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00*\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x03\xa8\x00\x02\x00\x00\x00\x0d\x00\x00\x00\xc7\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x03\xe2\x00\x02\x00\x00\x002\x00\x00\x00\x95\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x01F\x00\x00\x00\x00\x00\x01\x00\x00\xb10\ +\x00\x00\x01z\x88\x90A<\ +\x00\x00\x01\xb2\x00\x02\x00\x00\x00\x01\x00\x00\x00[\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x03\x84\x00\x00\x00\x00\x00\x01\x00\x00\xc6R\ +\x00\x00\x01z\x88\x90@,\ +\x00\x00\x00\xfe\x00\x00\x00\x00\x00\x01\x00\x00\xad\x09\ +\x00\x00\x01z\x88\x90@9\ +\x00\x00\x04\xc0\x00\x00\x00\x00\x00\x01\x00\x00\xce&\ +\x00\x00\x01z\x88\x90@)\ +\x00\x00\x02p\x00\x00\x00\x00\x00\x01\x00\x00\xbeB\ +\x00\x00\x01z\x88\x90@6\ +\x00\x00\x03\x0c\x00\x00\x00\x00\x00\x01\x00\x00\xc3\xce\ +\x00\x00\x01z\x88\x90@-\ +\x00\x00\x00$\x00\x00\x00\x00\x00\x01\x00\x00\x01\x88\ +\x00\x00\x01z\x88\x90@:\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x01z\x88\x90@'\ +\x00\x00\x03`\x00\x00\x00\x00\x00\x01\x00\x00\xc5\xc3\ +\x00\x00\x01z\x88\x90@4\ +\x00\x00\x04\x22\x00\x00\x00\x00\x00\x01\x00\x00\xca_\ +\x00\x00\x01z\x88\x90@+\ +\x00\x00\x01\xcc\x00\x00\x00\x00\x00\x01\x00\x00\xbaZ\ +\x00\x00\x01z\x88\x90@7\ +\x00\x00\x05\x9a\x00\x00\x00\x00\x00\x01\x00\x00\xdbw\ +\x00\x00\x01z\x88\x90@(\ +\x00\x00\x02\xe8\x00\x00\x00\x00\x00\x01\x00\x00\xc3$\ +\x00\x00\x01z\x88\x90@5\ +\x00\x00\x01\x22\x00\x00\x00\x00\x00\x01\x00\x00\xae\x82\ +\x00\x00\x01z\x88\x90@1\ +\x00\x00\x02\x94\x00\x00\x00\x00\x00\x01\x00\x00\xbf1\ +\x00\x00\x01z\x88\x90@.\ +\x00\x00\x05\xec\x00\x00\x00\x00\x00\x01\x00\x00\xdec\ +\x00\x00\x01z\x88\x90@<\ +\x00\x00\x00\x90\x00\x00\x00\x00\x00\x01\x00\x00\xa6\x97\ +\x00\x00\x01z\x88\x90@2\ +\x00\x00\x02\x08\x00\x00\x00\x00\x00\x01\x00\x00\xbbp\ +\x00\x00\x01z\x88\x90@0\ +\x00\x00\x05F\x00\x00\x00\x00\x00\x01\x00\x00\xd5k\ +\x00\x00\x01z\x88\x90@=\ +\x00\x00\x05\x12\x00\x00\x00\x00\x00\x01\x00\x00\xd0\x86\ +\x00\x00\x01{[\xfa+\x98\ +\x00\x00\x02\xb8\x00\x00\x00\x00\x00\x01\x00\x00\xc2@\ +\x00\x00\x01z\x88\x90@R\ +\x00\x00\x02@\x00\x00\x00\x00\x00\x01\x00\x00\xbdi\ +\x00\x00\x01z\x88\x90@S\ +\x00\x00\x00`\x00\x00\x00\x00\x00\x01\x00\x00\xa5\xc3\ +\x00\x00\x01z\x88\x90@J\ +\x00\x00\x05j\x00\x00\x00\x00\x00\x01\x00\x00\xdaw\ +\x00\x00\x01z\x88\x90@M\ +\x00\x00\x06\x10\x00\x00\x00\x00\x00\x01\x00\x00\xe2\xb4\ +\x00\x00\x01z\x88\x90@L\ +\x00\x00\x03\xf2\x00\x00\x00\x00\x00\x01\x00\x00\xc9,\ +\x00\x00\x01z\x88\x90@O\ +\x00\x00\x04t\x00\x00\x00\x00\x00\x01\x00\x00\xcd\x1d\ +\x00\x00\x01z\x88\x90@N\ +\x00\x00\x030\x00\x00\x00\x00\x00\x01\x00\x00\xc4\xc1\ +\x00\x00\x01z\x88\x90@Q\ +\x00\x00\x04F\x00\x00\x00\x00\x00\x01\x00\x00\xccI\ +\x00\x00\x01z\x88\x90@$\ +\x00\x00\x03\xb4\x00\x00\x00\x00\x00\x01\x00\x00\xc8X\ +\x00\x00\x01z\x88\x90@%\ +\x00\x00\x05\xbe\x00\x00\x00\x00\x00\x01\x00\x00\xdd\x8f\ +\x00\x00\x01z\x88\x90@!\ +\x00\x00\x04\xe4\x00\x00\x00\x00\x00\x01\x00\x00\xcf\xb2\ +\x00\x00\x01z\x88\x90@#\ +\x00\x00\x00\xe6\x00\x02\x00\x00\x00\x01\x00\x00\x00R\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00H\x00\x00\x00\x00\x00\x01\x00\x00\x03\xf4\ +\x00\x00\x01z\x88\x90BH\ +\x00\x00\x02,\x00\x02\x00\x00\x00\x01\x00\x00\x002\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x01|\x00\x00\x00\x00\x00\x01\x00\x00\xb3\xd9\ +\x00\x00\x01z\x88\x90A:\ +\x00\x00\x01\xf0\x00\x02\x00\x00\x00\x04\x00\x00\x00.\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\xb4\x00\x00\x00\x00\x00\x01\x00\x00\xa9\x0c\ +\x00\x00\x01z\x88\x90A;\ +\x00\x00\x04\xa4\x00\x02\x00\x00\x00\x02\x00\x00\x00+\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x03\xa8\x00\x02\x00\x00\x00\x01\x00\x00\x00-\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x06@\x00\x00\x00\x00\x00\x01\x00\x00\xe3\x88\ +\x00\x00\x01{zp@\xc4\ +\x00\x00\x06~\x00\x01\x00\x00\x00\x01\x00\x00\xebr\ +\x00\x00\x01z\x88\x90A\xb7\ +\x00\x00\x17.\x00\x00\x00\x00\x00\x01\x00\x05\xae\xc9\ +\x00\x00\x01z\x88\x90<\xf1\ +\x00\x00\x16\xe2\x00\x00\x00\x00\x00\x01\x00\x05\xad\x1d\ +\x00\x00\x01z\x88\x90<\xf4\ +\x00\x00\x17\x08\x00\x00\x00\x00\x00\x01\x00\x05\xad\xf1\ +\x00\x00\x01z\x88\x90<\xd1\ +\x00\x00\x16\xc4\x00\x00\x00\x00\x00\x01\x00\x05\xac*\ +\x00\x00\x01z\x88\x90<\xf5\ +\x00\x00\x03\xa8\x00\x02\x00\x00\x00\x1f\x00\x00\x003\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x14\x5c\x00\x00\x00\x00\x00\x01\x00\x05\x98\x97\ +\x00\x00\x01z\x88\x90A\xde\ +\x00\x00\x14\xae\x00\x00\x00\x00\x00\x01\x00\x05\x9b+\ +\x00\x00\x01z\x88\x90A\xdf\ +\x00\x00\x16\x1e\x00\x00\x00\x00\x00\x01\x00\x05\xa7\xf2\ +\x00\x00\x01z\x88\x90A\xda\ +\x00\x00\x13\x98\x00\x00\x00\x00\x00\x01\x00\x05\x92%\ +\x00\x00\x01z\x88\x90@\xa7\ +\x00\x00\x13$\x00\x00\x00\x00\x00\x01\x00\x05\x8f5\ +\x00\x00\x01z\x88\x90A\xd9\ +\x00\x00\x15\xda\x00\x00\x00\x00\x00\x01\x00\x05\xa5^\ +\x00\x00\x01z\x88\x90A\xba\ +\x00\x00\x13F\x00\x00\x00\x00\x00\x01\x00\x05\x90\x7f\ +\x00\x00\x01z\x88\x90A\xe1\ +\x00\x00\x15\x9e\x00\x00\x00\x00\x00\x01\x00\x05\xa2\xca\ +\x00\x00\x01z\x88\x90Af\ +\x00\x00\x12v\x00\x01\x00\x00\x00\x01\x00\x05\x8b3\ +\x00\x00\x01z\x88\x90@\xa9\ +\x00\x00\x12\xd0\x00\x00\x00\x00\x00\x01\x00\x05\x8d\x87\ +\x00\x00\x01z\x88\x90A\xe2\ +\x00\x00\x12\xb4\x00\x01\x00\x00\x00\x01\x00\x05\x8c\xdc\ +\x00\x00\x01z\x88\x90@\xf8\ +\x00\x00\x12\x98\x00\x00\x00\x00\x00\x01\x00\x05\x8b\x92\ +\x00\x00\x01z\x88\x90@\xf8\ +\x00\x00\x13p\x00\x01\x00\x00\x00\x01\x00\x05\x91\xc9\ +\x00\x00\x01z\x88\x90@\xae\ +\x00\x00\x13\xba\x00\x00\x00\x00\x00\x01\x00\x05\x93o\ +\x00\x00\x01z\x88\x90A\xdc\ +\x00\x00\x14\x88\x00\x00\x00\x00\x00\x01\x00\x05\x99\xe1\ +\x00\x00\x01z\x88\x90A\xdd\ +\x00\x00\x148\x00\x00\x00\x00\x00\x01\x00\x05\x97M\ +\x00\x00\x01z\x88\x90A\xb8\ +\x00\x00\x13\xea\x00\x00\x00\x00\x00\x01\x00\x05\x94\xb9\ +\x00\x00\x01z\x88\x90A\xdf\ +\x00\x00\x13\x04\x00\x01\x00\x00\x00\x01\x00\x05\x8e\xd1\ +\x00\x00\x01z\x88\x90A\x98\ +\x00\x00\x16l\x00\x01\x00\x00\x00\x01\x00\x05\xaa\x86\ +\x00\x00\x01z\x88\x90@\xab\ +\x00\x00\x14\xd6\x00\x01\x00\x00\x00\x01\x00\x05\x9cu\ +\x00\x00\x01z\x88\x90A\xd9\ +\x00\x00\x15\x02\x00\x01\x00\x00\x00\x01\x00\x05\x9dB\ +\x00\x00\x01z\x88\x90@\xac\ +\x00\x00\x14\x10\x00\x00\x00\x00\x00\x01\x00\x05\x96\x03\ +\x00\x00\x01z\x88\x90A\xb9\ +\x00\x00\x15 \x00\x00\x00\x00\x00\x01\x00\x05\x9d\xa2\ +\x00\x00\x01z\x88\x90A\xd6\ +\x00\x00\x16<\x00\x00\x00\x00\x00\x01\x00\x05\xa9<\ +\x00\x00\x01z\x88\x90A\xe3\ +\x00\x00\x15D\x00\x00\x00\x00\x00\x01\x00\x05\x9e\xec\ +\x00\x00\x01z\x88\x90@\xf3\ +\x00\x00\x15b\x00\x00\x00\x00\x00\x01\x00\x05\xa06\ +\x00\x00\x01z\x88\x90@\xf4\ +\x00\x00\x15\x80\x00\x00\x00\x00\x00\x01\x00\x05\xa1\x80\ +\x00\x00\x01z\x88\x90@\xf5\ +\x00\x00\x15\xbc\x00\x00\x00\x00\x00\x01\x00\x05\xa4\x14\ +\x00\x00\x01z\x88\x90@\xf6\ +\x00\x00\x16\x00\x00\x00\x00\x00\x00\x01\x00\x05\xa6\xa8\ +\x00\x00\x01z\x88\x90@\xf7\ +\x00\x00\x12b\x00\x01\x00\x00\x00\x01\x00\x05\x8a\xd4\ +\x00\x00\x01z\x88\x90Ag\ +\x00\x00\x16\x98\x00\x00\x00\x00\x00\x01\x00\x05\xaa\xe0\ +\x00\x00\x01z\x88\x90A\xdb\ +\x00\x00\x03\xa8\x00\x02\x00\x00\x00\x08\x00\x00\x00S\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00%@\x00\x00\x00\x00\x00\x01\x00\x06B\x8d\ +\x00\x00\x01z\x88\x90B\x0a\ +\x00\x00$P\x00\x00\x00\x00\x00\x01\x00\x06.w\ +\x00\x00\x01z\x88\x90B\x06\ +\x00\x00$\xb2\x00\x00\x00\x00\x00\x01\x00\x066@\ +\x00\x00\x01z\x88\x90B\x07\ +\x00\x00%\x18\x00\x00\x00\x00\x00\x01\x00\x06>\x0b\ +\x00\x00\x01z\x88\x90@\xb2\ +\x00\x00$\x8e\x00\x00\x00\x00\x00\x01\x00\x061\xbe\ +\x00\x00\x01z\x88\x90@\xb4\ +\x00\x00#\xec\x00\x00\x00\x00\x00\x01\x00\x06&\xb2\ +\x00\x00\x01z\x88\x90@\xb4\ +\x00\x00$\xf2\x00\x00\x00\x00\x00\x01\x00\x069\x89\ +\x00\x00\x01z\x88\x90@\xb6\ +\x00\x00$\x12\x00\x00\x00\x00\x00\x01\x00\x06+4\ +\x00\x00\x01z\x88\x90B\x09\ +\x00\x00\x17b\x00\x02\x00\x00\x009\x00\x00\x00\x5c\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00 \xe2\x00\x00\x00\x00\x00\x01\x00\x06\x09\x92\ +\x00\x00\x01z\x88\x90<\xef\ +\x00\x00#\xb6\x00\x00\x00\x00\x00\x01\x00\x06!\xc5\ +\x00\x00\x01z\x88\x90<\xec\ +\x00\x00\x1fZ\x00\x00\x00\x00\x00\x01\x00\x05\xfaT\ +\x00\x00\x01z\x88\x90<\xf0\ +\x00\x00\x19\xb0\x00\x00\x00\x00\x00\x01\x00\x05\xc6\xbb\ +\x00\x00\x01z\x88\x90<\xeb\ +\x00\x00\x22d\x00\x00\x00\x00\x00\x01\x00\x06\x17\x91\ +\x00\x00\x01z\x88\x90<\xed\ +\x00\x00\x17\xe8\x00\x00\x00\x00\x00\x01\x00\x05\xb5{\ +\x00\x00\x01z\x88\x90<\xe3\ +\x00\x00\x1aV\x00\x00\x00\x00\x00\x01\x00\x05\xca\x8a\ +\x00\x00\x01z\x88\x90<\xe0\ +\x00\x00#\x0a\x00\x00\x00\x00\x00\x01\x00\x06\x1b\xf7\ +\x00\x00\x01z\x88\x90<\xe4\ +\x00\x00\x1c\x86\x00\x00\x00\x00\x00\x01\x00\x05\xddK\ +\x00\x00\x01z\x88\x90<\xde\ +\x00\x00\x18\xd4\x00\x00\x00\x00\x00\x01\x00\x05\xbc\xc0\ +\x00\x00\x01z\x88\x90<\xe2\ +\x00\x00\x1b~\x00\x00\x00\x00\x00\x01\x00\x05\xd2]\ +\x00\x00\x01z\x88\x90<\xdf\ +\x00\x00\x1e\xe4\x00\x00\x00\x00\x00\x01\x00\x05\xf4\x13\ +\x00\x00\x01z\x88\x90<\xe8\ +\x00\x00!\x88\x00\x00\x00\x00\x00\x01\x00\x06\x0d\xcb\ +\x00\x00\x01z\x88\x90<\xe5\ +\x00\x00\x1db\x00\x00\x00\x00\x00\x01\x00\x05\xe7\xe0\ +\x00\x00\x01z\x88\x90<\xe9\ +\x00\x00 6\x00\x00\x00\x00\x00\x01\x00\x06\x04\x88\ +\x00\x00\x01z\x88\x90<\xe7\ +\x00\x00\x1c\xfc\x00\x00\x00\x00\x00\x01\x00\x05\xe3 \ +\x00\x00\x01z\x88\x90<\xd4\ +\x00\x00\x19\x0a\x00\x00\x00\x00\x00\x01\x00\x05\xbd\xb2\ +\x00\x00\x01z\x88\x90<\xd7\ +\x00\x00\x1f\x90\x00\x00\x00\x00\x00\x01\x00\x05\xfc\x01\ +\x00\x00\x01z\x88\x90<\xd2\ +\x00\x00\x1b\xb4\x00\x00\x00\x00\x00\x01\x00\x05\xd3\xab\ +\x00\x00\x01z\x88\x90<\xd6\ +\x00\x00\x1e>\x00\x00\x00\x00\x00\x01\x00\x05\xee\xb1\ +\x00\x00\x01z\x88\x90<\xd3\ +\x00\x00!\xbe\x00\x00\x00\x00\x00\x01\x00\x06\x0f\x89\ +\x00\x00\x01z\x88\x90<\xdb\ +\x00\x00\x18\x1e\x00\x00\x00\x00\x00\x01\x00\x05\xb7\x9d\ +\x00\x00\x01z\x88\x90<\xd8\ +\x00\x00 l\x00\x00\x00\x00\x00\x01\x00\x06\x06\x98\ +\x00\x00\x01z\x88\x90<\xdc\ +\x00\x00#@\x00\x00\x00\x00\x00\x01\x00\x06\x1d\xf7\ +\x00\x00\x01z\x88\x90<\xd9\ +\x00\x00\x1a\x8c\x00\x00\x00\x00\x00\x01\x00\x05\xcb\xa9\ +\x00\x00\x01z\x88\x90=\x06\ +\x00\x00\x1d\xbe\x00\x00\x00\x00\x00\x01\x00\x05\xeb\x81\ +\x00\x00\x01z\x88\x90=\x07\ +\x00\x00\x1c\x16\x00\x00\x00\x00\x00\x01\x00\x05\xd8\xc7\ +\x00\x00\x01z\x88\x90=\x08\ +\x00\x00\x1b\x0e\x00\x00\x00\x00\x00\x01\x00\x05\xcf\x06\ +\x00\x00\x01z\x88\x90=\x0a\ +\x00\x00\x19\xe6\x00\x00\x00\x00\x00\x01\x00\x05\xc7\x8d\ +\x00\x00\x01z\x88\x90=\x0b\ +\x00\x00\x18\x94\x00\x00\x00\x00\x00\x01\x00\x05\xba\x90\ +\x00\x00\x01z\x88\x90=\x0c\ +\x00\x00\x17x\x00\x00\x00\x00\x00\x01\x00\x05\xb2\xb7\ +\x00\x00\x01z\x88\x90=\x0e\ +\x00\x00\x22\x9a\x00\x00\x00\x00\x00\x01\x00\x06\x18\xe4\ +\x00\x00\x01z\x88\x90=\x0f\ +\x00\x00!\x18\x00\x00\x00\x00\x00\x01\x00\x06\x0a\x99\ +\x00\x00\x01z\x88\x90=\x10\ +\x00\x00\x1f\xc6\x00\x00\x00\x00\x00\x01\x00\x05\xfd\x09\ +\x00\x00\x01z\x88\x90=\x12\ +\x00\x00\x1et\x00\x00\x00\x00\x00\x01\x00\x05\xef\xbf\ +\x00\x00\x01z\x88\x90=\x13\ +\x00\x00\x1a\xce\x00\x00\x00\x00\x00\x01\x00\x05\xcd|\ +\x00\x00\x01z\x88\x90=\x15\ +\x00\x00\x19@\x00\x00\x00\x00\x00\x01\x00\x05\xbe\xeb\ +\x00\x00\x01z\x88\x90=\x16\ +\x00\x00\x18T\x00\x00\x00\x00\x00\x01\x00\x05\xb9\x11\ +\x00\x00\x01z\x88\x90=\x17\ +\x00\x00#v\x00\x00\x00\x00\x00\x01\x00\x06\x1f\xb3\ +\x00\x00\x01z\x88\x90=\x19\ +\x00\x00\x22$\x00\x00\x00\x00\x00\x01\x00\x06\x16%\ +\x00\x00\x01z\x88\x90=\x1a\ +\x00\x00 \xa2\x00\x00\x00\x00\x00\x01\x00\x06\x08\x19\ +\x00\x00\x01z\x88\x90=\x1b\ +\x00\x00\x1f\x1a\x00\x00\x00\x00\x00\x01\x00\x05\xf5t\ +\x00\x00\x01z\x88\x90=\x1d\ +\x00\x00\x1d\xfe\x00\x00\x00\x00\x00\x01\x00\x05\xedU\ +\x00\x00\x01z\x88\x90=\x1e\ +\x00\x00\x1c\xbc\x00\x00\x00\x00\x00\x01\x00\x05\xe1\xc7\ +\x00\x00\x01z\x88\x90=\x1f\ +\x00\x00\x1b\xea\x00\x00\x00\x00\x00\x01\x00\x05\xd5\xc4\ +\x00\x00\x01z\x88\x90<\xf6\ +\x00\x00\x1e\xb4\x00\x00\x00\x00\x00\x01\x00\x05\xf1A\ +\x00\x00\x01z\x88\x90=\x02\ +\x00\x00!X\x00\x00\x00\x00\x00\x01\x00\x06\x0b\xc6\ +\x00\x00\x01z\x88\x90<\xff\ +\x00\x00\x1d2\x00\x00\x00\x00\x00\x01\x00\x05\xe5\x1d\ +\x00\x00\x01z\x88\x90=\x03\ +\x00\x00\x17\xb8\x00\x00\x00\x00\x00\x01\x00\x05\xb4v\ +\x00\x00\x01z\x88\x90<\xfc\ +\x00\x00 \x06\x00\x00\x00\x00\x00\x01\x00\x06\x03*\ +\x00\x00\x01z\x88\x90=\x00\ +\x00\x00\x1a&\x00\x00\x00\x00\x00\x01\x00\x05\xc9\x0e\ +\x00\x00\x01z\x88\x90<\xfb\ +\x00\x00\x22\xda\x00\x00\x00\x00\x00\x01\x00\x06\x1a\x17\ +\x00\x00\x01z\x88\x90<\xfe\ +\x00\x00\x1cV\x00\x00\x00\x00\x00\x01\x00\x05\xda\xb6\ +\x00\x00\x01z\x88\x90<\xf8\ +\x00\x00!\xf4\x00\x00\x00\x00\x00\x01\x00\x06\x11E\ +\x00\x00\x01z\x88\x90<\xfb\ +\x00\x00\x1bN\x00\x00\x00\x00\x00\x01\x00\x05\xd0\xd0\ +\x00\x00\x01z\x88\x90<\xf9\ +\x00\x00\x19\x80\x00\x00\x00\x00\x00\x01\x00\x05\xc0C\ +\x00\x00\x01z\x88\x90=\x05\ +\x00\x00\x1d\x98\x00\x00\x00\x00\x00\x01\x00\x05\xea!\ +\x00\x00\x01z\x88\x90<\xcf\ +\x00\x00\x0f,\x00\x00\x00\x00\x00\x01\x00\x04:\x97\ +\x00\x00\x01z\x88\x90B;\ +\x00\x00\x0d|\x00\x00\x00\x00\x00\x01\x00\x03\xa4:\ +\x00\x00\x01z\x88\x90@\x8d\ +\x00\x00\x0e\xf2\x00\x00\x00\x00\x00\x01\x00\x045\x8a\ +\x00\x00\x01z\x88\x90A\x9c\ +\x00\x00\x0d\xf0\x00\x00\x00\x00\x00\x01\x00\x04\x07,\ +\x00\x00\x01z\x88\x90@a\ +\x00\x00\x0ah\x00\x00\x00\x00\x00\x01\x00\x03E?\ +\x00\x00\x01z\x88\x90B8\ +\x00\x00\x09\xd8\x00\x01\x00\x00\x00\x01\x00\x02|Z\ +\x00\x00\x01z\x88\x90@m\ +\x00\x00\x07\x84\x00\x00\x00\x00\x00\x01\x00\x01\x9b\x8b\ +\x00\x00\x01z\x88\x90@b\ +\x00\x00\x08\xac\x00\x00\x00\x00\x00\x01\x00\x01\xb6{\ +\x00\x00\x01z\x88\x90A\xa0\ +\x00\x00\x0f\x96\x00\x00\x00\x00\x00\x01\x00\x04|\x91\ +\x00\x00\x01z\x88\x90@i\ +\x00\x00\x0e\x82\x00\x00\x00\x00\x00\x01\x00\x04(>\ +\x00\x00\x01z\x88\x90@\x94\ +\x00\x00\x09D\x00\x00\x00\x00\x00\x01\x00\x02q\xb7\ +\x00\x00\x01z\x88\x90@\x87\ +\x00\x00\x0e\xbe\x00\x00\x00\x00\x00\x01\x00\x040i\ +\x00\x00\x01z\x88\x90A\x9d\ +\x00\x00\x09\x9c\x00\x00\x00\x00\x00\x01\x00\x02y\xc6\ +\x00\x00\x01z\x88\x90A\x9b\ +\x00\x00\x0c\x92\x00\x00\x00\x00\x00\x01\x00\x03\x88\x0e\ +\x00\x00\x01z\x88\x90@w\ +\x00\x00\x07\xec\x00\x00\x00\x00\x00\x01\x00\x01\xa9\xae\ +\x00\x00\x01z\x88\x90@\x90\ +\x00\x00\x08\xea\x00\x00\x00\x00\x00\x01\x00\x01\xd2!\ +\x00\x00\x01z\x88\x90@\x80\ +\x00\x00\x10\x0e\x00\x00\x00\x00\x00\x01\x00\x04\x99\x8e\ +\x00\x00\x01z\x88\x90B:\ +\x00\x00\x08\xc6\x00\x00\x00\x00\x00\x01\x00\x01\xbcy\ +\x00\x00\x01z\x88\x90@g\ +\x00\x00\x0c\xd4\x00\x00\x00\x00\x00\x01\x00\x03\x949\ +\x00\x00\x01z\x88\x90@\x8c\ +\x00\x00\x07\xb4\x00\x00\x00\x00\x00\x01\x00\x01\xa0%\ +\x00\x00\x01z\x88\x90B9\ +\x00\x00\x09j\x00\x00\x00\x00\x00\x01\x00\x02u[\ +\x00\x00\x01z\x88\x90@b\ +\x00\x00\x0b2\x00\x00\x00\x00\x00\x01\x00\x03a\xfa\ +\x00\x00\x01z\x88\x90@\x89\ +\x00\x00\x0a:\x00\x01\x00\x00\x00\x01\x00\x03%L\ +\x00\x00\x01z\x88\x90@o\ +\x00\x00\x07\x04\x00\x00\x00\x00\x00\x01\x00\x01\x90\xa8\ +\x00\x00\x01z\x88\x90@`\ +\x00\x00\x0bj\x00\x00\x00\x00\x00\x01\x00\x03e\xa2\ +\x00\x00\x01z\x88\x90@\x8c\ +\x00\x00\x0e\x0a\x00\x00\x00\x00\x00\x01\x00\x04\x0a\xc0\ +\x00\x00\x01z\x88\x90@\x8d\ +\x00\x00\x0c\xae\x00\x00\x00\x00\x00\x01\x00\x03\x8f%\ +\x00\x00\x01z\x88\x90@\x8f\ +\x00\x00\x0b\xcc\x00\x00\x00\x00\x00\x01\x00\x03j*\ +\x00\x00\x01z\x88\x90@\x8a\ +\x00\x00\x0b\x06\x00\x00\x00\x00\x00\x01\x00\x03L*\ +\x00\x00\x01z\x88\x90@{\ +\x00\x00\x0fr\x00\x00\x00\x00\x00\x01\x00\x04s,\ +\x00\x00\x01z\x88\x90B<\ +\x00\x00\x0f\xc0\x00\x00\x00\x00\x00\x01\x00\x04\x91Y\ +\x00\x00\x01z\x88\x90@\x93\ +\x00\x00\x0d\xb6\x00\x00\x00\x00\x00\x01\x00\x03\xa7\xbc\ +\x00\x00\x01z\x88\x90@z\ +\x00\x00\x0a\xa2\x00\x00\x00\x00\x00\x01\x00\x03G\xd3\ +\x00\x00\x01z\x88\x90@\x8b\ +\x00\x00\x06\xa2\x00\x00\x00\x00\x00\x01\x00\x01.\x89\ +\x00\x00\x01z\x88\x90@x\ +\x00\x00\x0cT\x00\x00\x00\x00\x00\x01\x00\x03\x83\xa5\ +\x00\x00\x01z\x88\x90@\x88\ +\x00\x00\x07b\x00\x00\x00\x00\x00\x01\x00\x01\x98_\ +\x00\x00\x01z\x88\x90A\x8b\ +\x00\x00\x08*\x00\x00\x00\x00\x00\x01\x00\x01\xae\xc7\ +\x00\x00\x01z\x88\x90B7\ +\x00\x00\x10@\x00\x00\x00\x00\x00\x01\x00\x04\xa3&\ +\x00\x00\x01z\x88\x90@_\ +\x00\x00\x0fB\x00\x01\x00\x00\x00\x01\x00\x04A\xf9\ +\x00\x00\x01z\x88\x90@l\ +\x00\x00\x06\xd0\x00\x00\x00\x00\x00\x01\x00\x01\x8e\x11\ +\x00\x00\x01z\x88\x90A\x9b\ +\x00\x00\x0a&\x00\x00\x00\x00\x00\x01\x00\x03\x1f\xd5\ +\x00\x00\x01z\x88\x90@e\ +\x00\x00\x10j\x00\x00\x00\x00\x00\x01\x00\x04\xa5\xd7\ +\x00\x00\x01z\x88\x90@~\ +\x00\x00\x09\xf8\x00\x00\x00\x00\x00\x01\x00\x02\x9f\xc9\ +\x00\x00\x01z\x88\x90@k\ +\x00\x00\x0eV\x00\x01\x00\x00\x00\x01\x00\x04\x0eB\ +\x00\x00\x01z\x88\x90@p\ +\x00\x00\x0d^\x00\x00\x00\x00\x00\x01\x00\x03\x9di\ +\x00\x00\x01z\x88\x90B.\ +\x00\x00\x0c\x1c\x00\x00\x00\x00\x00\x01\x00\x03n\x97\ +\x00\x00\x01z\x88\x90@|\ +\x00\x00\x07*\x00\x00\x00\x00\x00\x01\x00\x01\x93G\ +\x00\x00\x01z\x88\x90@\x91\ +\x00\x00\x0d\x22\x00\x00\x00\x00\x00\x01\x00\x03\x98\xd3\ +\x00\x00\x01z\x88\x90@\x8f\ +\x00\x00\x08\x5c\x00\x00\x00\x00\x00\x01\x00\x01\xb1^\ +\x00\x00\x01z\x88\x90@\x92\ +\x00\x00\x09&\x00\x00\x00\x00\x00\x01\x00\x02\x5c\x1d\ +\x00\x00\x01z\x88\x90@f\ +\x00\x00\x11\xae\x00\x00\x00\x00\x00\x01\x00\x05X\xbf\ +\x00\x00\x01z\x88\x90@u\ +\x00\x00\x120\x00\x00\x00\x00\x00\x01\x00\x05\x83^\ +\x00\x00\x01z\x88\x90@q\ +\x00\x00\x11\x06\x00\x00\x00\x00\x00\x01\x00\x05L\x08\ +\x00\x00\x01z\x88\x90@W\ +\x00\x00\x12\x0a\x00\x00\x00\x00\x00\x01\x00\x05q%\ +\x00\x00\x01z\x88\x90@d\ +\x00\x00\x12H\x00\x00\x00\x00\x00\x01\x00\x05\x87p\ +\x00\x00\x01z\x88\x90@r\ +\x00\x00\x11<\x00\x00\x00\x00\x00\x01\x00\x05Q\xce\ +\x00\x00\x01z\x88\x90@\x82\ +\x00\x00\x10\xa8\x00\x00\x00\x00\x00\x01\x00\x053\xe7\ +\x00\x00\x01z\x88\x90@\x83\ +\x00\x00\x11\xc8\x00\x00\x00\x00\x00\x01\x00\x05^\xc1\ +\x00\x00\x01z\x88\x90@\x85\ +\x00\x00\x11\x84\x00\x00\x00\x00\x00\x01\x00\x05W\xf1\ +\x00\x00\x01z\x88\x90@\x86\ +\x00\x00\x10\xd2\x00\x00\x00\x00\x00\x01\x00\x054t\ +\x00\x00\x01z\x88\x90@s\ +\x00\x00\x11\xf2\x00\x00\x00\x00\x00\x01\x00\x05_e\ +\x00\x00\x01z\x88\x90@^\ +\x00\x00\x10\xec\x00\x00\x00\x00\x00\x01\x00\x05BU\ +\x00\x00\x01z\x88\x90@X\ +\x00\x00\x11f\x00\x00\x00\x00\x00\x01\x00\x05R}\ +\x00\x00\x01z\x88\x90@\x98\ +" + +def qInitResources(): + QtCore.qRegisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +def qCleanupResources(): + QtCore.qUnregisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +qInitResources() diff --git a/Gems/AWSCore/Code/Tools/ResourceMappingTool/tests/unit/controller/test_error_controller.py b/Gems/AWSCore/Code/Tools/ResourceMappingTool/tests/unit/controller/test_error_controller.py new file mode 100644 index 0000000000..e6271a5a75 --- /dev/null +++ b/Gems/AWSCore/Code/Tools/ResourceMappingTool/tests/unit/controller/test_error_controller.py @@ -0,0 +1,29 @@ +""" +Copyright (c) Contributors to the Open 3D Engine Project. +For complete copyright and license terms please see the LICENSE at the root of this distribution. + +SPDX-License-Identifier: Apache-2.0 OR MIT +""" + +from unittest import TestCase +from unittest.mock import (call, MagicMock, patch) + +from controller.error_controller import ErrorController + +class TestErrorController(TestCase): + """ + ErrorController unit test cases + """ + def setUp(self) -> None: + view_manager_patcher: patch = patch("controller.error_controller.ViewManager") + self.addCleanup(view_manager_patcher.stop) + self._mock_view_manager: MagicMock = view_manager_patcher.start() + + self._mocked_view_manager: MagicMock = self._mock_view_manager.get_instance.return_value + self._mocked_error_page: MagicMock = self._mocked_view_manager.get_error_page.return_value + + self._test_error_controller: ErrorController = ErrorController() + self._test_error_controller.setup() + + def test_setup_with_expected_behavior_connected(self) -> None: + self._mocked_error_page.ok_button.clicked.connect.assert_called_once_with(self._test_error_controller._ok) diff --git a/Gems/AWSCore/Code/Tools/ResourceMappingTool/tests/unit/controller/test_view_edit_controller.py b/Gems/AWSCore/Code/Tools/ResourceMappingTool/tests/unit/controller/test_view_edit_controller.py index f854d2cd68..c73bddcd9c 100755 --- a/Gems/AWSCore/Code/Tools/ResourceMappingTool/tests/unit/controller/test_view_edit_controller.py +++ b/Gems/AWSCore/Code/Tools/ResourceMappingTool/tests/unit/controller/test_view_edit_controller.py @@ -22,6 +22,8 @@ class TestViewEditController(TestCase): TODO: add test cases once error handling is ready """ _expected_account_id: str = "1234567890" + _expected_account_id_attribute_name = "AccountId" + _expected_account_id_template_vale: str = "EMPTY" _expected_region: str = "aws-global" _expected_config_directory: str = "dummy/directory/" _expected_config_file_name: str = "dummy.json" @@ -98,8 +100,6 @@ class TestViewEditController(TestCase): self._test_view_edit_controller._filter_based_on_search_text) self._mocked_view_edit_page.cancel_button.clicked.connect.assert_called_once_with( self._test_view_edit_controller._cancel) - self._mocked_view_edit_page.create_new_button.clicked.connect.assert_called_once_with( - self._test_view_edit_controller._create_new_config_file) self._mocked_view_edit_page.rescan_button.clicked.connect.assert_called_once_with( self._test_view_edit_controller._rescan_config_directory) @@ -301,6 +301,7 @@ class TestViewEditController(TestCase): expected_new_config_directory, constants.RESOURCE_MAPPING_CONFIG_FILE_NAME_SUFFIX) assert self._mocked_configuration_manager.configuration.config_files == [] self._mocked_view_edit_page.set_config_files.assert_called_with([]) + self._mocked_view_edit_page.set_config_location.assert_called_with(expected_new_config_directory) self._test_view_edit_controller.set_notification_page_frame_text_sender.emit.assert_called_once_with( notification_label_text.NOTIFICATION_LOADING_MESSAGE) @@ -418,13 +419,18 @@ class TestViewEditController(TestCase): self, mock_json_utils: MagicMock, mock_file_utils: MagicMock) -> None: self._mocked_view_edit_page.config_file_combobox.currentText.return_value = \ TestViewEditController._expected_config_file_name - expected_json_dict: Dict[str, any] = {"dummyKey": "dummyValue"} + expected_json_dict: Dict[str, any] = { + "dummyKey": "dummyValue", + self._expected_account_id_attribute_name: self._expected_account_id_template_vale} + mock_json_utils.RESOURCE_MAPPING_ACCOUNTID_JSON_KEY_NAME = self._expected_account_id_attribute_name + mock_json_utils.RESOURCE_MAPPING_ACCOUNTID_TEMPLATE_VALUE = self._expected_account_id_template_vale mock_json_utils.validate_resources_according_to_json_schema.return_value = [] mock_json_utils.convert_resources_to_json_dict.return_value = expected_json_dict mock_file_utils.join_path.return_value = TestViewEditController._expected_config_file_full_path mocked_call_args: call = self._mocked_view_edit_page.save_changes_button.clicked.connect.call_args[0] mocked_call_args[0]() # triggering save_changes_button connected function + assert expected_json_dict["AccountId"] == self._mocked_configuration_manager.configuration.account_id mock_json_utils.convert_resources_to_json_dict.assert_called_once() mock_json_utils.write_into_json_file.assert_called_once_with( TestViewEditController._expected_config_file_full_path, expected_json_dict) @@ -468,37 +474,6 @@ class TestViewEditController(TestCase): mocked_call_args[0]() # triggering cancel_button connected function mock_application.instance.return_value.quit.assert_called_once() - @patch("controller.view_edit_controller.file_utils") - @patch("controller.view_edit_controller.json_utils") - def test_page_create_new_button_invoke_view_edit_page_set_config_files_with_expected_config_files( - self, mock_json_utils: MagicMock, mock_file_utils: MagicMock) -> None: - expected_config_files: List[str] = ["dummyfile"] - mock_file_utils.find_files_with_suffix_under_directory.return_value = expected_config_files - mocked_call_args: call = \ - self._mocked_view_edit_page.create_new_button.clicked.connect.call_args[0] - - mocked_call_args[0]() # triggering create_new_button connected function - mock_file_utils.join_path.assert_called_once() - mock_json_utils.create_empty_resource_mapping_file.assert_called_once() - mock_file_utils.find_files_with_suffix_under_directory.assert_called_once() - self._mocked_view_edit_page.set_config_files.assert_called_with(expected_config_files) - self._test_view_edit_controller.set_notification_frame_text_sender.emit.assert_called_once() - - @patch("controller.view_edit_controller.file_utils") - @patch("controller.view_edit_controller.json_utils") - def test_page_create_new_button_post_notification_when_create_file_throw_exception( - self, mock_json_utils: MagicMock, mock_file_utils: MagicMock) -> None: - expected_config_files: List[str] = ["dummyfile"] - mock_json_utils.create_empty_resource_mapping_file.side_effect = IOError("dummy IO error") - mocked_call_args: call = \ - self._mocked_view_edit_page.create_new_button.clicked.connect.call_args[0] - - mocked_call_args[0]() # triggering create_new_button connected function - mock_file_utils.join_path.assert_called_once() - mock_json_utils.create_empty_resource_mapping_file.assert_called_once() - mock_file_utils.find_files_with_suffix_under_directory.assert_not_called() - assert len(self._test_view_edit_controller.set_notification_frame_text_sender.emit.mock_calls) == 2 - @patch("controller.view_edit_controller.file_utils") def test_page_rescan_button_post_notification_when_find_files_throw_exception( self, mock_file_utils: MagicMock) -> None: diff --git a/Gems/AWSCore/Code/Tools/ResourceMappingTool/tests/unit/utils/test_json_utils.py b/Gems/AWSCore/Code/Tools/ResourceMappingTool/tests/unit/utils/test_json_utils.py index cadcca6ee6..7eb92ff222 100755 --- a/Gems/AWSCore/Code/Tools/ResourceMappingTool/tests/unit/utils/test_json_utils.py +++ b/Gems/AWSCore/Code/Tools/ResourceMappingTool/tests/unit/utils/test_json_utils.py @@ -43,7 +43,7 @@ class TestJsonUtils(TestCase): json_utils._RESOURCE_MAPPING_TYPE_JSON_KEY_NAME: _expected_bucket_type, json_utils._RESOURCE_MAPPING_NAMEID_JSON_KEY_NAME: _expected_bucket_name }}, - json_utils._RESOURCE_MAPPING_ACCOUNTID_JSON_KEY_NAME: _expected_account_id, + json_utils.RESOURCE_MAPPING_ACCOUNTID_JSON_KEY_NAME: _expected_account_id, json_utils._RESOURCE_MAPPING_REGION_JSON_KEY_NAME: _expected_region, json_utils._RESOURCE_MAPPING_VERSION_JSON_KEY_NAME: json_utils._RESOURCE_MAPPING_JSON_FORMAT_VERSION } @@ -64,7 +64,7 @@ class TestJsonUtils(TestCase): def test_convert_resources_to_json_dict_return_expected_json_dict(self) -> None: old_json_dict: Dict[str, any] = { - json_utils._RESOURCE_MAPPING_ACCOUNTID_JSON_KEY_NAME: TestJsonUtils._expected_account_id, + json_utils.RESOURCE_MAPPING_ACCOUNTID_JSON_KEY_NAME: TestJsonUtils._expected_account_id, json_utils._RESOURCE_MAPPING_REGION_JSON_KEY_NAME: TestJsonUtils._expected_region } actual_json_dict: Dict[str, any] = \ @@ -76,20 +76,6 @@ class TestJsonUtils(TestCase): json_utils.convert_json_dict_to_resources(TestJsonUtils._expected_json_dict) assert actual_resources == [TestJsonUtils._expected_bucket_resource_mapping] - def test_create_empty_resource_mapping_file_succeed(self) -> None: - mocked_open: MagicMock = MagicMock() - self._mock_open.return_value.__enter__.return_value = mocked_open - expected_json_dict: Dict[str, any] = \ - {json_utils._RESOURCE_MAPPING_JSON_KEY_NAME: {}, - json_utils._RESOURCE_MAPPING_ACCOUNTID_JSON_KEY_NAME: TestJsonUtils._expected_account_id, - json_utils._RESOURCE_MAPPING_REGION_JSON_KEY_NAME: TestJsonUtils._expected_region, - json_utils._RESOURCE_MAPPING_VERSION_JSON_KEY_NAME: json_utils._RESOURCE_MAPPING_JSON_FORMAT_VERSION} - json_utils.create_empty_resource_mapping_file(TestJsonUtils._expected_file_name, - TestJsonUtils._expected_account_id, - TestJsonUtils._expected_region) - self._mock_open.assert_called_once_with(TestJsonUtils._expected_file_name, "w") - self._mock_json_dump.assert_called_once_with(expected_json_dict, mocked_open, indent=4, sort_keys=True) - def test_read_from_json_file_return_expected_json_dict(self) -> None: mocked_open: MagicMock = MagicMock() self._mock_open.return_value.__enter__.return_value = mocked_open @@ -114,12 +100,18 @@ class TestJsonUtils(TestCase): def test_validate_json_dict_according_to_json_schema_raise_error_when_json_dict_has_no_accountid(self) -> None: invalid_json_dict: Dict[str, any] = copy.deepcopy(TestJsonUtils._expected_json_dict) - invalid_json_dict.pop(json_utils._RESOURCE_MAPPING_ACCOUNTID_JSON_KEY_NAME) + invalid_json_dict.pop(json_utils.RESOURCE_MAPPING_ACCOUNTID_JSON_KEY_NAME) self.assertRaises(KeyError, json_utils.validate_json_dict_according_to_json_schema, invalid_json_dict) + def test_validate_json_dict_according_to_json_schema_pass_when_json_dict_has_template_accountid(self) -> None: + valid_json_dict: Dict[str, any] = copy.deepcopy(TestJsonUtils._expected_json_dict) + valid_json_dict[json_utils.RESOURCE_MAPPING_ACCOUNTID_JSON_KEY_NAME] = \ + json_utils.RESOURCE_MAPPING_ACCOUNTID_TEMPLATE_VALUE + json_utils.validate_json_dict_according_to_json_schema(valid_json_dict) + def test_validate_json_dict_according_to_json_schema_raise_error_when_json_dict_has_invalid_accountid(self) -> None: invalid_json_dict: Dict[str, any] = copy.deepcopy(TestJsonUtils._expected_json_dict) - invalid_json_dict[json_utils._RESOURCE_MAPPING_ACCOUNTID_JSON_KEY_NAME] = \ + invalid_json_dict[json_utils.RESOURCE_MAPPING_ACCOUNTID_JSON_KEY_NAME] = \ TestJsonUtils._expected_invalid_account_id self.assertRaises(ValueError, json_utils.validate_json_dict_according_to_json_schema, invalid_json_dict) diff --git a/Gems/AWSCore/Code/Tools/ResourceMappingTool/utils/json_utils.py b/Gems/AWSCore/Code/Tools/ResourceMappingTool/utils/json_utils.py index 10f7c8ed33..5b9377ada3 100755 --- a/Gems/AWSCore/Code/Tools/ResourceMappingTool/utils/json_utils.py +++ b/Gems/AWSCore/Code/Tools/ResourceMappingTool/utils/json_utils.py @@ -22,16 +22,16 @@ logger = logging.getLogger(__name__) _RESOURCE_MAPPING_JSON_KEY_NAME: str = "AWSResourceMappings" _RESOURCE_MAPPING_TYPE_JSON_KEY_NAME: str = "Type" _RESOURCE_MAPPING_NAMEID_JSON_KEY_NAME: str = "Name/ID" -_RESOURCE_MAPPING_ACCOUNTID_JSON_KEY_NAME: str = "AccountId" _RESOURCE_MAPPING_REGION_JSON_KEY_NAME: str = "Region" _RESOURCE_MAPPING_VERSION_JSON_KEY_NAME: str = "Version" _RESOURCE_MAPPING_JSON_FORMAT_VERSION: str = "1.0.0" -_RESOURCE_MAPPING_ACCOUNTID_PATTERN: str = "^[0-9]{12}$" +RESOURCE_MAPPING_ACCOUNTID_JSON_KEY_NAME: str = "AccountId" +RESOURCE_MAPPING_ACCOUNTID_TEMPLATE_VALUE: str = "EMPTY" +_RESOURCE_MAPPING_ACCOUNTID_PATTERN: str = f"^[0-9]{{12}}|{RESOURCE_MAPPING_ACCOUNTID_TEMPLATE_VALUE}$" _RESOURCE_MAPPING_REGION_PATTERN: str = "^[a-z]{2}-[a-z]{4,9}-[0-9]{1}$" _RESOURCE_MAPPING_VERSION_PATTERN: str = "^[0-9]{1}.[0-9]{1}.[0-9]{1}$" - def _add_validation_error_message(errors: Dict[int, List[str]], row: int, error_message: str) -> None: if row in errors.keys(): errors[row].append(error_message) @@ -64,9 +64,9 @@ def _validate_required_key_in_json_dict(json_dict: Dict[str, any], json_dict_nam def convert_resources_to_json_dict(resources: List[ResourceMappingAttributes], old_json_dict: Dict[str, any]) -> Dict[str, any]: - default_account_id: str = old_json_dict[_RESOURCE_MAPPING_ACCOUNTID_JSON_KEY_NAME] + default_account_id: str = old_json_dict[RESOURCE_MAPPING_ACCOUNTID_JSON_KEY_NAME] default_region: str = old_json_dict[_RESOURCE_MAPPING_REGION_JSON_KEY_NAME] - json_dict: Dict[str, any] = {_RESOURCE_MAPPING_ACCOUNTID_JSON_KEY_NAME: default_account_id, + json_dict: Dict[str, any] = {RESOURCE_MAPPING_ACCOUNTID_JSON_KEY_NAME: default_account_id, _RESOURCE_MAPPING_REGION_JSON_KEY_NAME: default_region, _RESOURCE_MAPPING_VERSION_JSON_KEY_NAME: _RESOURCE_MAPPING_JSON_FORMAT_VERSION, _RESOURCE_MAPPING_JSON_KEY_NAME: {}} @@ -76,7 +76,7 @@ def convert_resources_to_json_dict(resources: List[ResourceMappingAttributes], json_resource_attributes = {_RESOURCE_MAPPING_TYPE_JSON_KEY_NAME: resource.type, _RESOURCE_MAPPING_NAMEID_JSON_KEY_NAME: resource.name_id} if not resource.account_id == default_account_id: - json_resource_attributes[_RESOURCE_MAPPING_ACCOUNTID_JSON_KEY_NAME] = resource.account_id + json_resource_attributes[RESOURCE_MAPPING_ACCOUNTID_JSON_KEY_NAME] = resource.account_id if not resource.region == default_region: json_resource_attributes[_RESOURCE_MAPPING_REGION_JSON_KEY_NAME] = resource.region @@ -88,7 +88,7 @@ def convert_resources_to_json_dict(resources: List[ResourceMappingAttributes], def convert_json_dict_to_resources(json_dict: Dict[str, any]) -> List[ResourceMappingAttributes]: - default_account_id: str = json_dict[_RESOURCE_MAPPING_ACCOUNTID_JSON_KEY_NAME] + default_account_id: str = json_dict[RESOURCE_MAPPING_ACCOUNTID_JSON_KEY_NAME] default_region: str = json_dict[_RESOURCE_MAPPING_REGION_JSON_KEY_NAME] resources: List[ResourceMappingAttributes] = [] @@ -102,8 +102,8 @@ def convert_json_dict_to_resources(json_dict: Dict[str, any]) -> List[ResourceMa .build_type(resource_value[_RESOURCE_MAPPING_TYPE_JSON_KEY_NAME]) \ .build_name_id(resource_value[_RESOURCE_MAPPING_NAMEID_JSON_KEY_NAME]) - if _RESOURCE_MAPPING_ACCOUNTID_JSON_KEY_NAME in resource_value.keys(): - resource_builder.build_account_id(resource_value[_RESOURCE_MAPPING_ACCOUNTID_JSON_KEY_NAME]) + if RESOURCE_MAPPING_ACCOUNTID_JSON_KEY_NAME in resource_value.keys(): + resource_builder.build_account_id(resource_value[RESOURCE_MAPPING_ACCOUNTID_JSON_KEY_NAME]) else: resource_builder.build_account_id(default_account_id) @@ -119,14 +119,6 @@ def convert_json_dict_to_resources(json_dict: Dict[str, any]) -> List[ResourceMa return resources -def create_empty_resource_mapping_file(file_name: str, account_id: str, region: str) -> None: - json_dict: Dict[str, any] = {_RESOURCE_MAPPING_JSON_KEY_NAME: {}, - _RESOURCE_MAPPING_ACCOUNTID_JSON_KEY_NAME: account_id, - _RESOURCE_MAPPING_REGION_JSON_KEY_NAME: region, - _RESOURCE_MAPPING_VERSION_JSON_KEY_NAME: _RESOURCE_MAPPING_JSON_FORMAT_VERSION} - write_into_json_file(file_name, json_dict) - - def read_from_json_file(file_name: str) -> Dict[str, any]: try: json_dict: Dict[str, any] = {} @@ -179,7 +171,7 @@ def validate_resources_according_to_json_schema(resources: List[ResourceMappingA invalid_resources, row_count, error_messages.INVALID_FORMAT_UNEXPECTED_VALUE_IN_TABLE_ERROR_MESSAGE.format( resource.account_id, - _RESOURCE_MAPPING_ACCOUNTID_JSON_KEY_NAME, + RESOURCE_MAPPING_ACCOUNTID_JSON_KEY_NAME, _RESOURCE_MAPPING_ACCOUNTID_PATTERN)) if not re.match(_RESOURCE_MAPPING_REGION_PATTERN, resource.region): @@ -198,11 +190,11 @@ def validate_json_dict_according_to_json_schema(json_dict: Dict[str, any]) -> No _validate_required_key_in_json_dict(json_dict, "root", _RESOURCE_MAPPING_VERSION_JSON_KEY_NAME) _validate_required_key_in_json_dict(json_dict, "root", _RESOURCE_MAPPING_JSON_KEY_NAME) - _validate_required_key_in_json_dict(json_dict, "root", _RESOURCE_MAPPING_ACCOUNTID_JSON_KEY_NAME) - if not re.match(_RESOURCE_MAPPING_ACCOUNTID_PATTERN, json_dict[_RESOURCE_MAPPING_ACCOUNTID_JSON_KEY_NAME]): + _validate_required_key_in_json_dict(json_dict, "root", RESOURCE_MAPPING_ACCOUNTID_JSON_KEY_NAME) + if not re.match(_RESOURCE_MAPPING_ACCOUNTID_PATTERN, json_dict[RESOURCE_MAPPING_ACCOUNTID_JSON_KEY_NAME]): raise ValueError(error_messages.INVALID_FORMAT_UNEXPECTED_VALUE_IN_FILE_ERROR_MESSAGE.format( - json_dict[_RESOURCE_MAPPING_ACCOUNTID_JSON_KEY_NAME], - f"root/{_RESOURCE_MAPPING_ACCOUNTID_JSON_KEY_NAME}", + json_dict[RESOURCE_MAPPING_ACCOUNTID_JSON_KEY_NAME], + f"root/{RESOURCE_MAPPING_ACCOUNTID_JSON_KEY_NAME}", _RESOURCE_MAPPING_ACCOUNTID_PATTERN)) _validate_required_key_in_json_dict(json_dict, "root", _RESOURCE_MAPPING_REGION_JSON_KEY_NAME) diff --git a/Gems/AWSCore/Code/Tools/ResourceMappingTool/view/common_view_components.py b/Gems/AWSCore/Code/Tools/ResourceMappingTool/view/common_view_components.py index 7797905dd7..8a9fc1625d 100755 --- a/Gems/AWSCore/Code/Tools/ResourceMappingTool/view/common_view_components.py +++ b/Gems/AWSCore/Code/Tools/ResourceMappingTool/view/common_view_components.py @@ -8,7 +8,7 @@ SPDX-License-Identifier: Apache-2.0 OR MIT from PySide2.QtCore import Slot from PySide2.QtGui import (QIcon, QPixmap) from PySide2.QtWidgets import (QFrame, QHBoxLayout, QLabel, QLayout, QLineEdit, QPushButton, - QSizePolicy, QWidget) + QSizePolicy, QVBoxLayout, QWidget) class SearchFilterLineEdit(QLineEdit): @@ -25,39 +25,61 @@ class SearchFilterLineEdit(QLineEdit): class NotificationFrame(QFrame): """NotificationFrame is composed of information icon, notification title and close icon""" - def __init__(self, parent: QWidget, pixmap: QPixmap, title: str, closeable: bool) -> None: + def __init__(self, parent: QWidget, pixmap: QPixmap, content: str, closeable: bool, title: str = '') -> None: super().__init__(parent) self.setObjectName("NotificationFrame") - self.setSizePolicy(QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Maximum)) + self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Maximum) self.setFrameStyle(QFrame.StyledPanel | QFrame.Plain) + self._header_layout: QHBoxLayout = QHBoxLayout(self) + self._header_layout.setSizeConstraint(QLayout.SetMinimumSize) + self._header_layout.setContentsMargins(0, 0, 0, 0) + self._header_layout.setSpacing(0) + icon_label: QLabel = QLabel(self) icon_label.setObjectName("NotificationIcon") icon_label.setPixmap(pixmap) + self._header_layout.addWidget(icon_label) + + text_widget = QWidget(self) + text_layout: QVBoxLayout = QVBoxLayout(text_widget) + text_layout.setContentsMargins(0, 0, 0, 0) + text_layout.setSpacing(5) self._title_label: QLabel = QLabel(title, self) - self._title_label.setOpenExternalLinks(True) self._title_label.setObjectName("NotificationTitle") - self._title_label.setSizePolicy(QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Preferred)) - self._title_label.setWordWrap(True) + self._title_label.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Preferred) + text_layout.addWidget(self._title_label) + if not title: + self._title_label.hide() + + self._content_label: QLabel = QLabel(content, self) + self._content_label.setOpenExternalLinks(True) + self._content_label.setObjectName("NotificationContent") + self._content_label.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Preferred) + self._content_label.setWordWrap(True) + text_layout.addWidget(self._content_label) + + self._header_layout.addWidget(text_widget) - header_layout: QHBoxLayout = QHBoxLayout(self) - header_layout.setSizeConstraint(QLayout.SetMinimumSize) - header_layout.setContentsMargins(0, 0, 0, 0) - header_layout.addWidget(icon_label) - header_layout.addWidget(self._title_label) if closeable: cancel_button: QPushButton = QPushButton(self) cancel_button.setIcon(QIcon(":/stylesheet/img/close.svg")) cancel_button.setFlat(True) cancel_button.clicked.connect(self.hide) - header_layout.addWidget(cancel_button) - self.setLayout(header_layout) + self._header_layout.addWidget(cancel_button) + self.setLayout(self._header_layout) self.setVisible(False) @Slot(str) - def set_frame_text_receiver(self, text: str) -> None: - self._title_label.setText(text) + def set_frame_text_receiver(self, content: str, title: str = '') -> None: + if title: + self._title_label.setText(title) + self._title_label.show() + else: + self._title_label.hide() + + self._content_label.setText(content) self.setVisible(True) diff --git a/Gems/AWSCore/Code/Tools/ResourceMappingTool/view/error_page.py b/Gems/AWSCore/Code/Tools/ResourceMappingTool/view/error_page.py index df4ce946bb..4232dcba85 100644 --- a/Gems/AWSCore/Code/Tools/ResourceMappingTool/view/error_page.py +++ b/Gems/AWSCore/Code/Tools/ResourceMappingTool/view/error_page.py @@ -5,6 +5,7 @@ For complete copyright and license terms please see the LICENSE at the root of t SPDX-License-Identifier: Apache-2.0 OR MIT """ +from PySide2.QtCore import Qt from PySide2.QtGui import QPixmap from PySide2.QtWidgets import (QHBoxLayout, QLayout, QPushButton, QSizePolicy, QSpacerItem, QVBoxLayout, QWidget) @@ -24,7 +25,13 @@ class ErrorPage(QWidget): page_vertical_layout: QVBoxLayout = QVBoxLayout(self) page_vertical_layout.setSizeConstraint(QLayout.SetMinimumSize) - page_vertical_layout.setMargin(0) + page_vertical_layout.setContentsMargins( + view_size_constants.ERROR_PAGE_LAYOUT_MARGIN_LEFTRIGHT, + view_size_constants.ERROR_PAGE_LAYOUT_MARGIN_TOPBOTTOM, + view_size_constants.ERROR_PAGE_LAYOUT_MARGIN_LEFTRIGHT, + view_size_constants.ERROR_PAGE_LAYOUT_MARGIN_TOPBOTTOM + ) + page_vertical_layout.setSpacing(view_size_constants.ERROR_PAGE_LAYOUT_SPACING) self._setup_notification_area() page_vertical_layout.addWidget(self._notification_area) @@ -39,15 +46,16 @@ class ErrorPage(QWidget): view_size_constants.ERROR_PAGE_NOTIFICATION_AREA_HEIGHT) notification_area_layout: QVBoxLayout = QVBoxLayout(self._notification_area) + notification_area_layout.setSpacing(0) notification_area_layout.setSizeConstraint(QLayout.SetMinimumSize) - notification_area_layout.setContentsMargins( - view_size_constants.ERROR_PAGE_LAYOUT_MARGIN_LEFTRIGHT, - view_size_constants.MAIN_PAGE_LAYOUT_MARGIN_TOPBOTTOM, - view_size_constants.ERROR_PAGE_LAYOUT_MARGIN_LEFTRIGHT, 0) + notification_area_layout.setContentsMargins(0, 0, 0, 0) + notification_area_layout.setSpacing(0) + notification_area_layout.setAlignment(Qt.AlignTop | Qt.AlignLeft) notification_frame: NotificationFrame = \ - NotificationFrame(self, QPixmap(":/error_report_warning.svg"), - error_messages.ERROR_PAGE_TOOL_SETUP_ERROR_MESSAGE, False) + NotificationFrame(self, QPixmap(":/error_report_helper.svg"), + error_messages.ERROR_PAGE_TOOL_SETUP_ERROR_MESSAGE, + False, error_messages.ERROR_PAGE_TOOL_SETUP_ERROR_TITLE) notification_frame.setObjectName("ErrorPage") notification_frame.setMinimumSize(view_size_constants.ERROR_PAGE_MAIN_WINDOW_WIDTH, view_size_constants.ERROR_PAGE_NOTIFICATION_AREA_HEIGHT) @@ -62,11 +70,8 @@ class ErrorPage(QWidget): footer_area_layout: QHBoxLayout = QHBoxLayout(self._footer_area) footer_area_layout.setSizeConstraint(QLayout.SetMinimumSize) - footer_area_layout.setContentsMargins( - view_size_constants.ERROR_PAGE_LAYOUT_MARGIN_LEFTRIGHT, - view_size_constants.ERROR_PAGE_LAYOUT_MARGIN_TOPBOTTOM, - view_size_constants.ERROR_PAGE_LAYOUT_MARGIN_LEFTRIGHT, - view_size_constants.ERROR_PAGE_LAYOUT_MARGIN_TOPBOTTOM) + footer_area_layout.setContentsMargins(0, 0, 0, 0) + footer_area_layout.setAlignment(Qt.AlignBottom | Qt.AlignRight) footer_area_spacer: QSpacerItem = QSpacerItem(view_size_constants.ERROR_PAGE_MAIN_WINDOW_WIDTH, view_size_constants.INTERACTION_COMPONENT_HEIGHT, diff --git a/Gems/AWSCore/Code/Tools/ResourceMappingTool/view/view_edit_page.py b/Gems/AWSCore/Code/Tools/ResourceMappingTool/view/view_edit_page.py index aabe634c0e..b673e547a0 100755 --- a/Gems/AWSCore/Code/Tools/ResourceMappingTool/view/view_edit_page.py +++ b/Gems/AWSCore/Code/Tools/ResourceMappingTool/view/view_edit_page.py @@ -18,6 +18,9 @@ from model.resource_proxy_model import ResourceProxyModel from model.resource_table_model import (ResourceTableConstants, ResourceTableModel) from view.common_view_components import (NotificationFrame, SearchFilterLineEdit) +HIGHLIGHT_FIELD_PROPERTY = 'HighlightField' +HIGHLIGHT_TEXT_PROPERTY = 'HighlightText' + class ViewEditPageConstants(object): NOTIFICATION_PAGE_INDEX = 0 @@ -180,6 +183,7 @@ class ViewEditPage(QWidget): view_size_constants.INTERACTION_COMPONENT_HEIGHT) self._config_file_combobox.setCurrentIndex(-1) header_area_layout.addWidget(self._config_file_combobox) + self._config_file_combobox.currentIndexChanged.connect(self._set_config_file_combobox_style) header_area_spacer: QSpacerItem = QSpacerItem(view_size_constants.TOOL_APPLICATION_MAIN_WINDOW_WIDTH, view_size_constants.INTERACTION_COMPONENT_HEIGHT, @@ -202,7 +206,6 @@ class ViewEditPage(QWidget): self._config_location_button: QPushButton = QPushButton(self._header_area) self._config_location_button.setIcon(QIcon(":/Gallery/Folder.svg")) - self._config_location_button.setFlat(True) self._config_location_button.setMinimumSize(view_size_constants.INTERACTION_COMPONENT_HEIGHT, view_size_constants.INTERACTION_COMPONENT_HEIGHT) header_area_layout.addWidget(self._config_location_button) @@ -341,13 +344,6 @@ class ViewEditPage(QWidget): view_size_constants.INTERACTION_COMPONENT_HEIGHT) footer_area_layout.addWidget(self._save_changes_button) - self._create_new_button: QPushButton = QPushButton(self._footer_area) - self._create_new_button.setObjectName("Primary") - self._create_new_button.setText(notification_label_text.VIEW_EDIT_PAGE_CREATE_NEW_TEXT) - self._create_new_button.setMinimumSize(view_size_constants.CREATE_NEW_BUTTON_WIDTH, - view_size_constants.INTERACTION_COMPONENT_HEIGHT) - footer_area_layout.addWidget(self._create_new_button) - self._rescan_button: QPushButton = QPushButton(self._footer_area) self._rescan_button.setObjectName("Secondary") self._rescan_button.setText(notification_label_text.VIEW_EDIT_PAGE_RESCAN_TEXT) @@ -398,10 +394,6 @@ class ViewEditPage(QWidget): def search_filter_input(self) -> QLineEdit: return self._search_filter_line_edit - @property - def create_new_button(self) -> QPushButton: - return self._create_new_button - @property def rescan_button(self) -> QPushButton: return self._rescan_button @@ -442,24 +434,53 @@ class ViewEditPage(QWidget): if config_files: self._notification_page_frame.set_frame_text_receiver( notification_label_text.VIEW_EDIT_PAGE_SELECT_CONFIG_FILE_MESSAGE) - self._create_new_button.setVisible(False) self._rescan_button.setVisible(False) else: self._notification_page_frame.set_frame_text_receiver( - notification_label_text.VIEW_EDIT_PAGE_NO_CONFIG_FILE_FOUND_MESSAGE) - self._create_new_button.setVisible(True) + notification_label_text.VIEW_EDIT_PAGE_NO_CONFIG_FILE_FOUND_MESSAGE, + notification_label_text.VIEW_EDIT_PAGE_NO_CONFIG_FILE_FOUND_TITLE) self._rescan_button.setVisible(True) - self._config_file_combobox.blockSignals(False) + self.set_config_location() - def set_config_location(self, config_location: str) -> None: + self._config_file_combobox.blockSignals(False) + self._set_config_file_combobox_style() + if len(config_files) == 1: + # If there's only one config file under the selected directory, load it automatically. + self._config_file_combobox.setCurrentIndex(0) + + def _set_config_file_combobox_style(self): + if self._config_file_combobox.count() > 0 and self._config_file_combobox.currentIndex() == -1: + self._config_file_combobox.setProperty(HIGHLIGHT_FIELD_PROPERTY, True) + else: + self._config_file_combobox.setProperty(HIGHLIGHT_FIELD_PROPERTY, False) + + # Update the style + self._config_file_combobox.setStyle(self._config_file_combobox.style()) + + def set_config_location(self, config_location: str = None) -> None: """Set config file location in text label""" self._config_location_text.clear() - metrics: QFontMetrics = QFontMetrics(self._config_location_text.font()) - elided_text: str = metrics.elidedText(config_location, Qt.ElideMiddle, self._config_location_text.width()) - self._config_location_text.setText(elided_text) - self._config_location_text.setToolTip(config_location) + if not config_location: + self._config_location_text.setText(notification_label_text.VIEW_EDIT_PAGE_INVALID_CONFIG_LOCATION_TEXT) + self._config_location_text.setProperty(HIGHLIGHT_TEXT_PROPERTY, True) + + self._config_location_button.setFlat(False) + self._config_location_button.setProperty(HIGHLIGHT_FIELD_PROPERTY, True) + else: + metrics: QFontMetrics = QFontMetrics(self._config_location_text.font()) + elided_text: str = metrics.elidedText(config_location, Qt.ElideMiddle, self._config_location_text.width()) + self._config_location_text.setText(elided_text) + self._config_location_text.setToolTip(config_location) + self._config_location_text.setProperty(HIGHLIGHT_TEXT_PROPERTY, False) + + self._config_location_button.setFlat(True) + self._config_location_button.setProperty(HIGHLIGHT_FIELD_PROPERTY, False) + + # Update the style + self._config_location_text.setStyle(self._config_location_text.style()) + self._config_location_button.setStyle(self._config_location_button.style()) def set_table_view_page_interactions_enabled(self, enabled: bool) -> None: self._table_view_page.setEnabled(enabled) diff --git a/Templates/DefaultProject/Template/Config/default_aws_resource_mappings.json b/Templates/DefaultProject/Template/Config/default_aws_resource_mappings.json new file mode 100644 index 0000000000..79dca07d01 --- /dev/null +++ b/Templates/DefaultProject/Template/Config/default_aws_resource_mappings.json @@ -0,0 +1,6 @@ +{ + "AWSResourceMappings": {}, + "AccountId": "EMPTY", + "Region": "us-east-1", + "Version": "1.0.0" +} diff --git a/Templates/DefaultProject/Template/Registry/awscoreconfiguration.setreg b/Templates/DefaultProject/Template/Registry/awscoreconfiguration.setreg new file mode 100644 index 0000000000..c84ae4c3af --- /dev/null +++ b/Templates/DefaultProject/Template/Registry/awscoreconfiguration.setreg @@ -0,0 +1,10 @@ +{ + "Amazon": + { + "AWSCore": + { + "ProfileName": "default", + "ResourceMappingConfigFileName": "default_aws_resource_mappings.json" + } + } +} diff --git a/Templates/DefaultProject/template.json b/Templates/DefaultProject/template.json index 37409a11b4..6cf861a2ef 100644 --- a/Templates/DefaultProject/template.json +++ b/Templates/DefaultProject/template.json @@ -174,6 +174,12 @@ "isTemplated": false, "isOptional": false }, + { + "file": "Config/default_aws_resource_mappings.json", + "origin": "Config/default_aws_resource_mappings.json", + "isTemplated": false, + "isOptional": false + }, { "file": "EngineFinder.cmake", "origin": "EngineFinder.cmake", @@ -246,6 +252,12 @@ "isTemplated": true, "isOptional": false }, + { + "file": "Registry/awscoreconfiguration.setreg", + "origin": "Registry/awscoreconfiguration.setreg", + "isTemplated": false, + "isOptional": false + }, { "file": "Resources/LegacyLogoLauncher.bmp", "origin": "Resources/LegacyLogoLauncher.bmp", From 7d23f39951382326382422f1c1eb5cf96ef75f2d Mon Sep 17 00:00:00 2001 From: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com> Date: Tue, 31 Aug 2021 11:19:10 -0700 Subject: [PATCH 34/66] revert change to leave it without any behavior change Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com> --- .../Code/Source/Converters/FIR-Weights.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gems/Atom/Asset/ImageProcessingAtom/Code/Source/Converters/FIR-Weights.cpp b/Gems/Atom/Asset/ImageProcessingAtom/Code/Source/Converters/FIR-Weights.cpp index 46bac7c595..41b0fd8b41 100644 --- a/Gems/Atom/Asset/ImageProcessingAtom/Code/Source/Converters/FIR-Weights.cpp +++ b/Gems/Atom/Asset/ImageProcessingAtom/Code/Source/Converters/FIR-Weights.cpp @@ -296,8 +296,8 @@ namespace ImageProcessingAtom /* skip leading and trailing zeros */ if (trimZeros) { - /* set i0 and i1 to the nonzero support of the filter */ - i0 = i1 = lastnonzero + 1; + /* set i1 to the nonzero support of the filter */ + i1 = lastnonzero + 1; } if (sumiWeights != WEIGHTONE) From 2bf83ad9fb8d7382f1ab2460cc074a380992453e Mon Sep 17 00:00:00 2001 From: Mike Chang <62353586+amzn-changml@users.noreply.github.com> Date: Tue, 31 Aug 2021 13:47:57 -0700 Subject: [PATCH 35/66] Ubuntu 20.04 package update for clang-12 (#3727) * Updated CMake, added libxkbcommon-dev and clang-12 * Add Corretto JDK 11 to packages for Ubuntu 20 and 18 * Add mountpoint creation command Signed-off-by: Mike Chang --- .../Linux/install-ubuntu-build-tools.sh | 17 +++++++++++++++++ .../build_node/Platform/Linux/install-ubuntu.sh | 7 +++++++ .../Linux/package-list.ubuntu-bionic.txt | 1 + .../Linux/package-list.ubuntu-focal.txt | 8 ++++---- 4 files changed, 29 insertions(+), 4 deletions(-) diff --git a/scripts/build/build_node/Platform/Linux/install-ubuntu-build-tools.sh b/scripts/build/build_node/Platform/Linux/install-ubuntu-build-tools.sh index 478f3a37dc..88b9f9b505 100755 --- a/scripts/build/build_node/Platform/Linux/install-ubuntu-build-tools.sh +++ b/scripts/build/build_node/Platform/Linux/install-ubuntu-build-tools.sh @@ -112,6 +112,23 @@ else fi +# +# Add Amazon Corretto repository to install the necessary JDK for Jenkins and Android +# + +CORRETTO_REPO_COUNT=$(cat /etc/apt/sources.list | grep ^dev | grep https://apt.corretto.aws | wc -l) + +if [ $CORRETTO -eq 0 ] +then + echo Adding Corretto Repository for JDK + + wget -O- https://apt.corretto.aws/corretto.key | apt-key add - + add-apt-repository 'deb https://apt.corretto.aws stable main' + apt-get update +else + echo Corretto repo already set +fi + # Read from the package list and process each package PACKAGE_FILE_LIST=package-list.ubuntu-$UBUNTU_DISTRO.txt diff --git a/scripts/build/build_node/Platform/Linux/install-ubuntu.sh b/scripts/build/build_node/Platform/Linux/install-ubuntu.sh index 60f0114872..d83ece9d47 100755 --- a/scripts/build/build_node/Platform/Linux/install-ubuntu.sh +++ b/scripts/build/build_node/Platform/Linux/install-ubuntu.sh @@ -40,6 +40,13 @@ then exit 1 fi +# Add mountpoint for Jenkins +if [ ! -d /data ] +then + echo Data folder does not exist. Creating it. + mkdir /data + chown $USER /data +fi echo Packages and tools for O3DE setup complete exit 0 diff --git a/scripts/build/build_node/Platform/Linux/package-list.ubuntu-bionic.txt b/scripts/build/build_node/Platform/Linux/package-list.ubuntu-bionic.txt index 9cc9d934c1..625909e214 100644 --- a/scripts/build/build_node/Platform/Linux/package-list.ubuntu-bionic.txt +++ b/scripts/build/build_node/Platform/Linux/package-list.ubuntu-bionic.txt @@ -4,6 +4,7 @@ cmake/3.20.1-0kitware1ubuntu18.04.1 # For cmake clang-6.0 # For Ninja Build System ninja-build # For the compiler and its dependencies +java-11-amazon-corretto-jdk # For Jenkins and Android # Build Libraries libglu1-mesa-dev # For Qt (GL dependency) diff --git a/scripts/build/build_node/Platform/Linux/package-list.ubuntu-focal.txt b/scripts/build/build_node/Platform/Linux/package-list.ubuntu-focal.txt index d5a50cfa97..21c4755a2e 100644 --- a/scripts/build/build_node/Platform/Linux/package-list.ubuntu-focal.txt +++ b/scripts/build/build_node/Platform/Linux/package-list.ubuntu-focal.txt @@ -1,9 +1,10 @@ # Package list for Ubuntu 20.04 # Build Tools Packages -cmake/3.20.1-0kitware1ubuntu20.04.1 # For cmake -clang-6.0 # For Ninja Build System +cmake/3.21.1-0kitware1ubuntu20.04.1 # For cmake +clang-12 # For Ninja Build System ninja-build # For the compiler and its dependencies +java-11-amazon-corretto-jdk # For Jenkins and Android # Build Libraries libglu1-mesa-dev # For Qt (GL dependency) @@ -12,7 +13,6 @@ libxcb-xinput0 # For Qt plugins at runtime libfontconfig1-dev # For Qt plugins at runtime libcurl4-openssl-dev # For HttpRequestor libsdl2-dev # for WWise/Audio +libxkbcommon-dev zlib1g-dev mesa-common-dev - - From 3b119b6f327bc4874a561d6b098b541803436fa7 Mon Sep 17 00:00:00 2001 From: chcurran <82187351+carlitosan@users.noreply.github.com> Date: Tue, 31 Aug 2021 14:07:19 -0700 Subject: [PATCH 36/66] hot fix for json event input serialization Signed-off-by: chcurran <82187351+carlitosan@users.noreply.github.com> --- .../Code/Editor/Nodes/NodeCreateUtils.cpp | 2 +- .../Widgets/NodePalette/NodePaletteModel.cpp | 28 ++----------------- .../Code/Include/ScriptCanvas/Core/Core.cpp | 18 ++++++++++++ .../Code/Include/ScriptCanvas/Core/Core.h | 2 ++ .../Serialization/DatumSerializer.cpp | 23 +++++++++++++-- 5 files changed, 44 insertions(+), 29 deletions(-) diff --git a/Gems/ScriptCanvas/Code/Editor/Nodes/NodeCreateUtils.cpp b/Gems/ScriptCanvas/Code/Editor/Nodes/NodeCreateUtils.cpp index 3bcd940a01..c1b557c9c4 100644 --- a/Gems/ScriptCanvas/Code/Editor/Nodes/NodeCreateUtils.cpp +++ b/Gems/ScriptCanvas/Code/Editor/Nodes/NodeCreateUtils.cpp @@ -408,7 +408,7 @@ namespace ScriptCanvasEditor::Nodes AZ::BehaviorAzEventDescription behaviorAzEventDesc; AZ::AttributeReader azEventDescAttributeReader(nullptr, azEventDescAttribute); azEventDescAttributeReader.Read(behaviorAzEventDesc); - if(behaviorAzEventDesc.m_eventName.empty()) + if (behaviorAzEventDesc.m_eventName.empty()) { AZ_Error("NodeUtils", false, "Cannot create an AzEvent node with empty event name") return {}; diff --git a/Gems/ScriptCanvas/Code/Editor/View/Widgets/NodePalette/NodePaletteModel.cpp b/Gems/ScriptCanvas/Code/Editor/View/Widgets/NodePalette/NodePaletteModel.cpp index 38def487e6..390dbaf0fb 100644 --- a/Gems/ScriptCanvas/Code/Editor/View/Widgets/NodePalette/NodePaletteModel.cpp +++ b/Gems/ScriptCanvas/Code/Editor/View/Widgets/NodePalette/NodePaletteModel.cpp @@ -140,21 +140,10 @@ namespace // If the reflected method returns an AZ::Event, reflect it to the SerializeContext if (AZ::MethodReturnsAzEventByReferenceOrPointer(method)) { - AZ::SerializeContext* serializeContext{}; - AZ::ComponentApplicationBus::BroadcastResult(serializeContext, &AZ::ComponentApplicationRequests::GetSerializeContext); const AZ::BehaviorParameter* resultParameter = method.GetResult(); - AZ::SerializeContext::ClassData classData; - classData.m_name = resultParameter->m_name; - classData.m_typeId = resultParameter->m_typeId; - classData.m_azRtti = resultParameter->m_azRtti; - - auto EventPlaceholderAnyCreator = [](AZ::SerializeContext*) -> AZStd::any - { - return AZStd::make_any(); - }; - serializeContext->RegisterType(resultParameter->m_typeId, AZStd::move(classData), EventPlaceholderAnyCreator); - + ScriptCanvas::ReflectEventTypeOnDemand(resultParameter->m_typeId, resultParameter->m_name, resultParameter->m_azRtti); } + nodePaletteModel.RegisterClassNode(categoryPath, behaviorClass ? behaviorClass->m_name : "", name, &method, &behaviorContext, propertyStatus, isOverloaded); } @@ -177,19 +166,8 @@ namespace // If the reflected method returns an AZ::Event, reflect it to the SerializeContext if (AZ::MethodReturnsAzEventByReferenceOrPointer(behaviorMethod)) { - AZ::SerializeContext* serializeContext{}; - AZ::ComponentApplicationBus::BroadcastResult(serializeContext, &AZ::ComponentApplicationRequests::GetSerializeContext); const AZ::BehaviorParameter* resultParameter = behaviorMethod.GetResult(); - AZ::SerializeContext::ClassData classData; - classData.m_name = resultParameter->m_name; - classData.m_typeId = resultParameter->m_typeId; - classData.m_azRtti = resultParameter->m_azRtti; - - auto EventPlaceholderAnyCreator = [](AZ::SerializeContext*) -> AZStd::any - { - return AZStd::make_any(); - }; - serializeContext->RegisterType(resultParameter->m_typeId, AZStd::move(classData), EventPlaceholderAnyCreator); + ScriptCanvas::ReflectEventTypeOnDemand(resultParameter->m_typeId, resultParameter->m_name, resultParameter->m_azRtti); } nodePaletteModel.RegisterMethodNode(behaviorContext, behaviorMethod); diff --git a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Core/Core.cpp b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Core/Core.cpp index c45dc01c35..1986eb653e 100644 --- a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Core/Core.cpp +++ b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Core/Core.cpp @@ -153,4 +153,22 @@ namespace ScriptCanvas grammarVersion = GrammarVersion::Current; runtimeVersion = RuntimeVersion::Current; } + + void ReflectEventTypeOnDemand(const AZ::TypeId& typeId, AZStd::string_view name, AZ::IRttiHelper* rttiHelper) + { + AZ::SerializeContext* serializeContext{}; + AZ::ComponentApplicationBus::BroadcastResult(serializeContext, &AZ::ComponentApplicationRequests::GetSerializeContext); + AZ::SerializeContext::ClassData classData; + classData.m_name = name.data(); + classData.m_typeId = typeId; + classData.m_azRtti = rttiHelper; + + auto EventPlaceholderAnyCreator = [](AZ::SerializeContext*) -> AZStd::any + { + return AZStd::make_any(); + }; + + serializeContext->RegisterType(typeId, AZStd::move(classData), EventPlaceholderAnyCreator); + } + } diff --git a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Core/Core.h b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Core/Core.h index 76542d6097..170e4c5acb 100644 --- a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Core/Core.h +++ b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Core/Core.h @@ -279,6 +279,8 @@ namespace ScriptCanvas bool m_wasAdded = false; AZ::Entity* m_buildEntity = nullptr; }; + + void ReflectEventTypeOnDemand(const AZ::TypeId& typeId, AZStd::string_view name, AZ::IRttiHelper* rttiHelper = nullptr); } namespace AZStd diff --git a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Serialization/DatumSerializer.cpp b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Serialization/DatumSerializer.cpp index 5bfb69b11e..37d6e2c35f 100644 --- a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Serialization/DatumSerializer.cpp +++ b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Serialization/DatumSerializer.cpp @@ -6,12 +6,27 @@ * */ +#include #include #include #include using namespace ScriptCanvas; +namespace DatumSerializerCpp +{ + bool IsEventInput(const AZ::Uuid& inputType) + { + AZ::BehaviorContext* behaviorContext = nullptr; + AZ::ComponentApplicationBus::BroadcastResult(behaviorContext, &AZ::ComponentApplicationRequests::GetBehaviorContext); + AZ_Assert(behaviorContext, "Can't serialize data properly without checking the type, for which we need behavior context!"); + auto bcClassIter = behaviorContext->m_typeToClassMap.find(inputType); + return bcClassIter != behaviorContext->m_typeToClassMap.end() + && bcClassIter->second->m_azRtti + && bcClassIter->second->m_azRtti->GetGenericTypeId() == azrtti_typeid(); + } +} + namespace AZ { AZ_CLASS_ALLOCATOR_IMPL(DatumSerializer, SystemAllocator, 0); @@ -57,7 +72,7 @@ namespace AZ return context.Report ( JSR::Tasks::ReadField , JSR::Outcomes::Missing - , "DatumSerializer::Load failed to load the 'isNullPointer'' member"); + , "DatumSerializer::Load failed to load the 'isNullPointer' member"); } if (isNullPointerMember->value.GetBool()) @@ -159,11 +174,13 @@ namespace AZ , azrtti_typeidGetType())>() , context)); + // datum storage begin auto inputObjectSource = inputScriptDataPtr->GetAsDanger(); - outputValue.AddMember("isNullPointer", rapidjson::Value(inputObjectSource == nullptr), context.GetJsonAllocator()); + const bool isNullPointer = inputObjectSource == nullptr || DatumSerializerCpp::IsEventInput(inputScriptDataPtr->GetType().GetAZType()); + outputValue.AddMember("isNullPointer", rapidjson::Value(isNullPointer), context.GetJsonAllocator()); - if (inputObjectSource) + if (!isNullPointer) { rapidjson::Value typeValue; result.Combine(StoreTypeId(typeValue, inputScriptDataPtr->GetType().GetAZType(), context)); From 39cf45e54438c0f9472b549d43e464858c9ffb6e Mon Sep 17 00:00:00 2001 From: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com> Date: Tue, 31 Aug 2021 14:46:50 -0700 Subject: [PATCH 37/66] Setting /permissive- to make MSVC more "standard" (#3701) Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com> --- .../PythonCoverageEditorSystemComponent.cpp | 2 +- .../AzCore/std/function/function_base.h | 7 +- .../AzCore/std/function/function_template.h | 2 +- .../AzCore/std/parallel/binary_semaphore.h | 4 +- .../internal/condition_variable_WinAPI.h | 4 +- Code/Framework/AzCore/Tests/AZStd/Hashed.cpp | 4 +- Code/Framework/AzCore/Tests/AZStd/Ordered.cpp | 4 +- .../Containers/Views/PairIteratorTests.cpp | 12 +++ .../TestImpactClientSequenceReport.h | 24 +++--- .../TestImpactFramework/TestImpactRepoPath.h | 10 +-- .../TestImpactWin32_TestTargetExtension.cpp | 4 +- .../RHI/DX12/Code/Source/RHI/CommandList.h | 2 + Gems/Blast/Code/Source/Family/DamageManager.h | 1 + Gems/PhysX/Code/Tests/PhysXJointsTest.cpp | 8 +- Gems/PhysX/Code/Tests/PhysXSceneTests.cpp | 2 +- .../Code/Source/Core/WhiteBoxToolApi.cpp | 74 ++++++++++--------- .../Common/MSVC/Configurations_msvc.cmake | 1 + 17 files changed, 94 insertions(+), 71 deletions(-) diff --git a/AutomatedTesting/Gem/PythonCoverage/Code/Source/PythonCoverageEditorSystemComponent.cpp b/AutomatedTesting/Gem/PythonCoverage/Code/Source/PythonCoverageEditorSystemComponent.cpp index ad6cf216d7..1528e09169 100644 --- a/AutomatedTesting/Gem/PythonCoverage/Code/Source/PythonCoverageEditorSystemComponent.cpp +++ b/AutomatedTesting/Gem/PythonCoverage/Code/Source/PythonCoverageEditorSystemComponent.cpp @@ -17,7 +17,7 @@ namespace PythonCoverage { - static constexpr char* const LogCallSite = "PythonCoverageEditorSystemComponent"; + static constexpr const char* const LogCallSite = "PythonCoverageEditorSystemComponent"; void PythonCoverageEditorSystemComponent::Reflect(AZ::ReflectContext* context) { diff --git a/Code/Framework/AzCore/AzCore/std/function/function_base.h b/Code/Framework/AzCore/AzCore/std/function/function_base.h index b39a5cf81b..8ceba11239 100644 --- a/Code/Framework/AzCore/AzCore/std/function/function_base.h +++ b/Code/Framework/AzCore/AzCore/std/function/function_base.h @@ -19,6 +19,7 @@ #include #include #include +#include #include #define AZSTD_FUNCTION_TARGET_FIX(x) @@ -591,8 +592,8 @@ namespace AZStd Internal::function_util::function_buffer type_result; type_result.type.type = aztypeid(Functor); - type_result.type.const_qualified = is_const::value; - type_result.type.volatile_qualified = is_volatile::value; + type_result.type.const_qualified = AZStd::is_const::value; + type_result.type.volatile_qualified = AZStd::is_volatile::value; vtable->manager(functor, type_result, Internal::function_util::check_functor_type_tag); return static_cast(type_result.obj_ptr); } @@ -608,7 +609,7 @@ namespace AZStd Internal::function_util::function_buffer type_result; type_result.type.type = aztypeid(Functor); type_result.type.const_qualified = true; - type_result.type.volatile_qualified = is_volatile::value; + type_result.type.volatile_qualified = AZStd::is_volatile::value; vtable->manager(functor, type_result, Internal::function_util::check_functor_type_tag); // GCC 2.95.3 gets the CV qualifiers wrong here, so we // can't do the static_cast that we should do. diff --git a/Code/Framework/AzCore/AzCore/std/function/function_template.h b/Code/Framework/AzCore/AzCore/std/function/function_template.h index 7f388c4006..8e389cb53d 100644 --- a/Code/Framework/AzCore/AzCore/std/function/function_template.h +++ b/Code/Framework/AzCore/AzCore/std/function/function_template.h @@ -359,7 +359,7 @@ namespace AZStd { functor.obj_ref.obj_ptr = (void*)&f.get(); functor.obj_ref.is_const_qualified = is_const::value; - functor.obj_ref.is_volatile_qualified = is_volatile::value; + functor.obj_ref.is_volatile_qualified = AZStd::is_volatile::value; return true; } else diff --git a/Code/Framework/AzCore/AzCore/std/parallel/binary_semaphore.h b/Code/Framework/AzCore/AzCore/std/parallel/binary_semaphore.h index f9d0cdbe4d..9496d7c18b 100644 --- a/Code/Framework/AzCore/AzCore/std/parallel/binary_semaphore.h +++ b/Code/Framework/AzCore/AzCore/std/parallel/binary_semaphore.h @@ -70,11 +70,11 @@ namespace AZStd bool try_acquire_until(const chrono::time_point& abs_time) { auto timeNow = chrono::system_clock::now(); - if (timeNow >= absTime) + if (timeNow >= abs_time) { return false; // we timed out already! } - auto deltaTime = absTime - timeNow; + auto deltaTime = abs_time - timeNow; auto timeToTry = chrono::duration_cast(deltaTime); return (WaitForSingleObject(m_event, aznumeric_cast(timeToTry.count())) == AZ_WAIT_OBJECT_0); } diff --git a/Code/Framework/AzCore/Platform/Common/WinAPI/AzCore/std/parallel/internal/condition_variable_WinAPI.h b/Code/Framework/AzCore/Platform/Common/WinAPI/AzCore/std/parallel/internal/condition_variable_WinAPI.h index 536144b814..4ac95139db 100644 --- a/Code/Framework/AzCore/Platform/Common/WinAPI/AzCore/std/parallel/internal/condition_variable_WinAPI.h +++ b/Code/Framework/AzCore/Platform/Common/WinAPI/AzCore/std/parallel/internal/condition_variable_WinAPI.h @@ -198,7 +198,7 @@ namespace AZStd AZ_FORCE_INLINE cv_status condition_variable_any::wait_for(Lock& lock, const chrono::duration& rel_time) { chrono::milliseconds toWait = rel_time; - EnterCriticalSection(&m_mutex); + EnterCriticalSection(static_cast(&m_mutex)); lock.unlock(); // We need to make sure we use CriticalSection based mutex. @@ -217,7 +217,7 @@ namespace AZStd returnCode = cv_status::timeout; } } - LeaveCriticalSection(&m_mutex); + LeaveCriticalSection(static_cast(&m_mutex)); lock.lock(); return returnCode; } diff --git a/Code/Framework/AzCore/Tests/AZStd/Hashed.cpp b/Code/Framework/AzCore/Tests/AZStd/Hashed.cpp index 4e4dfc1f89..b92dee44b6 100644 --- a/Code/Framework/AzCore/Tests/AZStd/Hashed.cpp +++ b/Code/Framework/AzCore/Tests/AZStd/Hashed.cpp @@ -2100,8 +2100,8 @@ namespace UnitTest typename TypeParam::ContainerType container; container.emplace(-2352); container.emplace(3534); - container.emplace(1535408957); - container.emplace(3310556522); + container.emplace(535408957); + container.emplace(1310556522); container.emplace(55546193); container.emplace(1582); diff --git a/Code/Framework/AzCore/Tests/AZStd/Ordered.cpp b/Code/Framework/AzCore/Tests/AZStd/Ordered.cpp index 79abd71a70..ca7d5cba42 100644 --- a/Code/Framework/AzCore/Tests/AZStd/Ordered.cpp +++ b/Code/Framework/AzCore/Tests/AZStd/Ordered.cpp @@ -1805,8 +1805,8 @@ namespace UnitTest typename TypeParam::ContainerType container; container.emplace(-2352); container.emplace(3534); - container.emplace(1535408957); - container.emplace(3310556522); + container.emplace(535408957); + container.emplace(1310556522); container.emplace(55546193); container.emplace(1582); diff --git a/Code/Tools/SceneAPI/SceneCore/Tests/Containers/Views/PairIteratorTests.cpp b/Code/Tools/SceneAPI/SceneCore/Tests/Containers/Views/PairIteratorTests.cpp index d80f54dfb5..2437d8557e 100644 --- a/Code/Tools/SceneAPI/SceneCore/Tests/Containers/Views/PairIteratorTests.cpp +++ b/Code/Tools/SceneAPI/SceneCore/Tests/Containers/Views/PairIteratorTests.cpp @@ -19,6 +19,18 @@ #include #include +// This test gives trouble with /permissive-, the following instantiation workarounds the missing resolution +namespace std +{ + template<> + void iter_swap( + AZ::SceneAPI::Containers::Views::PairIterator lhs, + AZ::SceneAPI::Containers::Views::PairIterator rhs) + { + AZStd::iter_swap(lhs, rhs); + } +} + namespace AZ { namespace SceneAPI diff --git a/Code/Tools/TestImpactFramework/Runtime/Code/Include/TestImpactFramework/TestImpactClientSequenceReport.h b/Code/Tools/TestImpactFramework/Runtime/Code/Include/TestImpactFramework/TestImpactClientSequenceReport.h index 1ddd1042e6..b39c2c8bcb 100644 --- a/Code/Tools/TestImpactFramework/Runtime/Code/Include/TestImpactFramework/TestImpactClientSequenceReport.h +++ b/Code/Tools/TestImpactFramework/Runtime/Code/Include/TestImpactFramework/TestImpactClientSequenceReport.h @@ -368,7 +368,7 @@ namespace TestImpact const AZStd::vector& draftedTestRuns, TestRunReport&& selectedTestRunReport, TestRunReport&& draftedTestRunReport) - : SequenceReportBase( + : SequenceReportBase ( type, maxConcurrency, testTargetTimeout, @@ -397,57 +397,57 @@ namespace TestImpact // SequenceReport overrides ... AZStd::chrono::milliseconds GetDuration() const override { - return SequenceReportBase::GetDuration() + m_draftedTestRunReport.GetDuration(); + return GetDuration() + m_draftedTestRunReport.GetDuration(); } TestSequenceResult GetResult() const override { - return CalculateMultiTestSequenceResult({ SequenceReportBase::GetResult(), m_draftedTestRunReport.GetResult() }); + return CalculateMultiTestSequenceResult({ GetResult(), m_draftedTestRunReport.GetResult() }); } size_t GetTotalNumTestRuns() const override { - return SequenceReportBase::GetTotalNumTestRuns() + m_draftedTestRunReport.GetTotalNumTestRuns(); + return GetTotalNumTestRuns() + m_draftedTestRunReport.GetTotalNumTestRuns(); } size_t GetTotalNumPassingTests() const override { - return SequenceReportBase::GetTotalNumPassingTests() + m_draftedTestRunReport.GetTotalNumPassingTests(); + return GetTotalNumPassingTests() + m_draftedTestRunReport.GetTotalNumPassingTests(); } size_t GetTotalNumFailingTests() const override { - return SequenceReportBase::GetTotalNumFailingTests() + m_draftedTestRunReport.GetTotalNumFailingTests(); + return GetTotalNumFailingTests() + m_draftedTestRunReport.GetTotalNumFailingTests(); } size_t GetTotalNumDisabledTests() const override { - return SequenceReportBase::GetTotalNumDisabledTests() + m_draftedTestRunReport.GetTotalNumDisabledTests(); + return GetTotalNumDisabledTests() + m_draftedTestRunReport.GetTotalNumDisabledTests(); } size_t GetTotalNumPassingTestRuns() const override { - return SequenceReportBase::GetTotalNumPassingTestRuns() + m_draftedTestRunReport.GetNumPassingTestRuns(); + return GetTotalNumPassingTestRuns() + m_draftedTestRunReport.GetNumPassingTestRuns(); } size_t GetTotalNumFailingTestRuns() const override { - return SequenceReportBase::GetTotalNumFailingTestRuns() + m_draftedTestRunReport.GetNumFailingTestRuns(); + return GetTotalNumFailingTestRuns() + m_draftedTestRunReport.GetNumFailingTestRuns(); } size_t GetTotalNumExecutionFailureTestRuns() const override { - return SequenceReportBase::GetTotalNumExecutionFailureTestRuns() + m_draftedTestRunReport.GetNumExecutionFailureTestRuns(); + return GetTotalNumExecutionFailureTestRuns() + m_draftedTestRunReport.GetNumExecutionFailureTestRuns(); } size_t GetTotalNumTimedOutTestRuns() const override { - return SequenceReportBase::GetTotalNumTimedOutTestRuns() + m_draftedTestRunReport.GetNumTimedOutTestRuns(); + return GetTotalNumTimedOutTestRuns() + m_draftedTestRunReport.GetNumTimedOutTestRuns(); } size_t GetTotalNumUnexecutedTestRuns() const override { - return SequenceReportBase::GetTotalNumUnexecutedTestRuns() + m_draftedTestRunReport.GetNumUnexecutedTestRuns(); + return GetTotalNumUnexecutedTestRuns() + m_draftedTestRunReport.GetNumUnexecutedTestRuns(); } private: AZStd::vector m_draftedTestRuns; diff --git a/Code/Tools/TestImpactFramework/Runtime/Code/Include/TestImpactFramework/TestImpactRepoPath.h b/Code/Tools/TestImpactFramework/Runtime/Code/Include/TestImpactFramework/TestImpactRepoPath.h index 86f4a98b78..e784c43500 100644 --- a/Code/Tools/TestImpactFramework/Runtime/Code/Include/TestImpactFramework/TestImpactRepoPath.h +++ b/Code/Tools/TestImpactFramework/Runtime/Code/Include/TestImpactFramework/TestImpactRepoPath.h @@ -26,11 +26,11 @@ namespace TestImpact constexpr RepoPath() = default; constexpr RepoPath(const RepoPath&) = default; constexpr RepoPath(RepoPath&&) noexcept = default; - constexpr RepoPath::RepoPath(const string_type& path) noexcept; - constexpr RepoPath::RepoPath(const string_view_type& path) noexcept; - constexpr RepoPath::RepoPath(const value_type* path) noexcept; - constexpr RepoPath::RepoPath(const AZ::IO::PathView& path); - constexpr RepoPath::RepoPath(const AZ::IO::Path& path); + constexpr RepoPath(const string_type& path) noexcept; + constexpr RepoPath(const string_view_type& path) noexcept; + constexpr RepoPath(const value_type* path) noexcept; + constexpr RepoPath(const AZ::IO::PathView& path); + constexpr RepoPath(const AZ::IO::Path& path); RepoPath& operator=(const RepoPath&) noexcept = default; RepoPath& operator=(const string_type&) noexcept; diff --git a/Code/Tools/TestImpactFramework/Runtime/Code/Source/Platform/Windows/TestEngine/JobRunner/TestImpactWin32_TestTargetExtension.cpp b/Code/Tools/TestImpactFramework/Runtime/Code/Source/Platform/Windows/TestEngine/JobRunner/TestImpactWin32_TestTargetExtension.cpp index 57647bb118..68beae5a0a 100644 --- a/Code/Tools/TestImpactFramework/Runtime/Code/Source/Platform/Windows/TestEngine/JobRunner/TestImpactWin32_TestTargetExtension.cpp +++ b/Code/Tools/TestImpactFramework/Runtime/Code/Source/Platform/Windows/TestEngine/JobRunner/TestImpactWin32_TestTargetExtension.cpp @@ -14,8 +14,8 @@ namespace TestImpact { AZStd::string GetTestTargetExtension(const TestTarget* testTarget) { - static constexpr char* const standAloneExtension = ".exe"; - static constexpr char* const testRunnerExtension = ".dll"; + static constexpr const char* const standAloneExtension = ".exe"; + static constexpr const char* const testRunnerExtension = ".dll"; switch (const auto launchMethod = testTarget->GetLaunchMethod(); launchMethod) { diff --git a/Gems/Atom/RHI/DX12/Code/Source/RHI/CommandList.h b/Gems/Atom/RHI/DX12/Code/Source/RHI/CommandList.h index b0c8642d68..443ab3e73a 100644 --- a/Gems/Atom/RHI/DX12/Code/Source/RHI/CommandList.h +++ b/Gems/Atom/RHI/DX12/Code/Source/RHI/CommandList.h @@ -11,6 +11,8 @@ #include #include #include +#include +#include #include #include #include diff --git a/Gems/Blast/Code/Source/Family/DamageManager.h b/Gems/Blast/Code/Source/Family/DamageManager.h index af7bae096b..f56bd7bbdf 100644 --- a/Gems/Blast/Code/Source/Family/DamageManager.h +++ b/Gems/Blast/Code/Source/Family/DamageManager.h @@ -9,6 +9,7 @@ #include #include +#include namespace Blast { diff --git a/Gems/PhysX/Code/Tests/PhysXJointsTest.cpp b/Gems/PhysX/Code/Tests/PhysXJointsTest.cpp index ac5a99e29a..3a7eac0884 100644 --- a/Gems/PhysX/Code/Tests/PhysXJointsTest.cpp +++ b/Gems/PhysX/Code/Tests/PhysXJointsTest.cpp @@ -329,23 +329,23 @@ namespace PhysX if (auto* sceneInterface = AZ::Interface::Get()) { - jointHandle = sceneInterface->AddJoint(m_testSceneHandle, &jointConfiguration, m_parentBodyHandle, m_childBodyHandle); + jointHandle = sceneInterface->AddJoint(this->m_testSceneHandle, &jointConfiguration, this->m_parentBodyHandle, this->m_childBodyHandle); } EXPECT_NE(jointHandle, AzPhysics::InvalidJointHandle); // run physics to trigger the the move of parent body - TestUtils::UpdateScene(m_testSceneHandle, AzPhysics::SystemConfiguration::DefaultFixedTimestep, 1); + TestUtils::UpdateScene(this->m_testSceneHandle, AzPhysics::SystemConfiguration::DefaultFixedTimestep, 1); AZ::Vector3 childCurrentPos; if (auto* sceneInterface = AZ::Interface::Get()) { - auto* childBody = sceneInterface->GetSimulatedBodyFromHandle(m_testSceneHandle, m_childBodyHandle); + auto* childBody = sceneInterface->GetSimulatedBodyFromHandle(this->m_testSceneHandle, this->m_childBodyHandle); childCurrentPos = childBody->GetPosition(); } - EXPECT_GT(childCurrentPos.GetX(), m_childInitialPos.GetX()); + EXPECT_GT(childCurrentPos.GetX(), this->m_childInitialPos.GetX()); } #endif // ENABLE_JOINTS_TYPED_TEST_CASE } diff --git a/Gems/PhysX/Code/Tests/PhysXSceneTests.cpp b/Gems/PhysX/Code/Tests/PhysXSceneTests.cpp index 7baaa34ab5..a4db2e9f0e 100644 --- a/Gems/PhysX/Code/Tests/PhysXSceneTests.cpp +++ b/Gems/PhysX/Code/Tests/PhysXSceneTests.cpp @@ -171,7 +171,7 @@ namespace PhysX //invalid simulated body handle returns null nullBody = sceneInterface->GetSimulatedBodyFromHandle(AzPhysics::InvalidSceneHandle, AzPhysics::InvalidSimulatedBodyHandle); EXPECT_TRUE(nullBody == nullptr); - nullBody = sceneInterface->GetSimulatedBodyFromHandle(m_testSceneHandle, AzPhysics::SimulatedBodyHandle(2347892348, 9)); + nullBody = sceneInterface->GetSimulatedBodyFromHandle(m_testSceneHandle, AzPhysics::SimulatedBodyHandle(1347892348, 9)); EXPECT_TRUE(nullBody == nullptr); //get 1 simulated body, should not be null. diff --git a/Gems/WhiteBox/Code/Source/Core/WhiteBoxToolApi.cpp b/Gems/WhiteBox/Code/Source/Core/WhiteBoxToolApi.cpp index 7e96c83810..afba511603 100644 --- a/Gems/WhiteBox/Code/Source/Core/WhiteBoxToolApi.cpp +++ b/Gems/WhiteBox/Code/Source/Core/WhiteBoxToolApi.cpp @@ -29,6 +29,46 @@ #include #include +namespace OpenMesh +{ + // Overload methods need to be declared before including OpenMesh so their definitions are found + + inline AZ::Vector3 normalize(const AZ::Vector3& v) + { + AZ::Vector3 vret = v; + vret.Normalize(); + return vret; + } + + inline float dot(const AZ::Vector3& v1, const AZ::Vector3& v2) + { + return v1.Dot(v2); + } + + inline float norm(const AZ::Vector3& v) + { + return v.GetLength(); + } + + inline AZ::Vector3 cross(const AZ::Vector3& v1, const AZ::Vector3& v2) + { + return v1.Cross(v2); + } + + inline AZ::Vector3 vectorize(AZ::Vector3& v, float s) + { + v = AZ::Vector3(s); + return v; + } + + inline void newell_norm(AZ::Vector3& n, const AZ::Vector3& a, const AZ::Vector3& b) + { + n.SetX(n.GetX() + (a.GetY() * b.GetZ())); + n.SetY(n.GetY() + (a.GetZ() * b.GetX())); + n.SetZ(n.GetZ() + (a.GetX() * b.GetY())); + } +} + // OpenMesh includes AZ_PUSH_DISABLE_WARNING(4702, "-Wunknown-warning-option") // OpenMesh\Core\Utils\Property.hh has unreachable code #include @@ -82,40 +122,6 @@ namespace OpenMesh } }; - inline AZ::Vector3 normalize(AZ::Vector3& v) - { - v.Normalize(); - return v; - } - - inline float dot(const AZ::Vector3& v1, const AZ::Vector3& v2) - { - return v1.Dot(v2); - } - - inline float norm(const AZ::Vector3& v) - { - return v.GetLength(); - } - - inline AZ::Vector3 cross(const AZ::Vector3& v1, const AZ::Vector3& v2) - { - return v1.Cross(v2); - } - - inline AZ::Vector3 vectorize(AZ::Vector3& v, float s) - { - v = AZ::Vector3(s); - return v; - } - - inline void newell_norm(AZ::Vector3& n, const AZ::Vector3& a, const AZ::Vector3& b) - { - n.SetX(n.GetX() + (a.GetY() * b.GetZ())); - n.SetY(n.GetY() + (a.GetZ() * b.GetX())); - n.SetZ(n.GetZ() + (a.GetX() * b.GetY())); - } - template<> inline void vector_cast(const AZ::Vector3& src, OpenMesh::Vec3f& dst, GenProg::Int2Type<3> /*unused*/) { diff --git a/cmake/Platform/Common/MSVC/Configurations_msvc.cmake b/cmake/Platform/Common/MSVC/Configurations_msvc.cmake index 7c7120fe15..647ced54a2 100644 --- a/cmake/Platform/Common/MSVC/Configurations_msvc.cmake +++ b/cmake/Platform/Common/MSVC/Configurations_msvc.cmake @@ -33,6 +33,7 @@ ly_append_configurations_options( /nologo # Suppress Copyright and version number message /W4 # Warning level 4 /WX # Warnings as errors + /permissive- # Conformance with standard # Disabling some warnings /wd4201 # nonstandard extension used: nameless struct/union. This actually became part of the C++11 std, MS has an open issue: https://developercommunity.visualstudio.com/t/warning-level-4-generates-a-bogus-warning-c4201-no/103064 From 37e5ef29bba8a5e7fd310dd17a8938589d9f2396 Mon Sep 17 00:00:00 2001 From: Jonny Galloway Date: Tue, 31 Aug 2021 16:50:07 -0500 Subject: [PATCH 38/66] Atom/gallowj/color grading dev (#3751) * color grading workflow assets, python scripts, ~and test data for Nuke and PS. Signed-off-by: Jonny Gallowy <~gallowj@amazon.com> * minor changes Signed-off-by: Jonny Gallowy <~gallowj@amazon.com> * pep8 reformate code style, clean up, address CR Signed-off-by: Jonny Gallowy <~gallowj@amazon.com> * Pep8 refactor, some DRY refactoring. Signed-off-by: Jonny Gallowy <~gallowj@amazon.com> * simplification write_azasset() Signed-off-by: Jonny Gallowy <~gallowj@amazon.com> * corrected code and further simplified () Signed-off-by: Jonny Gallowy <~gallowj@amazon.com> * updated readme.txt, I was mistakenly converting the wrong lut to engine Signed-off-by: Jonny Gallowy <~gallowj@amazon.com> * refactoring, simplification and some re-org Signed-off-by: Jonny Gallowy <~gallowj@amazon.com> * fixed bad loop in old_lut_helper Signed-off-by: Jonny Gallowy <~gallowj@amazon.com> * improve the lut_helper and corrected lut shaping Signed-off-by: Jonny Gallowy <~gallowj@amazon.com> * skip non-digit metadata in 3DL files Signed-off-by: Jonny Gallowy <~gallowj@amazon.com> * file name fix Signed-off-by: Jonny Gallowy <~gallowj@amazon.com> * nit: renamed a tag in comment Signed-off-by: Jonny Gallowy <~gallowj@amazon.com> * style Signed-off-by: Jonny Gallowy <~gallowj@amazon.com> * cleanup, cmd readme Signed-off-by: Jonny Gallowy <~gallowj@amazon.com> * fixed WINGHOME Signed-off-by: Jonny Gallowy <~gallowj@amazon.com> * Updated the readme with basic instructions Signed-off-by: Jonny Gallowy <~gallowj@amazon.com> * fixed py bootstrapping errors Signed-off-by: Jonny Gallowy <~gallowj@amazon.com> * removed log file (shouldn't be there) Signed-off-by: Jonny Gallowy <~gallowj@amazon.com> * re-gen bad test lut (forgot) Signed-off-by: Jonny Gallowy <~gallowj@amazon.com> * simplify bootstrap, enhance initialize and oiio access, remove lrg .PSD files Signed-off-by: Jonny Gallowy <~gallowj@amazon.com> * bump py rev2 in bat files for colorgrading Signed-off-by: Jonny Gallowy <~gallowj@amazon.com> * removed debug flag not used, caused failure Signed-off-by: Jonny Gallowy <~gallowj@amazon.com> Co-authored-by: Jonny Gallowy <~gallowj@amazon.com> --- .../Editor/Scripts/ColorGrading/__init__.py | 20 ++ .../ColorGrading/exr_to_3dl_azasset.py | 17 +- .../ColorGrading/from_3dl_to_azasset.py | 17 +- .../Editor/Scripts/ColorGrading/initialize.py | 83 ++++--- .../Scripts/ColorGrading/lut_compositor.py | 105 ++++---- .../Editor/Scripts/ColorGrading/lut_helper.py | 17 +- .../Common/Editor/Scripts/bootstrap.py | 31 +-- .../Nuke_Test_Extreme_Grade.nk~ | 232 ------------------ .../Shot_post_test-extreme-grade.exr | 3 - .../HDR/Test_Grade/Shot_post_test-grade.exr | 3 - .../Nuke/HDR/Test_Grade/Test-Grade.nk~ | 227 ----------------- .../Photoshop/Log2-48nits/CLT_grade.psd | 3 - .../LUT_layer_composite_hue-sat_grade.psd | 3 - .../cmdline/CMD_ColorGradingTools.bat | 2 +- .../Tools/ColorGrading/cmdline/Env_Python.bat | 14 +- .../ColorGrading/cmdline/Env_WingIDE.bat | 4 - .../cmdline/Launch_WingIDE-7-1.bat | 3 - .../cmdline/User_Env.bat.template | 9 +- 18 files changed, 148 insertions(+), 645 deletions(-) delete mode 100644 Gems/Atom/Feature/Common/Tools/ColorGrading/Resources/TestData/Nuke/HDR/Test_Extreme_Grade/Nuke_Test_Extreme_Grade.nk~ delete mode 100644 Gems/Atom/Feature/Common/Tools/ColorGrading/Resources/TestData/Nuke/HDR/Test_Extreme_Grade/Shot_post_test-extreme-grade.exr delete mode 100644 Gems/Atom/Feature/Common/Tools/ColorGrading/Resources/TestData/Nuke/HDR/Test_Grade/Shot_post_test-grade.exr delete mode 100644 Gems/Atom/Feature/Common/Tools/ColorGrading/Resources/TestData/Nuke/HDR/Test_Grade/Test-Grade.nk~ delete mode 100644 Gems/Atom/Feature/Common/Tools/ColorGrading/Resources/TestData/Photoshop/Log2-48nits/CLT_grade.psd delete mode 100644 Gems/Atom/Feature/Common/Tools/ColorGrading/Resources/TestData/Photoshop/Log2-48nits/LUT_layer_composite_hue-sat_grade.psd diff --git a/Gems/Atom/Feature/Common/Editor/Scripts/ColorGrading/__init__.py b/Gems/Atom/Feature/Common/Editor/Scripts/ColorGrading/__init__.py index af73f82b8d..d500d6e09c 100644 --- a/Gems/Atom/Feature/Common/Editor/Scripts/ColorGrading/__init__.py +++ b/Gems/Atom/Feature/Common/Editor/Scripts/ColorGrading/__init__.py @@ -76,6 +76,7 @@ DCCSI_GDEBUG = env_bool('DCCSI_GDEBUG', False) DCCSI_DEV_MODE = env_bool('DCCSI_DEV_MODE', False) DCCSI_GDEBUGGER = env_bool('DCCSI_GDEBUGGER', False) DCCSI_LOGLEVEL = env_bool('DCCSI_LOGLEVEL', int(20)) +DCCSI_WING_VERSION_MAJOR = env_bool('DCCSI_WING_VERSION_MAJOR', '7') # ------------------------------------------------------------------------- @@ -162,6 +163,25 @@ _LOGGER.debug('Invoking __init__.py for {0}.'.format({_PACKAGENAME})) # ------------------------------------------------------------------------- +def get_datadir() -> pathlib.Path: + """ + persistent application data. + # linux: ~/.local/share + # macOS: ~/Library/Application Support + # windows: C:/Users//AppData/Roaming + """ + + home = pathlib.Path.home() + + if sys.platform == "win32": + return home / "AppData/Roaming" + elif sys.platform == "linux": + return home / ".local/share" + elif sys.platform == "darwin": + return home / "Library/Application Support" +# ------------------------------------------------------------------------- + + # ------------------------------------------------------------------------- def makedirs(folder, *args, **kwargs): """a makedirs for py2.7 support""" diff --git a/Gems/Atom/Feature/Common/Editor/Scripts/ColorGrading/exr_to_3dl_azasset.py b/Gems/Atom/Feature/Common/Editor/Scripts/ColorGrading/exr_to_3dl_azasset.py index 9166ef5a44..6c2aa1d5bb 100644 --- a/Gems/Atom/Feature/Common/Editor/Scripts/ColorGrading/exr_to_3dl_azasset.py +++ b/Gems/Atom/Feature/Common/Editor/Scripts/ColorGrading/exr_to_3dl_azasset.py @@ -27,18 +27,17 @@ import numpy as np # ------------------------------------------------------------------------ _MODULENAME = 'ColorGrading.exr_to_3dl_azasset' -import ColorGrading.initialize -ColorGrading.initialize.start() - _LOGGER = _logging.getLogger(_MODULENAME) _LOGGER.debug('Initializing: {0}.'.format({_MODULENAME})) -try: - import OpenImageIO as oiio - pass -except ImportError as e: - _LOGGER.error(f"invalid import: {e}") - sys.exit(1) +import ColorGrading.initialize +if ColorGrading.initialize.start(): + try: + import OpenImageIO as oiio + pass + except ImportError as e: + _LOGGER.error(f"invalid import: {e}") + sys.exit(1) # ------------------------------------------------------------------------ diff --git a/Gems/Atom/Feature/Common/Editor/Scripts/ColorGrading/from_3dl_to_azasset.py b/Gems/Atom/Feature/Common/Editor/Scripts/ColorGrading/from_3dl_to_azasset.py index e61ca33710..ba37994e63 100644 --- a/Gems/Atom/Feature/Common/Editor/Scripts/ColorGrading/from_3dl_to_azasset.py +++ b/Gems/Atom/Feature/Common/Editor/Scripts/ColorGrading/from_3dl_to_azasset.py @@ -18,18 +18,17 @@ import logging as _logging # ------------------------------------------------------------------------ _MODULENAME = 'ColorGrading.from_3dl_to_azasset' -import ColorGrading.initialize -ColorGrading.initialize.start() - _LOGGER = _logging.getLogger(_MODULENAME) _LOGGER.debug('Initializing: {0}.'.format({_MODULENAME})) -try: - import OpenImageIO as oiio - pass -except ImportError as e: - _LOGGER.error(f"invalid import: {e}") - sys.exit(1) +import ColorGrading.initialize +if ColorGrading.initialize.start(): + try: + import OpenImageIO as oiio + pass + except ImportError as e: + _LOGGER.error(f"invalid import: {e}") + sys.exit(1) # ------------------------------------------------------------------------ diff --git a/Gems/Atom/Feature/Common/Editor/Scripts/ColorGrading/initialize.py b/Gems/Atom/Feature/Common/Editor/Scripts/ColorGrading/initialize.py index 536c10ed05..ac64ade322 100644 --- a/Gems/Atom/Feature/Common/Editor/Scripts/ColorGrading/initialize.py +++ b/Gems/Atom/Feature/Common/Editor/Scripts/ColorGrading/initialize.py @@ -17,13 +17,10 @@ from pathlib import Path import logging as _logging # local imports -from ColorGrading import env_bool from ColorGrading import initialize_logger from ColorGrading import DCCSI_GDEBUG from ColorGrading import DCCSI_DEV_MODE -from ColorGrading import DCCSI_GDEBUGGER from ColorGrading import DCCSI_LOGLEVEL -from ColorGrading import FRMT_LOG_LONG __all__ = ['start'] @@ -44,15 +41,21 @@ _LOGGER.debug('Initializing: {0}.'.format({_MODULENAME})) # connect to the debugger if DCCSI_DEV_MODE: - APP_DATA_WING = Path('C:/Users/gallowj/AppData/Roaming/Wing Pro 7') - APP_DATA_WING.resolve() - site.addsitedir(pathlib.PureWindowsPath(APP_DATA_WING).as_posix()) - import wingdbstub as debugger - try: - debugger.Ensure() - _LOGGER.info("Wing debugger attached") - except Exception as e: - _LOGGER.debug('Can not attach Wing debugger (running in IDE already?)') + from ColorGrading import DCCSI_WING_VERSION_MAJOR + from ColorGrading import get_datadir + APPDATA = get_datadir() # os APPDATA + APPDATA_WING = Path(APPDATA, f"Wing Pro {DCCSI_WING_VERSION_MAJOR}").resolve() + if APPDATA_WING.exists(): + site.addsitedir(pathlib.PureWindowsPath(APPDATA_WING).as_posix()) + import wingdbstub as debugger + try: + debugger.Ensure() + _LOGGER.info("Wing debugger attached") + except Exception as e: + _LOGGER.debug('Can not attach Wing debugger (running in IDE already?)') + else: + _LOGGER.warning("Path envar doesn't exist: APPDATA_WING") + _LOGGER.info(f"Pattern: {APPDATA_WING}") # ------------------------------------------------------------------------ @@ -60,28 +63,16 @@ if DCCSI_DEV_MODE: def start(): """set up access to OpenImageIO, within o3de or without""" # ------------------------------------------------------------------------ + running_editor = None try: # running in o3de import azlmbr - - _O3DE_DEV = Path(os.getenv('O3DE_DEV', Path(azlmbr.paths.engroot))) - os.environ['O3DE_DEV'] = pathlib.PureWindowsPath(_O3DE_DEV).as_posix() - _LOGGER.debug(_O3DE_DEV) - - _O3DE_BIN_PATH = Path(str(_O3DE_DEV),Path(azlmbr.paths.executableFolder)) - - _O3DE_BIN = Path(os.getenv('O3DE_BIN', _O3DE_BIN_PATH.resolve())) - os.environ['O3DE_BIN'] = pathlib.PureWindowsPath(_O3DE_BIN).as_posix() - - _LOGGER.debug(_O3DE_BIN) - - site.addsitedir(_O3DE_BIN) + running_editor = True except Exception as e: # running external, start this module from: - # "C:\Depot\o3de-engine\Gems\Atom\Feature\Common\Tools\ColorGrading\cmdline\CMD_ColorGradinTools.bat" - pass - + # "C:\Depot\o3de-engine\Gems\Atom\Feature\Common\Tools\ColorGrading\cmdline\CMD_ColorGradingTools.bat" + try: _O3DE_DEV = Path(os.getenv('O3DE_DEV')) _O3DE_DEV = _O3DE_DEV.resolve() @@ -102,15 +93,32 @@ def start(): except EnvironmentError as e: _LOGGER.error('O3DE bin folder not set or found') raise e -# ------------------------------------------------------------------------ + + if running_editor: + _O3DE_DEV = Path(os.getenv('O3DE_DEV', Path(azlmbr.paths.engroot))) + os.environ['O3DE_DEV'] = pathlib.PureWindowsPath(_O3DE_DEV).as_posix() + _LOGGER.debug(_O3DE_DEV) + + _O3DE_BIN_PATH = Path(str(_O3DE_DEV),Path(azlmbr.paths.executableFolder)) + + _O3DE_BIN = Path(os.getenv('O3DE_BIN', _O3DE_BIN_PATH.resolve())) + os.environ['O3DE_BIN'] = pathlib.PureWindowsPath(_O3DE_BIN).as_posix() + + _LOGGER.debug(_O3DE_BIN) + + site.addsitedir(_O3DE_BIN) - -# ------------------------------------------------------------------------ -try: - import OpenImageIO as OpenImageIO -except ImportError as e: - _LOGGER.error(f"invalid import: {e}") - sys.exit(1) + # test access to oiio + if os.name == 'nt': + try: + import OpenImageIO as oiio + return True + except ImportError as e: + _LOGGER.error(f"invalid import: {e}") + pass + else: + _LOGGER.info("Non-Windows platforms not yet supported...") + return False # ------------------------------------------------------------------------ @@ -120,4 +128,5 @@ except ImportError as e: if __name__ == '__main__': """Run this file as main""" - start() \ No newline at end of file + oiio_exists = start() + _LOGGER.debug(f"Import OpenImageIO performed: {oiio_exists}") \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Editor/Scripts/ColorGrading/lut_compositor.py b/Gems/Atom/Feature/Common/Editor/Scripts/ColorGrading/lut_compositor.py index 74ba44dc27..75c21a31c4 100644 --- a/Gems/Atom/Feature/Common/Editor/Scripts/ColorGrading/lut_compositor.py +++ b/Gems/Atom/Feature/Common/Editor/Scripts/ColorGrading/lut_compositor.py @@ -11,42 +11,23 @@ import sys import os -import site import argparse -import math -import pathlib -from pathlib import Path import logging as _logging -from env_bool import env_bool # ------------------------------------------------------------------------ _MODULENAME = 'ColorGrading.lut_compositor' -# set these true if you want them set globally for debugging -_DCCSI_GDEBUG = env_bool('DCCSI_GDEBUG', False) -_DCCSI_DEV_MODE = env_bool('DCCSI_DEV_MODE', False) -_DCCSI_GDEBUGGER = env_bool('DCCSI_GDEBUGGER', False) -_DCCSI_LOGLEVEL = env_bool('DCCSI_LOGLEVEL', int(20)) - -if _DCCSI_GDEBUG: - _DCCSI_LOGLEVEL = int(10) - -FRMT_LOG_LONG = "[%(name)s][%(levelname)s] >> %(message)s (%(asctime)s; %(filename)s:%(lineno)d)" -_logging.basicConfig(level=_DCCSI_LOGLEVEL, - format=FRMT_LOG_LONG, - datefmt='%m-%d %H:%M') _LOGGER = _logging.getLogger(_MODULENAME) _LOGGER.debug('Initializing: {0}.'.format({_MODULENAME})) import ColorGrading.initialize -ColorGrading.initialize.start() - -try: - import OpenImageIO as oiio - pass -except ImportError as e: - _LOGGER.error(f"invalid import: {e}") - sys.exit(1) +if ColorGrading.initialize.start(): + try: + import OpenImageIO as oiio + pass + except ImportError as e: + _LOGGER.error(f"invalid import: {e}") + sys.exit(1) # ------------------------------------------------------------------------ operations = {"composite": 0, "extract": 1} @@ -62,49 +43,49 @@ args = parser.parse_args() op = operations.get(args.op, invalidOp) if op == invalidOp: - print("invalid operation") + _LOGGER.warning("invalid operation") sys.exit(1) elif op == 0: if args.l is None: - print("no LUT file specified") + _LOGGER.warning("no LUT file specified") sys.exit() # read in the input image -inBuf = oiio.ImageBuf(args.i) -inSpec = inBuf.spec() -print("Input resolution is ", inBuf.spec().width, " x ", inBuf.spec().height) +image_buffer = oiio.ImageBuf(args.i) +image_spec = image_buffer.spec() +_LOGGER.info("Input resolution is ", image_buffer.spec().width, " x ", image_buffer.spec().height) if op == 0: - outFileName = args.o - print("writing %s..." % (outFileName)) - lutBuf = oiio.ImageBuf(args.l) - lutSpec = lutBuf.spec() - print("Resolution is ", lutBuf.spec().width, " x ", lutBuf.spec().height) - if lutSpec.width != lutSpec.height*lutSpec.height: - print("invalid input file dimensions. Expect lengthwise LUT with dimension W: s*s X H: s, where s is the size of the LUT") + out_file_name = args.o + _LOGGER.info("writing %s..." % (out_file_name)) + lut_buffer = oiio.ImageBuf(args.l) + lut_spec = lut_buffer.spec() + _LOGGER.info("Resolution is ", lut_buffer.spec().width, " x ", lut_buffer.spec().height) + if lut_spec.width != lut_spec.height*lut_spec.height: + _LOGGER.warning("invalid input file dimensions. Expect lengthwise LUT with dimension W: s*s X H: s, where s is the size of the LUT") sys.exit(1) - lutSize = lutSpec.height - outSpec = oiio.ImageSpec(inSpec.width, inSpec.height, 3, oiio.TypeFloat) - outBuf = oiio.ImageBuf(outSpec) - outBuf.write(outFileName) - for y in range(outBuf.ybegin, outBuf.yend): - for x in range(outBuf.xbegin, outBuf.xend): - srcPx = inBuf.getpixel(x, y) - dstPx = (srcPx[0], srcPx[1], srcPx[2]) - if y < lutSpec.height and x < lutSpec.width: - lutPx = lutBuf.getpixel(x, y) - dstPx = (lutPx[0], lutPx[1], lutPx[2]) - outBuf.setpixel(x, y, dstPx) - outBuf.write(outFileName) + lut_size = lut_spec.height + out_image_spec = oiio.ImageSpec(image_spec.width, image_spec.height, 3, oiio.TypeFloat) + out_image_buffer = oiio.ImageBuf(out_image_spec) + out_image_buffer.write(out_file_name) + for y in range(out_image_buffer.ybegin, out_image_buffer.yend): + for x in range(out_image_buffer.xbegin, out_image_buffer.xend): + src_pixel = image_buffer.getpixel(x, y) + dst_pixel = (src_pixel[0], src_pixel[1], src_pixel[2]) + if y < lut_spec.height and x < lut_spec.width: + lut_pixel = lut_buffer.getpixel(x, y) + dst_pixel = (lut_pixel[0], lut_pixel[1], lut_pixel[2]) + out_image_buffer.setpixel(x, y, dst_pixel) + out_image_buffer.write(out_file_name) elif op == 1: - outFileName = args.o - print("writing %s..." % (outFileName)) - lutSize = args.s - lutSpec = oiio.ImageSpec(lutSize*lutSize, lutSize, 3, oiio.TypeFloat) - lutBuf = oiio.ImageBuf(lutSpec) - for y in range(lutBuf.ybegin, lutBuf.yend): - for x in range(lutBuf.xbegin, lutBuf.xend): - srcPx = inBuf.getpixel(x, y) - dstPx = (srcPx[0], srcPx[1], srcPx[2]) - lutBuf.setpixel(x, y, dstPx) - lutBuf.write(outFileName) \ No newline at end of file + out_file_name = args.o + _LOGGER.info("writing %s..." % (out_file_name)) + lut_size = args.s + lut_spec = oiio.ImageSpec(lut_size*lut_size, lut_size, 3, oiio.TypeFloat) + lut_buffer = oiio.ImageBuf(lut_spec) + for y in range(lut_buffer.ybegin, lut_buffer.yend): + for x in range(lut_buffer.xbegin, lut_buffer.xend): + src_pixel = image_buffer.getpixel(x, y) + dst_pixel = (src_pixel[0], src_pixel[1], src_pixel[2]) + lut_buffer.setpixel(x, y, dst_pixel) + lut_buffer.write(out_file_name) \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Editor/Scripts/ColorGrading/lut_helper.py b/Gems/Atom/Feature/Common/Editor/Scripts/ColorGrading/lut_helper.py index 459fe241fa..da774ffd1a 100644 --- a/Gems/Atom/Feature/Common/Editor/Scripts/ColorGrading/lut_helper.py +++ b/Gems/Atom/Feature/Common/Editor/Scripts/ColorGrading/lut_helper.py @@ -23,18 +23,17 @@ from pathlib import Path # ------------------------------------------------------------------------ _MODULENAME = 'ColorGrading.lut_helper' -import ColorGrading.initialize -ColorGrading.initialize.start() - _LOGGER = _logging.getLogger(_MODULENAME) _LOGGER.debug('Initializing: {0}.'.format({_MODULENAME})) -try: - import OpenImageIO as oiio - pass -except ImportError as e: - _LOGGER.error(f"invalid import: {e}") - sys.exit(1) +import ColorGrading.initialize +if ColorGrading.initialize.start(): + try: + import OpenImageIO as oiio + pass + except ImportError as e: + _LOGGER.error(f"invalid import: {e}") + sys.exit(1) # ------------------------------------------------------------------------ diff --git a/Gems/Atom/Feature/Common/Editor/Scripts/bootstrap.py b/Gems/Atom/Feature/Common/Editor/Scripts/bootstrap.py index 0070611592..90dfe6de8f 100644 --- a/Gems/Atom/Feature/Common/Editor/Scripts/bootstrap.py +++ b/Gems/Atom/Feature/Common/Editor/Scripts/bootstrap.py @@ -13,48 +13,19 @@ Example: color grading related scripts """ # ------------------------------------------------------------------------ # standard imports -import sys import os import inspect -import pathlib import site from pathlib import Path -import logging as _logging # ------------------------------------------------------------------------ _MODULENAME = 'Gems.Atom.Feature.Common.bootstrap' -# print (inspect.getfile(inspect.currentframe()) # script filename (usually with path) # script directory _MODULE_PATH = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))) _MODULE_PATH = Path(_MODULE_PATH) site.addsitedir(_MODULE_PATH.resolve()) -from ColorGrading import env_bool from ColorGrading import initialize_logger -from ColorGrading import DCCSI_GDEBUG -from ColorGrading import DCCSI_DEV_MODE -from ColorGrading import DCCSI_LOGLEVEL - -if DCCSI_GDEBUG: - DCCSI_LOGLEVEL = int(10) - -_LOGGER = initialize_logger(_MODULENAME, log_to_file=False, default_log_level=DCCSI_LOGLEVEL) -_LOGGER.info('Initializing: {0}.'.format({_MODULENAME})) +_LOGGER = initialize_logger(_MODULENAME, log_to_file=False) _LOGGER.info(f'site.addsitedir({_MODULE_PATH.resolve()})') - -# early connect to the debugger -if DCCSI_DEV_MODE: - APP_DATA_WING = Path('C:/Users/gallowj/AppData/Roaming/Wing Pro 7') - APP_DATA_WING.resolve() - site.addsitedir(pathlib.PureWindowsPath(APP_DATA_WING).as_posix()) - import wingdbstub as debugger - try: - debugger.Ensure() - _LOGGER.info("Wing debugger attached") - except Exception as e: - _LOGGER.debug('Can not attach Wing debugger (running in IDE already?)') - - -from ColorGrading.initialize import start -start() # ------------------------------------------------------------------------ \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Tools/ColorGrading/Resources/TestData/Nuke/HDR/Test_Extreme_Grade/Nuke_Test_Extreme_Grade.nk~ b/Gems/Atom/Feature/Common/Tools/ColorGrading/Resources/TestData/Nuke/HDR/Test_Extreme_Grade/Nuke_Test_Extreme_Grade.nk~ deleted file mode 100644 index a7c1f478b2..0000000000 --- a/Gems/Atom/Feature/Common/Tools/ColorGrading/Resources/TestData/Nuke/HDR/Test_Extreme_Grade/Nuke_Test_Extreme_Grade.nk~ +++ /dev/null @@ -1,232 +0,0 @@ -#! C:/Program Files/Nuke13.0v3/nuke-13.0.3.dll -nx -version 13.0 v3 -define_window_layout_xml { - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -} -Root { - inputs 0 - name C:/Depot/o3de/Gems/Atom/Feature/Common/Tools/ColorGrading/Resources/TestData/Nuke/HDR/Test_Extreme_Grade/Nuke_Test_Extreme_Grade.nk - project_directory "\"C:/Depot/o3de-engine/Gems/AtomLyIntegration/CommonFeatures/Tools/ColorGrading/TestData/Nuke/" - format "2048 1556 0 0 2048 1556 1 2K_Super_35(full-ap)" - proxy_type scale - proxy_format "1024 778 0 0 1024 778 1 1K_Super_35(full-ap)" - colorManagement OCIO - OCIO_config aces_1.0.3 - defaultViewerLUT "OCIO LUTs" - workingSpaceLUT scene_linear - monitorLut ACES/Rec.709 - monitorOutLUT "sRGB (ACES)" - int8Lut matte_paint - int16Lut texture_paint - logLut compositing_log - floatLut scene_linear -} -Read { - inputs 0 - file_type exr - file C:/Depot/o3de/Gems/Atom/Feature/Common/Tools/ColorGrading/Resources/LUTs/linear_32_LUT.exr - format "1024 32 0 0 1024 32 1 " - origset true - colorspace data - name Read_Linear_LUT_32 - xpos -846 - ypos 10 -} -set Ncf69800 [stack 0] -Viewer { - frame 1 - frame_range 1-100 - viewerProcess "sRGB (ACES)" - name Viewer1 - xpos -847 - ypos 135 -} -push $Ncf69800 -OCIOFileTransform { - file C:/Depot/o3de-engine/Tools/ColorGrading/OpenColorIO-Configs/aces_1.0.3/luts/Log2_48_nits_Shaper_to_linear.spi1d - working_space scene_linear - name Log2_48_nits_Shaper_to_linear - xpos -710 - ypos 46 -} -set Ncf69000 [stack 0] -Transform { - center {1024 778} - name Transform_Position_LUT - xpos -579 - ypos 3 -} -set Ncf68c00 [stack 0] -Read { - inputs 0 - file_type exr - file C:/Depot/o3de/Gems/Atom/Feature/Common/Tools/ColorGrading/Resources/TestData/displaymapperpassthrough.exr - format "2802 1854 0 0 2802 1854 1 " - origset true - name Read_DisplayMapperPassthrough - xpos -577 - ypos -119 -} -ZMerge { - inputs 2 - name ZMerge_Combine - xpos -413 - ypos -83 -} -set Ncef7c00 [stack 0] -HueShift { - ingray 0.136 - outgray 0.31 - saturation 2 - color_saturation 0.3 - hue_rotation -150 - brightness 0.81 - name HueShift1 - xpos -256 - ypos -83 -} -set Ncef7800 [stack 0] -OCIOCDLTransform { - saturation 1.23 - working_space scene_linear - name INV_Log2_48_nits_Shaper_to_linear - xpos -86 - ypos -83 -} -set Ncef7400 [stack 0] -Crop { - box {0 0 1024 32} - reformat true - crop false - name Crop1 - xpos -86 - ypos 32 -} -set Ncef7000 [stack 0] -OCIOFileTransform { - file C:/Depot/o3de-engine/Tools/ColorGrading/OpenColorIO-Configs/aces_1.0.3/luts/Log2_48_nits_Shaper_to_linear.spi1d - direction inverse - working_space reference - name OCIOFileTransform2 - xpos 84 - ypos 32 -} -Write { - file C:/Depot/o3de/Gems/Atom/Feature/Common/Tools/ColorGrading/Resources/TestData/Nuke/HDR/Test_Extreme_Grade/test-extreme-grade_inv-Log2-48nits_32_LUT.exr - colorspace data - raw true - file_type exr - write_ACES_compliant_EXR true - datatype "32 bit float" - first_part rgba - version 8 - name Write_RAW_LUT - xpos 242 - ypos 20 -} -Viewer { - frame_range 1-100 - viewerProcess "sRGB (ACES)" - name Viewer7 - xpos 242 - ypos 135 -} -push $Ncef7400 -Write { - file C:/Depot/o3de/Gems/Atom/Feature/Common/Tools/ColorGrading/Resources/TestData/Nuke/HDR/Test_Grade/Shot_post_test-extreme-grade.exr - colorspace compositing_linear - file_type exr - write_ACES_compliant_EXR true - datatype "32 bit float" - first_part rgba - version 7 - name Write_Shot_Grade_Comp - xpos 353 - ypos -95 -} -Viewer { - frame 1 - frame_range 1-100 - viewerProcess "sRGB (ACES)" - name Viewer8 - xpos 357 - ypos 135 -} -push $Ncf69000 -Viewer { - frame 1 - frame_range 1-100 - viewerProcess "sRGB (ACES)" - name Viewer2 - xpos -710 - ypos 137 -} -push $Ncf68c00 -Viewer { - frame 1 - frame_range 1-100 - viewerProcess "sRGB (ACES)" - name Viewer3 - xpos -579 - ypos 135 -} -push $Ncef7c00 -Viewer { - frame 1 - frame_range 1-100 - viewerProcess "sRGB (ACES)" - name Viewer4 - xpos -413 - ypos 133 -} -push $Ncef7800 -Viewer { - frame 1 - frame_range 1-100 - viewerProcess "sRGB (ACES)" - name Viewer5 - xpos -254 - ypos 133 -} -push $Ncef7000 -Viewer { - frame 1 - frame_range 1-100 - viewerProcess "sRGB (ACES)" - name Viewer6 - xpos -86 - ypos 134 -} diff --git a/Gems/Atom/Feature/Common/Tools/ColorGrading/Resources/TestData/Nuke/HDR/Test_Extreme_Grade/Shot_post_test-extreme-grade.exr b/Gems/Atom/Feature/Common/Tools/ColorGrading/Resources/TestData/Nuke/HDR/Test_Extreme_Grade/Shot_post_test-extreme-grade.exr deleted file mode 100644 index f9235dac3a..0000000000 --- a/Gems/Atom/Feature/Common/Tools/ColorGrading/Resources/TestData/Nuke/HDR/Test_Extreme_Grade/Shot_post_test-extreme-grade.exr +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7ea4288b55725bfa89d7add69ea45b0ac9315cfffd6acfba66082f4d21c1ac1a -size 31227624 diff --git a/Gems/Atom/Feature/Common/Tools/ColorGrading/Resources/TestData/Nuke/HDR/Test_Grade/Shot_post_test-grade.exr b/Gems/Atom/Feature/Common/Tools/ColorGrading/Resources/TestData/Nuke/HDR/Test_Grade/Shot_post_test-grade.exr deleted file mode 100644 index 49e0460826..0000000000 --- a/Gems/Atom/Feature/Common/Tools/ColorGrading/Resources/TestData/Nuke/HDR/Test_Grade/Shot_post_test-grade.exr +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9ff499c054a259a3cd389b613382066f258287215f61da56115b3e958733dbe6 -size 31227639 diff --git a/Gems/Atom/Feature/Common/Tools/ColorGrading/Resources/TestData/Nuke/HDR/Test_Grade/Test-Grade.nk~ b/Gems/Atom/Feature/Common/Tools/ColorGrading/Resources/TestData/Nuke/HDR/Test_Grade/Test-Grade.nk~ deleted file mode 100644 index 084ba1495d..0000000000 --- a/Gems/Atom/Feature/Common/Tools/ColorGrading/Resources/TestData/Nuke/HDR/Test_Grade/Test-Grade.nk~ +++ /dev/null @@ -1,227 +0,0 @@ -#! C:/Program Files/Nuke13.0v3/nuke-13.0.3.dll -nx -version 13.0 v3 -define_window_layout_xml { - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -} -Root { - inputs 0 - name C:/Depot/o3de/Gems/Atom/Feature/Common/Assets/ColorGrading/TestData/Nuke/HDR/Test_Grade/Test-Grade.nk - project_directory "\"C:/Depot/o3de-engine/Gems/AtomLyIntegration/CommonFeatures/Tools/ColorGrading/TestData/Nuke/" - format "2048 1556 0 0 2048 1556 1 2K_Super_35(full-ap)" - proxy_type scale - proxy_format "1024 778 0 0 1024 778 1 1K_Super_35(full-ap)" - colorManagement OCIO - OCIO_config aces_1.0.3 - defaultViewerLUT "OCIO LUTs" - workingSpaceLUT scene_linear - monitorLut ACES/Rec.709 - monitorOutLUT "sRGB (ACES)" - int8Lut matte_paint - int16Lut texture_paint - logLut compositing_log - floatLut scene_linear -} -Read { - inputs 0 - file_type exr - file C:/Depot/o3de/Gems/Atom/Feature/Common/Tools/ColorGrading/Resources/LUTs/linear_32_LUT.exr - format "1024 32 0 0 1024 32 1 " - origset true - colorspace data - raw true - name Read_Linear_LUT_32 - xpos -846 - ypos 10 -} -set N3bfa9800 [stack 0] -Viewer { - frame 1 - frame_range 1-100 - viewerProcess "sRGB (ACES)" - name Viewer1 - xpos -846 - ypos 135 -} -push $N3bfa9800 -OCIOFileTransform { - file C:/Depot/o3de-engine/Tools/ColorGrading/OpenColorIO-Configs/aces_1.0.3/luts/Log2_48_nits_Shaper_to_linear.spi1d - working_space rendering - name Log2_48_nits_Shaper_to_linear - xpos -710 - ypos 46 -} -set N3bfa9000 [stack 0] -Viewer { - frame 1 - frame_range 1-100 - viewerProcess "sRGB (ACES)" - name Viewer2 - xpos -710 - ypos 137 -} -push $N3bfa9000 -Transform { - center {1024 778} - name Transform_Position_LUT - xpos -579 - ypos 3 -} -set N3bfa8c00 [stack 0] -Viewer { - frame 1 - frame_range 1-100 - viewerProcess "sRGB (ACES)" - name Viewer3 - xpos -579 - ypos 135 -} -push $N3bfa8c00 -Read { - inputs 0 - file_type exr - file C:/Depot/o3de/Gems/Atom/Feature/Common/Tools/ColorGrading/Resources/TestData/displaymapperpassthrough.exr - format "2802 1854 0 0 2802 1854 1 " - origset true - name Read_DisplayMapperPassthrough - xpos -580 - ypos -146 -} -ZMerge { - inputs 2 - name ZMerge_Combine - xpos -413 - ypos -83 -} -set N3bf5bc00 [stack 0] -Viewer { - frame 1 - frame_range 1-100 - viewerProcess "sRGB (ACES)" - name Viewer4 - xpos -413 - ypos 128 -} -push $N3bf5bc00 -HueShift { - ingray {0.18 0.18 0.18} - outgray {0.18 0.18 0.18} - saturation 1.26 - color {0.12 0.12 0.12} - color_saturation 0.78 - hue_rotation -150 - brightness 0.74 - name HueShift1 - xpos -256 - ypos -83 -} -set N3bf5b800 [stack 0] -Viewer { - frame 1 - frame_range 1-100 - viewerProcess "sRGB (ACES)" - name Viewer5 - xpos -256 - ypos 130 -} -push $N3bf5b800 -Crop { - box {0 0 1024 32} - reformat true - crop false - name Crop1 - xpos -86 - ypos 32 -} -set N3bf5ac00 [stack 0] -Viewer { - frame 1 - frame_range 1-100 - viewerProcess "sRGB (ACES)" - name Viewer6 - xpos -86 - ypos 134 -} -push $N3bf5b800 -Write { - file C:/Depot/o3de/Gems/Atom/Feature/Common/Tools/ColorGrading/Resources/TestData/Nuke/HDR/Test_Grade/Nuke_Shot_post_grade.exr - colorspace compositing_linear - file_type exr - write_ACES_compliant_EXR true - datatype "32 bit float" - first_part rgba - version 10 - name Write_Shot_Grade_Comp - selected true - xpos 353 - ypos -95 -} -Viewer { - frame 1 - frame_range 1-100 - viewerProcess "sRGB (ACES)" - name Viewer8 - xpos 353 - ypos 135 -} -push $N3bf5ac00 -OCIOFileTransform { - file C:/Depot/o3de-engine/Tools/ColorGrading/OpenColorIO-Configs/aces_1.0.3/luts/Log2_48_nits_Shaper_to_linear.spi1d - direction inverse - working_space data - name invLog2_48_nits_Shaper_to_linear - xpos 74 - ypos -14 -} -Write { - file C:/Depot/o3de/Gems/Atom/Feature/Common/Tools/ColorGrading/Resources/TestData/Nuke/HDR/Test_Grade/test-grade_inv-Log2-48nits_32_LUT.exr - colorspace data - file_type exr - datatype "32 bit float" - first_part rgba - version 10 - name Write_RAW_LUT - xpos 242 - ypos 20 -} -Viewer { - frame 1 - frame_range 1-100 - viewerProcess "sRGB (ACES)" - name Viewer7 - xpos 242 - ypos 135 -} diff --git a/Gems/Atom/Feature/Common/Tools/ColorGrading/Resources/TestData/Photoshop/Log2-48nits/CLT_grade.psd b/Gems/Atom/Feature/Common/Tools/ColorGrading/Resources/TestData/Photoshop/Log2-48nits/CLT_grade.psd deleted file mode 100644 index 3718e0facf..0000000000 --- a/Gems/Atom/Feature/Common/Tools/ColorGrading/Resources/TestData/Photoshop/Log2-48nits/CLT_grade.psd +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c0276e1d329cda3514f46a55fd1d3ce90fce617814198ab69d234f2c58c15882 -size 98742272 diff --git a/Gems/Atom/Feature/Common/Tools/ColorGrading/Resources/TestData/Photoshop/Log2-48nits/LUT_layer_composite_hue-sat_grade.psd b/Gems/Atom/Feature/Common/Tools/ColorGrading/Resources/TestData/Photoshop/Log2-48nits/LUT_layer_composite_hue-sat_grade.psd deleted file mode 100644 index 82eca8b3cc..0000000000 --- a/Gems/Atom/Feature/Common/Tools/ColorGrading/Resources/TestData/Photoshop/Log2-48nits/LUT_layer_composite_hue-sat_grade.psd +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ce91088eaa54afab608bfcea6ab4009cbb3027cb83c76710a46470144e7d799d -size 98638424 diff --git a/Gems/Atom/Feature/Common/Tools/ColorGrading/cmdline/CMD_ColorGradingTools.bat b/Gems/Atom/Feature/Common/Tools/ColorGrading/cmdline/CMD_ColorGradingTools.bat index 2c5809ec15..c655eb2e6c 100644 --- a/Gems/Atom/Feature/Common/Tools/ColorGrading/cmdline/CMD_ColorGradingTools.bat +++ b/Gems/Atom/Feature/Common/Tools/ColorGrading/cmdline/CMD_ColorGradingTools.bat @@ -24,7 +24,7 @@ PUSHD %~dp0 SETLOCAL ENABLEDELAYEDEXPANSION :: if the user has set up a custom env call it -IF EXIST "%~dp0User_env.bat" CALL %~dp0User_env.bat +IF EXIST "%~dp0User_Env.bat" CALL %~dp0User_Env.bat :: Initialize env CALL %~dp0\Env_Core.bat diff --git a/Gems/Atom/Feature/Common/Tools/ColorGrading/cmdline/Env_Python.bat b/Gems/Atom/Feature/Common/Tools/ColorGrading/cmdline/Env_Python.bat index 83b7382dc6..fc4afc964e 100644 --- a/Gems/Atom/Feature/Common/Tools/ColorGrading/cmdline/Env_Python.bat +++ b/Gems/Atom/Feature/Common/Tools/ColorGrading/cmdline/Env_Python.bat @@ -20,8 +20,6 @@ PUSHD %~dp0 CALL %~dp0\Env_Core.bat -::SETLOCAL ENABLEDELAYEDEXPANSION - echo. echo _____________________________________________________________________ echo. @@ -67,11 +65,14 @@ echo DCCSI_PY_BASE = %DCCSI_PY_BASE% :: ide and debugger plug set DCCSI_PY_DEFAULT=%DCCSI_PY_BASE% -set DCCSI_PY_IDE=%DCCSI_PYTHON_INSTALL%\runtime\python-3.7.10-rev1-windows\python +IF "%DCCSI_PY_REV%"=="" (set DCCSI_PY_REV=rev2) +IF "%DCCSI_PY_PLATFORM%"=="" (set DCCSI_PY_PLATFORM=windows) + +set DCCSI_PY_IDE=%DCCSI_PYTHON_INSTALL%\runtime\python-%DCCSI_PY_VERSION_MAJOR%.%DCCSI_PY_VERSION_MINOR%.%DCCSI_PY_VERSION_RELEASE%-%DCCSI_PY_REV%-%DCCSI_PY_PLATFORM%\python echo DCCSI_PY_IDE = %DCCSI_PY_IDE% :: Wing and other IDEs probably prefer access directly to the python.exe -set DCCSI_PY_EXE=%DCCSI_PYTHON_INSTALL%\runtime\python-3.7.10-rev1-windows\python\python.exe +set DCCSI_PY_EXE=%DCCSI_PY_IDE%\python.exe echo DCCSI_PY_EXE = %DCCSI_PY_EXE% set DCCSI_PY_IDE_PACKAGES=%DCCSI_PY_IDE%\Lib\site-packages @@ -90,7 +91,10 @@ SET PATH=%DCCSI_PYTHON_INSTALL%;%DCCSI_PY_IDE%;%DCCSI_PY_IDE_PACKAGES%;%DCCSI_PY set PYTHONPATH=%DCCSIG_PATH%;%DCCSI_PYTHON_LIB_PATH%;%O3DE_BIN_PATH%;%DCCSI_COLORGRADING_SCRIPTS%;%DCCSI_FEATURECOMMON_SCRIPTS%;%PYTHONPATH% echo PYTHONPATH = %PYTHONPATH% -::ENDLOCAL +:: used for debugging in WingIDE (but needs to be here) +IF "%TAG_USERNAME%"=="" (set TAG_USERNAME=NOT_SET) +echo TAG_USERNAME = %TAG_USERNAME% +IF "%TAG_USERNAME%"=="NOT_SET" (echo Add TAG_USERNAME to User_Env.bat) :: Set flag so we don't initialize dccsi environment twice SET O3DE_ENV_PY_INIT=1 diff --git a/Gems/Atom/Feature/Common/Tools/ColorGrading/cmdline/Env_WingIDE.bat b/Gems/Atom/Feature/Common/Tools/ColorGrading/cmdline/Env_WingIDE.bat index 4c297f53a9..29982db4f1 100644 --- a/Gems/Atom/Feature/Common/Tools/ColorGrading/cmdline/Env_WingIDE.bat +++ b/Gems/Atom/Feature/Common/Tools/ColorGrading/cmdline/Env_WingIDE.bat @@ -38,8 +38,6 @@ set DCCSI_PY_DEFAULT=%DCCSI_PY_IDE%\python.exe set WINGHOME=%PROGRAMFILES(X86)%\Wing Pro %DCCSI_WING_VERSION_MAJOR%.%DCCSI_WING_VERSION_MINOR% IF "%WING_PROJ%"=="" (set WING_PROJ=%O3DE_PROJECT_PATH%\.solutions\.wing\o3de_color_grading_%DCCSI_WING_VERSION_MAJOR%x.wpr) -::SETLOCAL ENABLEDELAYEDEXPANSION - echo. echo _____________________________________________________________________ echo. @@ -55,8 +53,6 @@ echo WING_PROJ = %WING_PROJ% :: add to the PATH SET PATH=%WINGHOME%;%PATH% -::ENDLOCAL - :: Set flag so we don't initialize dccsi environment twice SET DCCSI_ENV_WINGIDE_INIT=1 GOTO END_OF_FILE diff --git a/Gems/Atom/Feature/Common/Tools/ColorGrading/cmdline/Launch_WingIDE-7-1.bat b/Gems/Atom/Feature/Common/Tools/ColorGrading/cmdline/Launch_WingIDE-7-1.bat index 93f5fb7fa6..15d31b2074 100644 --- a/Gems/Atom/Feature/Common/Tools/ColorGrading/cmdline/Launch_WingIDE-7-1.bat +++ b/Gems/Atom/Feature/Common/Tools/ColorGrading/cmdline/Launch_WingIDE-7-1.bat @@ -73,9 +73,6 @@ echo DCCSI_PY_BASE = %DCCSI_PY_BASE% set DCCSI_PY_DEFAULT=%DCCSI_PY_BASE% echo DCCSI_PY_DEFAULT = %DCCSI_PY_DEFAULT% -:: if the user has set up a custom env call it -IF EXIST "%~dp0User_Dev.bat" CALL %~dp0User_Dev.bat - echo. :: Change to root dir diff --git a/Gems/Atom/Feature/Common/Tools/ColorGrading/cmdline/User_Env.bat.template b/Gems/Atom/Feature/Common/Tools/ColorGrading/cmdline/User_Env.bat.template index 558505f80f..81a53393cf 100644 --- a/Gems/Atom/Feature/Common/Tools/ColorGrading/cmdline/User_Env.bat.template +++ b/Gems/Atom/Feature/Common/Tools/ColorGrading/cmdline/User_Env.bat.template @@ -19,17 +19,16 @@ IF "%O3DE_USER_ENV_INIT%"=="1" GOTO :END_OF_FILE cd %~dp0 PUSHD %~dp0 -SETLOCAL ENABLEDELAYEDEXPANSION - SET O3DE_DEV=C:\Depot\o3de-engine ::SET OCIO_APPS=C:\Depot\o3de-engine\Tools\ColorGrading\ocio\build\src\apps SET TAG_LY_BUILD_PATH=build SET DCCSI_GDEBUG=True SET DCCSI_DEV_MODE=True -SET WING_PROJ=%O3DE_PROJECT_PATH%\.solutions\.wing\o3de_color_grading_%DCCSI_WING_VERSION_MAJOR%x.wpr - -::ENDLOCAL +:: set the your user name here for windows path +SET TAG_USERNAME=< not set > +SET DCCSI_PY_REV=rev1 +SET DCCSI_PY_PLATFORM=windows :: Set flag so we don't initialize dccsi environment twice SET O3DE_USER_ENV_INIT=1 From d838a0fcbce03b5482ddb8c1dfad46fd0ed97a7d Mon Sep 17 00:00:00 2001 From: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com> Date: Tue, 31 Aug 2021 16:51:57 -0700 Subject: [PATCH 39/66] Android release fixes (#3788) Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com> --- Code/Framework/AzCore/AzCore/Debug/Trace.cpp | 2 ++ Code/Tools/AzTestRunner/Platform/Android/platform_android.cpp | 2 +- .../Code/Source/Platform/Android/InAppPurchasesAndroid.cpp | 2 +- Gems/Microphone/Code/Include/Microphone/WAVUtil.h | 2 +- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Code/Framework/AzCore/AzCore/Debug/Trace.cpp b/Code/Framework/AzCore/AzCore/Debug/Trace.cpp index 26c702c13a..87f6def0d2 100644 --- a/Code/Framework/AzCore/AzCore/Debug/Trace.cpp +++ b/Code/Framework/AzCore/AzCore/Debug/Trace.cpp @@ -174,6 +174,8 @@ namespace AZ AZStd::this_thread::sleep_for(milliseconds(1)); } return AZ::Debug::Trace::IsDebuggerPresent(); +#else + return false; #endif } diff --git a/Code/Tools/AzTestRunner/Platform/Android/platform_android.cpp b/Code/Tools/AzTestRunner/Platform/Android/platform_android.cpp index 1e4f731b9a..9e0ea304ef 100644 --- a/Code/Tools/AzTestRunner/Platform/Android/platform_android.cpp +++ b/Code/Tools/AzTestRunner/Platform/Android/platform_android.cpp @@ -64,7 +64,7 @@ namespace AzTestRunner { static char cwd_buffer[AZ_MAX_PATH_LEN] = { '\0' }; - AZ::Utils::ExecutablePathResult result = AZ::Utils::GetExecutableDirectory(cwd_buffer, AZ_ARRAY_SIZE(cwd_buffer)); + [[maybe_unused]] AZ::Utils::ExecutablePathResult result = AZ::Utils::GetExecutableDirectory(cwd_buffer, AZ_ARRAY_SIZE(cwd_buffer)); AZ_Assert(result == AZ::Utils::ExecutablePathResult::Success, "Error retrieving executable path"); return static_cast(cwd_buffer); diff --git a/Gems/InAppPurchases/Code/Source/Platform/Android/InAppPurchasesAndroid.cpp b/Gems/InAppPurchases/Code/Source/Platform/Android/InAppPurchasesAndroid.cpp index 5c8195235b..bd13e91dc6 100644 --- a/Gems/InAppPurchases/Code/Source/Platform/Android/InAppPurchasesAndroid.cpp +++ b/Gems/InAppPurchases/Code/Source/Platform/Android/InAppPurchasesAndroid.cpp @@ -250,7 +250,7 @@ namespace InAppPurchases document.Parse(fileBuffer.data()); if (document.HasParseError()) { - const char* errorStr = rapidjson::GetParseError_En(document.GetParseError()); + [[maybe_unused]] const char* errorStr = rapidjson::GetParseError_En(document.GetParseError()); AZ_TracePrintf("LumberyardInAppBilling", "Failed to parse product_ids.json: %s\n", errorStr); return; } diff --git a/Gems/Microphone/Code/Include/Microphone/WAVUtil.h b/Gems/Microphone/Code/Include/Microphone/WAVUtil.h index 71c1ec13d1..9fdcc95a97 100644 --- a/Gems/Microphone/Code/Include/Microphone/WAVUtil.h +++ b/Gems/Microphone/Code/Include/Microphone/WAVUtil.h @@ -89,7 +89,7 @@ namespace Audio AZ::IO::FileIOStream fileStream(filePath.c_str(), AZ::IO::OpenMode::ModeWrite | AZ::IO::OpenMode::ModeBinary); if (fileStream.IsOpen()) { - auto bytesWritten = fileStream.Write(m_bufferSize, m_buffer); + [[maybe_unused]] auto bytesWritten = fileStream.Write(m_bufferSize, m_buffer); AZ_TracePrintf("WAVUtil", "Wrote WAV file: %s, %d bytes\n", filePath.c_str(), bytesWritten); return true; } From 0c7dfce5a0d01684c508abe56db42c7eb3b6c8c8 Mon Sep 17 00:00:00 2001 From: Ken Pruiksma Date: Tue, 31 Aug 2021 19:05:03 -0500 Subject: [PATCH 40/66] First pass terrain cleanup (#3753) * First pass cleanup of some terrain components. Signed-off-by: Ken Pruiksma * Adding basic culling to terrain sectors Signed-off-by: Ken Pruiksma * Adding default value for m_transform Signed-off-by: Ken Pruiksma --- .../Components/TerrainWorldComponent.cpp | 6 +- .../TerrainWorldDebuggerComponent.cpp | 7 - .../TerrainFeatureProcessor.cpp | 204 ++++++++---------- .../TerrainRenderer/TerrainFeatureProcessor.h | 33 +-- .../Source/TerrainSystem/TerrainSystem.cpp | 32 +-- .../Code/Source/TerrainSystem/TerrainSystem.h | 7 +- .../Source/TerrainSystem/TerrainSystemBus.h | 6 +- 7 files changed, 122 insertions(+), 173 deletions(-) diff --git a/Gems/Terrain/Code/Source/Components/TerrainWorldComponent.cpp b/Gems/Terrain/Code/Source/Components/TerrainWorldComponent.cpp index e2af58e3eb..669a8f4b02 100644 --- a/Gems/Terrain/Code/Source/Components/TerrainWorldComponent.cpp +++ b/Gems/Terrain/Code/Source/Components/TerrainWorldComponent.cpp @@ -85,8 +85,10 @@ namespace Terrain void TerrainWorldComponent::Activate() { - TerrainSystemServiceRequestBus::Broadcast(&TerrainSystemServiceRequestBus::Events::SetWorldMin, m_configuration.m_worldMin); - TerrainSystemServiceRequestBus::Broadcast(&TerrainSystemServiceRequestBus::Events::SetWorldMax, m_configuration.m_worldMax); + TerrainSystemServiceRequestBus::Broadcast( + &TerrainSystemServiceRequestBus::Events::SetWorldBounds, + AZ::Aabb::CreateFromMinMax(m_configuration.m_worldMin, m_configuration.m_worldMax) + ); TerrainSystemServiceRequestBus::Broadcast( &TerrainSystemServiceRequestBus::Events::SetHeightQueryResolution, m_configuration.m_heightQueryResolution); diff --git a/Gems/Terrain/Code/Source/Components/TerrainWorldDebuggerComponent.cpp b/Gems/Terrain/Code/Source/Components/TerrainWorldDebuggerComponent.cpp index 1fea51ded4..d7504295c2 100644 --- a/Gems/Terrain/Code/Source/Components/TerrainWorldDebuggerComponent.cpp +++ b/Gems/Terrain/Code/Source/Components/TerrainWorldDebuggerComponent.cpp @@ -92,20 +92,13 @@ namespace Terrain { m_wireframeBounds = AZ::Aabb::CreateNull(); - TerrainSystemServiceRequestBus::Broadcast( - &TerrainSystemServiceRequestBus::Events::SetDebugWireframe, m_configuration.m_drawWireframe); - AzFramework::EntityDebugDisplayEventBus::Handler::BusConnect(GetEntityId()); AzFramework::BoundsRequestBus::Handler::BusConnect(GetEntityId()); AzFramework::Terrain::TerrainDataNotificationBus::Handler::BusConnect(); - } void TerrainWorldDebuggerComponent::Deactivate() { - TerrainSystemServiceRequestBus::Broadcast( - &TerrainSystemServiceRequestBus::Events::SetDebugWireframe, false); - AzFramework::Terrain::TerrainDataNotificationBus::Handler::BusDisconnect(); AzFramework::BoundsRequestBus::Handler::BusDisconnect(); AzFramework::EntityDebugDisplayEventBus::Handler::BusDisconnect(); diff --git a/Gems/Terrain/Code/Source/TerrainRenderer/TerrainFeatureProcessor.cpp b/Gems/Terrain/Code/Source/TerrainRenderer/TerrainFeatureProcessor.cpp index 812ed3f0da..2178151e3d 100644 --- a/Gems/Terrain/Code/Source/TerrainRenderer/TerrainFeatureProcessor.cpp +++ b/Gems/Terrain/Code/Source/TerrainRenderer/TerrainFeatureProcessor.cpp @@ -10,12 +10,14 @@ #include #include +#include #include #include #include #include +#include #include #include #include @@ -34,6 +36,7 @@ namespace Terrain namespace { const uint32_t DEFAULT_UploadBufferSize = 512 * 1024; // 512k + const char* TerrainFPName = "TerrainFeatureProcessor"; } namespace ShaderInputs @@ -59,7 +62,7 @@ namespace Terrain void TerrainFeatureProcessor::Activate() { - m_areaData.clear(); + m_areaData = {}; InitializeAtomStuff(); EnableSceneNotification(); @@ -69,43 +72,18 @@ namespace Terrain { m_rhiSystem = AZ::RHI::RHISystemInterface::Get(); - m_rhiSystem->GetDrawListTagRegistry()->AcquireTag(AZ::Name("Terrain")); - { // Load the shader - - const char* terrainShaderFilePath = "Shaders/Terrain/Terrain.azshader"; - - AZ::Data::AssetId shaderAssetId; - AZ::Data::AssetCatalogRequestBus::BroadcastResult( - shaderAssetId, &AZ::Data::AssetCatalogRequestBus::Events::GetAssetIdByPath, - terrainShaderFilePath, azrtti_typeid(), false); - if (!shaderAssetId.IsValid()) - { - AZ_Error("Terrain", false, "Failed to get shader asset id with path %s", terrainShaderFilePath); - return; - } - - auto shaderAsset = AZ::Data::AssetManager::Instance().GetAsset(shaderAssetId, AZ::Data::AssetLoadBehavior::PreLoad); - shaderAsset.BlockUntilLoadComplete(); - - if (!shaderAsset.IsReady()) - { - AZ_Error("Terrain", false, "Failed to get shader asset with path %s", terrainShaderFilePath); - return; - } - - m_shader = AZ::RPI::Shader::FindOrCreate(shaderAsset); + constexpr const char* TerrainShaderFilePath = "Shaders/Terrain/Terrain.azshader"; + m_shader = AZ::RPI::LoadShader(TerrainShaderFilePath); if (!m_shader) { - AZ_Error("Terrain", false, "Failed to find or create a shader instance from shader asset '%s'", terrainShaderFilePath); + AZ_Error(TerrainFPName, false, "Failed to find or create a shader instance from shader asset '%s'", TerrainShaderFilePath); return; } // Create the data layout - m_pipelineStateDescriptor = AZ::RHI::PipelineStateDescriptorForDraw{}; - { AZ::RHI::InputStreamLayoutBuilder layoutBuilder; @@ -124,41 +102,41 @@ namespace Terrain m_perObjectSrgAsset = m_shader->FindShaderResourceGroupLayout(AZ::Name{"ObjectSrg"}); if (!m_perObjectSrgAsset) { - AZ_Error("Terrain", false, "Failed to get shader resource group asset"); + AZ_Error(TerrainFPName, false, "Failed to get shader resource group asset"); return; } else if (!m_perObjectSrgAsset->IsFinalized()) { - AZ_Error("Terrain", false, "Shader resource group asset is not loaded"); + AZ_Error(TerrainFPName, false, "Shader resource group asset is not loaded"); return; } const AZ::RHI::ShaderResourceGroupLayout* shaderResourceGroupLayout = &(*m_perObjectSrgAsset); m_heightmapImageIndex = shaderResourceGroupLayout->FindShaderInputImageIndex(AZ::Name(ShaderInputs::HeightmapImage)); - AZ_Error("Terrain", m_heightmapImageIndex.IsValid(), "Failed to find shader input image %s.", ShaderInputs::HeightmapImage); + AZ_Error(TerrainFPName, m_heightmapImageIndex.IsValid(), "Failed to find shader input image %s.", ShaderInputs::HeightmapImage); m_modelToWorldIndex = shaderResourceGroupLayout->FindShaderInputConstantIndex(AZ::Name(ShaderInputs::ModelToWorld)); - AZ_Error("Terrain", m_modelToWorldIndex.IsValid(), "Failed to find shader input constant %s.", ShaderInputs::ModelToWorld); + AZ_Error(TerrainFPName, m_modelToWorldIndex.IsValid(), "Failed to find shader input constant %s.", ShaderInputs::ModelToWorld); m_heightScaleIndex = shaderResourceGroupLayout->FindShaderInputConstantIndex(AZ::Name(ShaderInputs::HeightScale)); - AZ_Error("Terrain", m_heightScaleIndex.IsValid(), "Failed to find shader input constant %s.", ShaderInputs::HeightScale); + AZ_Error(TerrainFPName, m_heightScaleIndex.IsValid(), "Failed to find shader input constant %s.", ShaderInputs::HeightScale); m_uvMinIndex = shaderResourceGroupLayout->FindShaderInputConstantIndex(AZ::Name(ShaderInputs::UvMin)); - AZ_Error("Terrain", m_uvMinIndex.IsValid(), "Failed to find shader input constant %s.", ShaderInputs::UvMin); + AZ_Error(TerrainFPName, m_uvMinIndex.IsValid(), "Failed to find shader input constant %s.", ShaderInputs::UvMin); m_uvMaxIndex = shaderResourceGroupLayout->FindShaderInputConstantIndex(AZ::Name(ShaderInputs::UvMax)); - AZ_Error("Terrain", m_uvMaxIndex.IsValid(), "Failed to find shader input constant %s.", ShaderInputs::UvMax); + AZ_Error(TerrainFPName, m_uvMaxIndex.IsValid(), "Failed to find shader input constant %s.", ShaderInputs::UvMax); m_uvStepIndex = shaderResourceGroupLayout->FindShaderInputConstantIndex(AZ::Name(ShaderInputs::UvStep)); - AZ_Error("Terrain", m_uvStepIndex.IsValid(), "Failed to find shader input constant %s.", ShaderInputs::UvStep); + AZ_Error(TerrainFPName, m_uvStepIndex.IsValid(), "Failed to find shader input constant %s.", ShaderInputs::UvStep); // If this fails to run now, it's ok, we'll initialize it in OnRenderPipelineAdded later. bool success = GetParentScene()->ConfigurePipelineState(m_shader->GetDrawListTag(), m_pipelineStateDescriptor); if (success) { m_pipelineState = m_shader->AcquirePipelineState(m_pipelineStateDescriptor); - AZ_Assert(m_pipelineState, "Failed to acquire default pipeline state for shader '%s'", terrainShaderFilePath); + AZ_Assert(m_pipelineState, "Failed to acquire default pipeline state for shader '%s'", TerrainShaderFilePath); } } @@ -172,7 +150,7 @@ namespace Terrain if (resultCode != AZ::RHI::ResultCode::Success) { - AZ_Error("Terrain", false, "Failed to create host buffer pool from RPI"); + AZ_Error(TerrainFPName, false, "Failed to create host buffer pool from RPI"); return; } @@ -180,7 +158,7 @@ namespace Terrain if (!InitializeRenderBuffers()) { - AZ_Error("Terrain", false, "Failed to create Terrain render buffers!"); + AZ_Error(TerrainFPName, false, "Failed to create Terrain render buffers!"); return; } } @@ -210,7 +188,7 @@ namespace Terrain DisableSceneNotification(); DestroyRenderBuffers(); - m_areaData.clear(); + m_areaData = {}; if (m_hostPool) { @@ -226,7 +204,6 @@ namespace Terrain } void TerrainFeatureProcessor::UpdateTerrainData( - AZ::EntityId areaId, const AZ::Transform& transform, const AZ::Aabb& worldBounds, [[maybe_unused]] float sampleSpacing, @@ -234,37 +211,33 @@ namespace Terrain { if (!worldBounds.IsValid()) { - m_areaData.erase(areaId); return; } - TerrainAreaData areaData; - - areaData.m_transform = transform; - areaData.m_heightScale = worldBounds.GetZExtent(); - areaData.m_terrainBounds = worldBounds; - areaData.m_heightmapImageHeight = height; - areaData.m_heightmapImageWidth = width; + m_areaData.m_transform = transform; + m_areaData.m_heightScale = worldBounds.GetZExtent(); + m_areaData.m_terrainBounds = worldBounds; + m_areaData.m_heightmapImageHeight = height; + m_areaData.m_heightmapImageWidth = width; // Create heightmap image data { - areaData.m_propertiesDirty = true; + m_areaData.m_propertiesDirty = true; AZ::RHI::Size imageSize; imageSize.m_width = width; imageSize.m_height = height; AZ::Data::Instance streamingImagePool = AZ::RPI::ImageSystemInterface::Get()->GetSystemStreamingPool(); - areaData.m_heightmapImage = AZ::RPI::StreamingImage::CreateFromCpuData(*streamingImagePool, + m_areaData.m_heightmapImage = AZ::RPI::StreamingImage::CreateFromCpuData(*streamingImagePool, AZ::RHI::ImageDimension::Image2D, imageSize, AZ::RHI::Format::R32_FLOAT, (uint8_t*)heightData.data(), heightData.size() * sizeof(float)); - AZ_Error("Terrain", areaData.m_heightmapImage, "Failed to initialize the heightmap image!"); + AZ_Error(TerrainFPName, m_areaData.m_heightmapImage, "Failed to initialize the heightmap image!"); } - m_areaData.insert_or_assign(areaId, areaData); } void TerrainFeatureProcessor::ProcessSurfaces(const FeatureProcessor::RenderPacket& process) @@ -276,31 +249,30 @@ namespace Terrain return; } - if (m_areaData.empty()) + if (!m_areaData.m_terrainBounds.IsValid()) { return; } - - m_drawPackets.clear(); - m_processSrgs.clear(); - - AZ::RHI::DrawPacketBuilder drawPacketBuilder; - - uint32_t numIndices = static_cast(m_gridIndices.size()); - - AZ::RHI::DrawIndexed drawIndexed; - drawIndexed.m_indexCount = numIndices; - drawIndexed.m_indexOffset = 0; - drawIndexed.m_vertexOffset = 0; - - for (auto& [areaId, areaData] : m_areaData) + + if (m_areaData.m_propertiesDirty) { + m_sectorData.clear(); + + AZ::RHI::DrawPacketBuilder drawPacketBuilder; + + uint32_t numIndices = static_cast(m_gridIndices.size()); + + AZ::RHI::DrawIndexed drawIndexed; + drawIndexed.m_indexCount = numIndices; + drawIndexed.m_indexOffset = 0; + drawIndexed.m_vertexOffset = 0; + float xFirstPatchStart = - areaData.m_terrainBounds.GetMin().GetX() - fmod(areaData.m_terrainBounds.GetMin().GetX(), m_gridMeters); - float xLastPatchStart = areaData.m_terrainBounds.GetMax().GetX() - fmod(areaData.m_terrainBounds.GetMax().GetX(), m_gridMeters); + m_areaData.m_terrainBounds.GetMin().GetX() - fmod(m_areaData.m_terrainBounds.GetMin().GetX(), m_gridMeters); + float xLastPatchStart = m_areaData.m_terrainBounds.GetMax().GetX() - fmod(m_areaData.m_terrainBounds.GetMax().GetX(), m_gridMeters); float yFirstPatchStart = - areaData.m_terrainBounds.GetMin().GetY() - fmod(areaData.m_terrainBounds.GetMin().GetY(), m_gridMeters); - float yLastPatchStart = areaData.m_terrainBounds.GetMax().GetY() - fmod(areaData.m_terrainBounds.GetMax().GetY(), m_gridMeters); + m_areaData.m_terrainBounds.GetMin().GetY() - fmod(m_areaData.m_terrainBounds.GetMin().GetY(), m_gridMeters); + float yLastPatchStart = m_areaData.m_terrainBounds.GetMax().GetY() - fmod(m_areaData.m_terrainBounds.GetMax().GetY(), m_gridMeters); for (float yPatch = yFirstPatchStart; yPatch <= yLastPatchStart; yPatch += m_gridMeters) { @@ -310,62 +282,70 @@ namespace Terrain drawPacketBuilder.SetDrawArguments(drawIndexed); drawPacketBuilder.SetIndexBufferView(m_indexBufferView); - auto m_resourceGroup = AZ::RPI::ShaderResourceGroup::Create(m_shader->GetAsset(), m_shader->GetSupervariantIndex(), AZ::Name("ObjectSrg")); + auto resourceGroup = AZ::RPI::ShaderResourceGroup::Create(m_shader->GetAsset(), m_shader->GetSupervariantIndex(), AZ::Name("ObjectSrg")); //auto m_resourceGroup = AZ::RPI::ShaderResourceGroup::Create(m_shader->GetAsset(), AZ::Name("ObjectSrg")); - if (!m_resourceGroup) + if (!resourceGroup) { - AZ_Error("Terrain", false, "Failed to create shader resource group"); + AZ_Error(TerrainFPName, false, "Failed to create shader resource group"); return; } float uvMin[2] = { 0.0f, 0.0f }; float uvMax[2] = { 1.0f, 1.0f }; - uvMin[0] = (float)((xPatch - areaData.m_terrainBounds.GetMin().GetX()) / areaData.m_terrainBounds.GetXExtent()); - uvMin[1] = (float)((yPatch - areaData.m_terrainBounds.GetMin().GetY()) / areaData.m_terrainBounds.GetYExtent()); + uvMin[0] = (float)((xPatch - m_areaData.m_terrainBounds.GetMin().GetX()) / m_areaData.m_terrainBounds.GetXExtent()); + uvMin[1] = (float)((yPatch - m_areaData.m_terrainBounds.GetMin().GetY()) / m_areaData.m_terrainBounds.GetYExtent()); uvMax[0] = - (float)(((xPatch + m_gridMeters) - areaData.m_terrainBounds.GetMin().GetX()) / areaData.m_terrainBounds.GetXExtent()); + (float)(((xPatch + m_gridMeters) - m_areaData.m_terrainBounds.GetMin().GetX()) / m_areaData.m_terrainBounds.GetXExtent()); uvMax[1] = - (float)(((yPatch + m_gridMeters) - areaData.m_terrainBounds.GetMin().GetY()) / areaData.m_terrainBounds.GetYExtent()); + (float)(((yPatch + m_gridMeters) - m_areaData.m_terrainBounds.GetMin().GetY()) / m_areaData.m_terrainBounds.GetYExtent()); float uvStep[2] = { - 1.0f / areaData.m_heightmapImageWidth, 1.0f / areaData.m_heightmapImageHeight, + 1.0f / m_areaData.m_heightmapImageWidth, 1.0f / m_areaData.m_heightmapImageHeight, }; - AZ::Transform transform = areaData.m_transform; - transform.SetTranslation(xPatch, yPatch, areaData.m_transform.GetTranslation().GetZ()); + AZ::Transform transform = m_areaData.m_transform; + transform.SetTranslation(xPatch, yPatch, m_areaData.m_transform.GetTranslation().GetZ()); AZ::Matrix3x4 matrix3x4 = AZ::Matrix3x4::CreateFromTransform(transform); - m_resourceGroup->SetImage(m_heightmapImageIndex, areaData.m_heightmapImage); - m_resourceGroup->SetConstant(m_modelToWorldIndex, matrix3x4); - m_resourceGroup->SetConstant(m_heightScaleIndex, areaData.m_heightScale); - m_resourceGroup->SetConstant(m_uvMinIndex, uvMin); - m_resourceGroup->SetConstant(m_uvMaxIndex, uvMax); - m_resourceGroup->SetConstant(m_uvStepIndex, uvStep); - m_resourceGroup->Compile(); - m_processSrgs.push_back(m_resourceGroup); - - if (m_resourceGroup != nullptr) - { - drawPacketBuilder.AddShaderResourceGroup(m_resourceGroup->GetRHIShaderResourceGroup()); - } + resourceGroup->SetImage(m_heightmapImageIndex, m_areaData.m_heightmapImage); + resourceGroup->SetConstant(m_modelToWorldIndex, matrix3x4); + resourceGroup->SetConstant(m_heightScaleIndex, m_areaData.m_heightScale); + resourceGroup->SetConstant(m_uvMinIndex, uvMin); + resourceGroup->SetConstant(m_uvMaxIndex, uvMax); + resourceGroup->SetConstant(m_uvStepIndex, uvStep); + resourceGroup->Compile(); + drawPacketBuilder.AddShaderResourceGroup(resourceGroup->GetRHIShaderResourceGroup()); AZ::RHI::DrawPacketBuilder::DrawRequest drawRequest; drawRequest.m_listTag = m_drawListTag; drawRequest.m_pipelineState = m_pipelineState.get(); - drawRequest.m_streamBufferViews = m_vertexBufferViews; + drawRequest.m_streamBufferViews = AZStd::array_view(&m_vertexBufferView, 1); drawPacketBuilder.AddDrawItem(drawRequest); - - const AZ::RHI::DrawPacket* drawPacket = drawPacketBuilder.End(); - m_drawPackets.emplace_back(drawPacket); - - for (auto& view : process.m_views) - { - view->AddDrawPacket(drawPacket); - } + + m_sectorData.emplace_back( + drawPacketBuilder.End(), + AZ::Aabb::CreateFromMinMax( + AZ::Vector3(xPatch, yPatch, m_areaData.m_terrainBounds.GetMin().GetZ()), + AZ::Vector3(xPatch + m_gridMeters, yPatch + m_gridMeters, m_areaData.m_terrainBounds.GetMax().GetZ()) + ), + resourceGroup + ); + } + } + } + + for (auto& view : process.m_views) + { + AZ::Frustum viewFrustum = AZ::Frustum::CreateFromMatrixColumnMajor(view->GetWorldToClipMatrix()); + for (auto& sectorData : m_sectorData) + { + if (viewFrustum.IntersectAabb(sectorData.m_aabb) != AZ::IntersectResult::Exterior) + { + view->AddDrawPacket(sectorData.m_drawPacket.get()); } } } @@ -413,9 +393,6 @@ namespace Terrain m_indexBuffer->SetName(AZ::Name("TerrainIndexBuffer")); m_vertexBuffer->SetName(AZ::Name("TerrainVertexBuffer")); - // We only need one vertex buffer view. - m_vertexBufferViews.resize(1); - AZStd::vector> buffers = { m_indexBuffer , m_vertexBuffer }; // Fill our buffers with the vertex/index data @@ -433,7 +410,7 @@ namespace Terrain if (result != AZ::RHI::ResultCode::Success) { - AZ_Error("Terrain", false, "Failed to create GPU buffers for Terrain"); + AZ_Error(TerrainFPName, false, "Failed to create GPU buffers for Terrain"); return false; } @@ -462,10 +439,10 @@ namespace Terrain const uint64_t elementSize = m_gridVertices.size() * sizeof(Vertex); memcpy(mappedData, m_gridVertices.data(), elementSize); - m_vertexBufferViews[bufferIndex - 1] = AZ::RHI::StreamBufferView( + m_vertexBufferView = AZ::RHI::StreamBufferView( *buffer, 0, static_cast(elementSize), static_cast(sizeof(Vertex))); - AZ::RHI::ValidateStreamBufferViews(m_pipelineStateDescriptor.m_inputStreamLayout, m_vertexBufferViews); + AZ::RHI::ValidateStreamBufferViews(m_pipelineStateDescriptor.m_inputStreamLayout, { { m_vertexBufferView } }); } m_hostPool->UnmapBuffer(*buffer); @@ -479,9 +456,8 @@ namespace Terrain m_indexBuffer.reset(); m_vertexBuffer.reset(); - m_vertexBufferViews.clear(); - - m_processSrgs.clear(); + m_indexBufferView = {}; + m_vertexBufferView = {}; m_pipelineStateDescriptor = AZ::RHI::PipelineStateDescriptorForDraw{}; m_pipelineState = nullptr; diff --git a/Gems/Terrain/Code/Source/TerrainRenderer/TerrainFeatureProcessor.h b/Gems/Terrain/Code/Source/TerrainRenderer/TerrainFeatureProcessor.h index 2a1d5b7514..7a7b63b634 100644 --- a/Gems/Terrain/Code/Source/TerrainRenderer/TerrainFeatureProcessor.h +++ b/Gems/Terrain/Code/Source/TerrainRenderer/TerrainFeatureProcessor.h @@ -47,16 +47,12 @@ namespace Terrain void Deactivate() override; void Render(const AZ::RPI::FeatureProcessor::RenderPacket& packet) override; - void UpdateTerrainData(AZ::EntityId areaId, const AZ::Transform& transform, const AZ::Aabb& worldBounds, float sampleSpacing, + void UpdateTerrainData(const AZ::Transform& transform, const AZ::Aabb& worldBounds, float sampleSpacing, uint32_t width, uint32_t height, const AZStd::vector& heightData); - void RemoveTerrainData(AZ::EntityId areaId) - { - m_areaData.erase(areaId); - } void RemoveTerrainData() { - m_areaData.clear(); + m_areaData = {}; } private: @@ -122,13 +118,13 @@ namespace Terrain AZ::RHI::Ptr m_indexBuffer; AZ::RHI::Ptr m_vertexBuffer; AZ::RHI::IndexBufferView m_indexBufferView; - AZStd::fixed_vector m_vertexBufferViews; + AZ::RHI::StreamBufferView m_vertexBufferView; // Per-area data struct TerrainAreaData { - AZ::Transform m_transform; - AZ::Aabb m_terrainBounds; + AZ::Transform m_transform{ AZ::Transform::CreateIdentity() }; + AZ::Aabb m_terrainBounds{ AZ::Aabb::CreateNull() }; float m_heightScale; AZ::Data::Instance m_heightmapImage; uint32_t m_heightmapImageWidth; @@ -136,10 +132,21 @@ namespace Terrain bool m_propertiesDirty{ true }; }; - AZStd::unordered_map m_areaData; + TerrainAreaData m_areaData; - // These could either be per-area or system-level - AZStd::vector> m_drawPackets; - AZStd::vector> m_processSrgs; + struct SectorData + { + AZ::Data::Instance m_srg; + AZ::Aabb m_aabb; + AZStd::unique_ptr m_drawPacket; + + SectorData(const AZ::RHI::DrawPacket* drawPacket, AZ::Aabb aabb, AZ::Data::Instance srg) + : m_srg(srg) + , m_aabb(aabb) + , m_drawPacket(drawPacket) + {} + }; + + AZStd::vector m_sectorData; }; } diff --git a/Gems/Terrain/Code/Source/TerrainSystem/TerrainSystem.cpp b/Gems/Terrain/Code/Source/TerrainSystem/TerrainSystem.cpp index 872b37a02e..90b74f08ba 100644 --- a/Gems/Terrain/Code/Source/TerrainSystem/TerrainSystem.cpp +++ b/Gems/Terrain/Code/Source/TerrainSystem/TerrainSystem.cpp @@ -49,15 +49,9 @@ void TerrainSystem::Deactivate() m_terrainSettingsDirty = true; } -void TerrainSystem::SetWorldMin(AZ::Vector3 worldOrigin) -{ - m_requestedSettings.m_worldBounds.SetMin(worldOrigin); - m_terrainSettingsDirty = true; -} - -void TerrainSystem::SetWorldMax(AZ::Vector3 worldBounds) -{ - m_requestedSettings.m_worldBounds.SetMax(worldBounds); +void TerrainSystem::SetWorldBounds(const AZ::Aabb& worldBounds) +{ + m_requestedSettings.m_worldBounds = worldBounds; m_terrainSettingsDirty = true; } @@ -67,13 +61,6 @@ void TerrainSystem::SetHeightQueryResolution(AZ::Vector2 queryResolution) m_terrainSettingsDirty = true; } -void TerrainSystem::SetDebugWireframe(bool wireframeEnabled) -{ - m_requestedSettings.m_debugWireframeEnabled = wireframeEnabled; - m_terrainSettingsDirty = true; -} - - AZ::Aabb TerrainSystem::GetTerrainAabb() const { return m_currentSettings.m_worldBounds; @@ -378,13 +365,6 @@ void TerrainSystem::OnTick(float /*deltaTime*/, AZ::ScriptTimePoint /*time*/) terrainSettingsChanged = true; } - if (m_requestedSettings.m_debugWireframeEnabled != m_currentSettings.m_debugWireframeEnabled) - { - m_dirtyRegion = AZ::Aabb::CreateNull(); - m_terrainHeightDirty = true; - terrainSettingsChanged = true; - } - if (m_requestedSettings.m_heightQueryResolution != m_currentSettings.m_heightQueryResolution) { m_dirtyRegion = AZ::Aabb::CreateNull(); @@ -409,7 +389,6 @@ void TerrainSystem::OnTick(float /*deltaTime*/, AZ::ScriptTimePoint /*time*/) { AZStd::shared_lock lock(m_areaMutex); - AZ::EntityId entityId(0); AZ::Transform transform = AZ::Transform::CreateTranslation(m_currentSettings.m_worldBounds.GetCenter()); uint32_t width = aznumeric_cast( @@ -417,7 +396,7 @@ void TerrainSystem::OnTick(float /*deltaTime*/, AZ::ScriptTimePoint /*time*/) uint32_t height = aznumeric_cast( (float)m_currentSettings.m_worldBounds.GetYExtent() / m_currentSettings.m_heightQueryResolution.GetY()); AZStd::vector pixels; - pixels.resize(width * height); + pixels.resize_no_construct(width * height); const uint32_t pixelDataSize = width * height * sizeof(float); memset(pixels.data(), 0, pixelDataSize); @@ -454,8 +433,7 @@ void TerrainSystem::OnTick(float /*deltaTime*/, AZ::ScriptTimePoint /*time*/) if (terrainFeatureProcessor) { terrainFeatureProcessor->UpdateTerrainData( - entityId, transform, m_currentSettings.m_worldBounds, m_currentSettings.m_heightQueryResolution.GetX(), width, height, - pixels); + transform, m_currentSettings.m_worldBounds, m_currentSettings.m_heightQueryResolution.GetX(), width, height, pixels); } } diff --git a/Gems/Terrain/Code/Source/TerrainSystem/TerrainSystem.h b/Gems/Terrain/Code/Source/TerrainSystem/TerrainSystem.h index 56ed182047..2d2286a0c3 100644 --- a/Gems/Terrain/Code/Source/TerrainSystem/TerrainSystem.h +++ b/Gems/Terrain/Code/Source/TerrainSystem/TerrainSystem.h @@ -36,11 +36,9 @@ namespace Terrain /////////////////////////////////////////// // TerrainSystemServiceRequestBus::Handler Impl - - void SetWorldMin(AZ::Vector3 worldOrigin) override; - void SetWorldMax(AZ::Vector3 worldBounds) override; + + void SetWorldBounds(const AZ::Aabb& worldBounds) override; void SetHeightQueryResolution(AZ::Vector2 queryResolution) override; - void SetDebugWireframe(bool wireframeEnabled) override; void Activate() override; void Deactivate() override; @@ -103,7 +101,6 @@ namespace Terrain { AZ::Aabb m_worldBounds; AZ::Vector2 m_heightQueryResolution{ 1.0f }; - bool m_debugWireframeEnabled{ false }; bool m_systemActive{ false }; }; diff --git a/Gems/Terrain/Code/Source/TerrainSystem/TerrainSystemBus.h b/Gems/Terrain/Code/Source/TerrainSystem/TerrainSystemBus.h index 08521fd780..e999cbf8be 100644 --- a/Gems/Terrain/Code/Source/TerrainSystem/TerrainSystemBus.h +++ b/Gems/Terrain/Code/Source/TerrainSystem/TerrainSystemBus.h @@ -39,10 +39,8 @@ namespace Terrain virtual void Activate() = 0; virtual void Deactivate() = 0; - virtual void SetWorldMin(AZ::Vector3 worldOrigin) = 0; - virtual void SetWorldMax(AZ::Vector3 worldBounds) = 0; + virtual void SetWorldBounds(const AZ::Aabb& worldBounds) = 0; virtual void SetHeightQueryResolution(AZ::Vector2 queryResolution) = 0; - virtual void SetDebugWireframe(bool wireframeEnabled) = 0; // register an area to override terrain virtual void RegisterArea(AZ::EntityId areaId) = 0; @@ -111,8 +109,6 @@ namespace Terrain virtual void GetHeight(const AZ::Vector3& inPosition, AZ::Vector3& outPosition, Sampler sampleFilter = Sampler::DEFAULT) = 0; virtual void GetNormal(const AZ::Vector3& inPosition, AZ::Vector3& outNormal, Sampler sampleFilter = Sampler::DEFAULT) = 0; - //virtual void GetSurfaceWeights(const AZ::Vector3& inPosition, SurfaceTagWeightMap& outSurfaceWeights, Sampler sampleFilter = DEFAULT) = 0; - //virtual void GetSurfacePoint(const AZ::Vector3& inPosition, SurfacePoint& outSurfacePoint, SurfacePointDataMask dataMask = DEFAULT, Sampler sampleFilter = DEFAULT) = 0; }; using TerrainAreaHeightRequestBus = AZ::EBus; From c1c6fa36153d977181683eb5f7fa2901c5247303 Mon Sep 17 00:00:00 2001 From: Shirang Jia Date: Tue, 31 Aug 2021 17:37:25 -0700 Subject: [PATCH 41/66] Auto-cut Github issue on build failures from main/development (#3730) * Send SNS topic on build failure * send build failure root cause data to SNS topic that triggeres lambda function to automatically create Github issues * Change SNS topic subject to Build failure and add build url to the message * Change SNS topic name --- scripts/build/Jenkins/Jenkinsfile | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/scripts/build/Jenkins/Jenkinsfile b/scripts/build/Jenkins/Jenkinsfile index 490e45b9a0..328e5f8df7 100644 --- a/scripts/build/Jenkins/Jenkinsfile +++ b/scripts/build/Jenkins/Jenkinsfile @@ -6,7 +6,7 @@ * SPDX-License-Identifier: Apache-2.0 OR MIT * */ - +import groovy.json.JsonOutput PIPELINE_CONFIG_FILE = 'scripts/build/Jenkins/lumberyard.json' INCREMENTAL_BUILD_SCRIPT_PATH = 'scripts/build/bootstrap/incremental_build_util.py' @@ -770,6 +770,14 @@ finally { } else { buildFailure = tm('${BUILD_FAILURE_ANALYZER}') emailBody = "${BUILD_URL}\n${buildFailure}!" + if(env.SNS_TOPIC_BUILD_FAILURE) { + message_json = ["build_url":env.BUILD_URL, "repository_name":env.REPOSITORY_NAME, "branch_name":env.BRANCH_NAME, "build_failure":buildFailure] + snsPublish( + topicArn: env.SNS_TOPIC_BUILD_FAILURE, + subject:'Build Failure', + message:JsonOutput.toJson(message_json) + ) + } } emailext ( body: "${emailBody}", From 2d45a6b4cb3808cbe3e9d98b0ed62e8b920879f0 Mon Sep 17 00:00:00 2001 From: AMZN-Igarri <82394219+AMZN-Igarri@users.noreply.github.com> Date: Wed, 1 Sep 2021 10:39:44 +0200 Subject: [PATCH 42/66] [Experimental] Asset Picker Flatten View (#3589) * Adding Asset Browser Table View to AssetPicker Signed-off-by: igarri * Adding connections Signed-off-by: igarri * Adding CVar to hide/show path column Signed-off-by: igarri * Added Feedback from codereview Signed-off-by: igarri * Changed m_showColumn name to m_ShownColumns Signed-off-by: igarri --- .../AzAssetBrowser/AzAssetBrowserWindow.cpp | 1 + .../AssetBrowser/AssetBrowserFilterModel.cpp | 6 +- .../AssetBrowser/AssetBrowserFilterModel.h | 10 +-- .../AssetBrowser/AssetBrowserTableModel.cpp | 5 +- .../AssetBrowser/AssetBrowserTableModel.h | 3 +- .../AssetPicker/AssetPickerDialog.cpp | 67 ++++++++++++++++++- .../AssetPicker/AssetPickerDialog.h | 2 + .../AssetPicker/AssetPickerDialog.ui | 8 +++ .../Views/AssetBrowserTableView.h | 1 - .../Model/UnitTestBrowserFilterModel.cpp | 2 +- 10 files changed, 89 insertions(+), 16 deletions(-) diff --git a/Code/Editor/AzAssetBrowser/AzAssetBrowserWindow.cpp b/Code/Editor/AzAssetBrowser/AzAssetBrowserWindow.cpp index c54fe60c4d..18946c7874 100644 --- a/Code/Editor/AzAssetBrowser/AzAssetBrowserWindow.cpp +++ b/Code/Editor/AzAssetBrowser/AzAssetBrowserWindow.cpp @@ -90,6 +90,7 @@ AzAssetBrowserWindow::AzAssetBrowserWindow(QWidget* parent) m_tableModel->setFilterRole(Qt::DisplayRole); m_tableModel->setSourceModel(m_filterModel.data()); + m_tableModel->setDynamicSortFilter(true); m_ui->m_assetBrowserTableViewWidget->setModel(m_tableModel.data()); connect( diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/AssetBrowserFilterModel.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/AssetBrowserFilterModel.cpp index 0601a34cf5..acf935e6dc 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/AssetBrowserFilterModel.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/AssetBrowserFilterModel.cpp @@ -31,10 +31,10 @@ namespace AzToolsFramework AssetBrowserFilterModel::AssetBrowserFilterModel(QObject* parent) : QSortFilterProxyModel(parent) { - m_showColumn.insert(aznumeric_cast(AssetBrowserEntry::Column::DisplayName)); + m_shownColumns.insert(aznumeric_cast(AssetBrowserEntry::Column::DisplayName)); if (ed_useNewAssetBrowserTableView) { - m_showColumn.insert(aznumeric_cast(AssetBrowserEntry::Column::Path)); + m_shownColumns.insert(aznumeric_cast(AssetBrowserEntry::Column::Path)); } m_collator.setNumericMode(true); AssetBrowserComponentNotificationBus::Handler::BusConnect(); @@ -96,7 +96,7 @@ namespace AzToolsFramework bool AssetBrowserFilterModel::filterAcceptsColumn(int source_column, const QModelIndex&) const { //if the column is in the set we want to show it - return m_showColumn.find(source_column) != m_showColumn.end(); + return m_shownColumns.find(source_column) != m_shownColumns.end(); } bool AssetBrowserFilterModel::lessThan(const QModelIndex& source_left, const QModelIndex& source_right) const diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/AssetBrowserFilterModel.h b/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/AssetBrowserFilterModel.h index 2b91158f0e..5d3ad0e1b0 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/AssetBrowserFilterModel.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/AssetBrowserFilterModel.h @@ -27,6 +27,8 @@ namespace AzToolsFramework { namespace AssetBrowser { + using ShownColumnsSet = AZStd::fixed_unordered_set(AssetBrowserEntry::Column::Count)>; + class AssetBrowserFilterModel : public QSortFilterProxyModel , public AssetBrowserComponentNotificationBus::Handler @@ -61,11 +63,11 @@ namespace AzToolsFramework void filterUpdatedSlot(); protected: - //set for filtering columns - //if the column is in the set the column is not filtered and is shown - AZStd::fixed_unordered_set(AssetBrowserEntry::Column::Count)> m_showColumn; + // Set for filtering columns + // If the column is in the set the column is not filtered and is shown + ShownColumnsSet m_shownColumns; bool m_alreadyRecomputingFilters = false; - //asset source name match filter + //Asset source name match filter FilterConstType m_filter; AZ_PUSH_DISABLE_WARNING(4251, "-Wunknown-warning-option") // 4251: class '...' needs to have dll-interface to be used by clients of class '...' QWeakPointer m_stringFilter; diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/AssetBrowserTableModel.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/AssetBrowserTableModel.cpp index d0999c5c56..fdbd4287ce 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/AssetBrowserTableModel.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/AssetBrowserTableModel.cpp @@ -16,7 +16,6 @@ namespace AzToolsFramework AssetBrowserTableModel::AssetBrowserTableModel(QObject* parent /* = nullptr */) : QSortFilterProxyModel(parent) { - setDynamicSortFilter(false); } void AssetBrowserTableModel::setSourceModel(QAbstractItemModel* sourceModel) @@ -47,7 +46,7 @@ namespace AzToolsFramework QModelIndex AssetBrowserTableModel::mapToSource(const QModelIndex& proxyIndex) const { - Q_ASSERT(!proxyIndex.isValid() || proxyIndex.model() == this); + Q_ASSERT(!proxyIndex.isValid() || proxyIndex.model() != this); if (!proxyIndex.isValid() || !m_indexMap.contains(proxyIndex.row())) { return QModelIndex(); @@ -132,7 +131,7 @@ namespace AzToolsFramework { QModelIndex index = model->index(currentRow, 0, parent); AssetBrowserEntry* entry = GetAssetEntry(m_filterModel->mapToSource(index)); - // We only want to see the source assets. + // We only want to see source and product assets. if (entry->GetEntryType() == AssetBrowserEntry::AssetEntryType::Source || entry->GetEntryType() == AssetBrowserEntry::AssetEntryType::Product) { diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/AssetBrowserTableModel.h b/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/AssetBrowserTableModel.h index 04559fbfbc..55dcbb1532 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/AssetBrowserTableModel.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/AssetBrowserTableModel.h @@ -21,8 +21,7 @@ namespace AzToolsFramework class AssetBrowserFilterModel; class AssetBrowserEntry; - class AssetBrowserTableModel - : public QSortFilterProxyModel + class AssetBrowserTableModel : public QSortFilterProxyModel { Q_OBJECT diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/AssetPicker/AssetPickerDialog.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/AssetPicker/AssetPickerDialog.cpp index 11e1ba018f..76b634b51e 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/AssetPicker/AssetPickerDialog.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/AssetPicker/AssetPickerDialog.cpp @@ -9,9 +9,11 @@ #include #include +#include #include #include +#include #include #include #include @@ -26,6 +28,11 @@ AZ_PUSH_DISABLE_WARNING(4251 4244, "-Wunknown-warning-option") // disable warnin #include AZ_POP_DISABLE_WARNING +AZ_CVAR( + bool, ed_hideAssetPickerPathColumn, false, nullptr, AZ::ConsoleFunctorFlags::Null, + "Hide AssetPicker path column for a clearer view."); +AZ_CVAR_EXTERNED(bool, ed_useNewAssetBrowserTableView); + namespace AzToolsFramework { namespace AssetBrowser @@ -34,6 +41,7 @@ namespace AzToolsFramework : QDialog(parent) , m_ui(new Ui::AssetPickerDialogClass()) , m_filterModel(new AssetBrowserFilterModel(parent)) + , m_tableModel(new AssetBrowserTableModel(parent)) , m_selection(selection) , m_hasFilter(false) { @@ -97,6 +105,56 @@ namespace AzToolsFramework m_persistentState = AZ::UserSettings::CreateFind(AZ::Crc32(("AssetBrowserTreeView_Dialog_" + name).toUtf8().data()), AZ::UserSettings::CT_GLOBAL); + m_ui->m_assetBrowserTableViewWidget->setVisible(false); + if (ed_useNewAssetBrowserTableView) + { + m_ui->m_assetBrowserTreeViewWidget->setVisible(false); + m_ui->m_assetBrowserTableViewWidget->setVisible(true); + m_tableModel->setSourceModel(m_filterModel.get()); + m_ui->m_assetBrowserTableViewWidget->setModel(m_tableModel.get()); + + m_ui->m_assetBrowserTableViewWidget->SetName("AssetBrowserTableView_" + name); + m_ui->m_assetBrowserTableViewWidget->setDragEnabled(false); + m_ui->m_assetBrowserTableViewWidget->setSelectionMode( + selection.GetMultiselect() ? QAbstractItemView::SelectionMode::ExtendedSelection + : QAbstractItemView::SelectionMode::SingleSelection); + + if (ed_hideAssetPickerPathColumn) + { + m_ui->m_assetBrowserTableViewWidget->hideColumn(1); + } + + // if the current selection is invalid, disable the Ok button + m_ui->m_buttonBox->button(QDialogButtonBox::Ok)->setEnabled(EvaluateSelection()); + + connect( + m_filterModel.data(), &AssetBrowserFilterModel::filterChanged, this, + [this]() + { + m_tableModel->UpdateTableModelMaps(); + }); + + connect( + m_ui->m_assetBrowserTableViewWidget, &AssetBrowserTableView::selectionChangedSignal, this, + [this](const QItemSelection&, const QItemSelection&) + { + AssetPickerDialog::SelectionChangedSlot(); + }); + + connect(m_ui->m_assetBrowserTableViewWidget, &QAbstractItemView::doubleClicked, this, &AssetPickerDialog::DoubleClickedSlot); + + connect( + m_ui->m_assetBrowserTableViewWidget, &AssetBrowserTableView::ClearStringFilter, m_ui->m_searchWidget, + &SearchWidget::ClearStringFilter); + + connect( + m_ui->m_assetBrowserTableViewWidget, &AssetBrowserTableView::ClearTypeFilter, m_ui->m_searchWidget, + &SearchWidget::ClearTypeFilter); + + m_ui->m_assetBrowserTableViewWidget->SetName("AssetBrowserTableView_main"); + m_tableModel->UpdateTableModelMaps(); + } + QTimer::singleShot(0, this, &AssetPickerDialog::RestoreState); SelectionChangedSlot(); } @@ -134,6 +192,7 @@ namespace AzToolsFramework { m_ui->m_assetBrowserTreeViewWidget->expandAll(); }); + m_tableModel->UpdateTableModelMaps(); } if (m_hasFilter && !hasFilter) @@ -166,7 +225,8 @@ namespace AzToolsFramework bool AssetPickerDialog::EvaluateSelection() const { - auto selectedAssets = m_ui->m_assetBrowserTreeViewWidget->GetSelectedAssets(); + auto selectedAssets = m_ui->m_assetBrowserTreeViewWidget->isVisible() ? m_ui->m_assetBrowserTreeViewWidget->GetSelectedAssets() + : m_ui->m_assetBrowserTableViewWidget->GetSelectedAssets(); // exactly one item must be selected, even if multi-select option is disabled, still good practice to check if (selectedAssets.empty()) { @@ -197,7 +257,10 @@ namespace AzToolsFramework void AssetPickerDialog::UpdatePreview() const { - auto selectedAssets = m_ui->m_assetBrowserTreeViewWidget->GetSelectedAssets(); + auto selectedAssets = m_ui->m_assetBrowserTreeViewWidget->isVisible() + ? m_ui->m_assetBrowserTreeViewWidget->GetSelectedAssets() + : m_ui->m_assetBrowserTableViewWidget->GetSelectedAssets(); + ; if (selectedAssets.size() != 1) { m_ui->m_previewerFrame->Clear(); diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/AssetPicker/AssetPickerDialog.h b/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/AssetPicker/AssetPickerDialog.h index 89eca2f4e3..bab265c134 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/AssetPicker/AssetPickerDialog.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/AssetPicker/AssetPickerDialog.h @@ -33,6 +33,7 @@ namespace AzToolsFramework { class ProductAssetBrowserEntry; class AssetBrowserFilterModel; + class AssetBrowserTableModel; class AssetBrowserModel; class AssetSelectionModel; @@ -69,6 +70,7 @@ namespace AzToolsFramework QScopedPointer m_ui; AssetBrowserModel* m_assetBrowserModel = nullptr; QScopedPointer m_filterModel; + QScopedPointer m_tableModel; AssetSelectionModel& m_selection; bool m_hasFilter; AZStd::unique_ptr m_filterStateSaver; diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/AssetPicker/AssetPickerDialog.ui b/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/AssetPicker/AssetPickerDialog.ui index 3dd0c0d861..b11ffb3990 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/AssetPicker/AssetPickerDialog.ui +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/AssetPicker/AssetPickerDialog.ui @@ -142,6 +142,9 @@ + + + @@ -197,6 +200,11 @@
AzToolsFramework/AssetBrowser/Previewer/PreviewerFrame.h
1 + + AzToolsFramework::AssetBrowser::AssetBrowserTableView + QTableView +
AzToolsFramework/AssetBrowser/Views/AssetBrowserTableView.h
+
diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/Views/AssetBrowserTableView.h b/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/Views/AssetBrowserTableView.h index e5426037bf..5fbdab2ec5 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/Views/AssetBrowserTableView.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/AssetBrowser/Views/AssetBrowserTableView.h @@ -53,7 +53,6 @@ namespace AzToolsFramework // AssetBrowserComponentNotificationBus void OnAssetBrowserComponentReady() override; ////////////////////////////////////////////////////////////////////////// - Q_SIGNALS: void selectionChangedSignal(const QItemSelection& selected, const QItemSelection& deselected); void ClearStringFilter(); diff --git a/Gems/ScriptCanvas/Code/Editor/Model/UnitTestBrowserFilterModel.cpp b/Gems/ScriptCanvas/Code/Editor/Model/UnitTestBrowserFilterModel.cpp index ab35ec5049..e3fe865e94 100644 --- a/Gems/ScriptCanvas/Code/Editor/Model/UnitTestBrowserFilterModel.cpp +++ b/Gems/ScriptCanvas/Code/Editor/Model/UnitTestBrowserFilterModel.cpp @@ -28,7 +28,7 @@ namespace ScriptCanvasEditor { setDynamicSortFilter(true); - m_showColumn.insert(aznumeric_cast(AssetBrowserEntry::Column::DisplayName)); + m_shownColumns.insert(aznumeric_cast(AssetBrowserEntry::Column::DisplayName)); UnitTestWidgetNotificationBus::Handler::BusConnect(); From 564925c2855e4ec3cfef420b52e0a7b06ecdee6b Mon Sep 17 00:00:00 2001 From: moraaar Date: Wed, 1 Sep 2021 09:43:47 +0100 Subject: [PATCH 43/66] Fix assert: Avoid doing operations over invalid Aabb (#3757) Signed-off-by: moraaar --- .../Code/Source/Mesh/MeshComponentController.cpp | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/MeshComponentController.cpp b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/MeshComponentController.cpp index ade4beaa33..9e0c285001 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/MeshComponentController.cpp +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/MeshComponentController.cpp @@ -578,15 +578,14 @@ namespace AZ { if (m_meshHandle.IsValid() && m_meshFeatureProcessor) { - Aabb aabb = m_meshFeatureProcessor->GetLocalAabb(m_meshHandle); + if (Aabb aabb = m_meshFeatureProcessor->GetLocalAabb(m_meshHandle); aabb.IsValid()) + { + aabb.MultiplyByScale(m_cachedNonUniformScale); + return aabb; + } + } - aabb.MultiplyByScale(m_cachedNonUniformScale); - return aabb; - } - else - { - return Aabb::CreateNull(); - } + return Aabb::CreateNull(); } AzFramework::RenderGeometry::RayResult MeshComponentController::RenderGeometryIntersect( From 26241e95ac86d2401e502aaa2b4206439ddf554f Mon Sep 17 00:00:00 2001 From: Allen Jackson <23512001+jackalbe@users.noreply.github.com> Date: Wed, 1 Sep 2021 08:18:38 -0500 Subject: [PATCH 44/66] {LYN2076} Add Material data types Behavior for the scene graph (#3605) * {LYN2076} Add Material data types Behavior for the scene graph Adding behavior to expose GraphData MaterialData to Python scripts so that scripters can read in the material properties from a scene graph Signed-off-by: jackalbe <23512001+jackalbe@users.noreply.github.com> * new warning fixed in code Signed-off-by: Jackson <23512001+jackalbe@users.noreply.github.com> --- .../SceneData/GraphData/MaterialData.cpp | 83 +++++++++++++++++++ .../GraphData/GraphDataBehaviorTests.cpp | 79 +++++++++++++++++- 2 files changed, 161 insertions(+), 1 deletion(-) diff --git a/Code/Tools/SceneAPI/SceneData/GraphData/MaterialData.cpp b/Code/Tools/SceneAPI/SceneData/GraphData/MaterialData.cpp index d58a89a110..117a1196f8 100644 --- a/Code/Tools/SceneAPI/SceneData/GraphData/MaterialData.cpp +++ b/Code/Tools/SceneAPI/SceneData/GraphData/MaterialData.cpp @@ -230,6 +230,19 @@ namespace AZ return m_uniqueId; } + namespace Helper + { + template + T ReturnOptionalValue(AZStd::optional value) + { + if (!value) + { + return {}; + } + return value.value(); + } + } + void MaterialData::Reflect(ReflectContext* context) { SerializeContext* serializeContext = azrtti_cast(context); @@ -285,6 +298,76 @@ namespace AZ ->DataElement(AZ::Edit::UIHandlers::Default, &MaterialData::m_useAOMap, "Use Ambient Occlusion Map", "True to use an ambient occlusion map, false to ignore it."); } } + + BehaviorContext* behaviorContext = azrtti_cast(context); + if (behaviorContext) + { + behaviorContext->Class() + ->Attribute(AZ::Script::Attributes::ExcludeFrom, AZ::Script::Attributes::ExcludeFlags::All) + ->Attribute(AZ::Script::Attributes::Scope, AZ::Script::Attributes::ScopeFlags::Common) + ->Attribute(AZ::Script::Attributes::Module, "scene"); + + using namespace Helper; + using DataTypes::IMaterialData; + + behaviorContext->Class() + ->Attribute(AZ::Script::Attributes::Scope, AZ::Script::Attributes::ScopeFlags::Common) + ->Attribute(AZ::Script::Attributes::Module, "scene") + ->Constant("AmbientOcclusion", BehaviorConstant(TextureMapType::AmbientOcclusion)) + ->Constant("BaseColor", BehaviorConstant(TextureMapType::BaseColor)) + ->Constant("Bump", BehaviorConstant(TextureMapType::Bump)) + ->Constant("Diffuse", BehaviorConstant(TextureMapType::Diffuse)) + ->Constant("Emissive", BehaviorConstant(TextureMapType::Emissive)) + ->Constant("Metallic", BehaviorConstant(TextureMapType::Metallic)) + ->Constant("Normal", BehaviorConstant(TextureMapType::Normal)) + ->Constant("Roughness", BehaviorConstant(TextureMapType::Roughness)) + ->Constant("Specular", BehaviorConstant(TextureMapType::Specular)) + ->Method("GetTexture", &MaterialData::GetTexture) + ->Method("GetMaterialName", &MaterialData::GetMaterialName) + ->Method("IsNoDraw", &MaterialData::IsNoDraw) + ->Method("GetDiffuseColor", &MaterialData::GetDiffuseColor) + ->Method("GetSpecularColor", &MaterialData::GetSpecularColor) + ->Method("GetEmissiveColor", &MaterialData::GetEmissiveColor) + ->Method("GetOpacity", &MaterialData::GetOpacity) + ->Method("GetUniqueId", &MaterialData::GetUniqueId) + ->Method("GetShininess", &MaterialData::GetShininess) + ->Method("GetUseColorMap", [](const MaterialData& self) + { + return ReturnOptionalValue(self.GetUseColorMap()); + }) + ->Method("GetBaseColor", [](const MaterialData& self) + { + return ReturnOptionalValue(self.GetBaseColor()); + }) + ->Method("GetUseMetallicMap", [](const MaterialData& self) + { + return ReturnOptionalValue(self.GetUseMetallicMap()); + }) + ->Method("GetMetallicFactor", [](const MaterialData& self) + { + return ReturnOptionalValue(self.GetMetallicFactor()); + }) + ->Method("GetUseRoughnessMap", [](const MaterialData& self) + { + return ReturnOptionalValue(self.GetUseRoughnessMap()); + }) + ->Method("GetRoughnessFactor", [](const MaterialData& self) + { + return ReturnOptionalValue(self.GetRoughnessFactor()); + }) + ->Method("GetUseEmissiveMap", [](const MaterialData& self) + { + return ReturnOptionalValue(self.GetUseEmissiveMap()); + }) + ->Method("GetEmissiveIntensity", [](const MaterialData& self) + { + return ReturnOptionalValue(self.GetEmissiveIntensity()); + }) + ->Method("GetUseAOMap", [](const MaterialData& self) + { + return ReturnOptionalValue(self.GetUseAOMap()); + }); + } } } // namespace GraphData } // namespace SceneData diff --git a/Code/Tools/SceneAPI/SceneData/Tests/GraphData/GraphDataBehaviorTests.cpp b/Code/Tools/SceneAPI/SceneData/Tests/GraphData/GraphDataBehaviorTests.cpp index ab0fa79e62..4a2d206cc7 100644 --- a/Code/Tools/SceneAPI/SceneData/Tests/GraphData/GraphDataBehaviorTests.cpp +++ b/Code/Tools/SceneAPI/SceneData/Tests/GraphData/GraphDataBehaviorTests.cpp @@ -14,6 +14,7 @@ #include #include #include +#include #include #include @@ -27,6 +28,7 @@ #include #include #include +#include namespace AZ { @@ -145,6 +147,38 @@ namespace AZ blendShapeData->SetVertexIndexToControlPointIndexMap(2, 0); return true; } + else if (data.get_type_info().m_id == azrtti_typeid()) + { + auto* materialDataData = AZStd::any_cast(&data); + materialDataData->SetBaseColor(AZStd::make_optional(AZ::Vector3(0.1, 0.2, 0.3))); + materialDataData->SetDiffuseColor({ 0.3, 0.4, 0.5 }); + materialDataData->SetEmissiveColor({ 0.4, 0.5, 0.6 }); + materialDataData->SetEmissiveIntensity(AZStd::make_optional(0.789f)); + materialDataData->SetMaterialName("TestMaterialName"); + materialDataData->SetMetallicFactor(AZStd::make_optional(0.123f)); + materialDataData->SetNoDraw(true); + materialDataData->SetOpacity(0.7); + materialDataData->SetRoughnessFactor(AZStd::make_optional(0.456f)); + materialDataData->SetShininess(1.23); + materialDataData->SetSpecularColor({ 0.8, 0.9, 1.0 }); + materialDataData->SetUseAOMap(AZStd::make_optional(true)); + materialDataData->SetUseColorMap(AZStd::make_optional(true)); + materialDataData->SetUseMetallicMap(AZStd::make_optional(true)); + materialDataData->SetUseRoughnessMap(AZStd::make_optional(true)); + materialDataData->SetUseEmissiveMap(AZStd::make_optional(true)); + materialDataData->SetUniqueId(102938); + materialDataData->SetTexture(AZ::SceneAPI::DataTypes::IMaterialData::TextureMapType::AmbientOcclusion, "ambientocclusion"); + materialDataData->SetTexture(AZ::SceneAPI::DataTypes::IMaterialData::TextureMapType::BaseColor, "basecolor"); + materialDataData->SetTexture(AZ::SceneAPI::DataTypes::IMaterialData::TextureMapType::Bump, "bump"); + materialDataData->SetTexture(AZ::SceneAPI::DataTypes::IMaterialData::TextureMapType::Diffuse, "diffuse"); + materialDataData->SetTexture(AZ::SceneAPI::DataTypes::IMaterialData::TextureMapType::Emissive, "emissive"); + materialDataData->SetTexture(AZ::SceneAPI::DataTypes::IMaterialData::TextureMapType::Metallic, "metallic"); + materialDataData->SetTexture(AZ::SceneAPI::DataTypes::IMaterialData::TextureMapType::Normal, "normal"); + materialDataData->SetTexture(AZ::SceneAPI::DataTypes::IMaterialData::TextureMapType::Roughness, "roughness"); + materialDataData->SetTexture(AZ::SceneAPI::DataTypes::IMaterialData::TextureMapType::Specular, "specular"); + return true; + } + return false; } @@ -337,7 +371,7 @@ namespace AZ ExpectExecute("TestExpectFloatEquals(tangentData.z, 0.19)"); ExpectExecute("TestExpectFloatEquals(tangentData.w, 0.29)"); ExpectExecute("TestExpectIntegerEquals(meshVertexTangentData:GetTangentSetIndex(), 2)"); - ExpectExecute("TestExpectTrue(meshVertexTangentData:GetGenerationMethod(), MeshVertexTangentData.EMotionFX)"); + ExpectExecute("TestExpectTrue(meshVertexTangentData:GetGenerationMethod(), MeshVertexTangentData.MikkT)"); } TEST_F(GrapDatahBehaviorScriptTest, SceneGraph_AnimationData_AccessWorks) @@ -449,6 +483,49 @@ namespace AZ ExpectExecute("TestExpectFloatEquals(blendShapeData:GetBitangent(2).y, 0.3)"); ExpectExecute("TestExpectFloatEquals(blendShapeData:GetBitangent(2).z, 0.4)"); } + + TEST_F(GrapDatahBehaviorScriptTest, SceneGraph_MaterialData_AccessWorks) + { + ExpectExecute("materialData = MaterialData()"); + ExpectExecute("TestExpectTrue(materialData ~= nil)"); + ExpectExecute("TestExpectTrue(materialData:IsNoDraw() == false)"); + ExpectExecute("TestExpectTrue(materialData:GetUseColorMap() == false)"); + ExpectExecute("TestExpectTrue(materialData:GetUseMetallicMap() == false)"); + ExpectExecute("TestExpectTrue(materialData:GetUseRoughnessMap() == false)"); + ExpectExecute("TestExpectTrue(materialData:GetUseEmissiveMap() == false)"); + ExpectExecute("TestExpectTrue(materialData:GetUseAOMap() == false)"); + ExpectExecute("MockGraphData.FillData(materialData)"); + ExpectExecute("TestExpectTrue(materialData:IsNoDraw())"); + ExpectExecute("TestExpectTrue(materialData:GetUseColorMap())"); + ExpectExecute("TestExpectTrue(materialData:GetUseMetallicMap())"); + ExpectExecute("TestExpectTrue(materialData:GetUseRoughnessMap())"); + ExpectExecute("TestExpectTrue(materialData:GetUseEmissiveMap())"); + ExpectExecute("TestExpectTrue(materialData:GetUseAOMap())"); + ExpectExecute("TestExpectFloatEquals(materialData:GetMetallicFactor(), 0.123)"); + ExpectExecute("TestExpectFloatEquals(materialData:GetRoughnessFactor(), 0.456)"); + ExpectExecute("TestExpectFloatEquals(materialData:GetEmissiveIntensity(), 0.789)"); + ExpectExecute("TestExpectFloatEquals(materialData:GetOpacity(), 0.7)"); + ExpectExecute("TestExpectFloatEquals(materialData:GetShininess(), 1.23)"); + ExpectExecute("TestExpectTrue(materialData:GetMaterialName() == 'TestMaterialName')"); + ExpectExecute("TestExpectFloatEquals(materialData:GetBaseColor().x, 0.1)"); + ExpectExecute("TestExpectFloatEquals(materialData:GetBaseColor().y, 0.2)"); + ExpectExecute("TestExpectFloatEquals(materialData:GetBaseColor().z, 0.3)"); + ExpectExecute("TestExpectFloatEquals(materialData:GetDiffuseColor().x, 0.3)"); + ExpectExecute("TestExpectFloatEquals(materialData:GetDiffuseColor().y, 0.4)"); + ExpectExecute("TestExpectFloatEquals(materialData:GetDiffuseColor().z, 0.5)"); + ExpectExecute("TestExpectFloatEquals(materialData:GetEmissiveColor().x, 0.4)"); + ExpectExecute("TestExpectFloatEquals(materialData:GetEmissiveColor().y, 0.5)"); + ExpectExecute("TestExpectFloatEquals(materialData:GetEmissiveColor().z, 0.6)"); + ExpectExecute("TestExpectIntegerEquals(materialData:GetUniqueId(), 102938)"); + ExpectExecute("TestExpectTrue(materialData:GetTexture(MaterialData.AmbientOcclusion) == 'ambientocclusion')"); + ExpectExecute("TestExpectTrue(materialData:GetTexture(MaterialData.Bump) == 'bump')"); + ExpectExecute("TestExpectTrue(materialData:GetTexture(MaterialData.Diffuse) == 'diffuse')"); + ExpectExecute("TestExpectTrue(materialData:GetTexture(MaterialData.Emissive) == 'emissive')"); + ExpectExecute("TestExpectTrue(materialData:GetTexture(MaterialData.Metallic) == 'metallic')"); + ExpectExecute("TestExpectTrue(materialData:GetTexture(MaterialData.Normal) == 'normal')"); + ExpectExecute("TestExpectTrue(materialData:GetTexture(MaterialData.Roughness) == 'roughness')"); + ExpectExecute("TestExpectTrue(materialData:GetTexture(MaterialData.Specular) == 'specular')"); + } } } } From 2d2a7f4623655d52df98d4a0fc50c915f47f07d9 Mon Sep 17 00:00:00 2001 From: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com> Date: Wed, 1 Sep 2021 08:19:08 -0700 Subject: [PATCH 45/66] XCode doesnt support files per configuration, using the old method (#3789) - some warn fixes - fixed release linking issue Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com> --- Code/Editor/IEditorImpl.cpp | 8 --- .../AzFramework/API/ApplicationAPI.h | 3 - Code/Legacy/CryCommon/AppleSpecific.h | 4 -- Code/Legacy/CryCommon/IConsole.h | 4 -- .../AssetProcessingStateDataUnitTests.cpp | 7 +-- .../native/utilities/assetUtils.cpp | 3 - .../Animation/UiAnimViewCurveEditor.cpp | 2 +- .../Editor/Animation/UiAnimViewDialog.cpp | 2 +- .../Animation/UiAnimViewDopeSheetBase.cpp | 2 +- .../Code/Editor/Animation/UiAnimViewNodes.cpp | 2 +- .../Editor/Animation/UiAnimViewSplineCtrl.cpp | 2 +- cmake/LYWrappers.cmake | 58 ++++++++++++------- 12 files changed, 43 insertions(+), 54 deletions(-) diff --git a/Code/Editor/IEditorImpl.cpp b/Code/Editor/IEditorImpl.cpp index 8f4abae9dd..880773966b 100644 --- a/Code/Editor/IEditorImpl.cpp +++ b/Code/Editor/IEditorImpl.cpp @@ -84,12 +84,6 @@ AZ_POP_DISABLE_WARNING #include "IEditorPanelUtils.h" #include "EditorPanelUtils.h" - -// even in Release mode, the editor will return its heap, because there's no Profile build configuration for the editor -#ifdef _RELEASE -#undef _RELEASE -#endif - #include "Core/QtEditorApplication.h" // for Editor::EditorQtApplication static CCryEditDoc * theDocument; @@ -104,8 +98,6 @@ static CCryEditDoc * theDocument; #define VERIFY(EXPRESSION) { auto e = EXPRESSION; assert(e); } #endif -#undef GetCommandLine - const char* CEditorImpl::m_crashLogFileName = "SessionStatus/editor_statuses.json"; CEditorImpl::CEditorImpl() diff --git a/Code/Framework/AzFramework/AzFramework/API/ApplicationAPI.h b/Code/Framework/AzFramework/AzFramework/API/ApplicationAPI.h index 11778b9239..dbbf443656 100644 --- a/Code/Framework/AzFramework/AzFramework/API/ApplicationAPI.h +++ b/Code/Framework/AzFramework/AzFramework/API/ApplicationAPI.h @@ -72,11 +72,8 @@ namespace AzFramework /// Retrieves the app root path for the application. virtual const char* GetAppRoot() const { return nullptr; } -#pragma push_macro("GetCommandLine") -#undef GetCommandLine /// Get the Command Line arguments passed in. virtual const CommandLine* GetCommandLine() { return nullptr; } -#pragma pop_macro("GetCommandLine") /// Get the Command Line arguments passed in. (Avoids collisions with platform specific macros.) virtual const CommandLine* GetApplicationCommandLine() { return nullptr; } diff --git a/Code/Legacy/CryCommon/AppleSpecific.h b/Code/Legacy/CryCommon/AppleSpecific.h index 60ab80ade6..e4c4fadb89 100644 --- a/Code/Legacy/CryCommon/AppleSpecific.h +++ b/Code/Legacy/CryCommon/AppleSpecific.h @@ -13,10 +13,6 @@ #define CRYINCLUDE_CRYCOMMON_APPLESPECIFIC_H #pragma once -#if defined(__clang__) -#pragma diagnostic ignore "-W#pragma-messages" -#endif - ////////////////////////////////////////////////////////////////////////// // Standard includes. ////////////////////////////////////////////////////////////////////////// diff --git a/Code/Legacy/CryCommon/IConsole.h b/Code/Legacy/CryCommon/IConsole.h index dcbb0399aa..f68a82f9dc 100644 --- a/Code/Legacy/CryCommon/IConsole.h +++ b/Code/Legacy/CryCommon/IConsole.h @@ -118,10 +118,6 @@ struct IConsoleVarSink // }; -#if defined(GetCommandLine) -#undef GetCommandLine -#endif - // Interface to the arguments of the console command. struct IConsoleCmdArgs { diff --git a/Code/Tools/AssetProcessor/native/unittests/AssetProcessingStateDataUnitTests.cpp b/Code/Tools/AssetProcessor/native/unittests/AssetProcessingStateDataUnitTests.cpp index 1c9e29c4e8..e19b95a76b 100644 --- a/Code/Tools/AssetProcessor/native/unittests/AssetProcessingStateDataUnitTests.cpp +++ b/Code/Tools/AssetProcessor/native/unittests/AssetProcessingStateDataUnitTests.cpp @@ -715,12 +715,7 @@ void AssetProcessingStateDataUnitTest::DataTest(AssetProcessor::AssetDatabaseCon //try retrieving this source by id UNIT_TEST_EXPECT_TRUE(stateData->GetJobByJobID(job.m_jobID, job)); - if (job.m_jobID == AzToolsFramework::AssetDatabase::InvalidEntryId || - job.m_jobID != job.m_jobID || - job.m_sourcePK != job.m_sourcePK || - job.m_jobKey != job.m_jobKey || - job.m_fingerprint != job.m_fingerprint || - job.m_platform != job.m_platform) + if (job.m_jobID == AzToolsFramework::AssetDatabase::InvalidEntryId) { Q_EMIT UnitTestFailed("AssetProcessingStateDataTest Failed - GetJobByJobID failed"); return; diff --git a/Code/Tools/AssetProcessor/native/utilities/assetUtils.cpp b/Code/Tools/AssetProcessor/native/utilities/assetUtils.cpp index 7292990a72..85801bdf8a 100644 --- a/Code/Tools/AssetProcessor/native/utilities/assetUtils.cpp +++ b/Code/Tools/AssetProcessor/native/utilities/assetUtils.cpp @@ -57,9 +57,6 @@ #include -// windows headers bring in a macro which conflicts GetCommandLine -#undef GetCommandLine - namespace AssetUtilsInternal { static const unsigned int g_RetryWaitInterval = 250; // The amount of time that we are waiting for retry. diff --git a/Gems/LyShine/Code/Editor/Animation/UiAnimViewCurveEditor.cpp b/Gems/LyShine/Code/Editor/Animation/UiAnimViewCurveEditor.cpp index 51209c7f02..d677acea02 100644 --- a/Gems/LyShine/Code/Editor/Animation/UiAnimViewCurveEditor.cpp +++ b/Gems/LyShine/Code/Editor/Animation/UiAnimViewCurveEditor.cpp @@ -8,7 +8,7 @@ #include "EditorDefs.h" -#include "Resource.h" +#include "Editor/Resource.h" #include "UiEditorAnimationBus.h" #include "UiAnimViewCurveEditor.h" diff --git a/Gems/LyShine/Code/Editor/Animation/UiAnimViewDialog.cpp b/Gems/LyShine/Code/Editor/Animation/UiAnimViewDialog.cpp index a9f76cd443..e6c2dda74c 100644 --- a/Gems/LyShine/Code/Editor/Animation/UiAnimViewDialog.cpp +++ b/Gems/LyShine/Code/Editor/Animation/UiAnimViewDialog.cpp @@ -15,7 +15,7 @@ // ----- End UI_ANIMATION_REVISIT #include "EditorDefs.h" -#include "Resource.h" +#include "Editor/Resource.h" #include "UiAnimViewDialog.h" diff --git a/Gems/LyShine/Code/Editor/Animation/UiAnimViewDopeSheetBase.cpp b/Gems/LyShine/Code/Editor/Animation/UiAnimViewDopeSheetBase.cpp index 8672f539bf..9f67503b73 100644 --- a/Gems/LyShine/Code/Editor/Animation/UiAnimViewDopeSheetBase.cpp +++ b/Gems/LyShine/Code/Editor/Animation/UiAnimViewDopeSheetBase.cpp @@ -8,7 +8,7 @@ #include "EditorDefs.h" -#include "Resource.h" +#include "Editor/Resource.h" #include "UiEditorAnimationBus.h" #include "UiAnimViewDopeSheetBase.h" diff --git a/Gems/LyShine/Code/Editor/Animation/UiAnimViewNodes.cpp b/Gems/LyShine/Code/Editor/Animation/UiAnimViewNodes.cpp index 472100b334..a3aa330dca 100644 --- a/Gems/LyShine/Code/Editor/Animation/UiAnimViewNodes.cpp +++ b/Gems/LyShine/Code/Editor/Animation/UiAnimViewNodes.cpp @@ -8,7 +8,7 @@ #include "EditorDefs.h" -#include "Resource.h" +#include "Editor/Resource.h" #include "UiEditorAnimationBus.h" #include "UiAnimViewNodes.h" #include "UiAnimViewDopeSheetBase.h" diff --git a/Gems/LyShine/Code/Editor/Animation/UiAnimViewSplineCtrl.cpp b/Gems/LyShine/Code/Editor/Animation/UiAnimViewSplineCtrl.cpp index e071a3e631..61610e3c8e 100644 --- a/Gems/LyShine/Code/Editor/Animation/UiAnimViewSplineCtrl.cpp +++ b/Gems/LyShine/Code/Editor/Animation/UiAnimViewSplineCtrl.cpp @@ -9,7 +9,7 @@ #include "UiEditorAnimationBus.h" #include "EditorDefs.h" -#include "Resource.h" +#include "Editor/Resource.h" #include "UiAnimViewSequenceManager.h" #include "UiAnimViewSplineCtrl.h" #include "UiAnimViewSequence.h" diff --git a/cmake/LYWrappers.cmake b/cmake/LYWrappers.cmake index 3dfef0bbbf..53895c300f 100644 --- a/cmake/LYWrappers.cmake +++ b/cmake/LYWrappers.cmake @@ -330,28 +330,44 @@ function(ly_add_target) set(runtime_dependencies_list SHARED MODULE EXECUTABLE APPLICATION) if(NOT ly_add_target_IMPORTED AND linking_options IN_LIST runtime_dependencies_list) - # the stamp file will be the one that triggers the execution of the custom rule. At the end - # of running the copy of runtime dependencies, the stamp file is touched so the timestamp is updated. - # Adding a config as part of the name since the stamp file is added to the VS project. - # Note the STAMP_OUTPUT_FILE need to match with the one used in runtime dependencies (e.g. RuntimeDependencies_common.cmake) - set(STAMP_OUTPUT_FILE ${CMAKE_BINARY_DIR}/runtime_dependencies/$/${ly_add_target_NAME}_$.stamp) - add_custom_command( - OUTPUT ${STAMP_OUTPUT_FILE} - DEPENDS "$>" - COMMAND ${CMAKE_COMMAND} -P ${CMAKE_BINARY_DIR}/runtime_dependencies/$/${ly_add_target_NAME}.cmake - COMMENT "Copying ${ly_add_target_NAME} runtime dependencies to output..." - VERBATIM - ) + # XCode generator doesnt support different source files per configuration, so we cannot have + # the runtime dependencies using file-tracking, instead, we will have them as a post build step + if(CMAKE_GENERATOR MATCHES Xcode) + + add_custom_command(TARGET ${ly_add_target_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -P ${CMAKE_BINARY_DIR}/runtime_dependencies/$/${ly_add_target_NAME}.cmake + COMMENT "Copying ${ly_add_target_NAME} runtime dependencies to output..." + DEPENDS ${CMAKE_BINARY_DIR}/runtime_dependencies/${ly_add_target_NAME}.cmake + COMMENT "Copying runtime dependencies..." + VERBATIM + ) - # Unfortunately the VS generator cannot deal with generation expressions as part of the file name, wrapping the - # stamp file on each configuration so it gets properly excluded by the generator - unset(stamp_files_per_config) - foreach(conf IN LISTS CMAKE_CONFIGURATION_TYPES) - set(stamp_file_conf ${CMAKE_BINARY_DIR}/runtime_dependencies/${conf}/${ly_add_target_NAME}_${conf}.stamp) - set_source_files_properties(${stamp_file_conf} PROPERTIES GENERATED TRUE SKIP_AUTOGEN TRUE) - list(APPEND stamp_files_per_config $<$:${stamp_file_conf}>) - endforeach() - target_sources(${ly_add_target_NAME} PRIVATE ${stamp_files_per_config}) + else() + + # the stamp file will be the one that triggers the execution of the custom rule. At the end + # of running the copy of runtime dependencies, the stamp file is touched so the timestamp is updated. + # Adding a config as part of the name since the stamp file is added to the VS project. + # Note the STAMP_OUTPUT_FILE need to match with the one used in runtime dependencies (e.g. RuntimeDependencies_common.cmake) + set(STAMP_OUTPUT_FILE ${CMAKE_BINARY_DIR}/runtime_dependencies/$/${ly_add_target_NAME}_$.stamp) + add_custom_command( + OUTPUT ${STAMP_OUTPUT_FILE} + DEPENDS "$>" + COMMAND ${CMAKE_COMMAND} -P ${CMAKE_BINARY_DIR}/runtime_dependencies/$/${ly_add_target_NAME}.cmake + COMMENT "Copying ${ly_add_target_NAME} runtime dependencies to output..." + VERBATIM + ) + + # Unfortunately the VS generator cannot deal with generation expressions as part of the file name, wrapping the + # stamp file on each configuration so it gets properly excluded by the generator + unset(stamp_files_per_config) + foreach(conf IN LISTS CMAKE_CONFIGURATION_TYPES) + set(stamp_file_conf ${CMAKE_BINARY_DIR}/runtime_dependencies/${conf}/${ly_add_target_NAME}_${conf}.stamp) + set_source_files_properties(${stamp_file_conf} PROPERTIES GENERATED TRUE SKIP_AUTOGEN TRUE) + list(APPEND stamp_files_per_config $<$:${stamp_file_conf}>) + endforeach() + target_sources(${ly_add_target_NAME} PRIVATE ${stamp_files_per_config}) + + endif() endif() From f0fc906510078c8c1dac450d1f888384a64d8e0f Mon Sep 17 00:00:00 2001 From: amzn-phist <52085794+amzn-phist@users.noreply.github.com> Date: Wed, 1 Sep 2021 10:23:47 -0500 Subject: [PATCH 46/66] Misc fixes for Linux SDK (#3764) * Fix rpath for lrelease binary This fixes the rpath for lrelease which is used to compile the qt translation file. Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com> * Fix a LocalFileIO path casing issue LocalFileIO was lowercasing the entire path after substituting aliases. This caused files to not be found and many failures in AP. Fixed to only lowercase the trailing relative path after the substitution. Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com> * Removed a message line Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com> --- Code/Framework/AzFramework/AzFramework/IO/LocalFileIO.cpp | 6 +++++- cmake/Platform/Linux/Install_linux.cmake | 3 +++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Code/Framework/AzFramework/AzFramework/IO/LocalFileIO.cpp b/Code/Framework/AzFramework/AzFramework/IO/LocalFileIO.cpp index aca7a41950..55e4f06db0 100644 --- a/Code/Framework/AzFramework/AzFramework/IO/LocalFileIO.cpp +++ b/Code/Framework/AzFramework/AzFramework/IO/LocalFileIO.cpp @@ -707,6 +707,7 @@ namespace AZ resolvedPathLen += postAliasView.size(); // Null-Terminated the resolved path resolvedPath[resolvedPathLen] = '\0'; + // If the path started with one of the "asset cache" path aliases, lowercase the path const char* assetAliasPath = GetAlias("@assets@"); const char* rootAliasPath = GetAlias("@root@"); @@ -714,10 +715,13 @@ namespace AZ const bool lowercasePath = (assetAliasPath != nullptr && AZ::StringFunc::StartsWith(resolvedPath, assetAliasPath)) || (rootAliasPath != nullptr && AZ::StringFunc::StartsWith(resolvedPath, rootAliasPath)) || (projectPlatformCacheAliasPath != nullptr && AZ::StringFunc::StartsWith(resolvedPath, projectPlatformCacheAliasPath)); + if (lowercasePath) { - AZStd::to_lower(resolvedPath, resolvedPath + resolvedPathLen); + // Lowercase only the relative part after the replaced alias. + AZStd::to_lower(resolvedPath + aliasValue.size(), resolvedPath + resolvedPathLen); } + // Replace any backslashes with posix slashes AZStd::replace(resolvedPath, resolvedPath + resolvedPathLen, AZ::IO::WindowsPathSeparator, AZ::IO::PosixPathSeparator); return true; diff --git a/cmake/Platform/Linux/Install_linux.cmake b/cmake/Platform/Linux/Install_linux.cmake index b3e2093b65..87713fa5d6 100644 --- a/cmake/Platform/Linux/Install_linux.cmake +++ b/cmake/Platform/Linux/Install_linux.cmake @@ -14,6 +14,9 @@ function(ly_copy source_file target_directory) if("${source_file}" MATCHES "qt/plugins" AND "${target_filename_ext}" STREQUAL ".so") get_filename_component(target_filename "${source_file}" NAME) file(RPATH_CHANGE FILE "${target_directory}/${target_filename}" OLD_RPATH "\$ORIGIN/../../lib" NEW_RPATH "\$ORIGIN/..") + elseif("${source_file}" MATCHES "lrelease") + get_filename_component(target_filename "${source_file}" NAME) + file(RPATH_CHANGE FILE "${target_directory}/${target_filename}" OLD_RPATH "\$ORIGIN/../lib" NEW_RPATH "\$ORIGIN") endif() endfunction()]]) From 0ad2fe2294e9468e59af2457058807d0d0e8dca1 Mon Sep 17 00:00:00 2001 From: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com> Date: Wed, 1 Sep 2021 11:01:50 -0500 Subject: [PATCH 47/66] Set enable gem variants feature (#3631) * Implemented the RFC to allow projects to need to specify the Gems Projects no longer need to specify CMake Targets to associate a Gem variant with. In order to associate a CMake Target with a gem variant a new `ly_set_gem_variant_to_load` function has been added that maps CMake Targets -> Gem Variants. This allows CMake Targets to self describe which gem variants they desire to build and load This implementation is backwards compatible: The `ly_enable_gems` function still accepts the TARGETS and VARIANTS arguments which it will forward to the new `ly_set_gem_variant_to_load` function to allow the input Targets to be associated with input Gem Variants This changes fixes the issue with gems that are required by an Application regardless of the Project in use, not replicating it's "requiredness" to the SDK layout Fixes #3430 Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com> * Added an LY_PROJECT_NAME property to the Launcher targets The `ly_enable_gems_delayed` now command queries the LY_PROJECT_NAME property associated with each target to determine if the gems being enabled are match the project the target is associated with. In this case the target only adds dependencies if the gems is being enabled without a specific project or if the gems is being enabled for the matching project. If the LY_PROJECT_NAME property is not set for target, it indicates the gems for each project can be added as dependencies to the target. Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com> * The INSTALL step now forwards the LY_PROJECT_NAME property for a target The Install_common.cmake has been updated to support configuring TARGET_PROPERTIES into the generated CMakeLists.txt for install targets. Furthermore the indentation of the generated CMakeLists.txt has been normalized to help with readability Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com> * Updating the Atom_Bootstrap CMakeLists.txt to enable the Atom_Bootstrap Gem Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com> * Added a deprecation message to ly_enable_gems when supplying TARGETS and VARIANTS Added a define_property call for the LY_PROJECT_NAME target property Removed the .Builders alias for the PrefabBuilder and renamed the GEM_MODULE target o PrefabBuilder.Builders. Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com> * Removed superflous space from AutomatedTesting Gem CMakeLists.txt Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com> --- AutomatedTesting/Gem/Code/CMakeLists.txt | 32 +- Code/Editor/CMakeLists.txt | 2 + Code/LauncherUnified/launcher_generator.cmake | 10 +- .../launcher_project_files.cmake | 1 + .../AssetBuilder/CMakeLists.txt | 1 + Code/Tools/AssetProcessor/CMakeLists.txt | 2 + Gems/Atom/Asset/Shader/Code/CMakeLists.txt | 3 +- Gems/Atom/Bootstrap/Code/CMakeLists.txt | 12 +- .../Tools/MaterialEditor/Code/CMakeLists.txt | 3 + .../CommonFeatures/Code/CMakeLists.txt | 27 +- Gems/Camera/Code/CMakeLists.txt | 19 +- Gems/Maestro/Code/CMakeLists.txt | 17 +- Gems/Prefab/PrefabBuilder/CMakeLists.txt | 10 +- Gems/SceneProcessing/Code/CMakeLists.txt | 8 +- Gems/ScriptCanvas/Code/CMakeLists.txt | 3 +- .../Template/Code/CMakeLists.txt | 38 +-- .../Template/Code/CMakeLists.txt | 37 +- cmake/Dependencies.cmake | 4 +- cmake/Gems.cmake | 320 +++++++++++------- cmake/Platform/Common/Install_common.cmake | 125 ++++--- cmake/Projects.cmake | 35 +- cmake/SettingsRegistry.cmake | 17 +- cmake/install/InstalledTarget.in | 2 + 23 files changed, 334 insertions(+), 394 deletions(-) diff --git a/AutomatedTesting/Gem/Code/CMakeLists.txt b/AutomatedTesting/Gem/Code/CMakeLists.txt index 58ffd957d6..6f55cc2764 100644 --- a/AutomatedTesting/Gem/Code/CMakeLists.txt +++ b/AutomatedTesting/Gem/Code/CMakeLists.txt @@ -35,37 +35,11 @@ ly_create_alias(NAME AutomatedTesting.Servers NAMESPACE Gem TARGETS Gem::Automa # Gem dependencies ################################################################################ -# The GameLauncher uses "Clients" gem variants: -ly_enable_gems(PROJECT_NAME AutomatedTesting GEM_FILE enabled_gems.cmake - TARGETS AutomatedTesting.GameLauncher - VARIANTS Clients) +# Enable the enabled_gems for the Project: +ly_enable_gems(PROJECT_NAME AutomatedTesting GEM_FILE enabled_gems.cmake) -# If we build a server, then apply the gems to the server +# Add project to the list server projects to create the AutomatedTesting.ServerLauncher if(PAL_TRAIT_BUILD_SERVER_SUPPORTED) - # if we're making a server, then add the "Server" gem variants to it: - ly_enable_gems(PROJECT_NAME AutomatedTesting GEM_FILE enabled_gems.cmake - TARGETS AutomatedTesting.ServerLauncher - VARIANTS Servers) - set_property(GLOBAL APPEND PROPERTY LY_LAUNCHER_SERVER_PROJECTS AutomatedTesting) endif() -if (PAL_TRAIT_BUILD_HOST_TOOLS) - # The Editor uses "Tools" gem variants: - ly_enable_gems( - PROJECT_NAME AutomatedTesting GEM_FILE enabled_gems.cmake - TARGETS Editor - VARIANTS Tools) - - # The Material Editor needs the Lyshine "Tools" gem variant for the custom LyShine pass - ly_enable_gems( - PROJECT_NAME AutomatedTesting GEMS LyShine - TARGETS MaterialEditor - VARIANTS Tools) - - # The pipeline tools use "Builders" gem variants: - ly_enable_gems( - PROJECT_NAME AutomatedTesting GEM_FILE enabled_gems.cmake - TARGETS AssetBuilder AssetProcessor AssetProcessorBatch - VARIANTS Builders) -endif() diff --git a/Code/Editor/CMakeLists.txt b/Code/Editor/CMakeLists.txt index 9256fd041f..5158ebc6d5 100644 --- a/Code/Editor/CMakeLists.txt +++ b/Code/Editor/CMakeLists.txt @@ -174,6 +174,8 @@ ly_add_target( Legacy::EditorLib ProjectManager ) + +ly_set_gem_variant_to_load(TARGETS Editor VARIANTS Tools) set_property(SOURCE CryEdit.cpp APPEND PROPERTY diff --git a/Code/LauncherUnified/launcher_generator.cmake b/Code/LauncherUnified/launcher_generator.cmake index 9c8a6b8f16..b30f752c85 100644 --- a/Code/LauncherUnified/launcher_generator.cmake +++ b/Code/LauncherUnified/launcher_generator.cmake @@ -6,8 +6,8 @@ # # - set_property(GLOBAL PROPERTY LAUNCHER_UNIFIED_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}) + # Launcher targets for a project need to be generated when configuring a project. # When building the engine source, this file will be included by LauncherUnified's CMakeLists.txt # When using an installed engine, this file will be included by the FindLauncherGenerator.cmake script @@ -121,6 +121,7 @@ foreach(project_name project_path IN ZIP_LISTS LY_PROJECTS_TARGET_NAME LY_PROJEC set_target_properties(${project_name}.GameLauncher PROPERTIES FOLDER ${project_name} + LY_PROJECT_NAME ${project_name} ) # After ensuring that we correctly support DPI scaling, this should be switched to "PerMonitor" @@ -129,6 +130,9 @@ foreach(project_name project_path IN ZIP_LISTS LY_PROJECTS_TARGET_NAME LY_PROJEC set_property(TARGET ${project_name}.GameLauncher APPEND PROPERTY VS_DEBUGGER_COMMAND_ARGUMENTS "--project-path=\"${LY_DEFAULT_PROJECT_PATH}\"") endif() + # Associate the Clients Gem Variant with each projects GameLauncher + ly_set_gem_variant_to_load(TARGETS ${project_name}.GameLauncher VARIANTS Clients) + ################################################################################ # Server ################################################################################ @@ -168,11 +172,15 @@ foreach(project_name project_path IN ZIP_LISTS LY_PROJECTS_TARGET_NAME LY_PROJEC set_target_properties(${project_name}.ServerLauncher PROPERTIES FOLDER ${project_name} + LY_PROJECT_NAME ${project_name} ) if(LY_DEFAULT_PROJECT_PATH) set_property(TARGET ${project_name}.ServerLauncher APPEND PROPERTY VS_DEBUGGER_COMMAND_ARGUMENTS "--project-path=\"${LY_DEFAULT_PROJECT_PATH}\"") endif() + + # Associate the Servers Gem Variant with each projects ServerLauncher + ly_set_gem_variant_to_load(TARGETS ${project_name}.ServerLauncher VARIANTS Servers) endif() endif() diff --git a/Code/LauncherUnified/launcher_project_files.cmake b/Code/LauncherUnified/launcher_project_files.cmake index 9f5bacbce5..2276631fbe 100644 --- a/Code/LauncherUnified/launcher_project_files.cmake +++ b/Code/LauncherUnified/launcher_project_files.cmake @@ -9,4 +9,5 @@ set(FILES LauncherProject.cpp StaticModules.in + launcher_generator.cmake ) diff --git a/Code/Tools/AssetProcessor/AssetBuilder/CMakeLists.txt b/Code/Tools/AssetProcessor/AssetBuilder/CMakeLists.txt index 64655c5164..6baa99d43b 100644 --- a/Code/Tools/AssetProcessor/AssetBuilder/CMakeLists.txt +++ b/Code/Tools/AssetProcessor/AssetBuilder/CMakeLists.txt @@ -39,6 +39,7 @@ ly_add_source_properties( ) if(TARGET AssetBuilder) + ly_set_gem_variant_to_load(TARGETS AssetBuilder VARIANTS Builders) # Adds the AssetBuilder target as a C preprocessor define so that it can be used as a Settings Registry # specialization in order to look up the generated .setreg which contains the dependencies # specified for the AssetBuilder in the /Gem/Code/CMakeLists via ly_add_project_dependencies diff --git a/Code/Tools/AssetProcessor/CMakeLists.txt b/Code/Tools/AssetProcessor/CMakeLists.txt index f10e4a9e05..431a167163 100644 --- a/Code/Tools/AssetProcessor/CMakeLists.txt +++ b/Code/Tools/AssetProcessor/CMakeLists.txt @@ -81,6 +81,7 @@ ly_add_target( # specialization in order to look up the generated .setreg which contains the dependencies # specified for the target. if(TARGET AssetProcessor) + ly_set_gem_variant_to_load(TARGETS AssetProcessor VARIANTS Builders) set_source_files_properties( native/AssetProcessorBuildTarget.cpp PROPERTIES @@ -130,6 +131,7 @@ endif() # specialization in order to look up the generated .setreg which contains the dependencies # specified for the target. if(TARGET AssetProcessorBatch) + ly_set_gem_variant_to_load(TARGETS AssetProcessorBatch VARIANTS Builders) set_source_files_properties( native/AssetProcessorBatchBuildTarget.cpp PROPERTIES diff --git a/Gems/Atom/Asset/Shader/Code/CMakeLists.txt b/Gems/Atom/Asset/Shader/Code/CMakeLists.txt index 298f00825f..c0bdfd4a8b 100644 --- a/Gems/Atom/Asset/Shader/Code/CMakeLists.txt +++ b/Gems/Atom/Asset/Shader/Code/CMakeLists.txt @@ -101,8 +101,7 @@ ly_add_target( # The Atom_Asset_Shader is a required gem for Builders in order to process the assets that come WITHOUT # the Atom_Feature_Common required gem -ly_enable_gems(GEMS Atom_Asset_Shader VARIANTS Builders - TARGETS AssetBuilder AssetProcessor AssetProcessorBatch) +ly_enable_gems(GEMS Atom_Asset_Shader) ################################################################################ # Tests diff --git a/Gems/Atom/Bootstrap/Code/CMakeLists.txt b/Gems/Atom/Bootstrap/Code/CMakeLists.txt index 1787af04ed..fd9df96124 100644 --- a/Gems/Atom/Bootstrap/Code/CMakeLists.txt +++ b/Gems/Atom/Bootstrap/Code/CMakeLists.txt @@ -45,14 +45,4 @@ ly_create_alias(NAME Atom_Bootstrap.Clients NAMESPACE Gem TARGETS Gem::Atom_Boot ly_create_alias(NAME Atom_Bootstrap.Servers NAMESPACE Gem TARGETS Gem::Atom_Bootstrap) # The Atom_Bootstrap gem is responsible for making the NativeWindow handle in the launcher applications -# Loop over each Project name to allow the ${ProjectName}.GameLauncher and ${ProjectName}.ServerLauncher -# target to add the gem the Clients and Servers variant -get_property(LY_PROJECTS_TARGET_NAME GLOBAL PROPERTY LY_PROJECTS_TARGET_NAME) -foreach(project_name IN LISTS LY_PROJECTS_TARGET_NAME) - # Add gem as a dependency of the Clients Launcher - ly_enable_gems(PROJECT_NAME ${project_name} GEMS Atom_Bootstrap VARIANTS Clients TARGETS ${project_name}.GameLauncher) - # Add gem as a dependency of the Servers Launcher - if(PAL_TRAIT_BUILD_SERVER_SUPPORTED) - ly_enable_gems(PROJECT_NAME ${project_name} GEMS Atom_Bootstrap VARIANTS Servers TARGETS ${project_name}.ServerLauncher) - endif() -endforeach() +ly_enable_gems(GEMS Atom_Bootstrap) diff --git a/Gems/Atom/Tools/MaterialEditor/Code/CMakeLists.txt b/Gems/Atom/Tools/MaterialEditor/Code/CMakeLists.txt index c83ca2bb19..6230217ac2 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/CMakeLists.txt +++ b/Gems/Atom/Tools/MaterialEditor/Code/CMakeLists.txt @@ -133,6 +133,9 @@ ly_add_target_dependencies( DEPENDENCIES_FILES tool_dependencies.cmake Source/Platform/${PAL_PLATFORM_NAME}/tool_dependencies_${PAL_PLATFORM_NAME_LOWERCASE}.cmake + # The Material Editor needs the LyShine "Tools" gem variant for the custom LyShine pass + DEPENDENT_TARGETS + Gem::LyShine.Tools ) # Inject the project path into the MaterialEditor VS debugger command arguments if the build system being invoked diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/CMakeLists.txt b/Gems/AtomLyIntegration/CommonFeatures/Code/CMakeLists.txt index 804a53ebed..df5ab134fa 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/CMakeLists.txt +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/CMakeLists.txt @@ -123,27 +123,10 @@ if(PAL_TRAIT_BUILD_HOST_TOOLS) Gem::AtomLyIntegration_CommonFeatures.Editor Gem::GradientSignal.Tools ) - - # AtomLyIntergration_CommonFeatures gem targets are required as part of the Editor and AssetProcessor - # due to the AZ::Render::EditorDirectionalLightComponent, AZ::Render::EditorMeshComponent, - # AZ::Render::EditorGridComponent, AZ::Render::EditorHDRiSkyboxComponent, - # AZ::Render::EditorImageBasedLightComponent being saved as part of the DefaultLevel.prefab - ly_enable_gems(GEMS AtomLyIntegration_CommonFeatures VARIANTS Tools - TARGETS Editor) - ly_enable_gems(GEMS AtomLyIntegration_CommonFeatures VARIANTS Builders - TARGETS AssetBuilder AssetProcessor AssetProcessorBatch) endif() - -# Added dependencies to the Client and Server Launchers -get_property(LY_PROJECTS_TARGET_NAME GLOBAL PROPERTY LY_PROJECTS_TARGET_NAME) -foreach(project_name IN LISTS LY_PROJECTS_TARGET_NAME) - # Add gem as a dependency of the Clients Launcher - ly_enable_gems(PROJECT_NAME ${project_name} GEMS AtomLyIntegration_CommonFeatures VARIANTS Clients - TARGETS ${project_name}.GameLauncher) - # Add gem as a dependency of the Servers Launcher - if(PAL_TRAIT_BUILD_SERVER_SUPPORTED) - ly_enable_gems(PROJECT_NAME ${project_name} GEMS AtomLyIntegration_CommonFeatures VARIANTS Servers - TARGETS ${project_name}.ServerLauncher) - endif() -endforeach() +# AtomLyIntegration_CommonFeatures gem targets are required as part of the Editor and AssetProcessor +# due to the AZ::Render::EditorDirectionalLightComponent, AZ::Render::EditorMeshComponent, +# AZ::Render::EditorGridComponent, AZ::Render::EditorHDRiSkyboxComponent, +# AZ::Render::EditorImageBasedLightComponent being saved as part of the DefaultLevel.prefab +ly_enable_gems(GEMS AtomLyIntegration_CommonFeatures) diff --git a/Gems/Camera/Code/CMakeLists.txt b/Gems/Camera/Code/CMakeLists.txt index deb123824f..3fbeec0908 100644 --- a/Gems/Camera/Code/CMakeLists.txt +++ b/Gems/Camera/Code/CMakeLists.txt @@ -66,22 +66,7 @@ if (PAL_TRAIT_BUILD_HOST_TOOLS) # tools and builders use the above module. ly_create_alias(NAME Camera.Tools NAMESPACE Gem TARGETS Gem::Camera.Editor) ly_create_alias(NAME Camera.Builders NAMESPACE Gem TARGETS Gem::Camera.Editor) - - # The DefaultPrefab contains an EditorCameraComponent which makes this gem required - ly_enable_gems(GEMS Camera VARIANTS Tools TARGETS Editor) - ly_enable_gems(GEMS Camera VARIANTS Builders TARGETS AssetBuilder AssetProcessor AssetProcessorBatch) endif() - -# Added dependencies to the Client and Server Launchers -get_property(LY_PROJECTS_TARGET_NAME GLOBAL PROPERTY LY_PROJECTS_TARGET_NAME) -foreach(project_name IN LISTS LY_PROJECTS_TARGET_NAME) - # Add gem as a dependency of the Clients Launcher - ly_enable_gems(PROJECT_NAME ${project_name} GEMS Camera VARIANTS Clients - TARGETS ${project_name}.GameLauncher) - # Add gem as a dependency of the Servers Launcher - if(PAL_TRAIT_BUILD_SERVER_SUPPORTED) - ly_enable_gems(PROJECT_NAME ${project_name} GEMS Camera VARIANTS Servers - TARGETS ${project_name}.ServerLauncher) - endif() -endforeach() +# The DefaultPrefab contains an EditorCameraComponent which makes this gem required +ly_enable_gems(GEMS Camera) diff --git a/Gems/Maestro/Code/CMakeLists.txt b/Gems/Maestro/Code/CMakeLists.txt index 56d1f2f3c4..2ae737acc7 100644 --- a/Gems/Maestro/Code/CMakeLists.txt +++ b/Gems/Maestro/Code/CMakeLists.txt @@ -75,23 +75,10 @@ if (PAL_TRAIT_BUILD_HOST_TOOLS) ly_create_alias(NAME Maestro.Tools NAMESPACE Gem TARGETS Gem::Maestro.Editor) ly_create_alias(NAME Maestro.Builders NAMESPACE Gem TARGETS Gem::Maestro.Editor) - # Maestro is still used by the CrySystem Level System and SystemInit and TrackView - # It is required by the GameLauncher, ServerLauncher and Editor applications - ly_enable_gems(GEMS Maestro VARIANTS Tools TARGETS Editor) - endif() -# Loop over each Project name to allow the ${ProjectName}.GameLauncher and ${ProjectName}.ServerLauncher -# target to add the gem the Clients and Servers variant -get_property(LY_PROJECTS_TARGET_NAME GLOBAL PROPERTY LY_PROJECTS_TARGET_NAME) -foreach(project_name IN LISTS LY_PROJECTS_TARGET_NAME) - # Add gem as a dependency of the Clients Launcher - ly_enable_gems(PROJECT_NAME ${project_name} GEMS Maestro VARIANTS Clients TARGETS ${project_name}.GameLauncher) - # Add gem as a dependency of the Servers Launcher - if(PAL_TRAIT_BUILD_SERVER_SUPPORTED) - ly_enable_gems(PROJECT_NAME ${project_name} GEMS Maestro VARIANTS Servers TARGETS ${project_name}.ServerLauncher) - endif() -endforeach() +# Maestro is still used by the CrySystem Level System, CSystem::SystemInit and TrackView +ly_enable_gems(GEMS Maestro) ################################################################################ diff --git a/Gems/Prefab/PrefabBuilder/CMakeLists.txt b/Gems/Prefab/PrefabBuilder/CMakeLists.txt index c4c57155ab..450b8d0408 100644 --- a/Gems/Prefab/PrefabBuilder/CMakeLists.txt +++ b/Gems/Prefab/PrefabBuilder/CMakeLists.txt @@ -23,7 +23,7 @@ ly_add_target( ) ly_add_target( - NAME PrefabBuilder GEM_MODULE + NAME PrefabBuilder.Builders GEM_MODULE NAMESPACE Gem INCLUDE_DIRECTORIES PRIVATE @@ -36,15 +36,9 @@ ly_add_target( ) # the prefab builder only needs to be active in builders -# use the PrefabBuilder module in Clients and Servers: -ly_create_alias(NAME PrefabBuilder.Builders NAMESPACE Gem TARGETS Gem::PrefabBuilder) # we automatically add this gem, if it is present, to all our known set of builder applications: -ly_enable_gems(GEMS PrefabBuilder VARIANTS Builders TARGETS AssetProcessor AssetProcessorBatch AssetBuilder) - -# if you have a custom builder application in your project, then use ly_enable_gems() to -# add it to that application for your project, like this to make YOUR_TARGET_NAME load it automatically -# ly_enable_gems(PROJECT_NAME (YOUR_PROJECT_NAME) GEMS PrefabBuilder VARIANTS Builders TARGETS (YOUR_TARGET_NAME) ) +ly_enable_gems(GEMS PrefabBuilder) if(PAL_TRAIT_BUILD_TESTS_SUPPORTED) ly_add_target( diff --git a/Gems/SceneProcessing/Code/CMakeLists.txt b/Gems/SceneProcessing/Code/CMakeLists.txt index 6602c1d7d6..667103b4a7 100644 --- a/Gems/SceneProcessing/Code/CMakeLists.txt +++ b/Gems/SceneProcessing/Code/CMakeLists.txt @@ -68,14 +68,10 @@ if (PAL_TRAIT_BUILD_HOST_TOOLS) ly_create_alias(NAME SceneProcessing.Builders NAMESPACE Gem TARGETS Gem::SceneProcessing.Editor) ly_create_alias(NAME SceneProcessing.Tools NAMESPACE Gem TARGETS Gem::SceneProcessing.Editor) -# SceneProcessing Gem is only used in Tools and builders and is a requirement for the Editor -ly_enable_gems(GEMS SceneProcessing VARIANTS Tools - TARGETS Editor) -ly_enable_gems(GEMS SceneProcessing VARIANTS Builders - TARGETS AssetBuilder AssetProcessor AssetProcessorBatch) + # SceneProcessing Gem is only used in Tools and builders and is a requirement for the Editor and AssetProcessor + ly_enable_gems(GEMS SceneProcessing) endif() - ################################################################################ # Tests ################################################################################ diff --git a/Gems/ScriptCanvas/Code/CMakeLists.txt b/Gems/ScriptCanvas/Code/CMakeLists.txt index 57d7a4a476..c126d343ed 100644 --- a/Gems/ScriptCanvas/Code/CMakeLists.txt +++ b/Gems/ScriptCanvas/Code/CMakeLists.txt @@ -47,8 +47,7 @@ ly_add_target( ) # the script canvas debugger is an optional gem module -# To Enable it: ly_enable_gems( ... TARGETS xxxyyzzz GEMS ScriptCanvasDebugger ...) -# in any particular target. +# To Enable it, associate it with a project ly_create_alias(NAME ScriptCanvasDebugger.Builders NAMESPACE Gem TARGETS Gem::ScriptCanvasDebugger) ly_create_alias(NAME ScriptCanvasDebugger.Tools NAMESPACE Gem TARGETS Gem::ScriptCanvasDebugger) ly_create_alias(NAME ScriptCanvasDebugger.Clients NAMESPACE Gem TARGETS Gem::ScriptCanvasDebugger) diff --git a/Templates/DefaultProject/Template/Code/CMakeLists.txt b/Templates/DefaultProject/Template/Code/CMakeLists.txt index 0c6f6553fb..7bbb9a0852 100644 --- a/Templates/DefaultProject/Template/Code/CMakeLists.txt +++ b/Templates/DefaultProject/Template/Code/CMakeLists.txt @@ -68,46 +68,12 @@ ly_create_alias(NAME ${Name}.Servers NAMESPACE Gem TARGETS Gem::${Name}) # Gem dependencies ################################################################################ -# The GameLauncher uses "Clients" gem variants: -ly_enable_gems( - PROJECT_NAME ${Name} GEM_FILE enabled_gems.cmake - TARGETS - ${Name}.GameLauncher - VARIANTS - Clients) - -if(PAL_TRAIT_BUILD_HOST_TOOLS) - - # the builder type applications use the "Builders" variants of the enabled gems. - ly_enable_gems( - PROJECT_NAME ${Name} GEM_FILE enabled_gems.cmake - TARGETS - AssetBuilder - AssetProcessor - AssetProcessorBatch - VARIANTS - Builders) - - # the Editor applications use the "Tools" variants of the enabled gems. - ly_enable_gems( - PROJECT_NAME ${Name} GEM_FILE enabled_gems.cmake - TARGETS - Editor - VARIANTS - Tools) -endif() +# Enable the specified list of gems from GEM_FILE or GEMS list for this specific project: +ly_enable_gems(PROJECT_NAME ${Name} GEM_FILE enabled_gems.cmake) if(PAL_TRAIT_BUILD_SERVER_SUPPORTED) # this property causes it to actually make a ServerLauncher. # if you don't want a Server application, you can remove this and the # following ly_enable_gems lines. set_property(GLOBAL APPEND PROPERTY LY_LAUNCHER_SERVER_PROJECTS ${Name}) - - # The ServerLauncher uses the "Servers" variants of enabled gems: - ly_enable_gems( - PROJECT_NAME ${Name} GEM_FILE enabled_gems.cmake - TARGETS - ${Name}.ServerLauncher - VARIANTS - Servers) endif() diff --git a/Templates/MinimalProject/Template/Code/CMakeLists.txt b/Templates/MinimalProject/Template/Code/CMakeLists.txt index 0c6f6553fb..5e646c0704 100644 --- a/Templates/MinimalProject/Template/Code/CMakeLists.txt +++ b/Templates/MinimalProject/Template/Code/CMakeLists.txt @@ -68,46 +68,13 @@ ly_create_alias(NAME ${Name}.Servers NAMESPACE Gem TARGETS Gem::${Name}) # Gem dependencies ################################################################################ -# The GameLauncher uses "Clients" gem variants: -ly_enable_gems( - PROJECT_NAME ${Name} GEM_FILE enabled_gems.cmake - TARGETS - ${Name}.GameLauncher - VARIANTS - Clients) +# Enable the specified list of gems from GEM_FILE or GEMS list for this specific project: +ly_enable_gems(PROJECT_NAME ${Name} GEM_FILE enabled_gems.cmake) -if(PAL_TRAIT_BUILD_HOST_TOOLS) - - # the builder type applications use the "Builders" variants of the enabled gems. - ly_enable_gems( - PROJECT_NAME ${Name} GEM_FILE enabled_gems.cmake - TARGETS - AssetBuilder - AssetProcessor - AssetProcessorBatch - VARIANTS - Builders) - - # the Editor applications use the "Tools" variants of the enabled gems. - ly_enable_gems( - PROJECT_NAME ${Name} GEM_FILE enabled_gems.cmake - TARGETS - Editor - VARIANTS - Tools) -endif() if(PAL_TRAIT_BUILD_SERVER_SUPPORTED) # this property causes it to actually make a ServerLauncher. # if you don't want a Server application, you can remove this and the # following ly_enable_gems lines. set_property(GLOBAL APPEND PROPERTY LY_LAUNCHER_SERVER_PROJECTS ${Name}) - - # The ServerLauncher uses the "Servers" variants of enabled gems: - ly_enable_gems( - PROJECT_NAME ${Name} GEM_FILE enabled_gems.cmake - TARGETS - ${Name}.ServerLauncher - VARIANTS - Servers) endif() diff --git a/cmake/Dependencies.cmake b/cmake/Dependencies.cmake index 3863cdc313..f40c72b540 100644 --- a/cmake/Dependencies.cmake +++ b/cmake/Dependencies.cmake @@ -35,7 +35,9 @@ function(ly_add_dependencies TARGET) if(TARGET ${TARGET}) # Target already created, add it ly_parse_third_party_dependencies("${extra_function_args}") - add_dependencies(${TARGET} ${extra_function_args}) + # Dependencies can only be added on non-alias target + ly_de_alias_target(${TARGET} de_aliased_target) + add_dependencies(${de_aliased_target} ${extra_function_args}) else() set_property(GLOBAL APPEND PROPERTY LY_DELAYED_DEPENDENCIES_${TARGET} ${extra_function_args}) endif() diff --git a/cmake/Gems.cmake b/cmake/Gems.cmake index bcb619fd8d..e01740c265 100644 --- a/cmake/Gems.cmake +++ b/cmake/Gems.cmake @@ -6,7 +6,13 @@ # # -# This file contains utility wrappers for dealing with the Gems system. +# This file contains utility wrappers for dealing with the Gems system. + +define_property(TARGET PROPERTY LY_PROJECT_NAME + BRIEF_DOCS "Name of the project, this target can use enabled gems from" + FULL_DOCS "If set, the when iterating over the enabled gems in ly_enabled_gems_delayed + only a project with that name can have it's enabled gem list added as a dependency to this target. + If the __NOPROJECT__ placeholder is associated with a list enabled gems, then it applies to this target regardless of this property value") # ly_create_alias # given an alias to create, and a list of one or more targets, @@ -34,7 +40,8 @@ function(ly_create_alias) # easy version - if its just one target and it exist at the time of this call, # we can directly get the target, and make both aliases, - # the namespaced and non namespaced one, point at it. + # the namespace and non namespace one, point at it. + set(create_interface_target TRUE) list(LENGTH ly_create_alias_TARGETS number_of_targets) if (number_of_targets EQUAL 1) if(TARGET ${ly_create_alias_TARGETS}) @@ -43,11 +50,7 @@ function(ly_create_alias) if (NOT TARGET ${ly_create_alias_NAME}) add_library(${ly_create_alias_NAME} ALIAS ${de_aliased_target_name}) endif() - # Store off the arguments needed used ly_create_alias into a DIRECTORY property - # This will be used to re-create the calls in the generated CMakeLists.txt in the INSTALL step - string(REPLACE ";" " " create_alias_args "${ly_create_alias_NAME},${ly_create_alias_NAMESPACE},${ly_create_alias_TARGETS}") - set_property(DIRECTORY APPEND PROPERTY LY_CREATE_ALIAS_ARGUMENTS "${ly_create_alias_NAME},${ly_create_alias_NAMESPACE},${ly_create_alias_TARGETS}") - return() + set(create_interface_target FALSE) endif() endif() @@ -55,41 +58,48 @@ function(ly_create_alias) # To actually achieve this we have to create an interface library with those dependencies, # then we have to create an alias to that target. # By convention we create one without a namespace then alias the namespaced one. - - if(TARGET ${ly_create_alias_NAME}) - message(FATAL_ERROR "Internal alias target already exists, cannot create an alias for it: ${ly_create_alias_NAME}\n" - "This could be a copy-paste error, where some part of the ly_create_alias call was changed but the other") - endif() - - add_library(${ly_create_alias_NAME} INTERFACE IMPORTED GLOBAL) - set_target_properties(${ly_create_alias_NAME} PROPERTIES GEM_MODULE TRUE) - - foreach(target_name ${ly_create_alias_TARGETS}) - if(TARGET ${target_name}) - ly_de_alias_target(${target_name} de_aliased_target_name) - if(NOT de_aliased_target_name) - message(FATAL_ERROR "Target not found in ly_create_alias call: ${target_name} - check your spelling of the target name") - endif() - else() - set(de_aliased_target_name ${target_name}) + if(create_interface_target) + if(TARGET ${ly_create_alias_NAME}) + message(FATAL_ERROR "Internal alias target already exists, cannot create an alias for it: ${ly_create_alias_NAME}\n" + "This could be a copy-paste error, where some part of the ly_create_alias call was changed but the other") endif() - list(APPEND final_targets ${de_aliased_target_name}) - endforeach() - - # add_dependencies must be called with at least one dependent target - if(final_targets) - ly_parse_third_party_dependencies("${final_targets}") - ly_add_dependencies(${ly_create_alias_NAME} ${final_targets}) - endif() - # now add the final alias: - add_library(${ly_create_alias_NAMESPACE}::${ly_create_alias_NAME} ALIAS ${ly_create_alias_NAME}) + add_library(${ly_create_alias_NAME} INTERFACE IMPORTED GLOBAL) + set_target_properties(${ly_create_alias_NAME} PROPERTIES GEM_MODULE TRUE) + + foreach(target_name ${ly_create_alias_TARGETS}) + if(TARGET ${target_name}) + ly_de_alias_target(${target_name} de_aliased_target_name) + if(NOT de_aliased_target_name) + message(FATAL_ERROR "Target not found in ly_create_alias call: ${target_name} - check your spelling of the target name") + endif() + else() + set(de_aliased_target_name ${target_name}) + endif() + list(APPEND final_targets ${de_aliased_target_name}) + endforeach() + + # add_dependencies must be called with at least one dependent target + if(final_targets) + ly_parse_third_party_dependencies("${final_targets}") + ly_add_dependencies(${ly_create_alias_NAME} ${final_targets}) + endif() + + # now add the final alias: + add_library(${ly_create_alias_NAMESPACE}::${ly_create_alias_NAME} ALIAS ${ly_create_alias_NAME}) + endif() # Store off the arguments used by ly_create_alias into a DIRECTORY property # This will be used to re-create the calls in the generated CMakeLists.txt in the INSTALL step - - # Replace the CMake list separator with a space to replicate the space separated TARGETS arguments - string(REPLACE ";" " " create_alias_args "${ly_create_alias_NAME},${ly_create_alias_NAMESPACE},${ly_create_alias_TARGETS}") + # Replace the CMake list separator with a space to replicate the space separated arguments + # A single create_alias_args variable encodes two values. The alias NAME used to check if the target exists + # and the ly_create_alias arguments to replace this function call + unset(create_alias_args) + list(APPEND create_alias_args "${ly_create_alias_NAME}," + NAME ${ly_create_alias_NAME} + NAMESPACE ${ly_create_alias_NAMESPACE} + TARGETS ${ly_create_alias_TARGETS}) + list(JOIN create_alias_args " " create_alias_args) set_property(DIRECTORY APPEND PROPERTY LY_CREATE_ALIAS_ARGUMENTS "${create_alias_args}") # Store the directory path in the GLOBAL property so that it can be accessed @@ -100,13 +110,54 @@ function(ly_create_alias) endif() endfunction() +# ly_set_gem_variant_to_load +# Associates a key, value entry of CMake target -> Gem variant +# \arg:TARGETS - list of Targets to associate with the Gem variant +# \arg:VARIANTS - Gem variant +function(ly_set_gem_variant_to_load) + set(options) + set(oneValueArgs) + set(multiValueArgs TARGETS VARIANTS) + + cmake_parse_arguments(ly_set_gem_variant_to_load "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) + + if (NOT ly_set_gem_variant_to_load_TARGETS) + message(FATAL_ERROR "You must provide at least 1 target to ${CMAKE_CURRENT_FUNCTION} using the TARGETS keyword") + endif() + + # Store a list of targets + foreach(target_name ${ly_set_gem_variant_to_load_TARGETS}) + # Append the target to the list of targets with variants if it has not been added + get_property(ly_targets_with_variants GLOBAL PROPERTY LY_TARGETS_WITH_GEM_VARIANTS) + if(NOT target_name IN_LIST ly_targets_with_variants) + set_property(GLOBAL APPEND PROPERTY LY_TARGETS_WITH_GEM_VARIANTS "${target_name}") + endif() + foreach(variant_name ${ly_set_gem_variant_to_load_VARIANTS}) + get_property(target_gem_variants GLOBAL PROPERTY LY_GEM_VARIANTS_"${target_name}") + if(NOT variant_name IN_LIST target_gem_variants) + set_property(GLOBAL APPEND PROPERTY LY_GEM_VARIANTS_"${target_name}" "${variant_name}") + endif() + endforeach() + endforeach() + + # Store of the arguments used to invoke this function in order to replicate the call in the generated CMakeLists.txt + # in the install layout + unset(set_gem_variant_args) + list(APPEND set_gem_variant_args + TARGETS ${ly_set_gem_variant_to_load_TARGETS} + VARIANTS ${ly_set_gem_variant_to_load_VARIANTS}) + # Replace the list separator with space to have it be stored as a single property element + list(JOIN set_gem_variant_args " " set_gem_variant_args) + set_property(DIRECTORY APPEND PROPERTY LY_SET_GEM_VARIANT_TO_LOAD_ARGUMENTS "${set_gem_variant_args}") +endfunction() + # ly_enable_gems # this function makes sure that the given gems, or gems listed in the variable ENABLED_GEMS # in the GEM_FILE name, are set as runtime dependencies (and thus loaded) for the given targets # in the context of the given project. # note that it can't do this immediately, so it saves the data for later processing. # Note: If you don't supply a project name, it will apply it across the board to all projects. -# this is useful in the case of "ly_add_gems being called for so called 'mandatory gems' inside the engine. +# this is useful in the case of "ly_enable_gems" being called for so called 'mandatory gems' inside the engine. # if you specify a gem name with a namespace, it will be used, otherwise it will assume Gem:: function(ly_enable_gems) set(options) @@ -115,23 +166,21 @@ function(ly_enable_gems) cmake_parse_arguments(ly_enable_gems "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) - if (NOT ly_enable_gems_TARGETS) - message(FATAL_ERROR "You must provide the targets to add gems to using the TARGETS keyword") - endif() - - if (NOT ly_enable_gems_PROJECT_NAME) message(VERBOSE "Note: ly_enable_gems called with no PROJECT_NAME name, applying to all projects: \n" - " - VARIANTS ${ly_enable_gems_VARIANTS} \n" - " - GEMS ${ly_enable_gems_GEMS} \n" - " - TARGETS ${ly_enable_gems_TARGETS} \n" + " - GEMS ${ly_enable_gems_GEMS} \n" " - GEM_FILE ${ly_enable_gems_GEM_FILE}") set(ly_enable_gems_PROJECT_NAME "__NOPROJECT__") # so that the token is not blank endif() - if (NOT ly_enable_gems_VARIANTS) - message(FATAL_ERROR "You must provide at least 1 variant of the gem modules (Editor, Server, Client, Builder) to " - "add to your targets, using the VARIANTS keyword") + # Backwards-Compatibility - Delegate any TARGETS and VARIANTS arguments to the ly_set_gem_variant_to_load + # command. That command is used to associate TARGETS with the list of Gem Variants they desire to use + if (ly_enable_gems_TARGETS AND ly_enable_gems_VARIANTS) + message(DEPRECATION "The TARGETS and VARIANTS arguments to \"${CMAKE_CURRENT_FUNCTION}\" is deprecated.\n" + "Please use the \"ly_set_gem_variant_to_load\" function directly to associate a Target with a Gem Variant.\n" + "This function will forward the TARGETS and VARIANTS arguments to \"ly_set_gem_variant_to_load\" for now," + " but this functionality will be removed.") + ly_set_gem_variant_to_load(TARGETS ${ly_enable_gems_TARGETS} VARIANTS ${ly_enable_gems_VARIANTS}) endif() if ((NOT ly_enable_gems_GEMS AND NOT ly_enable_gems_GEM_FILE) OR (ly_enable_gems_GEMS AND ly_enable_gems_GEM_FILE)) @@ -153,103 +202,126 @@ function(ly_enable_gems) endif() # all the actual work has to be done later. - foreach(target_name ${ly_enable_gems_TARGETS}) - foreach(variant_name ${ly_enable_gems_VARIANTS}) - set_property(GLOBAL APPEND PROPERTY LY_DELAYED_ENABLE_GEMS "${ly_enable_gems_PROJECT_NAME},${target_name},${variant_name}") - define_property(GLOBAL PROPERTY LY_DELAYED_ENABLE_GEMS_"${ly_enable_gems_PROJECT_NAME},${target_name},${variant_name}" - BRIEF_DOCS "List of gem names to evaluate variants against" FULL_DOCS "Names of gems that will be paired with the variant name - to determine if it is valid target that should be added as an application dynamic load dependency") - set_property(GLOBAL APPEND PROPERTY LY_DELAYED_ENABLE_GEMS_"${ly_enable_gems_PROJECT_NAME},${target_name},${variant_name}" ${ly_enable_gems_GEMS}) - endforeach() - endforeach() + set_property(GLOBAL APPEND PROPERTY LY_DELAYED_ENABLE_GEMS "${ly_enable_gems_PROJECT_NAME}") + define_property(GLOBAL PROPERTY LY_DELAYED_ENABLE_GEMS_"${ly_enable_gems_PROJECT_NAME}" + BRIEF_DOCS "List of gem names to evaluate variants against" FULL_DOCS "Names of gems that will be paired with the variant name + to determine if it is valid target that should be added as an application dynamic load dependency") + set_property(GLOBAL APPEND PROPERTY LY_DELAYED_ENABLE_GEMS_"${ly_enable_gems_PROJECT_NAME}" ${ly_enable_gems_GEMS}) # Store off the arguments used by ly_enable_gems into a DIRECTORY property # This will be used to re-create the ly_enable_gems call in the generated CMakeLists.txt at the INSTALL step # Replace the CMake list separator with a space to replicate the space separated TARGETS arguments if(NOT ly_enable_gems_PROJECT_NAME STREQUAL "__NOPROJECT__") - set(replicated_project_name ${ly_enable_gems_PROJECT_NAME}) + set(replicated_project_name PROJECT_NAME ${ly_enable_gems_PROJECT_NAME}) endif() # The GEM_FILE file is used to populate the GEMS argument via the ENABLED_GEMS variable in the file. # Furthermore the GEM_FILE itself is not copied over to the install layout, so make its argument entry blank and use the list of GEMS # stored in ly_enable_gems_GEMS - string(REPLACE ";" " " enable_gems_args "${replicated_project_name},${ly_enable_gems_GEMS},,${ly_enable_gems_VARIANTS},${ly_enable_gems_TARGETS}") + unset(enable_gems_args) + list(APPEND enable_gems_args + ${replicated_project_name} + GEMS ${ly_enable_gems_GEMS}) + list(JOIN enable_gems_args " " enable_gems_args) set_property(DIRECTORY APPEND PROPERTY LY_ENABLE_GEMS_ARGUMENTS "${enable_gems_args}") endfunction() + +function(ly_add_gem_dependencies_to_project_variants) + set(options) + set(oneValueArgs PROJECT_NAME TARGET VARIANT) + set(multiValueArgs GEM_DEPENDENCIES) + + cmake_parse_arguments(ly_add_gem_dependencies "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) + if (NOT ly_add_gem_dependencies_PROJECT_NAME) + message(FATAL_ERROR "Missing required PROJECT_NAME argument which is used to determine gem load prefix") + endif() + if (NOT ly_add_gem_dependencies_TARGET) + message(FATAL_ERROR "Missing required TARGET argument ") + endif() + if (NOT ly_add_gem_dependencies_VARIANT) + message(FATAL_ERROR "Missing required gem VARIANT argument needed to determine which gem variants to load for the target") + endif() + + if(${ly_add_gem_dependencies_PROJECT_NAME} STREQUAL "__NOPROJECT__") + # special case, apply to all + unset(PREFIX_CLAUSE) + else() + set(PREFIX_CLAUSE "PREFIX;${ly_add_gem_dependencies_PROJECT_NAME}") + endif() + + # apply the list of gem targets. Adding a gem really just means adding the appropriate dependency. + foreach(gem_name ${ly_add_gem_dependencies_GEM_DEPENDENCIES}) + set(gem_target ${gem_name}.${ly_add_gem_dependencies_VARIANT}) + + # if the target exists, add it. + if (TARGET ${gem_target}) + # Dealias actual target + ly_de_alias_target(${gem_target} dealiased_gem_target) + ly_add_target_dependencies( + ${PREFIX_CLAUSE} + TARGETS ${ly_add_gem_dependencies_TARGET} + DEPENDENT_TARGETS ${dealiased_gem_target}) + endif() + endforeach() +endfunction() + # call this before runtime dependencies are used to add any relevant targets # saved by the above function function(ly_enable_gems_delayed) - get_property(ly_delayed_enable_gems GLOBAL PROPERTY LY_DELAYED_ENABLE_GEMS) - foreach(project_target_variant ${ly_delayed_enable_gems}) - # we expect a colon separated list of - # PROJECT_NAME,target_name,variant_name - string(REPLACE "," ";" project_target_variant_list "${project_target_variant}") - list(LENGTH project_target_variant_list project_target_variant_length) - if(project_target_variant_length EQUAL 0) - continue() - endif() - - if(NOT project_target_variant_length EQUAL 3) - message(FATAL_ERROR "Invalid specification of gems, expected 'project','target','variant' and got ${project_target_variant}") - endif() - - list(POP_BACK project_target_variant_list variant) - list(POP_BACK project_target_variant_list target) - list(POP_BACK project_target_variant_list project) - - get_property(gem_dependencies GLOBAL PROPERTY LY_DELAYED_ENABLE_GEMS_"${project_target_variant}") - if (NOT gem_dependencies) - get_property(gem_dependencies_defined GLOBAL PROPERTY LY_DELAYED_ENABLE_GEMS_"${project_target_variant}" DEFINED) - if (gem_dependencies_defined) - # special case, if the LY_DELAYED_ENABLE_GEMS_"${project_target_variant}" property is DEFINED - # but empty, add an entry to the LY_DELAYED_LOAD_DEPENDENCIES to have the - # cmake_dependencies.*.setreg file for the (project, target) tuple to be regenerated - # This is needed if the ENABLED_GEMS list for a project goes from >0 to 0. In this case - # the cmake_dependencies would have a stale list of gems to load unless it is regenerated - get_property(delayed_load_target_set GLOBAL PROPERTY LY_DELAYED_LOAD_"${project},${target}" SET) - if(NOT delayed_load_target_set) - set_property(GLOBAL APPEND PROPERTY LY_DELAYED_LOAD_DEPENDENCIES "${project},${target}") - set_property(GLOBAL APPEND PROPERTY LY_DELAYED_LOAD_"${project},${target}" "") - endif() - endif() - # Continue to the next iteration loop regardless as there are no gem dependencies - continue() - endif() - - if(${project} STREQUAL "__NOPROJECT__") - # special case, apply to all - unset(PREFIX_CLAUSE) - else() - set(PREFIX_CLAUSE "PREFIX;${project}") - endif() + # Query the list of targets that are associated with a gem variant + get_property(targets_with_variants GLOBAL PROPERTY LY_TARGETS_WITH_GEM_VARIANTS) + # Query the projects that have made calls to ly_enable_gems + get_property(enable_gem_projects GLOBAL PROPERTY LY_DELAYED_ENABLE_GEMS) + foreach(target ${targets_with_variants}) if (NOT TARGET ${target}) - message(FATAL_ERROR "ly_enable_gems specified TARGET '${target}' but no such target was found.") + message(FATAL_ERROR "ly_set_gem_variant_to_load specified TARGET '${target}' but no such target was found.") endif() - # apply the list of gem targets. Adding a gem really just means adding the appropriate dependency. - foreach(gem_name ${gem_dependencies}) - # the gem name may already have a namespace. If it does, we use that one - ly_strip_target_namespace(TARGET ${gem_name} OUTPUT_VARIABLE unaliased_gem_name) - if (${unaliased_gem_name} STREQUAL ${gem_name}) - # if stripping a namespace had no effect, it had no namespace - # and we supply the default Gem:: namespace. - set(gem_name_with_namespace Gem::${gem_name}) - else() - # if stripping the namespace had an effect then we use the original - # with the namespace, instead of assuming Gem:: - set(gem_name_with_namespace ${gem_name}) + # Lookup if the target is scoped to a project + # In that case the target can only use gem targets that is + # - not project specific: i.e "__NOPROJECT__" + # - or specific to the project + get_property(target_project_association TARGET ${target} PROPERTY LY_PROJECT_NAME) + + foreach(project ${enable_gem_projects}) + if (target_project_association AND + (NOT (project STREQUAL "__NOPROJECT__") AND NOT (project STREQUAL target_project_association))) + # Skip adding the gem dependencies to this target if it is associated with a project + # and the current project doesn't match + continue() endif() - - # if the target exists, add it. - if (TARGET ${gem_name_with_namespace}.${variant}) - ly_add_target_dependencies( - ${PREFIX_CLAUSE} - TARGETS ${target} - DEPENDENT_TARGETS ${gem_name_with_namespace}.${variant} - ) + + get_property(gem_dependencies GLOBAL PROPERTY LY_DELAYED_ENABLE_GEMS_"${project}") + if (NOT gem_dependencies) + get_property(gem_dependencies_defined GLOBAL PROPERTY LY_DELAYED_ENABLE_GEMS_"${project}" DEFINED) + if (gem_dependencies_defined) + # special case, if the LY_DELAYED_ENABLE_GEMS_"${project_target_variant}" property is DEFINED + # but empty, add an entry to the LY_DELAYED_LOAD_DEPENDENCIES to have the + # cmake_dependencies.*.setreg file for the (project, target) tuple to be regenerated + # This is needed if the ENABLED_GEMS list for a project goes from >0 to 0. In this case + # the cmake_dependencies would have a stale list of gems to load unless it is regenerated + get_property(delayed_load_target_set GLOBAL PROPERTY LY_DELAYED_LOAD_"${project},${target}" SET) + if(NOT delayed_load_target_set) + set_property(GLOBAL APPEND PROPERTY LY_DELAYED_LOAD_DEPENDENCIES "${project},${target}") + set_property(GLOBAL APPEND PROPERTY LY_DELAYED_LOAD_"${project},${target}" "") + endif() + endif() + # Continue to the next iteration loop regardless as there are no gem dependencies + continue() endif() + + # Gather the Gem variants associated with this target and iterate over them to combine them with the enabled + # gems for the each project + get_property(target_gem_variants GLOBAL PROPERTY LY_GEM_VARIANTS_"${target}") + foreach(variant ${target_gem_variants}) + ly_add_gem_dependencies_to_project_variants( + PROJECT_NAME ${project} + TARGET ${target} + VARIANT ${variant} + GEM_DEPENDENCIES ${gem_dependencies}) + endforeach() endforeach() endforeach() endfunction() diff --git a/cmake/Platform/Common/Install_common.cmake b/cmake/Platform/Common/Install_common.cmake index 0bd598f70e..5010760fad 100644 --- a/cmake/Platform/Common/Install_common.cmake +++ b/cmake/Platform/Common/Install_common.cmake @@ -138,16 +138,20 @@ function(ly_setup_target OUTPUT_CONFIGURED_TARGET ALIAS_TARGET_NAME absolute_tar string(REPLACE "_LIBRARY" "" TARGET_TYPE_PLACEHOLDER ${target_type}) # For HEADER_ONLY libs we end up generating "INTERFACE" libraries, need to specify HEADERONLY instead string(REPLACE "INTERFACE" "HEADERONLY" TARGET_TYPE_PLACEHOLDER ${TARGET_TYPE_PLACEHOLDER}) - if(TARGET_TYPE_PLACEHOLDER STREQUAL "MODULE") + # In non-monolithic mode, gem targets are MODULE libraries, In monolithic mode gem targets are STATIC libraries + set(GEM_LIBRARY_TYPES "MODULE" "STATIC") + if(TARGET_TYPE_PLACEHOLDER IN_LIST GEM_LIBRARY_TYPES) get_target_property(gem_module ${TARGET_NAME} GEM_MODULE) if(gem_module) set(TARGET_TYPE_PLACEHOLDER "GEM_MODULE") endif() endif() + string(REPEAT " " 12 PLACEHOLDER_INDENT) get_target_property(COMPILE_DEFINITIONS_PLACEHOLDER ${TARGET_NAME} INTERFACE_COMPILE_DEFINITIONS) if(COMPILE_DEFINITIONS_PLACEHOLDER) - string(REPLACE ";" "\n" COMPILE_DEFINITIONS_PLACEHOLDER "${COMPILE_DEFINITIONS_PLACEHOLDER}") + set(COMPILE_DEFINITIONS_PLACEHOLDER "${PLACEHOLDER_INDENT}${COMPILE_DEFINITIONS_PLACEHOLDER}") + list(JOIN COMPILE_DEFINITIONS_PLACEHOLDER "\n${PLACEHOLDER_INDENT}" COMPILE_DEFINITIONS_PLACEHOLDER) else() unset(COMPILE_DEFINITIONS_PLACEHOLDER) endif() @@ -159,25 +163,28 @@ function(ly_setup_target OUTPUT_CONFIGURED_TARGET ALIAS_TARGET_NAME absolute_tar if(include_genex_expr STREQUAL include) # only for cases where there are no generation expressions # Make the include path relative to the source dir where the target will be declared cmake_path(RELATIVE_PATH include BASE_DIRECTORY ${absolute_target_source_dir} OUTPUT_VARIABLE target_include) - string(APPEND INCLUDE_DIRECTORIES_PLACEHOLDER "${target_include}\n") + string(APPEND INCLUDE_DIRECTORIES_PLACEHOLDER "${PLACEHOLDER_INDENT}${target_include}\n") endif() endforeach() endif() + string(REPEAT " " 8 PLACEHOLDER_INDENT) get_target_property(RUNTIME_DEPENDENCIES_PLACEHOLDER ${TARGET_NAME} MANUALLY_ADDED_DEPENDENCIES) if(RUNTIME_DEPENDENCIES_PLACEHOLDER) # not found properties return the name of the variable with a "-NOTFOUND" at the end, here we set it to empty if not found - string(REPLACE ";" "\n" RUNTIME_DEPENDENCIES_PLACEHOLDER "${RUNTIME_DEPENDENCIES_PLACEHOLDER}") + set(RUNTIME_DEPENDENCIES_PLACEHOLDER "${PLACEHOLDER_INDENT}${RUNTIME_DEPENDENCIES_PLACEHOLDER}") + list(JOIN RUNTIME_DEPENDENCIES_PLACEHOLDER "\n${PLACEHOLDER_INDENT}" RUNTIME_DEPENDENCIES_PLACEHOLDER) else() unset(RUNTIME_DEPENDENCIES_PLACEHOLDER) endif() + string(REPEAT " " 12 PLACEHOLDER_INDENT) get_target_property(inteface_build_dependencies_props ${TARGET_NAME} INTERFACE_LINK_LIBRARIES) unset(INTERFACE_BUILD_DEPENDENCIES_PLACEHOLDER) if(inteface_build_dependencies_props) foreach(build_dependency ${inteface_build_dependencies_props}) # Skip wrapping produced when targets are not created in the same directory if(NOT ${build_dependency} MATCHES "^::@") - list(APPEND INTERFACE_BUILD_DEPENDENCIES_PLACEHOLDER "${build_dependency}") + list(APPEND INTERFACE_BUILD_DEPENDENCIES_PLACEHOLDER "${PLACEHOLDER_INDENT}${build_dependency}") endif() endforeach() endif() @@ -187,12 +194,19 @@ function(ly_setup_target OUTPUT_CONFIGURED_TARGET ALIAS_TARGET_NAME absolute_tar foreach(build_dependency ${private_build_dependencies_props}) # Skip wrapping produced when targets are not created in the same directory if(NOT ${build_dependency} MATCHES "^::@") - list(APPEND INTERFACE_BUILD_DEPENDENCIES_PLACEHOLDER "${build_dependency}") + list(APPEND INTERFACE_BUILD_DEPENDENCIES_PLACEHOLDER "${PLACEHOLDER_INDENT}${build_dependency}") endif() endforeach() endif() list(REMOVE_DUPLICATES INTERFACE_BUILD_DEPENDENCIES_PLACEHOLDER) - string(REPLACE ";" "\n" INTERFACE_BUILD_DEPENDENCIES_PLACEHOLDER "${INTERFACE_BUILD_DEPENDENCIES_PLACEHOLDER}") + list(JOIN INTERFACE_BUILD_DEPENDENCIES_PLACEHOLDER "\n" INTERFACE_BUILD_DEPENDENCIES_PLACEHOLDER) + + string(REPEAT " " 8 PLACEHOLDER_INDENT) + # If a target has an LY_PROJECT_NAME property, forward that property to new target + get_target_property(target_project_association ${TARGET_NAME} LY_PROJECT_NAME) + if(target_project_association) + list(APPEND TARGET_PROPERTIES_PLACEHOLDER "${PLACEHOLDER_INDENT}LY_PROJECT_NAME ${target_project_association}") + endif() # If the target is an executable/application, add a custom target so we can debug the target in project-centric workflow if(should_create_helper) @@ -288,44 +302,9 @@ function(ly_setup_subdirectory absolute_target_source_dir) string(APPEND all_configured_targets "${configured_target}") endforeach() - # Replicate the ly_create_alias() calls based on the SOURCE_DIR for each target that generates an installed CMakeLists.txt - string(JOIN "\n" create_alias_template - "if(NOT TARGET @ALIAS_NAME@)" - " ly_create_alias(NAME @ALIAS_NAME@ NAMESPACE @ALIAS_NAMESPACE@ TARGETS @ALIAS_TARGETS@)" - "endif()" - "" - ) - get_property(create_alias_commands_arg_list DIRECTORY ${absolute_target_source_dir} PROPERTY LY_CREATE_ALIAS_ARGUMENTS) - foreach(create_alias_single_command_arg_list ${create_alias_commands_arg_list}) - # Split the ly_create_alias arguments back out based on commas - string(REPLACE "," ";" create_alias_single_command_arg_list "${create_alias_single_command_arg_list}") - list(POP_FRONT create_alias_single_command_arg_list ALIAS_NAME) - list(POP_FRONT create_alias_single_command_arg_list ALIAS_NAMESPACE) - # The rest of the list are the target dependencies - set(ALIAS_TARGETS ${create_alias_single_command_arg_list}) - string(CONFIGURE "${create_alias_template}" create_alias_command @ONLY) - string(APPEND CREATE_ALIASES_PLACEHOLDER ${create_alias_command}) - endforeach() - - - # Reproduce the ly_enable_gems() calls made in the the SOURCE_DIR for this target into the CMakeLists.txt that - # is about to be generated - set(enable_gems_template "ly_enable_gems(@enable_gem_PROJECT_NAME@ @enable_gem_GEMS@ @enable_gem_GEM_FILE@ @enable_gem_VARIANTS@ @enable_gem_TARGETS@)\n") - get_property(enable_gems_commands_arg_list DIRECTORY ${absolute_target_source_dir} PROPERTY LY_ENABLE_GEMS_ARGUMENTS) - foreach(enable_gems_single_command_arg_list ${enable_gems_commands_arg_list}) - # Split the ly_enable_gems arguments back out based on commas - string(REPLACE "," ";" enable_gems_single_command_arg_list "${enable_gems_single_command_arg_list}") - foreach(enable_gem_arg_kw IN ITEMS PROJECT_NAME GEMS GEM_FILE VARIANTS TARGETS) - list(POP_FRONT enable_gems_single_command_arg_list enable_gem_${enable_gem_arg_kw}) - if(enable_gem_${enable_gem_arg_kw}) - # if the argument exist append to argument keyword to the front - string(PREPEND enable_gem_${enable_gem_arg_kw} "${enable_gem_arg_kw} ") - endif() - endforeach() - - string(CONFIGURE "${enable_gems_template}" enable_gems_command @ONLY) - string(APPEND ENABLE_GEMS_PLACEHOLDER ${enable_gems_command}) - endforeach() + ly_setup_subdirectory_create_alias("${absolute_target_source_dir}" CREATE_ALIASES_PLACEHOLDER) + ly_setup_subdirectory_set_gem_variant_to_load("${absolute_target_source_dir}" GEM_VARIANT_TO_LOAD_PLACEHOLDER) + ly_setup_subdirectory_enable_gems("${absolute_target_source_dir}" ENABLE_GEMS_PLACEHOLDER) ly_file_read(${LY_ROOT_FOLDER}/cmake/install/Copyright.in cmake_copyright_comment) @@ -337,6 +316,7 @@ function(ly_setup_subdirectory absolute_target_source_dir) "${all_configured_targets}" "\n" "${CREATE_ALIASES_PLACEHOLDER}" + "${GEM_VARIANT_TO_LOAD_PLACEHOLDER}" "${ENABLE_GEMS_PLACEHOLDER}" ) @@ -591,3 +571,58 @@ function(ly_setup_assets) endforeach() endfunction() + + +#! ly_setup_subdirectory_create_alias: Replicates the call to the `ly_create_alias` function +#! within the generated CMakeLists.txt in the same relative install layout directory +function(ly_setup_subdirectory_create_alias absolute_target_source_dir output_script) + # Replicate the create_alias() calls made in the SOURCE_DIR into the generated CMakeLists.txt + string(JOIN "\n" create_alias_template + "if(NOT TARGET @alias_name@)" + " ly_create_alias(@create_alias_args@)" + "endif()" + "") + + unset(${output_script} PARENT_SCOPE) + get_property(create_alias_args_list DIRECTORY ${absolute_target_source_dir} PROPERTY LY_CREATE_ALIAS_ARGUMENTS) + foreach(create_alias_args IN LISTS create_alias_args_list) + # Create a list out of the comma separated arguments and store it into the same variable + string(REPLACE "," ";" create_alias_args ${create_alias_args}) + # The first argument of the create alias argument list is the ALIAS NAME so pop it from the list + # It is used to protect against registering the same alias twice + list(POP_FRONT create_alias_args alias_name) + string(CONFIGURE "${create_alias_template}" create_alias_command @ONLY) + string(APPEND create_alias_calls ${create_alias_command}) + endforeach() + set(${output_script} ${create_alias_calls} PARENT_SCOPE) +endfunction() + +#! ly_setup_subdirectory_set_gem_variant_to_load: Replicates the call to the `ly_set_gem_variant_to_load` function +#! within the generated CMakeLists.txt in the same relative install layout directory +function(ly_setup_subdirectory_set_gem_variant_to_load absolute_target_source_dir output_script) + # Replicate the ly_set_gem_variant_to_load() calls made in the SOURCE_DIR for into the generated CMakeLists.txt + set(set_gem_variant_args_template "ly_set_gem_variant_to_load(@set_gem_variant_args@)\n") + + unset(${output_script} PARENT_SCOPE) + get_property(set_gem_variant_args_lists DIRECTORY ${absolute_target_source_dir} PROPERTY LY_SET_GEM_VARIANT_TO_LOAD_ARGUMENTS) + foreach(set_gem_variant_args IN LISTS set_gem_variant_args_lists) + string(CONFIGURE "${set_gem_variant_args_template}" set_gem_variant_to_load_command @ONLY) + string(APPEND set_gem_variant_calls ${set_gem_variant_to_load_command}) + endforeach() + set(${output_script} ${set_gem_variant_calls} PARENT_SCOPE) +endfunction() + +#! ly_setup_subdirectory_enable_gems: Replicates the call to the `ly_enable_gems` function +#! within the generated CMakeLists.txt in the same relative install layout directory +function(ly_setup_subdirectory_enable_gems absolute_target_source_dir output_script) + # Replicate the ly_set_gem_variant_to_load() calls made in the SOURCE_DIR into the generated CMakeLists.txt + set(enable_gems_template "ly_enable_gems(@enable_gems_args@)\n") + + unset(${output_script} PARENT_SCOPE) + get_property(enable_gems_args_list DIRECTORY ${absolute_target_source_dir} PROPERTY LY_ENABLE_GEMS_ARGUMENTS) + foreach(enable_gems_args IN LISTS enable_gems_args_list) + string(CONFIGURE "${enable_gems_template}" enable_gems_command @ONLY) + string(APPEND enable_gems_calls ${enable_gems_command}) + endforeach() + set(${output_script} ${enable_gems_calls} PARENT_SCOPE) +endfunction() \ No newline at end of file diff --git a/cmake/Projects.cmake b/cmake/Projects.cmake index 3f8c4ffc41..6e5b5c5f78 100644 --- a/cmake/Projects.cmake +++ b/cmake/Projects.cmake @@ -53,7 +53,7 @@ function(ly_add_target_dependencies) # Append the DEPENDENT_TARGETS to the list of ALL_GEM_DEPENDENCIES list(APPEND ALL_GEM_DEPENDENCIES ${ly_add_gem_dependencies_DEPENDENT_TARGETS}) - # for each target, add the dependencies and generate gems json + # for each target, add the dependencies and generate setreg json with the list of gems to load foreach(target ${ly_add_gem_dependencies_TARGETS}) ly_add_dependencies(${target} ${ALL_GEM_DEPENDENCIES}) @@ -69,39 +69,6 @@ function(ly_add_target_dependencies) endforeach() endfunction() -#! ly_add_project_dependencies: adds the dependencies to runtime and tools for this project. -# -# Each project may have dependencies to gems. To properly define these dependencies, we are making the project to define -# through a "files list" cmake file the dependencies to the different targets. -# So for example, the game's runtime dependencies are associated to the project's launcher; the game's tools dependencies -# are associated to the asset processor; etc -# -# \arg:PROJECT_NAME name of the game project -# \arg:TARGETS names of the targets to associate the dependencies to -# \arg:DEPENDENCIES_FILES file(s) that contains the runtime dependencies the TARGETS will be associated to -# \arg:DEPENDENT_TARGETS additional list of targets should be added as load-time dependencies for the TARGETS list -# -function(ly_add_project_dependencies) - - set(options) - set(oneValueArgs PROJECT_NAME) - set(multiValueArgs TARGETS DEPENDENCIES_FILES DEPENDENT_TARGETS) - - cmake_parse_arguments(ly_add_project_dependencies "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) - - # Validate input arguments - if(NOT ly_add_project_dependencies_PROJECT_NAME) - message(FATAL_ERROR "PROJECT_NAME parameter missing. If not project name is needed, then call ly_add_target_dependencies directly") - endif() - - ly_add_target_dependencies( - PREFIX ${ly_add_project_dependencies_PROJECT_NAME} - TARGETS ${ly_add_project_dependencies_TARGETS} - DEPENDENCIES_FILES ${ly_add_project_dependencies_DEPENDENCIES_FILES} - DEPENDENT_TARGETS ${ly_add_project_dependencies_DEPENDENT_TARGETS} - ) -endfunction() - #template for generating the project build_path setreg set(project_build_path_template [[ diff --git a/cmake/SettingsRegistry.cmake b/cmake/SettingsRegistry.cmake index ebf2254dc6..58beba089c 100644 --- a/cmake/SettingsRegistry.cmake +++ b/cmake/SettingsRegistry.cmake @@ -28,7 +28,7 @@ set(gems_json_template [[ string(APPEND gem_module_template [=[ "@stripped_gem_target@":]=] "\n" [=[ {]=] "\n" -[=[$<$,INTERFACE_LIBRARY>>: "Modules":["$"]]=] "$\n>" +[=[$<$,MODULE_LIBRARY$SHARED_LIBRARY>: "Modules":["$"]]=] "$\n>" [=[ "SourcePaths":["@gem_module_root_relative_to_engine_root@"]]=] "\n" [=[ }]=] ) @@ -87,7 +87,7 @@ endfunction() # # \arg:gem_target(TARGET) - Target to look upwards from using its SOURCE_DIR property function(ly_get_gem_module_root output_gem_module_root gem_target) - unset(gem_module_roots) + unset(${output_gem_module_root} PARENT_SCOPE) get_property(gem_source_dir TARGET ${gem_target} PROPERTY SOURCE_DIR) if(gem_source_dir) @@ -96,8 +96,8 @@ function(ly_get_gem_module_root output_gem_module_root gem_target) while(NOT EXISTS ${candidate_gem_dir}/gem.json) get_filename_component(parent_dir ${candidate_gem_dir} DIRECTORY) if (${parent_dir} STREQUAL ${candidate_gem_dir}) - message(WARNING "Did not find a gem.json while processing GEM_MODULE target ${gem_target}!") - break() + # "Did not find a gem.json while processing GEM_MODULE target ${gem_target}!" + return() endif() set(candidate_gem_dir ${parent_dir}) endwhile() @@ -160,11 +160,15 @@ function(ly_delayed_generate_settings_registry) endif() ly_get_gem_module_root(gem_module_root ${gem_target}) + if (NOT gem_module_root) + # If the target doesn't have a gem.json, skip it + continue() + endif() file(RELATIVE_PATH gem_module_root_relative_to_engine_root ${LY_ROOT_FOLDER} ${gem_module_root}) # De-alias namespace from gem targets before configuring them into the json template ly_de_alias_target(${gem_target} stripped_gem_target) - string(CONFIGURE ${gem_module_template} gem_module_json @ONLY) + string(CONFIGURE "${gem_module_template}" gem_module_json @ONLY) list(APPEND target_gem_dependencies_names ${gem_module_json}) endforeach() @@ -177,7 +181,8 @@ function(ly_delayed_generate_settings_registry) string(CONFIGURE ${gems_json_template} gem_json @ONLY) get_target_property(is_imported ${target} IMPORTED) get_target_property(target_type ${target} TYPE) - if(is_imported OR target_type STREQUAL UTILITY) + set(non_loadable_types "UTILITY" "INTERFACE_LIBRARY" "STATIC_LIBRARY") + if(is_imported OR (target_type IN_LIST non_loadable_types)) unset(target_dir) foreach(conf IN LISTS CMAKE_CONFIGURATION_TYPES) string(TOUPPER ${conf} UCONF) diff --git a/cmake/install/InstalledTarget.in b/cmake/install/InstalledTarget.in index a4f4fa4763..2095211bb2 100644 --- a/cmake/install/InstalledTarget.in +++ b/cmake/install/InstalledTarget.in @@ -15,6 +15,8 @@ ly_add_target( @INTERFACE_BUILD_DEPENDENCIES_PLACEHOLDER@ RUNTIME_DEPENDENCIES @RUNTIME_DEPENDENCIES_PLACEHOLDER@ + TARGET_PROPERTIES +@TARGET_PROPERTIES_PLACEHOLDER@ ) @TARGET_RUN_HELPER@ From eae08c4b5449a7a4933648a8e9d49b582cba23e6 Mon Sep 17 00:00:00 2001 From: SJ Date: Wed, 1 Sep 2021 09:03:21 -0700 Subject: [PATCH 48/66] [Mac] Fix crash in Editor and AssetProcessor. (#3786) Signed-off-by: amzn-sj --- Code/Editor/Platform/Mac/main_dummy.cpp | 2 +- Code/Tools/AssetProcessor/Platform/Mac/main_dummy.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Code/Editor/Platform/Mac/main_dummy.cpp b/Code/Editor/Platform/Mac/main_dummy.cpp index 814cbfde66..348a32ab47 100644 --- a/Code/Editor/Platform/Mac/main_dummy.cpp +++ b/Code/Editor/Platform/Mac/main_dummy.cpp @@ -66,7 +66,7 @@ int main(int argc, char* argv[]) processLaunchInfo.m_environmentVariables = &envVars; processLaunchInfo.m_showWindow = true; - AZStd::unique_ptr processWatcher(AzFramework::ProcessWatcher::LaunchProcess(processLaunchInfo, AzFramework::ProcessCommunicationType::COMMUNICATOR_TYPE_NONE)); + AzFramework::ProcessLauncher::LaunchUnwatchedProcess(processLaunchInfo); application.Destroy(); diff --git a/Code/Tools/AssetProcessor/Platform/Mac/main_dummy.cpp b/Code/Tools/AssetProcessor/Platform/Mac/main_dummy.cpp index e624b40787..3eed37e555 100644 --- a/Code/Tools/AssetProcessor/Platform/Mac/main_dummy.cpp +++ b/Code/Tools/AssetProcessor/Platform/Mac/main_dummy.cpp @@ -66,7 +66,7 @@ int main(int argc, char* argv[]) processLaunchInfo.m_environmentVariables = &envVars; processLaunchInfo.m_showWindow = true; - AZStd::unique_ptr processWatcher(AzFramework::ProcessWatcher::LaunchProcess(processLaunchInfo, AzFramework::ProcessCommunicationType::COMMUNICATOR_TYPE_NONE)); + AzFramework::ProcessLauncher::LaunchUnwatchedProcess(processLaunchInfo); application.Destroy(); From 043a2c65ffee32a8e6151fffdc6ab52e7d67555c Mon Sep 17 00:00:00 2001 From: Nicholas Lawson <70027408+lawsonamzn@users.noreply.github.com> Date: Wed, 1 Sep 2021 09:04:20 -0700 Subject: [PATCH 49/66] Updates zlib to rev2 of the package, static only (#3725) The previous version of the package was dynamic on some platforms, and static on others. This makes it static across the board and also makes it compatible with other 3p libraries wanting to use zlib. Signed-off-by: lawsonamzn <70027408+lawsonamzn@users.noreply.github.com> --- cmake/3rdParty/Platform/Android/BuiltInPackages_android.cmake | 2 +- cmake/3rdParty/Platform/Linux/BuiltInPackages_linux.cmake | 2 +- cmake/3rdParty/Platform/Mac/BuiltInPackages_mac.cmake | 2 +- cmake/3rdParty/Platform/Windows/BuiltInPackages_windows.cmake | 2 +- cmake/3rdParty/Platform/iOS/BuiltInPackages_ios.cmake | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/cmake/3rdParty/Platform/Android/BuiltInPackages_android.cmake b/cmake/3rdParty/Platform/Android/BuiltInPackages_android.cmake index a65e8b45e4..cbdca10af9 100644 --- a/cmake/3rdParty/Platform/Android/BuiltInPackages_android.cmake +++ b/cmake/3rdParty/Platform/Android/BuiltInPackages_android.cmake @@ -27,4 +27,4 @@ ly_associate_package(PACKAGE_NAME googletest-1.8.1-rev4-android TARGETS goo ly_associate_package(PACKAGE_NAME googlebenchmark-1.5.0-rev2-android TARGETS GoogleBenchmark PACKAGE_HASH 20b46e572211a69d7d94ddad1c89ec37bb958711d6ad4025368ac89ea83078fb) ly_associate_package(PACKAGE_NAME libsamplerate-0.2.1-rev2-android TARGETS libsamplerate PACKAGE_HASH bf13662afe65d02bcfa16258a4caa9b875534978227d6f9f36c9cfa92b3fb12b) ly_associate_package(PACKAGE_NAME OpenSSL-1.1.1b-rev1-android TARGETS OpenSSL PACKAGE_HASH 4036d4019d722f0e1b7a1621bf60b5a17ca6a65c9c78fd8701cee1131eec8480) -ly_associate_package(PACKAGE_NAME zlib-1.2.11-rev1-android TARGETS zlib PACKAGE_HASH 832b163cae0cccbe4fddc5988f5725fac56ef7dba5bfe95bf8c71281fba2e12c) +ly_associate_package(PACKAGE_NAME zlib-1.2.11-rev2-android TARGETS zlib PACKAGE_HASH 85b730b97176772538cfcacd6b6aaf4655fc2d368d134d6dd55e02f28f183826) diff --git a/cmake/3rdParty/Platform/Linux/BuiltInPackages_linux.cmake b/cmake/3rdParty/Platform/Linux/BuiltInPackages_linux.cmake index ba63ef5d64..0cbb799304 100644 --- a/cmake/3rdParty/Platform/Linux/BuiltInPackages_linux.cmake +++ b/cmake/3rdParty/Platform/Linux/BuiltInPackages_linux.cmake @@ -43,7 +43,7 @@ ly_associate_package(PACKAGE_NAME OpenSSL-1.1.1b-rev2-linux ly_associate_package(PACKAGE_NAME DirectXShaderCompilerDxc-1.6.2104-o3de-rev3-linux TARGETS DirectXShaderCompilerDxc PACKAGE_HASH 88c4a359325d749bc34090b9ac466424847f3b71ba0de15045cf355c17c07099) ly_associate_package(PACKAGE_NAME SPIRVCross-2021.04.29-rev1-linux TARGETS SPIRVCross PACKAGE_HASH 7889ee5460a688e9b910c0168b31445c0079d363affa07b25d4c8aeb608a0b80) ly_associate_package(PACKAGE_NAME azslc-1.7.23-rev2-linux TARGETS azslc PACKAGE_HASH 1ba84d8321a566d35a1e9aa7400211ba8e6d1c11c08e4be3c93e6e74b8f7aef1) -ly_associate_package(PACKAGE_NAME zlib-1.2.11-rev1-linux TARGETS zlib PACKAGE_HASH 6418e93b9f4e6188f3b62cbd3a7822e1c4398a716e786d1522b809a727d08ba9) +ly_associate_package(PACKAGE_NAME zlib-1.2.11-rev2-linux TARGETS zlib PACKAGE_HASH 16f3b9e11cda525efb62144f354c1cfc30a5def9eff020dbe49cb00ee7d8234f) ly_associate_package(PACKAGE_NAME squish-ccr-deb557d-rev1-linux TARGETS squish-ccr PACKAGE_HASH 85fecafbddc6a41a27c5f59ed4a5dfb123a94cb4666782cf26e63c0a4724c530) ly_associate_package(PACKAGE_NAME ISPCTexComp-36b80aa-rev1-linux TARGETS ISPCTexComp PACKAGE_HASH 065fd12abe4247dde247330313763cf816c3375c221da030bdec35024947f259) diff --git a/cmake/3rdParty/Platform/Mac/BuiltInPackages_mac.cmake b/cmake/3rdParty/Platform/Mac/BuiltInPackages_mac.cmake index be89612c1b..e18bb07772 100644 --- a/cmake/3rdParty/Platform/Mac/BuiltInPackages_mac.cmake +++ b/cmake/3rdParty/Platform/Mac/BuiltInPackages_mac.cmake @@ -41,7 +41,7 @@ ly_associate_package(PACKAGE_NAME googlebenchmark-1.5.0-rev2-mac ly_associate_package(PACKAGE_NAME OpenSSL-1.1.1b-rev1-mac TARGETS OpenSSL PACKAGE_HASH 28adc1c0616ac0482b2a9d7b4a3a3635a1020e87b163f8aba687c501cf35f96c) ly_associate_package(PACKAGE_NAME qt-5.15.2-rev5-mac TARGETS Qt PACKAGE_HASH 9d25918351898b308ded3e9e571fff6f26311b2071aeafd00dd5b249fdf53f7e) ly_associate_package(PACKAGE_NAME libsamplerate-0.2.1-rev2-mac TARGETS libsamplerate PACKAGE_HASH b912af40c0ac197af9c43d85004395ba92a6a859a24b7eacd920fed5854a97fe) -ly_associate_package(PACKAGE_NAME zlib-1.2.11-rev1-mac TARGETS zlib PACKAGE_HASH 7fd8a77b3598423d9d6be5f8c60d52aecf346ab4224f563a5282db283aa0da02) +ly_associate_package(PACKAGE_NAME zlib-1.2.11-rev2-mac TARGETS zlib PACKAGE_HASH 21714e8a6de4f2523ee92a7f52d51fbee29c5f37ced334e00dc3c029115b472e) ly_associate_package(PACKAGE_NAME squish-ccr-deb557d-rev1-mac TARGETS squish-ccr PACKAGE_HASH 155bfbfa17c19a9cd2ef025de14c5db598f4290045d5b0d83ab58cb345089a77) ly_associate_package(PACKAGE_NAME ISPCTexComp-36b80aa-rev1-mac TARGETS ISPCTexComp PACKAGE_HASH 8a4e93277b8face6ea2fd57c6d017bdb55643ed3d6387110bc5f6b3b884dd169) diff --git a/cmake/3rdParty/Platform/Windows/BuiltInPackages_windows.cmake b/cmake/3rdParty/Platform/Windows/BuiltInPackages_windows.cmake index 10b56f90d9..305d1291e7 100644 --- a/cmake/3rdParty/Platform/Windows/BuiltInPackages_windows.cmake +++ b/cmake/3rdParty/Platform/Windows/BuiltInPackages_windows.cmake @@ -48,6 +48,6 @@ ly_associate_package(PACKAGE_NAME OpenMesh-8.1-rev1-windows ly_associate_package(PACKAGE_NAME civetweb-1.8-rev1-windows TARGETS civetweb PACKAGE_HASH 36d0e58a59bcdb4dd70493fb1b177aa0354c945b06c30416348fd326cf323dd4) ly_associate_package(PACKAGE_NAME OpenSSL-1.1.1b-rev2-windows TARGETS OpenSSL PACKAGE_HASH 9af1c50343f89146b4053101a7aeb20513319a3fe2f007e356d7ce25f9241040) ly_associate_package(PACKAGE_NAME Crashpad-0.8.0-rev1-windows TARGETS Crashpad PACKAGE_HASH d162aa3070147bc0130a44caab02c5fe58606910252caf7f90472bd48d4e31e2) -ly_associate_package(PACKAGE_NAME zlib-1.2.11-rev1-windows TARGETS zlib PACKAGE_HASH 6fb46a0ef8c8614cde3517b50fca47f2a6d1fd059b21f3b8ff13e635ca7f2fa6) +ly_associate_package(PACKAGE_NAME zlib-1.2.11-rev2-windows TARGETS zlib PACKAGE_HASH 9afab1d67641ed8bef2fb38fc53942da47f2ab339d9e77d3d20704a48af2da0b) ly_associate_package(PACKAGE_NAME squish-ccr-deb557d-rev1-windows TARGETS squish-ccr PACKAGE_HASH 5c3d9fa491e488ccaf802304ad23b932268a2b2846e383f088779962af2bfa84) ly_associate_package(PACKAGE_NAME ISPCTexComp-36b80aa-rev1-windows TARGETS ISPCTexComp PACKAGE_HASH b6fa6ea28a2808a9a5524c72c37789c525925e435770f2d94eb2d387360fa2d0) diff --git a/cmake/3rdParty/Platform/iOS/BuiltInPackages_ios.cmake b/cmake/3rdParty/Platform/iOS/BuiltInPackages_ios.cmake index c288460dd0..0574f38654 100644 --- a/cmake/3rdParty/Platform/iOS/BuiltInPackages_ios.cmake +++ b/cmake/3rdParty/Platform/iOS/BuiltInPackages_ios.cmake @@ -28,4 +28,4 @@ ly_associate_package(PACKAGE_NAME googletest-1.8.1-rev4-ios TARGETS googlet ly_associate_package(PACKAGE_NAME googlebenchmark-1.5.0-rev2-ios TARGETS GoogleBenchmark PACKAGE_HASH c2ffaed2b658892b1bcf81dee4b44cd1cb09fc78d55584ef5cb8ab87f2d8d1ae) ly_associate_package(PACKAGE_NAME libsamplerate-0.2.1-rev2-ios TARGETS libsamplerate PACKAGE_HASH 7656b961697f490d4f9c35d2e61559f6fc38c32102e542a33c212cd618fc2119) ly_associate_package(PACKAGE_NAME OpenSSL-1.1.1b-rev1-ios TARGETS OpenSSL PACKAGE_HASH cd0dfce3086a7172777c63dadbaf0ac3695b676119ecb6d0614b5fb1da03462f) -ly_associate_package(PACKAGE_NAME zlib-1.2.11-rev1-ios TARGETS zlib PACKAGE_HASH 20bfccf3b98bd9a7d3506cf344ac48135035eb517752bf9bede1e821f163608d) +ly_associate_package(PACKAGE_NAME zlib-1.2.11-rev2-ios TARGETS zlib PACKAGE_HASH a59fc0f83a02c616b679799310e9d86fde84514c6d2acefa12c6def0ae4a880c) From b9c0b2a5f7226868cd15f8294999c0be022a23db Mon Sep 17 00:00:00 2001 From: Qing Tao <55564570+VickyAtAZ@users.noreply.github.com> Date: Wed, 1 Sep 2021 09:06:06 -0700 Subject: [PATCH 50/66] Fixed a crash issue with RHI::Fence when trying to capture screenshot which null renderer is used. (#3802) ATOM-16292, ATOM-16243, ATOM-15493 Signed-off-by: qingtao --- .../Atom/Feature/Utils/FrameCaptureBus.h | 5 +++ .../Source/FrameCaptureSystemComponent.cpp | 27 +++++++++++++ .../Code/Source/FrameCaptureSystemComponent.h | 1 + Gems/Atom/RHI/Null/Code/Source/RHI/Fence.cpp | 20 ++++++++++ Gems/Atom/RHI/Null/Code/Source/RHI/Fence.h | 40 +++++++++++++++++++ .../Null/Code/Source/RHI/SystemComponent.cpp | 3 +- .../atom_rhi_null_private_common_files.cmake | 2 + .../RPI.Public/Pass/AttachmentReadback.cpp | 6 +++ 8 files changed, 103 insertions(+), 1 deletion(-) create mode 100644 Gems/Atom/RHI/Null/Code/Source/RHI/Fence.cpp create mode 100644 Gems/Atom/RHI/Null/Code/Source/RHI/Fence.h diff --git a/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/Utils/FrameCaptureBus.h b/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/Utils/FrameCaptureBus.h index 919d1b7468..93600ec08f 100644 --- a/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/Utils/FrameCaptureBus.h +++ b/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/Utils/FrameCaptureBus.h @@ -31,6 +31,11 @@ namespace AZ { public: virtual ~FrameCaptureRequests() = default; + + //! Return true if frame capture is available. + //! It may return false if null renderer is used. + //! If the frame capture is not available, all capture functions in this interface would return false + virtual bool CanCapture() const = 0; //! Capture final screen output for the specified window and save it to given file path. //! The image format is determinate by file extension diff --git a/Gems/Atom/Feature/Common/Code/Source/FrameCaptureSystemComponent.cpp b/Gems/Atom/Feature/Common/Code/Source/FrameCaptureSystemComponent.cpp index 7374fdaf71..9f6d2a343d 100644 --- a/Gems/Atom/Feature/Common/Code/Source/FrameCaptureSystemComponent.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/FrameCaptureSystemComponent.cpp @@ -8,6 +8,8 @@ #include "FrameCaptureSystemComponent.h" +#include + #include #include #include @@ -254,8 +256,18 @@ namespace AZ return AZStd::string(resolvedPath); } + bool FrameCaptureSystemComponent::CanCapture() const + { + return !AZ::RHI::IsNullRenderer(); + } + bool FrameCaptureSystemComponent::CaptureScreenshotForWindow(const AZStd::string& filePath, AzFramework::NativeWindowHandle windowHandle) { + if (!CanCapture()) + { + return false; + } + InitReadback(); if (m_state != State::Idle) @@ -301,6 +313,11 @@ namespace AZ bool FrameCaptureSystemComponent::CaptureScreenshotWithPreview(const AZStd::string& outputFilePath) { + if (!CanCapture()) + { + return false; + } + InitReadback(); if (m_state != State::Idle) @@ -350,6 +367,11 @@ namespace AZ bool FrameCaptureSystemComponent::CapturePassAttachment(const AZStd::vector& passHierarchy, const AZStd::string& slot, const AZStd::string& outputFilePath, RPI::PassAttachmentReadbackOption option) { + if (!CanCapture()) + { + return false; + } + InitReadback(); if (m_state != State::Idle) @@ -396,6 +418,11 @@ namespace AZ bool FrameCaptureSystemComponent::CapturePassAttachmentWithCallback(const AZStd::vector& passHierarchy, const AZStd::string& slotName , RPI::AttachmentReadback::CallbackFunction callback, RPI::PassAttachmentReadbackOption option) { + if (!CanCapture()) + { + return false; + } + bool result = CapturePassAttachment(passHierarchy, slotName, "", option); // Append state change to user provided call back diff --git a/Gems/Atom/Feature/Common/Code/Source/FrameCaptureSystemComponent.h b/Gems/Atom/Feature/Common/Code/Source/FrameCaptureSystemComponent.h index 5dbaa5dee6..20e233ce62 100644 --- a/Gems/Atom/Feature/Common/Code/Source/FrameCaptureSystemComponent.h +++ b/Gems/Atom/Feature/Common/Code/Source/FrameCaptureSystemComponent.h @@ -34,6 +34,7 @@ namespace AZ void Deactivate() override; // FrameCaptureRequestBus overrides ... + bool CanCapture() const override; bool CaptureScreenshot(const AZStd::string& filePath) override; bool CaptureScreenshotForWindow(const AZStd::string& filePath, AzFramework::NativeWindowHandle windowHandle) override; bool CaptureScreenshotWithPreview(const AZStd::string& outputFilePath) override; diff --git a/Gems/Atom/RHI/Null/Code/Source/RHI/Fence.cpp b/Gems/Atom/RHI/Null/Code/Source/RHI/Fence.cpp new file mode 100644 index 0000000000..dc3743c101 --- /dev/null +++ b/Gems/Atom/RHI/Null/Code/Source/RHI/Fence.cpp @@ -0,0 +1,20 @@ +/* + * Copyright (c) Contributors to the Open 3D Engine Project. + * For complete copyright and license terms please see the LICENSE at the root of this distribution. + * + * SPDX-License-Identifier: Apache-2.0 OR MIT + * + */ +#include + + +namespace AZ +{ + namespace Null + { + RHI::Ptr Fence::Create() + { + return aznew Fence(); + } + } +} diff --git a/Gems/Atom/RHI/Null/Code/Source/RHI/Fence.h b/Gems/Atom/RHI/Null/Code/Source/RHI/Fence.h new file mode 100644 index 0000000000..fb64727362 --- /dev/null +++ b/Gems/Atom/RHI/Null/Code/Source/RHI/Fence.h @@ -0,0 +1,40 @@ +/* + * Copyright (c) Contributors to the Open 3D Engine Project. + * For complete copyright and license terms please see the LICENSE at the root of this distribution. + * + * SPDX-License-Identifier: Apache-2.0 OR MIT + * + */ +#pragma once + +#include + +namespace AZ +{ + namespace Null + { + class Fence + : public RHI::Fence + { + using Base = RHI::Fence; + public: + AZ_RTTI(Fence, "{34908F40-A7DE-4EE8-A871-71ACE0C24972}", Base); + AZ_CLASS_ALLOCATOR(Fence, AZ::SystemAllocator, 0); + + static RHI::Ptr Create(); + + private: + Fence() = default; + + ////////////////////////////////////////////////////////////////////////// + // RHI::Fence + RHI::ResultCode InitInternal([[maybe_unused]] RHI::Device& device, [[maybe_unused]] RHI::FenceState initialState) override { return RHI::ResultCode::Success;} + void ShutdownInternal() override {} + void SignalOnCpuInternal() override {} + void WaitOnCpuInternal() const override {} + void ResetInternal() override {} + RHI::FenceState GetFenceStateInternal() const override { return RHI::FenceState::Signaled;}; + ////////////////////////////////////////////////////////////////////////// + }; + } +} diff --git a/Gems/Atom/RHI/Null/Code/Source/RHI/SystemComponent.cpp b/Gems/Atom/RHI/Null/Code/Source/RHI/SystemComponent.cpp index d72de7996e..091084b097 100644 --- a/Gems/Atom/RHI/Null/Code/Source/RHI/SystemComponent.cpp +++ b/Gems/Atom/RHI/Null/Code/Source/RHI/SystemComponent.cpp @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include @@ -99,7 +100,7 @@ namespace AZ RHI::Ptr SystemComponent::CreateFence() { - return nullptr; + return Fence::Create(); } RHI::Ptr SystemComponent::CreateBuffer() diff --git a/Gems/Atom/RHI/Null/Code/atom_rhi_null_private_common_files.cmake b/Gems/Atom/RHI/Null/Code/atom_rhi_null_private_common_files.cmake index 13e16be77b..ad57002dd3 100644 --- a/Gems/Atom/RHI/Null/Code/atom_rhi_null_private_common_files.cmake +++ b/Gems/Atom/RHI/Null/Code/atom_rhi_null_private_common_files.cmake @@ -21,6 +21,8 @@ set(FILES Source/RHI/CommandQueue.h Source/RHI/Device.cpp Source/RHI/Device.h + Source/RHI/Fence.cpp + Source/RHI/Fence.h Source/RHI/FrameGraphCompiler.cpp Source/RHI/FrameGraphCompiler.h Source/RHI/FrameGraphExecuter.cpp diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/AttachmentReadback.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/AttachmentReadback.cpp index 319cf85fe5..146c37fe1b 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/AttachmentReadback.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/AttachmentReadback.cpp @@ -21,6 +21,7 @@ #include #include #include +#include #include #include @@ -175,6 +176,11 @@ namespace AZ bool AttachmentReadback::ReadPassAttachment(const PassAttachment* attachment, const AZ::Name& readbackName) { + if (AZ::RHI::IsNullRenderer()) + { + return false; + } + if (!IsReady()) { AZ_Assert(false, "AttachmentReadback is not ready to readback an attachment"); From 82659f24e9e840d20f52402d20b597c8fffcf6ae Mon Sep 17 00:00:00 2001 From: bosnichd Date: Wed, 1 Sep 2021 10:24:29 -0600 Subject: [PATCH 51/66] Add support for a custom path root separator using a trait. (#3678) * - Add support for a custom path root separator using a trait. - Ensure to set both FilePathKey_ProjectUserPath and FilePathKey_ProjectLogPath to a writeable storage location on non-host platforms. Signed-off-by: bosnichd * Remove az_trait_validator.py, as our PAL guidance no longer dictates that all traits must be defined for all platforms. Signed-off-by: bosnichd * Updated based on review feedback. Signed-off-by: bosnichd --- Code/Framework/AzCore/AzCore/IO/Path/Path.inl | 31 +++++-- .../Settings/SettingsRegistryMergeUtils.cpp | 11 ++- .../validators/test_az_trait_validator.py | 92 ------------------- .../validators/az_trait_validator.py | 57 ------------ 4 files changed, 32 insertions(+), 159 deletions(-) delete mode 100755 scripts/commit_validation/commit_validation/tests/validators/test_az_trait_validator.py delete mode 100755 scripts/commit_validation/commit_validation/validators/az_trait_validator.py diff --git a/Code/Framework/AzCore/AzCore/IO/Path/Path.inl b/Code/Framework/AzCore/AzCore/IO/Path/Path.inl index 309a4fa050..6354324136 100644 --- a/Code/Framework/AzCore/AzCore/IO/Path/Path.inl +++ b/Code/Framework/AzCore/AzCore/IO/Path/Path.inl @@ -11,6 +11,7 @@ #include #include #include +#include // extern instantiations of Path templates to prevent implicit instantiations namespace AZ::IO @@ -92,11 +93,23 @@ namespace AZ::IO::Internal constexpr auto ConsumeRootName(InputIt entryBeginIter, InputIt entryEndIter, const char preferredSeparator) -> AZStd::enable_if_t, InputIt> { - if (preferredSeparator == '/') + if (preferredSeparator == PosixPathSeparator) { // If the preferred separator is forward slash the parser is in posix path - // parsing mode, which doesn't have a root name + // parsing mode, which doesn't have a root name, + // unless we're on a posix platform that uses a custom path root separator + #if defined(AZ_TRAIT_CUSTOM_PATH_ROOT_SEPARATOR) + const AZStd::string_view path{ entryBeginIter, entryEndIter }; + const auto positionOfPathSeparator = path.find(AZ_TRAIT_CUSTOM_PATH_ROOT_SEPARATOR); + if (positionOfPathSeparator == AZStd::string_view::npos) + { + return entryBeginIter; + } + const AZStd::string_view rootName{ path.substr(0, positionOfPathSeparator + 1) }; + return AZStd::next(entryBeginIter, rootName.size()); + #else return entryBeginIter; + #endif } else { @@ -185,13 +198,18 @@ namespace AZ::IO::Internal template >> static constexpr bool IsAbsolute(InputIt first, EndIt last, const char preferredSeparator) { - size_t pathSize = AZStd::distance(first, last); - // If the preferred separator is a forward slash - // than an absolute path is simply one that starts with a forward slash - if (preferredSeparator == '/') + // than an absolute path is simply one that starts with a forward slash, + // unless we're on a posix platform that uses a custom path root separator + if (preferredSeparator == PosixPathSeparator) { + #if defined(AZ_TRAIT_CUSTOM_PATH_ROOT_SEPARATOR) + const AZStd::string_view path{ first, last }; + return path.find(AZ_TRAIT_CUSTOM_PATH_ROOT_SEPARATOR) != AZStd::string_view::npos; + #else + const size_t pathSize = AZStd::distance(first, last); return pathSize > 0 && IsSeparator(*first); + #endif } else { @@ -199,6 +217,7 @@ namespace AZ::IO::Internal { // If a windows path ends starts with C:foo it is a root relative path // A path is absolute root absolute on windows if it starts with + const size_t pathSize = AZStd::distance(first, last); return pathSize > 2 && Internal::IsSeparator(*AZStd::next(first, 2)); } diff --git a/Code/Framework/AzCore/AzCore/Settings/SettingsRegistryMergeUtils.cpp b/Code/Framework/AzCore/AzCore/Settings/SettingsRegistryMergeUtils.cpp index 6b89b8c044..0ca354ac95 100644 --- a/Code/Framework/AzCore/AzCore/Settings/SettingsRegistryMergeUtils.cpp +++ b/Code/Framework/AzCore/AzCore/Settings/SettingsRegistryMergeUtils.cpp @@ -550,7 +550,7 @@ namespace AZ::SettingsRegistryMergeUtils } registry.Set(FilePathKey_ProjectUserPath, projectUserPath.Native()); - // Set the user directory with the provided path or using project/user as default + // Set the log directory with the provided path or using project/user/log as default auto projectLogPathKey = FixedValueString::format("%s/project_log_path", BootstrapSettingsRootKey); AZ::IO::FixedMaxPath projectLogPath; if (!registry.Get(projectLogPath.Native(), projectLogPathKey)) @@ -640,7 +640,7 @@ namespace AZ::SettingsRegistryMergeUtils } #if !AZ_TRAIT_OS_IS_HOST_OS_PLATFORM - // Setup the cache and user paths when to platform specific locations when running on non-host platforms + // Setup the cache, user, and log paths to platform specific locations when running on non-host platforms path = engineRoot; if (AZStd::optional nonHostCacheRoot = Utils::GetDefaultAppRootPath(); nonHostCacheRoot) @@ -656,13 +656,16 @@ namespace AZ::SettingsRegistryMergeUtils if (AZStd::optional devWriteStorage = Utils::GetDevWriteStoragePath(); devWriteStorage) { - registry.Set(FilePathKey_DevWriteStorage, *devWriteStorage); - registry.Set(FilePathKey_ProjectUserPath, *devWriteStorage); + const AZ::IO::FixedMaxPath devWriteStoragePath(*devWriteStorage); + registry.Set(FilePathKey_DevWriteStorage, devWriteStoragePath.LexicallyNormal().Native()); + registry.Set(FilePathKey_ProjectUserPath, (devWriteStoragePath / "user").LexicallyNormal().Native()); + registry.Set(FilePathKey_ProjectLogPath, (devWriteStoragePath / "user/log").LexicallyNormal().Native()); } else { registry.Set(FilePathKey_DevWriteStorage, path.LexicallyNormal().Native()); registry.Set(FilePathKey_ProjectUserPath, (path / "user").LexicallyNormal().Native()); + registry.Set(FilePathKey_ProjectLogPath, (path / "user/log").LexicallyNormal().Native()); } #endif // AZ_TRAIT_OS_IS_HOST_OS_PLATFORM } diff --git a/scripts/commit_validation/commit_validation/tests/validators/test_az_trait_validator.py b/scripts/commit_validation/commit_validation/tests/validators/test_az_trait_validator.py deleted file mode 100755 index 9474fd00b6..0000000000 --- a/scripts/commit_validation/commit_validation/tests/validators/test_az_trait_validator.py +++ /dev/null @@ -1,92 +0,0 @@ -# -# Copyright (c) Contributors to the Open 3D Engine Project. -# For complete copyright and license terms please see the LICENSE at the root of this distribution. -# -# SPDX-License-Identifier: Apache-2.0 OR MIT -# -# - -import unittest -from unittest.mock import patch, mock_open - -from commit_validation import pal_allowedlist -from commit_validation.tests.mocks.mock_commit import MockCommit -from commit_validation.validators.az_trait_validator import AzTraitValidator - -import pytest - - -class Test_AzTraitValidatorTests(): - def test_fileDoesntCheckAzTraitIsDefined_passes(self): - commit = MockCommit( - files=['someCppFile.cpp'], - file_diffs={ 'someCppFile.cpp' : ''} - ) - error_list = [] - assert AzTraitValidator().run(commit, error_list) - assert len(error_list) == 0, f"Unexpected errors: {error_list}" - - @pytest.mark.parametrize( - 'file_diffs,expect_success', [ - pytest.param('+This file does contain\n' - '+a trait existence check\n' - '+#ifdef AZ_TRAIT_USED_INCORRECTLY\n', - False, - id="AZ_TRAIT_inside_ifdef_fails" ), # gives the test a friendly name! - - pytest.param('+This file does contain\n' - '+a trait existence check\n' - '+#if defined(AZ_TRAIT_USED_INCORRECTLY)\n', - False, - id="AZ_TRAIT_inside_if_defined_fails" ), - - pytest.param('+This file does contain\n' - '+a trait existence check\n' - '+#ifndef AZ_TRAIT_USED_INCORRECTLY\n', - False, - id="AZ_TRAIT_inside_ifndef_fails" ), - - pytest.param('+This file contains a diff which REMOVES an incorrect usage\n' - '-#ifndef AZ_TRAIT_USED_INCORRECTLY\n', - True, - id="AZ_TRAIT_removed_in_diff_passes" ), - - pytest.param('+This file contains a diff which has an old already okayed usage\n' - '+which is not actually part of the diff.\n' - '#ifndef AZ_TRAIT_USED_INCORRECTLY\n', - True, - id="AZ_TRAIT_in_unmodified_section_passes"), - - pytest.param('+This file contains the correct usage\n' - '+#if AZ_TRAIT_USED_CORRECTLY\n', - True, - id="AZ_TRAIT_correct_usage_passes"), - ]) - def test_fileChecksAzTraitIsDefined(self, file_diffs, expect_success): - commit = MockCommit( - files=['someCppFile.cpp'], - file_diffs={ 'someCppFile.cpp' : file_diffs }) - - error_list = [] - if expect_success: - assert AzTraitValidator().run(commit, error_list) - assert len(error_list) == 0, f"Unexpected errors: {error_list}" - else: - assert not AzTraitValidator().run(commit, error_list) - assert len(error_list) != 0, f"Errors were expected but none were returned." - - def test_fileExtensionIgnored_passes(self): - commit = MockCommit(files=['someCppFile.waf_files']) - error_list = [] - assert AzTraitValidator().run(commit, error_list) - assert len(error_list) == 0, f"Unexpected errors: {error_list}" - - @patch('commit_validation.pal_allowedlist.load', return_value=pal_allowedlist.PALAllowedlist(['*/some/path/*'])) - def test_fileAllowedlisted_passes(self, mocked_load): - commit = MockCommit(files=['/path/to/some/path/someCppFile.cpp']) - error_list = [] - assert AzTraitValidator().run(commit, error_list) - assert len(error_list) == 0, f"Unexpected errors: {error_list}" - -if __name__ == '__main__': - unittest.main() diff --git a/scripts/commit_validation/commit_validation/validators/az_trait_validator.py b/scripts/commit_validation/commit_validation/validators/az_trait_validator.py deleted file mode 100755 index 595cea8720..0000000000 --- a/scripts/commit_validation/commit_validation/validators/az_trait_validator.py +++ /dev/null @@ -1,57 +0,0 @@ -# -# Copyright (c) Contributors to the Open 3D Engine Project. -# For complete copyright and license terms please see the LICENSE at the root of this distribution. -# -# SPDX-License-Identifier: Apache-2.0 OR MIT -# -# - -import os -import re -from typing import Type, List - -import commit_validation.pal_allowedlist as pal_allowedlist -from commit_validation.commit_validation import Commit, CommitValidator, SOURCE_FILE_EXTENSIONS, VERBOSE - -ifdef_regex = re.compile(r'^\+\s*#\s*ifn?def\s+AZ_TRAIT_') -defined_regex = re.compile(r'\sdefined\s*\(\s*AZ_TRAIT_') - - -class AzTraitValidator(CommitValidator): - """A file-level validator that makes sure a file does not contain existence checks for AZ_TRAIT macros""" - - def __init__(self) -> None: - self.pal_allowedlist = pal_allowedlist.load() - - def run(self, commit: Commit, errors: List[str]) -> bool: - for file_name in commit.get_files(): - if os.path.splitext(file_name)[1].lower() not in SOURCE_FILE_EXTENSIONS: - if VERBOSE: print(f'{file_name}::{self.__class__.__name__} SKIPPED - File excluded based on extension.') - continue - if self.pal_allowedlist.is_match(file_name): - if VERBOSE: print(f'{file_name}::{self.__class__.__name__} SKIPPED - File excluded based on PAL allowedlist.') - continue - - file_diff = commit.get_file_diff(file_name) - previous_line_context = "" - - for line in file_diff.splitlines(): - # we only care about added lines. - if line.startswith('+'): - if ifdef_regex.search(line) or defined_regex.search(line): - error_message = str( - f'{file_name}::{self.__class__.__name__} FAILED - Source file contains an existence ' - f'check for an AZ_TRAIT macro in this code: \n' - f' {previous_line_context}\n' - f' ----> {line}\n' - f'Traits should be tested for true/false, since they are guaranteed to exist on all platforms.') - if VERBOSE: print(error_message) - errors.append(error_message) - previous_line_context = line - - return (not errors) - - -def get_validator() -> Type[AzTraitValidator]: - """Returns the validator class for this module""" - return AzTraitValidator From 451f267d583b1f0194da1275a8975566da186309 Mon Sep 17 00:00:00 2001 From: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com> Date: Wed, 1 Sep 2021 09:47:53 -0700 Subject: [PATCH 52/66] Changes the cast for WinAPI mutex (#3843) Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com> --- .../AzCore/std/parallel/internal/condition_variable_WinAPI.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Code/Framework/AzCore/Platform/Common/WinAPI/AzCore/std/parallel/internal/condition_variable_WinAPI.h b/Code/Framework/AzCore/Platform/Common/WinAPI/AzCore/std/parallel/internal/condition_variable_WinAPI.h index 4ac95139db..b0ed025a36 100644 --- a/Code/Framework/AzCore/Platform/Common/WinAPI/AzCore/std/parallel/internal/condition_variable_WinAPI.h +++ b/Code/Framework/AzCore/Platform/Common/WinAPI/AzCore/std/parallel/internal/condition_variable_WinAPI.h @@ -198,7 +198,7 @@ namespace AZStd AZ_FORCE_INLINE cv_status condition_variable_any::wait_for(Lock& lock, const chrono::duration& rel_time) { chrono::milliseconds toWait = rel_time; - EnterCriticalSection(static_cast(&m_mutex)); + EnterCriticalSection(AZ_STD_MUTEX_CAST(m_mutex)); lock.unlock(); // We need to make sure we use CriticalSection based mutex. @@ -217,7 +217,7 @@ namespace AZStd returnCode = cv_status::timeout; } } - LeaveCriticalSection(static_cast(&m_mutex)); + LeaveCriticalSection(AZ_STD_MUTEX_CAST(m_mutex)); lock.lock(); return returnCode; } From 2d623590e8f0fe74f7aafbcdf0856b4a30a85205 Mon Sep 17 00:00:00 2001 From: amzn-phist <52085794+amzn-phist@users.noreply.github.com> Date: Wed, 1 Sep 2021 14:33:23 -0500 Subject: [PATCH 53/66] Fix the DefaultGem template's Editor target (#3853) Removes the OUTPUT_NAME from the .Editor target in the Gem template. Removes the same from Gems that have it currently. Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com> --- Gems/LyShine/Code/CMakeLists.txt | 5 ++--- Gems/Terrain/Code/CMakeLists.txt | 5 ++--- Templates/DefaultGem/Template/Code/CMakeLists.txt | 1 - 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/Gems/LyShine/Code/CMakeLists.txt b/Gems/LyShine/Code/CMakeLists.txt index 93bf84c66e..f8c2ebfd07 100644 --- a/Gems/LyShine/Code/CMakeLists.txt +++ b/Gems/LyShine/Code/CMakeLists.txt @@ -29,7 +29,7 @@ ly_add_target( Gem::Atom_Utils.Static Gem::Atom_Bootstrap.Headers Gem::AtomFont - Gem::TextureAtlas + Gem::TextureAtlas ) ly_add_target( @@ -151,12 +151,11 @@ if (PAL_TRAIT_BUILD_HOST_TOOLS) Gem::Atom_RPI.Public Gem::Atom_Utils.Static Gem::Atom_Bootstrap.Headers - ) + ) ly_add_target( NAME LyShine.Builders GEM_MODULE NAMESPACE Gem - OUTPUT_NAME Gem.LyShine.Builders FILES_CMAKE lyshine_common_module_files.cmake COMPILE_DEFINITIONS diff --git a/Gems/Terrain/Code/CMakeLists.txt b/Gems/Terrain/Code/CMakeLists.txt index f40dd17ede..b4a35edbbf 100644 --- a/Gems/Terrain/Code/CMakeLists.txt +++ b/Gems/Terrain/Code/CMakeLists.txt @@ -1,6 +1,6 @@ # # Copyright (c) Contributors to the Open 3D Engine Project. For complete copyright and license terms please see the LICENSE at the root of this distribution. -# +# # SPDX-License-Identifier: Apache-2.0 OR MIT # # @@ -44,7 +44,7 @@ ly_add_target( Gem::LmbrCentral ) -# the above module is for use in all client/server types +# the above module is for use in all client/server types ly_create_alias(NAME Terrain.Servers NAMESPACE Gem TARGETS Gem::Terrain) ly_create_alias(NAME Terrain.Clients NAMESPACE Gem TARGETS Gem::Terrain) @@ -55,7 +55,6 @@ if(PAL_TRAIT_BUILD_HOST_TOOLS) NAME Terrain.Editor MODULE NAMESPACE Gem AUTOMOC - OUTPUT_NAME Gem.Terrain.Editor FILES_CMAKE terrain_editor_shared_files.cmake COMPILE_DEFINITIONS diff --git a/Templates/DefaultGem/Template/Code/CMakeLists.txt b/Templates/DefaultGem/Template/Code/CMakeLists.txt index 181491d504..f462e7f2d4 100644 --- a/Templates/DefaultGem/Template/Code/CMakeLists.txt +++ b/Templates/DefaultGem/Template/Code/CMakeLists.txt @@ -85,7 +85,6 @@ if(PAL_TRAIT_BUILD_HOST_TOOLS) NAME ${Name}.Editor GEM_MODULE NAMESPACE Gem AUTOMOC - OUTPUT_NAME Gem.${Name}.Editor FILES_CMAKE ${NameLower}_editor_shared_files.cmake INCLUDE_DIRECTORIES From a54fceccc6c1f369ad18a15e2ae16e452b3e1c7f Mon Sep 17 00:00:00 2001 From: Qing Tao <55564570+VickyAtAZ@users.noreply.github.com> Date: Wed, 1 Sep 2021 14:22:25 -0700 Subject: [PATCH 54/66] Add atom_rpi_tools to install package. (#3852) Signed-off-by: qingtao --- Gems/Atom/RPI/Tools/CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Gems/Atom/RPI/Tools/CMakeLists.txt b/Gems/Atom/RPI/Tools/CMakeLists.txt index 62ba4cfb09..5dacb73b0f 100644 --- a/Gems/Atom/RPI/Tools/CMakeLists.txt +++ b/Gems/Atom/RPI/Tools/CMakeLists.txt @@ -18,3 +18,6 @@ if (PAL_TRAIT_BUILD_HOST_TOOLS) endif() endif() +ly_install_directory(DIRECTORIES . + EXCLUDE_PATTERNS tests +) From f58b51b8ad6fabf8f35aa4d7522497c4cb992097 Mon Sep 17 00:00:00 2001 From: michabr <82236305+michabr@users.noreply.github.com> Date: Wed, 1 Sep 2021 15:41:44 -0700 Subject: [PATCH 55/66] Fix blend mode options for LyShine's image component (#2377) * Fix blend mode options for LyShine's image component * Fix Lighten blend mode * Fix errors from last merge Signed-off-by: abrmich --- Gems/LyShine/Code/Source/RenderGraph.cpp | 114 +++++++++-------------- Gems/LyShine/Code/Source/RenderGraph.h | 10 +- Gems/LyShine/Code/Source/UiRenderer.h | 13 +-- 3 files changed, 55 insertions(+), 82 deletions(-) diff --git a/Gems/LyShine/Code/Source/RenderGraph.cpp b/Gems/LyShine/Code/Source/RenderGraph.cpp index 7ecda5eee3..567c29eecd 100644 --- a/Gems/LyShine/Code/Source/RenderGraph.cpp +++ b/Gems/LyShine/Code/Source/RenderGraph.cpp @@ -38,7 +38,7 @@ namespace LyShine //////////////////////////////////////////////////////////////////////////////////////////////////// PrimitiveListRenderNode::PrimitiveListRenderNode(const AZ::Data::Instance& texture, - bool isClampTextureMode, bool isTextureSRGB, bool preMultiplyAlpha, int blendModeState) + bool isClampTextureMode, bool isTextureSRGB, bool preMultiplyAlpha, const AZ::RHI::TargetBlendState& blendModeState) : RenderNode(RenderNodeType::PrimitiveList) , m_numTextures(1) , m_isTextureSRGB(isTextureSRGB) @@ -55,7 +55,7 @@ namespace LyShine //////////////////////////////////////////////////////////////////////////////////////////////////// PrimitiveListRenderNode::PrimitiveListRenderNode(const AZ::Data::Instance& texture, const AZ::Data::Instance& maskTexture, bool isClampTextureMode, bool isTextureSRGB, - bool preMultiplyAlpha, AlphaMaskType alphaMaskType, int blendModeState) + bool preMultiplyAlpha, AlphaMaskType alphaMaskType, const AZ::RHI::TargetBlendState& blendModeState) : RenderNode(RenderNodeType::PrimitiveList) , m_numTextures(2) , m_isTextureSRGB(isTextureSRGB) @@ -102,9 +102,16 @@ namespace LyShine const UiRenderer::UiShaderData& uiShaderData = uiRenderer->GetUiShaderData(); - // Set render state dynamicDraw->SetStencilState(uiRenderer->GetBaseState().m_stencilState); - dynamicDraw->SetTarget0BlendState(uiRenderer->GetBaseState().m_blendState); + + // The blend factor and op is stored in m_blendModeState when the primitive is added to the graph. + // That is also when the graph determines whether a new primitive list node is needed. + // The rest of the blend properties are assigned during the render calls, so they get merged here + // and all are passed to the dynamic draw context + AZ::RHI::TargetBlendState targetBlendState = m_blendModeState; + targetBlendState.m_enable = uiRenderer->GetBaseState().m_blendStateEnabled; + targetBlendState.m_writeMask = uiRenderer->GetBaseState().m_blendStateWriteMask; + dynamicDraw->SetTarget0BlendState(targetBlendState); dynamicDraw->SetShaderVariant(uiRenderer->GetCurrentShaderVariant()); @@ -354,13 +361,13 @@ namespace LyShine // if either of the draw flags are checked then we may want to draw the renderable component(s) // on this element, otherwise use the color mask to stop them rendering - curBaseState.m_blendState.m_enable = false; - curBaseState.m_blendState.m_writeMask = 0x0; + curBaseState.m_blendStateEnabled = false; + curBaseState.m_blendStateWriteMask = 0x0; if ((m_drawBehind && firstPass) || (m_drawInFront && !firstPass)) { - curBaseState.m_blendState.m_enable = true; - curBaseState.m_blendState.m_writeMask = 0xF; + curBaseState.m_blendStateEnabled = true; + curBaseState.m_blendStateWriteMask = 0xF; } if (m_isMaskingEnabled) @@ -507,19 +514,10 @@ namespace LyShine if (m_dynamicDraw) { - UiRenderer::BaseState priorBaseState = uiRenderer->GetBaseState(); - - UiRenderer::BaseState curBaseState = priorBaseState; - curBaseState.m_blendState.m_blendAlphaSource = AZ::RHI::BlendFactor::One; - curBaseState.m_blendState.m_blendAlphaDest = AZ::RHI::BlendFactor::AlphaSource1Inverse; - uiRenderer->SetBaseState(curBaseState); - for (RenderNode* renderNode : m_childRenderNodes) { renderNode->Render(uiRenderer, m_modelViewProjMat, m_dynamicDraw); } - - uiRenderer->SetBaseState(priorBaseState); } else { @@ -722,7 +720,7 @@ namespace LyShine // The shader can be outputing premultiplied alpha EITHER if the input texture is premultiplied alpha OR if the // shader is doing the premultiply of the output color bool isShaderOutputPremultAlpha = isPreMultiplyAlpha || isTexturePremultipliedAlpha; - int blendModeState = GetBlendModeState(blendMode, isShaderOutputPremultAlpha); + AZ::RHI::TargetBlendState blendModeState = GetBlendModeState(blendMode, isShaderOutputPremultAlpha); PrimitiveListRenderNode* renderNodeToAddTo = nullptr; if (!renderNodeList->empty()) @@ -801,7 +799,7 @@ namespace LyShine // The shader can be outputing premultiplied alpha EITHER if the input texture is premultiplied alpha OR if the // shader is doing the premultiply of the output color bool isShaderOutputPremultAlpha = isPreMultiplyAlpha || isTexturePremultipliedAlpha; - int blendModeState = GetBlendModeState(blendMode, isShaderOutputPremultAlpha); + AZ::RHI::TargetBlendState blendModeState = GetBlendModeState(blendMode, isShaderOutputPremultAlpha); AlphaMaskType alphaMaskType = isShaderOutputPremultAlpha ? AlphaMaskType::ModulateAlphaAndColor : AlphaMaskType::ModulateAlpha; PrimitiveListRenderNode* renderNodeToAddTo = nullptr; @@ -947,9 +945,12 @@ namespace LyShine { AZ::RHI::Ptr dynamicDraw = uiRenderer->GetDynamicDrawContext(); - // Disable stencil and enable blend/color write + // Reset stencil and blend mode to defaults (disable stencil and enable blend/color write) dynamicDraw->SetStencilState(uiRenderer->GetBaseState().m_stencilState); - dynamicDraw->SetTarget0BlendState(uiRenderer->GetBaseState().m_blendState); + AZ::RHI::TargetBlendState defaultBlendModeState = GetBlendModeState(LyShine::BlendMode::Normal, false); + defaultBlendModeState.m_enable = uiRenderer->GetBaseState().m_blendStateEnabled; + defaultBlendModeState.m_writeMask = uiRenderer->GetBaseState().m_blendStateWriteMask; + dynamicDraw->SetTarget0BlendState(defaultBlendModeState); // First render the render targets, they are sorted so that more deeply nested ones are rendered first. // They only need to be rendered the first time that a render graph is rendered after it has been built. @@ -1169,7 +1170,7 @@ namespace LyShine if (prevPrimListNode) { - if (prevPrimListNode->GetBlendModeState() != primListRenderNode->GetBlendModeState()) + if (!(prevPrimListNode->GetBlendModeState() == primListRenderNode->GetBlendModeState())) { ++info.m_numNodesDueToBlendMode; } @@ -1346,8 +1347,9 @@ namespace LyShine } // Write heading to logfile for this render node - logLine = AZStd::string::format("%sPrimitive render node (Blend mode=%d, SRGB=%d). NumPrims=%d, NumTris=%d. Using textures:\r\n", - indent.c_str(), primListRenderNode->GetBlendModeState(), + AZ::RHI::TargetBlendState blendMode = primListRenderNode->GetBlendModeState(); + logLine = AZStd::string::format("%sPrimitive render node (Blend mode=%s, SRGB=%d). NumPrims=%d, NumTris=%d. Using textures:\r\n", + indent.c_str(), blendMode.m_enable ? "enabled" : "disabled", static_cast(primListRenderNode->GetIsTextureSRGB()), numPrimitives, numTriangles); AZ::IO::LocalFileIO::GetInstance()->Write(fileHandle, logLine.c_str(), logLine.size()); @@ -1415,8 +1417,9 @@ namespace LyShine #endif //////////////////////////////////////////////////////////////////////////////////////////////////// - int RenderGraph::GetBlendModeState(LyShine::BlendMode blendMode, bool isShaderOutputPremultAlpha) const - { + AZ::RHI::TargetBlendState RenderGraph::GetBlendModeState(LyShine::BlendMode blendMode, [[maybe_unused]] bool isShaderOutputPremultAlpha) const + { + // LYSHINE_ATOM_TODO - remove "premultiplyAlpha" parameter and clean up related comments as I think it's no longer needed // Our blend modes are complicated by the fact we want to be able to render to a render target and then // render from that render target texture to the back buffer and get the same result as if we rendered // directly to the back buffer. This should be true even if the render target texture does not end up @@ -1443,72 +1446,47 @@ namespace LyShine // properly might require shader changes also. For the moment using the blend modes Screen, Darken, Lighten // is not encouraged, especially when rendering to a render target. - int flags = GS_BLSRC_SRCALPHA | GS_BLDST_ONEMINUSSRCALPHA; // the default + AZ::RHI::TargetBlendState blendState; + blendState.m_blendAlphaSource = AZ::RHI::BlendFactor::One; + blendState.m_blendAlphaDest = AZ::RHI::BlendFactor::AlphaSourceInverse; + switch (blendMode) { case LyShine::BlendMode::Normal: // This is the default mode that does an alpha blend by interpolating based on src alpha - if (isShaderOutputPremultAlpha) - { - flags = GS_BLSRC_ONE | GS_BLDST_ONEMINUSSRCALPHA; - } - else - { - flags = GS_BLSRC_SRCALPHA | GS_BLDST_ONEMINUSSRCALPHA; - } + blendState.m_blendSource = AZ::RHI::BlendFactor::AlphaSource; + blendState.m_blendDest = AZ::RHI::BlendFactor::AlphaSourceInverse; break; case LyShine::BlendMode::Add: // This works well, the amount of the src color added is controlled by src alpha - if (isShaderOutputPremultAlpha) - { - flags = GS_BLSRC_ONE | GS_BLDST_ONE; - } - else - { - flags = GS_BLSRC_SRCALPHA | GS_BLDST_ONE; - } + blendState.m_blendSource = AZ::RHI::BlendFactor::AlphaSource; + blendState.m_blendDest = AZ::RHI::BlendFactor::One; break; case LyShine::BlendMode::Screen: // This is a poor approximation of the PhotoShop Screen mode but trying to take some account of src alpha // In Photoshop this would be 1 - ( (1-SrcColor) * (1-DstColor) ) // So we should use a blend op of multiply but the IRenderer interface doesn't support that. We get some multiply // from GS_BLDST_ONEMINUSSRCCOL which multiplies the DstColor by (1-SrcColor) - if (isShaderOutputPremultAlpha) - { - flags = GS_BLSRC_ONE | GS_BLDST_ONEMINUSSRCCOL; - } - else - { - flags = GS_BLSRC_SRCALPHA | GS_BLDST_ONEMINUSSRCCOL; - } + blendState.m_blendSource = AZ::RHI::BlendFactor::AlphaSource; + blendState.m_blendDest = AZ::RHI::BlendFactor::ColorSourceInverse; break; case LyShine::BlendMode::Darken: // This is a poor approximation of the PhotoShop Darken mode but trying to take some account of src alpha // In Photoshop Darken means min(SrcColor, DstColor) - if (isShaderOutputPremultAlpha) - { - flags = GS_BLOP_MIN | GS_BLSRC_ONE | GS_BLDST_ONE | GS_BLALPHA_MAX; - } - else - { - flags = GS_BLOP_MIN | GS_BLSRC_ONEMINUSSRCALPHA | GS_BLDST_ONE; - } + blendState.m_blendSource = AZ::RHI::BlendFactor::AlphaSourceInverse; + blendState.m_blendDest = AZ::RHI::BlendFactor::One; + blendState.m_blendOp = AZ::RHI::BlendOp::Minimum; break; case LyShine::BlendMode::Lighten: // This is a pretty good an approximation of the PhotoShop Lighten mode but trying to take some account of src alpha // In PhotoShop Lighten means max(SrcColor, DstColor) - if (isShaderOutputPremultAlpha) - { - flags = GS_BLOP_MAX | GS_BLSRC_ONE| GS_BLDST_ONE; - } - else - { - flags = GS_BLOP_MAX | GS_BLSRC_SRCALPHA | GS_BLDST_ONE; - } + blendState.m_blendSource = AZ::RHI::BlendFactor::AlphaSource; + blendState.m_blendDest = AZ::RHI::BlendFactor::One; + blendState.m_blendOp = AZ::RHI::BlendOp::Maximum; break; } - return flags; + return blendState; } void RenderGraph::SetRttPassesEnabled(UiRenderer* uiRenderer, bool enabled) diff --git a/Gems/LyShine/Code/Source/RenderGraph.h b/Gems/LyShine/Code/Source/RenderGraph.h index a7ef0919c6..9edc1f50e8 100644 --- a/Gems/LyShine/Code/Source/RenderGraph.h +++ b/Gems/LyShine/Code/Source/RenderGraph.h @@ -71,9 +71,9 @@ namespace LyShine // We use a pool allocator to keep these allocations fast. AZ_CLASS_ALLOCATOR(PrimitiveListRenderNode, AZ::PoolAllocator, 0); - PrimitiveListRenderNode(const AZ::Data::Instance& texture, bool isClampTextureMode, bool isTextureSRGB, bool preMultiplyAlpha, int blendModeState); + PrimitiveListRenderNode(const AZ::Data::Instance& texture, bool isClampTextureMode, bool isTextureSRGB, bool preMultiplyAlpha, const AZ::RHI::TargetBlendState& blendModeState); PrimitiveListRenderNode(const AZ::Data::Instance& texture, const AZ::Data::Instance& maskTexture, - bool isClampTextureMode, bool isTextureSRGB, bool preMultiplyAlpha, AlphaMaskType alphaMaskType, int blendModeState); + bool isClampTextureMode, bool isTextureSRGB, bool preMultiplyAlpha, AlphaMaskType alphaMaskType, const AZ::RHI::TargetBlendState& blendModeState); ~PrimitiveListRenderNode() override; void Render(UiRenderer* uiRenderer , const AZ::Matrix4x4& modelViewProjMat @@ -88,7 +88,7 @@ namespace LyShine bool GetTextureIsClampMode(int texIndex) const { return m_textures[texIndex].m_isClampTextureMode; } bool GetIsTextureSRGB() const { return m_isTextureSRGB; } - int GetBlendModeState() const { return m_blendModeState; } + AZ::RHI::TargetBlendState GetBlendModeState() const { return m_blendModeState; } bool GetIsPremultiplyAlpha() const { return m_preMultiplyAlpha; } AlphaMaskType GetAlphaMaskType() const { return m_alphaMaskType; } @@ -118,7 +118,7 @@ namespace LyShine bool m_isTextureSRGB; bool m_preMultiplyAlpha; AlphaMaskType m_alphaMaskType; - int m_blendModeState; + AZ::RHI::TargetBlendState m_blendModeState; int m_totalNumVertices; int m_totalNumIndices; @@ -340,7 +340,7 @@ namespace LyShine protected: // member functions //! Given a blend mode and whether the shader will be outputing premultiplied alpha, return state flags - int GetBlendModeState(LyShine::BlendMode blendMode, bool isShaderOutputPremultAlpha) const; + AZ::RHI::TargetBlendState GetBlendModeState(LyShine::BlendMode blendMode, bool isShaderOutputPremultAlpha) const; void SetRttPassesEnabled(UiRenderer* uiRenderer, bool enabled); diff --git a/Gems/LyShine/Code/Source/UiRenderer.h b/Gems/LyShine/Code/Source/UiRenderer.h index 14fc67fc6b..3be3c832d3 100644 --- a/Gems/LyShine/Code/Source/UiRenderer.h +++ b/Gems/LyShine/Code/Source/UiRenderer.h @@ -53,14 +53,8 @@ public: // types void ResetToDefault() { // Enable blend/color write - m_blendState.m_enable = true; - m_blendState.m_writeMask = 0xF; - m_blendState.m_blendSource = AZ::RHI::BlendFactor::AlphaSource; - m_blendState.m_blendDest = AZ::RHI::BlendFactor::AlphaSourceInverse; - m_blendState.m_blendOp = AZ::RHI::BlendOp::Add; - m_blendState.m_blendAlphaSource = AZ::RHI::BlendFactor::One; - m_blendState.m_blendAlphaDest = AZ::RHI::BlendFactor::Zero; - m_blendState.m_blendAlphaOp = AZ::RHI::BlendOp::Add; + m_blendStateEnabled = true; + m_blendStateWriteMask = 0xF; // Disable stencil m_stencilState = AZ::RHI::StencilState(); @@ -70,7 +64,8 @@ public: // types m_modulateAlpha = false; } - AZ::RHI::TargetBlendState m_blendState; + uint32_t m_blendStateEnabled = true; + uint32_t m_blendStateWriteMask = 0xF; AZ::RHI::StencilState m_stencilState; bool m_useAlphaTest = false; bool m_modulateAlpha = false; From 413e82428c7a802f49eaa747c700230e0da6119b Mon Sep 17 00:00:00 2001 From: michabr <82236305+michabr@users.noreply.github.com> Date: Wed, 1 Sep 2021 15:42:16 -0700 Subject: [PATCH 56/66] Reenable blend mode and depth state options in Draw2d (#2254) * Reenable blend mode and depth state options in Draw2d * Add back compile warning fix from last merge Signed-off-by: abrmich --- Code/Legacy/CryCommon/LyShine/IDraw2d.h | 52 -------- Gems/LyShine/Code/Editor/EditorCommon.h | 1 - Gems/LyShine/Code/Editor/GuideHelpers.cpp | 9 +- .../Code/Editor/ViewportCanvasBackground.cpp | 4 +- Gems/LyShine/Code/Editor/ViewportIcon.cpp | 11 +- Gems/LyShine/Code/Editor/ViewportIcon.h | 2 +- Gems/LyShine/Code/Include/LyShine/Draw2d.h | 116 +++++++++++++----- Gems/LyShine/Code/Source/Draw2d.cpp | 62 ++++------ Gems/LyShine/Code/Source/LyShineDebug.cpp | 71 +++++------ Gems/LyShine/Code/Source/UiCanvasManager.cpp | 4 +- Gems/LyShine/Code/Source/UiRenderer.cpp | 2 +- 11 files changed, 160 insertions(+), 174 deletions(-) diff --git a/Code/Legacy/CryCommon/LyShine/IDraw2d.h b/Code/Legacy/CryCommon/LyShine/IDraw2d.h index a8c7af7411..3bfa3a1c14 100644 --- a/Code/Legacy/CryCommon/LyShine/IDraw2d.h +++ b/Code/Legacy/CryCommon/LyShine/IDraw2d.h @@ -12,9 +12,6 @@ #include #include -// Forward declarations -struct IFFont; - //////////////////////////////////////////////////////////////////////////////////////////////////// //! Class for 2D drawing in screen space // @@ -58,55 +55,6 @@ public: // types MAX_TEXT_STRING_LENGTH = 1024, }; - enum : int - { - //! Constant that indicates the built-in default value should be used - UseDefault = -1 - }; - - //! Struct used to pass additional image options. - // - //! If this is not passed then the defaults below are used - struct ImageOptions - { - int blendMode; //!< default is GS_BLSRC_SRCALPHA|GS_BLDST_ONEMINUSSRCALPHA - AZ::Vector3 color; //!< default is (1,1,1) - Rounding pixelRounding; //!< default is Rounding::Nearest - int baseState; //!< Additional flags for SetState. Default is GS_NODEPTHTEST - }; - - //! Struct used to pass additional text options - mostly ones that do not change from call to call. - // - //! If this is not passed then the defaults below are used - struct TextOptions - { - AZStd::string fontName; //!< default is "default" - unsigned int effectIndex; //!< default is 0 - AZ::Vector3 color; //!< default is (1,1,1) - HAlign horizontalAlignment; //!< default is HAlign::Left - VAlign verticalAlignment; //!< default is VAlign::Top - AZ::Vector2 dropShadowOffset; //!< default is (0,0), zero offset means no drop shadow is drawn - AZ::Color dropShadowColor; //!< default is (0,0,0,0), zero alpha means no drop shadow is drawn - float rotation; //!< default is 0 - int baseState; //!< Additional flags for SetState. Default is GS_NODEPTHTEST - }; - - //! Used to pass in arrays of vertices (e.g. to DrawQuad) - struct VertexPosColUV - { - VertexPosColUV(){} - VertexPosColUV(const AZ::Vector2& inPos, const AZ::Color& inColor, const AZ::Vector2& inUV) - { - position = inPos; - color = inColor; - uv = inUV; - } - - AZ::Vector2 position; //!< 2D position of vertex - AZ::Color color; //!< Float color - AZ::Vector2 uv; //!< Texture coordinate - }; - public: // member functions //! Implement virtual destructor just for safety. diff --git a/Gems/LyShine/Code/Editor/EditorCommon.h b/Gems/LyShine/Code/Editor/EditorCommon.h index a13332b0fd..5a435e7dba 100644 --- a/Gems/LyShine/Code/Editor/EditorCommon.h +++ b/Gems/LyShine/Code/Editor/EditorCommon.h @@ -9,7 +9,6 @@ #include #include -#include #include #include #include diff --git a/Gems/LyShine/Code/Editor/GuideHelpers.cpp b/Gems/LyShine/Code/Editor/GuideHelpers.cpp index 7efbaf236f..eb5966568e 100644 --- a/Gems/LyShine/Code/Editor/GuideHelpers.cpp +++ b/Gems/LyShine/Code/Editor/GuideHelpers.cpp @@ -172,20 +172,23 @@ namespace GuideHelpers // the line is drawn as the inverse of the background color AZ::Color guideColor(1.0f, 1.0f, 1.0f, 1.0f); - int blendMode = GS_BLSRC_ONEMINUSDSTCOL|GS_BLDST_ZERO; + + CDraw2d::RenderState renderState; + renderState.m_blendState.m_blendSource = AZ::RHI::BlendFactor::ColorDestInverse; + renderState.m_blendState.m_blendDest = AZ::RHI::BlendFactor::Zero; // Draw the guide line if (guideIsVertical) { AZ::Vector2 start(viewportPoint.GetX(), 0); AZ::Vector2 end(viewportPoint.GetX(), viewportSize.GetY()); - draw2d.DrawLine(start, end, guideColor, blendMode); + draw2d.DrawLine(start, end, guideColor, IDraw2d::Rounding::Nearest, renderState); } else { AZ::Vector2 start(0, viewportPoint.GetY()); AZ::Vector2 end(viewportSize.GetX(), viewportPoint.GetY()); - draw2d.DrawLine(start, end, guideColor, blendMode); + draw2d.DrawLine(start, end, guideColor, IDraw2d::Rounding::Nearest, renderState); } } diff --git a/Gems/LyShine/Code/Editor/ViewportCanvasBackground.cpp b/Gems/LyShine/Code/Editor/ViewportCanvasBackground.cpp index 4cf2c0e6b4..668c4e8024 100644 --- a/Gems/LyShine/Code/Editor/ViewportCanvasBackground.cpp +++ b/Gems/LyShine/Code/Editor/ViewportCanvasBackground.cpp @@ -50,7 +50,7 @@ void ViewportCanvasBackground::Draw(Draw2dHelper& draw2d, const AZ::Vector2& can // now draw the same as Stretched but with UV's adjusted const AZ::Vector2 uvs[4] = { AZ::Vector2(0, 0), AZ::Vector2(uvScale.GetX(), 0), AZ::Vector2(uvScale.GetX(), uvScale.GetY()), AZ::Vector2(0, uvScale.GetY()) }; AZ::Color colorWhite(1.0f, 1.0f, 1.0f, 1.0f); - IDraw2d::VertexPosColUV verts[4]; + CDraw2d::VertexPosColUV verts[4]; for (int i = 0; i < 4; ++i) { verts[i].position = positions[i]; @@ -58,5 +58,5 @@ void ViewportCanvasBackground::Draw(Draw2dHelper& draw2d, const AZ::Vector2& can verts[i].uv = uvs[i]; } - m_canvasBackground->DrawImageTiled(draw2d, verts, 1.0f); + m_canvasBackground->DrawImageTiled(draw2d, verts); } diff --git a/Gems/LyShine/Code/Editor/ViewportIcon.cpp b/Gems/LyShine/Code/Editor/ViewportIcon.cpp index e3ad68922e..3f0fdfaba0 100644 --- a/Gems/LyShine/Code/Editor/ViewportIcon.cpp +++ b/Gems/LyShine/Code/Editor/ViewportIcon.cpp @@ -48,12 +48,11 @@ void ViewportIcon::DrawImageAligned(Draw2dHelper& draw2d, AZ::Vector2& pivot, fl opacity); } -void ViewportIcon::DrawImageTiled(Draw2dHelper& draw2d, IDraw2d::VertexPosColUV* verts, [[maybe_unused]] float opacity) +void ViewportIcon::DrawImageTiled(Draw2dHelper& draw2d, CDraw2d::VertexPosColUV* verts) { // Use default blending and rounding modes - int blendMode = GS_BLSRC_SRCALPHA | GS_BLDST_ONEMINUSSRCALPHA; IDraw2d::Rounding rounding = IDraw2d::Rounding::Nearest; - draw2d.DrawQuad(m_image, verts, blendMode, rounding); + draw2d.DrawQuad(m_image, verts, rounding); } void ViewportIcon::DrawAxisAlignedBoundingBox(Draw2dHelper& draw2d, AZ::Vector2 bound0, AZ::Vector2 bound1) @@ -64,7 +63,7 @@ void ViewportIcon::DrawAxisAlignedBoundingBox(Draw2dHelper& draw2d, AZ::Vector2 float endTexCoordU = fabsf((bound1.GetX() - bound0.GetX()) * pixelLengthForDottedLineTexture); float endTexCoordV = fabsf((bound1.GetY() - bound0.GetY()) * pixelLengthForDottedLineTexture); - IDraw2d::VertexPosColUV verts[2]; + CDraw2d::VertexPosColUV verts[2]; { verts[0].color = dottedColor; verts[1].color = dottedColor; @@ -159,7 +158,7 @@ void ViewportIcon::Draw(Draw2dHelper& draw2d, AZ::Vector2 anchorPos, const AZ::M AZ::Matrix4x4 moveFromPivotSpaceMat = AZ::Matrix4x4::CreateTranslation(pivot3); AZ::Matrix4x4 newTransform = transform * moveFromPivotSpaceMat * rotMat * moveToPivotSpaceMat; - IDraw2d::VertexPosColUV verts[4]; + CDraw2d::VertexPosColUV verts[4]; // points are a clockwise quad static const AZ::Vector2 uvs[4] = { AZ::Vector2(0.0f, 0.0f), AZ::Vector2(1.0f, 0.0f), AZ::Vector2(1.0f, 1.0f), AZ::Vector2(0.0f, 1.0f) @@ -252,7 +251,7 @@ void ViewportIcon::DrawDistanceLine(Draw2dHelper& draw2d, AZ::Vector2 start, AZ: const float pixelLengthForDottedLineTexture = 8.0f; float endTexCoordU = length / pixelLengthForDottedLineTexture; - IDraw2d::VertexPosColUV verts[2]; + CDraw2d::VertexPosColUV verts[2]; verts[0].position = start; verts[0].color = dottedColor; diff --git a/Gems/LyShine/Code/Editor/ViewportIcon.h b/Gems/LyShine/Code/Editor/ViewportIcon.h index c7391d9f46..f815b244e9 100644 --- a/Gems/LyShine/Code/Editor/ViewportIcon.h +++ b/Gems/LyShine/Code/Editor/ViewportIcon.h @@ -20,7 +20,7 @@ public: void DrawImageAligned(Draw2dHelper& draw2d, AZ::Vector2& pivot, float opacity); - void DrawImageTiled(Draw2dHelper& draw2d, IDraw2d::VertexPosColUV* verts, float opacity); + void DrawImageTiled(Draw2dHelper& draw2d, CDraw2d::VertexPosColUV* verts); void Draw(Draw2dHelper& draw2d, AZ::Vector2 anchorPos, const AZ::Matrix4x4& transform, float iconRot = 0.0f, AZ::Color color = AZ::Color(1.0f, 1.0f, 1.0f, 1.0f)) const; diff --git a/Gems/LyShine/Code/Include/LyShine/Draw2d.h b/Gems/LyShine/Code/Include/LyShine/Draw2d.h index d6e255f6f7..6c848a7f96 100644 --- a/Gems/LyShine/Code/Include/LyShine/Draw2d.h +++ b/Gems/LyShine/Code/Include/LyShine/Draw2d.h @@ -26,6 +26,65 @@ class CDraw2d : public IDraw2d // LYSHINE_ATOM_TODO - keep around until gEnv->pLyShine is replaced by bus interface , public AZ::Render::Bootstrap::NotificationBus::Handler { +public: // types + + struct RenderState + { + RenderState() + { + m_blendState.m_enable = true; + m_blendState.m_blendSource = AZ::RHI::BlendFactor::AlphaSource; + m_blendState.m_blendDest = AZ::RHI::BlendFactor::AlphaSourceInverse; + + m_depthState.m_enable = false; + } + + AZ::RHI::TargetBlendState m_blendState; + AZ::RHI::DepthState m_depthState; + }; + + //! Struct used to pass additional image options. + // + //! If this is not passed then the defaults are used + struct ImageOptions + { + AZ::Vector3 color = AZ::Vector3(1.0f, 1.0f, 1.0f); + Rounding pixelRounding = Rounding::Nearest; + RenderState m_renderState; + }; + + //! Struct used to pass additional text options - mostly ones that do not change from call to call. + // + //! If this is not passed then the defaults below are used + struct TextOptions + { + AZStd::string fontName; //!< default is "default" + unsigned int effectIndex; //!< default is 0 + AZ::Vector3 color; //!< default is (1,1,1) + HAlign horizontalAlignment; //!< default is HAlign::Left + VAlign verticalAlignment; //!< default is VAlign::Top + AZ::Vector2 dropShadowOffset; //!< default is (0,0), zero offset means no drop shadow is drawn + AZ::Color dropShadowColor; //!< default is (0,0,0,0), zero alpha means no drop shadow is drawn + float rotation; //!< default is 0 + bool depthTestEnabled; //!< default is false + }; + + //! Used to pass in arrays of vertices (e.g. to DrawQuad) + struct VertexPosColUV + { + VertexPosColUV() {} + VertexPosColUV(const AZ::Vector2& inPos, const AZ::Color& inColor, const AZ::Vector2& inUV) + { + position = inPos; + color = inColor; + uv = inUV; + } + + AZ::Vector2 position; //!< 2D position of vertex + AZ::Color color; //!< Float color + AZ::Vector2 uv; //!< Texture coordinate + }; + public: // member functions //! Constructor, constructed by the LyShine class @@ -81,40 +140,34 @@ public: // member functions // //! \param texId The texture ID returned by ITexture::GetTextureID() //! \param verts An array of 4 vertices, in clockwise order (e.g. top left, top right, bottom right, bottom left) - //! \param blendMode UseDefault means default blend mode (currently GS_BLSRC_SRCALPHA | GS_BLDST_ONEMINUSSRCALPHA) //! \param pixelRounding Whether and how to round pixel coordinates - //! \param baseState Additional render state to pass to or into value passed to renderer SetState + //! \param renderState Blend mode and depth state virtual void DrawQuad(AZ::Data::Instance image, VertexPosColUV* verts, - int blendMode = UseDefault, Rounding pixelRounding = Rounding::Nearest, - int baseState = UseDefault); + const RenderState& renderState = RenderState{}); //! Draw a line // //! \param start The start position //! \param end The end position //! \param color The color of the line - //! \param blendMode UseDefault means default blend mode (currently GS_BLSRC_SRCALPHA | GS_BLDST_ONEMINUSSRCALPHA) //! \param pixelRounding Whether and how to round pixel coordinates - //! \param baseState Additional render state to pass to or into value passed to renderer SetState + //! \param renderState Blend mode and depth state virtual void DrawLine(AZ::Vector2 start, AZ::Vector2 end, AZ::Color color, - int blendMode = UseDefault, IDraw2d::Rounding pixelRounding = IDraw2d::Rounding::Nearest, - int baseState = UseDefault); + const RenderState& renderState = RenderState{}); //! Draw a line with a texture so it can be dotted or dashed // //! \param texId The texture ID returned by ITexture::GetTextureID() //! \param verts An array of 2 vertices for the start and end points of the line - //! \param blendMode UseDefault means default blend mode (currently GS_BLSRC_SRCALPHA | GS_BLDST_ONEMINUSSRCALPHA) //! \param pixelRounding Whether and how to round pixel coordinates - //! \param baseState Additional render state to pass to or into value passed to renderer SetState + //! \param renderState Blend mode and depth state virtual void DrawLineTextured(AZ::Data::Instance image, VertexPosColUV* verts, - int blendMode = UseDefault, IDraw2d::Rounding pixelRounding = IDraw2d::Rounding::Nearest, - int baseState = UseDefault); + const RenderState& renderState = RenderState{}); //! Draw a text string. Only supports ASCII text. // //! The font and effect used to render the text are specified in the textOptions structure @@ -225,7 +278,7 @@ protected: // types and constants AZ::Vector2 m_texCoords[4]; uint32 m_packedColors[4]; AZ::Data::Instance m_image; - int m_state; + RenderState m_renderState; }; class DeferredLine @@ -241,7 +294,7 @@ protected: // types and constants AZ::Vector2 m_points[2]; AZ::Vector2 m_texCoords[2]; uint32 m_packedColors[2]; - int m_state; + RenderState m_renderState; }; class DeferredText @@ -286,7 +339,7 @@ protected: // member functions //! Helper function to render a text string void DrawTextInternal(const char* textString, AzFramework::FontId fontId, unsigned int effectIndex, AZ::Vector2 position, float pointSize, AZ::Color color, float rotation, - HAlign horizontalAlignment, VAlign verticalAlignment, int baseState); + HAlign horizontalAlignment, VAlign verticalAlignment, bool depthTestEnabled); //! Draw or defer a quad void DrawOrDeferQuad(const DeferredQuad* quad); @@ -397,39 +450,39 @@ public: // member functions //! Draw a textured quad where the position, color and uv of each point is specified explicitly // //! See IDraw2d:DrawQuad for parameter descriptions - void DrawQuad(AZ::Data::Instance image, IDraw2d::VertexPosColUV* verts, int blendMode = IDraw2d::UseDefault, + void DrawQuad(AZ::Data::Instance image, CDraw2d::VertexPosColUV* verts, IDraw2d::Rounding pixelRounding = IDraw2d::Rounding::Nearest, - int baseState = IDraw2d::UseDefault) + const CDraw2d::RenderState& renderState = CDraw2d::RenderState{}) { if (m_draw2d) { - m_draw2d->DrawQuad(image, verts, blendMode, pixelRounding, baseState); + m_draw2d->DrawQuad(image, verts, pixelRounding, renderState); } } //! Draw a line // //! See IDraw2d:DrawLine for parameter descriptions - void DrawLine(AZ::Vector2 start, AZ::Vector2 end, AZ::Color color, int blendMode = IDraw2d::UseDefault, + void DrawLine(AZ::Vector2 start, AZ::Vector2 end, AZ::Color color, IDraw2d::Rounding pixelRounding = IDraw2d::Rounding::Nearest, - int baseState = IDraw2d::UseDefault) + const CDraw2d::RenderState& renderState = CDraw2d::RenderState{}) { if (m_draw2d) { - m_draw2d->DrawLine(start, end, color, blendMode, pixelRounding, baseState); + m_draw2d->DrawLine(start, end, color, pixelRounding, renderState); } } //! Draw a line with a texture so it can be dotted or dashed // //! See IDraw2d:DrawLineTextured for parameter descriptions - void DrawLineTextured(AZ::Data::Instance image, IDraw2d::VertexPosColUV* verts, int blendMode = IDraw2d::UseDefault, + void DrawLineTextured(AZ::Data::Instance image, CDraw2d::VertexPosColUV* verts, IDraw2d::Rounding pixelRounding = IDraw2d::Rounding::Nearest, - int baseState = IDraw2d::UseDefault) + const CDraw2d::RenderState& renderState = CDraw2d::RenderState{}) { if (m_draw2d) { - m_draw2d->DrawLineTextured(image, verts, blendMode, pixelRounding, baseState); + m_draw2d->DrawLineTextured(image, verts, pixelRounding, renderState); } } @@ -478,7 +531,7 @@ public: // member functions // State management //! Set the blend mode used for images, default is GS_BLSRC_SRCALPHA|GS_BLDST_ONEMINUSSRCALPHA. - void SetImageBlendMode(int mode) { m_imageOptions.blendMode = mode; } + void SetImageBlendMode(const AZ::RHI::TargetBlendState& blendState) { m_imageOptions.m_renderState.m_blendState = blendState; } //! Set the color used for DrawImage and other image drawing. void SetImageColor(AZ::Vector3 color) { m_imageOptions.color = color; } @@ -487,7 +540,7 @@ public: // member functions void SetImagePixelRounding(IDraw2d::Rounding round) { m_imageOptions.pixelRounding = round; } //! Set the base state (that blend mode etc is combined with) used for images, default is GS_NODEPTHTEST. - void SetImageBaseState(int state) { m_imageOptions.baseState = state; } + void SetImageDepthState(const AZ::RHI::DepthState& depthState) { m_imageOptions.m_renderState.m_depthState = depthState; } //! Set the text font. void SetTextFont(AZStd::string_view fontName) { m_textOptions.fontName = fontName; } @@ -518,8 +571,11 @@ public: // member functions m_textOptions.rotation = rotation; } - //! Set the base state (that blend mode etc is combined with) used for text, default is GS_NODEPTHTEST. - void SetTextBaseState(int state) { m_textOptions.baseState = state; } + //! Set wheter to enable depth test for the text + void SetTextDepthTestEnabled(bool enabled) + { + m_textOptions.depthTestEnabled = enabled; + } public: // static member functions @@ -565,8 +621,8 @@ public: // static member functions protected: // attributes - IDraw2d::ImageOptions m_imageOptions; //!< image options are stored locally and updated by member functions - IDraw2d::TextOptions m_textOptions; //!< text options are stored locally and updated by member functions + CDraw2d::ImageOptions m_imageOptions; //!< image options are stored locally and updated by member functions + CDraw2d::TextOptions m_textOptions; //!< text options are stored locally and updated by member functions CDraw2d* m_draw2d; bool m_previousDeferCalls; }; diff --git a/Gems/LyShine/Code/Source/Draw2d.cpp b/Gems/LyShine/Code/Source/Draw2d.cpp index b4c8d58fae..b0539900e2 100644 --- a/Gems/LyShine/Code/Source/Draw2d.cpp +++ b/Gems/LyShine/Code/Source/Draw2d.cpp @@ -5,7 +5,6 @@ * SPDX-License-Identifier: Apache-2.0 OR MIT * */ -#include "IFont.h" #include // for SVF_P3F_C4B_T2F which will be removed in a coming PR #include @@ -23,9 +22,6 @@ #include #include -static const int g_defaultBlendState = GS_BLSRC_SRCALPHA | GS_BLDST_ONEMINUSSRCALPHA; -static const int g_defaultBaseState = GS_NODEPTHTEST; - //////////////////////////////////////////////////////////////////////////////////////////////////// // LOCAL STATIC FUNCTIONS //////////////////////////////////////////////////////////////////////////////////////////////////// @@ -48,10 +44,6 @@ CDraw2d::CDraw2d(AZ::RPI::ViewportContextPtr viewportContext) { // These default options are set here and never change. They are stored so that if a null options // structure is passed into the draw functions then this default one can be used instead - m_defaultImageOptions.blendMode = g_defaultBlendState; - m_defaultImageOptions.color.Set(1.0f, 1.0f, 1.0f); - m_defaultImageOptions.pixelRounding = Rounding::Nearest; - m_defaultImageOptions.baseState = g_defaultBaseState; m_defaultTextOptions.fontName = "default"; m_defaultTextOptions.effectIndex = 0; @@ -61,7 +53,7 @@ CDraw2d::CDraw2d(AZ::RPI::ViewportContextPtr viewportContext) m_defaultTextOptions.dropShadowOffset.Set(0.0f, 0.0f); m_defaultTextOptions.dropShadowColor.Set(0.0f, 0.0f, 0.0f, 0.0f); m_defaultTextOptions.rotation = 0.0f; - m_defaultTextOptions.baseState = g_defaultBaseState; + m_defaultTextOptions.depthTestEnabled = false; AZ::Render::Bootstrap::NotificationBus::Handler::BusConnect(); } @@ -112,7 +104,8 @@ void CDraw2d::OnBootstrapSceneReady([[maybe_unused]] AZ::RPI::Scene* bootstrapSc {"COLOR", AZ::RHI::Format::B8G8R8A8_UNORM}, {"TEXCOORD0", AZ::RHI::Format::R32G32_FLOAT} }); m_dynamicDraw->AddDrawStateOptions(AZ::RPI::DynamicDrawContext::DrawStateOptions::PrimitiveType - | AZ::RPI::DynamicDrawContext::DrawStateOptions::BlendMode); + | AZ::RPI::DynamicDrawContext::DrawStateOptions::BlendMode + | AZ::RPI::DynamicDrawContext::DrawStateOptions::DepthState); if (uiCanvasPass) { m_dynamicDraw->SetOutputScope(uiCanvasPass); @@ -124,12 +117,6 @@ void CDraw2d::OnBootstrapSceneReady([[maybe_unused]] AZ::RPI::Scene* bootstrapSc } m_dynamicDraw->EndInit(); - AZ::RHI::TargetBlendState targetBlendState; - targetBlendState.m_enable = true; - targetBlendState.m_blendSource = AZ::RHI::BlendFactor::AlphaSource; - targetBlendState.m_blendDest = AZ::RHI::BlendFactor::AlphaSourceInverse; - m_dynamicDraw->SetTarget0BlendState(targetBlendState); - // Cache draw srg input indices for later use static const char textureIndexName[] = "m_texture"; static const char worldToProjIndexName[] = "m_worldToProj"; @@ -154,8 +141,6 @@ void CDraw2d::DrawImage(AZ::Data::Instance image, AZ::Vector2 po AZ::Color color = AZ::Color::CreateFromVector3AndFloat(actualImageOptions->color, opacity); AZ::u32 packedColor = PackARGB8888(color); - int blendMode = actualImageOptions->blendMode; - // Depending on the requested pixel rounding setting we may round position to an exact pixel AZ::Vector2 pos = Draw2dHelper::RoundXY(position, actualImageOptions->pixelRounding); @@ -189,7 +174,7 @@ void CDraw2d::DrawImage(AZ::Data::Instance image, AZ::Vector2 po quad.m_image = image; // add the blendMode flags to the base state - quad.m_state = blendMode | actualImageOptions->baseState; + quad.m_renderState = actualImageOptions->m_renderState; // apply rotation if requested if (rotation != 0.0f) @@ -212,11 +197,9 @@ void CDraw2d::DrawImageAligned(AZ::Data::Instance image, AZ::Vec } //////////////////////////////////////////////////////////////////////////////////////////////////// -void CDraw2d::DrawQuad(AZ::Data::Instance image, VertexPosColUV* verts, int blendMode, Rounding pixelRounding, int baseState) +void CDraw2d::DrawQuad(AZ::Data::Instance image, VertexPosColUV* verts, Rounding pixelRounding, + const CDraw2d::RenderState& renderState) { - int actualBlendMode = (blendMode == -1) ? g_defaultBlendState : blendMode; - int actualBaseState = (baseState == -1) ? g_defaultBaseState : baseState; - // define quad DeferredQuad quad; for (int i = 0; i < 4; ++i) @@ -228,20 +211,17 @@ void CDraw2d::DrawQuad(AZ::Data::Instance image, VertexPosColUV* quad.m_image = image; // add the blendMode flags to the base state - quad.m_state = actualBlendMode | actualBaseState; + quad.m_renderState = renderState; DrawOrDeferQuad(&quad); } //////////////////////////////////////////////////////////////////////////////////////////////////// -void CDraw2d::DrawLine(AZ::Vector2 start, AZ::Vector2 end, AZ::Color color, int blendMode, Rounding pixelRounding, int baseState) +void CDraw2d::DrawLine(AZ::Vector2 start, AZ::Vector2 end, AZ::Color color, Rounding pixelRounding, + const CDraw2d::RenderState& renderState) { - int actualBaseState = (baseState == -1) ? g_defaultBaseState : baseState; - auto image = AZ::RPI::ImageSystemInterface::Get()->GetSystemImage(AZ::RPI::SystemImage::White); - int actualBlendMode = (blendMode == -1) ? g_defaultBlendState : blendMode; - // define line uint32 packedColor = PackARGB8888(color); @@ -258,19 +238,16 @@ void CDraw2d::DrawLine(AZ::Vector2 start, AZ::Vector2 end, AZ::Color color, int line.m_packedColors[1] = packedColor; // add the blendMode flags to the base state - line.m_state = actualBlendMode | actualBaseState; + line.m_renderState = renderState; DrawOrDeferLine(&line); } //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////// -void CDraw2d::DrawLineTextured(AZ::Data::Instance image, VertexPosColUV* verts, int blendMode, Rounding pixelRounding, int baseState) +void CDraw2d::DrawLineTextured(AZ::Data::Instance image, VertexPosColUV* verts, Rounding pixelRounding, + const CDraw2d::RenderState& renderState) { - int actualBaseState = (baseState == -1) ? g_defaultBaseState : baseState; - - int actualBlendMode = (blendMode == -1) ? g_defaultBlendState : blendMode; - // define line DeferredLine line; line.m_image = image; @@ -283,7 +260,7 @@ void CDraw2d::DrawLineTextured(AZ::Data::Instance image, VertexP } // add the blendMode flags to the base state - line.m_state = actualBlendMode | actualBaseState; + line.m_renderState = renderState; DrawOrDeferLine(&line); } @@ -313,7 +290,7 @@ void CDraw2d::DrawText(const char* textString, AZ::Vector2 position, float point dropShadowPosition, pointSize, actualTextOptions->dropShadowColor, actualTextOptions->rotation, actualTextOptions->horizontalAlignment, actualTextOptions->verticalAlignment, - actualTextOptions->baseState); + actualTextOptions->depthTestEnabled); } // draw the text string @@ -322,7 +299,7 @@ void CDraw2d::DrawText(const char* textString, AZ::Vector2 position, float point position, pointSize, textColor, actualTextOptions->rotation, actualTextOptions->horizontalAlignment, actualTextOptions->verticalAlignment, - actualTextOptions->baseState); + actualTextOptions->depthTestEnabled); } void CDraw2d::DrawRectOutlineTextured(AZ::Data::Instance image, @@ -594,7 +571,7 @@ void CDraw2d::RotatePointsAboutPivot(AZ::Vector2* points, [[maybe_unused]] int n //////////////////////////////////////////////////////////////////////////////////////////////////// void CDraw2d::DrawTextInternal(const char* textString, AzFramework::FontId fontId, unsigned int effectIndex, AZ::Vector2 position, float pointSize, AZ::Color color, float rotation, - HAlign horizontalAlignment, VAlign verticalAlignment, [[maybe_unused]] int baseState) + HAlign horizontalAlignment, VAlign verticalAlignment, bool depthTestEnabled) { // FFont.cpp uses the alpha value of the color to decide whether to use the color, if the alpha value is zero // (in a ColorB format) then the color set via SetColor is ignored and it usually ends up drawing with an alpha of 1. @@ -651,7 +628,7 @@ void CDraw2d::DrawTextInternal(const char* textString, AzFramework::FontId fontI drawParams.m_hAlign = hAlignment; drawParams.m_vAlign = vAlignment; drawParams.m_monospace = false; - drawParams.m_depthTest = false; + drawParams.m_depthTest = depthTestEnabled; drawParams.m_virtual800x600ScreenSize = false; drawParams.m_scaleWithWindow = false; drawParams.m_multiline = true; @@ -809,6 +786,8 @@ void CDraw2d::DeferredQuad::Draw(AZ::RHI::Ptr dynam // Add the primitive to the dynamic draw context for drawing dynamicDraw->SetPrimitiveType(AZ::RHI::PrimitiveTopology::TriangleList); + dynamicDraw->SetDepthState(m_renderState.m_depthState); + dynamicDraw->SetTarget0BlendState(m_renderState.m_blendState); dynamicDraw->DrawLinear(vertices, NUM_VERTS, drawSrg); } @@ -868,6 +847,8 @@ void CDraw2d::DeferredLine::Draw(AZ::RHI::Ptr dynam // Add the primitive to the dynamic draw context for drawing dynamicDraw->SetPrimitiveType(AZ::RHI::PrimitiveTopology::LineList); + dynamicDraw->SetDepthState(m_renderState.m_depthState); + dynamicDraw->SetTarget0BlendState(m_renderState.m_blendState); dynamicDraw->DrawLinear(vertices, NUM_VERTS, drawSrg); } @@ -966,4 +947,3 @@ void CDraw2d::DeferredText::Draw([[maybe_unused]] AZ::RHI::Ptr #include @@ -51,7 +50,7 @@ static const int g_numColors = 8; "black" }; -static AZ::Vector3 g_colorVec3[g_numColors] = +[[maybe_unused]] static AZ::Vector3 g_colorVec3[g_numColors] = { AZ::Vector3(1.0f, 1.0f, 1.0f), AZ::Vector3(1.0f, 0.0f, 0.0f), @@ -64,34 +63,34 @@ static AZ::Vector3 g_colorVec3[g_numColors] = }; static const int g_numSrcBlendModes = 11; -[[maybe_unused]] static int g_srcBlendModes[g_numSrcBlendModes] = +[[maybe_unused]] static AZ::RHI::BlendFactor g_srcBlendModes[g_numSrcBlendModes] = { - GS_BLSRC_ZERO, - GS_BLSRC_ONE, - GS_BLSRC_DSTCOL, - GS_BLSRC_ONEMINUSDSTCOL, - GS_BLSRC_SRCALPHA, - GS_BLSRC_ONEMINUSSRCALPHA, - GS_BLSRC_DSTALPHA, - GS_BLSRC_ONEMINUSDSTALPHA, - GS_BLSRC_ALPHASATURATE, - GS_BLSRC_SRCALPHA_A_ZERO, // separate alpha blend state - GS_BLSRC_SRC1ALPHA, // dual source blending + AZ::RHI::BlendFactor::Zero, + AZ::RHI::BlendFactor::One, + AZ::RHI::BlendFactor::ColorDest, + AZ::RHI::BlendFactor::ColorDestInverse, + AZ::RHI::BlendFactor::AlphaSource, + AZ::RHI::BlendFactor::AlphaSourceInverse, + AZ::RHI::BlendFactor::AlphaDest, + AZ::RHI::BlendFactor::AlphaDestInverse, + AZ::RHI::BlendFactor::AlphaSourceSaturate, + AZ::RHI::BlendFactor::Factor, + AZ::RHI::BlendFactor::AlphaSource1 }; static const int g_numDstBlendModes = 10; -[[maybe_unused]] static int g_dstBlendModes[g_numDstBlendModes] = +[[maybe_unused]] static AZ::RHI::BlendFactor g_dstBlendModes[g_numDstBlendModes] = { - GS_BLDST_ZERO, - GS_BLDST_ONE, - GS_BLDST_SRCCOL, - GS_BLDST_ONEMINUSSRCCOL, - GS_BLDST_SRCALPHA, - GS_BLDST_ONEMINUSSRCALPHA, - GS_BLDST_DSTALPHA, - GS_BLDST_ONEMINUSDSTALPHA, - GS_BLDST_ONE_A_ZERO, // separate alpha blend state - GS_BLDST_ONEMINUSSRC1ALPHA, // dual source blending + AZ::RHI::BlendFactor::Zero, + AZ::RHI::BlendFactor::One, + AZ::RHI::BlendFactor::ColorSource, + AZ::RHI::BlendFactor::ColorSourceInverse, + AZ::RHI::BlendFactor::AlphaSource, + AZ::RHI::BlendFactor::AlphaSourceInverse, + AZ::RHI::BlendFactor::AlphaDest, + AZ::RHI::BlendFactor::AlphaDestInverse, + AZ::RHI::BlendFactor::FactorInverse, + AZ::RHI::BlendFactor::AlphaSource1Inverse }; [[maybe_unused]] static bool g_deferDrawsToEndOfFrame = false; @@ -378,7 +377,7 @@ static void DebugDrawColoredBox(AZ::Vector2 pos, AZ::Vector2 size, AZ::Color col { CDraw2d* draw2d = Draw2dHelper::GetDefaultDraw2d(); - IDraw2d::ImageOptions imageOptions = draw2d->GetDefaultImageOptions(); + CDraw2d::ImageOptions imageOptions = draw2d->GetDefaultImageOptions(); imageOptions.color = color.GetAsVector3(); auto whiteTexture = AZ::RPI::ImageSystemInterface::Get()->GetSystemImage(AZ::RPI::SystemImage::White); draw2d->DrawImageAligned(whiteTexture, pos, size, horizontalAlignment, verticalAlignment, @@ -393,7 +392,7 @@ static void DebugDrawStringWithSizeBox(AZStd::string_view font, unsigned int eff { CDraw2d* draw2d = Draw2dHelper::GetDefaultDraw2d(); - IDraw2d::TextOptions textOptions = draw2d->GetDefaultTextOptions(); + CDraw2d::TextOptions textOptions = draw2d->GetDefaultTextOptions(); if (!font.empty()) { textOptions.fontName = font; @@ -619,7 +618,7 @@ static AZ::Vector2 DebugDrawFontColorTestBox(AZ::Vector2 pos, const char* string float pointSize = 32.0f; const float spacing = 6.0f; - IDraw2d::TextOptions textOptions = draw2d->GetDefaultTextOptions(); + CDraw2d::TextOptions textOptions = draw2d->GetDefaultTextOptions(); textOptions.effectIndex = 1; // no drop shadow baked in textOptions.color = color; @@ -743,7 +742,7 @@ static void DebugDraw2dImageColor() AZ::Data::Instance texture = GetMonoAlphaTestTexture(); - IDraw2d::ImageOptions imageOptions = draw2d->GetDefaultImageOptions(); + CDraw2d::ImageOptions imageOptions = draw2d->GetDefaultImageOptions(); draw2d->DrawText( "Testing image colors, image is black and white, top row is opacity=1, bottom row is opacity = 0.5", @@ -781,7 +780,7 @@ static void DebugDraw2dImageBlendMode() AZ::Data::Instance texture = GetColorAlphaTestTexture(); - IDraw2d::ImageOptions imageOptions = draw2d->GetDefaultImageOptions(); + CDraw2d::ImageOptions imageOptions = draw2d->GetDefaultImageOptions(); draw2d->DrawText("Testing blend modes, src blend changes across x-axis, dst blend changes across y axis", AZ::Vector2(20, 20), 16); @@ -802,7 +801,7 @@ static void DebugDraw2dImageBlendMode() AZ::Vector2 pos(xStart + xSpacing * srcIndex, yStart + ySpacing * dstIndex); // first draw a background with varying color and alpha - IDraw2d::VertexPosColUV verts[4] = + CDraw2d::VertexPosColUV verts[4] = { { // top left AZ::Vector2(pos.GetX(), pos.GetY()), @@ -829,7 +828,9 @@ static void DebugDraw2dImageBlendMode() // Draw the image with this color - imageOptions.blendMode = g_srcBlendModes[srcIndex] | g_dstBlendModes[dstIndex]; + CDraw2d::RenderState renderState; + renderState.m_blendState.m_blendSource = g_srcBlendModes[srcIndex]; + renderState.m_blendState.m_blendDest = g_dstBlendModes[dstIndex]; draw2d->DrawImage(texture, pos, size, 1.0f, 0.0f, 0, 0, &imageOptions); } } @@ -844,7 +845,7 @@ static void DebugDraw2dImageUVs() AZ::Data::Instance texture = GetColorTestTexture(); - IDraw2d::ImageOptions imageOptions = draw2d->GetDefaultImageOptions(); + CDraw2d::ImageOptions imageOptions = draw2d->GetDefaultImageOptions(); draw2d->DrawText( "Testing DrawImage with minMaxTexCoords. Full image, top left quadrant, middle section, full flipped", @@ -893,7 +894,7 @@ static void DebugDraw2dImagePixelRounding() AZ::Data::Instance texture = GetColorTestTexture(); - IDraw2d::ImageOptions imageOptions = draw2d->GetDefaultImageOptions(); + CDraw2d::ImageOptions imageOptions = draw2d->GetDefaultImageOptions(); draw2d->DrawText("Testing DrawImage pixel rounding options", AZ::Vector2(20, 20), 16); @@ -932,7 +933,7 @@ static void DebugDraw2dLineBasic() { CDraw2d* draw2d = Draw2dHelper::GetDefaultDraw2d(); - IDraw2d::ImageOptions imageOptions = draw2d->GetDefaultImageOptions(); + CDraw2d::ImageOptions imageOptions = draw2d->GetDefaultImageOptions(); draw2d->DrawText("Testing DrawLine", AZ::Vector2(20, 20), 16); diff --git a/Gems/LyShine/Code/Source/UiCanvasManager.cpp b/Gems/LyShine/Code/Source/UiCanvasManager.cpp index 04cb5c4a1f..a71c46d45e 100644 --- a/Gems/LyShine/Code/Source/UiCanvasManager.cpp +++ b/Gems/LyShine/Code/Source/UiCanvasManager.cpp @@ -1031,7 +1031,7 @@ void UiCanvasManager::DebugDisplayCanvasData(int setting) const // local function to write a line of text (with a background rect) and increment Y offset AZStd::function WriteLine = [&](const char* buffer, const AZ::Vector3& color) { - IDraw2d::TextOptions textOptions = draw2d->GetDefaultTextOptions(); + CDraw2d::TextOptions textOptions = draw2d->GetDefaultTextOptions(); textOptions.color = color; AZ::Vector2 textSize = draw2d->GetTextSize(buffer, fontSize, &textOptions); AZ::Vector2 rectTopLeft = AZ::Vector2(xOffset - 2, yOffset); @@ -1182,7 +1182,7 @@ void UiCanvasManager::DebugDisplayDrawCallData() const // local function to write a line of text (with a background rect) and increment Y offset AZStd::function WriteLine = [&](const char* buffer, const AZ::Vector3& color) { - IDraw2d::TextOptions textOptions = draw2d->GetDefaultTextOptions(); + CDraw2d::TextOptions textOptions = draw2d->GetDefaultTextOptions(); textOptions.color = color; AZ::Vector2 textSize = draw2d->GetTextSize(buffer, 16, &textOptions); AZ::Vector2 rectTopLeft = AZ::Vector2(xOffset - 2, yOffset); diff --git a/Gems/LyShine/Code/Source/UiRenderer.cpp b/Gems/LyShine/Code/Source/UiRenderer.cpp index 07a9f77007..3111f31615 100644 --- a/Gems/LyShine/Code/Source/UiRenderer.cpp +++ b/Gems/LyShine/Code/Source/UiRenderer.cpp @@ -489,7 +489,7 @@ void UiRenderer::DebugDisplayTextureData(int recordingOption) // local function to write a line of text (with a background rect) and increment Y offset AZStd::function WriteLine = [&](const char* buffer, const AZ::Vector3& color) { - IDraw2d::TextOptions textOptions = draw2d->GetDefaultTextOptions(); + CDraw2d::TextOptions textOptions = draw2d->GetDefaultTextOptions(); textOptions.color = color; AZ::Vector2 textSize = draw2d->GetTextSize(buffer, 16, &textOptions); AZ::Vector2 rectTopLeft = AZ::Vector2(xOffset - 2, yOffset); From 4249ceeae75bb5b82dbc37542a8ed61ecc298769 Mon Sep 17 00:00:00 2001 From: hershey5045 <43485729+hershey5045@users.noreply.github.com> Date: Wed, 1 Sep 2021 16:01:33 -0700 Subject: [PATCH 57/66] Add material property names to material assets, disable FBX dependency on materialtype files. (#3408) * Add material property names to material assets, disable FBX dependency on materialtype files. Signed-off-by: Robin * Add reflection for MaterialAssets. Update member variable comment. Signed-off-by: Robin * Switch cvar to using bus value. Refine comments. Signed-off-by: Robin * Refactor functions and refine comments. Signed-off-by: Robin * Realign property values when material property names are populated. Signed-off-by: Robin * Switch PostLoadInit check to on asset status ready. Add realign property values code to PostLoadInit as well. Signed-off-by: Robin * Stash@{1} code. Signed-off-by: Robin * Refactor realignment code into the right places. Signed-off-by: Robin * Remove pragma optmize off. Signed-off-by: Robin * More refactoring. Signed-off-by: Robin * Refactor comments and remove code no longer needed. Signed-off-by: Robin * Refactor comments and remove unused include. Signed-off-by: Robin * Comment refactor, corrected some code. Signed-off-by: Robin Co-authored-by: Robin --- .../MaterialConverterSystemComponent.cpp | 10 ++++- .../MaterialConverterSystemComponent.h | 6 +++ .../RPI.Edit/Material/MaterialConverterBus.h | 4 ++ .../RPI.Edit/Material/MaterialSourceData.h | 6 +-- .../Atom/RPI.Reflect/Material/MaterialAsset.h | 14 +++++++ .../Material/MaterialAssetCreator.h | 6 ++- .../Model/MaterialAssetBuilderComponent.cpp | 12 +++++- .../RPI.Edit/Material/MaterialSourceData.cpp | 7 ++-- .../RPI.Reflect/Material/MaterialAsset.cpp | 40 ++++++++++++++++++- .../Material/MaterialAssetCreator.cpp | 26 ++++++++++-- 10 files changed, 115 insertions(+), 16 deletions(-) diff --git a/Gems/Atom/Feature/Common/Code/Source/Material/MaterialConverterSystemComponent.cpp b/Gems/Atom/Feature/Common/Code/Source/Material/MaterialConverterSystemComponent.cpp index e26a0fb274..fd1c836b96 100644 --- a/Gems/Atom/Feature/Common/Code/Source/Material/MaterialConverterSystemComponent.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/Material/MaterialConverterSystemComponent.cpp @@ -26,9 +26,10 @@ namespace AZ if (auto serializeContext = azrtti_cast(context)) { serializeContext->Class() - ->Version(1) + ->Version(2) ->Field("Enable", &MaterialConverterSettings::m_enable) - ->Field("DefaultMaterial", &MaterialConverterSettings::m_defaultMaterial); + ->Field("DefaultMaterial", &MaterialConverterSettings::m_defaultMaterial) + ->Field("IncludeMaterialPropertyNames", &MaterialConverterSettings::m_includeMaterialPropertyNames); } } @@ -69,6 +70,11 @@ namespace AZ return m_settings.m_enable; } + bool MaterialConverterSystemComponent::ShouldIncludeMaterialPropertyNames() const + { + return m_settings.m_includeMaterialPropertyNames; + } + bool MaterialConverterSystemComponent::ConvertMaterial( const AZ::SceneAPI::DataTypes::IMaterialData& materialData, RPI::MaterialSourceData& sourceData) { diff --git a/Gems/Atom/Feature/Common/Code/Source/Material/MaterialConverterSystemComponent.h b/Gems/Atom/Feature/Common/Code/Source/Material/MaterialConverterSystemComponent.h index 7d95024759..150529b474 100644 --- a/Gems/Atom/Feature/Common/Code/Source/Material/MaterialConverterSystemComponent.h +++ b/Gems/Atom/Feature/Common/Code/Source/Material/MaterialConverterSystemComponent.h @@ -26,6 +26,11 @@ namespace AZ bool m_enable = true; AZStd::string m_defaultMaterial; + //! Sets whether to include material property names when generating material assets. If this + //! setting is true, material property name resolution and validation is deferred into load + //! time rather than at build time, allowing to break some dependencies (e.g. fbx files will no + //! longer need to be dependent on materialtype files). + bool m_includeMaterialPropertyNames = true; }; //! Atom's implementation of converting SceneAPI data into Atom's default material: StandardPBR @@ -45,6 +50,7 @@ namespace AZ // MaterialConverterBus overrides ... bool IsEnabled() const override; + bool ShouldIncludeMaterialPropertyNames() const override; bool ConvertMaterial(const AZ::SceneAPI::DataTypes::IMaterialData& materialData, RPI::MaterialSourceData& out) override; AZStd::string GetMaterialTypePath() const override; AZStd::string GetDefaultMaterialPath() const override; diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Material/MaterialConverterBus.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Material/MaterialConverterBus.h index 8052fc4feb..1807fca15e 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Material/MaterialConverterBus.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Material/MaterialConverterBus.h @@ -32,6 +32,10 @@ namespace AZ virtual bool IsEnabled() const = 0; + //! Returns true if material property names should be included in azmaterials. This allows unlinking of dependencies for some + //! file types to materialtype files (e.g. fbx). + virtual bool ShouldIncludeMaterialPropertyNames() const = 0; + //! Converts data from a IMaterialData object to an Atom MaterialSourceData. //! Only works when IsEnabled() is true. //! @return true if the MaterialSourceData output was populated with converted material data. diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Material/MaterialSourceData.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Material/MaterialSourceData.h index 1daec3bacd..02607a7954 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Material/MaterialSourceData.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Material/MaterialSourceData.h @@ -68,12 +68,12 @@ namespace AZ //! @param assetId ID for the MaterialAsset //! @param materialSourceFilePath Indicates the path of the .material file that the MaterialSourceData represents. Used for resolving file-relative paths. //! @param elevateWarnings Indicates whether to treat warnings as errors - //! @param materialTypeSourceData The function sometimes needs metadata from the .materialtype file. - //! It will either load the .materialtype file from disk, or use this MaterialTypeSourceData if it's provided. + //! @param includeMaterialPropertyNames Indicates whether to save material property names into the material asset file Outcome> CreateMaterialAsset( Data::AssetId assetId, AZStd::string_view materialSourceFilePath = "", - bool elevateWarnings = true + bool elevateWarnings = true, + bool includeMaterialPropertyNames = true ) const; }; } // namespace RPI diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Material/MaterialAsset.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Material/MaterialAsset.h index 49ef839331..52af56ba0e 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Material/MaterialAsset.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Material/MaterialAsset.h @@ -108,6 +108,11 @@ namespace AZ private: bool PostLoadInit() override; + //! Realigns property value and name indices with MaterialProperiesLayout by using m_propertyNames. Property names not found in the + //! MaterialPropertiesLayout are discarded, while property names not included in m_propertyNames will use the default value + //! from m_materialTypeAsset. + void RealignPropertyValuesAndNames(); + //! Called by asset creators to assign the asset to a ready state. void SetReady(); @@ -121,11 +126,20 @@ namespace AZ // MaterialReloadNotificationBus overrides... void OnMaterialTypeAssetReinitialized(const Data::Asset& materialTypeAsset) override; + static const char* s_debugTraceName; + Data::Asset m_materialTypeAsset; //! Holds values for each material property, used to initialize Material instances. //! This is indexed by MaterialPropertyIndex and aligns with entries in m_materialPropertiesLayout. AZStd::vector m_propertyValues; + //! This is used to realign m_propertyValues as well as itself with MaterialPropertiesLayout when not empty. + //! If empty, this implies that m_propertyValues is aligned with the entries in m_materialPropertiesLayout. + AZStd::vector m_propertyNames; + + //! A flag to determine if m_propertyValues needs to be aligned with MaterialPropertiesLayout. Set to true whenever + //! m_materialTypeAsset is reinitializing. + bool m_isDirty = true; }; diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Material/MaterialAssetCreator.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Material/MaterialAssetCreator.h index 44520cb549..862d98ce0c 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Material/MaterialAssetCreator.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Material/MaterialAssetCreator.h @@ -26,11 +26,13 @@ namespace AZ public: friend class MaterialSourceData; - void Begin(const Data::AssetId& assetId, MaterialAsset& parentMaterial); - void Begin(const Data::AssetId& assetId, MaterialTypeAsset& materialType); + void Begin(const Data::AssetId& assetId, MaterialAsset& parentMaterial, bool includeMaterialPropertyNames = true); + void Begin(const Data::AssetId& assetId, MaterialTypeAsset& materialType, bool includeMaterialPropertyNames = true); bool End(Data::Asset& result); private: + void PopulatePropertyNameList(); + const MaterialPropertiesLayout* m_materialPropertiesLayout = nullptr; }; } // namespace RPI diff --git a/Gems/Atom/RPI/Code/Source/RPI.Builders/Model/MaterialAssetBuilderComponent.cpp b/Gems/Atom/RPI/Code/Source/RPI.Builders/Model/MaterialAssetBuilderComponent.cpp index ccbdc47f7e..4c2876dc0c 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Builders/Model/MaterialAssetBuilderComponent.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Builders/Model/MaterialAssetBuilderComponent.cpp @@ -78,7 +78,9 @@ namespace AZ AZStd::string materialTypePath; RPI::MaterialConverterBus::BroadcastResult(materialTypePath, &RPI::MaterialConverterBus::Events::GetMaterialTypePath); - if (conversionEnabled && !materialTypePath.empty()) + bool includeMaterialPropertyNames = true; + RPI::MaterialConverterBus::BroadcastResult(includeMaterialPropertyNames, &RPI::MaterialConverterBus::Events::ShouldIncludeMaterialPropertyNames); + if (conversionEnabled && !materialTypePath.empty() && !includeMaterialPropertyNames) { AssetBuilderSDK::SourceFileDependency materialTypeSource; materialTypeSource.m_sourceFileDependencyPath = materialTypePath; @@ -101,6 +103,10 @@ namespace AZ RPI::MaterialConverterBus::BroadcastResult(conversionEnabled, &RPI::MaterialConverterBus::Events::IsEnabled); fingerprintInfo.insert(AZStd::string::format("[MaterialConverter enabled=%d]", conversionEnabled)); + bool includeMaterialPropertyNames = true; + RPI::MaterialConverterBus::BroadcastResult(includeMaterialPropertyNames, &RPI::MaterialConverterBus::Events::ShouldIncludeMaterialPropertyNames); + fingerprintInfo.insert(AZStd::string::format("[MaterialConverter includeMaterialPropertyNames=%d]", includeMaterialPropertyNames)); + if (!conversionEnabled) { AZStd::string defaultMaterialPath; @@ -219,6 +225,8 @@ namespace AZ } } + bool includeMaterialPropertyNames = true; + RPI::MaterialConverterBus::BroadcastResult(includeMaterialPropertyNames, &RPI::MaterialConverterBus::Events::ShouldIncludeMaterialPropertyNames); // Build material assets. for (auto& itr : materialSourceDataByUid) { @@ -226,7 +234,7 @@ namespace AZ Data::AssetId assetId(sourceSceneUuid, GetMaterialAssetSubId(materialUid)); auto materialSourceData = itr.second; - Outcome> result = materialSourceData.m_data.CreateMaterialAsset(assetId, "", false); + Outcome> result = materialSourceData.m_data.CreateMaterialAsset(assetId, "", false, includeMaterialPropertyNames); if (result.IsSuccess()) { context.m_outputMaterialsByUid[materialUid] = { result.GetValue(), materialSourceData.m_name }; diff --git a/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialSourceData.cpp b/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialSourceData.cpp index 9f980287cf..f697f33a3f 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialSourceData.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialSourceData.cpp @@ -12,6 +12,7 @@ #include #include #include +#include #include #include @@ -72,7 +73,7 @@ namespace AZ } } - Outcome > MaterialSourceData::CreateMaterialAsset(Data::AssetId assetId, AZStd::string_view materialSourceFilePath, bool elevateWarnings) const + Outcome > MaterialSourceData::CreateMaterialAsset(Data::AssetId assetId, AZStd::string_view materialSourceFilePath, bool elevateWarnings, bool includeMaterialPropertyNames) const { MaterialAssetCreator materialAssetCreator; materialAssetCreator.SetElevateWarnings(elevateWarnings); @@ -85,7 +86,7 @@ namespace AZ return Failure(); } - materialAssetCreator.Begin(assetId, *materialTypeAsset.GetValue().Get()); + materialAssetCreator.Begin(assetId, *materialTypeAsset.GetValue().Get(), includeMaterialPropertyNames); } else { @@ -115,7 +116,7 @@ namespace AZ } } - materialAssetCreator.Begin(assetId, *parentMaterialAsset.GetValue().Get()); + materialAssetCreator.Begin(assetId, *parentMaterialAsset.GetValue().Get(), includeMaterialPropertyNames); } for (auto& group : m_properties) diff --git a/Gems/Atom/RPI/Code/Source/RPI.Reflect/Material/MaterialAsset.cpp b/Gems/Atom/RPI/Code/Source/RPI.Reflect/Material/MaterialAsset.cpp index 1acb1c69a1..c3e0221192 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Reflect/Material/MaterialAsset.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Reflect/Material/MaterialAsset.cpp @@ -20,6 +20,8 @@ namespace AZ { namespace RPI { + const char* MaterialAsset::s_debugTraceName = "MaterialAsset"; + const char* MaterialAsset::DisplayName = "MaterialAsset"; const char* MaterialAsset::Group = "Material"; const char* MaterialAsset::Extension = "azmaterial"; @@ -29,9 +31,10 @@ namespace AZ if (auto* serializeContext = azrtti_cast(context)) { serializeContext->Class() - ->Version(9) + ->Version(10) ->Field("materialTypeAsset", &MaterialAsset::m_materialTypeAsset) ->Field("propertyValues", &MaterialAsset::m_propertyValues) + ->Field("propertyNames", &MaterialAsset::m_propertyNames) ; } } @@ -99,6 +102,11 @@ namespace AZ AZStd::array_view MaterialAsset::GetPropertyValues() const { + if (!m_propertyNames.empty() && m_isDirty) + { + const_cast(this)->RealignPropertyValuesAndNames(); + } + return m_propertyValues; } @@ -146,6 +154,34 @@ namespace AZ } } + void MaterialAsset::RealignPropertyValuesAndNames() + { + const MaterialPropertiesLayout* propertyLayout = GetMaterialPropertiesLayout(); + AZStd::vector alignedPropertyValues(m_materialTypeAsset->GetDefaultPropertyValues().begin(), m_materialTypeAsset->GetDefaultPropertyValues().end()); + for (size_t i = 0; i < m_propertyNames.size(); ++i) + { + const MaterialPropertyIndex propertyIndex = propertyLayout->FindPropertyIndex(m_propertyNames[i]); + if (propertyIndex.IsValid()) + { + alignedPropertyValues[propertyIndex.GetIndex()] = m_propertyValues[i]; + } + else + { + AZ_Warning(s_debugTraceName, false, "Material property name \"%s\" is not found in the material properties layout and will not be used.", m_propertyNames[i].GetCStr()); + } + } + m_propertyValues.swap(alignedPropertyValues); + + const size_t propertyCount = propertyLayout->GetPropertyCount(); + m_propertyNames.resize(propertyCount); + for (size_t i = 0; i < propertyCount; ++i) + { + m_propertyNames[i] = propertyLayout->GetPropertyDescriptor(MaterialPropertyIndex{ i })->GetName(); + } + + m_isDirty = false; + } + void MaterialAsset::ReinitializeMaterialTypeAsset(Data::Asset asset) { Data::Asset newMaterialTypeAsset = { asset.GetAs(), AZ::Data::AssetLoadBehavior::PreLoad }; @@ -157,6 +193,8 @@ namespace AZ // This also covers the case where just the MaterialTypeAsset is reloaded and not the MaterialAsset. m_materialTypeAsset = newMaterialTypeAsset; + m_isDirty = true; + // Notify interested parties that this MaterialAsset is changed and may require other data to reinitialize as well MaterialReloadNotificationBus::Event(GetId(), &MaterialReloadNotifications::OnMaterialAssetReinitialized, Data::Asset{this, AZ::Data::AssetLoadBehavior::PreLoad}); } diff --git a/Gems/Atom/RPI/Code/Source/RPI.Reflect/Material/MaterialAssetCreator.cpp b/Gems/Atom/RPI/Code/Source/RPI.Reflect/Material/MaterialAssetCreator.cpp index 8e401d2ee8..79d19c15a2 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Reflect/Material/MaterialAssetCreator.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Reflect/Material/MaterialAssetCreator.cpp @@ -16,7 +16,7 @@ namespace AZ { namespace RPI { - void MaterialAssetCreator::Begin(const Data::AssetId& assetId, MaterialAsset& parentMaterial) + void MaterialAssetCreator::Begin(const Data::AssetId& assetId, MaterialAsset& parentMaterial, bool includeMaterialPropertyNames) { BeginCommon(assetId); @@ -36,6 +36,10 @@ namespace AZ ReportError("MaterialPropertiesLayout is null"); return; } + if (includeMaterialPropertyNames) + { + PopulatePropertyNameList(); + } // Note we don't have to check the validity of these property values because the parent material's AssetCreator already did that. m_asset->m_propertyValues.assign(parentMaterial.GetPropertyValues().begin(), parentMaterial.GetPropertyValues().end()); @@ -52,14 +56,14 @@ namespace AZ } } - void MaterialAssetCreator::Begin(const Data::AssetId& assetId, MaterialTypeAsset& materialType) + void MaterialAssetCreator::Begin(const Data::AssetId& assetId, MaterialTypeAsset& materialType, bool includeMaterialPropertyNames) { BeginCommon(assetId); if (ValidateIsReady()) { m_asset->m_materialTypeAsset = { &materialType, AZ::Data::AssetLoadBehavior::PreLoad }; - + if (!m_asset->m_materialTypeAsset) { ReportError("MaterialTypeAsset is null"); @@ -67,6 +71,11 @@ namespace AZ } m_materialPropertiesLayout = m_asset->GetMaterialPropertiesLayout(); + if (includeMaterialPropertyNames) + { + PopulatePropertyNameList(); + } + if (!m_materialPropertiesLayout) { ReportError("MaterialPropertiesLayout is null"); @@ -101,5 +110,16 @@ namespace AZ m_asset->SetReady(); return EndCommon(result); } + + void MaterialAssetCreator::PopulatePropertyNameList() + { + for (int i = 0; i < m_materialPropertiesLayout->GetPropertyCount(); ++i) + { + MaterialPropertyIndex propertyIndex{ i }; + auto& propertyName = m_materialPropertiesLayout->GetPropertyDescriptor(propertyIndex)->GetName(); + m_asset->m_propertyNames.emplace_back(propertyName); + } + } + } // namespace RPI } // namespace AZ From 7e61197450a81a1f45715217e6dfcb4cb0482133 Mon Sep 17 00:00:00 2001 From: Gene Walters <32776221+AMZN-Gene@users.noreply.github.com> Date: Wed, 1 Sep 2021 20:46:48 -0700 Subject: [PATCH 58/66] Fix Blast Gem Compiler Error (#3855) * Fix blast compiler error Signed-off-by: Gene Walters * Fixed typo in DamageManager Interface.h include Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com> Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com> --- Gems/Blast/Code/Source/Family/DamageManager.h | 1 + 1 file changed, 1 insertion(+) diff --git a/Gems/Blast/Code/Source/Family/DamageManager.h b/Gems/Blast/Code/Source/Family/DamageManager.h index f56bd7bbdf..4bffd8c5e0 100644 --- a/Gems/Blast/Code/Source/Family/DamageManager.h +++ b/Gems/Blast/Code/Source/Family/DamageManager.h @@ -10,6 +10,7 @@ #include #include #include +#include namespace Blast { From 9a0ea2c4c5cdec19bedec4e527275c7196ea5d94 Mon Sep 17 00:00:00 2001 From: moraaar Date: Thu, 2 Sep 2021 09:35:12 +0100 Subject: [PATCH 59/66] Fixed NvCloth assets, NvCloth automated test scripts, ModelAsset cloning and UI reverse overrides menu crash (#3851) - Fixed cloth asset, which stopped working due to Updated skeleton logic: #2957 which changes how fbx graph nodes are collected (affecting its names, which is used by cloth modifier). - Fixed cloth test suite active call to base's run_test function. It stopped working when its signature was changed here: 182d410#diff-3f5d93b0a76c838893693f19f2eacfe3e67040d445d6463c5c425ef5075cb409 - Renamed nvcloth TestSuite_Active.py to TestSuite_Main.py to be consistent with the other test folders. - Fixed ModelAsset creator clone function. It was missing to copy the material slots, ultimately causing Material Component to show 0 material slots. - Fixed crash where the revert overrides menu was not created when checking changes for selected component and selected entities. Signed-off-by: moraaar moraaar@amazon.com --- ...977329_NvCloth_AddClothSimulationToMesh.py | 6 - ...77330_NvCloth_AddClothSimulationToActor.py | 6 - .../Gem/PythonTests/NvCloth/CMakeLists.txt | 2 +- .../PythonTests/NvCloth/ImportPathHelper.py | 11 -- ...{TestSuite_Active.py => TestSuite_Main.py} | 5 +- ...977329_NvCloth_AddClothSimulationToMesh.ly | 4 +- .../filelist.xml | 2 +- .../level.pak | 4 +- ...77330_NvCloth_AddClothSimulationToActor.ly | 4 +- .../filelist.xml | 2 +- .../level.pak | 4 +- .../PropertyEditor/EntityPropertyEditor.cpp | 18 ++- .../RPI.Reflect/Model/ModelAssetCreator.cpp | 6 + .../cloth/Chicken/Actor/chicken.fbx.assetinfo | 82 ++++------- .../Environment/cloth_blinds.fbx.assetinfo | 16 ++- .../cloth_blinds_broken.fbx.assetinfo | 16 ++- .../cloth_locked_corners_four.fbx.assetinfo | 16 ++- .../cloth_locked_corners_two.fbx.assetinfo | 14 +- .../cloth_locked_edge.fbx.assetinfo | 14 +- .../Assets/prefabs/Cloth/Chicken_Actor.prefab | 126 +++++++++------- .../Assets/prefabs/Cloth/cloth_blinds.prefab | 128 +++++++++-------- .../prefabs/Cloth/cloth_blinds_broken.prefab | 128 +++++++++-------- .../Cloth/cloth_locked_corners_four.prefab | 128 +++++++++-------- .../Cloth/cloth_locked_corners_two.prefab | 128 +++++++++-------- .../prefabs/Cloth/cloth_locked_edge.prefab | 128 +++++++++-------- .../Assets/slices/Cloth/Chicken_Actor.slice | 135 +++++++----------- .../Assets/slices/Cloth/cloth_blinds.slice | 72 +++++----- .../slices/Cloth/cloth_blinds_broken.slice | 72 +++++----- .../Cloth/cloth_locked_corners_four.slice | 72 +++++----- .../Cloth/cloth_locked_corners_two.slice | 72 +++++----- .../slices/Cloth/cloth_locked_edge.slice | 72 +++++----- 31 files changed, 737 insertions(+), 756 deletions(-) delete mode 100755 AutomatedTesting/Gem/PythonTests/NvCloth/ImportPathHelper.py rename AutomatedTesting/Gem/PythonTests/NvCloth/{TestSuite_Active.py => TestSuite_Main.py} (90%) mode change 100755 => 100644 diff --git a/AutomatedTesting/Gem/PythonTests/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh.py b/AutomatedTesting/Gem/PythonTests/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh.py index 6009c2aca7..0ed9da1405 100755 --- a/AutomatedTesting/Gem/PythonTests/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh.py +++ b/AutomatedTesting/Gem/PythonTests/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh.py @@ -45,10 +45,6 @@ def C18977329_NvCloth_AddClothSimulationToMesh(): from editor_python_test_tools.editor_entity_utils import EditorEntity from editor_python_test_tools.utils import Report - # Helper file Imports - import ImportPathHelper as imports - - imports.init() from editor_python_test_tools.utils import TestHelper as helper from editor_python_test_tools.utils import Tracer @@ -84,7 +80,5 @@ def C18977329_NvCloth_AddClothSimulationToMesh(): helper.close_editor() if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() from editor_python_test_tools.utils import Report Report.start_test(C18977329_NvCloth_AddClothSimulationToMesh) diff --git a/AutomatedTesting/Gem/PythonTests/NvCloth/C18977330_NvCloth_AddClothSimulationToActor.py b/AutomatedTesting/Gem/PythonTests/NvCloth/C18977330_NvCloth_AddClothSimulationToActor.py index 2eaed04f41..4d84a33dd2 100755 --- a/AutomatedTesting/Gem/PythonTests/NvCloth/C18977330_NvCloth_AddClothSimulationToActor.py +++ b/AutomatedTesting/Gem/PythonTests/NvCloth/C18977330_NvCloth_AddClothSimulationToActor.py @@ -44,11 +44,7 @@ def C18977330_NvCloth_AddClothSimulationToActor(): from editor_python_test_tools.editor_entity_utils import EditorEntity from editor_python_test_tools.utils import Report - - # Helper file Imports - import ImportPathHelper as imports - imports.init() from editor_python_test_tools.utils import TestHelper as helper from editor_python_test_tools.utils import Tracer @@ -84,7 +80,5 @@ def C18977330_NvCloth_AddClothSimulationToActor(): helper.close_editor() if __name__ == "__main__": - import ImportPathHelper as imports - imports.init() from editor_python_test_tools.utils import Report Report.start_test(C18977330_NvCloth_AddClothSimulationToActor) diff --git a/AutomatedTesting/Gem/PythonTests/NvCloth/CMakeLists.txt b/AutomatedTesting/Gem/PythonTests/NvCloth/CMakeLists.txt index 3913041f88..4343be3194 100644 --- a/AutomatedTesting/Gem/PythonTests/NvCloth/CMakeLists.txt +++ b/AutomatedTesting/Gem/PythonTests/NvCloth/CMakeLists.txt @@ -12,7 +12,7 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS) TEST_SUITE main TEST_REQUIRES gpu TEST_SERIAL - PATH ${CMAKE_CURRENT_LIST_DIR}/TestSuite_Active.py + PATH ${CMAKE_CURRENT_LIST_DIR}/TestSuite_Main.py RUNTIME_DEPENDENCIES Legacy::Editor AZ::AssetProcessor diff --git a/AutomatedTesting/Gem/PythonTests/NvCloth/ImportPathHelper.py b/AutomatedTesting/Gem/PythonTests/NvCloth/ImportPathHelper.py deleted file mode 100755 index 0e395664ad..0000000000 --- a/AutomatedTesting/Gem/PythonTests/NvCloth/ImportPathHelper.py +++ /dev/null @@ -1,11 +0,0 @@ -""" -Copyright (c) Contributors to the Open 3D Engine Project. -For complete copyright and license terms please see the LICENSE at the root of this distribution. - -SPDX-License-Identifier: Apache-2.0 OR MIT -""" - -def init(): - import os - import sys - sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../automatedtesting_shared') diff --git a/AutomatedTesting/Gem/PythonTests/NvCloth/TestSuite_Active.py b/AutomatedTesting/Gem/PythonTests/NvCloth/TestSuite_Main.py old mode 100755 new mode 100644 similarity index 90% rename from AutomatedTesting/Gem/PythonTests/NvCloth/TestSuite_Active.py rename to AutomatedTesting/Gem/PythonTests/NvCloth/TestSuite_Main.py index 9302054d33..2ddcc58f12 --- a/AutomatedTesting/Gem/PythonTests/NvCloth/TestSuite_Active.py +++ b/AutomatedTesting/Gem/PythonTests/NvCloth/TestSuite_Main.py @@ -22,12 +22,11 @@ from base import TestAutomationBase class TestAutomation(TestAutomationBase): use_null_renderer = False # Use default renderer (needs gpu) - extra_cmdline_args = [] def test_C18977329_NvCloth_AddClothSimulationToMesh(self, request, workspace, editor, launcher_platform): from . import C18977329_NvCloth_AddClothSimulationToMesh as test_module - self._run_test(request, workspace, editor, test_module, self.extra_cmdline_args, self.use_null_renderer) + self._run_test(request, workspace, editor, test_module, use_null_renderer = self.use_null_renderer) def test_C18977330_NvCloth_AddClothSimulationToActor(self, request, workspace, editor, launcher_platform): from . import C18977330_NvCloth_AddClothSimulationToActor as test_module - self._run_test(request, workspace, editor, test_module, self.extra_cmdline_args, self.use_null_renderer) + self._run_test(request, workspace, editor, test_module, use_null_renderer = self.use_null_renderer) diff --git a/AutomatedTesting/Levels/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh/C18977329_NvCloth_AddClothSimulationToMesh.ly b/AutomatedTesting/Levels/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh/C18977329_NvCloth_AddClothSimulationToMesh.ly index 9a1b1fe59a..861626993e 100644 --- a/AutomatedTesting/Levels/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh/C18977329_NvCloth_AddClothSimulationToMesh.ly +++ b/AutomatedTesting/Levels/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh/C18977329_NvCloth_AddClothSimulationToMesh.ly @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6517300fb1ce70c4696286e14715c547cfd175eabbb2042f7f2a456b15054224 -size 5253 +oid sha256:bedd2adc60f244a8595e64619069046d5036dd762f61b5393f9b759d69281362 +size 5276 diff --git a/AutomatedTesting/Levels/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh/filelist.xml b/AutomatedTesting/Levels/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh/filelist.xml index 2cf4d55bf0..d3492ca7b6 100644 --- a/AutomatedTesting/Levels/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh/filelist.xml +++ b/AutomatedTesting/Levels/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh/filelist.xml @@ -1,6 +1,6 @@ - + diff --git a/AutomatedTesting/Levels/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh/level.pak b/AutomatedTesting/Levels/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh/level.pak index 954bb1912f..7fa23ea67f 100644 --- a/AutomatedTesting/Levels/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh/level.pak +++ b/AutomatedTesting/Levels/NvCloth/C18977329_NvCloth_AddClothSimulationToMesh/level.pak @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ce32a7cdf3ed37751385b3bb18f05206702978363f325d06727b5eb20d40b7eb -size 38563 +oid sha256:81fc98854424d55e594a3983da53d2f5a4d7a7cf60e52e12366e4800d1d3f080 +size 38559 diff --git a/AutomatedTesting/Levels/NvCloth/C18977330_NvCloth_AddClothSimulationToActor/C18977330_NvCloth_AddClothSimulationToActor.ly b/AutomatedTesting/Levels/NvCloth/C18977330_NvCloth_AddClothSimulationToActor/C18977330_NvCloth_AddClothSimulationToActor.ly index 9ef8bc0525..23397bf18d 100644 --- a/AutomatedTesting/Levels/NvCloth/C18977330_NvCloth_AddClothSimulationToActor/C18977330_NvCloth_AddClothSimulationToActor.ly +++ b/AutomatedTesting/Levels/NvCloth/C18977330_NvCloth_AddClothSimulationToActor/C18977330_NvCloth_AddClothSimulationToActor.ly @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:89dbcec013cb819e52ec0f8fed0a9e417fd32eac8aeb67d3958266bb6089ec21 -size 5505 +oid sha256:b59cbe84cb77090d723d120597f9d11817aa67a267a7f495f8b012fdd8a9dd86 +size 5536 diff --git a/AutomatedTesting/Levels/NvCloth/C18977330_NvCloth_AddClothSimulationToActor/filelist.xml b/AutomatedTesting/Levels/NvCloth/C18977330_NvCloth_AddClothSimulationToActor/filelist.xml index a7de99a91c..20952a47ce 100644 --- a/AutomatedTesting/Levels/NvCloth/C18977330_NvCloth_AddClothSimulationToActor/filelist.xml +++ b/AutomatedTesting/Levels/NvCloth/C18977330_NvCloth_AddClothSimulationToActor/filelist.xml @@ -1,6 +1,6 @@ - + diff --git a/AutomatedTesting/Levels/NvCloth/C18977330_NvCloth_AddClothSimulationToActor/level.pak b/AutomatedTesting/Levels/NvCloth/C18977330_NvCloth_AddClothSimulationToActor/level.pak index ad10c72b31..4259131c4f 100644 --- a/AutomatedTesting/Levels/NvCloth/C18977330_NvCloth_AddClothSimulationToActor/level.pak +++ b/AutomatedTesting/Levels/NvCloth/C18977330_NvCloth_AddClothSimulationToActor/level.pak @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:622c2624b04e07b704520f32c458b50d5a50de1ef116b7bc9c3c0ccb6f4a4ecc -size 3606 +oid sha256:46051f4116003e1a2d13855bea92a1b15501166b1379a11d02c4d2239ccd2530 +size 3648 diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/EntityPropertyEditor.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/EntityPropertyEditor.cpp index 001cd12349..87527502dd 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/EntityPropertyEditor.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/EntityPropertyEditor.cpp @@ -2352,6 +2352,13 @@ namespace AzToolsFramework { QMenu* revertMenu = nullptr; + auto addRevertMenu = [&menu]() + { + QMenu* revertOverridesMenu = menu.addMenu(tr("Revert overrides")); + revertOverridesMenu->setToolTipsVisible(true); + return revertOverridesMenu; + }; + //check for changes on selected property if (componentClassData) { @@ -2372,8 +2379,7 @@ namespace AzToolsFramework } // Only add the "Revert overrides" menu option if it belongs to a slice - revertMenu = menu.addMenu(tr("Revert overrides")); - revertMenu->setToolTipsVisible(true); + revertMenu = addRevertMenu(); revertMenu->setEnabled(false); if (fieldNode) @@ -2447,6 +2453,10 @@ namespace AzToolsFramework if (isPartOfSlice && hasSliceChanges) { + if (!revertMenu) + { + revertMenu = addRevertMenu(); + } revertMenu->setEnabled(true); QAction* revertComponentAction = revertMenu->addAction(tr("Component")); @@ -2487,6 +2497,10 @@ namespace AzToolsFramework relevantEntities.push_back(id); } + if (!revertMenu) + { + revertMenu = addRevertMenu(); + } revertMenu->setEnabled(true); QAction* revertAction = revertMenu->addAction(QObject::tr("Entity")); revertAction->setToolTip(QObject::tr("This will revert all component properties on this entity to the last saved.")); diff --git a/Gems/Atom/RPI/Code/Source/RPI.Reflect/Model/ModelAssetCreator.cpp b/Gems/Atom/RPI/Code/Source/RPI.Reflect/Model/ModelAssetCreator.cpp index b35c9e44fe..524ef9e910 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Reflect/Model/ModelAssetCreator.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Reflect/Model/ModelAssetCreator.cpp @@ -118,6 +118,12 @@ namespace AZ } } + const ModelMaterialSlotMap &sourceMaterialSlotMap = sourceAsset->GetMaterialSlots(); + for (const auto& sourceMaterialSlot : sourceMaterialSlotMap) + { + creator.AddMaterialSlot(sourceMaterialSlot.second); + } + return creator.End(clonedResult); } } // namespace RPI diff --git a/Gems/NvCloth/Assets/Objects/cloth/Chicken/Actor/chicken.fbx.assetinfo b/Gems/NvCloth/Assets/Objects/cloth/Chicken/Actor/chicken.fbx.assetinfo index 37480c52c1..4c73efae13 100644 --- a/Gems/NvCloth/Assets/Objects/cloth/Chicken/Actor/chicken.fbx.assetinfo +++ b/Gems/NvCloth/Assets/Objects/cloth/Chicken/Actor/chicken.fbx.assetinfo @@ -25,13 +25,18 @@ "Position": [ -0.03709467500448227, -3.725290298461914e-9, - 0.013427333906292916 + 0.013427333906292915 ], + "MaterialSelection": { + "MaterialIds": [ + {} + ] + }, "propertyVisibilityFlags": 248 }, { "$type": "SphereShapeConfiguration", - "Radius": 0.12945009768009187 + "Radius": 0.12945009768009186 } ] ] @@ -50,15 +55,20 @@ "Rotation": [ 0.0, 0.662880003452301, - 0.7487256526947022, + 0.7487256526947021, 0.0 ], + "MaterialSelection": { + "MaterialIds": [ + {} + ] + }, "propertyVisibilityFlags": 248 }, { "$type": "CapsuleShapeConfiguration", "Height": 0.8597599267959595, - "Radius": 0.27968019247055056 + "Radius": 0.27968019247055054 } ] ] @@ -79,95 +89,51 @@ "RootNode", "RootNode.chicken_skeleton", "RootNode.chicken_feet_skin", + "RootNode.chicken_feet_skin.chicken_feet_skin_1", + "RootNode.chicken_feet_skin.chicken_feet_skin_2", "RootNode.chicken_eyes_skin", + "RootNode.chicken_eyes_skin.chicken_eyes_skin_1", + "RootNode.chicken_eyes_skin.chicken_eyes_skin_2", "RootNode.chicken_body_skin", + "RootNode.chicken_body_skin.chicken_body_skin_1", + "RootNode.chicken_body_skin.chicken_body_skin_2", "RootNode.chicken_mohawk", - "RootNode.chicken_skeleton.transform", + "RootNode.chicken_mohawk.chicken_mohawk_1", + "RootNode.chicken_mohawk.chicken_mohawk_2", "RootNode.chicken_skeleton.def_c_chickenRoot_joint", - "RootNode.chicken_feet_skin.SkinWeight_0", - "RootNode.chicken_feet_skin.transform", - "RootNode.chicken_feet_skin.map1", - "RootNode.chicken_feet_skin.chicken_body_mat", - "RootNode.chicken_eyes_skin.SkinWeight_0", - "RootNode.chicken_eyes_skin.transform", - "RootNode.chicken_eyes_skin.uvSet1", - "RootNode.chicken_eyes_skin.chicken_eye_mat", - "RootNode.chicken_body_skin.SkinWeight_0", - "RootNode.chicken_body_skin.transform", - "RootNode.chicken_body_skin.map1", - "RootNode.chicken_body_skin.chicken_body_mat", - "RootNode.chicken_mohawk.Col0", - "RootNode.chicken_mohawk.SkinWeight_0", - "RootNode.chicken_mohawk.transform", - "RootNode.chicken_mohawk.map1", - "RootNode.chicken_mohawk.mohawkMat", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_l_uprLeg_joint", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_r_uprLeg_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_l_uprLeg_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_l_uprLeg_joint.def_l_lwrLeg_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_r_uprLeg_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_r_uprLeg_joint.def_r_lwrLeg_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_l_wing1_joint", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_r_wing1_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_l_uprLeg_joint.def_l_lwrLeg_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_l_uprLeg_joint.def_l_lwrLeg_joint.def_l_foot_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_r_uprLeg_joint.def_r_lwrLeg_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_r_uprLeg_joint.def_r_lwrLeg_joint.def_r_foot_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_tail1_joint", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_l_wing1_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_l_wing1_joint.def_l_wing2_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_r_wing1_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_r_wing1_joint.def_r_wing2_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_l_uprLeg_joint.def_l_lwrLeg_joint.def_l_foot_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_l_uprLeg_joint.def_l_lwrLeg_joint.def_l_foot_joint.def_l_ball_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_r_uprLeg_joint.def_r_lwrLeg_joint.def_r_foot_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_r_uprLeg_joint.def_r_lwrLeg_joint.def_r_foot_joint.def_r_ball_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_tail1_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_tail1_joint.def_c_tail2_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_l_wing1_joint.def_l_wing2_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_l_wing1_joint.def_l_wing2_joint.def_l_wing_end", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_r_wing1_joint.def_r_wing2_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_r_wing1_joint.def_r_wing2_joint.def_r_wing_end", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_l_uprLeg_joint.def_l_lwrLeg_joint.def_l_foot_joint.def_l_ball_joint.transform", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_r_uprLeg_joint.def_r_lwrLeg_joint.def_r_foot_joint.def_r_ball_joint.transform", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_tail1_joint.def_c_tail2_joint.transform", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_feather1_joint", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_mouth_joint", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_waddle1_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_l_wing1_joint.def_l_wing2_joint.def_l_wing_end.transform", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_r_wing1_joint.def_r_wing2_joint.def_r_wing_end.transform", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_feather1_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_feather1_joint.def_c_feather2_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_mouth_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_mouth_joint.def_c_mouth_end", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_waddle1_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_waddle1_joint.def_c_waddle2_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_feather1_joint.def_c_feather2_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_feather1_joint.def_c_feather2_joint.def_c_feather3_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_mouth_joint.def_c_mouth_end.transform", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_waddle1_joint.def_c_waddle2_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_waddle1_joint.def_c_waddle2_joint.def_c_waddle3_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_feather1_joint.def_c_feather2_joint.def_c_feather3_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_feather1_joint.def_c_feather2_joint.def_c_feather3_joint.def_c_feather4_joint", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_waddle1_joint.def_c_waddle2_joint.def_c_waddle3_joint.transform", "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_waddle1_joint.def_c_waddle2_joint.def_c_waddle3_joint.def_c_waddle_end", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_feather1_joint.def_c_feather2_joint.def_c_feather3_joint.def_c_feather4_joint.transform", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_feather1_joint.def_c_feather2_joint.def_c_feather3_joint.def_c_feather4_joint.def_c_feather_end", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_waddle1_joint.def_c_waddle2_joint.def_c_waddle3_joint.def_c_waddle_end.transform", - "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_feather1_joint.def_c_feather2_joint.def_c_feather3_joint.def_c_feather4_joint.def_c_feather_end.transform" + "RootNode.chicken_skeleton.def_c_chickenRoot_joint.def_c_spine1_joint.def_c_spine2_joint.def_c_spine3_joint.def_c_spine_end.def_c_neck_joint.def_c_head_joint.def_c_feather1_joint.def_c_feather2_joint.def_c_feather3_joint.def_c_feather4_joint.def_c_feather_end" ] }, "rules": { @@ -184,7 +150,7 @@ }, { "$type": "ClothRule", - "meshNodeName": "RootNode.chicken_mohawk", + "meshNodeName": "RootNode.chicken_mohawk.chicken_mohawk_1", "inverseMassesStreamName": "Col0", "motionConstraintsStreamName": "Default: 1.0", "backstopStreamName": "None" diff --git a/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_blinds.fbx.assetinfo b/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_blinds.fbx.assetinfo index cbde27b201..b7dae925c9 100644 --- a/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_blinds.fbx.assetinfo +++ b/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_blinds.fbx.assetinfo @@ -7,10 +7,14 @@ "selectedNodes": [ "RootNode", "RootNode.pPlane1", - "RootNode.pPlane1.Col0", - "RootNode.pPlane1.transform", - "RootNode.pPlane1.map1", - "RootNode.pPlane1.lambert1" + "RootNode.pPlane1.pPlane1_1", + "RootNode.pPlane1.pPlane1_2", + "RootNode.pPlane1.pPlane1_1.Col0", + "RootNode.pPlane1.pPlane1_1.map1", + "RootNode.pPlane1.pPlane1_1.lambert1", + "RootNode.pPlane1.pPlane1_2.Col0", + "RootNode.pPlane1.pPlane1_2.map1", + "RootNode.pPlane1.pPlane1_2.lambert1" ] }, "rules": { @@ -24,7 +28,7 @@ }, { "$type": "ClothRule", - "meshNodeName": "RootNode.pPlane1", + "meshNodeName": "RootNode.pPlane1.pPlane1_1", "inverseMassesStreamName": "Col0", "motionConstraintsStreamName": "Default: 1.0", "backstopStreamName": "None" @@ -34,4 +38,4 @@ "id": "{9D0F5F7F-FB90-5C00-97A7-C55F9180CE4E}" } ] -} +} \ No newline at end of file diff --git a/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_blinds_broken.fbx.assetinfo b/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_blinds_broken.fbx.assetinfo index 1636e063a7..db558275cf 100644 --- a/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_blinds_broken.fbx.assetinfo +++ b/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_blinds_broken.fbx.assetinfo @@ -7,10 +7,14 @@ "selectedNodes": [ "RootNode", "RootNode.pPlane1", - "RootNode.pPlane1.Col0", - "RootNode.pPlane1.transform", - "RootNode.pPlane1.map1", - "RootNode.pPlane1.lambert1" + "RootNode.pPlane1.pPlane1_1", + "RootNode.pPlane1.pPlane1_2", + "RootNode.pPlane1.pPlane1_1.Col0", + "RootNode.pPlane1.pPlane1_1.map1", + "RootNode.pPlane1.pPlane1_1.lambert1", + "RootNode.pPlane1.pPlane1_2.Col0", + "RootNode.pPlane1.pPlane1_2.map1", + "RootNode.pPlane1.pPlane1_2.lambert1" ] }, "rules": { @@ -24,7 +28,7 @@ }, { "$type": "ClothRule", - "meshNodeName": "RootNode.pPlane1", + "meshNodeName": "RootNode.pPlane1.pPlane1_1", "inverseMassesStreamName": "Col0", "motionConstraintsStreamName": "Default: 1.0", "backstopStreamName": "None" @@ -34,4 +38,4 @@ "id": "{3A467F2C-C2AB-581F-94E3-946575011973}" } ] -} +} \ No newline at end of file diff --git a/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_locked_corners_four.fbx.assetinfo b/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_locked_corners_four.fbx.assetinfo index aea3110a42..5dacf085cf 100644 --- a/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_locked_corners_four.fbx.assetinfo +++ b/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_locked_corners_four.fbx.assetinfo @@ -7,10 +7,14 @@ "selectedNodes": [ "RootNode", "RootNode.pPlane1", - "RootNode.pPlane1.Col0", - "RootNode.pPlane1.transform", - "RootNode.pPlane1.map1", - "RootNode.pPlane1.lambert1" + "RootNode.pPlane1.pPlane1_1", + "RootNode.pPlane1.pPlane1_2", + "RootNode.pPlane1.pPlane1_1.Col0", + "RootNode.pPlane1.pPlane1_1.map1", + "RootNode.pPlane1.pPlane1_1.lambert1", + "RootNode.pPlane1.pPlane1_2.Col0", + "RootNode.pPlane1.pPlane1_2.map1", + "RootNode.pPlane1.pPlane1_2.lambert1" ] }, "rules": { @@ -24,7 +28,7 @@ }, { "$type": "ClothRule", - "meshNodeName": "RootNode.pPlane1", + "meshNodeName": "RootNode.pPlane1.pPlane1_1", "inverseMassesStreamName": "Col0", "motionConstraintsStreamName": "Default: 1.0", "backstopStreamName": "None" @@ -34,4 +38,4 @@ "id": "{105338D3-5947-5F72-A077-36C193C8AE7C}" } ] -} +} \ No newline at end of file diff --git a/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_locked_corners_two.fbx.assetinfo b/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_locked_corners_two.fbx.assetinfo index d23b92be9f..8da57dbed3 100644 --- a/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_locked_corners_two.fbx.assetinfo +++ b/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_locked_corners_two.fbx.assetinfo @@ -7,10 +7,14 @@ "selectedNodes": [ "RootNode", "RootNode.pPlane1", - "RootNode.pPlane1.Col0", - "RootNode.pPlane1.transform", - "RootNode.pPlane1.map1", - "RootNode.pPlane1.lambert1" + "RootNode.pPlane1.pPlane1_1", + "RootNode.pPlane1.pPlane1_2", + "RootNode.pPlane1.pPlane1_1.Col0", + "RootNode.pPlane1.pPlane1_1.map1", + "RootNode.pPlane1.pPlane1_1.lambert1", + "RootNode.pPlane1.pPlane1_2.Col0", + "RootNode.pPlane1.pPlane1_2.map1", + "RootNode.pPlane1.pPlane1_2.lambert1" ] }, "rules": { @@ -24,7 +28,7 @@ }, { "$type": "ClothRule", - "meshNodeName": "RootNode.pPlane1", + "meshNodeName": "RootNode.pPlane1.pPlane1_1", "inverseMassesStreamName": "Col0", "motionConstraintsStreamName": "Default: 1.0", "backstopStreamName": "None" diff --git a/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_locked_edge.fbx.assetinfo b/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_locked_edge.fbx.assetinfo index 6a56ea23cf..bfc39618b4 100644 --- a/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_locked_edge.fbx.assetinfo +++ b/Gems/NvCloth/Assets/Objects/cloth/Environment/cloth_locked_edge.fbx.assetinfo @@ -7,10 +7,14 @@ "selectedNodes": [ "RootNode", "RootNode.pPlane1", - "RootNode.pPlane1.Col0", - "RootNode.pPlane1.transform", - "RootNode.pPlane1.map1", - "RootNode.pPlane1.lambert1" + "RootNode.pPlane1.pPlane1_1", + "RootNode.pPlane1.pPlane1_2", + "RootNode.pPlane1.pPlane1_1.Col0", + "RootNode.pPlane1.pPlane1_1.map1", + "RootNode.pPlane1.pPlane1_1.lambert1", + "RootNode.pPlane1.pPlane1_2.Col0", + "RootNode.pPlane1.pPlane1_2.map1", + "RootNode.pPlane1.pPlane1_2.lambert1" ] }, "rules": { @@ -24,7 +28,7 @@ }, { "$type": "ClothRule", - "meshNodeName": "RootNode.pPlane1", + "meshNodeName": "RootNode.pPlane1.pPlane1_1", "inverseMassesStreamName": "Col0", "motionConstraintsStreamName": "Default: 1.0", "backstopStreamName": "None" diff --git a/Gems/NvCloth/Assets/prefabs/Cloth/Chicken_Actor.prefab b/Gems/NvCloth/Assets/prefabs/Cloth/Chicken_Actor.prefab index 57953f927b..16d30a36c2 100644 --- a/Gems/NvCloth/Assets/prefabs/Cloth/Chicken_Actor.prefab +++ b/Gems/NvCloth/Assets/prefabs/Cloth/Chicken_Actor.prefab @@ -22,8 +22,7 @@ "Component_[4272963378099646759]": { "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", "Id": 4272963378099646759, - "Parent Entity": "", - "Cached World Transform Parent": "" + "Parent Entity": "" }, "Component_[4848458548047175816]": { "$type": "EditorVisibilityComponent", @@ -80,8 +79,7 @@ "Component_[12470135924384913029]": { "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", "Id": 12470135924384913029, - "Parent Entity": "ContainerEntity", - "Cached World Transform Parent": "ContainerEntity" + "Parent Entity": "ContainerEntity" }, "Component_[14919455666821657531]": { "$type": "EditorEntitySortComponent", @@ -108,8 +106,7 @@ "$type": "SelectionComponent", "Id": 786957291078135994 } - }, - "IsDependencyReady": true + } }, "Entity_[303451468511700]": { "Id": "Entity_[303451468511700]", @@ -163,7 +160,7 @@ "assetHint": "objects/cloth/chicken/motions/chickenidle.motion" }, "Loop": true, - "PlaySpeed": 1.2000000476837159 + "PlaySpeed": 1.2000000476837158 } }, "Component_[3482722103355682975]": { @@ -182,7 +179,7 @@ "$type": "EditorClothComponent", "Id": 7236637452394054627, "Configuration": { - "Mesh Node": "chicken_mohawk", + "Mesh Node": "chicken_mohawk_1", "Mass": 4.0, "Remove Static Triangles": false } @@ -191,18 +188,27 @@ "$type": "EditorEntitySortComponent", "Id": 868427789695884987 }, - "Component_[8777596718122199558]": { + "Component_[9845606399230319505]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 9845606399230319505, + "Parent Entity": "Entity_[303447173544404]", + "Transform Data": { + "Rotate": [ + 0.0, + 0.0, + -0.00006830000347690657 + ] + } + }, + "Component_[9927411050130082647]": { "$type": "EditorMaterialComponent", - "Id": 8777596718122199558, + "Id": 9927411050130082647, "Controller": { "Configuration": { "materials": [ { "Key": { - "materialAssetId": { - "guid": "{3E4C6A29-92A4-523E-8739-F3E64957569E}", - "subId": 668669130 - } + "materialSlotStableId": 668669130 }, "Value": { "MaterialAsset": { @@ -215,10 +221,7 @@ }, { "Key": { - "materialAssetId": { - "guid": "{3E4C6A29-92A4-523E-8739-F3E64957569E}", - "subId": 1541321207 - } + "materialSlotStableId": 1541321207 }, "Value": { "MaterialAsset": { @@ -231,10 +234,7 @@ }, { "Key": { - "materialAssetId": { - "guid": "{3E4C6A29-92A4-523E-8739-F3E64957569E}", - "subId": 2608524672 - } + "materialSlotStableId": 2608524672 }, "Value": { "MaterialAsset": { @@ -251,44 +251,59 @@ "materialSlots": [ { "id": { - "materialAssetId": { - "guid": "{3E4C6A29-92A4-523E-8739-F3E64957569E}", - "subId": 668669130 - } + "materialSlotStableId": 668669130 }, "materialAsset": { "assetId": { "guid": "{FB34D8F7-E8CA-542D-92A3-F0E04F3A3EC3}" }, "assetHint": "objects/cloth/chicken/actor/chicken_chicken_body_mat.azmaterial" + }, + "defaultMaterialAsset": { + "assetId": { + "guid": "{3E4C6A29-92A4-523E-8739-F3E64957569E}", + "subId": 668669130 + }, + "loadBehavior": "PreLoad", + "assetHint": "objects/cloth/chicken/actor/chicken_chicken_body_mat_4404500000782619850.azmaterial" } }, { "id": { - "materialAssetId": { - "guid": "{3E4C6A29-92A4-523E-8739-F3E64957569E}", - "subId": 1541321207 - } + "materialSlotStableId": 1541321207 }, "materialAsset": { "assetId": { "guid": "{6114C408-26EE-51DC-8733-A07800BF4991}" }, "assetHint": "objects/cloth/chicken/actor/chicken_chicken_eye_mat.azmaterial" + }, + "defaultMaterialAsset": { + "assetId": { + "guid": "{3E4C6A29-92A4-523E-8739-F3E64957569E}", + "subId": 1541321207 + }, + "loadBehavior": "PreLoad", + "assetHint": "objects/cloth/chicken/actor/chicken_chicken_eye_mat_10184937185004663287.azmaterial" } }, { "id": { - "materialAssetId": { - "guid": "{3E4C6A29-92A4-523E-8739-F3E64957569E}", - "subId": 2608524672 - } + "materialSlotStableId": 2608524672 }, "materialAsset": { "assetId": { "guid": "{80F92051-203E-52CE-B4D6-E3AED21795C9}" }, "assetHint": "objects/cloth/chicken/actor/chicken_mohawkmat.azmaterial" + }, + "defaultMaterialAsset": { + "assetId": { + "guid": "{3E4C6A29-92A4-523E-8739-F3E64957569E}", + "subId": 2608524672 + }, + "loadBehavior": "PreLoad", + "assetHint": "objects/cloth/chicken/actor/chicken_mohawkmat_13891540077583723904.azmaterial" } } ], @@ -297,46 +312,48 @@ { "id": { "lodIndex": 0, - "materialAssetId": { + "materialSlotStableId": 668669130 + }, + "defaultMaterialAsset": { + "assetId": { "guid": "{3E4C6A29-92A4-523E-8739-F3E64957569E}", "subId": 668669130 - } + }, + "loadBehavior": "PreLoad", + "assetHint": "objects/cloth/chicken/actor/chicken_chicken_body_mat_4404500000782619850.azmaterial" } }, { "id": { "lodIndex": 0, - "materialAssetId": { + "materialSlotStableId": 1541321207 + }, + "defaultMaterialAsset": { + "assetId": { "guid": "{3E4C6A29-92A4-523E-8739-F3E64957569E}", "subId": 1541321207 - } + }, + "loadBehavior": "PreLoad", + "assetHint": "objects/cloth/chicken/actor/chicken_chicken_eye_mat_10184937185004663287.azmaterial" } }, { "id": { "lodIndex": 0, - "materialAssetId": { + "materialSlotStableId": 2608524672 + }, + "defaultMaterialAsset": { + "assetId": { "guid": "{3E4C6A29-92A4-523E-8739-F3E64957569E}", "subId": 2608524672 - } + }, + "loadBehavior": "PreLoad", + "assetHint": "objects/cloth/chicken/actor/chicken_mohawkmat_13891540077583723904.azmaterial" } } ] ] }, - "Component_[9845606399230319505]": { - "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", - "Id": 9845606399230319505, - "Parent Entity": "Entity_[303447173544404]", - "Transform Data": { - "Rotate": [ - 0.0, - 0.0, - -0.00006830000347690657 - ] - }, - "Cached World Transform Parent": "" - }, "Component_[9979479216337101498]": { "$type": "EditorInspectorComponent", "Id": 9979479216337101498, @@ -362,8 +379,7 @@ } ] } - }, - "IsDependencyReady": true + } } } } \ No newline at end of file diff --git a/Gems/NvCloth/Assets/prefabs/Cloth/cloth_blinds.prefab b/Gems/NvCloth/Assets/prefabs/Cloth/cloth_blinds.prefab index 270f52b29b..108b4ba13c 100644 --- a/Gems/NvCloth/Assets/prefabs/Cloth/cloth_blinds.prefab +++ b/Gems/NvCloth/Assets/prefabs/Cloth/cloth_blinds.prefab @@ -22,8 +22,7 @@ "Component_[4272963378099646759]": { "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", "Id": 4272963378099646759, - "Parent Entity": "", - "Cached World Transform Parent": "" + "Parent Entity": "" }, "Component_[4848458548047175816]": { "$type": "EditorVisibilityComponent", @@ -64,7 +63,7 @@ "$type": "EditorClothComponent", "Id": 11309989511197311871, "Configuration": { - "Mesh Node": "pPlane1", + "Mesh Node": "pPlane1_1", "Damping": [ 0.0, 0.0, @@ -94,6 +93,68 @@ "$type": "EditorLockComponent", "Id": 12850019035302463297 }, + "Component_[15070431754554069043]": { + "$type": "EditorMaterialComponent", + "Id": 15070431754554069043, + "Controller": { + "Configuration": { + "materials": [ + { + "Key": { + "materialSlotStableId": 902256226 + }, + "Value": { + "MaterialAsset": { + "assetId": { + "guid": "{6BFA7C7C-AF9F-5B12-8B30-6B6ECE9BAB9E}" + }, + "assetHint": "objects/cloth/environment/cloth_blinds.azmaterial" + } + } + } + ] + } + }, + "materialSlots": [ + { + "id": { + "materialSlotStableId": 902256226 + }, + "materialAsset": { + "assetId": { + "guid": "{6BFA7C7C-AF9F-5B12-8B30-6B6ECE9BAB9E}" + }, + "assetHint": "objects/cloth/environment/cloth_blinds.azmaterial" + }, + "defaultMaterialAsset": { + "assetId": { + "guid": "{C3078003-51DA-5D8E-B311-38C426480DD2}", + "subId": 902256226 + }, + "loadBehavior": "PreLoad", + "assetHint": "objects/cloth/environment/cloth_blinds_lambert1_3614897150141879906.azmaterial" + } + } + ], + "materialSlotsByLod": [ + [ + { + "id": { + "lodIndex": 0, + "materialSlotStableId": 902256226 + }, + "defaultMaterialAsset": { + "assetId": { + "guid": "{C3078003-51DA-5D8E-B311-38C426480DD2}", + "subId": 902256226 + }, + "loadBehavior": "PreLoad", + "assetHint": "objects/cloth/environment/cloth_blinds_lambert1_3614897150141879906.azmaterial" + } + } + ] + ] + }, "Component_[15214644042360665965]": { "$type": "AZ::Render::EditorMeshComponent", "Id": 15214644042360665965, @@ -145,8 +206,7 @@ "Component_[4795695323030511838]": { "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", "Id": 4795695323030511838, - "Parent Entity": "ContainerEntity", - "Cached World Transform Parent": "ContainerEntity" + "Parent Entity": "ContainerEntity" }, "Component_[5800800590637221800]": { "$type": "EditorDisabledCompositionComponent", @@ -159,64 +219,8 @@ "Component_[7074022732104182988]": { "$type": "EditorEntitySortComponent", "Id": 7074022732104182988 - }, - "Component_[9206497685981025331]": { - "$type": "EditorMaterialComponent", - "Id": 9206497685981025331, - "Controller": { - "Configuration": { - "materials": [ - { - "Key": { - "materialAssetId": { - "guid": "{C3078003-51DA-5D8E-B311-38C426480DD2}", - "subId": 902256226 - } - }, - "Value": { - "MaterialAsset": { - "assetId": { - "guid": "{6BFA7C7C-AF9F-5B12-8B30-6B6ECE9BAB9E}" - }, - "assetHint": "objects/cloth/environment/cloth_blinds.azmaterial" - } - } - } - ] - } - }, - "materialSlots": [ - { - "id": { - "materialAssetId": { - "guid": "{C3078003-51DA-5D8E-B311-38C426480DD2}", - "subId": 902256226 - } - }, - "materialAsset": { - "assetId": { - "guid": "{6BFA7C7C-AF9F-5B12-8B30-6B6ECE9BAB9E}" - }, - "assetHint": "objects/cloth/environment/cloth_blinds.azmaterial" - } - } - ], - "materialSlotsByLod": [ - [ - { - "id": { - "lodIndex": 0, - "materialAssetId": { - "guid": "{C3078003-51DA-5D8E-B311-38C426480DD2}", - "subId": 902256226 - } - } - } - ] - ] } - }, - "IsDependencyReady": true + } } } } \ No newline at end of file diff --git a/Gems/NvCloth/Assets/prefabs/Cloth/cloth_blinds_broken.prefab b/Gems/NvCloth/Assets/prefabs/Cloth/cloth_blinds_broken.prefab index 7feb61db90..52b0c9fa17 100644 --- a/Gems/NvCloth/Assets/prefabs/Cloth/cloth_blinds_broken.prefab +++ b/Gems/NvCloth/Assets/prefabs/Cloth/cloth_blinds_broken.prefab @@ -22,8 +22,7 @@ "Component_[4272963378099646759]": { "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", "Id": 4272963378099646759, - "Parent Entity": "", - "Cached World Transform Parent": "" + "Parent Entity": "" }, "Component_[4848458548047175816]": { "$type": "EditorVisibilityComponent", @@ -60,7 +59,7 @@ "$type": "EditorClothComponent", "Id": 10786078036233199116, "Configuration": { - "Mesh Node": "pPlane1", + "Mesh Node": "pPlane1_1", "Damping": [ 0.0, 0.0, @@ -127,66 +126,10 @@ "$type": "EditorEntityIconComponent", "Id": 4939437553142322315 }, - "Component_[538074694053236341]": { - "$type": "EditorMaterialComponent", - "Id": 538074694053236341, - "Controller": { - "Configuration": { - "materials": [ - { - "Key": { - "materialAssetId": { - "guid": "{A64AD477-5E35-5834-A9A3-580B9D708E0C}", - "subId": 902256226 - } - }, - "Value": { - "MaterialAsset": { - "assetId": { - "guid": "{EB6CB909-E4BB-54CB-8CAE-6A4B4F203B1B}" - }, - "assetHint": "objects/cloth/environment/cloth_blinds_broken.azmaterial" - } - } - } - ] - } - }, - "materialSlots": [ - { - "id": { - "materialAssetId": { - "guid": "{A64AD477-5E35-5834-A9A3-580B9D708E0C}", - "subId": 902256226 - } - }, - "materialAsset": { - "assetId": { - "guid": "{EB6CB909-E4BB-54CB-8CAE-6A4B4F203B1B}" - }, - "assetHint": "objects/cloth/environment/cloth_blinds_broken.azmaterial" - } - } - ], - "materialSlotsByLod": [ - [ - { - "id": { - "lodIndex": 0, - "materialAssetId": { - "guid": "{A64AD477-5E35-5834-A9A3-580B9D708E0C}", - "subId": 902256226 - } - } - } - ] - ] - }, "Component_[5681411293917950785]": { "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", "Id": 5681411293917950785, - "Parent Entity": "ContainerEntity", - "Cached World Transform Parent": "ContainerEntity" + "Parent Entity": "ContainerEntity" }, "Component_[7046686956433693767]": { "$type": "EditorInspectorComponent", @@ -209,12 +152,73 @@ } ] }, + "Component_[7873865615483617838]": { + "$type": "EditorMaterialComponent", + "Id": 7873865615483617838, + "Controller": { + "Configuration": { + "materials": [ + { + "Key": { + "materialSlotStableId": 902256226 + }, + "Value": { + "MaterialAsset": { + "assetId": { + "guid": "{EB6CB909-E4BB-54CB-8CAE-6A4B4F203B1B}" + }, + "assetHint": "objects/cloth/environment/cloth_blinds_broken.azmaterial" + } + } + } + ] + } + }, + "materialSlots": [ + { + "id": { + "materialSlotStableId": 902256226 + }, + "materialAsset": { + "assetId": { + "guid": "{EB6CB909-E4BB-54CB-8CAE-6A4B4F203B1B}" + }, + "assetHint": "objects/cloth/environment/cloth_blinds_broken.azmaterial" + }, + "defaultMaterialAsset": { + "assetId": { + "guid": "{A64AD477-5E35-5834-A9A3-580B9D708E0C}", + "subId": 902256226 + }, + "loadBehavior": "PreLoad", + "assetHint": "objects/cloth/environment/cloth_blinds_broken_lambert1_3614897150141879906.azmaterial" + } + } + ], + "materialSlotsByLod": [ + [ + { + "id": { + "lodIndex": 0, + "materialSlotStableId": 902256226 + }, + "defaultMaterialAsset": { + "assetId": { + "guid": "{A64AD477-5E35-5834-A9A3-580B9D708E0C}", + "subId": 902256226 + }, + "loadBehavior": "PreLoad", + "assetHint": "objects/cloth/environment/cloth_blinds_broken_lambert1_3614897150141879906.azmaterial" + } + } + ] + ] + }, "Component_[9565338131843702938]": { "$type": "EditorOnlyEntityComponent", "Id": 9565338131843702938 } - }, - "IsDependencyReady": true + } } } } \ No newline at end of file diff --git a/Gems/NvCloth/Assets/prefabs/Cloth/cloth_locked_corners_four.prefab b/Gems/NvCloth/Assets/prefabs/Cloth/cloth_locked_corners_four.prefab index cdbe92dab6..1017317bd3 100644 --- a/Gems/NvCloth/Assets/prefabs/Cloth/cloth_locked_corners_four.prefab +++ b/Gems/NvCloth/Assets/prefabs/Cloth/cloth_locked_corners_four.prefab @@ -22,8 +22,7 @@ "Component_[4272963378099646759]": { "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", "Id": 4272963378099646759, - "Parent Entity": "", - "Cached World Transform Parent": "" + "Parent Entity": "" }, "Component_[4848458548047175816]": { "$type": "EditorVisibilityComponent", @@ -74,63 +73,7 @@ "Component_[12766570162661899127]": { "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", "Id": 12766570162661899127, - "Parent Entity": "ContainerEntity", - "Cached World Transform Parent": "ContainerEntity" - }, - "Component_[12950486357466178058]": { - "$type": "EditorMaterialComponent", - "Id": 12950486357466178058, - "Controller": { - "Configuration": { - "materials": [ - { - "Key": { - "materialAssetId": { - "guid": "{89C91D92-7B4E-5EB5-945D-0053111859EE}", - "subId": 902256226 - } - }, - "Value": { - "MaterialAsset": { - "assetId": { - "guid": "{838EA487-0F74-5448-AABE-947B138CD6C2}" - }, - "assetHint": "objects/cloth/environment/cloth_locked_corners_four.azmaterial" - } - } - } - ] - } - }, - "materialSlots": [ - { - "id": { - "materialAssetId": { - "guid": "{89C91D92-7B4E-5EB5-945D-0053111859EE}", - "subId": 902256226 - } - }, - "materialAsset": { - "assetId": { - "guid": "{838EA487-0F74-5448-AABE-947B138CD6C2}" - }, - "assetHint": "objects/cloth/environment/cloth_locked_corners_four.azmaterial" - } - } - ], - "materialSlotsByLod": [ - [ - { - "id": { - "lodIndex": 0, - "materialAssetId": { - "guid": "{89C91D92-7B4E-5EB5-945D-0053111859EE}", - "subId": 902256226 - } - } - } - ] - ] + "Parent Entity": "ContainerEntity" }, "Component_[13484816898680823471]": { "$type": "EditorEntitySortComponent", @@ -165,7 +108,7 @@ "$type": "EditorClothComponent", "Id": 15114198178471353754, "Configuration": { - "Mesh Node": "pPlane1", + "Mesh Node": "pPlane1_1", "Stiffness Frequency": 1.0, "Damping": [ 0.0, @@ -210,6 +153,68 @@ "$type": "EditorDisabledCompositionComponent", "Id": 7652255413353256955 }, + "Component_[8261070538889619357]": { + "$type": "EditorMaterialComponent", + "Id": 8261070538889619357, + "Controller": { + "Configuration": { + "materials": [ + { + "Key": { + "materialSlotStableId": 902256226 + }, + "Value": { + "MaterialAsset": { + "assetId": { + "guid": "{838EA487-0F74-5448-AABE-947B138CD6C2}" + }, + "assetHint": "objects/cloth/environment/cloth_locked_corners_four.azmaterial" + } + } + } + ] + } + }, + "materialSlots": [ + { + "id": { + "materialSlotStableId": 902256226 + }, + "materialAsset": { + "assetId": { + "guid": "{838EA487-0F74-5448-AABE-947B138CD6C2}" + }, + "assetHint": "objects/cloth/environment/cloth_locked_corners_four.azmaterial" + }, + "defaultMaterialAsset": { + "assetId": { + "guid": "{89C91D92-7B4E-5EB5-945D-0053111859EE}", + "subId": 902256226 + }, + "loadBehavior": "PreLoad", + "assetHint": "objects/cloth/environment/cloth_locked_corners_four_lambert1_3614897150141879906.azmaterial" + } + } + ], + "materialSlotsByLod": [ + [ + { + "id": { + "lodIndex": 0, + "materialSlotStableId": 902256226 + }, + "defaultMaterialAsset": { + "assetId": { + "guid": "{89C91D92-7B4E-5EB5-945D-0053111859EE}", + "subId": 902256226 + }, + "loadBehavior": "PreLoad", + "assetHint": "objects/cloth/environment/cloth_locked_corners_four_lambert1_3614897150141879906.azmaterial" + } + } + ] + ] + }, "Component_[8417657922837077982]": { "$type": "EditorVisibilityComponent", "Id": 8417657922837077982 @@ -218,8 +223,7 @@ "$type": "SelectionComponent", "Id": 944311658362107535 } - }, - "IsDependencyReady": true + } } } } \ No newline at end of file diff --git a/Gems/NvCloth/Assets/prefabs/Cloth/cloth_locked_corners_two.prefab b/Gems/NvCloth/Assets/prefabs/Cloth/cloth_locked_corners_two.prefab index 068c4a6a7e..368cb2d846 100644 --- a/Gems/NvCloth/Assets/prefabs/Cloth/cloth_locked_corners_two.prefab +++ b/Gems/NvCloth/Assets/prefabs/Cloth/cloth_locked_corners_two.prefab @@ -22,8 +22,7 @@ "Component_[4272963378099646759]": { "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", "Id": 4272963378099646759, - "Parent Entity": "", - "Cached World Transform Parent": "" + "Parent Entity": "" }, "Component_[4848458548047175816]": { "$type": "EditorVisibilityComponent", @@ -84,7 +83,7 @@ "$type": "EditorClothComponent", "Id": 16927361351552746000, "Configuration": { - "Mesh Node": "pPlane1", + "Mesh Node": "pPlane1_1", "Mass": 10.0, "Stiffness Frequency": 1.0, "Damping": [ @@ -109,6 +108,68 @@ "Update Normals of Static Particles": true } }, + "Component_[17380859760246609280]": { + "$type": "EditorMaterialComponent", + "Id": 17380859760246609280, + "Controller": { + "Configuration": { + "materials": [ + { + "Key": { + "materialSlotStableId": 902256226 + }, + "Value": { + "MaterialAsset": { + "assetId": { + "guid": "{A56F28DD-6082-50B6-9B44-9EF3E03E95BB}" + }, + "assetHint": "objects/cloth/environment/cloth_locked_corners_two.azmaterial" + } + } + } + ] + } + }, + "materialSlots": [ + { + "id": { + "materialSlotStableId": 902256226 + }, + "materialAsset": { + "assetId": { + "guid": "{A56F28DD-6082-50B6-9B44-9EF3E03E95BB}" + }, + "assetHint": "objects/cloth/environment/cloth_locked_corners_two.azmaterial" + }, + "defaultMaterialAsset": { + "assetId": { + "guid": "{23C6817F-0B79-5CAD-B861-9E6F5E55927D}", + "subId": 902256226 + }, + "loadBehavior": "PreLoad", + "assetHint": "objects/cloth/environment/cloth_locked_corners_two_lambert1_3614897150141879906.azmaterial" + } + } + ], + "materialSlotsByLod": [ + [ + { + "id": { + "lodIndex": 0, + "materialSlotStableId": 902256226 + }, + "defaultMaterialAsset": { + "assetId": { + "guid": "{23C6817F-0B79-5CAD-B861-9E6F5E55927D}", + "subId": 902256226 + }, + "loadBehavior": "PreLoad", + "assetHint": "objects/cloth/environment/cloth_locked_corners_two_lambert1_3614897150141879906.azmaterial" + } + } + ] + ] + }, "Component_[2410073307760782444]": { "$type": "EditorPendingCompositionComponent", "Id": 2410073307760782444 @@ -137,8 +198,7 @@ "Component_[5636741882934012477]": { "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", "Id": 5636741882934012477, - "Parent Entity": "ContainerEntity", - "Cached World Transform Parent": "ContainerEntity" + "Parent Entity": "ContainerEntity" }, "Component_[691437686890444081]": { "$type": "SelectionComponent", @@ -158,64 +218,8 @@ } } } - }, - "Component_[9419069324766365964]": { - "$type": "EditorMaterialComponent", - "Id": 9419069324766365964, - "Controller": { - "Configuration": { - "materials": [ - { - "Key": { - "materialAssetId": { - "guid": "{23C6817F-0B79-5CAD-B861-9E6F5E55927D}", - "subId": 902256226 - } - }, - "Value": { - "MaterialAsset": { - "assetId": { - "guid": "{A56F28DD-6082-50B6-9B44-9EF3E03E95BB}" - }, - "assetHint": "objects/cloth/environment/cloth_locked_corners_two.azmaterial" - } - } - } - ] - } - }, - "materialSlots": [ - { - "id": { - "materialAssetId": { - "guid": "{23C6817F-0B79-5CAD-B861-9E6F5E55927D}", - "subId": 902256226 - } - }, - "materialAsset": { - "assetId": { - "guid": "{A56F28DD-6082-50B6-9B44-9EF3E03E95BB}" - }, - "assetHint": "objects/cloth/environment/cloth_locked_corners_two.azmaterial" - } - } - ], - "materialSlotsByLod": [ - [ - { - "id": { - "lodIndex": 0, - "materialAssetId": { - "guid": "{23C6817F-0B79-5CAD-B861-9E6F5E55927D}", - "subId": 902256226 - } - } - } - ] - ] } - }, - "IsDependencyReady": true + } } } } \ No newline at end of file diff --git a/Gems/NvCloth/Assets/prefabs/Cloth/cloth_locked_edge.prefab b/Gems/NvCloth/Assets/prefabs/Cloth/cloth_locked_edge.prefab index 7bba36adf8..ec837d1bd4 100644 --- a/Gems/NvCloth/Assets/prefabs/Cloth/cloth_locked_edge.prefab +++ b/Gems/NvCloth/Assets/prefabs/Cloth/cloth_locked_edge.prefab @@ -22,8 +22,7 @@ "Component_[4272963378099646759]": { "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", "Id": 4272963378099646759, - "Parent Entity": "", - "Cached World Transform Parent": "" + "Parent Entity": "" }, "Component_[4848458548047175816]": { "$type": "EditorVisibilityComponent", @@ -96,6 +95,68 @@ } ] }, + "Component_[14970093767651057273]": { + "$type": "EditorMaterialComponent", + "Id": 14970093767651057273, + "Controller": { + "Configuration": { + "materials": [ + { + "Key": { + "materialSlotStableId": 902256226 + }, + "Value": { + "MaterialAsset": { + "assetId": { + "guid": "{FF25E0FE-B695-5084-AE1E-65F095AA5C3F}" + }, + "assetHint": "objects/cloth/environment/cloth_locked_edge.azmaterial" + } + } + } + ] + } + }, + "materialSlots": [ + { + "id": { + "materialSlotStableId": 902256226 + }, + "materialAsset": { + "assetId": { + "guid": "{FF25E0FE-B695-5084-AE1E-65F095AA5C3F}" + }, + "assetHint": "objects/cloth/environment/cloth_locked_edge.azmaterial" + }, + "defaultMaterialAsset": { + "assetId": { + "guid": "{9DCAD62C-7A35-5D7D-8276-870D646CD5E2}", + "subId": 902256226 + }, + "loadBehavior": "PreLoad", + "assetHint": "objects/cloth/environment/cloth_locked_edge_lambert1_3614897150141879906.azmaterial" + } + } + ], + "materialSlotsByLod": [ + [ + { + "id": { + "lodIndex": 0, + "materialSlotStableId": 902256226 + }, + "defaultMaterialAsset": { + "assetId": { + "guid": "{9DCAD62C-7A35-5D7D-8276-870D646CD5E2}", + "subId": 902256226 + }, + "loadBehavior": "PreLoad", + "assetHint": "objects/cloth/environment/cloth_locked_edge_lambert1_3614897150141879906.azmaterial" + } + } + ] + ] + }, "Component_[14983280478781449966]": { "$type": "SelectionComponent", "Id": 14983280478781449966 @@ -104,7 +165,7 @@ "$type": "EditorClothComponent", "Id": 16595775512479337011, "Configuration": { - "Mesh Node": "pPlane1", + "Mesh Node": "pPlane1_1", "Damping": [ 0.0, 0.0, @@ -137,63 +198,7 @@ "Component_[4215669181198357248]": { "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", "Id": 4215669181198357248, - "Parent Entity": "ContainerEntity", - "Cached World Transform Parent": "ContainerEntity" - }, - "Component_[4580390205455331350]": { - "$type": "EditorMaterialComponent", - "Id": 4580390205455331350, - "Controller": { - "Configuration": { - "materials": [ - { - "Key": { - "materialAssetId": { - "guid": "{9DCAD62C-7A35-5D7D-8276-870D646CD5E2}", - "subId": 902256226 - } - }, - "Value": { - "MaterialAsset": { - "assetId": { - "guid": "{FF25E0FE-B695-5084-AE1E-65F095AA5C3F}" - }, - "assetHint": "objects/cloth/environment/cloth_locked_edge.azmaterial" - } - } - } - ] - } - }, - "materialSlots": [ - { - "id": { - "materialAssetId": { - "guid": "{9DCAD62C-7A35-5D7D-8276-870D646CD5E2}", - "subId": 902256226 - } - }, - "materialAsset": { - "assetId": { - "guid": "{FF25E0FE-B695-5084-AE1E-65F095AA5C3F}" - }, - "assetHint": "objects/cloth/environment/cloth_locked_edge.azmaterial" - } - } - ], - "materialSlotsByLod": [ - [ - { - "id": { - "lodIndex": 0, - "materialAssetId": { - "guid": "{9DCAD62C-7A35-5D7D-8276-870D646CD5E2}", - "subId": 902256226 - } - } - } - ] - ] + "Parent Entity": "ContainerEntity" }, "Component_[5652509070289279796]": { "$type": "EditorOnlyEntityComponent", @@ -215,8 +220,7 @@ "$type": "EditorEntitySortComponent", "Id": 9694796263300215788 } - }, - "IsDependencyReady": true + } } } } \ No newline at end of file diff --git a/Gems/NvCloth/Assets/slices/Cloth/Chicken_Actor.slice b/Gems/NvCloth/Assets/slices/Cloth/Chicken_Actor.slice index e7de286c1b..c2c97dec7a 100644 --- a/Gems/NvCloth/Assets/slices/Cloth/Chicken_Actor.slice +++ b/Gems/NvCloth/Assets/slices/Cloth/Chicken_Actor.slice @@ -24,7 +24,7 @@ - + @@ -33,19 +33,20 @@ - + + - + + - @@ -143,7 +144,7 @@ - + @@ -152,19 +153,20 @@ - + + - + + - @@ -246,7 +248,14 @@ - + + + + + + + + @@ -316,12 +325,9 @@ - + - - - - + @@ -329,12 +335,9 @@ - + - - - - + @@ -342,12 +345,9 @@ - + - - - - + @@ -360,94 +360,66 @@ - - + + - - - - + - - + - - + + - - - - + - - + - - + + - - - - + - - + - - + + - - - - + - - + - - + + - - - - + - - + - - + + - - - - + - - + - - + + - - - - + - - + @@ -459,7 +431,7 @@ - + @@ -510,6 +482,7 @@ + diff --git a/Gems/NvCloth/Assets/slices/Cloth/cloth_blinds.slice b/Gems/NvCloth/Assets/slices/Cloth/cloth_blinds.slice index 8d7605318e..40fb2894d3 100644 --- a/Gems/NvCloth/Assets/slices/Cloth/cloth_blinds.slice +++ b/Gems/NvCloth/Assets/slices/Cloth/cloth_blinds.slice @@ -24,7 +24,7 @@ - + @@ -33,14 +33,15 @@ - + + - + @@ -69,7 +70,7 @@ - + @@ -137,7 +138,7 @@ - + @@ -200,24 +201,36 @@ - + - + + + + + + + + + + + + + - + @@ -225,12 +238,9 @@ - + - - - - + @@ -243,46 +253,34 @@ - - + + - - - - + - - + - - + + - - - - + - - + - - + + - - - - + - - + diff --git a/Gems/NvCloth/Assets/slices/Cloth/cloth_blinds_broken.slice b/Gems/NvCloth/Assets/slices/Cloth/cloth_blinds_broken.slice index ff955f260e..909b3e582c 100644 --- a/Gems/NvCloth/Assets/slices/Cloth/cloth_blinds_broken.slice +++ b/Gems/NvCloth/Assets/slices/Cloth/cloth_blinds_broken.slice @@ -24,7 +24,7 @@ - + @@ -33,14 +33,15 @@ - + + - + @@ -69,7 +70,7 @@ - + @@ -137,7 +138,7 @@ - + @@ -200,24 +201,36 @@ - + - + + + + + + + + + + + + + - + @@ -225,12 +238,9 @@ - + - - - - + @@ -243,46 +253,34 @@ - - + + - - - - + - - + - - + + - - - - + - - + - - + + - - - - + - - + diff --git a/Gems/NvCloth/Assets/slices/Cloth/cloth_locked_corners_four.slice b/Gems/NvCloth/Assets/slices/Cloth/cloth_locked_corners_four.slice index d0bcd1296a..25e742550c 100644 --- a/Gems/NvCloth/Assets/slices/Cloth/cloth_locked_corners_four.slice +++ b/Gems/NvCloth/Assets/slices/Cloth/cloth_locked_corners_four.slice @@ -24,7 +24,7 @@ - + @@ -33,14 +33,15 @@ - + + - + @@ -69,7 +70,7 @@ - + @@ -137,7 +138,7 @@ - + @@ -200,24 +201,36 @@ - + - + + + + + + + + + + + + + - + @@ -225,12 +238,9 @@ - + - - - - + @@ -243,46 +253,34 @@ - - + + - - - - + - - + - - + + - - - - + - - + - - + + - - - - + - - + diff --git a/Gems/NvCloth/Assets/slices/Cloth/cloth_locked_corners_two.slice b/Gems/NvCloth/Assets/slices/Cloth/cloth_locked_corners_two.slice index 8e07a65147..26c6290859 100644 --- a/Gems/NvCloth/Assets/slices/Cloth/cloth_locked_corners_two.slice +++ b/Gems/NvCloth/Assets/slices/Cloth/cloth_locked_corners_two.slice @@ -24,7 +24,7 @@ - + @@ -33,14 +33,15 @@ - + + - + @@ -69,7 +70,7 @@ - + @@ -137,7 +138,7 @@ - + @@ -200,24 +201,36 @@ - + - + + + + + + + + + + + + + - + @@ -225,12 +238,9 @@ - + - - - - + @@ -243,46 +253,34 @@ - - + + - - - - + - - + - - + + - - - - + - - + - - + + - - - - + - - + diff --git a/Gems/NvCloth/Assets/slices/Cloth/cloth_locked_edge.slice b/Gems/NvCloth/Assets/slices/Cloth/cloth_locked_edge.slice index a80058d820..cee4fabe49 100644 --- a/Gems/NvCloth/Assets/slices/Cloth/cloth_locked_edge.slice +++ b/Gems/NvCloth/Assets/slices/Cloth/cloth_locked_edge.slice @@ -24,7 +24,7 @@ - + @@ -33,14 +33,15 @@ - + + - + @@ -69,7 +70,7 @@ - + @@ -137,7 +138,7 @@ - + @@ -200,24 +201,36 @@ - + - + + + + + + + + + + + + + - + @@ -225,12 +238,9 @@ - + - - - - + @@ -243,46 +253,34 @@ - - + + - - - - + - - + - - + + - - - - + - - + - - + + - - - - + - - + From 95f3477831d607ef920b2a3c55d036062692500c Mon Sep 17 00:00:00 2001 From: evanchia-ly-sdets <80914607+evanchia-ly-sdets@users.noreply.github.com> Date: Thu, 2 Sep 2021 03:08:37 -0700 Subject: [PATCH 60/66] Moving physics test from sandbox to main (#3858) Signed-off-by: evanchia --- .../Gem/PythonTests/physics/TestSuite_Main.py | 5 +++++ .../Gem/PythonTests/physics/TestSuite_Sandbox.py | 8 -------- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Main.py b/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Main.py index de4828e36a..c3f41b158f 100644 --- a/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Main.py +++ b/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Main.py @@ -84,3 +84,8 @@ class TestAutomation(TestAutomationBase): def test_C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain(self, request, workspace, editor, launcher_platform): from .collider import C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain as test_module self._run_test(request, workspace, editor, test_module) + + @revert_physics_config + def test_C15425929_Undo_Redo(self, request, workspace, editor, launcher_platform): + from .general import C15425929_Undo_Redo as test_module + self._run_test(request, workspace, editor, test_module) \ No newline at end of file diff --git a/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Sandbox.py b/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Sandbox.py index 0346df2ebd..1d26e2e40c 100755 --- a/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Sandbox.py +++ b/AutomatedTesting/Gem/PythonTests/physics/TestSuite_Sandbox.py @@ -43,11 +43,3 @@ class TestAutomation(TestAutomationBase): # Fixme: unexpected_lines.append(f"GroupName: {group}") # Fixme: expected_lines=["GroupName: "] self._run_test(request, workspace, editor, test_module) - - ## Seems to be flaky, need to investigate - @pytest.mark.xfail( - reason="Editor crashes and errors about files accessed by multiple processes appear in the log.") - @revert_physics_config - def test_C15425929_Undo_Redo(self, request, workspace, editor, launcher_platform): - from .general import C15425929_Undo_Redo as test_module - self._run_test(request, workspace, editor, test_module) From 34dc8e3cbc273130a8544f56b016b811054519cc Mon Sep 17 00:00:00 2001 From: moraaar Date: Thu, 2 Sep 2021 13:15:14 +0100 Subject: [PATCH 61/66] Fixed unused variable warnings (#3880) - Fixed error in iOS profile non-unity build error: unused variable 'INVALID_OFFSET'. The global variable is static const only visible to the cpp, removed since it's not used. - Fixed error in windows release 'timeoutSeconds': unreferenced formal parameter Signed-off-by: moraaar --- Code/Framework/AzCore/AzCore/Debug/Trace.cpp | 2 +- Gems/Atom/RHI/Metal/Code/Source/RHI/Conversions.cpp | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/Code/Framework/AzCore/AzCore/Debug/Trace.cpp b/Code/Framework/AzCore/AzCore/Debug/Trace.cpp index 87f6def0d2..429986b724 100644 --- a/Code/Framework/AzCore/AzCore/Debug/Trace.cpp +++ b/Code/Framework/AzCore/AzCore/Debug/Trace.cpp @@ -154,7 +154,7 @@ namespace AZ } bool - Trace::WaitForDebugger(float timeoutSeconds/*=-1.f*/) + Trace::WaitForDebugger([[maybe_unused]] float timeoutSeconds/*=-1.f*/) { #if defined(AZ_ENABLE_DEBUG_TOOLS) using AZStd::chrono::system_clock; diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/Conversions.cpp b/Gems/Atom/RHI/Metal/Code/Source/RHI/Conversions.cpp index fce4db364f..96e61be2cd 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/Conversions.cpp +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/Conversions.cpp @@ -17,8 +17,6 @@ namespace AZ { namespace Metal { - static const int INVALID_OFFSET = 0xFFFFFFFF; - namespace Platform { MTLPixelFormat ConvertPixelFormat(RHI::Format format); From d57770293588ff21be39a1406a0db6d8cc8021d4 Mon Sep 17 00:00:00 2001 From: cgalvan Date: Thu, 2 Sep 2021 09:39:15 -0500 Subject: [PATCH 62/66] Updated legacy Editor and Asset Processor icons on Mac to O3DE icons. Signed-off-by: cgalvan --- .../Mac/Images.xcassets/AppIcon.appiconset/Contents.json | 6 +++--- .../Mac/Images.xcassets/AppIcon.appiconset/icon_128 _2x.png | 3 --- .../Mac/Images.xcassets/AppIcon.appiconset/icon_128.png | 4 ++-- .../Mac/Images.xcassets/AppIcon.appiconset/icon_128_2x.png | 3 +++ .../Mac/Images.xcassets/AppIcon.appiconset/icon_16.png | 4 ++-- .../Mac/Images.xcassets/AppIcon.appiconset/icon_16_2x.png | 4 ++-- .../Mac/Images.xcassets/AppIcon.appiconset/icon_256 _2x.png | 3 --- .../Mac/Images.xcassets/AppIcon.appiconset/icon_256.png | 4 ++-- .../Mac/Images.xcassets/AppIcon.appiconset/icon_256_2x.png | 3 +++ .../Mac/Images.xcassets/AppIcon.appiconset/icon_32.png | 4 ++-- .../Mac/Images.xcassets/AppIcon.appiconset/icon_32_2x.png | 4 ++-- .../Mac/Images.xcassets/AppIcon.appiconset/icon_512.png | 4 ++-- .../Mac/Images.xcassets/AppIcon.appiconset/icon_512_2x.png | 4 ++-- .../Images.xcassets/EditorAppIcon.appiconset/Contents.json | 6 +++--- .../EditorAppIcon.appiconset/icon_128 _2x.png | 3 --- .../Images.xcassets/EditorAppIcon.appiconset/icon_128.png | 4 ++-- .../EditorAppIcon.appiconset/icon_128_2x.png | 3 +++ .../Images.xcassets/EditorAppIcon.appiconset/icon_16.png | 4 ++-- .../Images.xcassets/EditorAppIcon.appiconset/icon_16_2x.png | 4 ++-- .../EditorAppIcon.appiconset/icon_256 _2x.png | 3 --- .../Images.xcassets/EditorAppIcon.appiconset/icon_256.png | 4 ++-- .../EditorAppIcon.appiconset/icon_256_2x.png | 3 +++ .../Images.xcassets/EditorAppIcon.appiconset/icon_32.png | 4 ++-- .../Images.xcassets/EditorAppIcon.appiconset/icon_32_2x.png | 4 ++-- .../Images.xcassets/EditorAppIcon.appiconset/icon_512.png | 4 ++-- .../EditorAppIcon.appiconset/icon_512_2x.png | 4 ++-- .../Mac/Images.xcassets/AppIcon.appiconset/Contents.json | 2 +- .../Mac/Images.xcassets/AppIcon.appiconset/icon_256x256.png | 3 +++ .../Mac/Images.xcassets/AppIcon.appiconset/icon_512x512.png | 3 --- .../AssetProcessorAppIcon.appiconset/Contents.json | 2 +- .../AssetProcessorAppIcon.appiconset/icon_256x256.png | 3 +++ .../AssetProcessorAppIcon.appiconset/icon_512x512.png | 3 --- 32 files changed, 58 insertions(+), 58 deletions(-) delete mode 100644 Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128 _2x.png create mode 100644 Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128_2x.png delete mode 100644 Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256 _2x.png create mode 100644 Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256_2x.png delete mode 100644 Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_128 _2x.png create mode 100644 Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_128_2x.png delete mode 100644 Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_256 _2x.png create mode 100644 Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_256_2x.png create mode 100644 Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256x256.png delete mode 100644 Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512x512.png create mode 100644 Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AssetProcessorAppIcon.appiconset/icon_256x256.png delete mode 100644 Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AssetProcessorAppIcon.appiconset/icon_512x512.png diff --git a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json index 603aec57a5..2b63c0ee15 100644 --- a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json @@ -33,7 +33,7 @@ { "size" : "128x128", "idiom" : "mac", - "filename" : "icon_128 _2x.png", + "filename" : "icon_128_2x.png", "scale" : "2x" }, { @@ -45,7 +45,7 @@ { "size" : "256x256", "idiom" : "mac", - "filename" : "icon_256 _2x.png", + "filename" : "icon_256_2x.png", "scale" : "2x" }, { @@ -65,4 +65,4 @@ "version" : 1, "author" : "xcode" } -} +} \ No newline at end of file diff --git a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128 _2x.png b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128 _2x.png deleted file mode 100644 index 5970ea34ba..0000000000 --- a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128 _2x.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e38257b6917cdf5d73e90e6009f10c8736d62b20c4e785085305075c7e6320e2 -size 32037 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128.png b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128.png index 9e30e09547..192a862967 100644 --- a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128.png +++ b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9f41a37d2347a617e93bd97adaf6d4c161c471ca3ef7e04b98c65ddda52396dc -size 27833 +oid sha256:94cb43469dfb05d348845883914ac6d5936e851c93ae6e76d16efea90cdc27da +size 5980 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128_2x.png b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128_2x.png new file mode 100644 index 0000000000..192a862967 --- /dev/null +++ b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_128_2x.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:94cb43469dfb05d348845883914ac6d5936e851c93ae6e76d16efea90cdc27da +size 5980 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16.png b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16.png index aeb29abd0a..9780d8a7af 100644 --- a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16.png +++ b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b07984494059bf827bc485cbea06d12e0283811face1a18799495f9ba7ae8af1 -size 20779 +oid sha256:cc6a4cf056f9814a23a4f74ea0aa9cd3628a03c2349bef73c64edfed75788cb7 +size 644 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16_2x.png b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16_2x.png index 445a389d61..9780d8a7af 100644 --- a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16_2x.png +++ b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_16_2x.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e645142d284de40aafb7a4a858f3df92b6a5ba9b03fa5f1a2d3cb25211597926 -size 21857 +oid sha256:cc6a4cf056f9814a23a4f74ea0aa9cd3628a03c2349bef73c64edfed75788cb7 +size 644 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256 _2x.png b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256 _2x.png deleted file mode 100644 index 0904cf7ce8..0000000000 --- a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256 _2x.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:07631f41b8dea80713d2463f81a713a9a93798975b6fb50afbeeb13d26c57fa2 -size 48899 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256.png b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256.png index 5970ea34ba..0b53991930 100644 --- a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256.png +++ b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e38257b6917cdf5d73e90e6009f10c8736d62b20c4e785085305075c7e6320e2 -size 32037 +oid sha256:f0e52fba265079da19fb72aefe1cb0a4b9f8075e10341084fffb38a1b0850cd6 +size 12600 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256_2x.png b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256_2x.png new file mode 100644 index 0000000000..0b53991930 --- /dev/null +++ b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256_2x.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0e52fba265079da19fb72aefe1cb0a4b9f8075e10341084fffb38a1b0850cd6 +size 12600 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32.png b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32.png index 445a389d61..1d8cdef173 100644 --- a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32.png +++ b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e645142d284de40aafb7a4a858f3df92b6a5ba9b03fa5f1a2d3cb25211597926 -size 21857 +oid sha256:53abfa6e6b4d3eff79851a2a95c762223bc610a6646e3370fd1113c57cc8e0e6 +size 1295 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32_2x.png b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32_2x.png index 1fad9bda96..1d8cdef173 100644 --- a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32_2x.png +++ b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_32_2x.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ad83faf98b49f4e37112baedeae726f4f8d71bcdd1961d9cdad31f043f8ca666 -size 24003 +oid sha256:53abfa6e6b4d3eff79851a2a95c762223bc610a6646e3370fd1113c57cc8e0e6 +size 1295 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512.png b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512.png index e1517dddb6..464f10910b 100644 --- a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512.png +++ b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:68529a6c11d5ffa7ecd9d5bbb11ceea28e6852bd45946b525af09602c9a1e1bf -size 48899 +oid sha256:f778e4aa9577faca2609343d435da745dc6f342ea7a726573441cecc870bf542 +size 19204 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512_2x.png b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512_2x.png index b425cb685f..464f10910b 100644 --- a/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512_2x.png +++ b/Code/Editor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512_2x.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8a70003840b418848b2ce6c18ed7cbbfcd6fcf76598a6601dca8b98d9b6c1a2f -size 114706 +oid sha256:f778e4aa9577faca2609343d435da745dc6f342ea7a726573441cecc870bf542 +size 19204 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/Contents.json b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/Contents.json index 603aec57a5..2b63c0ee15 100644 --- a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/Contents.json +++ b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/Contents.json @@ -33,7 +33,7 @@ { "size" : "128x128", "idiom" : "mac", - "filename" : "icon_128 _2x.png", + "filename" : "icon_128_2x.png", "scale" : "2x" }, { @@ -45,7 +45,7 @@ { "size" : "256x256", "idiom" : "mac", - "filename" : "icon_256 _2x.png", + "filename" : "icon_256_2x.png", "scale" : "2x" }, { @@ -65,4 +65,4 @@ "version" : 1, "author" : "xcode" } -} +} \ No newline at end of file diff --git a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_128 _2x.png b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_128 _2x.png deleted file mode 100644 index 5970ea34ba..0000000000 --- a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_128 _2x.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e38257b6917cdf5d73e90e6009f10c8736d62b20c4e785085305075c7e6320e2 -size 32037 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_128.png b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_128.png index 9e30e09547..192a862967 100644 --- a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_128.png +++ b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_128.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9f41a37d2347a617e93bd97adaf6d4c161c471ca3ef7e04b98c65ddda52396dc -size 27833 +oid sha256:94cb43469dfb05d348845883914ac6d5936e851c93ae6e76d16efea90cdc27da +size 5980 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_128_2x.png b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_128_2x.png new file mode 100644 index 0000000000..192a862967 --- /dev/null +++ b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_128_2x.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:94cb43469dfb05d348845883914ac6d5936e851c93ae6e76d16efea90cdc27da +size 5980 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_16.png b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_16.png index aeb29abd0a..9780d8a7af 100644 --- a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_16.png +++ b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_16.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b07984494059bf827bc485cbea06d12e0283811face1a18799495f9ba7ae8af1 -size 20779 +oid sha256:cc6a4cf056f9814a23a4f74ea0aa9cd3628a03c2349bef73c64edfed75788cb7 +size 644 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_16_2x.png b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_16_2x.png index 445a389d61..9780d8a7af 100644 --- a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_16_2x.png +++ b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_16_2x.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e645142d284de40aafb7a4a858f3df92b6a5ba9b03fa5f1a2d3cb25211597926 -size 21857 +oid sha256:cc6a4cf056f9814a23a4f74ea0aa9cd3628a03c2349bef73c64edfed75788cb7 +size 644 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_256 _2x.png b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_256 _2x.png deleted file mode 100644 index 0904cf7ce8..0000000000 --- a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_256 _2x.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:07631f41b8dea80713d2463f81a713a9a93798975b6fb50afbeeb13d26c57fa2 -size 48899 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_256.png b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_256.png index 5970ea34ba..0b53991930 100644 --- a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_256.png +++ b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_256.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e38257b6917cdf5d73e90e6009f10c8736d62b20c4e785085305075c7e6320e2 -size 32037 +oid sha256:f0e52fba265079da19fb72aefe1cb0a4b9f8075e10341084fffb38a1b0850cd6 +size 12600 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_256_2x.png b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_256_2x.png new file mode 100644 index 0000000000..0b53991930 --- /dev/null +++ b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_256_2x.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0e52fba265079da19fb72aefe1cb0a4b9f8075e10341084fffb38a1b0850cd6 +size 12600 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_32.png b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_32.png index 445a389d61..1d8cdef173 100644 --- a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_32.png +++ b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_32.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e645142d284de40aafb7a4a858f3df92b6a5ba9b03fa5f1a2d3cb25211597926 -size 21857 +oid sha256:53abfa6e6b4d3eff79851a2a95c762223bc610a6646e3370fd1113c57cc8e0e6 +size 1295 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_32_2x.png b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_32_2x.png index 1fad9bda96..1d8cdef173 100644 --- a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_32_2x.png +++ b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_32_2x.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ad83faf98b49f4e37112baedeae726f4f8d71bcdd1961d9cdad31f043f8ca666 -size 24003 +oid sha256:53abfa6e6b4d3eff79851a2a95c762223bc610a6646e3370fd1113c57cc8e0e6 +size 1295 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_512.png b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_512.png index e1517dddb6..464f10910b 100644 --- a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_512.png +++ b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_512.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:68529a6c11d5ffa7ecd9d5bbb11ceea28e6852bd45946b525af09602c9a1e1bf -size 48899 +oid sha256:f778e4aa9577faca2609343d435da745dc6f342ea7a726573441cecc870bf542 +size 19204 diff --git a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_512_2x.png b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_512_2x.png index b425cb685f..464f10910b 100644 --- a/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_512_2x.png +++ b/Code/Editor/Platform/Mac/Images.xcassets/EditorAppIcon.appiconset/icon_512_2x.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8a70003840b418848b2ce6c18ed7cbbfcd6fcf76598a6601dca8b98d9b6c1a2f -size 114706 +oid sha256:f778e4aa9577faca2609343d435da745dc6f342ea7a726573441cecc870bf542 +size 19204 diff --git a/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json b/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json index 2c6bbd2282..52b242ba4a 100644 --- a/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AppIcon.appiconset/Contents.json @@ -33,6 +33,7 @@ { "idiom" : "mac", "size" : "256x256", + "filename" : "icon_256x256.png", "scale" : "1x" }, { @@ -43,7 +44,6 @@ { "size" : "512x512", "idiom" : "mac", - "filename" : "icon_512x512.png", "scale" : "1x" }, { diff --git a/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256x256.png b/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256x256.png new file mode 100644 index 0000000000..50610c7ff4 --- /dev/null +++ b/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_256x256.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f16c891aaa1686a3735fe84c7a69c3cef24e68af7baa86bf2f54ab4d51b71e8 +size 8489 diff --git a/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512x512.png b/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512x512.png deleted file mode 100644 index 99123c81ee..0000000000 --- a/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AppIcon.appiconset/icon_512x512.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a396a13d3bc7ca074cdc6fdd072ba18c2e359bd24408783809b6c90adf23e22a -size 21937 diff --git a/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AssetProcessorAppIcon.appiconset/Contents.json b/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AssetProcessorAppIcon.appiconset/Contents.json index 2c6bbd2282..52b242ba4a 100644 --- a/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AssetProcessorAppIcon.appiconset/Contents.json +++ b/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AssetProcessorAppIcon.appiconset/Contents.json @@ -33,6 +33,7 @@ { "idiom" : "mac", "size" : "256x256", + "filename" : "icon_256x256.png", "scale" : "1x" }, { @@ -43,7 +44,6 @@ { "size" : "512x512", "idiom" : "mac", - "filename" : "icon_512x512.png", "scale" : "1x" }, { diff --git a/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AssetProcessorAppIcon.appiconset/icon_256x256.png b/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AssetProcessorAppIcon.appiconset/icon_256x256.png new file mode 100644 index 0000000000..50610c7ff4 --- /dev/null +++ b/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AssetProcessorAppIcon.appiconset/icon_256x256.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f16c891aaa1686a3735fe84c7a69c3cef24e68af7baa86bf2f54ab4d51b71e8 +size 8489 diff --git a/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AssetProcessorAppIcon.appiconset/icon_512x512.png b/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AssetProcessorAppIcon.appiconset/icon_512x512.png deleted file mode 100644 index 99123c81ee..0000000000 --- a/Code/Tools/AssetProcessor/Platform/Mac/Images.xcassets/AssetProcessorAppIcon.appiconset/icon_512x512.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a396a13d3bc7ca074cdc6fdd072ba18c2e359bd24408783809b6c90adf23e22a -size 21937 From 188f54fee0b84c9eb55eee657c76d85e2facdafd Mon Sep 17 00:00:00 2001 From: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com> Date: Thu, 2 Sep 2021 08:56:29 -0700 Subject: [PATCH 63/66] Fixes Ninja non-multi config generator and potentially other non-multi config generators (#3867) Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com> --- cmake/LYWrappers.cmake | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cmake/LYWrappers.cmake b/cmake/LYWrappers.cmake index 53895c300f..8e5633b5e6 100644 --- a/cmake/LYWrappers.cmake +++ b/cmake/LYWrappers.cmake @@ -330,9 +330,12 @@ function(ly_add_target) set(runtime_dependencies_list SHARED MODULE EXECUTABLE APPLICATION) if(NOT ly_add_target_IMPORTED AND linking_options IN_LIST runtime_dependencies_list) + get_property(is_multi_config_generator GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) # XCode generator doesnt support different source files per configuration, so we cannot have # the runtime dependencies using file-tracking, instead, we will have them as a post build step - if(CMAKE_GENERATOR MATCHES Xcode) + # Non-multi config generators like Ninja (not "Ninja Multi-Config"), Makefiles, etc have trouble to + # produce file-level dependencies per configuration, so we also default to use a post build step + if(NOT is_multi_config_generator OR CMAKE_GENERATOR MATCHES Xcode) add_custom_command(TARGET ${ly_add_target_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -P ${CMAKE_BINARY_DIR}/runtime_dependencies/$/${ly_add_target_NAME}.cmake From 567c0ae24da62a8605bac9ddbe8eafa88db1da16 Mon Sep 17 00:00:00 2001 From: Artur K <96597+nemerle@users.noreply.github.com> Date: Thu, 2 Sep 2021 21:55:09 +0200 Subject: [PATCH 64/66] Modernization + AZStd::function compare fix. (#3680) * Modernization + small fix. Modernize ( `bool`/`override`/other) code in AzCore, AzFramework, AzQtComponents, AzToolsFramework, etc. Replaced a `bind` or two, use `using` in a few places as well. Fix nullptr comparison of AZStd::function. Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com> * Apply review-based changes Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com> --- .../AzCore/AzCore/Asset/AssetCommon.cpp | 2 +- .../AzCore/AzCore/Asset/AssetManager.cpp | 6 +- .../AzCore/Component/ComponentApplication.cpp | 9 +- .../AzCore/AzCore/Compression/compression.cpp | 26 +- .../AzCore/Debug/LocalFileEventLogger.cpp | 8 +- Code/Framework/AzCore/AzCore/Debug/Trace.cpp | 2 +- Code/Framework/AzCore/AzCore/Debug/Trace.h | 10 +- .../AzCore/AzCore/Driller/Driller.cpp | 10 +- .../AzCore/AzCore/Driller/Stream.cpp | 14 +- .../AzCore/AzCore/IO/CompressorZLib.cpp | 30 +-- .../Framework/AzCore/AzCore/IO/SystemFile.cpp | 2 +- .../AzCore/AzCore/IPC/SharedMemory.cpp | 10 +- .../Jobs/Internal/JobManagerWorkStealing.cpp | 16 +- Code/Framework/AzCore/AzCore/Jobs/Job.cpp | 4 +- Code/Framework/AzCore/AzCore/Math/Uuid.cpp | 4 +- .../AzCore/Memory/AllocationRecords.cpp | 2 +- .../AzCore/AzCore/Memory/AllocatorManager.cpp | 22 +- .../Memory/BestFitExternalMapAllocator.cpp | 12 +- .../Memory/BestFitExternalMapSchema.cpp | 16 +- .../AzCore/AzCore/Memory/HeapSchema.cpp | 16 +- .../AzCore/AzCore/Memory/HphaSchema.cpp | 64 ++--- .../AzCore/AzCore/Memory/MemoryDriller.cpp | 10 +- .../AzCore/AzCore/Memory/OSAllocator.cpp | 2 +- .../Memory/OverrunDetectionAllocator.cpp | 10 +- .../AzCore/AzCore/Memory/PoolSchema.cpp | 56 ++--- .../AzCore/AzCore/Memory/SystemAllocator.cpp | 8 +- .../AzCore/AzCore/Module/Environment.cpp | 2 +- .../NativeUI/NativeUISystemComponent.cpp | 6 + .../AzCore/AzCore/RTTI/BehaviorContext.cpp | 20 +- .../AzCore/AzCore/RTTI/BehaviorContext.h | 114 ++++----- .../AzCore/AzCore/Script/ScriptContext.cpp | 8 +- .../AzCore/Script/ScriptContextDebug.cpp | 32 +-- .../Serialization/SerializationUtils.cpp | 2 +- .../AzCore/Serialization/SerializeContext.cpp | 64 ++--- .../AzCore/Serialization/SerializeContext.h | 20 +- .../Settings/SettingsRegistryMergeUtils.cpp | 8 +- Code/Framework/AzCore/AzCore/State/HSM.cpp | 2 +- Code/Framework/AzCore/AzCore/State/HSM.h | 9 +- .../UserSettings/UserSettingsProvider.cpp | 10 +- .../AzCore/std/function/function_base.h | 2 +- .../AzCore/std/function/function_template.h | 8 +- .../AzCore/AzCore/std/string/regex.cpp | 4 +- .../Module/DynamicModuleHandle_UnixLike.cpp | 2 +- .../AzCore/Tests/AZStd/Allocators.cpp | 26 +- Code/Framework/AzCore/Tests/AZStd/Atomics.cpp | 12 +- Code/Framework/AzCore/Tests/AZStd/Bitset.cpp | 4 +- .../AzCore/Tests/AZStd/FunctorsBind.cpp | 28 +-- .../Framework/AzCore/Tests/AZStd/Parallel.cpp | 30 +-- .../Framework/AzCore/Tests/AZStd/SmartPtr.cpp | 238 +++++++++--------- Code/Framework/AzCore/Tests/AZStd/String.cpp | 8 +- .../AzCore/Tests/AZStd/VectorAndArray.cpp | 2 +- .../Tests/Asset/AssetManagerLoadingTests.cpp | 6 +- .../Asset/AssetManagerStreamingTests.cpp | 2 +- Code/Framework/AzCore/Tests/EventTests.cpp | 4 +- .../AzCore/Tests/IO/Path/PathTests.cpp | 4 +- Code/Framework/AzCore/Tests/Jobs.cpp | 14 +- .../Tests/Math/Matrix3x4PerformanceTests.cpp | 2 +- Code/Framework/AzCore/Tests/Memory.cpp | 12 +- .../AzCore/Tests/Memory/HphaSchema.cpp | 4 +- .../Tests/Name/NameJsonSerializerTests.cpp | 4 +- .../AzCore/Tests/OrderedEventBenchmarks.cpp | 4 +- Code/Framework/AzCore/Tests/Script.cpp | 8 +- Code/Framework/AzCore/Tests/Serialization.cpp | 8 +- .../Json/ArraySerializerTests.cpp | 4 +- .../Serialization/Json/MapSerializerTests.cpp | 2 +- .../Json/StringSerializerTests.cpp | 4 +- .../SettingsRegistryConsoleUtilsTests.cpp | 4 +- Code/Framework/AzCore/Tests/Statistics.cpp | 2 +- .../AzCore/Tests/Streamer/BlockCacheTests.cpp | 32 +-- Code/Framework/AzCore/Tests/StringFunc.cpp | 2 +- .../AzFramework/Archive/Archive.cpp | 6 +- .../AzFramework/IO/FileOperations.cpp | 12 +- .../AzFramework/Input/Devices/InputDevice.cpp | 2 +- .../AzFramework/Logging/LoggingComponent.cpp | 2 +- .../AzFramework/Physics/Material.cpp | 10 +- .../Script/ScriptRemoteDebugging.cpp | 22 +- .../TargetManagementComponent.cpp | 8 +- .../Application/Application_Linux.cpp | 2 +- .../Process/ProcessCommunicator_Linux.cpp | 2 +- .../Process/ProcessWatcher_Linux.cpp | 6 +- .../AzFramework/Tests/ArchiveTests.cpp | 2 +- .../AzFramework/Tests/BehaviorEntityTests.cpp | 4 +- .../AzFramework/Tests/BinToTextEncode.cpp | 2 +- .../AzFramework/Tests/EntityContext.cpp | 2 +- Code/Framework/AzFramework/Tests/FileIO.cpp | 4 +- .../AzFramework/Tests/NativeWindow.cpp | 6 +- .../DirectManipulatorViewportInteraction.cpp | 2 +- .../Utilities/EncryptionCommon.cpp | 2 +- .../Tests/TcpTransport/TcpTransportTests.cpp | 8 +- .../Tests/UdpTransport/UdpTransportTests.cpp | 8 +- .../AzQtComponents/Components/DockTabBar.cpp | 4 +- .../AzQtComponents/Components/FlowLayout.cpp | 4 +- .../Components/StyledSpinBox.cpp | 4 +- .../Components/Widgets/LineEdit.cpp | 2 +- .../Components/Widgets/ScrollBar.cpp | 2 +- .../Components/Widgets/TabWidget.cpp | 2 +- .../PropertyEditorStandalone/main.cpp | 2 +- .../Tests/AzQtComponentTests.cpp | 2 +- Code/Framework/AzTest/AzTest/Utils.cpp | 4 +- .../Application/ToolsApplication.cpp | 4 +- .../AzToolsFramework/Asset/AssetUtils.cpp | 2 +- .../AssetEditor/AssetEditorWidget.cpp | 2 +- .../Commands/PreemptiveUndoCache.cpp | 2 +- .../Commands/SelectionCommand.cpp | 2 +- .../Prefab/PrefabSystemComponent.cpp | 2 +- .../SourceControl/PerforceComponent.cpp | 2 +- .../ToolsComponents/ScriptEditorComponent.cpp | 28 +-- .../Core/EditorFrameworkAPI.cpp | 8 +- .../Core/EditorFrameworkApplication.cpp | 6 +- .../UI/LegacyFramework/UIFramework.cpp | 22 +- .../UIFrameworkPreferences.cpp | 6 +- .../UI/Logging/LogPanel_Panel.cpp | 10 +- .../UI/Logging/StyledLogPanel.cpp | 2 +- .../PropertyEditor/InstanceDataHierarchy.cpp | 10 +- .../UI/PropertyEditor/PropertyAssetCtrl.cpp | 4 +- .../UI/PropertyEditor/PropertyCRCCtrl.cpp | 2 +- .../PropertyManagerComponent.cpp | 2 +- .../ReflectedPropertyEditor.cpp | 12 +- .../UI/SearchWidget/SearchCriteriaWidget.cpp | 8 +- .../UI/UICore/QTreeViewStateSaver.cpp | 4 +- .../Tests/AssetSeedManager.cpp | 2 +- .../Tests/ComponentAddRemove.cpp | 2 +- .../EditorEntitySearchComponentTests.cpp | 4 +- .../Tests/EntityIdQLabelTests.cpp | 2 +- .../Tests/EntityInspectorTests.cpp | 6 +- .../AzToolsFramework/Tests/FileFunc.cpp | 2 +- .../Tests/InstanceDataHierarchy.cpp | 42 ++-- .../Tests/PropertyTreeEditorTests.cpp | 4 +- .../Tests/SQLiteConnectionTests.cpp | 2 +- .../Tests/Script/ScriptEntityTests.cpp | 2 +- .../AzToolsFramework/Tests/Slice.cpp | 2 +- .../AzToolsFramework/Tests/UndoStack.cpp | 2 +- .../Tests/Viewport/ViewportUiDisplayTests.cpp | 4 +- .../Tests/Viewport/ViewportUiManagerTests.cpp | 6 +- .../GridMate/GridMate/Carrier/Carrier.cpp | 88 +++---- .../Carrier/DefaultTrafficControl.cpp | 6 +- .../GridMate/Carrier/SocketDriver.cpp | 8 +- .../Carrier/StreamSecureSocketDriver.cpp | 2 +- Code/Framework/GridMate/GridMate/GridMate.cpp | 2 +- .../GridMate/GridMate/Replica/Replica.cpp | 2 +- .../GridMate/GridMate/Replica/ReplicaMgr.cpp | 4 +- .../GridMate/GridMate/Session/LANSession.cpp | 22 +- .../GridMate/GridMate/Session/Session.cpp | 18 +- Code/Framework/GridMate/Tests/Carrier.cpp | 2 +- .../Tests/CarrierStreamSocketDriverTests.cpp | 2 +- .../GridMate/Tests/ReplicaBehavior.cpp | 16 +- .../GridMate/Tests/ReplicaMedium.cpp | 6 +- .../Framework/GridMate/Tests/ReplicaSmall.cpp | 4 +- Code/Framework/GridMate/Tests/Session.cpp | 12 +- Code/Framework/GridMate/Tests/test_Main.cpp | 4 +- 150 files changed, 865 insertions(+), 847 deletions(-) diff --git a/Code/Framework/AzCore/AzCore/Asset/AssetCommon.cpp b/Code/Framework/AzCore/AzCore/Asset/AssetCommon.cpp index 0c197e5354..af3aba49a3 100644 --- a/Code/Framework/AzCore/AzCore/Asset/AssetCommon.cpp +++ b/Code/Framework/AzCore/AzCore/Asset/AssetCommon.cpp @@ -456,7 +456,7 @@ namespace AZ { if (loadBehavior & (1 << thisFlag)) { - returnFlags[thisFlag] = 1; + returnFlags[thisFlag] = true; } } return returnFlags; diff --git a/Code/Framework/AzCore/AzCore/Asset/AssetManager.cpp b/Code/Framework/AzCore/AzCore/Asset/AssetManager.cpp index 3df751fb02..6ba69cffd5 100644 --- a/Code/Framework/AzCore/AzCore/Asset/AssetManager.cpp +++ b/Code/Framework/AzCore/AzCore/Asset/AssetManager.cpp @@ -71,8 +71,8 @@ namespace AZ ////////////////////////////////////////////////////////////////////////// // EBusTraits overrides static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::ById; - typedef AssetId BusIdType; - typedef AZStd::recursive_mutex MutexType; + using BusIdType = AssetId; + using MutexType = AZStd::recursive_mutex; template struct AssetJobConnectionPolicy @@ -107,7 +107,7 @@ namespace AZ virtual void OnLoadCanceled(AssetId assetId) = 0; }; - typedef EBus BlockingAssetLoadBus; + using BlockingAssetLoadBus = EBus; /* * This class processes async AssetDatabase load jobs diff --git a/Code/Framework/AzCore/AzCore/Component/ComponentApplication.cpp b/Code/Framework/AzCore/AzCore/Component/ComponentApplication.cpp index eda08401a2..c76156c006 100644 --- a/Code/Framework/AzCore/AzCore/Component/ComponentApplication.cpp +++ b/Code/Framework/AzCore/AzCore/Component/ComponentApplication.cpp @@ -644,7 +644,7 @@ namespace AZ NameDictionary::Create(); // Call this and child class's reflects - ReflectionEnvironment::GetReflectionManager()->Reflect(azrtti_typeid(this), AZStd::bind(&ComponentApplication::Reflect, this, AZStd::placeholders::_1)); + ReflectionEnvironment::GetReflectionManager()->Reflect(azrtti_typeid(this), [this](ReflectContext* context) {Reflect(context); }); RegisterCoreComponents(); TickBus::AllowFunctionQueuing(true); @@ -970,7 +970,12 @@ namespace AZ { if (ReflectionEnvironment::GetReflectionManager()) { - ReflectionEnvironment::GetReflectionManager()->Reflect(descriptor->GetUuid(), AZStd::bind(&ComponentDescriptor::Reflect, descriptor, AZStd::placeholders::_1)); + ReflectionEnvironment::GetReflectionManager()->Reflect( + descriptor->GetUuid(), + [descriptor](ReflectContext* context) + { + descriptor->Reflect(context); + }); } } diff --git a/Code/Framework/AzCore/AzCore/Compression/compression.cpp b/Code/Framework/AzCore/AzCore/Compression/compression.cpp index 60351b0f7c..8b6f270b00 100644 --- a/Code/Framework/AzCore/AzCore/Compression/compression.cpp +++ b/Code/Framework/AzCore/AzCore/Compression/compression.cpp @@ -23,8 +23,8 @@ using namespace AZ; // [3/21/2011] //========================================================================= ZLib::ZLib(IAllocator* workMemAllocator) - : m_strDeflate(NULL) - , m_strInflate(NULL) + : m_strDeflate(nullptr) + , m_strInflate(nullptr) { m_workMemoryAllocator = workMemAllocator ? workMemAllocator->GetAllocationSource() : nullptr; if (!m_workMemoryAllocator) @@ -75,7 +75,7 @@ void ZLib::FreeMem(void* userData, void* address) //========================================================================= void ZLib::StartCompressor(unsigned int compressionLevel) { - AZ_Assert(m_strDeflate == NULL, "Compressor already started!"); + AZ_Assert(m_strDeflate == nullptr, "Compressor already started!"); m_strDeflate = reinterpret_cast< z_stream* >(AllocateMem(m_workMemoryAllocator, 1, sizeof(z_stream))); m_strDeflate->zalloc = &ZLib::AllocateMem; m_strDeflate->zfree = &ZLib::FreeMem; @@ -91,10 +91,10 @@ void ZLib::StartCompressor(unsigned int compressionLevel) //========================================================================= void ZLib::StopCompressor() { - AZ_Assert(m_strDeflate != NULL, "Compressor not started!"); + AZ_Assert(m_strDeflate != nullptr, "Compressor not started!"); deflateEnd(m_strDeflate); FreeMem(m_workMemoryAllocator, m_strDeflate); - m_strDeflate = NULL; + m_strDeflate = nullptr; } //========================================================================= @@ -103,7 +103,7 @@ void ZLib::StopCompressor() //========================================================================= void ZLib::ResetCompressor() { - AZ_Assert(m_strDeflate != NULL, "Compressor not started!"); + AZ_Assert(m_strDeflate != nullptr, "Compressor not started!"); int r = deflateReset(m_strDeflate); (void)r; AZ_Assert(r == Z_OK, "ZLib inconsistent state - deflateReset() failed !!!\n"); @@ -115,7 +115,7 @@ void ZLib::ResetCompressor() //========================================================================= unsigned int ZLib::Compress(const void* data, unsigned int& dataSize, void* compressedData, unsigned int compressedDataSize, FlushType flushType) { - AZ_Assert(m_strDeflate != NULL, "Compressor not started!"); + AZ_Assert(m_strDeflate != nullptr, "Compressor not started!"); m_strDeflate->avail_in = dataSize; m_strDeflate->next_in = (unsigned char*)data; m_strDeflate->avail_out = compressedDataSize; @@ -158,7 +158,7 @@ unsigned int ZLib::Compress(const void* data, unsigned int& dataSize, void* comp //========================================================================= unsigned int ZLib::GetMinCompressedBufferSize(unsigned int sourceDataSize) { - AZ_Assert(m_strDeflate != NULL, "Compressor not started!"); + AZ_Assert(m_strDeflate != nullptr, "Compressor not started!"); return static_cast(deflateBound(m_strDeflate, sourceDataSize)); } @@ -168,7 +168,7 @@ unsigned int ZLib::GetMinCompressedBufferSize(unsigned int sourceDataSize) //========================================================================= void ZLib::StartDecompressor(Header* header) { - AZ_Assert(m_strInflate == NULL, "Decompressor already started!"); + AZ_Assert(m_strInflate == nullptr, "Decompressor already started!"); m_strInflate = reinterpret_cast< z_stream* >(AllocateMem(m_workMemoryAllocator, 1, sizeof(z_stream))); m_strInflate->zalloc = &ZLib::AllocateMem; m_strInflate->zfree = &ZLib::FreeMem; @@ -188,10 +188,10 @@ void ZLib::StartDecompressor(Header* header) //========================================================================= void ZLib::StopDecompressor() { - AZ_Assert(m_strInflate != NULL, "Decompressor not started!"); + AZ_Assert(m_strInflate != nullptr, "Decompressor not started!"); inflateEnd(m_strInflate); FreeMem(m_workMemoryAllocator, m_strInflate); - m_strInflate = NULL; + m_strInflate = nullptr; } //========================================================================= @@ -200,7 +200,7 @@ void ZLib::StopDecompressor() //========================================================================= void ZLib::ResetDecompressor(Header* header) { - AZ_Assert(m_strInflate != NULL, "Decompressor not started!"); + AZ_Assert(m_strInflate != nullptr, "Decompressor not started!"); int r = inflateReset(m_strInflate); (void)r; AZ_Assert(r == Z_OK, "ZLib inconsistent state - inflateReset() failed !!!\n"); @@ -229,7 +229,7 @@ void ZLib::SetupDecompressHeader(Header header) //========================================================================= unsigned int ZLib::Decompress(const void* compressedData, unsigned int compressedDataSize, void* data, unsigned int& dataSize, FlushType flushType) { - AZ_Assert(m_strInflate != NULL, "Decompressor not started!"); + AZ_Assert(m_strInflate != nullptr, "Decompressor not started!"); m_strInflate->avail_in = compressedDataSize; m_strInflate->next_in = (unsigned char*)compressedData; m_strInflate->avail_out = dataSize; diff --git a/Code/Framework/AzCore/AzCore/Debug/LocalFileEventLogger.cpp b/Code/Framework/AzCore/AzCore/Debug/LocalFileEventLogger.cpp index 049ac2e8a1..0009ec83b3 100644 --- a/Code/Framework/AzCore/AzCore/Debug/LocalFileEventLogger.cpp +++ b/Code/Framework/AzCore/AzCore/Debug/LocalFileEventLogger.cpp @@ -242,7 +242,9 @@ namespace AZ::Debug ThreadData* threadData = threadStorage.m_data; // Set to nullptr so other threads doing a flush can't pick this up. - while (!threadStorage.m_data.compare_exchange_strong(threadData, nullptr)); + while (!threadStorage.m_data.compare_exchange_strong(threadData, nullptr)) + { + } uint32_t writeSize = AZ_SIZE_ALIGN_UP(sizeof(EventHeader) + size, EventBoundary); if (threadData->m_usedBytes + writeSize >= ThreadData::BufferSize) @@ -270,7 +272,9 @@ namespace AZ::Debug // swap the pending data to commit the event ThreadStorage& threadStorage = GetThreadStorage(); ThreadData* expectedData = nullptr; - while (!threadStorage.m_data.compare_exchange_strong(expectedData, threadStorage.m_pendingData)); + while (!threadStorage.m_data.compare_exchange_strong(expectedData, threadStorage.m_pendingData)) + { + } threadStorage.m_pendingData = nullptr; } diff --git a/Code/Framework/AzCore/AzCore/Debug/Trace.cpp b/Code/Framework/AzCore/AzCore/Debug/Trace.cpp index 429986b724..14504cc282 100644 --- a/Code/Framework/AzCore/AzCore/Debug/Trace.cpp +++ b/Code/Framework/AzCore/AzCore/Debug/Trace.cpp @@ -218,7 +218,7 @@ namespace AZ void Debug::Trace::Crash() { - int* p = 0; + int* p = nullptr; *p = 1; } diff --git a/Code/Framework/AzCore/AzCore/Debug/Trace.h b/Code/Framework/AzCore/AzCore/Debug/Trace.h index b00a1cd921..26c331e1e4 100644 --- a/Code/Framework/AzCore/AzCore/Debug/Trace.h +++ b/Code/Framework/AzCore/AzCore/Debug/Trace.h @@ -19,7 +19,7 @@ namespace AZ { void OutputToDebugger(const char* window, const char* message); } - + /// Global instance to the tracer. extern class Trace g_tracer; @@ -41,7 +41,7 @@ namespace AZ static void Destroy(); static int GetAssertVerbosityLevel(); static void SetAssertVerbosityLevel(int level); - + /** * Returns the default string used for a system window. * It can be useful for Trace message handlers to easily validate if the window they received is the fallback window used by this class, @@ -109,7 +109,7 @@ namespace AZ * Correct usage: * AZ_Assert(false, "Fail always"); */ - + namespace AZ { namespace TraceInternal @@ -121,7 +121,7 @@ namespace AZ static constexpr ExpressionValidResult value = ExpressionValidResult::Valid; }; template<> - struct ExpressionIsValid + struct ExpressionIsValid { static constexpr ExpressionValidResult value = ExpressionValidResult::Valid; }; @@ -228,7 +228,7 @@ namespace AZ { \ AZ::Debug::Trace::Instance().Printf(window, __VA_ARGS__); \ } - + //! The AZ_TrancePrintfOnce macro output the result of the format string only once for each use of the macro //! It does not take into account the result of the format string to determine whether to output the string or not diff --git a/Code/Framework/AzCore/AzCore/Driller/Driller.cpp b/Code/Framework/AzCore/AzCore/Driller/Driller.cpp index 84f0fe3158..41abd7793e 100644 --- a/Code/Framework/AzCore/AzCore/Driller/Driller.cpp +++ b/Code/Framework/AzCore/AzCore/Driller/Driller.cpp @@ -208,7 +208,7 @@ namespace AZ { if (drillerList.empty()) { - return NULL; + return nullptr; } m_sessions.push_back(); @@ -246,21 +246,21 @@ namespace AZ AZStd::lock_guard lock(DrillerEBusMutex::GetMutex()); ///< Make sure no driller is writing to the stream for (DrillerListType::const_iterator iDriller = drillerList.begin(); iDriller != drillerList.end(); ++iDriller) { - Driller* driller = NULL; + Driller* driller = nullptr; const DrillerInfo& di = *iDriller; for (size_t iDesc = 0; iDesc < m_drillers.size(); ++iDesc) { if (m_drillers[iDesc]->GetId() == di.id) { driller = m_drillers[iDesc]; - AZ_Assert(driller->m_output == NULL, "Driller with id %08x is already have an output stream %p (currently we support only 1 at a time)", di.id, driller->m_output); + AZ_Assert(driller->m_output == nullptr, "Driller with id %08x is already have an output stream %p (currently we support only 1 at a time)", di.id, driller->m_output); driller->m_output = &output; driller->Start(di.params.data(), static_cast(di.params.size())); s.drillers.push_back(driller); break; } } - AZ_Warning("Driller", driller != NULL, "We can't start a driller with id %d!", di.id); + AZ_Warning("Driller", driller != nullptr, "We can't start a driller with id %d!", di.id); } } return &s; @@ -293,7 +293,7 @@ namespace AZ for (size_t i = 0; i < s.drillers.size(); ++i) { s.drillers[i]->Stop(); - s.drillers[i]->m_output = NULL; + s.drillers[i]->m_output = nullptr; } } s.output->EndTag(AZ_CRC("Frame", 0xb5f83ccd)); diff --git a/Code/Framework/AzCore/AzCore/Driller/Stream.cpp b/Code/Framework/AzCore/AzCore/Driller/Stream.cpp index f43e337bb8..761f964561 100644 --- a/Code/Framework/AzCore/AzCore/Driller/Stream.cpp +++ b/Code/Framework/AzCore/AzCore/Driller/Stream.cpp @@ -677,7 +677,7 @@ namespace AZ AZStd::endian_swap(crc32); } stringPtr = m_stringPool->Find(crc32); - AZ_Assert(stringPtr != NULL, "Failed to find string with id 0x%08x in the string pool, proper stream read is impossible!", crc32); + AZ_Assert(stringPtr != nullptr, "Failed to find string with id 0x%08x in the string pool, proper stream read is impossible!", crc32); stringLength = static_cast(strlen(stringPtr)); } else if (m_isPooledString) @@ -710,7 +710,7 @@ namespace AZ //========================================================================= const DrillerDOMParser::Node* DrillerDOMParser::Node::GetTag(u32 tagName) const { - const Node* tagNode = NULL; + const Node* tagNode = nullptr; for (Node::NodeListType::const_iterator i = m_tags.begin(); i != m_tags.end(); ++i) { if ((*i).m_name == tagName) @@ -728,7 +728,7 @@ namespace AZ //========================================================================= const DrillerDOMParser::Data* DrillerDOMParser::Node::GetData(u32 dataName) const { - const Data* dataNode = NULL; + const Data* dataNode = nullptr; for (Node::DataListType::const_iterator i = m_data.begin(); i != m_data.end(); ++i) { if (i->m_name == dataName) @@ -749,7 +749,7 @@ namespace AZ , m_isPersistentInputData(isPersistentInputData) { m_root.m_name = 0; - m_root.m_parent = NULL; + m_root.m_parent = nullptr; m_topNode = &m_root; } static int g_numFree = 0; @@ -850,14 +850,14 @@ namespace AZ return; } - DrillerHandlerParser* childHandler = NULL; + DrillerHandlerParser* childHandler = nullptr; DrillerHandlerParser* currentHandler = m_stack.back(); if (isOpen) { - if (currentHandler != NULL) + if (currentHandler != nullptr) { childHandler = currentHandler->OnEnterTag(name); - AZ_Warning("Driller", !currentHandler->IsWarnOnUnsupportedTags() || childHandler != NULL, "Could not find handler for tag 0x%08x", name); + AZ_Warning("Driller", !currentHandler->IsWarnOnUnsupportedTags() || childHandler != nullptr, "Could not find handler for tag 0x%08x", name); } m_stack.push_back(childHandler); } diff --git a/Code/Framework/AzCore/AzCore/IO/CompressorZLib.cpp b/Code/Framework/AzCore/AzCore/IO/CompressorZLib.cpp index a61cdb1133..f973c0e95a 100644 --- a/Code/Framework/AzCore/AzCore/IO/CompressorZLib.cpp +++ b/Code/Framework/AzCore/AzCore/IO/CompressorZLib.cpp @@ -22,10 +22,10 @@ namespace AZ // [12/13/2012] //========================================================================= CompressorZLib::CompressorZLib(unsigned int decompressionCachePerStream, unsigned int dataBufferSize) - : m_lastReadStream(NULL) + : m_lastReadStream(nullptr) , m_lastReadStreamOffset(0) , m_lastReadStreamSize(0) - , m_compressedDataBuffer(NULL) + , m_compressedDataBuffer(nullptr) , m_compressedDataBufferSize(dataBufferSize) , m_compressedDataBufferUseCount(0) , m_decompressionCachePerStream(decompressionCachePerStream) @@ -63,7 +63,7 @@ namespace AZ //========================================================================= bool CompressorZLib::ReadHeaderAndData(CompressorStream* stream, AZ::u8* data, unsigned int dataSize) { - if (stream->GetCompressorData() != NULL) // we already have compressor data + if (stream->GetCompressorData() != nullptr) // we already have compressor data { return false; } @@ -347,7 +347,7 @@ namespace AZ AZ_Assert(stream && stream->GetCompressorData(), "This stream doesn't have compression enabled! Call Stream::WriteCompressed after you create the file!"); AZ_Assert(offset == SizeType(-1) || offset == stream->GetCurPos(), "We can write compressed data only at the end of the stream!"); - m_lastReadStream = NULL; // invalidate last read position, otherwise m_dataBuffer will be corrupted (as we are about to write in it). + m_lastReadStream = nullptr; // invalidate last read position, otherwise m_dataBuffer will be corrupted (as we are about to write in it). CompressorZLibData* zlibData = static_cast(stream->GetCompressorData()); AZ_Assert(!zlibData->m_zlib.IsDecompressorStarted(), "You can't write while reading/decompressing a compressed stream!"); @@ -398,13 +398,13 @@ namespace AZ AZ_Assert(stream && stream->GetCompressorData(), "This stream doesn't have compression enabled! Call Stream::WriteCompressed after you create the file!"); CompressorZLibData* zlibData = static_cast(stream->GetCompressorData()); - m_lastReadStream = NULL; // invalidate last read position, otherwise m_dataBuffer will be corrupted (as we are about to write in it). + m_lastReadStream = nullptr; // invalidate last read position, otherwise m_dataBuffer will be corrupted (as we are about to write in it). unsigned int compressedSize; unsigned int dataToCompress = 0; do { - compressedSize = zlibData->m_zlib.Compress(NULL, dataToCompress, m_compressedDataBuffer, m_compressedDataBufferSize, ZLib::FT_FULL_FLUSH); + compressedSize = zlibData->m_zlib.Compress(nullptr, dataToCompress, m_compressedDataBuffer, m_compressedDataBufferSize, ZLib::FT_FULL_FLUSH); if (compressedSize) { GenericStream* baseStream = stream->GetWrappedStream(); @@ -429,7 +429,7 @@ namespace AZ //========================================================================= bool CompressorZLib::StartCompressor(CompressorStream* stream, int compressionLevel, SizeType autoSeekDataSize) { - AZ_Assert(stream && stream->GetCompressorData() == NULL, "Stream has compressor already enabled!"); + AZ_Assert(stream && stream->GetCompressorData() == nullptr, "Stream has compressor already enabled!"); AcquireDataBuffer(); @@ -470,14 +470,14 @@ namespace AZ bool result = true; if (zlibData->m_zlib.IsCompressorStarted()) { - m_lastReadStream = NULL; // invalidate last read position, otherwise m_dataBuffer will be corrupted (as we are about to write in it). + m_lastReadStream = nullptr; // invalidate last read position, otherwise m_dataBuffer will be corrupted (as we are about to write in it). // flush all compressed data unsigned int compressedSize; unsigned int dataToCompress = 0; do { - compressedSize = zlibData->m_zlib.Compress(NULL, dataToCompress, m_compressedDataBuffer, m_compressedDataBufferSize, ZLib::FT_FINISH); + compressedSize = zlibData->m_zlib.Compress(nullptr, dataToCompress, m_compressedDataBuffer, m_compressedDataBufferSize, ZLib::FT_FINISH); if (compressedSize) { baseStream->Write(compressedSize, m_compressedDataBuffer); @@ -502,7 +502,7 @@ namespace AZ { if (m_lastReadStream == stream) { - m_lastReadStream = NULL; // invalidate the data in m_dataBuffer if it was from the current stream. + m_lastReadStream = nullptr; // invalidate the data in m_dataBuffer if it was from the current stream. } } @@ -525,11 +525,11 @@ namespace AZ //========================================================================= void CompressorZLib::AcquireDataBuffer() { - if (m_compressedDataBuffer == NULL) + if (m_compressedDataBuffer == nullptr) { AZ_Assert(m_compressedDataBufferUseCount == 0, "Buffer usecount should be 0 if the buffer is NULL"); m_compressedDataBuffer = reinterpret_cast(azmalloc(m_compressedDataBufferSize, m_CompressedDataBufferAlignment, AZ::SystemAllocator, "CompressorZLib")); - m_lastReadStream = NULL; // reset the cache info in the m_dataBuffer + m_lastReadStream = nullptr; // reset the cache info in the m_dataBuffer } ++m_compressedDataBufferUseCount; } @@ -543,10 +543,10 @@ namespace AZ --m_compressedDataBufferUseCount; if (m_compressedDataBufferUseCount == 0) { - AZ_Assert(m_compressedDataBuffer != NULL, "Invalid data buffer! We should have a non null pointer!"); + AZ_Assert(m_compressedDataBuffer != nullptr, "Invalid data buffer! We should have a non null pointer!"); azfree(m_compressedDataBuffer, AZ::SystemAllocator, m_compressedDataBufferSize, m_CompressedDataBufferAlignment); - m_compressedDataBuffer = NULL; - m_lastReadStream = NULL; // reset the cache info in the m_dataBuffer + m_compressedDataBuffer = nullptr; + m_lastReadStream = nullptr; // reset the cache info in the m_dataBuffer } } } // namespace IO diff --git a/Code/Framework/AzCore/AzCore/IO/SystemFile.cpp b/Code/Framework/AzCore/AzCore/IO/SystemFile.cpp index 8de8b6b70f..5bff79b422 100644 --- a/Code/Framework/AzCore/AzCore/IO/SystemFile.cpp +++ b/Code/Framework/AzCore/AzCore/IO/SystemFile.cpp @@ -127,7 +127,7 @@ bool SystemFile::Open(const char* fileName, int mode, int platformFlags) bool SystemFile::ReOpen(int mode, int platformFlags) { AZ_Assert(!m_fileName.empty(), "Missing filename. You must call open first!"); - return Open(0, mode, platformFlags); + return Open(nullptr, mode, platformFlags); } void SystemFile::Close() diff --git a/Code/Framework/AzCore/AzCore/IPC/SharedMemory.cpp b/Code/Framework/AzCore/AzCore/IPC/SharedMemory.cpp index 37c88e34fc..af73ab4936 100644 --- a/Code/Framework/AzCore/AzCore/IPC/SharedMemory.cpp +++ b/Code/Framework/AzCore/AzCore/IPC/SharedMemory.cpp @@ -125,7 +125,7 @@ SharedMemory::Close() bool SharedMemory::Map(AccessMode mode, unsigned int size) { - AZ_Assert(m_mappedBase == NULL, "We already have data mapped"); + AZ_Assert(m_mappedBase == nullptr, "We already have data mapped"); AZ_Assert(Platform::IsMapHandleValid(), "You must call Map() first!"); bool result = Platform::Map(mode, size); @@ -232,7 +232,7 @@ bool SharedMemory::CheckMappedBaseValid() // [4/29/2011] //========================================================================= SharedMemoryRingBuffer::SharedMemoryRingBuffer() - : m_info(NULL) + : m_info(nullptr) {} //========================================================================= @@ -279,7 +279,7 @@ SharedMemoryRingBuffer::Map(AccessMode mode, unsigned int size) bool SharedMemoryRingBuffer::UnMap() { - m_info = NULL; + m_info = nullptr; return SharedMemory::UnMap(); } @@ -291,7 +291,7 @@ bool SharedMemoryRingBuffer::Write(const void* data, unsigned int dataSize) { AZ_Warning("AZSystem", !Platform::IsWaitFailed(), "You are writing the ring buffer %s while the Global lock is NOT locked! This can lead to data corruption!", m_name); - AZ_Assert(m_info != NULL, "You need to Create and Map the buffer first!"); + AZ_Assert(m_info != nullptr, "You need to Create and Map the buffer first!"); if (m_info->m_writeOffset >= m_info->m_readOffset) { unsigned int freeSpace = m_dataSize - (m_info->m_writeOffset - m_info->m_readOffset); @@ -346,7 +346,7 @@ SharedMemoryRingBuffer::Read(void* data, unsigned int maxDataSize) return 0; } - AZ_Assert(m_info != NULL, "You need to Create and Map the buffer first!"); + AZ_Assert(m_info != nullptr, "You need to Create and Map the buffer first!"); unsigned int dataRead; if (m_info->m_writeOffset > m_info->m_readOffset) { diff --git a/Code/Framework/AzCore/AzCore/Jobs/Internal/JobManagerWorkStealing.cpp b/Code/Framework/AzCore/AzCore/Jobs/Internal/JobManagerWorkStealing.cpp index 73fb4ecfe8..f76946a667 100644 --- a/Code/Framework/AzCore/AzCore/Jobs/Internal/JobManagerWorkStealing.cpp +++ b/Code/Framework/AzCore/AzCore/Jobs/Internal/JobManagerWorkStealing.cpp @@ -192,15 +192,15 @@ void JobManagerWorkStealing::SuspendJobUntilReady(Job* job) ThreadInfo* info = GetCurrentOrCreateThreadInfo(); AZ_Assert(info->m_currentJob == job, ("Can't suspend a job which isn't currently running")); - info->m_currentJob = NULL; //clear current job + info->m_currentJob = nullptr; //clear current job if (IsAsynchronous()) { - ProcessJobsAssist(info, job, NULL); + ProcessJobsAssist(info, job, nullptr); } else { - ProcessJobsSynchronous(info, job, NULL); + ProcessJobsSynchronous(info, job, nullptr); } info->m_currentJob = job; //restore current job @@ -223,11 +223,11 @@ void JobManagerWorkStealing::StartJobAndAssistUntilComplete(Job* job) //the processing functions will return when the empty job dependent count has reached 1 if (IsAsynchronous()) { - ProcessJobsAssist(info, NULL, ¬ifyFlag); + ProcessJobsAssist(info, nullptr, ¬ifyFlag); } else { - ProcessJobsSynchronous(info, NULL, ¬ifyFlag); + ProcessJobsSynchronous(info, nullptr, ¬ifyFlag); } AZ_Assert(!m_currentThreadInfo, ""); @@ -306,9 +306,9 @@ void JobManagerWorkStealing::ProcessJobsWorker(ThreadInfo* info) //setup thread-local storage m_currentThreadInfo = info; - ProcessJobsInternal(info, NULL, NULL); + ProcessJobsInternal(info, nullptr, nullptr); - m_currentThreadInfo = NULL; + m_currentThreadInfo = nullptr; } void JobManagerWorkStealing::ProcessJobsAssist(ThreadInfo* info, Job* suspendedJob, AZStd::atomic* notifyFlag) @@ -529,7 +529,7 @@ void JobManagerWorkStealing::ProcessJobsSynchronous(ThreadInfo* info, Job* suspe info->m_currentJob = job; Process(job); - info->m_currentJob = NULL; + info->m_currentJob = nullptr; //...after calling Process we cannot use the job pointer again, the job has completed and may not exist anymore #ifdef JOBMANAGER_ENABLE_STATS diff --git a/Code/Framework/AzCore/AzCore/Jobs/Job.cpp b/Code/Framework/AzCore/AzCore/Jobs/Job.cpp index d3a2a77d92..8462cf47e8 100644 --- a/Code/Framework/AzCore/AzCore/Jobs/Job.cpp +++ b/Code/Framework/AzCore/AzCore/Jobs/Job.cpp @@ -36,7 +36,7 @@ namespace AZ } countAndFlags |= (unsigned int)((priority << FLAG_PRIORITY_START_BIT) & FLAG_PRIORITY_MASK); SetDependentCountAndFlags(countAndFlags); - StoreDependent(NULL); + StoreDependent(nullptr); #ifdef AZ_DEBUG_JOB_STATE SetState(STATE_SETUP); @@ -66,7 +66,7 @@ namespace AZ SetDependentCountAndFlags(countAndFlags); if (isClearDependent) { - StoreDependent(NULL); + StoreDependent(nullptr); } else { diff --git a/Code/Framework/AzCore/AzCore/Math/Uuid.cpp b/Code/Framework/AzCore/AzCore/Math/Uuid.cpp index 6e71ffc3bd..d875e28a1e 100644 --- a/Code/Framework/AzCore/AzCore/Math/Uuid.cpp +++ b/Code/Framework/AzCore/AzCore/Math/Uuid.cpp @@ -56,7 +56,7 @@ namespace AZ Uuid Uuid::CreateStringSkipWarnings(const char* string, size_t stringLength, [[maybe_unused]] bool skipWarnings) { - if (string == NULL) + if (string == nullptr) { return Uuid::CreateNull(); } @@ -71,7 +71,7 @@ namespace AZ if (len < 32 || len > 38) { - AZ_Warning("Math", skipWarnings, "Invalid UUID format %s (must be) {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} (or without dashes and braces)", string != NULL ? string : "null"); + AZ_Warning("Math", skipWarnings, "Invalid UUID format %s (must be) {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} (or without dashes and braces)", string != nullptr ? string : "null"); return Uuid::CreateNull(); } diff --git a/Code/Framework/AzCore/AzCore/Memory/AllocationRecords.cpp b/Code/Framework/AzCore/AzCore/Memory/AllocationRecords.cpp index 7d644c6917..b55b2db768 100644 --- a/Code/Framework/AzCore/AzCore/Memory/AllocationRecords.cpp +++ b/Code/Framework/AzCore/AzCore/Memory/AllocationRecords.cpp @@ -169,7 +169,7 @@ AllocationRecords::RegisterAllocation(void* address, size_t byteSize, size_t ali ai.m_timeStamp = AZStd::GetTimeNowMicroSecond(); // if we don't have a fileName,lineNum record the stack or if the user requested it. - if ((fileName == 0 && m_mode == RECORD_STACK_IF_NO_FILE_LINE) || m_mode == RECORD_FULL) + if ((fileName == nullptr && m_mode == RECORD_STACK_IF_NO_FILE_LINE) || m_mode == RECORD_FULL) { ai.m_stackFrames = m_numStackLevels ? reinterpret_cast(m_records.get_allocator().allocate(sizeof(AZ::Debug::StackFrame)*m_numStackLevels, 1)) : nullptr; if (ai.m_stackFrames) diff --git a/Code/Framework/AzCore/AzCore/Memory/AllocatorManager.cpp b/Code/Framework/AzCore/AzCore/Memory/AllocatorManager.cpp index b34a88669c..3c09b4cae6 100644 --- a/Code/Framework/AzCore/AzCore/Memory/AllocatorManager.cpp +++ b/Code/Framework/AzCore/AzCore/Memory/AllocatorManager.cpp @@ -39,9 +39,9 @@ namespace AZ return AZStd::hash{}(key); } }; - typedef AZStd::basic_string, AZStdIAllocator> AMString; - typedef AZStd::unordered_map, AZStdIAllocator> AllocatorNameMap; - typedef AZStd::unordered_map, AZStdIAllocator> AllocatorRemappings; + using AMString = AZStd::basic_string, AZStdIAllocator>; + using AllocatorNameMap = AZStd::unordered_map, AZStdIAllocator>; + using AllocatorRemappings = AZStd::unordered_map, AZStdIAllocator>; // For allocators that are created before we have an environment, we keep some module-local data for them so that we can register them // properly once the environment is attached. @@ -403,7 +403,7 @@ AllocatorManager::AddOutOfMemoryListener(const OutOfMemoryCBType& cb) void AllocatorManager::RemoveOutOfMemoryListener() { - m_outOfMemoryListener = 0; + m_outOfMemoryListener = nullptr; } //========================================================================= @@ -660,13 +660,13 @@ void AllocatorManager::GetAllocatorStats(size_t& allocatedBytes, size_t& capacit //========================================================================= AllocatorManager::MemoryBreak::MemoryBreak() { - addressStart = NULL; - addressEnd = NULL; + addressStart = nullptr; + addressEnd = nullptr; byteSize = 0; alignment = static_cast(0xffffffff); - name = NULL; + name = nullptr; - fileName = NULL; + fileName = nullptr; lineNum = -1; } @@ -729,14 +729,14 @@ AllocatorManager::DebugBreak(void* address, const Debug::AllocationInfo& info) AZ_Assert(!(m_memoryBreak[i].alignment == info.m_alignment), "User triggered breakpoint - alignment (%d)", info.m_alignment); AZ_Assert(!(m_memoryBreak[i].byteSize == info.m_byteSize), "User triggered breakpoint - allocation size (%d)", info.m_byteSize); - AZ_Assert(!(info.m_name != NULL && m_memoryBreak[i].name != NULL && strcmp(m_memoryBreak[i].name, info.m_name) == 0), "User triggered breakpoint - name \"%s\"", info.m_name); + AZ_Assert(!(info.m_name != nullptr && m_memoryBreak[i].name != nullptr && strcmp(m_memoryBreak[i].name, info.m_name) == 0), "User triggered breakpoint - name \"%s\"", info.m_name); if (m_memoryBreak[i].lineNum != 0) { - AZ_Assert(!(info.m_fileName != NULL && m_memoryBreak[i].fileName != NULL && strcmp(m_memoryBreak[i].fileName, info.m_fileName) == 0 && m_memoryBreak[i].lineNum == info.m_lineNum), "User triggered breakpoint - file/line number : %s(%d)", info.m_fileName, info.m_lineNum); + AZ_Assert(!(info.m_fileName != nullptr && m_memoryBreak[i].fileName != nullptr && strcmp(m_memoryBreak[i].fileName, info.m_fileName) == 0 && m_memoryBreak[i].lineNum == info.m_lineNum), "User triggered breakpoint - file/line number : %s(%d)", info.m_fileName, info.m_lineNum); } else { - AZ_Assert(!(info.m_fileName != NULL && m_memoryBreak[i].fileName != NULL && strcmp(m_memoryBreak[i].fileName, info.m_fileName) == 0), "User triggered breakpoint - file name \"%s\"", info.m_fileName); + AZ_Assert(!(info.m_fileName != nullptr && m_memoryBreak[i].fileName != nullptr && strcmp(m_memoryBreak[i].fileName, info.m_fileName) == 0), "User triggered breakpoint - file name \"%s\"", info.m_fileName); } } } diff --git a/Code/Framework/AzCore/AzCore/Memory/BestFitExternalMapAllocator.cpp b/Code/Framework/AzCore/AzCore/Memory/BestFitExternalMapAllocator.cpp index a9b0ec92c3..cf26c8f723 100644 --- a/Code/Framework/AzCore/AzCore/Memory/BestFitExternalMapAllocator.cpp +++ b/Code/Framework/AzCore/AzCore/Memory/BestFitExternalMapAllocator.cpp @@ -22,7 +22,7 @@ using namespace AZ; //========================================================================= BestFitExternalMapAllocator::BestFitExternalMapAllocator() : AllocatorBase(this, "BestFitExternalMapAllocator", "Best fit allocator with external tracking storage!") - , m_schema(NULL) + , m_schema(nullptr) {} //========================================================================= @@ -47,7 +47,7 @@ BestFitExternalMapAllocator::Create(const Descriptor& desc) schemaDesc.m_memoryBlockByteSize = desc.m_memoryBlockByteSize; m_schema = azcreate(BestFitExternalMapSchema, (schemaDesc), SystemAllocator); - if (m_schema == NULL) + if (m_schema == nullptr) { isReady = false; } @@ -63,7 +63,7 @@ void BestFitExternalMapAllocator::Destroy() { azdestroy(m_schema, SystemAllocator); - m_schema = NULL; + m_schema = nullptr; } AllocatorDebugConfig BestFitExternalMapAllocator::GetDebugConfig() @@ -89,7 +89,7 @@ BestFitExternalMapAllocator::Allocate(size_type byteSize, size_type alignment, i byteSize = MemorySizeAdjustedUp(byteSize); BestFitExternalMapAllocator::pointer_type address = m_schema->Allocate(byteSize, alignment, flags); - if (address == 0) + if (address == nullptr) { if (!OnOutOfMemory(byteSize, alignment, flags, name, fileName, lineNum)) { @@ -100,7 +100,7 @@ BestFitExternalMapAllocator::Allocate(size_type byteSize, size_type alignment, i } } - AZ_Assert(address != 0, "BestFitExternalMapAllocator: Failed to allocate %d bytes aligned on %d (flags: 0x%08x) %s : %s (%d)!", byteSize, alignment, flags, name ? name : "(no name)", fileName ? fileName : "(no file name)", lineNum); + AZ_Assert(address != nullptr, "BestFitExternalMapAllocator: Failed to allocate %d bytes aligned on %d (flags: 0x%08x) %s : %s (%d)!", byteSize, alignment, flags, name ? name : "(no name)", fileName ? fileName : "(no file name)", lineNum); AZ_MEMORY_PROFILE(ProfileAllocation(address, byteSize, alignment, name, fileName, lineNum, suppressStackRecord + 1)); return address; @@ -145,7 +145,7 @@ BestFitExternalMapAllocator::ReAllocate(pointer_type ptr, size_type newSize, siz (void)newSize; (void)newAlignment; AZ_Assert(false, "Not supported!"); - return NULL; + return nullptr; } //========================================================================= diff --git a/Code/Framework/AzCore/AzCore/Memory/BestFitExternalMapSchema.cpp b/Code/Framework/AzCore/AzCore/Memory/BestFitExternalMapSchema.cpp index 1cd7f156d1..d94d1dfe35 100644 --- a/Code/Framework/AzCore/AzCore/Memory/BestFitExternalMapSchema.cpp +++ b/Code/Framework/AzCore/AzCore/Memory/BestFitExternalMapSchema.cpp @@ -18,15 +18,15 @@ using namespace AZ; BestFitExternalMapSchema::BestFitExternalMapSchema(const Descriptor& desc) : m_desc(desc) , m_used(0) - , m_freeChunksMap(FreeMapType::key_compare(), AZStdIAllocator(desc.m_mapAllocator != NULL ? desc.m_mapAllocator : &AllocatorInstance::Get())) - , m_allocChunksMap(AllocMapType::hasher(), AllocMapType::key_eq(), AZStdIAllocator(desc.m_mapAllocator != NULL ? desc.m_mapAllocator : &AllocatorInstance::Get())) + , m_freeChunksMap(FreeMapType::key_compare(), AZStdIAllocator(desc.m_mapAllocator != nullptr ? desc.m_mapAllocator : &AllocatorInstance::Get())) + , m_allocChunksMap(AllocMapType::hasher(), AllocMapType::key_eq(), AZStdIAllocator(desc.m_mapAllocator != nullptr ? desc.m_mapAllocator : &AllocatorInstance::Get())) { - if (m_desc.m_mapAllocator == NULL) + if (m_desc.m_mapAllocator == nullptr) { m_desc.m_mapAllocator = &AllocatorInstance::Get(); // used as our sub allocator } AZ_Assert(m_desc.m_memoryBlockByteSize > 0, "You must provide memory block size!"); - AZ_Assert(m_desc.m_memoryBlock != NULL, "You must provide memory block allocated as you with!"); + AZ_Assert(m_desc.m_memoryBlock != nullptr, "You must provide memory block allocated as you with!"); //if( m_desc.m_memoryBlock == NULL) there is no point to automate this cause we need to flag this memory special, otherwise there is no point to use this allocator at all // m_desc.m_memoryBlock = azmalloc(SystemAllocator,m_desc.m_memoryBlockByteSize,16); m_freeChunksMap.insert(AZStd::make_pair(m_desc.m_memoryBlockByteSize, reinterpret_cast(m_desc.m_memoryBlock))); @@ -40,13 +40,13 @@ BestFitExternalMapSchema::pointer_type BestFitExternalMapSchema::Allocate(size_type byteSize, size_type alignment, int flags) { (void)flags; - char* address = NULL; + char* address = nullptr; AZ_Assert(alignment > 0 && (alignment & (alignment - 1)) == 0, "Alignment must be >0 and power of 2!"); for (int i = 0; i < 2; ++i) // max 2 attempts to allocate { FreeMapType::iterator iter = m_freeChunksMap.find(byteSize); size_t blockSize = 0; - char* blockAddress = NULL; + char* blockAddress = nullptr; size_t preAllocBlockSize = 0; while (iter != m_freeChunksMap.end()) { @@ -64,7 +64,7 @@ BestFitExternalMapSchema::Allocate(size_type byteSize, size_type alignment, int } ++iter; } - if (address != NULL) + if (address != nullptr) { // split blocks if (preAllocBlockSize) // if we have a block before the alignment @@ -94,7 +94,7 @@ BestFitExternalMapSchema::Allocate(size_type byteSize, size_type alignment, int void BestFitExternalMapSchema::DeAllocate(pointer_type ptr) { - if (ptr == 0) + if (ptr == nullptr) { return; } diff --git a/Code/Framework/AzCore/AzCore/Memory/HeapSchema.cpp b/Code/Framework/AzCore/AzCore/Memory/HeapSchema.cpp index 1c67a95d51..50e6a47630 100644 --- a/Code/Framework/AzCore/AzCore/Memory/HeapSchema.cpp +++ b/Code/Framework/AzCore/AzCore/Memory/HeapSchema.cpp @@ -107,17 +107,17 @@ namespace AZ m_used = 0; m_desc = desc; - m_subAllocator = 0; + m_subAllocator = nullptr; for (int i = 0; i < Descriptor::m_maxNumBlocks; ++i) { - m_memSpaces[i] = 0; + m_memSpaces[i] = nullptr; m_ownMemoryBlock[i] = false; } for (int i = 0; i < m_desc.m_numMemoryBlocks; ++i) { - if (m_desc.m_memoryBlocks[i] == 0) // Allocate memory block if requested! + if (m_desc.m_memoryBlocks[i] == nullptr) // Allocate memory block if requested! { AZ_Assert(AllocatorInstance::IsReady(), "You requested to allocate memory using the system allocator, but it's not created yet!"); m_subAllocator = &AllocatorInstance::Get(); @@ -152,7 +152,7 @@ namespace AZ if (m_memSpaces[i]) { AZDLMalloc::destroy_mspace(m_memSpaces[i]); - m_memSpaces[i] = 0; + m_memSpaces[i] = nullptr; if (m_ownMemoryBlock[i]) { @@ -172,7 +172,7 @@ namespace AZ AZ_UNUSED(lineNum); AZ_UNUSED(suppressStackRecord); int blockId = flags; - AZ_Assert(m_memSpaces[blockId]!=0, "Invalid block id!"); + AZ_Assert(m_memSpaces[blockId]!=nullptr, "Invalid block id!"); HeapSchema::pointer_type address = AZDLMalloc::mspace_memalign(m_memSpaces[blockId], alignment, byteSize); if (address) { @@ -186,7 +186,7 @@ namespace AZ { AZ_UNUSED(byteSize); AZ_UNUSED(alignment); - if (ptr==0) + if (ptr==nullptr) { return; } @@ -194,7 +194,7 @@ namespace AZ // if we use m_spaces just count the chunk sizes. m_used -= ChunckSize(ptr); #ifdef FOOTERS - AZDLMalloc::mspace_free(0, ptr); ///< We use footers so we know which memspace the pointer belongs to. + AZDLMalloc::mspace_free(nullptr, ptr); ///< We use footers so we know which memspace the pointer belongs to. #else int i = 0; for (; i < m_desc.m_numMemoryBlocks; ++i) @@ -248,7 +248,7 @@ namespace AZ HeapSchema::ChunckSize(pointer_type ptr) { // based on azmalloc_usable_size + the overhead - if (ptr != 0) + if (ptr != nullptr) { mchunkptr p = mem2chunk(ptr); //if (is_inuse(p)) // we can even skip this check since we track for double free and so on anyway diff --git a/Code/Framework/AzCore/AzCore/Memory/HphaSchema.cpp b/Code/Framework/AzCore/AzCore/Memory/HphaSchema.cpp index 5b7ca194cf..f5df0dfe96 100644 --- a/Code/Framework/AzCore/AzCore/Memory/HphaSchema.cpp +++ b/Code/Framework/AzCore/AzCore/Memory/HphaSchema.cpp @@ -784,17 +784,17 @@ namespace AZ { // size == 0 acts as free void* realloc(void* ptr, size_t size) { - if (ptr == NULL) + if (ptr == nullptr) { return alloc(size); } if (size == 0) { free(ptr); - return NULL; + return nullptr; } debug_check(ptr); - void* newPtr = NULL; + void* newPtr = nullptr; if (ptr_in_bucket(ptr)) { if (is_small_allocation(size)) // no point to check m_isPoolAllocations as if it's false pointer can't be in a bucket. @@ -853,21 +853,21 @@ namespace AZ { { return realloc(ptr, size); } - if (ptr == NULL) + if (ptr == nullptr) { return alloc(size, alignment); } if (size == 0) { free(ptr); - return NULL; + return nullptr; } if ((size_t)ptr & (alignment - 1)) { void* newPtr = alloc(size, alignment); if (!newPtr) { - return NULL; + return nullptr; } size_t count = this->size(ptr); if (count > size) @@ -879,7 +879,7 @@ namespace AZ { return newPtr; } debug_check(ptr); - void* newPtr = NULL; + void* newPtr = nullptr; if (ptr_in_bucket(ptr)) { if (is_small_allocation(size) && alignment <= MAX_SMALL_ALLOCATION) // no point to check m_isPoolAllocations as if it was false, pointer can't be in a bucket @@ -931,7 +931,7 @@ namespace AZ { // returns the size of the resulting memory block inline size_t resize(void* ptr, size_t size) { - if (ptr == NULL) + if (ptr == nullptr) { return 0; } @@ -957,7 +957,7 @@ namespace AZ { // query the size of the memory block inline size_t size(void* ptr) const { - if (ptr == NULL) + if (ptr == nullptr) { return 0; } @@ -993,7 +993,7 @@ namespace AZ { // free the memory block inline void free(void* ptr) { - if (ptr == NULL) + if (ptr == nullptr) { return; } @@ -1009,7 +1009,7 @@ namespace AZ { // free the memory block supplying the original size with DEFAULT_ALIGNMENT inline void free(void* ptr, size_t origSize) { - if (ptr == NULL) + if (ptr == nullptr) { return; } @@ -1027,7 +1027,7 @@ namespace AZ { // free the memory block supplying the original size and alignment inline void free(void* ptr, size_t origSize, size_t oldAlignment) { - if (ptr == NULL) + if (ptr == nullptr) { return; } @@ -1134,10 +1134,10 @@ namespace AZ { // If m_systemChunkSize is specified, use that size for allocating tree blocks from the OS // m_treePageAlignment should be OS_VIRTUAL_PAGE_SIZE in all cases with this trait as we work // with virtual memory addresses when the tree grows and we cannot specify an alignment in all cases - : m_treePageSize(desc.m_fixedMemoryBlock != NULL ? desc.m_pageSize : + : m_treePageSize(desc.m_fixedMemoryBlock != nullptr ? desc.m_pageSize : desc.m_systemChunkSize != 0 ? desc.m_systemChunkSize : OS_VIRTUAL_PAGE_SIZE) , m_treePageAlignment(desc.m_pageSize) - , m_poolPageSize(desc.m_fixedMemoryBlock != NULL ? desc.m_poolPageSize : OS_VIRTUAL_PAGE_SIZE) + , m_poolPageSize(desc.m_fixedMemoryBlock != nullptr ? desc.m_poolPageSize : OS_VIRTUAL_PAGE_SIZE) , m_subAllocator(desc.m_subAllocator) { #ifdef DEBUG_ALLOCATOR @@ -1246,7 +1246,7 @@ namespace AZ { return p; } } - return NULL; + return nullptr; } const HpAllocator::page* HpAllocator::bucket::get_free_page() const @@ -1259,7 +1259,7 @@ namespace AZ { return p; } } - return NULL; + return nullptr; } void* HpAllocator::bucket::alloc(page* p) @@ -1359,7 +1359,7 @@ namespace AZ { p = bucket_grow(bsize, mBuckets[bi].marker()); if (!p) { - return NULL; + return nullptr; } mBuckets[bi].add_free_page(p); } @@ -1385,7 +1385,7 @@ namespace AZ { p = bucket_grow(bsize, mBuckets[bi].marker()); if (!p) { - return NULL; + return nullptr; } mBuckets[bi].add_free_page(p); } @@ -1406,7 +1406,7 @@ namespace AZ { void* newPtr = bucket_alloc(size); if (!newPtr) { - return NULL; + return nullptr; } memcpy(newPtr, ptr, AZStd::GetMin(elemSize - MEMORY_GUARD_SIZE, size - MEMORY_GUARD_SIZE)); bucket_free(ptr); @@ -1426,7 +1426,7 @@ namespace AZ { void* newPtr = bucket_alloc_direct(bucket_spacing_function(AZ::SizeAlignUp(size, alignment))); if (!newPtr) { - return NULL; + return nullptr; } memcpy(newPtr, ptr, AZStd::GetMin(elemSize - MEMORY_GUARD_SIZE, size - MEMORY_GUARD_SIZE)); bucket_free(ptr); @@ -1638,7 +1638,7 @@ namespace AZ { // create a dummy block to avoid prev() NULL checks and allow easy block shifts // potentially this dummy block might grow (due to shift_block) but not more than sizeof(free_node) block_header* front = (block_header*)mem; - front->prev(0); + front->prev(nullptr); front->size(0); front->set_used(); block_header* back = (block_header*)front->mem(); @@ -1777,7 +1777,7 @@ namespace AZ { newBl = tree_grow(size); if (!newBl) { - return NULL; + return nullptr; } } HPPA_ASSERT(!newBl->used()); @@ -1956,7 +1956,7 @@ namespace AZ { tree_free(ptr); return newPtr; } - return NULL; + return nullptr; } void* HpAllocator::tree_realloc_aligned(void* ptr, size_t size, size_t alignment) @@ -2044,7 +2044,7 @@ namespace AZ { tree_free(ptr); return newPtr; } - return NULL; + return nullptr; } size_t HpAllocator::tree_resize(void* ptr, size_t size) @@ -2121,7 +2121,7 @@ namespace AZ { HPPA_ASSERT(!bl->used()); HPPA_ASSERT(bl->prev() && bl->prev()->used()); HPPA_ASSERT(bl->next() && bl->next()->used()); - if (bl->prev()->prev() == NULL && bl->next()->size() == 0) + if (bl->prev()->prev() == nullptr && bl->next()->size() == 0) { tree_detach(bl); char* memStart = (char*)bl->prev(); @@ -2539,11 +2539,11 @@ namespace AZ { if (m_desc.m_fixedMemoryBlockByteSize > 0) { AZ_Assert((m_desc.m_fixedMemoryBlockByteSize & (m_desc.m_pageSize - 1)) == 0, "Memory block size %d MUST be multiples of the of the page size %d!", m_desc.m_fixedMemoryBlockByteSize, m_desc.m_pageSize); - if (m_desc.m_fixedMemoryBlock == NULL) + if (m_desc.m_fixedMemoryBlock == nullptr) { - AZ_Assert(m_desc.m_subAllocator != NULL, "Sub allocator must point to a valid allocator if m_fixedMemoryBlock is NOT allocated (NULL)!"); + AZ_Assert(m_desc.m_subAllocator != nullptr, "Sub allocator must point to a valid allocator if m_fixedMemoryBlock is NOT allocated (NULL)!"); m_desc.m_fixedMemoryBlock = m_desc.m_subAllocator->Allocate(m_desc.m_fixedMemoryBlockByteSize, m_desc.m_fixedMemoryBlockAlignment, 0, "HphaSchema", __FILE__, __LINE__, 1); - AZ_Assert(m_desc.m_fixedMemoryBlock != NULL, "Failed to allocate %d bytes!", m_desc.m_fixedMemoryBlockByteSize); + AZ_Assert(m_desc.m_fixedMemoryBlock != nullptr, "Failed to allocate %d bytes!", m_desc.m_fixedMemoryBlockByteSize); m_ownMemoryBlock = true; } AZ_Assert((reinterpret_cast(m_desc.m_fixedMemoryBlock) & static_cast(desc.m_fixedMemoryBlockAlignment - 1)) == 0, "Memory block must be page size (%d bytes) aligned!", desc.m_fixedMemoryBlockAlignment); @@ -2570,7 +2570,7 @@ namespace AZ { if (m_ownMemoryBlock) { m_desc.m_subAllocator->DeAllocate(m_desc.m_fixedMemoryBlock, m_desc.m_fixedMemoryBlockByteSize, m_desc.m_fixedMemoryBlockAlignment); - m_desc.m_fixedMemoryBlock = NULL; + m_desc.m_fixedMemoryBlock = nullptr; } } @@ -2587,7 +2587,7 @@ namespace AZ { (void)lineNum; (void)suppressStackRecord; pointer_type address = m_allocator->alloc(byteSize, alignment); - if (address == NULL) + if (address == nullptr) { GarbageCollect(); address = m_allocator->alloc(byteSize, alignment); @@ -2603,7 +2603,7 @@ namespace AZ { HphaSchema::ReAllocate(pointer_type ptr, size_type newSize, size_type newAlignment) { pointer_type address = m_allocator->realloc(ptr, newSize, newAlignment); - if (address == NULL && newSize > 0) + if (address == nullptr && newSize > 0) { GarbageCollect(); address = m_allocator->realloc(ptr, newSize, newAlignment); @@ -2618,7 +2618,7 @@ namespace AZ { void HphaSchema::DeAllocate(pointer_type ptr, size_type size, size_type alignment) { - if (ptr == 0) + if (ptr == nullptr) { return; } diff --git a/Code/Framework/AzCore/AzCore/Memory/MemoryDriller.cpp b/Code/Framework/AzCore/AzCore/Memory/MemoryDriller.cpp index 934efeef1b..2ea25c3397 100644 --- a/Code/Framework/AzCore/AzCore/Memory/MemoryDriller.cpp +++ b/Code/Framework/AzCore/AzCore/Memory/MemoryDriller.cpp @@ -106,7 +106,7 @@ namespace AZ m_allAllocatorRecords.push_back(allocator->GetRecords()); - if (m_output == NULL) + if (m_output == nullptr) { return; // we have no active output } @@ -154,7 +154,7 @@ namespace AZ delete allocatorRecords; allocator->SetRecords(nullptr); - if (m_output == NULL) + if (m_output == nullptr) { return; // we have no active output } @@ -173,7 +173,7 @@ namespace AZ if (records) { const AllocationInfo* info = records->RegisterAllocation(address, byteSize, alignment, name, fileName, lineNum, stackSuppressCount + 1); - if (m_output == NULL) + if (m_output == nullptr) { return; // we have no active output } @@ -226,7 +226,7 @@ namespace AZ { records->UnregisterAllocation(address, byteSize, alignment, info); - if (m_output == NULL) + if (m_output == nullptr) { return; // we have no active output } @@ -261,7 +261,7 @@ namespace AZ { records->ResizeAllocation(address, newSize); - if (m_output == NULL) + if (m_output == nullptr) { return; // we have no active output } diff --git a/Code/Framework/AzCore/AzCore/Memory/OSAllocator.cpp b/Code/Framework/AzCore/AzCore/Memory/OSAllocator.cpp index 5637fcc646..317df214d6 100644 --- a/Code/Framework/AzCore/AzCore/Memory/OSAllocator.cpp +++ b/Code/Framework/AzCore/AzCore/Memory/OSAllocator.cpp @@ -75,7 +75,7 @@ namespace AZ address = AZ_OS_MALLOC(byteSize, alignment); } - if (address == 0 && byteSize > 0) + if (address == nullptr && byteSize > 0) { AZ_Printf("Memory", "======================================================\n"); AZ_Printf("Memory", "OSAllocator run out of system memory!\nWe can't track the debug allocator, since it's used for tracking and pipes trought the OS... here are the other allocator status:\n"); diff --git a/Code/Framework/AzCore/AzCore/Memory/OverrunDetectionAllocator.cpp b/Code/Framework/AzCore/AzCore/Memory/OverrunDetectionAllocator.cpp index e59e304c54..35ad19dd9e 100644 --- a/Code/Framework/AzCore/AzCore/Memory/OverrunDetectionAllocator.cpp +++ b/Code/Framework/AzCore/AzCore/Memory/OverrunDetectionAllocator.cpp @@ -216,9 +216,9 @@ namespace AZ class OverrunDetectionSchemaImpl { public: - typedef void* pointer_type; - typedef size_t size_type; - typedef ptrdiff_t difference_type; + using pointer_type = void *; + using size_type = size_t; + using difference_type = ptrdiff_t; OverrunDetectionSchemaImpl(const OverrunDetectionSchema::Descriptor& desc); ~OverrunDetectionSchemaImpl(); @@ -241,8 +241,8 @@ namespace AZ Internal::AllocationRecord* CreateAllocationRecord(void* p, size_t size) const; private: - typedef AZStd::mutex mutex_type; - typedef AZStd::lock_guard lock_type; + using mutex_type = AZStd::mutex; + using lock_type = AZStd::lock_guard; AZStd::unique_ptr m_platformAllocator; mutex_type m_mutex; diff --git a/Code/Framework/AzCore/AzCore/Memory/PoolSchema.cpp b/Code/Framework/AzCore/AzCore/Memory/PoolSchema.cpp index b251774d77..3e71f530a0 100644 --- a/Code/Framework/AzCore/AzCore/Memory/PoolSchema.cpp +++ b/Code/Framework/AzCore/AzCore/Memory/PoolSchema.cpp @@ -278,7 +278,7 @@ namespace AZ Page* page = reinterpret_cast(memBlock); if (!page->m_magic.Validate()) { - return NULL; + return nullptr; } return page; } @@ -403,7 +403,7 @@ PoolAllocation::Allocate(size_t byteSize, size_t alignment) u32 bucketIndex = static_cast((byteSize >> m_minAllocationShift)-1); BucketType& bucket = m_buckets[bucketIndex]; - PageType* page = 0; + PageType* page = nullptr; if (!bucket.m_pages.empty()) { page = &bucket.m_pages.front(); @@ -411,7 +411,7 @@ PoolAllocation::Allocate(size_t byteSize, size_t alignment) // check if we have free slot in the page if (page->m_freeList.empty()) { - page = 0; + page = nullptr; } else if (page->m_freeList.size()==1) { @@ -464,7 +464,7 @@ AZ_INLINE void PoolAllocation::DeAllocate(void* ptr) { PageType* page = m_allocator->PageFromAddress(ptr); - if (page==NULL) + if (page==nullptr) { AZ_Error("Memory", false, "Address 0x%08x is not in the ThreadPool!", ptr); return; @@ -503,7 +503,7 @@ PoolAllocation::DeAllocate(void* ptr) m_allocator->PushFreePage(page); } } - else if (frontPage->m_next != 0) + else if (frontPage->m_next != nullptr) { // if the next page has free slots free the current page if (frontPage->m_next->m_freeList.size() < maxElementsPerBucket) @@ -584,7 +584,7 @@ PoolAllocation::GarbageCollect(bool isForceFreeAllPages) // [9/15/2009] //========================================================================= PoolSchema::PoolSchema(const Descriptor& desc) - : m_impl(NULL) + : m_impl(nullptr) { (void)desc; // ignored here, applied in Create() } @@ -595,7 +595,7 @@ PoolSchema::PoolSchema(const Descriptor& desc) //========================================================================= PoolSchema::~PoolSchema() { - AZ_Assert(m_impl==NULL, "You did not destroy the pool schema!"); + AZ_Assert(m_impl==nullptr, "You did not destroy the pool schema!"); delete m_impl; } @@ -605,12 +605,12 @@ PoolSchema::~PoolSchema() //========================================================================= bool PoolSchema::Create(const Descriptor& desc) { - AZ_Assert(m_impl==NULL, "PoolSchema already created!"); - if (m_impl == NULL) + AZ_Assert(m_impl==nullptr, "PoolSchema already created!"); + if (m_impl == nullptr) { m_impl = aznew PoolSchemaImpl(desc); } - return (m_impl!=NULL); + return (m_impl!=nullptr); } //========================================================================= @@ -620,7 +620,7 @@ bool PoolSchema::Create(const Descriptor& desc) bool PoolSchema::Destroy() { delete m_impl; - m_impl = NULL; + m_impl = nullptr; return true; } @@ -751,7 +751,7 @@ PoolSchema::GetSubAllocator() PoolSchemaImpl::PoolSchemaImpl(const PoolSchema::Descriptor& desc) : m_pageAllocator(desc.m_pageAllocator ? desc.m_pageAllocator : &AllocatorInstance::Get()) , m_allocator(this, desc.m_pageSize, desc.m_minAllocationSize, desc.m_maxAllocationSize) - , m_staticDataBlock(0) + , m_staticDataBlock(nullptr) , m_numStaticPages(desc.m_numStaticPages) , m_isDynamic(desc.m_isDynamic) , m_pageSize(desc.m_pageSize) @@ -851,7 +851,7 @@ PoolSchemaImpl::AllocationSize(PoolSchema::pointer_type ptr) AZ_FORCE_INLINE PoolSchemaImpl::Page* PoolSchemaImpl::PopFreePage() { - Page* page = 0; + Page* page = nullptr; if (!m_freePages.empty()) { page = &m_freePages.front(); @@ -938,7 +938,7 @@ PoolSchemaImpl::Page::SetupFreeList(size_t elementSize, size_t pageDataBlockSize // [9/15/2009] //========================================================================= ThreadPoolSchema::ThreadPoolSchema(GetThreadPoolData getThreadPoolData, SetThreadPoolData setThreadPoolData) - : m_impl(NULL) + : m_impl(nullptr) , m_threadPoolGetter(getThreadPoolData) , m_threadPoolSetter(setThreadPoolData) { @@ -950,7 +950,7 @@ ThreadPoolSchema::ThreadPoolSchema(GetThreadPoolData getThreadPoolData, SetThrea //========================================================================= ThreadPoolSchema::~ThreadPoolSchema() { - AZ_Assert(m_impl==NULL, "You did not destroy the thread pool schema!"); + AZ_Assert(m_impl==nullptr, "You did not destroy the thread pool schema!"); delete m_impl; } @@ -960,12 +960,12 @@ ThreadPoolSchema::~ThreadPoolSchema() //========================================================================= bool ThreadPoolSchema::Create(const Descriptor& desc) { - AZ_Assert(m_impl==NULL, "PoolSchema already created!"); - if (m_impl == NULL) + AZ_Assert(m_impl==nullptr, "PoolSchema already created!"); + if (m_impl == nullptr) { m_impl = aznew ThreadPoolSchemaImpl(desc, m_threadPoolGetter, m_threadPoolSetter); } - return (m_impl!=NULL); + return (m_impl!=nullptr); } //========================================================================= @@ -975,7 +975,7 @@ bool ThreadPoolSchema::Create(const Descriptor& desc) bool ThreadPoolSchema::Destroy() { delete m_impl; - m_impl = NULL; + m_impl = nullptr; return true; } //========================================================================= @@ -1099,7 +1099,7 @@ ThreadPoolSchemaImpl::ThreadPoolSchemaImpl(const ThreadPoolSchema::Descriptor& d : m_threadPoolGetter(threadPoolGetter) , m_threadPoolSetter(threadPoolSetter) , m_pageAllocator(desc.m_pageAllocator) - , m_staticDataBlock(0) + , m_staticDataBlock(nullptr) , m_numStaticPages(desc.m_numStaticPages) , m_pageSize(desc.m_pageSize) , m_minAllocationSize(desc.m_minAllocationSize) @@ -1112,7 +1112,7 @@ ThreadPoolSchemaImpl::ThreadPoolSchemaImpl(const ThreadPoolSchema::Descriptor& d SetCriticalSectionSpinCount(m_mutex.native_handle(), 4000); # endif - if (m_pageAllocator == 0) + if (m_pageAllocator == nullptr) { m_pageAllocator = &AllocatorInstance::Get(); // use the SystemAllocator if no page allocator is provided } @@ -1211,7 +1211,7 @@ ThreadPoolSchemaImpl::Allocate(ThreadPoolSchema::size_type byteSize, ThreadPoolS { // deallocate elements if they were freed from other threads Page::FakeNodeLF* fakeLFNode; - while ((fakeLFNode = threadData->m_freedElements.pop())!=0) + while ((fakeLFNode = threadData->m_freedElements.pop())!=nullptr) { threadData->m_allocator.DeAllocate(fakeLFNode); } @@ -1228,12 +1228,12 @@ void ThreadPoolSchemaImpl::DeAllocate(ThreadPoolSchema::pointer_type ptr) { Page* page = PageFromAddress(ptr); - if (page==NULL) + if (page==nullptr) { AZ_Error("Memory", false, "Address 0x%08x is not in the ThreadPool!", ptr); return; } - AZ_Assert(page->m_threadData!=0, ("We must have valid page thread data for the page!")); + AZ_Assert(page->m_threadData!=nullptr, ("We must have valid page thread data for the page!")); ThreadPoolData* threadData = m_threadPoolGetter(); if (threadData == page->m_threadData) { @@ -1262,11 +1262,11 @@ ThreadPoolSchema::size_type ThreadPoolSchemaImpl::AllocationSize(ThreadPoolSchema::pointer_type ptr) { Page* page = PageFromAddress(ptr); - if (page==NULL) + if (page==nullptr) { return 0; } - AZ_Assert(page->m_threadData!=0, ("We must have valid page thread data for the page!")); + AZ_Assert(page->m_threadData!=nullptr, ("We must have valid page thread data for the page!")); return page->m_threadData->m_allocator.AllocationSize(ptr); } @@ -1282,7 +1282,7 @@ ThreadPoolSchemaImpl::PopFreePage() AZStd::lock_guard lock(m_mutex); if (m_freePages.empty()) { - page = NULL; + page = nullptr; } else { @@ -1387,7 +1387,7 @@ ThreadPoolData::~ThreadPoolData() { // deallocate elements if they were freed from other threads ThreadPoolSchemaImpl::Page::FakeNodeLF* fakeLFNode; - while ((fakeLFNode = m_freedElements.pop())!=0) + while ((fakeLFNode = m_freedElements.pop())!=nullptr) { m_allocator.DeAllocate(fakeLFNode); } diff --git a/Code/Framework/AzCore/AzCore/Memory/SystemAllocator.cpp b/Code/Framework/AzCore/AzCore/Memory/SystemAllocator.cpp index 0fb64915dc..8c84338fd0 100644 --- a/Code/Framework/AzCore/AzCore/Memory/SystemAllocator.cpp +++ b/Code/Framework/AzCore/AzCore/Memory/SystemAllocator.cpp @@ -153,7 +153,7 @@ SystemAllocator::Create(const Descriptor& desc) #elif AZCORE_SYSTEM_ALLOCATOR == AZCORE_SYSTEM_ALLOCATOR_HEAP m_allocator = azcreate(HeapSchema, (heapDesc), SystemAllocator); #endif - if (m_allocator == NULL) + if (m_allocator == nullptr) { isReady = false; } @@ -237,7 +237,7 @@ SystemAllocator::Allocate(size_type byteSize, size_type alignment, int flags, co byteSize = MemorySizeAdjustedUp(byteSize); SystemAllocator::pointer_type address = m_allocator->Allocate(byteSize, alignment, flags, name, fileName, lineNum, suppressStackRecord + 1); - if (address == 0) + if (address == nullptr) { // Free all memory we can and try again! AllocatorManager::Instance().GarbageCollect(); @@ -245,7 +245,7 @@ SystemAllocator::Allocate(size_type byteSize, size_type alignment, int flags, co address = m_allocator->Allocate(byteSize, alignment, flags, name, fileName, lineNum, suppressStackRecord + 1); } - if (address == 0) + if (address == nullptr) { byteSize = MemorySizeAdjustedDown(byteSize); // restore original size @@ -258,7 +258,7 @@ SystemAllocator::Allocate(size_type byteSize, size_type alignment, int flags, co } } - AZ_Assert(address != 0, "SystemAllocator: Failed to allocate %d bytes aligned on %d (flags: 0x%08x) %s : %s (%d)!", byteSize, alignment, flags, name ? name : "(no name)", fileName ? fileName : "(no file name)", lineNum); + AZ_Assert(address != nullptr, "SystemAllocator: Failed to allocate %d bytes aligned on %d (flags: 0x%08x) %s : %s (%d)!", byteSize, alignment, flags, name ? name : "(no name)", fileName ? fileName : "(no file name)", lineNum); AZ_PROFILE_MEMORY_ALLOC_EX(MemoryReserved, fileName, lineNum, address, byteSize, name); AZ_MEMORY_PROFILE(ProfileAllocation(address, byteSize, alignment, name, fileName, lineNum, suppressStackRecord + 1)); diff --git a/Code/Framework/AzCore/AzCore/Module/Environment.cpp b/Code/Framework/AzCore/AzCore/Module/Environment.cpp index bec530e2d1..c07b7444d4 100644 --- a/Code/Framework/AzCore/AzCore/Module/Environment.cpp +++ b/Code/Framework/AzCore/AzCore/Module/Environment.cpp @@ -148,7 +148,7 @@ namespace AZ AZ_Assert(m_numAttached == 0, "We should not delete an environment while there are %d modules attached! Unload all DLLs first!", m_numAttached); #endif - for (auto variableIt : m_variableMap) + for (const auto &variableIt : m_variableMap) { EnvironmentVariableHolderBase* holder = reinterpret_cast(variableIt.second); if (holder) diff --git a/Code/Framework/AzCore/AzCore/NativeUI/NativeUISystemComponent.cpp b/Code/Framework/AzCore/AzCore/NativeUI/NativeUISystemComponent.cpp index 7e1adb93b9..a75e1803eb 100644 --- a/Code/Framework/AzCore/AzCore/NativeUI/NativeUISystemComponent.cpp +++ b/Code/Framework/AzCore/AzCore/NativeUI/NativeUISystemComponent.cpp @@ -41,11 +41,17 @@ namespace AZ::NativeUI AZStd::string result = DisplayBlockingDialog("Assert Failed!", message, options); if (result.compare(buttonNames[0]) == 0) + { return AssertAction::IGNORE_ASSERT; + } else if (result.compare(buttonNames[1]) == 0) + { return AssertAction::IGNORE_ALL_ASSERTS; + } else if (result.compare(buttonNames[2]) == 0) + { return AssertAction::BREAK; + } return AssertAction::NONE; } diff --git a/Code/Framework/AzCore/AzCore/RTTI/BehaviorContext.cpp b/Code/Framework/AzCore/AzCore/RTTI/BehaviorContext.cpp index e621ab412e..a44aa61aca 100644 --- a/Code/Framework/AzCore/AzCore/RTTI/BehaviorContext.cpp +++ b/Code/Framework/AzCore/AzCore/RTTI/BehaviorContext.cpp @@ -121,12 +121,12 @@ namespace AZ { delete attrIt.second; } - + if (m_overload) { delete m_overload; } - + m_attributes.clear(); } @@ -180,7 +180,7 @@ namespace AZ if (GetNumArguments() == overload->GetNumArguments()) { bool anyDifference = false; - + for (size_t i(0), sentinel(GetNumArguments()); !anyDifference && i < sentinel; ++i) { const BehaviorParameter* thisArg = GetArgument(i); @@ -273,7 +273,7 @@ namespace AZ auto attributes = AZStd::move(m_attributes); // Actually delete everything - for (auto propertyIt : events) + for (const auto &propertyIt : events) { delete propertyIt.second.m_broadcast; delete propertyIt.second.m_event; @@ -519,20 +519,20 @@ namespace AZ AZStd::vector BehaviorClass::GetOverloads(const AZStd::string& name) const { AZStd::vector overloads; - + auto methodIter = m_methods.find(name); if (methodIter != m_methods.end()) { overloads = GetOverloadsIncludeMethod(methodIter->second); - } - + } + return overloads; } AZStd::vector BehaviorClass::GetOverloadsIncludeMethod(BehaviorMethod* method) const { AZStd::vector overloads; - + auto iter = method; while (iter) { @@ -546,7 +546,7 @@ namespace AZ AZStd::vector BehaviorClass::GetOverloadsExcludeMethod(BehaviorMethod* method) const { AZStd::vector overloads; - + auto iter = method->m_overload; while (iter) { @@ -972,5 +972,5 @@ namespace AZ return enumRttiHelper.GetTypeId(); } } - + } // namespace AZ diff --git a/Code/Framework/AzCore/AzCore/RTTI/BehaviorContext.h b/Code/Framework/AzCore/AzCore/RTTI/BehaviorContext.h index f02c37492b..ba8808d4d2 100644 --- a/Code/Framework/AzCore/AzCore/RTTI/BehaviorContext.h +++ b/Code/Framework/AzCore/AzCore/RTTI/BehaviorContext.h @@ -36,7 +36,7 @@ namespace AZ constexpr const char* k_PropertyNameGetterSuffix = "::Getter"; constexpr const char* k_PropertyNameSetterSuffix = "::Setter"; - + /// Typedef for class unwrapping callback (i.e. used for things like smart_ptr to unwrap for T) using BehaviorClassUnwrapperFunction = void(*)(void* /*classPtr*/, void*& /*unwrappedClass*/, AZ::Uuid& /*unwrappedClassTypeId*/, void* /*userData*/); @@ -53,7 +53,7 @@ namespace AZ IfPresent, }; - struct BehaviorObject // same as DynamicSerializableField, make sure we merge them... so we can store the object easily + struct BehaviorObject // same as DynamicSerializableField, make sure we merge them... so we can store the object easily { AZ_TYPE_INFO(BehaviorObject, "{2813cdfb-0a4a-411c-9216-72a7b644d1dd}"); @@ -165,7 +165,7 @@ namespace AZ /// Convert to BehaviorObject implicitly for passing generic parameters (usually not known at compile time) operator BehaviorObject() const; - /// Converts internally the value to a specific type known at compile time. \returns true if conversion was successful. + /// Converts internally the value to a specific type known at compile time. \returns true if conversion was successful. template bool ConvertTo(); @@ -452,7 +452,7 @@ namespace AZ namespace Internal { const AZ::TypeId& GetUnderlyingTypeId(const IRttiHelper& enumRttiHelper); - + // Converts sourceAddress to targetType inline bool ConvertValueTo(void* sourceAddress, const IRttiHelper* sourceRtti, const AZ::Uuid& targetType, void*& targetAddress, BehaviorParameter::TempValueParameterAllocator& tempAllocator) { @@ -520,7 +520,7 @@ namespace AZ static const int s_startNamedArgumentIndex = s_startArgumentIndex; // +1 for result type BehaviorMethodImpl(FunctionPointer functionPointer, BehaviorContext* context, const AZStd::string& name = AZStd::string()); - + bool Call(BehaviorValueParameter* arguments, unsigned int numArguments, BehaviorValueParameter* result) const override; bool HasResult() const override; @@ -548,7 +548,7 @@ namespace AZ BehaviorParameter m_parameters[sizeof...(Args)+s_startNamedArgumentIndex]; AZStd::array m_metadataParameters; ///< Stores the per parameter metadata which is used to add names, tooltips, trait, default values, etc... to the parameters }; - + #if __cpp_noexcept_function_type // C++17 makes exception specifications as part of the type in paper P0012R1 // Therefore noexcept overloads must be distinguished from non-noexcept overloads @@ -732,7 +732,7 @@ namespace AZ BehaviorEBusEvent(FunctionPointer functionPointer, BehaviorContext* context); BehaviorEBusEvent(FunctionPointerConst functionPointer, BehaviorContext* context); - + template inline AZStd::enable_if_t SetBusIdType(); @@ -813,7 +813,7 @@ namespace AZ : SetFunctionParameters {}; #endif - + template struct BehaviorOnDemandReflectHelper; template @@ -997,14 +997,14 @@ namespace AZ } // namespace Internal /** - * Behavior representation of reflected class. + * Behavior representation of reflected class. */ class BehaviorClass { public: AZ_CLASS_ALLOCATOR(BehaviorClass, SystemAllocator, 0); - BehaviorClass(); + BehaviorClass(); ~BehaviorClass(); /// Hooks to override default memory allocation for the class (AZ_CLASS_ALLOCATOR is used by default) @@ -1065,7 +1065,7 @@ namespace AZ void* m_userData; AZStd::string m_name; - AZStd::vector m_baseClasses; + AZStd::vector m_baseClasses; AZStd::unordered_map m_methods; AZStd::unordered_map m_properties; AttributeArray m_attributes; @@ -1081,7 +1081,7 @@ namespace AZ AZ::Uuid m_wrappedTypeId; // Store all owned instances for unload verification? }; - + // Helper macros to generate getter and setter function from a pointer to value or member value // Syntax BehaviorValueGetter(&globalValue) BehaviorValueGetter(&Class::MemberValue) # define BehaviorValueGetter(valueAddress) &AZ::Internal::BehaviorValuePropertyHelper::Get @@ -1095,7 +1095,7 @@ namespace AZ * Property representation, a property has getter and setter. A read only property will have a "nullptr" for a setter. * You can use lambdas, global of member function. If you want to just expose a variable (not write the function and handle changes) * you can use \ref BehaviorValueProperty macros (or BehaviorValueGetter/Setter to control read/write functionality) - * Member constants are a property too, use \ref BehaviorConstant for it. Everything is either a property or a method, the main reason + * Member constants are a property too, use \ref BehaviorConstant for it. Everything is either a property or a method, the main reason * why we "push" people to use functions is that in most cases when we manipulate an object, you will need to do more than just set a value * to a new value. */ @@ -1163,7 +1163,7 @@ namespace AZ }; /** - * RAII class which keeps track of functions reflected to the BehaviorContext + * RAII class which keeps track of functions reflected to the BehaviorContext * when it is supplied as an OnDemandReflectionOwner */ class ScopedBehaviorOnDemandReflector @@ -1182,7 +1182,7 @@ namespace AZ AZ_CLASS_ALLOCATOR(BehaviorEBus, SystemAllocator, 0); typedef void(*QueueFunctionType)(void* /*userData1*/, void* /*userData2*/); - + struct VirtualProperty { VirtualProperty(BehaviorEBusEventSender* getter, BehaviorEBusEventSender* setter) @@ -1294,7 +1294,7 @@ namespace AZ AZStd::string m_scriptPath; #endif - AZStd::string GetScriptPath() const + AZStd::string GetScriptPath() const { #if defined(PERFORMANCE_BUILD) || !defined(_RELEASE) // m_scriptPath is only available in non-Release mode return m_scriptPath; @@ -1303,8 +1303,8 @@ namespace AZ #endif } - void SetScriptPath(const char* scriptPath) - { + void SetScriptPath(const char* scriptPath) + { #if defined(PERFORMANCE_BUILD) || !defined(_RELEASE) // m_scriptPath is only available in non-Release mode m_scriptPath = scriptPath; #else @@ -1346,7 +1346,7 @@ namespace AZ virtual void OnAddGlobalProperty(const char* propertyName, BehaviorProperty* prop) { (void)propertyName; (void)prop; } virtual void OnRemoveGlobalProperty(const char* propertyName, BehaviorProperty* prop) { (void)propertyName; (void)prop; } - /// Called when a class is added or removed + /// Called when a class is added or removed virtual void OnAddClass(const char* className, BehaviorClass* behaviorClass) { (void)className; (void)behaviorClass; } virtual void OnRemoveClass(const char* className, BehaviorClass* behaviorClass) { (void)className; (void)behaviorClass; } @@ -1358,10 +1358,10 @@ namespace AZ using BehaviorContextBus = AZ::EBus; /** - * BehaviorContext is used to reflect classes, methods and EBuses for runtime interaction. A typical consumer of this context and different + * BehaviorContext is used to reflect classes, methods and EBuses for runtime interaction. A typical consumer of this context and different * scripting systems (i.e. Lua, Visual Script, etc.). Even though (as designed) there are overlaps between some context they have very different * purpose and set of rules. For example SerializeContext, doesn't reflect any methods, it just reflects data fields that will be stored for initial object - * setup, it handles version conversion and so thing, this related to storing the object to a persistent storage. Behavior context, doesn't need to deal with versions as + * setup, it handles version conversion and so thing, this related to storing the object to a persistent storage. Behavior context, doesn't need to deal with versions as * no data is stored, just methods for manipulating the object state. */ class BehaviorContext : public ReflectContext @@ -1379,7 +1379,7 @@ namespace AZ } template - static void QueueFunction(BehaviorEBus::QueueFunctionType f, void* userData1, void* userData2) + static void QueueFunction(BehaviorEBus::QueueFunctionType f, void* userData1, void* userData2) { Bus::QueueFunction(f, userData1, userData2); } @@ -1484,8 +1484,8 @@ namespace AZ } template - static void SetClassDefaultAllocator(BehaviorClass* behaviorClass, const AZStd::false_type& /*HasAZClassAllocator*/) - { + static void SetClassDefaultAllocator(BehaviorClass* behaviorClass, const AZStd::false_type& /*HasAZClassAllocator*/) + { behaviorClass->m_allocate = &DefaultSystemAllocator::Allocate; behaviorClass->m_deallocate = &DefaultSystemAllocator::DeAllocate; } @@ -1522,20 +1522,20 @@ namespace AZ } template - static void SetClassDefaultConstructor(BehaviorClass* behaviorClass, const AZStd::true_type& /*AZStd::is_constructible*/) + static void SetClassDefaultConstructor(BehaviorClass* behaviorClass, const AZStd::true_type& /*AZStd::is_constructible*/) { behaviorClass->m_defaultConstructor = &DefaultConstruct; } template - static void SetClassDefaultDestructor(BehaviorClass* behaviorClass, const AZStd::true_type& /*AZStd::is_destructible*/) + static void SetClassDefaultDestructor(BehaviorClass* behaviorClass, const AZStd::true_type& /*AZStd::is_destructible*/) { behaviorClass->m_destructor = &DefaultDestruct; } template - static void SetClassDefaultCopyConstructor(BehaviorClass* behaviorClass, const AZStd::true_type& /*AZStd::is_copy_constructible*/) - { + static void SetClassDefaultCopyConstructor(BehaviorClass* behaviorClass, const AZStd::true_type& /*AZStd::is_copy_constructible*/) + { behaviorClass->m_cloner = &DefaultCopyConstruct; } @@ -1585,7 +1585,7 @@ namespace AZ const char* m_name; BehaviorMethod* m_method; }; - + struct GlobalPropertyBuilder : public AZ::Internal::GenericAttributes { typedef AZ::Internal::GenericAttributes Base; @@ -1608,7 +1608,7 @@ namespace AZ ClassBuilder(BehaviorContext* context, BehaviorClass* behaviorClass); ~ClassBuilder(); ClassBuilder* operator->(); - + /** * Sets custom allocator for a class, this function will error if this not inside a class. * This is only for very specific cases when you want to override AZ_CLASS_ALLOCATOR or you are dealing with 3rd party classes, otherwise @@ -1659,9 +1659,9 @@ namespace AZ ClassBuilder* Constant(const char* name, Getter getter); /** - * You can describe buses that this class uses to communicate. Those buses will be used by tools when + * You can describe buses that this class uses to communicate. Those buses will be used by tools when * you need to give developers hints as to what buses this class interacts with. - * You don't need to reflect all buses that your class uses, just the ones related to + * You don't need to reflect all buses that your class uses, just the ones related to * class behavior. Please refer to component documentation for more information on * the pattern of Request and Notification buses. * {@ @@ -1717,10 +1717,10 @@ namespace AZ /** * With request buses (please refer to component communication patterns documentation) we ofter have EBus events - * that represent a getter and a setter for a value. To allow our tools to take advantage of it, you can reflect + * that represent a getter and a setter for a value. To allow our tools to take advantage of it, you can reflect * VirtualProperty to indicate which event is the getter and which is the setter. * This function validates that getter event has no argument and a result and setter function has no results and only - * one argument which is the same type as the result of the getter. + * one argument which is the same type as the result of the getter. * \note Make sure you call this function after you have reflected the getter and setter events as it will report an error * if we can't find the function */ @@ -1731,7 +1731,7 @@ namespace AZ BehaviorContext(); ~BehaviorContext(); - + ///< \deprecated Use "Method(const char*, Function, const AZStd::array::num_args>&, const char*)" instead ///< This method does not support passing in argument names and tooltips nor does it support overriding specific parameter Behavior traits template @@ -1741,7 +1741,7 @@ namespace AZ ///< This method does not support passing in argument names and tooltips nor does it support overriding specific parameter Behavior traits template GlobalMethodBuilder Method(const char* name, Function f, const char* deprecatedName, BehaviorValues* defaultValues = nullptr, const char* dbgDesc = nullptr); - + template GlobalMethodBuilder Method(const char* name, Function f, const AZStd::array::num_args>& args, const char* dbgDesc = nullptr); @@ -1836,13 +1836,13 @@ namespace AZ /** * Helper MACRO to help you write the EBus handler that you want to reflect to behavior. This is not required, but generally we recommend reflecting all useful - * buses as this enable people to "script" complex behaviors. + * buses as this enable people to "script" complex behaviors. * You don't have to use this macro to write a Handler, but some people find it useful * Here is an example how to use it: * class MyEBusBehaviorHandler : public MyEBus::Handler, public AZ::BehaviorEBusHandler * { * public: - * AZ_EBUS_BEHAVIOR_BINDER(MyEBusBehaviorHandler, "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXXX}",Allocator, OnEvent1, OnEvent2 and so on); + * AZ_EBUS_BEHAVIOR_BINDER(MyEBusBehaviorHandler, "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXXX}",Allocator, OnEvent1, OnEvent2 and so on); * // now you need implementations for those event * * @@ -1854,7 +1854,7 @@ namespace AZ * // The AZ_EBUS_BEHAVIOR_BINDER defines FN_EventName for each index. You can also cache it yourself (but it's slower), static int cacheIndex = GetFunctionIndex("OnEvent1"); and use that . * CallResult(result, FN_OnEvent1, data); // forward to the binding (there can be none, this is why we need to always have properly set result, when there is one) * return result; // return the result like you will in any normal EBus even with result - * } * + * } * * // handle the other events here * }; * @@ -1922,7 +1922,7 @@ namespace AZ /** * Provides the same functionality of the AZ_EBUS_BEHAVIOR_BINDER macro above with the additional ability to specify the names and a tooltips of handler methods * after listing the handler method in the macro. - * An example Usage is + * An example Usage is * class MyEBusBehaviorHandler : public MyEBus::Handler, public AZ::BehaviorEBusHandler * { * public: @@ -1930,7 +1930,7 @@ namespace AZ * OnEvent2, ({#OnEvent2 first parameter name(float), #OnEvent2 first parameter tooltip(float)}, {#OnEvent2 second parameter name(bool), {#OnEvent2 second parameter tooltip(bool)}), * OnEvent3, ()); * // The reason for needing parenthesis around the parameter name and tooltip object(AZ::BehaviorParameterOverrides) is to prevent the macro from parsing the comma in the intializer as seperate parameters - * // When using this macro, the BehaviorParameterOverrides objects must be placed after every listing a function as a handler. Furthermore the number of BehaviorParameterOverrides objects for each function must match the number of parameters + * // When using this macro, the BehaviorParameterOverrides objects must be placed after every listing a function as a handler. Furthermore the number of BehaviorParameterOverrides objects for each function must match the number of parameters * // to that function * // Ex. for a function called HugeEvent with a signature of void HugeEvent(int, float, double, char, short), two arguments must be supplied to the macro. * // 1. HugeEvent @@ -2181,7 +2181,7 @@ namespace AZ // Template implementations ////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// - + ////////////////////////////////////////////////////////////////////////// inline BehaviorObject::BehaviorObject() : m_address(nullptr) @@ -2569,7 +2569,7 @@ namespace AZ m_getter = nullptr; return false; } - + // assure that TR_THIS_PTR is set on the first parameter m_getter->OverrideParameterTraits(0, AZ::BehaviorParameter::TR_THIS_PTR, 0); } @@ -2847,7 +2847,7 @@ namespace AZ } ////////////////////////////////////////////////////////////////////////// - + template void BehaviorEBusHandler::CallResult(R& result, int index, Args&&... args) const { @@ -2904,7 +2904,7 @@ namespace AZ { return ClassBuilder(this, static_cast(nullptr)); } - + auto classTypeIt = m_typeToClassMap.find(typeUuid); if (IsRemovingReflection()) { @@ -2933,7 +2933,7 @@ namespace AZ // class already reflected, display name and uuid char uuidName[AZ::Uuid::MaxStringBuffer]; classTypeIt->first.ToString(uuidName, AZ::Uuid::MaxStringBuffer); - + AZ_Error("Reflection", false, "Class '%s' is already registered using Uuid: %s!", name, uuidName); return ClassBuilder(this, static_cast(nullptr)); } @@ -3002,7 +3002,7 @@ namespace AZ if (m_class && (!Base::m_context->IsRemovingReflection())) { - for (auto method : m_class->m_methods) + for (const auto &method : m_class->m_methods) { m_class->PostProcessMethod(Base::m_context, *method.second); if (MethodReturnsAzEventByReferenceOrPointer(*method.second)) @@ -3485,7 +3485,7 @@ namespace AZ return this; } - + ////////////////////////////////////////////////////////////////////////// template BehaviorContext::EBusBuilder BehaviorContext::EBus(const char* name, const char* deprecatedName /*=nullptr*/, const char* toolTip /*=nullptr*/) @@ -3748,9 +3748,9 @@ namespace AZ return this; } } - + m_ebus->m_virtualProperties.insert(AZStd::make_pair(name, BehaviorEBus::VirtualProperty(getter, setter))); - } + } return this; } @@ -3868,7 +3868,7 @@ namespace AZ SetParameters(m_parameters, this); SetParameters(&m_parameters[s_startNamedArgumentIndex], this); } - + ////////////////////////////////////////////////////////////////////////// template bool BehaviorMethodImpl::Call(BehaviorValueParameter* arguments, unsigned int numArguments, BehaviorValueParameter* result) const @@ -3876,7 +3876,7 @@ namespace AZ size_t totalArguments = GetNumArguments(); if (numArguments < totalArguments) { - // We are cloning all arguments on the stack, since Call is called only from Invoke we can reserve bigger "arguments" array + // We are cloning all arguments on the stack, since Call is called only from Invoke we can reserve bigger "arguments" array // that can always handle all parameters. So far the don't use default values that ofter, so we will optimize for the common case first. BehaviorValueParameter* newArguments = reinterpret_cast(alloca(sizeof(BehaviorValueParameter)* totalArguments)); // clone the input parameters (we don't need to clone temp buffers, etc. as they will be still on the stack) @@ -4072,7 +4072,7 @@ namespace AZ { m_isConst = true; } - + ////////////////////////////////////////////////////////////////////////// template bool BehaviorMethodImpl::Call(BehaviorValueParameter* arguments, unsigned int numArguments, BehaviorValueParameter* result) const @@ -4080,7 +4080,7 @@ namespace AZ size_t totalArguments = GetNumArguments(); if (numArguments < totalArguments) { - // We are cloning all arguments on the stack, since Call is called only from Invoke we can reserve bigger "arguments" array + // We are cloning all arguments on the stack, since Call is called only from Invoke we can reserve bigger "arguments" array // that can always handle all parameters. So far the don't use default values that ofter, so we will optimize for the common case first. BehaviorValueParameter* newArguments = reinterpret_cast(alloca(sizeof(BehaviorValueParameter)* totalArguments)); // clone the input parameters (we don't need to clone temp buffers, etc. as they will be still on the stack) @@ -4284,7 +4284,7 @@ namespace AZ { m_isConst = true; } - + ////////////////////////////////////////////////////////////////////////// template template @@ -4307,7 +4307,7 @@ namespace AZ size_t totalArguments = GetNumArguments(); if (numArguments < totalArguments) { - // We are cloning all arguments on the stack, since Call is called only from Invoke we can reserve bigger "arguments" array + // We are cloning all arguments on the stack, since Call is called only from Invoke we can reserve bigger "arguments" array // that can always handle all parameters. So far the don't use default values that ofter, so we will optimize for the common case first. BehaviorValueParameter* newArguments = reinterpret_cast(alloca(sizeof(BehaviorValueParameter)* totalArguments)); // clone the input parameters (we don't need to clone temp buffers, etc. as they will be still on the stack) @@ -4497,7 +4497,7 @@ namespace AZ template void SetFunctionParameters::Set(AZStd::vector& params) { - // result, userdata, arguments + // result, userdata, arguments params.resize(sizeof...(Args) + eBehaviorBusForwarderEventIndices::ParameterFirst); SetParameters(¶ms[eBehaviorBusForwarderEventIndices::Result], nullptr); SetParameters(¶ms[eBehaviorBusForwarderEventIndices::UserData], nullptr); diff --git a/Code/Framework/AzCore/AzCore/Script/ScriptContext.cpp b/Code/Framework/AzCore/AzCore/Script/ScriptContext.cpp index 531c91bcf4..fb0d12f552 100644 --- a/Code/Framework/AzCore/AzCore/Script/ScriptContext.cpp +++ b/Code/Framework/AzCore/AzCore/Script/ScriptContext.cpp @@ -1463,9 +1463,9 @@ static void* LuaMemoryHook(void* userData, void* ptr, size_t osize, size_t nsize { allocator->DeAllocate(ptr); } - return NULL; + return nullptr; } - else if (ptr == NULL) + else if (ptr == nullptr) { return allocator->Allocate(nsize, LUA_DEFAULT_ALIGNMENT, 0, "Script", __FILE__, __LINE__, 1); } @@ -1708,7 +1708,7 @@ LUA_API const Node* lua_getDummyNode() "Invalid stack!"); lua_pop(m_nativeContext, (currentTop - m_startVariableIndex) + 1); - m_nativeContext = NULL; + m_nativeContext = nullptr; m_startVariableIndex = 0; m_numArguments = 0; m_numResults = 0; @@ -2038,7 +2038,7 @@ LUA_API const Node* lua_getDummyNode() LSV_BEGIN_VARIABLE(m_nativeContext); valueIndex = 0; - name = NULL; + name = nullptr; index = -1; if (m_mode == MD_INSPECT) { diff --git a/Code/Framework/AzCore/AzCore/Script/ScriptContextDebug.cpp b/Code/Framework/AzCore/AzCore/Script/ScriptContextDebug.cpp index 63f44a2469..e28a289c9e 100644 --- a/Code/Framework/AzCore/AzCore/Script/ScriptContextDebug.cpp +++ b/Code/Framework/AzCore/AzCore/Script/ScriptContextDebug.cpp @@ -43,7 +43,7 @@ public: , m_numErrors(0) { using namespace AZStd::placeholders; - m_context->SetErrorHook(AZStd::bind(&ScriptErrorCatcher::ErrorCB, this, _1, _2, _3)); + m_context->SetErrorHook([this](ScriptContext* a, ScriptContext::ErrorType b, const char* c) { ErrorCB(a,b,c); }); } ~ScriptErrorCatcher() { @@ -66,7 +66,7 @@ public: // [6/29/2012] //========================================================================= ScriptContextDebug::ScriptContextDebug(ScriptContext& scriptContext, bool isEnableStackRecord) - : m_luaDebug(NULL) + : m_luaDebug(nullptr) , m_currentStackLevel(-1) , m_stepStackLevel(-1) , m_isRecordCallstack(isEnableStackRecord) @@ -104,7 +104,7 @@ void ScriptContextDebug::ConnectHook() //========================================================================= void ScriptContextDebug::DisconnectHook() { - lua_sethook(m_context.NativeContext(), 0, 0, 0); + lua_sethook(m_context.NativeContext(), nullptr, 0, 0); } //========================================================================= @@ -149,7 +149,7 @@ ScriptContextDebug::EnumRegisteredClasses(EnumClass enumClass, EnumMethod enumMe lua_rawgeti(l, -2, AZ_LUA_CLASS_METATABLE_NAME_INDEX); // load class name AZ_Assert(lua_isstring(l, -1), "Internal scipt error: class without a classname at index %d", AZ_LUA_CLASS_METATABLE_NAME_INDEX); - + if (!enumClass(lua_tostring(l, -1), behaviorClass->m_typeId, userData)) { lua_pop(l, 5); @@ -199,7 +199,7 @@ ScriptContextDebug::EnumRegisteredClasses(EnumClass enumClass, EnumMethod enumMe // for any non-built in methods if (strncmp(name, "__", 2) != 0) { - const char* dbgParamInfo = NULL; + const char* dbgParamInfo = nullptr; // attempt to get the name bool popDebugName = lua_getupvalue(l, -1, 2) != nullptr; @@ -278,7 +278,7 @@ ScriptContextDebug::EnumRegisteredGlobals(EnumMethod enumMethod, EnumProperty en { if (strncmp(name, "__", 2) != 0) { - const char* dbgParamInfo = NULL; + const char* dbgParamInfo = nullptr; lua_getupvalue(l, -1, 2); if (lua_isstring(l, -1)) { @@ -606,7 +606,7 @@ void AZ::LuaHook(lua_State* l, lua_Debug* ar) lua_pop(l, 1); // bool doBreak = false; - ScriptContextDebug::Breakpoint* bp = NULL; + ScriptContextDebug::Breakpoint* bp = nullptr; ScriptContextDebug::Breakpoint localBreakPoint; lua_getinfo(l, "Sunl", ar); @@ -735,7 +735,7 @@ void AZ::LuaHook(lua_State* l, lua_Debug* ar) { context->m_luaDebug = ar; context->m_breakCallback(context, bp); - context->m_luaDebug = NULL; + context->m_luaDebug = nullptr; } } @@ -752,7 +752,7 @@ ScriptContextDebug::EnumLocals(EnumLocalCallback& cb) int local = 1; const char* name; ScriptDataContext dc; - while ((name = lua_getlocal(l, m_luaDebug, local)) != NULL) + while ((name = lua_getlocal(l, m_luaDebug, local)) != nullptr) { if (name[0] != '(') // skip temporary variables { @@ -846,7 +846,7 @@ ScriptContextDebug::EnableBreakpoints(BreakpointCallback& cb) void ScriptContextDebug::DisableBreakpoints() { - m_breakCallback = NULL; + m_breakCallback = nullptr; } //========================================================================= @@ -1079,7 +1079,7 @@ ScriptContextDebug::WriteValue(const DebugValue& value, const char* valueName, i int valueTableIndex = -1; if (valueName[0] == '[') { - valueTableIndex = static_cast(strtol(valueName + 1, NULL, 10)); + valueTableIndex = static_cast(strtol(valueName + 1, nullptr, 10)); } if (strcmp(valueName, "__metatable__") == 0) // metatable are read only { @@ -1114,7 +1114,7 @@ ScriptContextDebug::WriteValue(const DebugValue& value, const char* valueName, i } break; case LUA_TNUMBER: { - lua_pushnumber(l, static_cast(strtod(value.m_value.c_str(), NULL))); + lua_pushnumber(l, static_cast(strtod(value.m_value.c_str(), nullptr))); if (localIndex != -1) { lua_setlocal(l, m_luaDebug, localIndex); @@ -1256,7 +1256,7 @@ ScriptContextDebug::WriteValue(const DebugValue& value, const char* valueName, i else { lua_pushvalue(l, -5); // copy the user data (this pointer) - lua_pushnumber(l, static_cast(strtod(subElement.m_value.c_str(), NULL))); + lua_pushnumber(l, static_cast(strtod(subElement.m_value.c_str(), nullptr))); lua_call(l, 2, 0); // call the setter } break; @@ -1375,7 +1375,7 @@ ScriptContextDebug::GetValue(DebugValue& value) { int iLocal = 1; const char* localName; - while ((localName = lua_getlocal(l, m_luaDebug, iLocal)) != NULL) + while ((localName = lua_getlocal(l, m_luaDebug, iLocal)) != nullptr) { if (localName[0] != '(' && strcmp(name, localName) == 0) { @@ -1460,7 +1460,7 @@ ScriptContextDebug::SetValue(const DebugValue& sourceValue) // create hierarchy from tokens const DebugValue* value = &sourceValue; DebugValue untokenizedValue; - + if (tokens.size() > 1) { untokenizedValue.m_name = tokens[0]; @@ -1519,7 +1519,7 @@ ScriptContextDebug::SetValue(const DebugValue& sourceValue) { int iLocal = 1; const char* localName; - while ((localName = lua_getlocal(l, m_luaDebug, iLocal)) != NULL) + while ((localName = lua_getlocal(l, m_luaDebug, iLocal)) != nullptr) { lua_pop(l, 1); if (localName[0] != '(' && strcmp(name, localName) == 0) diff --git a/Code/Framework/AzCore/AzCore/Serialization/SerializationUtils.cpp b/Code/Framework/AzCore/AzCore/Serialization/SerializationUtils.cpp index c8e6c28679..37eacd940e 100644 --- a/Code/Framework/AzCore/AzCore/Serialization/SerializationUtils.cpp +++ b/Code/Framework/AzCore/AzCore/Serialization/SerializationUtils.cpp @@ -42,7 +42,7 @@ namespace AZ AZ_Assert(targetPointer, "You must provide a target pointer"); bool foundSuccess = false; - typedef AZStd::function CreationCallback; + using CreationCallback = AZStd::function; auto handler = [&targetPointer, objectClassData, &foundSuccess](void** instance, const SerializeContext::ClassData** classData, const Uuid& classId, SerializeContext* context) { void* convertibleInstance{}; diff --git a/Code/Framework/AzCore/AzCore/Serialization/SerializeContext.cpp b/Code/Framework/AzCore/AzCore/Serialization/SerializeContext.cpp index cea4b795d7..f326b021e7 100644 --- a/Code/Framework/AzCore/AzCore/Serialization/SerializeContext.cpp +++ b/Code/Framework/AzCore/AzCore/Serialization/SerializeContext.cpp @@ -91,7 +91,7 @@ namespace AZ { AZ_Assert(textVersion == 0, "Unknown char, short, int version!"); (void)textVersion; - long value = strtol(text, NULL, 10); + long value = strtol(text, nullptr, 10); AZ_SERIALIZE_SWAP_ENDIAN(value, isDataBigEndian); return static_cast(stream.Write(sizeof(T), reinterpret_cast(&value))); } @@ -124,7 +124,7 @@ namespace AZ { AZ_Assert(textVersion == 0, "Unknown unsigned char, short, int version!"); (void)textVersion; - unsigned long value = strtoul(text, NULL, 10); + unsigned long value = strtoul(text, nullptr, 10); AZ_SERIALIZE_SWAP_ENDIAN(value, isDataBigEndian); return static_cast(stream.Write(sizeof(T), reinterpret_cast(&value))); } @@ -158,7 +158,7 @@ namespace AZ { AZ_Assert(textVersion == 0, "Unknown unsigned char, short, int version!"); (void)textVersion; - long value = strtol(text, NULL, 10); + long value = strtol(text, nullptr, 10); AZ_SERIALIZE_SWAP_ENDIAN(value, isDataBigEndian); return static_cast(stream.Write(sizeof(T), reinterpret_cast(&value))); } @@ -192,7 +192,7 @@ namespace AZ { AZ_Assert(textVersion == 0, "Unknown unsigned char, short, int version!"); (void)textVersion; - unsigned long value = strtoul(text, NULL, 10); + unsigned long value = strtoul(text, nullptr, 10); AZ_SERIALIZE_SWAP_ENDIAN(value, isDataBigEndian); return static_cast(stream.Write(sizeof(T), reinterpret_cast(&value))); } @@ -225,7 +225,7 @@ namespace AZ { AZ_Assert(textVersion == 0, "Unknown unsigned char, short, int version!"); (void)textVersion; - AZ::s64 value = strtoll(text, NULL, 10); + AZ::s64 value = strtoll(text, nullptr, 10); AZ_SERIALIZE_SWAP_ENDIAN(value, isDataBigEndian); return static_cast(stream.Write(sizeof(AZ::s64), reinterpret_cast(&value))); } @@ -258,7 +258,7 @@ namespace AZ { AZ_Assert(textVersion == 0, "Unknown unsigned char, short, int version!"); (void)textVersion; - unsigned long long value = strtoull(text, NULL, 10); + unsigned long long value = strtoull(text, nullptr, 10); AZ_SERIALIZE_SWAP_ENDIAN(value, isDataBigEndian); return static_cast(stream.Write(sizeof(AZ::u64), reinterpret_cast(&value))); } @@ -292,7 +292,7 @@ namespace AZ { AZ_Assert(textVersion == 0, "Unknown float/double version!"); (void)textVersion; - double value = strtod(text, NULL); + double value = strtod(text, nullptr); AZ_SERIALIZE_SWAP_ENDIAN(value, isDataBigEndian); T data = static_cast(value); @@ -815,7 +815,7 @@ namespace AZ const ClassData* fromClass = FindClassData(fromClassId); if (!fromClass) { - return NULL; + return nullptr; } for (size_t i = 0; i < fromClass->m_elements.size(); ++i) @@ -831,7 +831,7 @@ namespace AZ if (!fromClass->m_azRtti) { - return NULL; // Reflection info failed to cast and we can't find rtti info + return nullptr; // Reflection info failed to cast and we can't find rtti info } fromClassHelper = fromClass->m_azRtti; } @@ -841,7 +841,7 @@ namespace AZ const ClassData* toClass = FindClassData(toClassId); if (!toClass || !toClass->m_azRtti) { - return NULL; // We can't cast without class data or rtti helper + return nullptr; // We can't cast without class data or rtti helper } toClassHelper = toClass->m_azRtti; } @@ -855,7 +855,7 @@ namespace AZ // [5/22/2012] //========================================================================= SerializeContext::DataElement::DataElement() - : m_name(0) + : m_name(nullptr) , m_nameCrc(0) , m_dataSize(0) , m_byteStream(&m_buffer) @@ -1045,7 +1045,7 @@ namespace AZ //========================================================================= bool SerializeContext::DataElementNode::Convert(SerializeContext& sc, const char* name, const Uuid& id) { - AZ_Assert(name != NULL && strlen(name) > 0, "Empty name is an INVALID element name!"); + AZ_Assert(name != nullptr && strlen(name) > 0, "Empty name is an INVALID element name!"); u32 nameCrc = Crc32(name); #if defined(AZ_ENABLE_TRACING) @@ -1165,7 +1165,7 @@ namespace AZ int SerializeContext::DataElementNode::AddElement(SerializeContext& sc, const char* name, const ClassData& classData) { (void)sc; - AZ_Assert(name != NULL && strlen(name) > 0, "Empty name is an INVALID element name!"); + AZ_Assert(name != nullptr && strlen(name) > 0, "Empty name is an INVALID element name!"); u32 nameCrc = Crc32(name); #if defined(AZ_ENABLE_TRACING) @@ -1703,7 +1703,7 @@ namespace AZ m_classData->second.m_serializer = AZStd::move(serializer); return this; - + } //========================================================================= @@ -1801,7 +1801,7 @@ namespace AZ void* objectPtr = ptr; const AZ::Uuid* classIdPtr = &classId; const SerializeContext::ClassData* dataClassInfo = classData; - + if (classElement) { // if we are a pointer, then we may be pointing to a derived type. @@ -1854,14 +1854,14 @@ namespace AZ DbgStackEntry de; de.m_dataPtr = objectPtr; de.m_uuidPtr = classIdPtr; - de.m_elementName = classElement ? classElement->m_name : NULL; + de.m_elementName = classElement ? classElement->m_name : nullptr; de.m_classData = dataClassInfo; de.m_classElement = classElement; callContext->m_errorHandler->Push(de); } #endif // AZ_ENABLE_SERIALIZER_DEBUG - if (dataClassInfo == NULL) + if (dataClassInfo == nullptr) { #if defined (AZ_ENABLE_SERIALIZER_DEBUG) AZStd::string error; @@ -2182,9 +2182,9 @@ namespace AZ AZ::SerializeContext::DataPatchUpgradeHandler::~DataPatchUpgradeHandler() { - for (auto fieldUpgrades : m_upgrades) + for (const auto& fieldUpgrades : m_upgrades) { - for (auto versionUpgrades : fieldUpgrades.second) + for (const auto& versionUpgrades : fieldUpgrades.second) { for (auto* upgrade : versionUpgrades.second) { @@ -2192,8 +2192,8 @@ namespace AZ } } } - } - + } + void AZ::SerializeContext::DataPatchUpgradeHandler::AddFieldUpgrade(DataPatchUpgrade* upgrade) { // Find the field @@ -2448,7 +2448,7 @@ namespace AZ classData->m_eventHandler->OnWriteEnd(dataPtr); classData->m_eventHandler->OnObjectCloned(dataPtr); } - + if (classData->m_serializer) { classData->m_serializer->PostClone(dataPtr); @@ -2489,7 +2489,7 @@ namespace AZ { if (cd.m_azRtti->IsTypeOf(typeId)) { - if (!callback(&cd, 0)) + if (!callback(&cd, nullptr)) { return; } @@ -2507,7 +2507,7 @@ namespace AZ // if both classes have azRtti they will be enumerated already by the code above (azrtti) if (cd.m_azRtti == nullptr || cd.m_elements[i].m_azRtti == nullptr) { - if (!callback(&cd, 0)) + if (!callback(&cd, nullptr)) { return; } @@ -2539,7 +2539,7 @@ namespace AZ if (baseClassData) { callbackData.m_reportedTypes.push_back(baseClassData->m_typeId); - if (!callback(baseClassData, 0)) + if (!callback(baseClassData, nullptr)) { return; } @@ -2586,8 +2586,8 @@ namespace AZ void SerializeContext::RegisterDataContainer(AZStd::unique_ptr dataContainer) { m_dataContainers.push_back(AZStd::move(dataContainer)); - } - + } + //========================================================================= // EnumerateBaseRTTIEnumCallback // [11/13/2012] @@ -2731,10 +2731,10 @@ namespace AZ //========================================================================= void SerializeContext::IDataContainer::DeletePointerData(SerializeContext* context, const ClassElement* classElement, const void* element) { - AZ_Assert(context != NULL && classElement != NULL && element != NULL, "Invalid input"); + AZ_Assert(context != nullptr && classElement != nullptr && element != nullptr, "Invalid input"); const AZ::Uuid* elemUuid = &classElement->m_typeId; // find the class data for the specific element - const SerializeContext::ClassData* classData = classElement->m_genericClassInfo ? classElement->m_genericClassInfo->GetClassData() : context->FindClassData(*elemUuid, NULL, 0); + const SerializeContext::ClassData* classData = classElement->m_genericClassInfo ? classElement->m_genericClassInfo->GetClassData() : context->FindClassData(*elemUuid, nullptr, 0); if (classElement->m_flags & SerializeContext::ClassElement::FLG_POINTER) { const void* dataPtr = *reinterpret_cast(element); @@ -2745,7 +2745,7 @@ namespace AZ if (*actualClassId != *elemUuid) { // we are pointing to derived type, adjust class data, uuid and pointer. - classData = context->FindClassData(*actualClassId, NULL, 0); + classData = context->FindClassData(*actualClassId, nullptr, 0); elemUuid = actualClassId; if (classData) { @@ -2754,7 +2754,7 @@ namespace AZ } } } - if (classData == NULL) + if (classData == nullptr) { if ((classElement->m_flags & ClassElement::FLG_POINTER) != 0) { @@ -3250,7 +3250,7 @@ namespace AZ return m_moduleOSAllocator; } - // Take advantage of static variables being unique per dll module to clean up module specific registered classes when the module unloads + // Take advantage of static variables being unique per dll module to clean up module specific registered classes when the module unloads SerializeContext::PerModuleGenericClassInfo& GetCurrentSerializeContextModule() { static SerializeContext::PerModuleGenericClassInfo s_ModuleCleanupInstance; diff --git a/Code/Framework/AzCore/AzCore/Serialization/SerializeContext.h b/Code/Framework/AzCore/AzCore/Serialization/SerializeContext.h index d48e9df665..3d7f3c00f8 100644 --- a/Code/Framework/AzCore/AzCore/Serialization/SerializeContext.h +++ b/Code/Framework/AzCore/AzCore/Serialization/SerializeContext.h @@ -602,7 +602,7 @@ namespace AZ ///< @param resultPtr output parameter that is populated with the memory address that can be used to store an element of the convertible type ///< @param convertibleTypeId type to check to determine if it can converted to an element of class represent by this Class Data ///< @param classPtr memory address of the class represented by the ClassData - ///< @return true if a non-null memory address has been returned that can store the convertible type + ///< @return true if a non-null memory address has been returned that can store the convertible type bool ConvertFromType(void*& convertibleTypePtr, const TypeId& convertibleTypeId, void* classPtr, AZ::SerializeContext& serializeContext) const; /// Find the persistence id (check base classes) \todo this is a TEMP fix, analyze and cache that information in the class @@ -797,8 +797,8 @@ namespace AZ virtual void* ReserveElement(void* instance, const ClassElement* classElement) = 0; /// Free an element that was reserved using ReserveElement, but was not stored by calling StoreElement. virtual void FreeReservedElement(void* instance, void* element, SerializeContext* deletePointerDataContext) - { - RemoveElement(instance, element, deletePointerDataContext); + { + RemoveElement(instance, element, deletePointerDataContext); } /// Get an element's address by its index (called before the element is loaded). virtual void* GetElementByIndex(void* instance, const ClassElement* classElement, size_t index) = 0; @@ -858,7 +858,7 @@ namespace AZ /** * Data Converter interface which can be used to provide a conversion operation from to unrelated C++ types - * derived class to base class casting is taken care of through the RTTI system so those relations should not be + * derived class to base class casting is taken care of through the RTTI system so those relations should not be * check within this class */ class IDataConverter @@ -879,7 +879,7 @@ namespace AZ ///< @param convertibleTypeId type to check to determine if it can converted to an element of class represent by this Class Data ///< @param classPtr memory address of the class represented by the @classData type ///< @param classData reference to the metadata representing the type stored in classPtr - ///< @return true if a non-null memory address has been returned that can store the convertible type + ///< @return true if a non-null memory address has been returned that can store the convertible type virtual bool ConvertFromType(void*& convertibleTypePtr, const TypeId& convertibleTypeId, void* classPtr, const SerializeContext::ClassData& classData, SerializeContext& /*serializeContext*/) { if (classData.m_typeId == convertibleTypeId) @@ -1054,7 +1054,7 @@ namespace AZ AZStd::vector FindClassId(const AZ::Crc32& classNameCrc) const; /// Find GenericClassData data based on the supplied class ID - GenericClassInfo* FindGenericClassInfo(const Uuid& classId) const; + GenericClassInfo* FindGenericClassInfo(const Uuid& classId) const; /// Creates an AZStd::any based on the provided class Uuid, or returns an empty AZStd::any if no class data is found or the class is virtual AZStd::any CreateAny(const Uuid& classId); @@ -1161,7 +1161,7 @@ namespace AZ /* Declare a name change of a serialized field * These are used by the serializer to repair old data patches - * + * */ ClassBuilder* NameChange(unsigned int fromVersion, unsigned int toVersion, AZStd::string_view oldFieldName, AZStd::string_view newFieldName); @@ -1403,7 +1403,7 @@ namespace AZ template struct SerializeGenericTypeInfo { - // Provides a specific type alias that can be used to create GenericClassInfo of the + // Provides a specific type alias that can be used to create GenericClassInfo of the // specified type. By default this is GenericClassInfo class which is abstract using ClassInfoType = GenericClassInfo; @@ -1938,7 +1938,7 @@ namespace AZ if (m_context->IsRemovingReflection()) { // Delete any attributes allocated for this call. - for (auto attributePair : attributes) + for (auto& attributePair : attributes) { delete attributePair.second; } @@ -1955,7 +1955,7 @@ namespace AZ m_classData->second.m_name, AzTypeInfo::Name()); - // SerializeGenericTypeInfo::GetClassTypeId() is needed solely because + // SerializeGenericTypeInfo::GetClassTypeId() is needed solely because // the SerializeGenericTypeInfo specialization for AZ::Data::Asset returns the GetAssetClassId() value // and not the AzTypeInfo>::Uuid() // Therefore in order to remain backwards compatible the SerializeGenericTypeInfo::GetClassTypeId specialization diff --git a/Code/Framework/AzCore/AzCore/Settings/SettingsRegistryMergeUtils.cpp b/Code/Framework/AzCore/AzCore/Settings/SettingsRegistryMergeUtils.cpp index 0ca354ac95..cb666a7c02 100644 --- a/Code/Framework/AzCore/AzCore/Settings/SettingsRegistryMergeUtils.cpp +++ b/Code/Framework/AzCore/AzCore/Settings/SettingsRegistryMergeUtils.cpp @@ -1004,7 +1004,7 @@ namespace AZ::SettingsRegistryMergeUtils } AZ::SettingsRegistryInterface::VisitResponse Traverse( AZStd::string_view path, AZStd::string_view valueName, AZ::SettingsRegistryInterface::VisitAction action, - AZ::SettingsRegistryInterface::Type type) + AZ::SettingsRegistryInterface::Type type) override { // Pass the pointer path to the inclusion filter if available if (m_dumperSettings.m_includeFilter && !m_dumperSettings.m_includeFilter(path)) @@ -1058,7 +1058,7 @@ namespace AZ::SettingsRegistryMergeUtils AZ::SettingsRegistryInterface::VisitResponse::Done; } - void Visit(AZStd::string_view, AZStd::string_view valueName, AZ::SettingsRegistryInterface::Type, bool value) + void Visit(AZStd::string_view, AZStd::string_view valueName, AZ::SettingsRegistryInterface::Type, bool value) override { m_result = m_result && WriteName(valueName) && m_writer.Bool(value); } @@ -1073,12 +1073,12 @@ namespace AZ::SettingsRegistryMergeUtils m_result = m_result && WriteName(valueName) && m_writer.Uint64(value); } - void Visit(AZStd::string_view, AZStd::string_view valueName, AZ::SettingsRegistryInterface::Type, double value) + void Visit(AZStd::string_view, AZStd::string_view valueName, AZ::SettingsRegistryInterface::Type, double value) override { m_result = m_result && WriteName(valueName) && m_writer.Double(value); } - void Visit(AZStd::string_view, AZStd::string_view valueName, AZ::SettingsRegistryInterface::Type, AZStd::string_view value) + void Visit(AZStd::string_view, AZStd::string_view valueName, AZ::SettingsRegistryInterface::Type, AZStd::string_view value) override { m_result = m_result && WriteName(valueName) && m_writer.String(value.data(), aznumeric_caster(value.size())); } diff --git a/Code/Framework/AzCore/AzCore/State/HSM.cpp b/Code/Framework/AzCore/AzCore/State/HSM.cpp index e9e069cf9a..56a7e9a27a 100644 --- a/Code/Framework/AzCore/AzCore/State/HSM.cpp +++ b/Code/Framework/AzCore/AzCore/State/HSM.cpp @@ -187,7 +187,7 @@ void HSM::ClearStateHandler(StateId id) { m_states[id].handler.clear(); - m_states[id].name = NULL; + m_states[id].name = nullptr; m_states[id].superId = InvalidStateId; } diff --git a/Code/Framework/AzCore/AzCore/State/HSM.h b/Code/Framework/AzCore/AzCore/State/HSM.h index 042843cb7d..4004ca4341 100644 --- a/Code/Framework/AzCore/AzCore/State/HSM.h +++ b/Code/Framework/AzCore/AzCore/State/HSM.h @@ -103,13 +103,10 @@ namespace AZ struct State { - State() - : superId(InvalidStateId) - , name(NULL) {} StateHandler handler; - StateId superId; ///< State id of the super state, InvalidStateId if this is a top state InvalidStateId. - StateId subId; ///< If != InvalidStateId it will enter the sub ID after the state Enter event is called. - const char* name; + StateId superId = InvalidStateId; ///< State id of the super state, InvalidStateId if this is a top state InvalidStateId. + StateId subId = InvalidStateId; ///< If != InvalidStateId it will enter the sub ID after the state Enter event is called. + const char* name = nullptr; }; AZStd::array m_states; }; diff --git a/Code/Framework/AzCore/AzCore/UserSettings/UserSettingsProvider.cpp b/Code/Framework/AzCore/AzCore/UserSettings/UserSettingsProvider.cpp index 6c92803ac4..d56fc9a5d6 100644 --- a/Code/Framework/AzCore/AzCore/UserSettings/UserSettingsProvider.cpp +++ b/Code/Framework/AzCore/AzCore/UserSettings/UserSettingsProvider.cpp @@ -81,8 +81,12 @@ namespace AZ if (settingsFile.IsOpen()) { IO::SystemFileStream settingsFileStream(&settingsFile, false); - ObjectStream::ClassReadyCB readyCB(AZStd::bind(&UserSettingsProvider::OnSettingLoaded, this, AZStd::placeholders::_1, AZStd::placeholders::_2, AZStd::placeholders::_3)); - + ObjectStream::ClassReadyCB readyCB( + [this](void* classPtr, const Uuid& classId, const SerializeContext* sc) + { + OnSettingLoaded(classPtr, classId, sc); + }); + // do not try to load assets during User Settings Provider bootup - we are still initializing the application! // in addition, the file may contain settings we don't understand, from other applications - don't error on those. settingsLoaded = ObjectStream::LoadBlocking(&settingsFileStream, *sc, readyCB, ObjectStream::FilterDescriptor(&AZ::Data::AssetFilterNoAssetLoading, AZ::ObjectStream::FILTERFLAG_IGNORE_UNKNOWN_CLASSES)); @@ -104,7 +108,7 @@ namespace AZ { AZStd::vector saveBuffer; AZ::IO::ByteContainerStream> byteStream(&saveBuffer); - + ObjectStream* objStream = ObjectStream::Create(&byteStream, *sc, ObjectStream::ST_XML); bool writtenOk = objStream->WriteClass(&m_settings); bool streamOk = objStream->Finalize(); diff --git a/Code/Framework/AzCore/AzCore/std/function/function_base.h b/Code/Framework/AzCore/AzCore/std/function/function_base.h index 8ceba11239..6aa8a8ebc5 100644 --- a/Code/Framework/AzCore/AzCore/std/function/function_base.h +++ b/Code/Framework/AzCore/AzCore/std/function/function_base.h @@ -23,7 +23,7 @@ #include #define AZSTD_FUNCTION_TARGET_FIX(x) -#define AZSTD_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, Type) AZStd::enable_if_t, Type> +#define AZSTD_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, Type) AZStd::enable_if_t && !std::is_null_pointer_v, Type> diff --git a/Code/Framework/AzCore/AzCore/std/function/function_template.h b/Code/Framework/AzCore/AzCore/std/function/function_template.h index 8e389cb53d..a9c24ca75f 100644 --- a/Code/Framework/AzCore/AzCore/std/function/function_template.h +++ b/Code/Framework/AzCore/AzCore/std/function/function_template.h @@ -531,7 +531,7 @@ namespace AZStd //! A static vtable is used to avoid the need to dynamically allocate a vtable //! whose purpose is to contain a function ptr that can the manage the function buffer //! i.e performs the copy, move and destruction operations for the function buffer - //! as well as to validate if a the stored function can be type_cast to the type supplied in + //! as well as to validate if a the stored function can be type_cast to the type supplied in //! std::function::target //! The vtable other purpose is to store a function ptr that is used to wrap the invocation of the underlying function static vtable_type stored_vtable = get_invoker::template create_vtable>(); @@ -556,7 +556,7 @@ namespace AZStd //! A static vtable is used to avoid the need to dynamically allocate a vtable //! whose purpose is to contain a function ptr that can the manage the function buffer //! i.e performs the copy, move and destruction operations for the function buffer - //! as well as to validate if a the stored function can be type_cast to the type supplied in + //! as well as to validate if a the stored function can be type_cast to the type supplied in //! std::function::target //! The vtable other purpose is to store a function ptr that is used to wrap the invocation of the underlying function static vtable_type stored_vtable = get_invoker::template create_vtable>(); @@ -633,7 +633,7 @@ namespace AZStd {} function(nullptr_t) - : base_type() {} + : base_type(nullptr) {} function(const self_type& f) : base_type(static_cast(f)){} function(const base_type& f) @@ -678,7 +678,7 @@ namespace AZStd return *this; } - R operator()(Args... args) const + R operator()(Args... args) const { return base_type::operator()(AZStd::forward(args)...); } diff --git a/Code/Framework/AzCore/AzCore/std/string/regex.cpp b/Code/Framework/AzCore/AzCore/std/string/regex.cpp index 65f6bc732e..a8604130fe 100644 --- a/Code/Framework/AzCore/AzCore/std/string/regex.cpp +++ b/Code/Framework/AzCore/AzCore/std/string/regex.cpp @@ -31,7 +31,7 @@ namespace AZStd AZ_REGEX_CHAR_CLASS_NAME("upper", RegexTraits::Ch_upper), AZ_REGEX_CHAR_CLASS_NAME("w", RegexTraits::Ch_invalid), AZ_REGEX_CHAR_CLASS_NAME("xdigit", RegexTraits::Ch_xdigit), - {0, 0, 0}, + {nullptr, 0, 0}, }; template<> @@ -52,7 +52,7 @@ namespace AZStd AZ_REGEX_CHAR_CLASS_NAME(L"upper", RegexTraits::Ch_upper), AZ_REGEX_CHAR_CLASS_NAME(L"w", RegexTraits::Ch_invalid), AZ_REGEX_CHAR_CLASS_NAME(L"xdigit", RegexTraits::Ch_xdigit), - {0, 0, 0}, + {nullptr, 0, 0}, }; #undef AZ_REGEX_CHAR_CLASS_NAME } // namespace AZStd diff --git a/Code/Framework/AzCore/Platform/Common/UnixLike/AzCore/Module/DynamicModuleHandle_UnixLike.cpp b/Code/Framework/AzCore/Platform/Common/UnixLike/AzCore/Module/DynamicModuleHandle_UnixLike.cpp index bfc69a05a3..5cf854d49f 100644 --- a/Code/Framework/AzCore/Platform/Common/UnixLike/AzCore/Module/DynamicModuleHandle_UnixLike.cpp +++ b/Code/Framework/AzCore/Platform/Common/UnixLike/AzCore/Module/DynamicModuleHandle_UnixLike.cpp @@ -139,7 +139,7 @@ namespace AZ if (m_handle) { result = dlclose(m_handle) == 0 ? true : false; - m_handle = 0; + m_handle = nullptr; } return result; } diff --git a/Code/Framework/AzCore/Tests/AZStd/Allocators.cpp b/Code/Framework/AzCore/Tests/AZStd/Allocators.cpp index 8f34c7f31f..6b82c642d5 100644 --- a/Code/Framework/AzCore/Tests/AZStd/Allocators.cpp +++ b/Code/Framework/AzCore/Tests/AZStd/Allocators.cpp @@ -41,12 +41,12 @@ namespace UnitTest AZ_TEST_ASSERT(strcmp(myalloc.get_name(), newName) == 0); AZStd::allocator::pointer_type data = myalloc.allocate(100, 1); - AZ_TEST_ASSERT(data != 0); + AZ_TEST_ASSERT(data != nullptr); myalloc.deallocate(data, 100, 1); data = myalloc.allocate(50, 128); - AZ_TEST_ASSERT(data != 0); + AZ_TEST_ASSERT(data != nullptr); myalloc.deallocate(data, 50, 128); @@ -153,7 +153,7 @@ namespace UnitTest AZ_TEST_ASSERT(myalloc.get_allocated_size() == 0); buffer_alloc_type::pointer_type data = myalloc.allocate(100, 1); - AZ_TEST_ASSERT(data != 0); + AZ_TEST_ASSERT(data != nullptr); AZ_TEST_ASSERT(myalloc.get_max_size() == bufferSize - 100); AZ_TEST_ASSERT(myalloc.get_allocated_size() == 100); @@ -172,7 +172,7 @@ namespace UnitTest AZ_TEST_ASSERT(myalloc.get_allocated_size() == 0); data = myalloc.allocate(50, 64); - AZ_TEST_ASSERT(data != 0); + AZ_TEST_ASSERT(data != nullptr); AZ_TEST_ASSERT(((AZStd::size_t)data & 63) == 0); AZ_TEST_ASSERT(myalloc.get_max_size() <= bufferSize - 50); AZ_TEST_ASSERT(myalloc.get_allocated_size() >= 50); @@ -198,7 +198,7 @@ namespace UnitTest AZ_TEST_ASSERT(myalloc.get_allocated_size() == 0); int* data = reinterpret_cast(myalloc.allocate(sizeof(int), 1)); - AZ_TEST_ASSERT(data != 0); + AZ_TEST_ASSERT(data != nullptr); AZ_TEST_ASSERT(myalloc.get_max_size() == (numNodes - 1) * sizeof(int)); AZ_TEST_ASSERT(myalloc.get_allocated_size() == sizeof(int)); @@ -209,7 +209,7 @@ namespace UnitTest for (int i = 0; i < numNodes; ++i) { data = reinterpret_cast(myalloc.allocate(sizeof(int), 1)); - AZ_TEST_ASSERT(data != 0); + AZ_TEST_ASSERT(data != nullptr); AZ_TEST_ASSERT(myalloc.get_max_size() == (numNodes - (i + 1)) * sizeof(int)); AZ_TEST_ASSERT(myalloc.get_allocated_size() == (i + 1) * sizeof(int)); } @@ -231,7 +231,7 @@ namespace UnitTest aligned_int_node_pool_type myaligned_pool; aligned_int_type* aligned_data = reinterpret_cast(myaligned_pool.allocate(sizeof(aligned_int_type), dataAlignment)); - AZ_TEST_ASSERT(aligned_data != 0); + AZ_TEST_ASSERT(aligned_data != nullptr); AZ_TEST_ASSERT(((AZStd::size_t)aligned_data & (dataAlignment - 1)) == 0); AZ_TEST_ASSERT(myaligned_pool.get_max_size() == (numNodes - 1) * sizeof(aligned_int_type)); AZ_TEST_ASSERT(myaligned_pool.get_allocated_size() == sizeof(aligned_int_type)); @@ -267,14 +267,14 @@ namespace UnitTest AZ_TEST_ASSERT(ref_allocator2.get_allocator() == ref_allocator1.get_allocator()); ref_allocator_type::pointer_type data1 = ref_allocator1.allocate(10, 1); - AZ_TEST_ASSERT(data1 != 0); + AZ_TEST_ASSERT(data1 != nullptr); AZ_TEST_ASSERT(ref_allocator1.get_max_size() == bufferSize - 10); AZ_TEST_ASSERT(ref_allocator1.get_allocated_size() == 10); AZ_TEST_ASSERT(shared_allocator.get_max_size() == bufferSize - 10); AZ_TEST_ASSERT(shared_allocator.get_allocated_size() == 10); ref_allocator_type::pointer_type data2 = ref_allocator2.allocate(10, 1); - AZ_TEST_ASSERT(data2 != 0); + AZ_TEST_ASSERT(data2 != nullptr); AZ_TEST_ASSERT(ref_allocator2.get_max_size() <= bufferSize - 20); AZ_TEST_ASSERT(ref_allocator2.get_allocated_size() >= 20); AZ_TEST_ASSERT(shared_allocator.get_max_size() <= bufferSize - 20); @@ -283,14 +283,14 @@ namespace UnitTest shared_allocator.reset(); data1 = ref_allocator1.allocate(10, 32); - AZ_TEST_ASSERT(data1 != 0); + AZ_TEST_ASSERT(data1 != nullptr); AZ_TEST_ASSERT(ref_allocator1.get_max_size() <= bufferSize - 10); AZ_TEST_ASSERT(ref_allocator1.get_allocated_size() >= 10); AZ_TEST_ASSERT(shared_allocator.get_max_size() <= bufferSize - 10); AZ_TEST_ASSERT(shared_allocator.get_allocated_size() >= 10); data2 = ref_allocator2.allocate(10, 32); - AZ_TEST_ASSERT(data2 != 0); + AZ_TEST_ASSERT(data2 != nullptr); AZ_TEST_ASSERT(ref_allocator1.get_max_size() <= bufferSize - 20); AZ_TEST_ASSERT(ref_allocator1.get_allocated_size() >= 20); AZ_TEST_ASSERT(shared_allocator.get_max_size() <= bufferSize - 20); @@ -316,7 +316,7 @@ namespace UnitTest AZ_TEST_ASSERT(myalloc.get_allocated_size() == 0); stack_allocator::pointer_type data = myalloc.allocate(100, 1); - AZ_TEST_ASSERT(data != 0); + AZ_TEST_ASSERT(data != nullptr); AZ_TEST_ASSERT(myalloc.get_max_size() == bufferSize - 100); AZ_TEST_ASSERT(myalloc.get_allocated_size() == 100); @@ -329,7 +329,7 @@ namespace UnitTest AZ_TEST_ASSERT(myalloc.get_allocated_size() == 0); data = myalloc.allocate(50, 64); - AZ_TEST_ASSERT(data != 0); + AZ_TEST_ASSERT(data != nullptr); AZ_TEST_ASSERT(((AZStd::size_t)data & 63) == 0); AZ_TEST_ASSERT(myalloc.get_max_size() <= bufferSize - 50); AZ_TEST_ASSERT(myalloc.get_allocated_size() >= 50); diff --git a/Code/Framework/AzCore/Tests/AZStd/Atomics.cpp b/Code/Framework/AzCore/Tests/AZStd/Atomics.cpp index 57975ad09b..a5da293057 100644 --- a/Code/Framework/AzCore/Tests/AZStd/Atomics.cpp +++ b/Code/Framework/AzCore/Tests/AZStd/Atomics.cpp @@ -975,13 +975,13 @@ namespace UnitTest A obj(T(0)); bool b0 = obj.is_lock_free(); ((void)b0); // mark as unused - EXPECT_TRUE(obj == T(0)); + EXPECT_TRUE(obj == T(nullptr)); AZStd::atomic_init(&obj, T(1)); EXPECT_TRUE(obj == T(1)); AZStd::atomic_init(&obj, T(2)); EXPECT_TRUE(obj == T(2)); obj.store(T(0)); - EXPECT_TRUE(obj == T(0)); + EXPECT_TRUE(obj == T(nullptr)); obj.store(T(1), AZStd::memory_order_release); EXPECT_TRUE(obj == T(1)); EXPECT_TRUE(obj.load() == T(1)); @@ -1001,11 +1001,11 @@ namespace UnitTest EXPECT_TRUE(obj.compare_exchange_strong(x, T(1)) == true); EXPECT_TRUE(obj == T(1)); EXPECT_TRUE(x == T(2)); - EXPECT_TRUE(obj.compare_exchange_strong(x, T(0)) == false); + EXPECT_TRUE(obj.compare_exchange_strong(x, T(nullptr)) == false); EXPECT_TRUE(obj == T(1)); EXPECT_TRUE(x == T(1)); - EXPECT_TRUE((obj = T(0)) == T(0)); - EXPECT_TRUE(obj == T(0)); + EXPECT_TRUE((obj = T(nullptr)) == T(nullptr)); + EXPECT_TRUE(obj == T(nullptr)); obj = T(2 * sizeof(X)); EXPECT_TRUE((obj += AZStd::ptrdiff_t(3)) == T(5 * sizeof(X))); EXPECT_TRUE(obj == T(5 * sizeof(X))); @@ -1015,7 +1015,7 @@ namespace UnitTest { alignas(A) char storage[sizeof(A)] = { 23 }; A& zero = *new (storage) A(); - EXPECT_TRUE(zero == T(0)); + EXPECT_TRUE(zero == T(nullptr)); zero.~A(); } } diff --git a/Code/Framework/AzCore/Tests/AZStd/Bitset.cpp b/Code/Framework/AzCore/Tests/AZStd/Bitset.cpp index ed1d59906b..7279e4015a 100644 --- a/Code/Framework/AzCore/Tests/AZStd/Bitset.cpp +++ b/Code/Framework/AzCore/Tests/AZStd/Bitset.cpp @@ -127,7 +127,7 @@ namespace UnitTest AZStd::bitset<32> m_bitset1; AZStd::bitset<32> m_bitset2; }; - + TEST_P(BitsetUnsignedLongPairTests, BitwiseANDOperator_MatchesUnsignedLongAND) { EXPECT_EQ((m_bitset1 & m_bitset2).to_ulong(), m_unsignedLong1 & m_unsignedLong2); @@ -316,7 +316,7 @@ namespace UnitTest { for (unsigned long value2 : testCases) { - testCasePairs.push_back(AZStd::pair(value1, value2)); + testCasePairs.emplace_back(value1, value2); } } return testCasePairs; diff --git a/Code/Framework/AzCore/Tests/AZStd/FunctorsBind.cpp b/Code/Framework/AzCore/Tests/AZStd/FunctorsBind.cpp index 6bfda10ddc..2a4c598218 100644 --- a/Code/Framework/AzCore/Tests/AZStd/FunctorsBind.cpp +++ b/Code/Framework/AzCore/Tests/AZStd/FunctorsBind.cpp @@ -219,7 +219,7 @@ class OtherClass double rubbish; // to ensure this class has non-zero size. public: virtual ~OtherClass() {} - virtual void UnusedVirtualFunction(void) { (void)rubbish; } + virtual void UnusedVirtualFunction() { (void)rubbish; } virtual void TrickyVirtualFunction(int num, char* str) = 0; }; @@ -268,7 +268,7 @@ namespace UnitTest // Assignment to an empty function v1 = five; - AZ_TEST_ASSERT(v1 != 0); + AZ_TEST_ASSERT(v1 != nullptr); // Invocation of a function global_int = 0; @@ -277,7 +277,7 @@ namespace UnitTest // clear() method v1.clear(); - AZ_TEST_ASSERT(v1 == 0); + AZ_TEST_ASSERT(v1 == nullptr); // Assignment to an empty function v1 = three; @@ -303,12 +303,12 @@ namespace UnitTest AZ_TEST_ASSERT(global_int == 5); // clear - v1 = 0; - AZ_TEST_ASSERT(0 == v1); + v1 = nullptr; + AZ_TEST_ASSERT(nullptr == v1); // Assignment to an empty function from a free function v1 = AZSTD_FUNCTION_TARGET_FIX(&) write_five; - AZ_TEST_ASSERT(0 != v1); + AZ_TEST_ASSERT(nullptr != v1); // Invocation global_int = 0; @@ -697,9 +697,9 @@ namespace UnitTest AZ_TEST_ASSERT(global_int == 2); // Test construction from 0 and comparison to 0 - func_void_type v9(0); - AZ_TEST_ASSERT(v9 == 0); - AZ_TEST_ASSERT(0 == v9); + func_void_type v9(nullptr); + AZ_TEST_ASSERT(v9 == nullptr); + AZ_TEST_ASSERT(nullptr == v9); // Test return values typedef function func_int_type; @@ -941,7 +941,7 @@ namespace UnitTest TEST_F(Function, FunctionWithNonAZStdAllocatorDestructsSuccessfully) { - // 64 Byte buffer is used to prevent AZStd::function for storing the + // 64 Byte buffer is used to prevent AZStd::function for storing the // lambda internal storage using the small buffer optimization // Therefore causing the supplied allocator to be used [[maybe_unused]] AZStd::aligned_storage_t<64, 1> bufferToAvoidSmallBufferOptimization; @@ -994,7 +994,7 @@ namespace UnitTest return static_cast(lhs) + rhs; } - // Make sure the functor have a specific size so + // Make sure the functor have a specific size so // that it can be used to test both the AZStd::function small_object_optimization path // and the heap allocated function object path AZStd::aligned_storage_t m_functorPadding; @@ -1044,7 +1044,7 @@ namespace UnitTest TestFunctor testFunctor; AZStd::function testFunction2(AZStd::move(testFunctor)); EXPECT_GT(s_functorMoveConstructorCount, 0); - + double testFunc2Result = testFunction2(16, 4.0); EXPECT_DOUBLE_EQ(20, testFunc2Result); @@ -1068,7 +1068,7 @@ namespace UnitTest AZStd::function testFunction2; testFunction2 = AZStd::move(testFunctor); EXPECT_GT(s_functorMoveConstructorCount + s_functorMoveAssignmentCount, 0); - + double testFunc2Result = testFunction2(16, 4.0); EXPECT_DOUBLE_EQ(20, testFunc2Result); @@ -1643,7 +1643,7 @@ namespace UnitTest AZStd::reference_wrapper refTimeStamp(timeStamp); double result = nestedFunc(32, refTimeStamp, 64.0); EXPECT_EQ(512, timeStamp); - + constexpr double expectedResult = static_cast(32 + 16 + 128.0 + 512); EXPECT_DOUBLE_EQ(expectedResult, result); } diff --git a/Code/Framework/AzCore/Tests/AZStd/Parallel.cpp b/Code/Framework/AzCore/Tests/AZStd/Parallel.cpp index 2743d5e323..f3d4f58250 100644 --- a/Code/Framework/AzCore/Tests/AZStd/Parallel.cpp +++ b/Code/Framework/AzCore/Tests/AZStd/Parallel.cpp @@ -195,7 +195,7 @@ namespace UnitTest void test_thread_id_for_running_thread_is_not_default_constructed_id() { - const thread_desc* desc = m_numThreadDesc ? &m_desc[0] : 0; + const thread_desc* desc = m_numThreadDesc ? &m_desc[0] : nullptr; AZStd::thread t(AZStd::bind(&Parallel_Thread::do_nothing, this), desc); AZ_TEST_ASSERT(t.get_id() != AZStd::thread::id()); t.join(); @@ -203,8 +203,8 @@ namespace UnitTest void test_different_threads_have_different_ids() { - const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : 0; - const thread_desc* desc2 = m_numThreadDesc ? &m_desc[1] : 0; + const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : nullptr; + const thread_desc* desc2 = m_numThreadDesc ? &m_desc[1] : nullptr; AZStd::thread t(AZStd::bind(&Parallel_Thread::do_nothing, this), desc1); AZStd::thread t2(AZStd::bind(&Parallel_Thread::do_nothing, this), desc2); AZ_TEST_ASSERT(t.get_id() != t2.get_id()); @@ -214,9 +214,9 @@ namespace UnitTest void test_thread_ids_have_a_total_order() { - const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : 0; - const thread_desc* desc2 = m_numThreadDesc ? &m_desc[1] : 0; - const thread_desc* desc3 = m_numThreadDesc ? &m_desc[2] : 0; + const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : nullptr; + const thread_desc* desc2 = m_numThreadDesc ? &m_desc[1] : nullptr; + const thread_desc* desc3 = m_numThreadDesc ? &m_desc[2] : nullptr; AZStd::thread t(AZStd::bind(&Parallel_Thread::do_nothing, this), desc1); AZStd::thread t2(AZStd::bind(&Parallel_Thread::do_nothing, this), desc2); @@ -313,7 +313,7 @@ namespace UnitTest void test_thread_id_of_running_thread_returned_by_this_thread_get_id() { - const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : 0; + const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : nullptr; AZStd::thread::id id; AZStd::thread t(AZStd::bind(&Parallel_Thread::get_thread_id, this, &id), desc1); @@ -366,7 +366,7 @@ namespace UnitTest void test_move_on_construction() { - const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : 0; + const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : nullptr; AZStd::thread::id the_id; AZStd::thread x; x = AZStd::thread(AZStd::bind(&Parallel_Thread::do_nothing_id, this, &the_id), desc1); @@ -377,7 +377,7 @@ namespace UnitTest AZStd::thread make_thread(AZStd::thread::id* the_id) { - const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : 0; + const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : nullptr; return AZStd::thread(AZStd::bind(&Parallel_Thread::do_nothing_id, this, the_id), desc1); } @@ -430,7 +430,7 @@ namespace UnitTest void do_test_creation() { - const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : 0; + const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : nullptr; m_data = 0; AZStd::thread t(AZStd::bind(&Parallel_Thread::simple_thread, this), desc1); t.join(); @@ -445,7 +445,7 @@ namespace UnitTest void do_test_id_comparison() { - const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : 0; + const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : nullptr; AZStd::thread::id self = this_thread::get_id(); AZStd::thread thrd(AZStd::bind(&Parallel_Thread::comparison_thread, this, self), desc1); thrd.join(); @@ -476,7 +476,7 @@ namespace UnitTest void do_test_creation_through_reference_wrapper() { - const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : 0; + const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : nullptr; non_copyable_functor f; AZStd::thread thrd(AZStd::ref(f), desc1); @@ -491,8 +491,8 @@ namespace UnitTest void test_swap() { - const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : 0; - const thread_desc* desc2 = m_numThreadDesc ? &m_desc[1] : 0; + const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : nullptr; + const thread_desc* desc2 = m_numThreadDesc ? &m_desc[1] : nullptr; AZStd::thread t(AZStd::bind(&Parallel_Thread::simple_thread, this), desc1); AZStd::thread t2(AZStd::bind(&Parallel_Thread::simple_thread, this), desc2); AZStd::thread::id id1 = t.get_id(); @@ -512,7 +512,7 @@ namespace UnitTest void run() { - const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : 0; + const thread_desc* desc1 = m_numThreadDesc ? &m_desc[0] : nullptr; // We need to have at least one processor AZ_TEST_ASSERT(AZStd::thread::hardware_concurrency() >= 1); diff --git a/Code/Framework/AzCore/Tests/AZStd/SmartPtr.cpp b/Code/Framework/AzCore/Tests/AZStd/SmartPtr.cpp index f50da28b1f..b6a5a62c05 100644 --- a/Code/Framework/AzCore/Tests/AZStd/SmartPtr.cpp +++ b/Code/Framework/AzCore/Tests/AZStd/SmartPtr.cpp @@ -137,7 +137,7 @@ namespace UnitTest static void deleter(int* p) { - EXPECT_TRUE(p == 0); + EXPECT_TRUE(p == nullptr); } struct deleter2 @@ -158,7 +158,7 @@ namespace UnitTest { void operator()(incomplete* p) { - EXPECT_TRUE(p == 0); + EXPECT_TRUE(p == nullptr); } }; @@ -331,7 +331,7 @@ namespace UnitTest AZStd::shared_ptr pv; EXPECT_FALSE(pv); EXPECT_TRUE(!pv); - EXPECT_EQ(0, pv.get()); + EXPECT_EQ(nullptr, pv.get()); EXPECT_EQ(0, pv.use_count()); } @@ -355,35 +355,35 @@ namespace UnitTest TEST_F(SmartPtr, SharedPtrCtorIntPtr) { - m_sharedPtr->TestType(static_cast(0)); - m_sharedPtr->TestType(static_cast(0)); - m_sharedPtr->TestType(static_cast(0)); - m_sharedPtr->TestType(static_cast(0)); + m_sharedPtr->TestType(static_cast(nullptr)); + m_sharedPtr->TestType(static_cast(nullptr)); + m_sharedPtr->TestType(static_cast(nullptr)); + m_sharedPtr->TestType(static_cast(nullptr)); } TEST_F(SmartPtr, SharedPtrCtorConstIntPtr) { - m_sharedPtr->TestNull(static_cast(0)); - m_sharedPtr->TestNull(static_cast(0)); - m_sharedPtr->TestNull(static_cast(0)); - m_sharedPtr->TestNull(static_cast(0)); + m_sharedPtr->TestNull(static_cast(nullptr)); + m_sharedPtr->TestNull(static_cast(nullptr)); + m_sharedPtr->TestNull(static_cast(nullptr)); + m_sharedPtr->TestNull(static_cast(nullptr)); } TEST_F(SmartPtr, SharedPtrCtorX) { - m_sharedPtr->TestType(static_cast(0)); - m_sharedPtr->TestType(static_cast(0)); - m_sharedPtr->TestType(static_cast(0)); - m_sharedPtr->TestType(static_cast(0)); + m_sharedPtr->TestType(static_cast(nullptr)); + m_sharedPtr->TestType(static_cast(nullptr)); + m_sharedPtr->TestType(static_cast(nullptr)); + m_sharedPtr->TestType(static_cast(nullptr)); } TEST_F(SmartPtr, SharedPtrCtorXConvert) { - m_sharedPtr->TestNull(static_cast(0)); - m_sharedPtr->TestNull(static_cast(0)); - m_sharedPtr->TestNull(static_cast(0)); - m_sharedPtr->TestNull(static_cast(0)); - m_sharedPtr->TestNull(static_cast(0)); + m_sharedPtr->TestNull(static_cast(nullptr)); + m_sharedPtr->TestNull(static_cast(nullptr)); + m_sharedPtr->TestNull(static_cast(nullptr)); + m_sharedPtr->TestNull(static_cast(nullptr)); + m_sharedPtr->TestNull(static_cast(nullptr)); } TEST_F(SmartPtr, SharedPtrCtorIntValue) @@ -518,15 +518,15 @@ namespace UnitTest TEST_F(SmartPtr, SharedPtrCtorNullDeleter) { { - AZStd::shared_ptr pi(static_cast(0), &SharedPtr::test::deleter); + AZStd::shared_ptr pi(static_cast(nullptr), &SharedPtr::test::deleter); m_sharedPtr->TestPtr(pi, nullptr); } { - AZStd::shared_ptr pv(static_cast(0), &SharedPtr::test::deleter); + AZStd::shared_ptr pv(static_cast(nullptr), &SharedPtr::test::deleter); m_sharedPtr->TestPtr(pv, nullptr); } { - AZStd::shared_ptr pv(static_cast(0), &SharedPtr::test::deleter); + AZStd::shared_ptr pv(static_cast(nullptr), &SharedPtr::test::deleter); m_sharedPtr->TestPtr(pv, nullptr); } } @@ -589,21 +589,21 @@ namespace UnitTest EXPECT_EQ(pi2, pi); EXPECT_FALSE(pi2); EXPECT_TRUE(!pi2); - EXPECT_EQ(0, pi2.get()); + EXPECT_EQ(nullptr, pi2.get()); EXPECT_EQ(pi2.use_count(), pi.use_count()); AZStd::shared_ptr pi3(pi); EXPECT_EQ(pi3, pi); EXPECT_FALSE(pi3); EXPECT_TRUE(!pi3); - EXPECT_EQ(0, pi3.get()); + EXPECT_EQ(nullptr, pi3.get()); EXPECT_EQ(pi3.use_count(), pi.use_count()); AZStd::shared_ptr pi4(pi3); EXPECT_EQ(pi4, pi3); EXPECT_FALSE(pi4); EXPECT_TRUE(!pi4); - EXPECT_EQ(0, pi4.get()); + EXPECT_EQ(nullptr, pi4.get()); EXPECT_EQ(pi4.use_count(), pi3.use_count()); } @@ -615,7 +615,7 @@ namespace UnitTest EXPECT_EQ(pv2, pv); EXPECT_FALSE(pv2); EXPECT_TRUE(!pv2); - EXPECT_EQ(0, pv2.get()); + EXPECT_EQ(nullptr, pv2.get()); EXPECT_EQ(pv2.use_count(), pv.use_count()); } @@ -628,26 +628,26 @@ namespace UnitTest EXPECT_EQ(px, px2); EXPECT_FALSE(px2); EXPECT_TRUE(!px2); - EXPECT_EQ(0, px2.get()); + EXPECT_EQ(nullptr, px2.get()); EXPECT_EQ(px.use_count(), px2.use_count()); AZStd::shared_ptr px3(px); EXPECT_EQ(px, px3); EXPECT_FALSE(px3); EXPECT_TRUE(!px3); - EXPECT_EQ(0, px3.get()); + EXPECT_EQ(nullptr, px3.get()); EXPECT_EQ(px.use_count(), px3.use_count()); } TEST_F(SmartPtr, SharedPtrCopyCtorIntVoidSharedOwnershipTest) { - AZStd::shared_ptr pi(static_cast(0)); + AZStd::shared_ptr pi(static_cast(nullptr)); AZStd::shared_ptr pi2(pi); EXPECT_EQ(pi, pi2); EXPECT_FALSE(pi2); EXPECT_TRUE(!pi2); - EXPECT_EQ(0, pi2.get()); + EXPECT_EQ(nullptr, pi2.get()); EXPECT_EQ(2, pi2.use_count()); EXPECT_FALSE(pi2.unique()); EXPECT_EQ(pi.use_count(), pi2.use_count()); @@ -657,7 +657,7 @@ namespace UnitTest EXPECT_EQ(pi, pi3); EXPECT_FALSE(pi3); EXPECT_TRUE(!pi3); - EXPECT_EQ(0, pi3.get()); + EXPECT_EQ(nullptr, pi3.get()); EXPECT_EQ(3, pi3.use_count()); EXPECT_FALSE(pi3.unique()); EXPECT_EQ(pi.use_count(), pi3.use_count()); @@ -667,7 +667,7 @@ namespace UnitTest EXPECT_EQ(pi2, pi4); EXPECT_FALSE(pi4); EXPECT_TRUE(!pi4); - EXPECT_EQ(0, pi4.get()); + EXPECT_EQ(nullptr, pi4.get()); EXPECT_EQ(4, pi4.use_count()); EXPECT_FALSE(pi4.unique()); EXPECT_EQ(pi2.use_count(), pi4.use_count()); @@ -680,13 +680,13 @@ namespace UnitTest TEST_F(SmartPtr, SharedPtrCopyCtorClassSharedOwnershipTest) { using X = SharedPtr::test::X; - AZStd::shared_ptr px(static_cast(0)); + AZStd::shared_ptr px(static_cast(nullptr)); AZStd::shared_ptr px2(px); EXPECT_EQ(px, px2); EXPECT_FALSE(px2); EXPECT_TRUE(!px2); - EXPECT_EQ(0, px2.get()); + EXPECT_EQ(nullptr, px2.get()); EXPECT_EQ(2, px2.use_count()); EXPECT_FALSE(px2.unique()); EXPECT_EQ(px.use_count(), px2.use_count()); @@ -696,7 +696,7 @@ namespace UnitTest EXPECT_EQ(px, px3); EXPECT_FALSE(px3); EXPECT_TRUE(!px3); - EXPECT_EQ(0, px3.get()); + EXPECT_EQ(nullptr, px3.get()); EXPECT_EQ(3, px3.use_count()); EXPECT_FALSE(px3.unique()); EXPECT_EQ(px.use_count(), px3.use_count()); @@ -706,7 +706,7 @@ namespace UnitTest EXPECT_EQ(px2, px4); EXPECT_FALSE(px4); EXPECT_TRUE(!px4); - EXPECT_EQ(0, px4.get()); + EXPECT_EQ(nullptr, px4.get()); EXPECT_EQ(4, px4.use_count()); EXPECT_FALSE(px4.unique()); EXPECT_EQ(px2.use_count(), px4.use_count()); @@ -871,11 +871,11 @@ namespace UnitTest { AZStd::shared_ptr p2(wp); EXPECT_EQ(wp.use_count(), p2.use_count()); - EXPECT_EQ(0, p2.get()); + EXPECT_EQ(nullptr, p2.get()); AZStd::shared_ptr p3(wp); EXPECT_EQ(wp.use_count(), p3.use_count()); - EXPECT_EQ(0, p3.get()); + EXPECT_EQ(nullptr, p3.get()); } } @@ -927,7 +927,7 @@ namespace UnitTest EXPECT_EQ(p1, p1); EXPECT_FALSE(p1); EXPECT_TRUE(!p1); - EXPECT_EQ(0, p1.get()); + EXPECT_EQ(nullptr, p1.get()); AZStd::shared_ptr p2; @@ -936,7 +936,7 @@ namespace UnitTest EXPECT_EQ(p2, p1); EXPECT_FALSE(p1); EXPECT_TRUE(!p1); - EXPECT_EQ(0, p1.get()); + EXPECT_EQ(nullptr, p1.get()); AZStd::shared_ptr p3(p1); @@ -945,7 +945,7 @@ namespace UnitTest EXPECT_EQ(p3, p1); EXPECT_FALSE(p1); EXPECT_TRUE(!p1); - EXPECT_EQ(0, p1.get()); + EXPECT_EQ(nullptr, p1.get()); } TEST_F(SmartPtr, SharedPtrCopyAssignVoid) @@ -959,7 +959,7 @@ namespace UnitTest EXPECT_EQ(p1, p1); EXPECT_FALSE(p1); EXPECT_TRUE(!p1); - EXPECT_EQ(0, p1.get()); + EXPECT_EQ(nullptr, p1.get()); AZStd::shared_ptr p2; @@ -968,7 +968,7 @@ namespace UnitTest EXPECT_EQ(p2, p1); EXPECT_FALSE(p1); EXPECT_TRUE(!p1); - EXPECT_EQ(0, p1.get()); + EXPECT_EQ(nullptr, p1.get()); AZStd::shared_ptr p3(p1); @@ -977,7 +977,7 @@ namespace UnitTest EXPECT_EQ(p3, p1); EXPECT_FALSE(p1); EXPECT_TRUE(!p1); - EXPECT_EQ(0, p1.get()); + EXPECT_EQ(nullptr, p1.get()); AZStd::shared_ptr p4(new int); EXPECT_EQ(1, p4.use_count()); @@ -1007,7 +1007,7 @@ namespace UnitTest EXPECT_EQ(p1, p1); EXPECT_FALSE(p1); EXPECT_TRUE(!p1); - EXPECT_EQ(0, p1.get()); + EXPECT_EQ(nullptr, p1.get()); AZStd::shared_ptr p2; @@ -1016,7 +1016,7 @@ namespace UnitTest EXPECT_EQ(p2, p1); EXPECT_FALSE(p1); EXPECT_TRUE(!p1); - EXPECT_EQ(0, p1.get()); + EXPECT_EQ(nullptr, p1.get()); AZStd::shared_ptr p3(p1); @@ -1025,7 +1025,7 @@ namespace UnitTest EXPECT_EQ(p3, p1); EXPECT_FALSE(p1); EXPECT_TRUE(!p1); - EXPECT_EQ(0, p1.get()); + EXPECT_EQ(nullptr, p1.get()); EXPECT_EQ(0, m_sharedPtr->m_test.m_xInstances); @@ -1065,7 +1065,7 @@ namespace UnitTest EXPECT_EQ(p2, p1); EXPECT_FALSE(p1); EXPECT_TRUE(!p1); - EXPECT_EQ(0, p1.get()); + EXPECT_EQ(nullptr, p1.get()); AZStd::shared_ptr p4(new int); EXPECT_EQ(1, p4.use_count()); @@ -1098,7 +1098,7 @@ namespace UnitTest EXPECT_EQ(p2, p1); EXPECT_FALSE(p1); EXPECT_TRUE(!p1); - EXPECT_EQ(0, p1.get()); + EXPECT_EQ(nullptr, p1.get()); EXPECT_EQ(0, m_sharedPtr->m_test.m_xInstances); EXPECT_EQ(0, m_sharedPtr->m_test.m_yInstances); @@ -1144,17 +1144,17 @@ namespace UnitTest pi.reset(); EXPECT_FALSE(pi); EXPECT_TRUE(!pi); - EXPECT_TRUE(pi.get() == 0); + EXPECT_TRUE(pi.get() == nullptr); EXPECT_TRUE(pi.use_count() == 0); } TEST_F(SmartPtr, SharedPtrResetNullInt) { - AZStd::shared_ptr pi(static_cast(0)); + AZStd::shared_ptr pi(static_cast(nullptr)); pi.reset(); EXPECT_FALSE(pi); EXPECT_TRUE(!pi); - EXPECT_TRUE(pi.get() == 0); + EXPECT_TRUE(pi.get() == nullptr); EXPECT_TRUE(pi.use_count() == 0); } @@ -1164,7 +1164,7 @@ namespace UnitTest pi.reset(); EXPECT_FALSE(pi); EXPECT_TRUE(!pi); - EXPECT_TRUE(pi.get() == 0); + EXPECT_TRUE(pi.get() == nullptr); EXPECT_TRUE(pi.use_count() == 0); } @@ -1175,7 +1175,7 @@ namespace UnitTest px.reset(); EXPECT_FALSE(px); EXPECT_TRUE(!px); - EXPECT_TRUE(px.get() == 0); + EXPECT_TRUE(px.get() == nullptr); EXPECT_TRUE(px.use_count() == 0); } @@ -1187,7 +1187,7 @@ namespace UnitTest px.reset(); EXPECT_FALSE(px); EXPECT_TRUE(!px); - EXPECT_TRUE(px.get() == 0); + EXPECT_TRUE(px.get() == nullptr); EXPECT_TRUE(px.use_count() == 0); } @@ -1198,7 +1198,7 @@ namespace UnitTest px.reset(); EXPECT_FALSE(px); EXPECT_TRUE(!px); - EXPECT_TRUE(px.get() == 0); + EXPECT_TRUE(px.get() == nullptr); EXPECT_TRUE(px.use_count() == 0); } @@ -1211,7 +1211,7 @@ namespace UnitTest px.reset(); EXPECT_FALSE(px); EXPECT_TRUE(!px); - EXPECT_TRUE(px.get() == 0); + EXPECT_TRUE(px.get() == nullptr); EXPECT_TRUE(px.use_count() == 0); EXPECT_EQ(0, m_sharedPtr->m_test.m_xInstances); } @@ -1222,7 +1222,7 @@ namespace UnitTest pv.reset(); EXPECT_FALSE(pv); EXPECT_TRUE(!pv); - EXPECT_TRUE(pv.get() == 0); + EXPECT_TRUE(pv.get() == nullptr); EXPECT_TRUE(pv.use_count() == 0); } @@ -1235,7 +1235,7 @@ namespace UnitTest pv.reset(); EXPECT_FALSE(pv); EXPECT_TRUE(!pv); - EXPECT_TRUE(pv.get() == 0); + EXPECT_TRUE(pv.get() == nullptr); EXPECT_TRUE(pv.use_count() == 0); EXPECT_EQ(0, m_sharedPtr->m_test.m_xInstances); } @@ -1244,10 +1244,10 @@ namespace UnitTest { AZStd::shared_ptr pi; - pi.reset(static_cast(0)); + pi.reset(static_cast(nullptr)); EXPECT_FALSE(pi); EXPECT_TRUE(!pi); - EXPECT_TRUE(pi.get() == 0); + EXPECT_TRUE(pi.get() == nullptr); EXPECT_TRUE(pi.use_count() == 1); EXPECT_TRUE(pi.unique()); @@ -1259,10 +1259,10 @@ namespace UnitTest EXPECT_TRUE(pi.use_count() == 1); EXPECT_TRUE(pi.unique()); - pi.reset(static_cast(0)); + pi.reset(static_cast(nullptr)); EXPECT_FALSE(pi); EXPECT_TRUE(!pi); - EXPECT_TRUE(pi.get() == 0); + EXPECT_TRUE(pi.get() == nullptr); EXPECT_TRUE(pi.use_count() == 1); EXPECT_TRUE(pi.unique()); } @@ -1273,10 +1273,10 @@ namespace UnitTest using Y = SharedPtr::test::Y; AZStd::shared_ptr px; - px.reset(static_cast(0)); + px.reset(static_cast(nullptr)); EXPECT_FALSE(px); EXPECT_TRUE(!px); - EXPECT_TRUE(px.get() == 0); + EXPECT_TRUE(px.get() == nullptr); EXPECT_TRUE(px.use_count() == 1); EXPECT_TRUE(px.unique()); EXPECT_EQ(0, m_sharedPtr->m_test.m_xInstances); @@ -1290,10 +1290,10 @@ namespace UnitTest EXPECT_TRUE(px.unique()); EXPECT_EQ(1, m_sharedPtr->m_test.m_xInstances); - px.reset(static_cast(0)); + px.reset(static_cast(nullptr)); EXPECT_FALSE(px); EXPECT_TRUE(!px); - EXPECT_TRUE(px.get() == 0); + EXPECT_TRUE(px.get() == nullptr); EXPECT_TRUE(px.use_count() == 1); EXPECT_TRUE(px.unique()); EXPECT_EQ(0, m_sharedPtr->m_test.m_xInstances); @@ -1309,10 +1309,10 @@ namespace UnitTest EXPECT_EQ(1, m_sharedPtr->m_test.m_xInstances); EXPECT_EQ(1, m_sharedPtr->m_test.m_yInstances); - px.reset(static_cast(0)); + px.reset(static_cast(nullptr)); EXPECT_FALSE(px); EXPECT_TRUE(!px); - EXPECT_TRUE(px.get() == 0); + EXPECT_TRUE(px.get() == nullptr); EXPECT_TRUE(px.use_count() == 1); EXPECT_TRUE(px.unique()); EXPECT_EQ(0, m_sharedPtr->m_test.m_xInstances); @@ -1325,10 +1325,10 @@ namespace UnitTest using Y = SharedPtr::test::Y; AZStd::shared_ptr pv; - pv.reset(static_cast(0)); + pv.reset(static_cast(nullptr)); EXPECT_FALSE(pv); EXPECT_TRUE(!pv); - EXPECT_TRUE(pv.get() == 0); + EXPECT_TRUE(pv.get() == nullptr); EXPECT_TRUE(pv.use_count() == 1); EXPECT_TRUE(pv.unique()); EXPECT_EQ(0, m_sharedPtr->m_test.m_xInstances); @@ -1342,10 +1342,10 @@ namespace UnitTest EXPECT_TRUE(pv.unique()); EXPECT_EQ(1, m_sharedPtr->m_test.m_xInstances); - pv.reset(static_cast(0)); + pv.reset(static_cast(nullptr)); EXPECT_FALSE(pv); EXPECT_TRUE(!pv); - EXPECT_TRUE(pv.get() == 0); + EXPECT_TRUE(pv.get() == nullptr); EXPECT_TRUE(pv.use_count() == 1); EXPECT_TRUE(pv.unique()); EXPECT_EQ(0, m_sharedPtr->m_test.m_xInstances); @@ -1361,10 +1361,10 @@ namespace UnitTest EXPECT_EQ(1, m_sharedPtr->m_test.m_xInstances); EXPECT_EQ(1, m_sharedPtr->m_test.m_yInstances); - pv.reset(static_cast(0)); + pv.reset(static_cast(nullptr)); EXPECT_FALSE(pv); EXPECT_TRUE(!pv); - EXPECT_TRUE(pv.get() == 0); + EXPECT_TRUE(pv.get() == nullptr); EXPECT_TRUE(pv.use_count() == 1); EXPECT_TRUE(pv.unique()); EXPECT_EQ(0, m_sharedPtr->m_test.m_xInstances); @@ -1375,10 +1375,10 @@ namespace UnitTest { AZStd::shared_ptr pi; - pi.reset(static_cast(0), SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); + pi.reset(static_cast(nullptr), SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); EXPECT_FALSE(pi); EXPECT_TRUE(!pi); - EXPECT_TRUE(pi.get() == 0); + EXPECT_TRUE(pi.get() == nullptr); EXPECT_TRUE(pi.use_count() == 1); EXPECT_TRUE(pi.unique()); @@ -1386,23 +1386,23 @@ namespace UnitTest int m = 0; pi.reset(&m, SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); - EXPECT_TRUE(m_sharedPtr->m_test.deleted == 0); + EXPECT_TRUE(m_sharedPtr->m_test.deleted == nullptr); EXPECT_TRUE(pi ? true : false); EXPECT_TRUE(!!pi); EXPECT_TRUE(pi.get() == &m); EXPECT_TRUE(pi.use_count() == 1); EXPECT_TRUE(pi.unique()); - pi.reset(static_cast(0), SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); + pi.reset(static_cast(nullptr), SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); EXPECT_TRUE(m_sharedPtr->m_test.deleted == &m); EXPECT_FALSE(pi); EXPECT_TRUE(!pi); - EXPECT_TRUE(pi.get() == 0); + EXPECT_TRUE(pi.get() == nullptr); EXPECT_TRUE(pi.use_count() == 1); EXPECT_TRUE(pi.unique()); pi.reset(); - EXPECT_TRUE(m_sharedPtr->m_test.deleted == 0); + EXPECT_TRUE(m_sharedPtr->m_test.deleted == nullptr); } TEST_F(SmartPtr, SharedPtrResetClassWithDeleter) @@ -1411,10 +1411,10 @@ namespace UnitTest using Y = SharedPtr::test::Y; AZStd::shared_ptr px; - px.reset(static_cast(0), SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); + px.reset(static_cast(nullptr), SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); EXPECT_FALSE(px); EXPECT_TRUE(!px); - EXPECT_TRUE(px.get() == 0); + EXPECT_TRUE(px.get() == nullptr); EXPECT_TRUE(px.use_count() == 1); EXPECT_TRUE(px.unique()); @@ -1422,40 +1422,40 @@ namespace UnitTest X x(m_sharedPtr->m_test); px.reset(&x, SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); - EXPECT_TRUE(m_sharedPtr->m_test.deleted == 0); + EXPECT_TRUE(m_sharedPtr->m_test.deleted == nullptr); EXPECT_TRUE(px ? true : false); EXPECT_TRUE(!!px); EXPECT_TRUE(px.get() == &x); EXPECT_TRUE(px.use_count() == 1); EXPECT_TRUE(px.unique()); - px.reset(static_cast(0), SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); + px.reset(static_cast(nullptr), SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); EXPECT_TRUE(m_sharedPtr->m_test.deleted == &x); EXPECT_FALSE(px); EXPECT_TRUE(!px); - EXPECT_TRUE(px.get() == 0); + EXPECT_TRUE(px.get() == nullptr); EXPECT_TRUE(px.use_count() == 1); EXPECT_TRUE(px.unique()); Y y(m_sharedPtr->m_test); px.reset(&y, SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); - EXPECT_TRUE(m_sharedPtr->m_test.deleted == 0); + EXPECT_TRUE(m_sharedPtr->m_test.deleted == nullptr); EXPECT_TRUE(px ? true : false); EXPECT_TRUE(!!px); EXPECT_TRUE(px.get() == &y); EXPECT_TRUE(px.use_count() == 1); EXPECT_TRUE(px.unique()); - px.reset(static_cast(0), SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); + px.reset(static_cast(nullptr), SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); EXPECT_TRUE(m_sharedPtr->m_test.deleted == &y); EXPECT_FALSE(px); EXPECT_TRUE(!px); - EXPECT_TRUE(px.get() == 0); + EXPECT_TRUE(px.get() == nullptr); EXPECT_TRUE(px.use_count() == 1); EXPECT_TRUE(px.unique()); px.reset(); - EXPECT_TRUE(m_sharedPtr->m_test.deleted == 0); + EXPECT_TRUE(m_sharedPtr->m_test.deleted == nullptr); } TEST_F(SmartPtr, SharedPtrResetVoidClassWithDeleter) @@ -1464,10 +1464,10 @@ namespace UnitTest using Y = SharedPtr::test::Y; AZStd::shared_ptr pv; - pv.reset(static_cast(0), SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); + pv.reset(static_cast(nullptr), SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); EXPECT_FALSE(pv); EXPECT_TRUE(!pv); - EXPECT_TRUE(pv.get() == 0); + EXPECT_TRUE(pv.get() == nullptr); EXPECT_TRUE(pv.use_count() == 1); EXPECT_TRUE(pv.unique()); @@ -1475,40 +1475,40 @@ namespace UnitTest X x(m_sharedPtr->m_test); pv.reset(&x, SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); - EXPECT_TRUE(m_sharedPtr->m_test.deleted == 0); + EXPECT_TRUE(m_sharedPtr->m_test.deleted == nullptr); EXPECT_TRUE(pv ? true : false); EXPECT_TRUE(!!pv); EXPECT_TRUE(pv.get() == &x); EXPECT_TRUE(pv.use_count() == 1); EXPECT_TRUE(pv.unique()); - pv.reset(static_cast(0), SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); + pv.reset(static_cast(nullptr), SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); EXPECT_TRUE(m_sharedPtr->m_test.deleted == &x); EXPECT_FALSE(pv); EXPECT_TRUE(!pv); - EXPECT_TRUE(pv.get() == 0); + EXPECT_TRUE(pv.get() == nullptr); EXPECT_TRUE(pv.use_count() == 1); EXPECT_TRUE(pv.unique()); Y y(m_sharedPtr->m_test); pv.reset(&y, SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); - EXPECT_TRUE(m_sharedPtr->m_test.deleted == 0); + EXPECT_TRUE(m_sharedPtr->m_test.deleted == nullptr); EXPECT_TRUE(pv ? true : false); EXPECT_TRUE(!!pv); EXPECT_TRUE(pv.get() == &y); EXPECT_TRUE(pv.use_count() == 1); EXPECT_TRUE(pv.unique()); - pv.reset(static_cast(0), SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); + pv.reset(static_cast(nullptr), SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); EXPECT_TRUE(m_sharedPtr->m_test.deleted == &y); EXPECT_FALSE(pv); EXPECT_TRUE(!pv); - EXPECT_TRUE(pv.get() == 0); + EXPECT_TRUE(pv.get() == nullptr); EXPECT_TRUE(pv.use_count() == 1); EXPECT_TRUE(pv.unique()); pv.reset(); - EXPECT_TRUE(m_sharedPtr->m_test.deleted == 0); + EXPECT_TRUE(m_sharedPtr->m_test.deleted == nullptr); } TEST_F(SmartPtr, SharedPtrResetIncompleteNullWithDeleter) @@ -1521,20 +1521,20 @@ namespace UnitTest px.reset(p0, SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); EXPECT_FALSE(px); EXPECT_TRUE(!px); - EXPECT_TRUE(px.get() == 0); + EXPECT_TRUE(px.get() == nullptr); EXPECT_TRUE(px.use_count() == 1); EXPECT_TRUE(px.unique()); m_sharedPtr->m_test.deleted = &px; px.reset(p0, SharedPtr::test::deleter_void(m_sharedPtr->m_test.deleted)); - EXPECT_TRUE(m_sharedPtr->m_test.deleted == 0); + EXPECT_TRUE(m_sharedPtr->m_test.deleted == nullptr); } TEST_F(SmartPtr, SharedPtrGetPointerEmpty) { struct X {}; AZStd::shared_ptr px; - EXPECT_TRUE(px.get() == 0); + EXPECT_TRUE(px.get() == nullptr); EXPECT_FALSE(px); EXPECT_TRUE(!px); @@ -1544,8 +1544,8 @@ namespace UnitTest TEST_F(SmartPtr, SharedPtrGetPointerNull) { struct X {}; - AZStd::shared_ptr px(static_cast(0)); - EXPECT_TRUE(px.get() == 0); + AZStd::shared_ptr px(static_cast(nullptr)); + EXPECT_TRUE(px.get() == nullptr); EXPECT_FALSE(px); EXPECT_TRUE(!px); @@ -1555,8 +1555,8 @@ namespace UnitTest TEST_F(SmartPtr, SharedPtrGetPointerCheckedDeleterNull) { struct X {}; - AZStd::shared_ptr px(static_cast(0), AZStd::checked_deleter()); - EXPECT_TRUE(px.get() == 0); + AZStd::shared_ptr px(static_cast(nullptr), AZStd::checked_deleter()); + EXPECT_TRUE(px.get() == nullptr); EXPECT_FALSE(px); EXPECT_TRUE(!px); @@ -1594,7 +1594,7 @@ namespace UnitTest TEST_F(SmartPtr, SharedPtrUseCountNullClass) { struct X {}; - AZStd::shared_ptr px(static_cast(0)); + AZStd::shared_ptr px(static_cast(nullptr)); EXPECT_TRUE(px.use_count() == 1); EXPECT_TRUE(px.unique()); @@ -1641,14 +1641,14 @@ namespace UnitTest px.swap(px2); - EXPECT_TRUE(px.get() == 0); - EXPECT_TRUE(px2.get() == 0); + EXPECT_TRUE(px.get() == nullptr); + EXPECT_TRUE(px2.get() == nullptr); using std::swap; swap(px, px2); - EXPECT_TRUE(px.get() == 0); - EXPECT_TRUE(px2.get() == 0); + EXPECT_TRUE(px.get() == nullptr); + EXPECT_TRUE(px2.get() == nullptr); } TEST_F(SmartPtr, SharedPtrSwapNewClass) @@ -1663,14 +1663,14 @@ namespace UnitTest EXPECT_TRUE(px.get() == p); EXPECT_TRUE(px.use_count() == 2); - EXPECT_TRUE(px2.get() == 0); + EXPECT_TRUE(px2.get() == nullptr); EXPECT_TRUE(px3.get() == p); EXPECT_TRUE(px3.use_count() == 2); using std::swap; swap(px, px2); - EXPECT_TRUE(px.get() == 0); + EXPECT_TRUE(px.get() == nullptr); EXPECT_TRUE(px2.get() == p); EXPECT_TRUE(px2.use_count() == 2); EXPECT_TRUE(px3.get() == p); @@ -1876,10 +1876,10 @@ namespace UnitTest AZStd::shared_ptr pv; AZStd::shared_ptr pi = AZStd::static_pointer_cast(pv); - EXPECT_TRUE(pi.get() == 0); + EXPECT_TRUE(pi.get() == nullptr); AZStd::shared_ptr px = AZStd::static_pointer_cast(pv); - EXPECT_TRUE(px.get() == 0); + EXPECT_TRUE(px.get() == nullptr); } TEST_F(SmartPtr, SharedPtrStaticPointerCastNewIntToVoid) @@ -1946,7 +1946,7 @@ namespace UnitTest AZStd::shared_ptr px; AZStd::shared_ptr px2 = AZStd::const_pointer_cast(px); - EXPECT_TRUE(px2.get() == 0); + EXPECT_TRUE(px2.get() == nullptr); } TEST_F(SmartPtr, SharedPtrIntConstPointerCastInt) @@ -1954,7 +1954,7 @@ namespace UnitTest AZStd::shared_ptr px; AZStd::shared_ptr px2 = AZStd::const_pointer_cast(px); - EXPECT_TRUE(px2.get() == 0); + EXPECT_TRUE(px2.get() == nullptr); } TEST_F(SmartPtr, SharedPtrClassConstPointerCastClass) @@ -1963,7 +1963,7 @@ namespace UnitTest AZStd::shared_ptr px; AZStd::shared_ptr px2 = AZStd::const_pointer_cast(px); - EXPECT_TRUE(px2.get() == 0); + EXPECT_TRUE(px2.get() == nullptr); } TEST_F(SmartPtr, SharedPtrVoidVolatileConstPointerCastVoid) diff --git a/Code/Framework/AzCore/Tests/AZStd/String.cpp b/Code/Framework/AzCore/Tests/AZStd/String.cpp index 4c6687b00d..91d2237ca2 100644 --- a/Code/Framework/AzCore/Tests/AZStd/String.cpp +++ b/Code/Framework/AzCore/Tests/AZStd/String.cpp @@ -444,7 +444,7 @@ namespace UnitTest str2.back() = 'p'; AZ_TEST_ASSERT(str2.back() == 'p'); - AZ_TEST_ASSERT(str2.c_str() != 0); + AZ_TEST_ASSERT(str2.c_str() != nullptr); AZ_TEST_ASSERT(::strlen(str2.c_str()) == str2.length()); str2.resize(30, 'm'); @@ -793,7 +793,7 @@ namespace UnitTest AZ_TEST_ASSERT(alphanum_comp(strdup("Alpha 2 B"), strA) > 0); // show usage of the comparison functor with a set - typedef set > StringSetType; + using StringSetType = set>; StringSetType s; s.insert("Xiph Xlater 58"); s.insert("Xiph Xlater 5000"); @@ -879,7 +879,7 @@ namespace UnitTest AZ_TEST_ASSERT(*setIt++ == "Xiph Xlater 10000"); // show usage of comparison functor with a map - typedef map > StringIntMapType; + using StringIntMapType = map>; StringIntMapType m; m["z1.doc"] = 1; m["z10.doc"] = 2; @@ -1441,7 +1441,7 @@ namespace UnitTest TEST_F(String, String_FormatOnlyAllowsValidArgs) { - constexpr bool v1 = 0; + constexpr bool v1 = false; constexpr char v2 = 0; constexpr unsigned char v3 = 0; constexpr signed char v4 = 0; diff --git a/Code/Framework/AzCore/Tests/AZStd/VectorAndArray.cpp b/Code/Framework/AzCore/Tests/AZStd/VectorAndArray.cpp index 933db73c3f..47c3630091 100644 --- a/Code/Framework/AzCore/Tests/AZStd/VectorAndArray.cpp +++ b/Code/Framework/AzCore/Tests/AZStd/VectorAndArray.cpp @@ -824,7 +824,7 @@ namespace UnitTest {1, 2, 3, 4} }; AZ_TEST_ASSERT(myArr.empty() == false); - AZ_TEST_ASSERT(myArr.data() != 0); + AZ_TEST_ASSERT(myArr.data() != nullptr); AZ_TEST_ASSERT(myArr.size() == 10); AZ_TEST_ASSERT(myArr.front() == 1); AZ_TEST_ASSERT(myArr.back() == 0); diff --git a/Code/Framework/AzCore/Tests/Asset/AssetManagerLoadingTests.cpp b/Code/Framework/AzCore/Tests/Asset/AssetManagerLoadingTests.cpp index e25c3dbcf7..8ce3747620 100644 --- a/Code/Framework/AzCore/Tests/Asset/AssetManagerLoadingTests.cpp +++ b/Code/Framework/AzCore/Tests/Asset/AssetManagerLoadingTests.cpp @@ -52,7 +52,7 @@ namespace UnitTest AssetLoadBus::Handler::BusConnect(m_assetId); } } - ~OnAssetReadyListener() + ~OnAssetReadyListener() override { m_assetId.SetInvalid(); m_latest = {}; @@ -109,7 +109,7 @@ namespace UnitTest { BusConnect(assetId); } - ~ContainerReadyListener() + ~ContainerReadyListener() override { BusDisconnect(); } @@ -2658,7 +2658,7 @@ namespace UnitTest m_canceled = true; } - ~CancelListener() + ~CancelListener() override { BusDisconnect(); } diff --git a/Code/Framework/AzCore/Tests/Asset/AssetManagerStreamingTests.cpp b/Code/Framework/AzCore/Tests/Asset/AssetManagerStreamingTests.cpp index 46ff4ff3e7..a683f9630e 100644 --- a/Code/Framework/AzCore/Tests/Asset/AssetManagerStreamingTests.cpp +++ b/Code/Framework/AzCore/Tests/Asset/AssetManagerStreamingTests.cpp @@ -420,7 +420,7 @@ namespace UnitTest AZ::Data::AssetHandler::LoadResult LoadAssetData( [[maybe_unused]] const AZ::Data::Asset& asset, [[maybe_unused]] AZStd::shared_ptr stream, - [[maybe_unused]] const AZ::Data::AssetFilterCB& assetLoadFilterCB) + [[maybe_unused]] const AZ::Data::AssetFilterCB& assetLoadFilterCB) override { return AZ::Data::AssetHandler::LoadResult::LoadComplete; } diff --git a/Code/Framework/AzCore/Tests/EventTests.cpp b/Code/Framework/AzCore/Tests/EventTests.cpp index aaa70344e7..cb86ef0c17 100644 --- a/Code/Framework/AzCore/Tests/EventTests.cpp +++ b/Code/Framework/AzCore/Tests/EventTests.cpp @@ -398,7 +398,7 @@ namespace Benchmark { public: EBusPerfBaselineImplEmpty() { EBusPerfBaselineBus::Handler::BusConnect(); } - ~EBusPerfBaselineImplEmpty() { EBusPerfBaselineBus::Handler::BusDisconnect(); } + ~EBusPerfBaselineImplEmpty() override { EBusPerfBaselineBus::Handler::BusDisconnect(); } void OnSignal(int32_t) override {} }; @@ -418,7 +418,7 @@ namespace Benchmark { public: EBusPerfBaselineImplIncrement() { EBusPerfBaselineBus::Handler::BusConnect(); } - ~EBusPerfBaselineImplIncrement() { EBusPerfBaselineBus::Handler::BusDisconnect(); } + ~EBusPerfBaselineImplIncrement() override { EBusPerfBaselineBus::Handler::BusDisconnect(); } void SetIncrementCounter(int32_t* incrementCounter) { m_incrementCounter = incrementCounter; } void OnSignal(int32_t) override { ++(*m_incrementCounter); } int32_t* m_incrementCounter; diff --git a/Code/Framework/AzCore/Tests/IO/Path/PathTests.cpp b/Code/Framework/AzCore/Tests/IO/Path/PathTests.cpp index 41e0ac3f09..2fca03bc59 100644 --- a/Code/Framework/AzCore/Tests/IO/Path/PathTests.cpp +++ b/Code/Framework/AzCore/Tests/IO/Path/PathTests.cpp @@ -870,11 +870,11 @@ namespace Benchmark , public ::UnitTest::AllocatorsBase { public: - void SetUp([[maybe_unused]] const ::benchmark::State& state) + void SetUp([[maybe_unused]] const ::benchmark::State& state) override { ::UnitTest::AllocatorsBase::SetupAllocator(); } - void TearDown([[maybe_unused]] const ::benchmark::State& state) + void TearDown([[maybe_unused]] const ::benchmark::State& state) override { ::UnitTest::AllocatorsBase::TeardownAllocator(); } diff --git a/Code/Framework/AzCore/Tests/Jobs.cpp b/Code/Framework/AzCore/Tests/Jobs.cpp index b88e1f5b32..b63e139dd0 100644 --- a/Code/Framework/AzCore/Tests/Jobs.cpp +++ b/Code/Framework/AzCore/Tests/Jobs.cpp @@ -184,7 +184,7 @@ namespace UnitTest public: AZ_CLASS_ALLOCATOR(Vector3SumJob, ThreadPoolAllocator, 0) - Vector3SumJob(const Vector3* array, unsigned int size, Vector3* result, JobContext* context = NULL) + Vector3SumJob(const Vector3* array, unsigned int size, Vector3* result, JobContext* context = nullptr) : Job(true, context) , m_array(array) , m_size(size) @@ -284,7 +284,7 @@ namespace UnitTest public: AZ_CLASS_ALLOCATOR(FibonacciJobJoin, ThreadPoolAllocator, 0) - FibonacciJobJoin(int* result, JobContext* context = NULL) + FibonacciJobJoin(int* result, JobContext* context = nullptr) : Job(true, context) , m_result(result) { @@ -304,7 +304,7 @@ namespace UnitTest public: AZ_CLASS_ALLOCATOR(FibonacciJobFork, ThreadPoolAllocator, 0) - FibonacciJobFork(int n, int* result, JobContext* context = NULL) + FibonacciJobFork(int n, int* result, JobContext* context = nullptr) : Job(true, context) , m_n(n) , m_result(result) @@ -374,7 +374,7 @@ namespace UnitTest public: AZ_CLASS_ALLOCATOR(FibonacciJob2, ThreadPoolAllocator, 0) - FibonacciJob2(int n, int* result, JobContext* context = NULL) + FibonacciJob2(int n, int* result, JobContext* context = nullptr) : Job(true, context) , m_n(n) , m_result(result) @@ -441,7 +441,7 @@ namespace UnitTest public: AZ_CLASS_ALLOCATOR(MergeSortJobJoin, ThreadPoolAllocator, 0) - MergeSortJobJoin(int* array, int* tempArray, int size1, int size2, JobContext* context = NULL) + MergeSortJobJoin(int* array, int* tempArray, int size1, int size2, JobContext* context = nullptr) : Job(true, context) , m_array(array) , m_tempArray(tempArray) @@ -496,7 +496,7 @@ namespace UnitTest public: AZ_CLASS_ALLOCATOR(MergeSortJobFork, ThreadPoolAllocator, 0) - MergeSortJobFork(int* array, int* tempArray, int size, JobContext* context = NULL) + MergeSortJobFork(int* array, int* tempArray, int size, JobContext* context = nullptr) : Job(true, context) , m_array(array) , m_tempArray(tempArray) @@ -585,7 +585,7 @@ namespace UnitTest public: AZ_CLASS_ALLOCATOR(QuickSortJob, ThreadPoolAllocator, 0) - QuickSortJob(int* array, int left, int right, JobContext* context = NULL) + QuickSortJob(int* array, int left, int right, JobContext* context = nullptr) : Job(true, context) , m_array(array) , m_left(left) diff --git a/Code/Framework/AzCore/Tests/Math/Matrix3x4PerformanceTests.cpp b/Code/Framework/AzCore/Tests/Math/Matrix3x4PerformanceTests.cpp index e4314f9cfb..9aed29005d 100644 --- a/Code/Framework/AzCore/Tests/Math/Matrix3x4PerformanceTests.cpp +++ b/Code/Framework/AzCore/Tests/Math/Matrix3x4PerformanceTests.cpp @@ -22,7 +22,7 @@ namespace Benchmark : public benchmark::Fixture { public: - void SetUp([[maybe_unused]] const::benchmark::State& state) + void SetUp([[maybe_unused]] const::benchmark::State& state) override { m_testDataArray.resize(1000); diff --git a/Code/Framework/AzCore/Tests/Memory.cpp b/Code/Framework/AzCore/Tests/Memory.cpp index ea6495755e..611af827d2 100644 --- a/Code/Framework/AzCore/Tests/Memory.cpp +++ b/Code/Framework/AzCore/Tests/Memory.cpp @@ -90,7 +90,7 @@ namespace UnitTest #else static const int numAllocations = 10000; #endif - void* addresses[numAllocations] = {0}; + void* addresses[numAllocations] = {nullptr}; IAllocatorAllocate& sysAlloc = AllocatorInstance::Get(); @@ -242,7 +242,7 @@ namespace UnitTest ////////////////////////////////////////////////////////////////////////// // realloc test - address[0] = NULL; + address[0] = nullptr; static const unsigned int checkValue = 0x0badbabe; // create tree (non pool) allocation (we usually pool < 256 bytes) address[0] = sysAlloc.Allocate(2048, 16); @@ -372,7 +372,7 @@ namespace UnitTest poolAllocator.GetRecords()->unlock(); } - for (i = 0; address[i] != 0; ++i) + for (i = 0; address[i] != nullptr; ++i) { poolAlloc.DeAllocate(address[i]); } @@ -544,7 +544,7 @@ namespace UnitTest #else static const int numAllocations = 10000; #endif - void* addresses[numAllocations] = {0}; + void* addresses[numAllocations] = {nullptr}; IAllocatorAllocate& poolAlloc = AllocatorInstance::Get(); @@ -665,7 +665,7 @@ namespace UnitTest poolAllocator.GetRecords()->unlock(); } - for (int i = 0; address[i] != 0; ++i) + for (int i = 0; address[i] != nullptr; ++i) { poolAlloc.DeAllocate(address[i]); } @@ -820,7 +820,7 @@ namespace UnitTest AllocatorInstance::Create(sysDesc); BestFitExternalMapAllocator::Descriptor desc; - desc.m_mapAllocator = NULL; // use the system allocator + desc.m_mapAllocator = nullptr; // use the system allocator desc.m_memoryBlockByteSize = 4 * 1024 * 1024; desc.m_memoryBlock = azmalloc(desc.m_memoryBlockByteSize, desc.m_memoryBlockAlignment); diff --git a/Code/Framework/AzCore/Tests/Memory/HphaSchema.cpp b/Code/Framework/AzCore/Tests/Memory/HphaSchema.cpp index cb2b32e212..aaf4ce1811 100644 --- a/Code/Framework/AzCore/Tests/Memory/HphaSchema.cpp +++ b/Code/Framework/AzCore/Tests/Memory/HphaSchema.cpp @@ -121,13 +121,13 @@ namespace Benchmark : public ::benchmark::Fixture { public: - void SetUp(const ::benchmark::State& state) + void SetUp(const ::benchmark::State& state) override { AZ_UNUSED(state); AZ::AllocatorInstance::Create(); } - void TearDown(const ::benchmark::State& state) + void TearDown(const ::benchmark::State& state) override { AZ_UNUSED(state); AZ::AllocatorInstance::Destroy(); diff --git a/Code/Framework/AzCore/Tests/Name/NameJsonSerializerTests.cpp b/Code/Framework/AzCore/Tests/Name/NameJsonSerializerTests.cpp index 2bca8b5970..7801059535 100644 --- a/Code/Framework/AzCore/Tests/Name/NameJsonSerializerTests.cpp +++ b/Code/Framework/AzCore/Tests/Name/NameJsonSerializerTests.cpp @@ -28,12 +28,12 @@ namespace JsonSerializationTests AZ::NameDictionary::Destroy(); } - void Reflect(AZStd::unique_ptr& context) + void Reflect(AZStd::unique_ptr& context) override { AZ::Name::Reflect(context.get()); } - void Reflect(AZStd::unique_ptr& context) + void Reflect(AZStd::unique_ptr& context) override { AZ::Name::Reflect(context.get()); } diff --git a/Code/Framework/AzCore/Tests/OrderedEventBenchmarks.cpp b/Code/Framework/AzCore/Tests/OrderedEventBenchmarks.cpp index 7cada35d19..25b2007bea 100644 --- a/Code/Framework/AzCore/Tests/OrderedEventBenchmarks.cpp +++ b/Code/Framework/AzCore/Tests/OrderedEventBenchmarks.cpp @@ -74,7 +74,7 @@ namespace Benchmark { public: EBusPerfBaselineImplEmpty() { EBusPerfBaselineBus::Handler::BusConnect(); } - ~EBusPerfBaselineImplEmpty() { EBusPerfBaselineBus::Handler::BusDisconnect(); } + ~EBusPerfBaselineImplEmpty() override { EBusPerfBaselineBus::Handler::BusDisconnect(); } void OnSignal(int32_t) override {} }; @@ -94,7 +94,7 @@ namespace Benchmark { public: EBusPerfBaselineImplIncrement() { EBusPerfBaselineBus::Handler::BusConnect(); } - ~EBusPerfBaselineImplIncrement() { EBusPerfBaselineBus::Handler::BusDisconnect(); } + ~EBusPerfBaselineImplIncrement() override { EBusPerfBaselineBus::Handler::BusDisconnect(); } void SetIncrementCounter(int32_t* incrementCounter) { m_incrementCounter = incrementCounter; } void OnSignal(int32_t) override { ++(*m_incrementCounter); } int32_t* m_incrementCounter; diff --git a/Code/Framework/AzCore/Tests/Script.cpp b/Code/Framework/AzCore/Tests/Script.cpp index e0301f8974..336e4e5dd0 100644 --- a/Code/Framework/AzCore/Tests/Script.cpp +++ b/Code/Framework/AzCore/Tests/Script.cpp @@ -1382,7 +1382,7 @@ namespace UnitTest static int s_errorCount = 0; IncompleteType* s_globalIncompletePtr = static_cast(AZ_INVALID_POINTER); - IncompleteType* s_globalIncompletePtr1 = 0; + IncompleteType* s_globalIncompletePtr1 = nullptr; void GlobalVarSet(int v) { @@ -2234,7 +2234,7 @@ namespace UnitTest // incomplete types passed by a light-user data (pointer reference) AZ_TEST_ASSERT(s_globalIncompletePtr == reinterpret_cast(AZ_INVALID_POINTER)); - AZ_TEST_ASSERT(s_globalIncompletePtr1 == 0); + AZ_TEST_ASSERT(s_globalIncompletePtr1 == nullptr); script.Execute("globalIncomplete1 = globalIncomplete"); AZ_TEST_ASSERT(s_globalIncompletePtr1 == s_globalIncompletePtr); @@ -3157,7 +3157,7 @@ namespace UnitTest char stackOutput[2048]; debugContext->StackTrace(stackOutput, AZ_ARRAY_SIZE(stackOutput)); AZ_Printf("Script", "%s", stackOutput); - AZ_TEST_ASSERT(strstr(stackOutput, "GlobalFunction") != 0); + AZ_TEST_ASSERT(strstr(stackOutput, "GlobalFunction") != nullptr); AZ_TEST_ASSERT(breakpoint->m_lineNumber == 20); } else if (m_numBreakpointHits == 2) @@ -3193,7 +3193,7 @@ namespace UnitTest char stackOutput[2048]; debugContext->StackTrace(stackOutput, AZ_ARRAY_SIZE(stackOutput)); AZ_Printf("Script", "%s", stackOutput); - AZ_TEST_ASSERT(strstr(stackOutput, "GlobalMult") != 0); + AZ_TEST_ASSERT(strstr(stackOutput, "GlobalMult") != nullptr); AZ_TEST_ASSERT(breakpoint->m_lineNumber == 23); } diff --git a/Code/Framework/AzCore/Tests/Serialization.cpp b/Code/Framework/AzCore/Tests/Serialization.cpp index 9ff2925472..e554945b55 100644 --- a/Code/Framework/AzCore/Tests/Serialization.cpp +++ b/Code/Framework/AzCore/Tests/Serialization.cpp @@ -2231,7 +2231,7 @@ TEST_F(SerializeBasicTest, BasicTypeTest_Succeed) (void)classId; DeprecationTestClass* obj = reinterpret_cast(classPtr); EXPECT_EQ( 0, obj->m_deprecated.m_data ); - EXPECT_EQ( NULL, obj->m_deprecatedPtr ); + EXPECT_EQ( nullptr, obj->m_deprecatedPtr ); EXPECT_EQ( 0, obj->m_oldClassData ); EXPECT_EQ( 0.f, obj->m_newClassData ); EXPECT_EQ( 0, obj->m_missingMember ); @@ -4057,7 +4057,7 @@ namespace UnitTest if (strcmp(classData->m_name, "MyEditStruct") == 0) { - EXPECT_TRUE(classData->m_editData != NULL); + EXPECT_TRUE(classData->m_editData != nullptr); EXPECT_EQ( 0, strcmp(classData->m_editData->m_name, "MyEditStruct") ); EXPECT_EQ( 0, strcmp(classData->m_editData->m_description, "My edit struct class used for ...") ); EXPECT_EQ( 2, classData->m_editData->m_elements.size() ); @@ -4071,12 +4071,12 @@ namespace UnitTest // Number of options attribute EXPECT_EQ(classElement->m_editData->m_attributes[0].first, AZ_CRC("NumOptions", 0x90274abc)); Edit::AttributeData* intData = azrtti_cast*>(classElement->m_editData->m_attributes[0].second); - EXPECT_TRUE(intData != NULL); + EXPECT_TRUE(intData != nullptr); EXPECT_EQ( 3, intData->Get(instance) ); // Get options attribute EXPECT_EQ( classElement->m_editData->m_attributes[1].first, AZ_CRC("Options", 0xd035fa87)); Edit::AttributeFunction* funcData = azrtti_cast*>(classElement->m_editData->m_attributes[1].second); - EXPECT_TRUE(funcData != NULL); + EXPECT_TRUE(funcData != nullptr); EXPECT_EQ( 20, funcData->Invoke(instance, 10) ); } return true; diff --git a/Code/Framework/AzCore/Tests/Serialization/Json/ArraySerializerTests.cpp b/Code/Framework/AzCore/Tests/Serialization/Json/ArraySerializerTests.cpp index 4dc74779f2..e410ba9ca4 100644 --- a/Code/Framework/AzCore/Tests/Serialization/Json/ArraySerializerTests.cpp +++ b/Code/Framework/AzCore/Tests/Serialization/Json/ArraySerializerTests.cpp @@ -58,7 +58,7 @@ namespace JsonSerializationTests return array; } - AZStd::shared_ptr CreatePartialDefaultInstance() + AZStd::shared_ptr CreatePartialDefaultInstance() override { auto array = AZStd::make_shared(); (*array)[0] = 10; @@ -128,7 +128,7 @@ namespace JsonSerializationTests return array; } - AZStd::shared_ptr CreatePartialDefaultInstance() + AZStd::shared_ptr CreatePartialDefaultInstance() override { auto partialInstance = aznew MultipleInheritence(); partialInstance->m_var1 = 142; diff --git a/Code/Framework/AzCore/Tests/Serialization/Json/MapSerializerTests.cpp b/Code/Framework/AzCore/Tests/Serialization/Json/MapSerializerTests.cpp index 41b17f9ade..4979df04be 100644 --- a/Code/Framework/AzCore/Tests/Serialization/Json/MapSerializerTests.cpp +++ b/Code/Framework/AzCore/Tests/Serialization/Json/MapSerializerTests.cpp @@ -169,7 +169,7 @@ namespace JsonSerializationTests return AZStd::shared_ptr(new Map{}, &Delete); } - AZStd::shared_ptr CreatePartialDefaultInstance() + AZStd::shared_ptr CreatePartialDefaultInstance() override { auto instance = AZStd::shared_ptr(new Map{}, &Delete); instance->emplace(AZStd::make_pair(aznew SimpleClass(), aznew SimpleClass(188, 188.0))); diff --git a/Code/Framework/AzCore/Tests/Serialization/Json/StringSerializerTests.cpp b/Code/Framework/AzCore/Tests/Serialization/Json/StringSerializerTests.cpp index a2a3d42ebb..af6dedb51b 100644 --- a/Code/Framework/AzCore/Tests/Serialization/Json/StringSerializerTests.cpp +++ b/Code/Framework/AzCore/Tests/Serialization/Json/StringSerializerTests.cpp @@ -33,7 +33,7 @@ namespace JsonSerializationTests return AZStd::make_shared("Hello"); } - AZStd::string_view GetJsonForFullySetInstance() + AZStd::string_view GetJsonForFullySetInstance() override { return R"("Hello")"; } @@ -48,7 +48,7 @@ namespace JsonSerializationTests features.m_supportsInjection = false; } - bool AreEqual(const String& lhs, const String& rhs) + bool AreEqual(const String& lhs, const String& rhs) override { return lhs.compare(rhs) == 0; } diff --git a/Code/Framework/AzCore/Tests/Settings/SettingsRegistryConsoleUtilsTests.cpp b/Code/Framework/AzCore/Tests/Settings/SettingsRegistryConsoleUtilsTests.cpp index 5b18faa3d1..6bcd57f849 100644 --- a/Code/Framework/AzCore/Tests/Settings/SettingsRegistryConsoleUtilsTests.cpp +++ b/Code/Framework/AzCore/Tests/Settings/SettingsRegistryConsoleUtilsTests.cpp @@ -147,7 +147,7 @@ namespace SettingsRegistryConsoleUtilsTests struct SettingsRegistryDumpCommandHandler : public AZ::Debug::TraceMessageBus::Handler { - bool OnOutput(const char* window, const char* message) + bool OnOutput(const char* window, const char* message) override { if (window == AZStd::string_view("SettingsRegistry")) { @@ -218,7 +218,7 @@ namespace SettingsRegistryConsoleUtilsTests , m_expectedValue2{ expectedValue2 } { } - bool OnOutput(const char* window, const char* message) + bool OnOutput(const char* window, const char* message) override { if (window == AZStd::string_view("SettingsRegistry")) { diff --git a/Code/Framework/AzCore/Tests/Statistics.cpp b/Code/Framework/AzCore/Tests/Statistics.cpp index 941c2eff0b..4577618d5a 100644 --- a/Code/Framework/AzCore/Tests/Statistics.cpp +++ b/Code/Framework/AzCore/Tests/Statistics.cpp @@ -40,7 +40,7 @@ namespace UnitTest } } - ~StatisticsTest() + ~StatisticsTest() override { } diff --git a/Code/Framework/AzCore/Tests/Streamer/BlockCacheTests.cpp b/Code/Framework/AzCore/Tests/Streamer/BlockCacheTests.cpp index f770af57be..3a107da61d 100644 --- a/Code/Framework/AzCore/Tests/Streamer/BlockCacheTests.cpp +++ b/Code/Framework/AzCore/Tests/Streamer/BlockCacheTests.cpp @@ -184,7 +184,7 @@ namespace AZ::IO size = size >> 2; for (u64 i = 0; i < size; ++i) { - // Using assert here because in case of a problem EXPECT would + // Using assert here because in case of a problem EXPECT would // cause a large amount of log noise. ASSERT_EQ(buffer[i], offset + (i << 2)); } @@ -203,7 +203,9 @@ namespace AZ::IO { do { - while (m_context->FinalizeCompletedRequests()); + while (m_context->FinalizeCompletedRequests()) + { + } } while (m_cache->ExecuteRequests()); } @@ -269,7 +271,7 @@ namespace AZ::IO RedirectReadCalls(); EXPECT_CALL(*this, ReadFile(_, _, 0, m_fakeFileLength)); - + ProcessRead(m_buffer, m_path, 0, m_fakeFileLength, IStreamerTypes::RequestStatus::Completed); VerifyReadBuffer(0, m_fakeFileLength); } @@ -519,8 +521,8 @@ namespace AZ::IO using ::testing::_; using ::testing::Return; - CreateTestEnvironment(); - + CreateTestEnvironment(); + EXPECT_CALL(*m_mock, ExecuteRequests()) .WillOnce(Return(true)) .WillRepeatedly(Return(false)); @@ -553,7 +555,7 @@ namespace AZ::IO RunProcessLoop(); EXPECT_TRUE(allRequestsCompleted); - + VerifyReadBuffer(256, m_fakeFileLength - 512); VerifyReadBuffer(buffer1, m_fakeFileLength - 768, secondReadSize); } @@ -622,7 +624,7 @@ namespace AZ::IO m_fakeFileFound = false; m_fakeFileLength = 0; - + ProcessRead(m_buffer, m_path, 0, m_blockSize, IStreamerTypes::RequestStatus::Failed); } @@ -650,18 +652,18 @@ namespace AZ::IO status.m_isIdle = false; })); EXPECT_CALL(*this, ReadFile(_, _, _, _)).Times(count); - + constexpr size_t scratchBufferSize = 128_kib; using ScratchBuffer = char[scratchBufferSize]; ScratchBuffer buffers[count]; - + bool allRequestsCompleted = true; auto completed = [&allRequestsCompleted](const FileRequest& request) { // Capture result before request is recycled. allRequestsCompleted = allRequestsCompleted && request.GetStatus() == IStreamerTypes::RequestStatus::Completed; }; - + for (size_t i = 0; i < count; ++i) { StreamStackEntry::Status status; @@ -738,7 +740,7 @@ namespace AZ::IO RedirectReadCalls(); EXPECT_CALL(*this, ReadFile(_, _, 256, m_fakeFileLength - 256)); - + ProcessRead(m_buffer, m_path, 256, m_fakeFileLength - 256, IStreamerTypes::RequestStatus::Completed); VerifyReadBuffer(256, m_fakeFileLength - 256); } @@ -1062,7 +1064,7 @@ namespace AZ::IO .WillRepeatedly(Return(false)); EXPECT_CALL(*m_mock, QueueRequest(_)) .WillRepeatedly(Invoke(this, &BlockCacheTest::QueueReadRequest)); - + size_t firstReadSize = m_fakeFileLength - (2 * m_blockSize) - 512; FileRequest* request0 = m_context->GetNewInternalRequest(); request0->CreateRead(nullptr, m_buffer, m_bufferSize, m_path, 256, firstReadSize); @@ -1097,7 +1099,7 @@ namespace AZ::IO VerifyReadBuffer(buffer1.get(), secondReadOffset, secondReadSize); } - + @@ -1146,7 +1148,7 @@ namespace AZ::IO FileRequest* request = m_context->GetNewInternalRequest(); request->CreateFlush(m_path); RunAndCompleteRequest(request, IStreamerTypes::RequestStatus::Completed); - + // The partial read would normally be serviced from the cache, but now triggers another read. EXPECT_CALL(*this, ReadFile(_, _, _, _)).Times(1); ProcessRead(m_buffer, m_path, 512, m_blockSize - 1024, IStreamerTypes::RequestStatus::Completed); @@ -1170,7 +1172,7 @@ namespace AZ::IO FileRequest* request = m_context->GetNewInternalRequest(); request->CreateFlushAll(); RunAndCompleteRequest(request, IStreamerTypes::RequestStatus::Completed); - + // The partial read would normally be serviced from the cache, but now triggers another read. EXPECT_CALL(*this, ReadFile(_, _, _, _)).Times(1); ProcessRead(m_buffer, m_path, 512, m_blockSize - 1024, IStreamerTypes::RequestStatus::Completed); diff --git a/Code/Framework/AzCore/Tests/StringFunc.cpp b/Code/Framework/AzCore/Tests/StringFunc.cpp index 2b6f19736a..68821ba3f9 100644 --- a/Code/Framework/AzCore/Tests/StringFunc.cpp +++ b/Code/Framework/AzCore/Tests/StringFunc.cpp @@ -966,7 +966,7 @@ namespace AZ { public: StringPathFuncTest() = default; - virtual ~StringPathFuncTest() = default; + ~StringPathFuncTest() override = default; }; diff --git a/Code/Framework/AzFramework/AzFramework/Archive/Archive.cpp b/Code/Framework/AzFramework/AzFramework/Archive/Archive.cpp index 8688f6b878..ce0cc23a4e 100644 --- a/Code/Framework/AzFramework/AzFramework/Archive/Archive.cpp +++ b/Code/Framework/AzFramework/AzFramework/Archive/Archive.cpp @@ -374,8 +374,8 @@ namespace AZ::IO { public: AZ_CLASS_ALLOCATOR(CResourceList, AZ::SystemAllocator, 0); - CResourceList() { m_iter = m_set.end(); }; - ~CResourceList() {}; + CResourceList() { m_iter = m_set.end(); } + ~CResourceList() override {} void Add(AZStd::string_view sResourceFile) override { @@ -2571,7 +2571,7 @@ namespace AZ::IO return aznumeric_cast(pFileEntry->nFileDataOffset); } - EStreamSourceMediaType Archive::GetFileMediaType(AZStd::string_view szName) const + EStreamSourceMediaType Archive::GetFileMediaType(AZStd::string_view szName) const { auto szFullPath = AZ::IO::FileIOBase::GetDirectInstance()->ResolvePath(szName); if (!szFullPath) diff --git a/Code/Framework/AzFramework/AzFramework/IO/FileOperations.cpp b/Code/Framework/AzFramework/AzFramework/IO/FileOperations.cpp index db36a91448..9703e4a993 100644 --- a/Code/Framework/AzFramework/AzFramework/IO/FileOperations.cpp +++ b/Code/Framework/AzFramework/AzFramework/IO/FileOperations.cpp @@ -114,7 +114,7 @@ namespace AZ AZ_Warning("AZ::IO::SmartMove", false, "Unable to move/copy the source file (%s)", sourceFilePath); if (destFileMoved) { - // if we were unable to move/copy the source file to the dest file, + // if we were unable to move/copy the source file to the dest file, // we will try to revert back the destination file from the temp file. if (!fileIO->Rename(tmpDestFile.c_str(), destinationFilePath)) { @@ -124,7 +124,7 @@ namespace AZ return ResultCode::Error; } - // removing the source file if copy succeeds + // removing the source file if copy succeeds if (!fileIO->Remove(sourceFilePath)) { AZ_Warning("AZ::IO::SmartMove", false, "Unable to delete the source file (%s)", sourceFilePath); @@ -140,7 +140,7 @@ namespace AZ return ResultCode::Error; } } - + return ResultCode::Success; } @@ -158,7 +158,7 @@ namespace AZ const int s_MaxCreateTempFileTries = 16; AZStd::string fullPath, fileName; tempFile.clear(); - + if (!AzFramework::StringFunc::Path::GetFullPath(file, fullPath)) { AZ_Warning("AZ::IO::CreateTempFileName", false, " Filepath needs to be an absolute path: '%s'", file); @@ -170,7 +170,7 @@ namespace AZ AZ_Warning("AZ::IO::CreateTempFileName", false, " Filepath needs to be an absolute path: '%s'", file); return false; } - + for (int idx = 0; idx < s_MaxCreateTempFileTries; idx++) { AzFramework::StringFunc::Path::ConstructFull(fullPath.c_str(), AZStd::string::format("$tmp%d_%s", rand(), fileName.c_str()).c_str(), tempFile, true); @@ -235,7 +235,7 @@ namespace AZ fileIO->Read(fileHandle, buffer, bufferSize - 1, false, &bytesRead); if (!bytesRead) { - return 0; + return nullptr; } char* currentPosition = buffer; diff --git a/Code/Framework/AzFramework/AzFramework/Input/Devices/InputDevice.cpp b/Code/Framework/AzFramework/AzFramework/Input/Devices/InputDevice.cpp index f1b4e02b2d..2f44f80eba 100644 --- a/Code/Framework/AzFramework/AzFramework/Input/Devices/InputDevice.cpp +++ b/Code/Framework/AzFramework/AzFramework/Input/Devices/InputDevice.cpp @@ -39,7 +39,7 @@ namespace AzFramework } //////////////////////////////////////////////////////////////////////////////////////////// - void OnInputDeviceDisconnectedEvent(const InputDevice& inputDevice) + void OnInputDeviceDisconnectedEvent(const InputDevice& inputDevice) override { Call(FN_OnInputDeviceDisconnectedEvent, &inputDevice); } diff --git a/Code/Framework/AzFramework/AzFramework/Logging/LoggingComponent.cpp b/Code/Framework/AzFramework/AzFramework/Logging/LoggingComponent.cpp index aa1344fa4f..d5ba65425c 100644 --- a/Code/Framework/AzFramework/AzFramework/Logging/LoggingComponent.cpp +++ b/Code/Framework/AzFramework/AzFramework/Logging/LoggingComponent.cpp @@ -101,7 +101,7 @@ namespace AzFramework if (m_logFile) { delete m_logFile; - m_logFile = NULL; + m_logFile = nullptr; } } diff --git a/Code/Framework/AzFramework/AzFramework/Physics/Material.cpp b/Code/Framework/AzFramework/AzFramework/Physics/Material.cpp index 994d93d99e..4ac97cf041 100644 --- a/Code/Framework/AzFramework/AzFramework/Physics/Material.cpp +++ b/Code/Framework/AzFramework/AzFramework/Physics/Material.cpp @@ -28,7 +28,7 @@ namespace Physics class MaterialLibraryAssetEventHandler : public AZ::SerializeContext::IEventHandler { - void OnReadBegin(void* classPtr) + void OnReadBegin(void* classPtr) override { auto matAsset = static_cast(classPtr); matAsset->GenerateMissingIds(); @@ -38,7 +38,7 @@ namespace Physics class MaterialSelectionEventHandler : public AZ::SerializeContext::IEventHandler { - void OnReadEnd(void* classPtr) + void OnReadEnd(void* classPtr) override { auto materialSelection = static_cast(classPtr); if (materialSelection->GetMaterialIdsAssignedToSlots().empty()) @@ -362,8 +362,8 @@ namespace Physics MaterialId MaterialId::Create() { - MaterialId id; - id.m_id = AZ::Uuid::Create(); + MaterialId id; + id.m_id = AZ::Uuid::Create(); return id; } @@ -425,7 +425,7 @@ namespace Physics } else { - // If there is more than one material slot + // If there is more than one material slot // the caller must use SetMaterialSlots function return ""; } diff --git a/Code/Framework/AzFramework/AzFramework/Script/ScriptRemoteDebugging.cpp b/Code/Framework/AzFramework/AzFramework/Script/ScriptRemoteDebugging.cpp index 06fd8acd79..011d967631 100644 --- a/Code/Framework/AzFramework/AzFramework/Script/ScriptRemoteDebugging.cpp +++ b/Code/Framework/AzFramework/AzFramework/Script/ScriptRemoteDebugging.cpp @@ -174,25 +174,25 @@ namespace AzFramework ScriptDebugAgent() = default; ////////////////////////////////////////////////////////////////////////// // Component base - virtual void Init(); - virtual void Activate(); - virtual void Deactivate(); + void Init() override; + void Activate() override; + void Deactivate() override; ////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// // AZ::SystemTickBus - virtual void OnSystemTick(); + void OnSystemTick() override; ////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// // ScriptDebugAgentBus - virtual void RegisterContext(AZ::ScriptContext* sc, const char* name); - virtual void UnregisterContext(AZ::ScriptContext* sc); + void RegisterContext(AZ::ScriptContext* sc, const char* name) override; + void UnregisterContext(AZ::ScriptContext* sc) override; ////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// // TmMsgBus - virtual void OnReceivedMsg(TmMsgPtr msg); + void OnReceivedMsg(TmMsgPtr msg) override; ////////////////////////////////////////////////////////////////////////// protected: @@ -241,10 +241,10 @@ namespace AzFramework void ScriptDebugAgent::Activate() { m_executionState = SDA_STATE_DETACHED; - m_curContext = NULL; + m_curContext = nullptr; // register default app script context if there is one - AZ::ScriptContext* defaultScriptContext = NULL; + AZ::ScriptContext* defaultScriptContext = nullptr; EBUS_EVENT_RESULT(defaultScriptContext, AZ::ScriptSystemRequestBus, GetContext, AZ::ScriptContextIds::DefaultScriptContextId); if (defaultScriptContext) { @@ -379,7 +379,7 @@ namespace AzFramework AZ_TracePrintf("LUA", "Remote debugger %s has detached from context 0x%p.\n", m_debugger.GetDisplayName(), m_curContext); m_debugger = TargetInfo(); - m_curContext = NULL; + m_curContext = nullptr; m_executionState = SDA_STATE_DETACHED; } //------------------------------------------------------------------------- @@ -435,7 +435,7 @@ namespace AzFramework void ScriptDebugAgent::Process() { // Process messages - AZ::ScriptContextDebug* dbgContext = m_curContext ? m_curContext->GetDebugContext() : NULL; + AZ::ScriptContextDebug* dbgContext = m_curContext ? m_curContext->GetDebugContext() : nullptr; while (!m_msgQueue.empty()) { m_msgMutex.lock(); diff --git a/Code/Framework/AzFramework/AzFramework/TargetManagement/TargetManagementComponent.cpp b/Code/Framework/AzFramework/AzFramework/TargetManagement/TargetManagementComponent.cpp index c1ce31613c..1c26cbc744 100644 --- a/Code/Framework/AzFramework/AzFramework/TargetManagement/TargetManagementComponent.cpp +++ b/Code/Framework/AzFramework/AzFramework/TargetManagement/TargetManagementComponent.cpp @@ -562,7 +562,7 @@ namespace AzFramework void TargetManagementComponent::SetMyPersistentName(const char* name) { - AZ_Assert(m_networkImpl->m_session == NULL, "We cannot change our neighborhood while connected!"); + AZ_Assert(m_networkImpl->m_session == nullptr, "We cannot change our neighborhood while connected!"); m_settings->m_persistentName = name; } @@ -585,7 +585,7 @@ namespace AzFramework void TargetManagementComponent::SetNeighborhood(const char* name) { - AZ_Assert(m_networkImpl->m_session == NULL, "We cannot change our neighborhood while connected!"); + AZ_Assert(m_networkImpl->m_session == nullptr, "We cannot change our neighborhood while connected!"); m_settings->m_neighborhoodName = name; } @@ -714,7 +714,7 @@ namespace AzFramework { GridMate::GridMember* member = m_networkImpl->m_session->GetMemberByIndex(i); GridMate::MemberIDCompact memberId = member->GetId().Compact(); - const TargetInfo* target = NULL; + const TargetInfo* target = nullptr; AZ::u32 targetId = 0; for (TargetContainer::const_iterator targetIt = m_availableTargets.begin(); targetIt != m_availableTargets.end(); ++targetIt) { @@ -742,7 +742,7 @@ namespace AzFramework AZ::IO::MemoryStream msgBuffer(m_tmpInboundBuffer.data(), result.m_numBytes, result.m_numBytes); TmMsg* msg = nullptr; AZ::ObjectStream::ClassReadyCB readyCB(AZStd::bind(&TargetManagementComponent::OnMsgParsed, this, &msg, AZStd::placeholders::_1, AZStd::placeholders::_2, AZStd::placeholders::_3)); - AZ::ObjectStream::LoadBlocking(&msgBuffer, *m_serializeContext, readyCB, AZ::ObjectStream::FilterDescriptor(0, AZ::ObjectStream::FILTERFLAG_IGNORE_UNKNOWN_CLASSES)); + AZ::ObjectStream::LoadBlocking(&msgBuffer, *m_serializeContext, readyCB, AZ::ObjectStream::FilterDescriptor(nullptr, AZ::ObjectStream::FILTERFLAG_IGNORE_UNKNOWN_CLASSES)); if (msg) { if (msg->GetCustomBlobSize() > 0) diff --git a/Code/Framework/AzFramework/Platform/Linux/AzFramework/Application/Application_Linux.cpp b/Code/Framework/AzFramework/Platform/Linux/AzFramework/Application/Application_Linux.cpp index eb4165453e..407e256052 100644 --- a/Code/Framework/AzFramework/Platform/Linux/AzFramework/Application/Application_Linux.cpp +++ b/Code/Framework/AzFramework/Platform/Linux/AzFramework/Application/Application_Linux.cpp @@ -24,7 +24,7 @@ namespace AzFramework LinuxXcbConnectionManagerBus::Handler::BusConnect(); } - ~LinuxXcbConnectionManagerImpl() + ~LinuxXcbConnectionManagerImpl() override { LinuxXcbConnectionManagerBus::Handler::BusDisconnect(); xcb_disconnect(m_xcbConnection); diff --git a/Code/Framework/AzFramework/Platform/Linux/AzFramework/Process/ProcessCommunicator_Linux.cpp b/Code/Framework/AzFramework/Platform/Linux/AzFramework/Process/ProcessCommunicator_Linux.cpp index 0249a42976..f8cc26b19b 100644 --- a/Code/Framework/AzFramework/Platform/Linux/AzFramework/Process/ProcessCommunicator_Linux.cpp +++ b/Code/Framework/AzFramework/Platform/Linux/AzFramework/Process/ProcessCommunicator_Linux.cpp @@ -78,7 +78,7 @@ namespace AzFramework FD_ZERO(&set); FD_SET(handle->GetHandle(), &set); - [[maybe_unused]] int numReady = select(handle->GetHandle() + 1, &set, NULL, NULL, NULL); + [[maybe_unused]] int numReady = select(handle->GetHandle() + 1, &set, nullptr, nullptr, nullptr); // if numReady == -1 and errno == EINTR then the child process died unexpectedly and // the handle was closed. Not something to assert about in regards to trying to read diff --git a/Code/Framework/AzFramework/Platform/Linux/AzFramework/Process/ProcessWatcher_Linux.cpp b/Code/Framework/AzFramework/Platform/Linux/AzFramework/Process/ProcessWatcher_Linux.cpp index eb60b8e6ae..2d29fac73d 100644 --- a/Code/Framework/AzFramework/Platform/Linux/AzFramework/Process/ProcessWatcher_Linux.cpp +++ b/Code/Framework/AzFramework/Platform/Linux/AzFramework/Process/ProcessWatcher_Linux.cpp @@ -277,7 +277,7 @@ namespace AzFramework environmentVariables[i][0] = '\0'; azstrcat(environmentVariables[i], envVarString.size(), envVarString.c_str()); } - environmentVariables[numEnvironmentVars] = NULL; + environmentVariables[numEnvironmentVars] = nullptr; } pid_t child_pid = fork(); @@ -373,7 +373,7 @@ namespace AzFramework } bool isProcessDone = false; - time_t startTime = time(0); + time_t startTime = time(nullptr); time_t currentTime = startTime; AZ_Assert(currentTime != -1, "time(0) returned an invalid time"); while (((currentTime - startTime) < waitTimeInSeconds) && !isProcessDone) @@ -385,7 +385,7 @@ namespace AzFramework m_pWatcherData->m_childProcessIsDone = true; break; } - currentTime = time(0); + currentTime = time(nullptr); } //returns false if process is still running after time return isProcessDone; diff --git a/Code/Framework/AzFramework/Tests/ArchiveTests.cpp b/Code/Framework/AzFramework/Tests/ArchiveTests.cpp index 2caaf6ee71..6a359e714c 100644 --- a/Code/Framework/AzFramework/Tests/ArchiveTests.cpp +++ b/Code/Framework/AzFramework/Tests/ArchiveTests.cpp @@ -570,7 +570,7 @@ namespace UnitTest EXPECT_TRUE(found_mylevel_folder); numFound = 0; - found_mylevel_folder = 0; + found_mylevel_folder = false; // now make sure no red herrings appear // for example, if a file is mounted at "@assets@\\uniquename\\mylevel2\\mylevel3\\mylevel4" diff --git a/Code/Framework/AzFramework/Tests/BehaviorEntityTests.cpp b/Code/Framework/AzFramework/Tests/BehaviorEntityTests.cpp index f42a0faeee..3c860a88dd 100644 --- a/Code/Framework/AzFramework/Tests/BehaviorEntityTests.cpp +++ b/Code/Framework/AzFramework/Tests/BehaviorEntityTests.cpp @@ -29,7 +29,7 @@ public: void Activate() override {} void Deactivate() override {} - bool ReadInConfig(const AZ::ComponentConfig* baseConfig) + bool ReadInConfig(const AZ::ComponentConfig* baseConfig) override { if (auto config = azrtti_cast(baseConfig)) { @@ -39,7 +39,7 @@ public: return false; } - bool WriteOutConfig(AZ::ComponentConfig* outBaseConfig) const + bool WriteOutConfig(AZ::ComponentConfig* outBaseConfig) const override { if (auto outConfig = azrtti_cast(outBaseConfig)) { diff --git a/Code/Framework/AzFramework/Tests/BinToTextEncode.cpp b/Code/Framework/AzFramework/Tests/BinToTextEncode.cpp index b4d4ff63b0..a1ebdfd945 100644 --- a/Code/Framework/AzFramework/Tests/BinToTextEncode.cpp +++ b/Code/Framework/AzFramework/Tests/BinToTextEncode.cpp @@ -46,7 +46,7 @@ namespace UnitTest AllocatorsFixture::TearDown(); } - virtual ~Base64Test() + ~Base64Test() override { } diff --git a/Code/Framework/AzFramework/Tests/EntityContext.cpp b/Code/Framework/AzFramework/Tests/EntityContext.cpp index cb957fa46c..74a4948e04 100644 --- a/Code/Framework/AzFramework/Tests/EntityContext.cpp +++ b/Code/Framework/AzFramework/Tests/EntityContext.cpp @@ -41,7 +41,7 @@ namespace UnitTest Data::AssetManager::Create(desc); } - virtual ~EntityContextBasicTest() + ~EntityContextBasicTest() override { } diff --git a/Code/Framework/AzFramework/Tests/FileIO.cpp b/Code/Framework/AzFramework/Tests/FileIO.cpp index 7a01ba991b..fb95512968 100644 --- a/Code/Framework/AzFramework/Tests/FileIO.cpp +++ b/Code/Framework/AzFramework/Tests/FileIO.cpp @@ -118,7 +118,7 @@ namespace UnitTest AZ::IO::FileIOBase::SetInstance(&m_fileIO); } - ~FileIOStreamTest() + ~FileIOStreamTest() override { } @@ -341,7 +341,7 @@ namespace UnitTest AZ_TEST_ASSERT(!local.Eof(fileHandle)); AZ_TEST_ASSERT(!local.Flush(fileHandle)); AZ_TEST_ASSERT(!local.ModificationTime(fileHandle)); - AZ_TEST_ASSERT(!local.Read(fileHandle, 0, 0, false)); + AZ_TEST_ASSERT(!local.Read(fileHandle, nullptr, 0, false)); AZ_TEST_ASSERT(!local.Tell(fileHandle, fs)); AZ_TEST_ASSERT(!local.Exists((file01Name + "notexist").c_str())); diff --git a/Code/Framework/AzFramework/Tests/NativeWindow.cpp b/Code/Framework/AzFramework/Tests/NativeWindow.cpp index 9554b6ab10..f160d88003 100644 --- a/Code/Framework/AzFramework/Tests/NativeWindow.cpp +++ b/Code/Framework/AzFramework/Tests/NativeWindow.cpp @@ -27,19 +27,19 @@ namespace UnitTest AzFramework::WindowNotificationBus::Handler::BusConnect(m_windowHandle); } - ~NativeWindowListener() + ~NativeWindowListener() override { AzFramework::WindowNotificationBus::Handler::BusDisconnect(m_windowHandle); } // WindowNotificationBus::Handler overrides... - void OnWindowResized(uint32_t width, uint32_t height) + void OnWindowResized(uint32_t width, uint32_t height) override { AZ_UNUSED(width); AZ_UNUSED(height); m_wasOnWindowResizedReceived = true; } - void OnWindowClosed() + void OnWindowClosed() override { m_wasOnWindowClosedReceived = true; } diff --git a/Code/Framework/AzManipulatorTestFramework/Source/DirectManipulatorViewportInteraction.cpp b/Code/Framework/AzManipulatorTestFramework/Source/DirectManipulatorViewportInteraction.cpp index a667af4e20..c9234fe488 100644 --- a/Code/Framework/AzManipulatorTestFramework/Source/DirectManipulatorViewportInteraction.cpp +++ b/Code/Framework/AzManipulatorTestFramework/Source/DirectManipulatorViewportInteraction.cpp @@ -34,7 +34,7 @@ namespace AzManipulatorTestFramework ViewportInteractionInterface* viewportInteraction, AZStd::shared_ptr manipulatorManager); // ManipulatorManagerInterface ... - void ConsumeMouseInteractionEvent(const MouseInteractionEvent& event); + void ConsumeMouseInteractionEvent(const MouseInteractionEvent& event) override; AzToolsFramework::ManipulatorManagerId GetId() const override; bool ManipulatorBeingInteracted() const override; diff --git a/Code/Framework/AzNetworking/AzNetworking/Utilities/EncryptionCommon.cpp b/Code/Framework/AzNetworking/AzNetworking/Utilities/EncryptionCommon.cpp index 57badcee4e..3fdfa042a5 100644 --- a/Code/Framework/AzNetworking/AzNetworking/Utilities/EncryptionCommon.cpp +++ b/Code/Framework/AzNetworking/AzNetworking/Utilities/EncryptionCommon.cpp @@ -473,7 +473,7 @@ namespace AzNetworking { const AZ::CVarFixedString contextPassword = (trustZone == TrustZone::ExternalClientToServer) ? net_SslExternalContextPassword : net_SslInternalContextPassword; - SSL_CTX_set_default_passwd_cb(context, NULL); + SSL_CTX_set_default_passwd_cb(context, nullptr); SSL_CTX_set_default_passwd_cb_userdata(context, (void*)contextPassword.c_str()); if (SSL_CTX_use_PrivateKey_file(context, privateKeyPath.c_str(), SSL_FILETYPE_PEM) != OpenSslResultSuccess) diff --git a/Code/Framework/AzNetworking/Tests/TcpTransport/TcpTransportTests.cpp b/Code/Framework/AzNetworking/Tests/TcpTransport/TcpTransportTests.cpp index d06aac1a14..9dc7ae0ccf 100644 --- a/Code/Framework/AzNetworking/Tests/TcpTransport/TcpTransportTests.cpp +++ b/Code/Framework/AzNetworking/Tests/TcpTransport/TcpTransportTests.cpp @@ -23,12 +23,12 @@ namespace UnitTest : public IConnectionListener { public: - ConnectResult ValidateConnect([[maybe_unused]] const IpAddress& remoteAddress, [[maybe_unused]] const IPacketHeader& packetHeader, [[maybe_unused]] ISerializer& serializer) + ConnectResult ValidateConnect([[maybe_unused]] const IpAddress& remoteAddress, [[maybe_unused]] const IPacketHeader& packetHeader, [[maybe_unused]] ISerializer& serializer) override { return ConnectResult::Accepted; } - void OnConnect([[maybe_unused]] IConnection* connection) + void OnConnect([[maybe_unused]] IConnection* connection) override { ; } @@ -40,12 +40,12 @@ namespace UnitTest return PacketDispatchResult::Failure; } - void OnPacketLost([[maybe_unused]] IConnection* connection, [[maybe_unused]] PacketId packetId) + void OnPacketLost([[maybe_unused]] IConnection* connection, [[maybe_unused]] PacketId packetId) override { } - void OnDisconnect([[maybe_unused]] IConnection* connection, [[maybe_unused]] DisconnectReason reason, [[maybe_unused]] TerminationEndpoint endpoint) + void OnDisconnect([[maybe_unused]] IConnection* connection, [[maybe_unused]] DisconnectReason reason, [[maybe_unused]] TerminationEndpoint endpoint) override { } diff --git a/Code/Framework/AzNetworking/Tests/UdpTransport/UdpTransportTests.cpp b/Code/Framework/AzNetworking/Tests/UdpTransport/UdpTransportTests.cpp index 9cc3fd4b09..02c7085023 100644 --- a/Code/Framework/AzNetworking/Tests/UdpTransport/UdpTransportTests.cpp +++ b/Code/Framework/AzNetworking/Tests/UdpTransport/UdpTransportTests.cpp @@ -26,12 +26,12 @@ namespace UnitTest : public IConnectionListener { public: - ConnectResult ValidateConnect([[maybe_unused]] const IpAddress& remoteAddress, [[maybe_unused]] const IPacketHeader& packetHeader, [[maybe_unused]] ISerializer& serializer) + ConnectResult ValidateConnect([[maybe_unused]] const IpAddress& remoteAddress, [[maybe_unused]] const IPacketHeader& packetHeader, [[maybe_unused]] ISerializer& serializer) override { return ConnectResult::Accepted; } - void OnConnect([[maybe_unused]] IConnection* connection) + void OnConnect([[maybe_unused]] IConnection* connection) override { ; } @@ -43,12 +43,12 @@ namespace UnitTest return PacketDispatchResult::Failure; } - void OnPacketLost([[maybe_unused]] IConnection* connection, [[maybe_unused]] PacketId packetId) + void OnPacketLost([[maybe_unused]] IConnection* connection, [[maybe_unused]] PacketId packetId) override { } - void OnDisconnect([[maybe_unused]] IConnection* connection, [[maybe_unused]] DisconnectReason reason, [[maybe_unused]] TerminationEndpoint endpoint) + void OnDisconnect([[maybe_unused]] IConnection* connection, [[maybe_unused]] DisconnectReason reason, [[maybe_unused]] TerminationEndpoint endpoint) override { } diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Components/DockTabBar.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Components/DockTabBar.cpp index 127163f056..cd6af7391c 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Components/DockTabBar.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Components/DockTabBar.cpp @@ -147,7 +147,7 @@ namespace AzQtComponents TabBar::tabLayoutChange(); // Only the active tab's close button should be shown - const ButtonPosition closeSide = (ButtonPosition)style()->styleHint(QStyle::SH_TabBar_CloseButtonPosition, 0, this); + const ButtonPosition closeSide = (ButtonPosition)style()->styleHint(QStyle::SH_TabBar_CloseButtonPosition, nullptr, this); const int numTabs = count(); const int activeTabIndex = currentIndex(); for (int i = 0; i < numTabs; ++i) @@ -190,7 +190,7 @@ namespace AzQtComponents } }); - const ButtonPosition closeSide = (ButtonPosition) style()->styleHint(QStyle::SH_TabBar_CloseButtonPosition, 0, this); + const ButtonPosition closeSide = (ButtonPosition) style()->styleHint(QStyle::SH_TabBar_CloseButtonPosition, nullptr, this); setTabButton(index, closeSide, closeButton); } diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Components/FlowLayout.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Components/FlowLayout.cpp index c78314b8d7..0478779561 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Components/FlowLayout.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Components/FlowLayout.cpp @@ -112,7 +112,7 @@ QLayoutItem* FlowLayout::takeAt(int index) } else { - return 0; + return nullptr; } } @@ -207,7 +207,7 @@ int FlowLayout::smartSpacing(QStyle::PixelMetric pm) const else if (parent->isWidgetType()) { QWidget* pw = static_cast(parent); - return pw->style()->pixelMetric(pm, 0, pw); + return pw->style()->pixelMetric(pm, nullptr, pw); } else { diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Components/StyledSpinBox.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Components/StyledSpinBox.cpp index 9bf77f0f9b..690d275646 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Components/StyledSpinBox.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Components/StyledSpinBox.cpp @@ -75,11 +75,11 @@ namespace AzQtComponents connect(slider, &QSlider::sliderReleased, this, [this] { m_dragging = false; }); } } - ~ClickEventFilterPrivate() {} + ~ClickEventFilterPrivate() override {} signals: void clickOnApplication(const QPoint& pos); protected: - bool eventFilter(QObject* obj, QEvent* event) + bool eventFilter(QObject* obj, QEvent* event) override { if (event->type() == QEvent::MouseButtonRelease && !m_dragging) { diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Components/Widgets/LineEdit.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Components/Widgets/LineEdit.cpp index 2c3dacda7a..c3fb6e88cd 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Components/Widgets/LineEdit.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Components/Widgets/LineEdit.cpp @@ -773,7 +773,7 @@ namespace AzQtComponents if (numButtons > 0) { // and finally add the right margins QLineEdit removes to make the buttons fit (it thinks) - const int iconSize = style->pixelMetric(QStyle::PM_SmallIconSize, 0, widget); + const int iconSize = style->pixelMetric(QStyle::PM_SmallIconSize, nullptr, widget); const int delta = iconSize / 4 + iconSize + 6; r.setRight(r.right() + delta * numButtons); } diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Components/Widgets/ScrollBar.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Components/Widgets/ScrollBar.cpp index ac281a0e1c..b8cd37a6f7 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Components/Widgets/ScrollBar.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Components/Widgets/ScrollBar.cpp @@ -191,7 +191,7 @@ namespace AzQtComponents }; QMap m_widgets; - void perScrollBar(QObject* scrollArea, void (QScrollBar::*callback)(void)) + void perScrollBar(QObject* scrollArea, void (QScrollBar::*callback)()) { auto iterator = m_widgets.find(scrollArea); if (iterator != m_widgets.end()) diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Components/Widgets/TabWidget.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Components/Widgets/TabWidget.cpp index 008560b59c..d52ae3685d 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Components/Widgets/TabWidget.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Components/Widgets/TabWidget.cpp @@ -632,7 +632,7 @@ namespace AzQtComponents return; } - ButtonPosition closeSide = (ButtonPosition)style()->styleHint(QStyle::SH_TabBar_CloseButtonPosition, 0, this); + ButtonPosition closeSide = (ButtonPosition)style()->styleHint(QStyle::SH_TabBar_CloseButtonPosition, nullptr, this); for (int i = 0; i < count(); i++) { QWidget* tabBtn = tabButton(i, closeSide); diff --git a/Code/Framework/AzQtComponents/AzQtComponents/PropertyEditorStandalone/main.cpp b/Code/Framework/AzQtComponents/AzQtComponents/PropertyEditorStandalone/main.cpp index ffca99f1d6..27d12438eb 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/PropertyEditorStandalone/main.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/PropertyEditorStandalone/main.cpp @@ -135,7 +135,7 @@ public: if (auto editContext = serializeContext->GetEditContext()) { editContext->Class("SimpleKeyContainer", "") - ->DataElement(0, &SimpleKeyedContainer::m_map, "map", "") + ->DataElement(nullptr, &SimpleKeyedContainer::m_map, "map", "") ->ElementAttribute(AZ::Edit::Attributes::ShowAsKeyValuePairs, true); } } diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Tests/AzQtComponentTests.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Tests/AzQtComponentTests.cpp index a717ad337e..3c911c8acc 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Tests/AzQtComponentTests.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Tests/AzQtComponentTests.cpp @@ -20,7 +20,7 @@ public: AzQtComponents::registerMetaTypes(); } - virtual ~AzQtComponentsTestEnvironment() {} + ~AzQtComponentsTestEnvironment() override {} protected: diff --git a/Code/Framework/AzTest/AzTest/Utils.cpp b/Code/Framework/AzTest/AzTest/Utils.cpp index 7c2c964504..d06024c72f 100644 --- a/Code/Framework/AzTest/AzTest/Utils.cpp +++ b/Code/Framework/AzTest/AzTest/Utils.cpp @@ -123,10 +123,10 @@ namespace AZ std::vector tokens; [[maybe_unused]] char* next_token = nullptr; char* tok = azstrtok(cmdLine, 0, " ", &next_token); - while (tok != NULL) + while (tok != nullptr) { tokens.push_back(tok); - tok = azstrtok(NULL, 0, " ", &next_token); + tok = azstrtok(nullptr, 0, " ", &next_token); } size = (int)tokens.size(); char** token_array = new char*[size]; diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Application/ToolsApplication.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Application/ToolsApplication.cpp index a3a79402ad..6de529e456 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Application/ToolsApplication.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Application/ToolsApplication.cpp @@ -139,7 +139,7 @@ namespace AzToolsFramework AZ_PROFILE_SCOPE(AzToolsFramework, "Internal::DeleteEntities:UndoCaptureAndPurgeEntities"); for (const auto& entityId : entityIds) { - AZ::Entity* entity = NULL; + AZ::Entity* entity = nullptr; EBUS_EVENT_RESULT(entity, AZ::ComponentApplicationBus, FindEntity, entityId); if (entity) @@ -1237,7 +1237,7 @@ namespace AzToolsFramework void ToolsApplication::RequestEditForFile(const char* assetPath, RequestEditResultCallback resultCallback) { - AZ_Error("RequestEdit", resultCallback != 0, "User result callback is required."); + AZ_Error("RequestEdit", resultCallback != nullptr, "User result callback is required."); AZ::IO::FileIOBase* fileIO = AZ::IO::FileIOBase::GetInstance(); if (fileIO && !fileIO->IsReadOnly(assetPath)) diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Asset/AssetUtils.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Asset/AssetUtils.cpp index 92c8d37540..6e55d9f97c 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Asset/AssetUtils.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Asset/AssetUtils.cpp @@ -97,7 +97,7 @@ namespace AzToolsFramework::AssetUtils struct EnabledPlatformsVisitor : AZ::SettingsRegistryInterface::Visitor { - void Visit(AZStd::string_view path, AZStd::string_view valueName, AZ::SettingsRegistryInterface::Type, AZStd::string_view value); + void Visit(AZStd::string_view path, AZStd::string_view valueName, AZ::SettingsRegistryInterface::Type, AZStd::string_view value) override; AZStd::vector m_enabledPlatforms; }; diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/AssetEditor/AssetEditorWidget.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/AssetEditor/AssetEditorWidget.cpp index e155189a99..77b9185e82 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/AssetEditor/AssetEditorWidget.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/AssetEditor/AssetEditorWidget.cpp @@ -721,7 +721,7 @@ namespace AzToolsFramework AZ::Data::AssetInfo assetInfo; AZ::Data::AssetCatalogRequestBus::BroadcastResult(assetInfo, &AZ::Data::AssetCatalogRequests::GetAssetInfoById, assetId); if (assetInfo.m_assetType == m_inMemoryAsset.GetType() - && strstr(m_expectedAddedAssetPath.c_str(), assetInfo.m_relativePath.c_str()) != 0) + && strstr(m_expectedAddedAssetPath.c_str(), assetInfo.m_relativePath.c_str()) != nullptr) { m_expectedAddedAssetPath.clear(); m_recentlyAddedAssetPath = assetInfo.m_relativePath; diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Commands/PreemptiveUndoCache.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Commands/PreemptiveUndoCache.cpp index d4c4fa1e65..d05a2dcc4b 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Commands/PreemptiveUndoCache.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Commands/PreemptiveUndoCache.cpp @@ -103,7 +103,7 @@ namespace AzToolsFramework newData.clear(); AZ::IO::ByteContainerStream ms(&newData); - AZ::SerializeContext* sc = NULL; + AZ::SerializeContext* sc = nullptr; EBUS_EVENT_RESULT(sc, AZ::ComponentApplicationBus, GetSerializeContext); AZ_Assert(sc, "Serialization context not found!"); diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Commands/SelectionCommand.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Commands/SelectionCommand.cpp index 33b2a14b89..6854663db7 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Commands/SelectionCommand.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Commands/SelectionCommand.cpp @@ -34,7 +34,7 @@ namespace AzToolsFramework void SelectionCommand::Post() { - UndoSystem::UndoStack* undoStack = NULL; + UndoSystem::UndoStack* undoStack = nullptr; EBUS_EVENT_RESULT(undoStack, AzToolsFramework::ToolsApplicationRequests::Bus, GetUndoStack); if (undoStack) diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabSystemComponent.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabSystemComponent.cpp index f3250e0bfd..2d3d1722ca 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabSystemComponent.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabSystemComponent.cpp @@ -462,7 +462,7 @@ namespace AzToolsFramework linkId, templateId, templateToDelete.GetFilePath().c_str()); } - result = m_templateToLinkIdsMap.erase(templateToLinkIterator) != 0; + result = m_templateToLinkIdsMap.erase(templateToLinkIterator) != nullptr; AZ_Assert(result, "Prefab - PrefabSystemComponent::RemoveTemplate - " "Failed to remove Template with Id '%llu' on file path '%s' " diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/SourceControl/PerforceComponent.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/SourceControl/PerforceComponent.cpp index 4ad409507e..3bd12b1ad3 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/SourceControl/PerforceComponent.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/SourceControl/PerforceComponent.cpp @@ -1315,7 +1315,7 @@ namespace AzToolsFramework void PerforceComponent::ThreadWorker() { m_ProcessThreadID = AZStd::this_thread::get_id(); - while (1) + while (true) { // block until signaled: m_WorkerSemaphore.acquire(); diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/ToolsComponents/ScriptEditorComponent.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/ToolsComponents/ScriptEditorComponent.cpp index da12a4bd7a..cc350c8107 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/ToolsComponents/ScriptEditorComponent.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/ToolsComponents/ScriptEditorComponent.cpp @@ -38,7 +38,7 @@ namespace AZ AttributeDynamicScriptValue(const DynamicSerializableField& value) : m_value(value) {} - virtual ~AttributeDynamicScriptValue() + ~AttributeDynamicScriptValue() override { m_value.DestroyData(); } @@ -1031,15 +1031,15 @@ namespace AzToolsFramework ->Attribute("EditButton", "") ->Attribute("EditDescription", "Open in Lua Editor") ->Attribute("EditCallback", &ScriptEditorComponent::LaunchLuaEditor) - ->DataElement(0, &ScriptEditorComponent::m_scriptComponent, "Script properties", "The script template") + ->DataElement(nullptr, &ScriptEditorComponent::m_scriptComponent, "Script properties", "The script template") ->SetDynamicEditDataProvider(&ScriptEditorComponent::GetScriptPropertyEditData) ->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly) ; ec->Class("Script Component", "Adding scripting functionality to the entity!") - ->DataElement(0, &AzFramework::ScriptComponent::m_properties, "Properties", "Lua script properties") + ->DataElement(nullptr, &AzFramework::ScriptComponent::m_properties, "Properties", "Lua script properties") ->Attribute(AZ::Edit::Attributes::AutoExpand, true) - ->DataElement(0, &AzFramework::ScriptComponent::m_script, "Asset", "") + ->DataElement(nullptr, &AzFramework::ScriptComponent::m_script, "Asset", "") ->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::Hide) ->Attribute(AZ::Edit::Attributes::SliceFlags, AZ::Edit::SliceFlags::NotPushable) // Only the editor-component's script asset needs to be slice-pushable. ; @@ -1048,9 +1048,9 @@ namespace AzToolsFramework ClassElement(AZ::Edit::ClassElements::EditorData, "ScriptPropertyGroup's class attributes.")-> Attribute(AZ::Edit::Attributes::NameLabelOverride, &AzFramework::ScriptPropertyGroup::m_name)-> Attribute(AZ::Edit::Attributes::AutoExpand, true)-> - DataElement(0, &AzFramework::ScriptPropertyGroup::m_properties, "m_properties", "Properties in this property group")-> + DataElement(nullptr, &AzFramework::ScriptPropertyGroup::m_properties, "m_properties", "Properties in this property group")-> Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly)-> - DataElement(0, &AzFramework::ScriptPropertyGroup::m_groups, "m_groups", "Subgroups in this property group")-> + DataElement(nullptr, &AzFramework::ScriptPropertyGroup::m_groups, "m_groups", "Subgroups in this property group")-> Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly); ec->Class("Script Property", "Base class for script properties")-> @@ -1060,50 +1060,50 @@ namespace AzToolsFramework ec->Class("Script Property (bool)", "A script boolean property")-> ClassElement(AZ::Edit::ClassElements::EditorData, "ScriptPropertyGroup's class attributes.")-> Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly)-> - DataElement(0, &AZ::ScriptPropertyBoolean::m_value, "m_value", "A boolean")-> + DataElement(nullptr, &AZ::ScriptPropertyBoolean::m_value, "m_value", "A boolean")-> Attribute(AZ::Edit::Attributes::NameLabelOverride, &AZ::ScriptProperty::m_name); ec->Class("Script Property (number)", "A script number property")-> ClassElement(AZ::Edit::ClassElements::EditorData, "ScriptPropertyGroup's class attributes.")-> Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly)-> - DataElement(0, &AZ::ScriptPropertyNumber::m_value, "m_value", "A number")-> + DataElement(nullptr, &AZ::ScriptPropertyNumber::m_value, "m_value", "A number")-> Attribute(AZ::Edit::Attributes::NameLabelOverride, &AZ::ScriptProperty::m_name); ec->Class("Script Property (string)", "A script string property")-> ClassElement(AZ::Edit::ClassElements::EditorData, "ScriptPropertyGroup's class attributes.")-> Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly)-> - DataElement(0, &AZ::ScriptPropertyString::m_value, "m_value", "A string")-> + DataElement(nullptr, &AZ::ScriptPropertyString::m_value, "m_value", "A string")-> Attribute(AZ::Edit::Attributes::NameLabelOverride, &AZ::ScriptProperty::m_name); ec->Class("Script Property (object)", "A script object property")-> ClassElement(AZ::Edit::ClassElements::EditorData, "ScriptPropertyGroup's class attributes.")-> Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly)-> - DataElement(0, &AZ::ScriptPropertyGenericClass::m_value, "m_value", "An object")-> + DataElement(nullptr, &AZ::ScriptPropertyGenericClass::m_value, "m_value", "An object")-> Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly); ec->Class("Script Property Array(bool)", "A script bool array property")-> ClassElement(AZ::Edit::ClassElements::EditorData, "ScriptPropertyBooleanArray's class attributes.")-> Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly)-> - DataElement(0, &AZ::ScriptPropertyBooleanArray::m_values, "m_value", "An object")-> + DataElement(nullptr, &AZ::ScriptPropertyBooleanArray::m_values, "m_value", "An object")-> Attribute(AZ::Edit::Attributes::NameLabelOverride, &AZ::ScriptProperty::m_name); ec->Class("Script Property Array(number)", "A script number array property")-> ClassElement(AZ::Edit::ClassElements::EditorData, "ScriptPropertyNumberArray's class attributes.")-> Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly)-> - DataElement(0, &AZ::ScriptPropertyNumberArray::m_values, "m_value", "An object")-> + DataElement(nullptr, &AZ::ScriptPropertyNumberArray::m_values, "m_value", "An object")-> Attribute(AZ::Edit::Attributes::NameLabelOverride, &AZ::ScriptProperty::m_name); ec->Class("Script Property Array(string)", "A script string array property")-> ClassElement(AZ::Edit::ClassElements::EditorData, "ScriptPropertyStringArray's class attributes.")-> Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly)-> - DataElement(0, &AZ::ScriptPropertyStringArray::m_values, "m_value", "An object")-> + DataElement(nullptr, &AZ::ScriptPropertyStringArray::m_values, "m_value", "An object")-> Attribute(AZ::Edit::Attributes::NameLabelOverride, &AZ::ScriptProperty::m_name); ec->Class("Script Property Array(object)", "A script object array property")-> ClassElement(AZ::Edit::ClassElements::EditorData, "ScriptPropertyGenericClassArray's class attributes.")-> Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly)-> Attribute(AZ::Edit::Attributes::DynamicElementType, &AZ::ScriptPropertyGenericClassArray::GetElementTypeUuid)-> - DataElement(0, &AZ::ScriptPropertyGenericClassArray::m_values, "m_value", "An object")-> + DataElement(nullptr, &AZ::ScriptPropertyGenericClassArray::m_values, "m_value", "An object")-> ElementAttribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly)-> Attribute(AZ::Edit::Attributes::NameLabelOverride, &AZ::ScriptProperty::m_name); diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/LegacyFramework/Core/EditorFrameworkAPI.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/LegacyFramework/Core/EditorFrameworkAPI.cpp index 2ed70d81b8..4dd352646c 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/LegacyFramework/Core/EditorFrameworkAPI.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/LegacyFramework/Core/EditorFrameworkAPI.cpp @@ -17,21 +17,21 @@ namespace LegacyFramework { const char* appName() { - const char* result = NULL; + const char* result = nullptr; EBUS_EVENT_RESULT(result, FrameworkApplicationMessages::Bus, GetApplicationName); return result; } const char* appModule() { - const char* result = NULL; + const char* result = nullptr; EBUS_EVENT_RESULT(result, FrameworkApplicationMessages::Bus, GetApplicationModule); return result; } const char* appDir() { - const char* result = NULL; + const char* result = nullptr; EBUS_EVENT_RESULT(result, FrameworkApplicationMessages::Bus, GetApplicationDirectory); return result; } @@ -74,7 +74,7 @@ namespace LegacyFramework // helper function which retrieves the serialize context and asserts if its not found. AZ::SerializeContext* GetSerializeContext() { - AZ::SerializeContext* serializeContext = NULL; + AZ::SerializeContext* serializeContext = nullptr; EBUS_EVENT_RESULT(serializeContext, AZ::ComponentApplicationBus, GetSerializeContext); AZ_Assert(serializeContext, "No serialize context"); return serializeContext; diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/LegacyFramework/Core/EditorFrameworkApplication.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/LegacyFramework/Core/EditorFrameworkApplication.cpp index 33562421e9..95ea5397e7 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/LegacyFramework/Core/EditorFrameworkApplication.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/LegacyFramework/Core/EditorFrameworkApplication.cpp @@ -237,7 +237,7 @@ namespace LegacyFramework { m_applicationEntity->Deactivate(); delete m_applicationEntity; - m_applicationEntity = NULL; + m_applicationEntity = nullptr; } AZ::SystemTickBus::ExecuteQueuedEvents(); @@ -249,7 +249,7 @@ namespace LegacyFramework #endif delete m_ptrCommandLineParser; - m_ptrCommandLineParser = NULL; + m_ptrCommandLineParser = nullptr; CoreMessageBus::Handler::BusDisconnect(); FrameworkApplicationMessages::Handler::BusDisconnect(); @@ -269,7 +269,7 @@ namespace LegacyFramework { m_applicationEntity->Deactivate(); delete m_applicationEntity; - m_applicationEntity = NULL; + m_applicationEntity = nullptr; } } diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/LegacyFramework/UIFramework.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/LegacyFramework/UIFramework.cpp index bc16b29830..98e06b77f3 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/LegacyFramework/UIFramework.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/LegacyFramework/UIFramework.cpp @@ -144,9 +144,9 @@ namespace AzToolsFramework qInstallMessageHandler(myMessageOutput); } - virtual ~AZQtApplication() + ~AZQtApplication() override { - qInstallMessageHandler(NULL); + qInstallMessageHandler(nullptr); } }; @@ -201,9 +201,9 @@ namespace AzToolsFramework // enable the built-in stylesheet by default: bool enableStyleSheet = true; - const AzFramework::CommandLine* comp = NULL; + const AzFramework::CommandLine* comp = nullptr; EBUS_EVENT_RESULT(comp, LegacyFramework::FrameworkApplicationMessages::Bus, GetCommandLineParser); - if (comp != NULL) + if (comp != nullptr) { if (comp->HasSwitch("nostyle")) { @@ -275,18 +275,18 @@ namespace AzToolsFramework // see still need to clean up: m_ptrTicker->cancel(); QApplication::processEvents(); - AZ::ComponentApplication* pApp = NULL; + AZ::ComponentApplication* pApp = nullptr; EBUS_EVENT_RESULT(pApp, AZ::ComponentApplicationBus, GetApplication); if (pApp) { pApp->Tick(); } azdestroy(m_ptrTicker); - m_ptrTicker = NULL; + m_ptrTicker = nullptr; } } - Framework::~Framework(void) + Framework::~Framework() { AZ::SystemTickBus::Handler::BusDisconnect(); @@ -299,7 +299,7 @@ namespace AzToolsFramework delete m_ActionChangeProject; m_ActionChangeProject = nullptr; - pApplication = NULL; + pApplication = nullptr; } // once we set the project, we can then tell all our other windows to restore our state. @@ -360,7 +360,7 @@ namespace AzToolsFramework } m_bTicking = true; // Tick the component app. - AZ::ComponentApplication* pApp = NULL; + AZ::ComponentApplication* pApp = nullptr; EBUS_EVENT_RESULT(pApp, AZ::ComponentApplicationBus, GetApplication); if (pApp) { @@ -491,7 +491,7 @@ namespace AzToolsFramework // we successfully got permission to quit! // pump the tickbus one last time! // QApplication::processEvents(); - AZ::ComponentApplication* pApp = NULL; + AZ::ComponentApplication* pApp = nullptr; EBUS_EVENT_RESULT(pApp, AZ::ComponentApplicationBus, GetApplication); if (pApp) { @@ -501,7 +501,7 @@ namespace AzToolsFramework m_ptrTicker->cancel(); azdestroy(m_ptrTicker); - m_ptrTicker = NULL; + m_ptrTicker = nullptr; QApplication::quit(); } diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/LegacyFramework/UIFrameworkPreferences.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/LegacyFramework/UIFrameworkPreferences.cpp index 6318bc3e6e..72bef700d7 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/LegacyFramework/UIFrameworkPreferences.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/LegacyFramework/UIFrameworkPreferences.cpp @@ -38,7 +38,7 @@ namespace AzToolsFramework else { delete m_View; - m_View = NULL; + m_View = nullptr; } } void Framework::PreferencesAccepted() @@ -59,11 +59,11 @@ namespace AzToolsFramework if (m_View) { delete m_View; - m_View = NULL; + m_View = nullptr; } if (m_Model) { - m_Model = NULL; + m_Model = nullptr; } } diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Logging/LogPanel_Panel.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Logging/LogPanel_Panel.cpp index 4fabdfad12..ef8bf42713 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Logging/LogPanel_Panel.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Logging/LogPanel_Panel.cpp @@ -61,7 +61,7 @@ namespace AzToolsFramework , m_impl(new BaseLogPanel::Impl) { m_impl->storageID = 0; - this->setLayout(aznew LogPanelLayout(NULL)); + this->setLayout(aznew LogPanelLayout(nullptr)); m_impl->pTabWidget = new AzQtComponents::TabWidget(this); m_impl->pTabWidget->setObjectName(QString::fromUtf8("tabWidget")); @@ -601,7 +601,7 @@ namespace AzToolsFramework { if (index >= (int)m_children.size()) { - return NULL; + return nullptr; } return m_children[index]; @@ -609,11 +609,11 @@ namespace AzToolsFramework QLayoutItem* LogPanelLayout::takeAt(int index) { - QLayoutItem* pItem = NULL; + QLayoutItem* pItem = nullptr; if (index >= (int)m_children.size()) { - return NULL; + return nullptr; } pItem = m_children[index]; @@ -860,7 +860,7 @@ namespace AzToolsFramework return richLabel; } - return NULL; + return nullptr; } bool LogPanelItemDelegate::editorEvent(QEvent* event, QAbstractItemModel* model, const QStyleOptionViewItem& option, const QModelIndex& index) diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Logging/StyledLogPanel.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Logging/StyledLogPanel.cpp index 1542a5f5ab..f550dbdc87 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Logging/StyledLogPanel.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Logging/StyledLogPanel.cpp @@ -322,7 +322,7 @@ namespace AzToolsFramework actionList.removeAll(m_actionSelectAll); } - QMenu::exec(actionList, QCursor::pos(), 0, this); + QMenu::exec(actionList, QCursor::pos(), nullptr, this); } void StyledLogTab::CopySelected() diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/InstanceDataHierarchy.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/InstanceDataHierarchy.cpp index fccabbf205..7fefb04872 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/InstanceDataHierarchy.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/InstanceDataHierarchy.cpp @@ -236,7 +236,7 @@ namespace AzToolsFramework AZ_Assert(container, "This node is NOT a container node!"); const AZ::SerializeContext::ClassElement* containerClassElement = container->GetElement(container->GetDefaultElementNameCrc()); - AZ_Assert(containerClassElement != NULL, "We should have a valid default element in the container, otherwise we don't know what elements to make!"); + AZ_Assert(containerClassElement != nullptr, "We should have a valid default element in the container, otherwise we don't know what elements to make!"); if (!containerClassElement) { return false; @@ -261,7 +261,7 @@ namespace AzToolsFramework AZ_Assert(newDataAddress, "Faliled to create new element for the continer!"); // cast to base type (if needed) void* basePtr = m_context->DownCast(newDataAddress, classData->m_typeId, containerClassElement->m_typeId, classData->m_azRtti, containerClassElement->m_azRtti); - AZ_Assert(basePtr != NULL, "Can't cast container element %s to %s, make sure classes are registered in the system and not generics!", classData->m_name, containerClassElement->m_name); + AZ_Assert(basePtr != nullptr, "Can't cast container element %s to %s, make sure classes are registered in the system and not generics!", classData->m_name, containerClassElement->m_name); *reinterpret_cast(dataAddress) = basePtr; // store the pointer in the class /// Store the element in the container container->StoreElement(GetInstance(i), dataAddress); @@ -608,7 +608,7 @@ namespace AzToolsFramework AZ_Assert(sc, "sc can't be NULL!"); AZ_Assert(m_rootInstances.size() > 0, "No root instances have been added to this hierarchy!"); - m_curParentNode = NULL; + m_curParentNode = nullptr; m_isMerging = false; m_instances.clear(); m_children.clear(); @@ -636,7 +636,7 @@ namespace AzToolsFramework for (size_t i = 1; i < m_rootInstances.size(); ++i) { - m_curParentNode = NULL; + m_curParentNode = nullptr; m_isMerging = true; m_matched = false; sc->EnumerateInstanceConst( @@ -956,7 +956,7 @@ namespace AzToolsFramework } } - InstanceDataNode* node = NULL; + InstanceDataNode* node = nullptr; // Extra steps need to be taken when we are merging if (m_isMerging) { diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/PropertyAssetCtrl.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/PropertyAssetCtrl.cpp index ee43eb7e2c..c07191fda2 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/PropertyAssetCtrl.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/PropertyAssetCtrl.cpp @@ -349,7 +349,7 @@ namespace AzToolsFramework if (pAssetType) { - (*pAssetType) = 0; + (*pAssetType) = nullptr; } if (!pData) @@ -529,7 +529,7 @@ namespace AzToolsFramework if (m_errorButton) { // If the button is already active, disconnect its pressed handler so we don't get multiple popups - disconnect(m_errorButton, &QPushButton::pressed, this, 0); + disconnect(m_errorButton, &QPushButton::pressed, this, nullptr); } else { diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/PropertyCRCCtrl.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/PropertyCRCCtrl.cpp index 6a1f1404a1..38a7f426db 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/PropertyCRCCtrl.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/PropertyCRCCtrl.cpp @@ -137,7 +137,7 @@ namespace AzToolsFramework Q_UNUSED(debugName) } - AZ::u32 U32CRCHandler::GetHandlerName(void) const + AZ::u32 U32CRCHandler::GetHandlerName() const { return AZ::Edit::UIHandlers::Crc; } diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/PropertyManagerComponent.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/PropertyManagerComponent.cpp index 678693ea32..2eabe64333 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/PropertyManagerComponent.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/PropertyManagerComponent.cpp @@ -225,7 +225,7 @@ namespace AzToolsFramework if (!pHandlerFound) { // does a base class have a handler? - AZ::SerializeContext* sc = NULL; + AZ::SerializeContext* sc = nullptr; EBUS_EVENT_RESULT(sc, AZ::ComponentApplicationBus, GetSerializeContext); AZStd::vector classes; diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/ReflectedPropertyEditor.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/ReflectedPropertyEditor.cpp index c87f0e03ba..0ad874d1f6 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/ReflectedPropertyEditor.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/ReflectedPropertyEditor.cpp @@ -254,9 +254,9 @@ namespace AzToolsFramework void QueueInvalidationIfSharedData(InternalReflectedPropertyEditorEvents* sender, PropertyModificationRefreshLevel level, const AZStd::set& sourceInstanceSet) override; // PropertyEditorGUIMessages::Bus::Handler - virtual void RequestWrite(QWidget* editorGUI) override; - virtual void AddElementsToParentContainer(QWidget* editorGUI, size_t numElements, const InstanceDataNode::FillDataClassCallback& fillDataCallback) override; - virtual void RequestRefresh(PropertyModificationRefreshLevel) override; + void RequestWrite(QWidget* editorGUI) override; + void AddElementsToParentContainer(QWidget* editorGUI, size_t numElements, const InstanceDataNode::FillDataClassCallback& fillDataCallback) override; + void RequestRefresh(PropertyModificationRefreshLevel) override; void RequestPropertyNotify(QWidget* editorGUI) override; void OnEditingFinished(QWidget* editorGUI) override; }; @@ -890,7 +890,7 @@ namespace AzToolsFramework { instance.Build(m_impl->m_context, AZ::SerializeContext::ENUM_ACCESS_FOR_READ, m_impl->m_dynamicEditDataProvider, m_impl->m_editorParent); m_impl->FilterNode(instance.GetRootNode(), filter); - m_impl->AddProperty(instance.GetRootNode(), NULL, 0); + m_impl->AddProperty(instance.GetRootNode(), nullptr, 0); } m_impl->UpdateExpansionState(); @@ -1077,7 +1077,7 @@ namespace AzToolsFramework PropertyRowWidget* ReflectedPropertyEditor::Impl::CreateOrPullFromPool() { - PropertyRowWidget* newWidget = NULL; + PropertyRowWidget* newWidget = nullptr; if (m_widgetPool.empty()) { newWidget = aznew PropertyRowWidget(m_containerWidget); @@ -1184,7 +1184,7 @@ namespace AzToolsFramework { // re-create the tab order, based on vertical position in the list. - QWidget* pLastWidget = NULL; + QWidget* pLastWidget = nullptr; for (AZStd::size_t pos = 0; pos < m_impl->m_widgetsInDisplayOrder.size(); ++pos) { diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/SearchWidget/SearchCriteriaWidget.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/SearchWidget/SearchCriteriaWidget.cpp index 849b8d1705..e5fd3351ae 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/SearchWidget/SearchCriteriaWidget.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/SearchWidget/SearchCriteriaWidget.cpp @@ -195,17 +195,17 @@ namespace AzToolsFramework , m_criteriaOperator(FilterOperatorType::Or) , m_suppressCriteriaChanged(false) { - m_mainLayout = new QVBoxLayout(NULL); + m_mainLayout = new QVBoxLayout(nullptr); m_mainLayout->setSizeConstraint(QLayout::SetMinimumSize); m_mainLayout->setContentsMargins(0, 0, 0, 0); - QHBoxLayout* secondaryLayout = new QHBoxLayout(NULL); + QHBoxLayout* secondaryLayout = new QHBoxLayout(nullptr); secondaryLayout->setSizeConstraint(QLayout::SetMinimumSize); secondaryLayout->setContentsMargins(0, 0, 0, 0); - m_filterLayout = new QHBoxLayout(NULL); + m_filterLayout = new QHBoxLayout(nullptr); m_tagLayout = new FlowLayout(nullptr); m_tagLayout->setAlignment(Qt::AlignLeft); - QHBoxLayout* filterTextLayout = new QHBoxLayout(NULL); + QHBoxLayout* filterTextLayout = new QHBoxLayout(nullptr); filterTextLayout->setSizeConstraint(QLayout::SetMinimumSize); filterTextLayout->setContentsMargins(0, 0, 0, 0); filterTextLayout->setSpacing(0); diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/UICore/QTreeViewStateSaver.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/UICore/QTreeViewStateSaver.cpp index 75c8c607c6..e71910f4fc 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/UICore/QTreeViewStateSaver.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/UICore/QTreeViewStateSaver.cpp @@ -41,7 +41,7 @@ namespace AzToolsFramework { } - virtual ~QTreeViewStateSaverData() + ~QTreeViewStateSaverData() override { } @@ -213,7 +213,7 @@ namespace AzToolsFramework } } - void ApplySnapshot(QTreeView* treeView) + void ApplySnapshot(QTreeView* treeView) override { Q_ASSERT(treeView && treeView->model()); diff --git a/Code/Framework/AzToolsFramework/Tests/AssetSeedManager.cpp b/Code/Framework/AzToolsFramework/Tests/AssetSeedManager.cpp index 4083608370..24488f3ed3 100644 --- a/Code/Framework/AzToolsFramework/Tests/AssetSeedManager.cpp +++ b/Code/Framework/AzToolsFramework/Tests/AssetSeedManager.cpp @@ -219,7 +219,7 @@ namespace UnitTest delete m_application; } - AZ::Data::AssetInfo GetAssetInfoById(const AZ::Data::AssetId& id) + AZ::Data::AssetInfo GetAssetInfoById(const AZ::Data::AssetId& id) override { auto foundIter = m_assetRegistry->m_assetIdToInfo.find(id); if (foundIter != m_assetRegistry->m_assetIdToInfo.end()) diff --git a/Code/Framework/AzToolsFramework/Tests/ComponentAddRemove.cpp b/Code/Framework/AzToolsFramework/Tests/ComponentAddRemove.cpp index e15f4f3cfd..e416efc5c6 100644 --- a/Code/Framework/AzToolsFramework/Tests/ComponentAddRemove.cpp +++ b/Code/Framework/AzToolsFramework/Tests/ComponentAddRemove.cpp @@ -1202,7 +1202,7 @@ namespace UnitTest AZ_COMPONENT(HiddenComponent, "{E4D2AD8B-3930-46FC-837A-8DDFCA0FB1AF}", AzToolsFramework::Components::EditorComponentBase); static Component* s_wasDeleted; - virtual ~HiddenComponent() + ~HiddenComponent() override { s_wasDeleted = this; } diff --git a/Code/Framework/AzToolsFramework/Tests/Entity/EditorEntitySearchComponentTests.cpp b/Code/Framework/AzToolsFramework/Tests/Entity/EditorEntitySearchComponentTests.cpp index db92085e98..2c757f8e9e 100644 --- a/Code/Framework/AzToolsFramework/Tests/Entity/EditorEntitySearchComponentTests.cpp +++ b/Code/Framework/AzToolsFramework/Tests/Entity/EditorEntitySearchComponentTests.cpp @@ -66,7 +66,7 @@ namespace AzToolsFramework { } - virtual ~EntitySearch_TestComponent1() override + ~EntitySearch_TestComponent1() override {} private: @@ -123,7 +123,7 @@ namespace AzToolsFramework { } - virtual ~EntitySearch_TestComponent2() override + ~EntitySearch_TestComponent2() override {} private: diff --git a/Code/Framework/AzToolsFramework/Tests/EntityIdQLabelTests.cpp b/Code/Framework/AzToolsFramework/Tests/EntityIdQLabelTests.cpp index b6b428cc11..486224c011 100644 --- a/Code/Framework/AzToolsFramework/Tests/EntityIdQLabelTests.cpp +++ b/Code/Framework/AzToolsFramework/Tests/EntityIdQLabelTests.cpp @@ -55,7 +55,7 @@ namespace UnitTest AzToolsFramework::EditorRequests::Bus::Handler::BusConnect(); } - ~EditorRequestHandlerTest() + ~EditorRequestHandlerTest() override { AzToolsFramework::EditorRequests::Bus::Handler::BusDisconnect(); } diff --git a/Code/Framework/AzToolsFramework/Tests/EntityInspectorTests.cpp b/Code/Framework/AzToolsFramework/Tests/EntityInspectorTests.cpp index 9af74c7996..0fbc7eba98 100644 --- a/Code/Framework/AzToolsFramework/Tests/EntityInspectorTests.cpp +++ b/Code/Framework/AzToolsFramework/Tests/EntityInspectorTests.cpp @@ -67,7 +67,7 @@ namespace UnitTest services.push_back(AZ_CRC("InspectorTestService1")); } - virtual ~Inspector_TestComponent1() override + ~Inspector_TestComponent1() override { } @@ -136,7 +136,7 @@ namespace UnitTest services.push_back(AZ_CRC("InspectorTestService2")); } - virtual ~Inspector_TestComponent2() override + ~Inspector_TestComponent2() override { } @@ -205,7 +205,7 @@ namespace UnitTest services.push_back(AZ_CRC("InspectorTestService3")); } - virtual ~Inspector_TestComponent3() override + ~Inspector_TestComponent3() override { } diff --git a/Code/Framework/AzToolsFramework/Tests/FileFunc.cpp b/Code/Framework/AzToolsFramework/Tests/FileFunc.cpp index c4299a6ff9..94b32f9e41 100644 --- a/Code/Framework/AzToolsFramework/Tests/FileFunc.cpp +++ b/Code/Framework/AzToolsFramework/Tests/FileFunc.cpp @@ -31,7 +31,7 @@ namespace UnitTest class FileFuncTest : public ScopedAllocatorSetupFixture { public: - void SetUp() + void SetUp() override { m_prevFileIO = AZ::IO::FileIOBase::GetInstance(); AZ::IO::FileIOBase::SetInstance(nullptr); diff --git a/Code/Framework/AzToolsFramework/Tests/InstanceDataHierarchy.cpp b/Code/Framework/AzToolsFramework/Tests/InstanceDataHierarchy.cpp index 806a3bbab2..4d144d0d1b 100644 --- a/Code/Framework/AzToolsFramework/Tests/InstanceDataHierarchy.cpp +++ b/Code/Framework/AzToolsFramework/Tests/InstanceDataHierarchy.cpp @@ -104,15 +104,15 @@ namespace UnitTest if (AZ::EditContext* edit = serializeContext->GetEditContext()) { edit->Class("Test Component", "A test component") - ->DataElement(0, &TestComponent::m_float, "Float Field", "A float field") - ->DataElement(0, &TestComponent::m_string, "String Field", "A string field") - ->DataElement(0, &TestComponent::m_normalContainer, "Normal Container", "A container") - ->DataElement(0, &TestComponent::m_pointerContainer, "Pointer Container", "A container") - ->DataElement(0, &TestComponent::m_subData, "Struct Field", "A sub data type") + ->DataElement(nullptr, &TestComponent::m_float, "Float Field", "A float field") + ->DataElement(nullptr, &TestComponent::m_string, "String Field", "A string field") + ->DataElement(nullptr, &TestComponent::m_normalContainer, "Normal Container", "A container") + ->DataElement(nullptr, &TestComponent::m_pointerContainer, "Pointer Container", "A container") + ->DataElement(nullptr, &TestComponent::m_subData, "Struct Field", "A sub data type") ; edit->Class("Test Component", "A test component") - ->DataElement(0, &SubData::m_int, "Int Field", "An int") + ->DataElement(nullptr, &SubData::m_int, "Int Field", "An int") ; } } @@ -156,7 +156,7 @@ namespace UnitTest { } - ~InstanceDataHierarchyBasicTest() + ~InstanceDataHierarchyBasicTest() override { } @@ -481,7 +481,7 @@ namespace UnitTest { } - ~InstanceDataHierarchyCopyContainerChangesTest() + ~InstanceDataHierarchyCopyContainerChangesTest() override { } @@ -680,8 +680,8 @@ namespace UnitTest ; edit->Class("Enum Container", "Test container that has an external enum") - ->DataElement(0, &EnumContainer::m_enum, "Enum Field", "An enum value") - ->DataElement(0, &EnumContainer::m_enumVector, "Enum Vector Field", "A vector of enum values") + ->DataElement(nullptr, &EnumContainer::m_enum, "Enum Field", "An enum value") + ->DataElement(nullptr, &EnumContainer::m_enumVector, "Enum Vector Field", "A vector of enum values") ; } } @@ -776,21 +776,21 @@ namespace UnitTest { edit->Class("Group Test Component", "Testing normal groups and toggle groups") ->ClassElement(AZ::Edit::ClassElements::EditorData, "") - ->DataElement(0, &GroupTestComponent::m_float, "Float Field", "A float field") + ->DataElement(nullptr, &GroupTestComponent::m_float, "Float Field", "A float field") ->ClassElement(AZ::Edit::ClassElements::Group, "Normal Group") - ->DataElement(0, &GroupTestComponent::m_groupFloat, "Float Field", "A float field") - ->DataElement(0, &GroupTestComponent::m_subGroupForNormal, "Struct Field", "A sub data type") + ->DataElement(nullptr, &GroupTestComponent::m_groupFloat, "Float Field", "A float field") + ->DataElement(nullptr, &GroupTestComponent::m_subGroupForNormal, "Struct Field", "A sub data type") ->GroupElementToggle("Group Toggle", &GroupTestComponent::m_groupToggle) - ->DataElement(0, &GroupTestComponent::m_toggleGroupInt, "Normal Integer", "An Integer") - ->DataElement(0, &GroupTestComponent::m_subGroupForToggle, "Struct Field", "A sub data type") + ->DataElement(nullptr, &GroupTestComponent::m_toggleGroupInt, "Normal Integer", "An Integer") + ->DataElement(nullptr, &GroupTestComponent::m_subGroupForToggle, "Struct Field", "A sub data type") ; edit->Class("SubGroup Test Component", "Testing nested normal groups and toggle groups") ->ClassElement(AZ::Edit::ClassElements::EditorData, "") ->ClassElement(AZ::Edit::ClassElements::Group, "Normal SubGroup") - ->DataElement(0, &SubData::m_int, "SubGroup Int Field", "An int") + ->DataElement(nullptr, &SubData::m_int, "SubGroup Int Field", "An int") ->GroupElementToggle("SubGroup Toggle", &SubData::m_bool) - ->DataElement(0, &SubData::m_float, "SubGroup Float Field", "An int") + ->DataElement(nullptr, &SubData::m_float, "SubGroup Float Field", "An int") ; } } @@ -974,7 +974,7 @@ namespace UnitTest { } - void InsertAndVerifyKeys(AZ::SerializeContext::IDataContainer* container, void* key, void* instance, const AZ::SerializeContext::ClassElement* classElement) const + void InsertAndVerifyKeys(AZ::SerializeContext::IDataContainer* container, void* key, void* instance, const AZ::SerializeContext::ClassElement* classElement) const override { T* keyContainer = reinterpret_cast(key); for (const T& keyToInsert : keysToInsert) @@ -1258,7 +1258,7 @@ namespace UnitTest { editContext->Class("Test", "") ->UIElement("TestHandler", "UIElement") - ->DataElement(0, &UIElementContainer::m_data) + ->DataElement(nullptr, &UIElementContainer::m_data) ->UIElement(AZ_CRC("TestHandler2"), "UIElement2") ; } @@ -1322,8 +1322,8 @@ namespace UnitTest { // By default, DataElements accept multi-edit and UIElements do not editContext->Class("Test", "") - ->DataElement(0, &AggregatedContainer::m_aggregated) - ->DataElement(0, &AggregatedContainer::m_notAggregated) + ->DataElement(nullptr, &AggregatedContainer::m_aggregated) + ->DataElement(nullptr, &AggregatedContainer::m_notAggregated) ->Attribute(AZ::Edit::Attributes::AcceptsMultiEdit, false) ->UIElement("TestHandler", "aggregatedUIElement") ->Attribute(AZ::Edit::Attributes::AcceptsMultiEdit, true) diff --git a/Code/Framework/AzToolsFramework/Tests/PropertyTreeEditorTests.cpp b/Code/Framework/AzToolsFramework/Tests/PropertyTreeEditorTests.cpp index 1c1e063592..91e53f1650 100644 --- a/Code/Framework/AzToolsFramework/Tests/PropertyTreeEditorTests.cpp +++ b/Code/Framework/AzToolsFramework/Tests/PropertyTreeEditorTests.cpp @@ -73,7 +73,7 @@ namespace UnitTest if (AZ::EditContext* editContext = serializeContext->GetEditContext()) { editContext->Class("TestSimpleAsset", "Test data block for a simple asset mock data block") - ->DataElement(0, &TestSimpleAsset::m_data, "My Data", "A test bool value.") + ->DataElement(nullptr, &TestSimpleAsset::m_data, "My Data", "A test bool value.") ; } } @@ -171,7 +171,7 @@ namespace UnitTest ->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::HideChildren) ->DataElement(AZ::Edit::UIHandlers::Default, &PropertyTreeEditorTester::m_myReadOnlyShort, "My Read Only", "A test read only node.") ->Attribute(AZ::Edit::Attributes::ReadOnly, true) - ->DataElement(0, &PropertyTreeEditorTester::m_mySubBlock, "My Sub Block", "sub block test") + ->DataElement(nullptr, &PropertyTreeEditorTester::m_mySubBlock, "My Sub Block", "sub block test") ->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly) ->Attribute(AZ::Edit::Attributes::AutoExpand, true) ->ClassElement(AZ::Edit::ClassElements::Group, "Grouped") diff --git a/Code/Framework/AzToolsFramework/Tests/SQLiteConnectionTests.cpp b/Code/Framework/AzToolsFramework/Tests/SQLiteConnectionTests.cpp index b2fa44c271..8e273992ac 100644 --- a/Code/Framework/AzToolsFramework/Tests/SQLiteConnectionTests.cpp +++ b/Code/Framework/AzToolsFramework/Tests/SQLiteConnectionTests.cpp @@ -31,7 +31,7 @@ namespace UnitTest { } - ~SQLiteTest() = default; + ~SQLiteTest() override = default; void SetUp() override { diff --git a/Code/Framework/AzToolsFramework/Tests/Script/ScriptEntityTests.cpp b/Code/Framework/AzToolsFramework/Tests/Script/ScriptEntityTests.cpp index 2aa180cfc0..cdb8fea513 100644 --- a/Code/Framework/AzToolsFramework/Tests/Script/ScriptEntityTests.cpp +++ b/Code/Framework/AzToolsFramework/Tests/Script/ScriptEntityTests.cpp @@ -28,7 +28,7 @@ namespace UnitTest ScriptContext* m_scriptContext; - ~EntityScriptTest() + ~EntityScriptTest() override { } diff --git a/Code/Framework/AzToolsFramework/Tests/Slice.cpp b/Code/Framework/AzToolsFramework/Tests/Slice.cpp index 1723fbed8b..58865df345 100644 --- a/Code/Framework/AzToolsFramework/Tests/Slice.cpp +++ b/Code/Framework/AzToolsFramework/Tests/Slice.cpp @@ -457,7 +457,7 @@ namespace UnitTest { AZ::Debug::TraceMessageBus::Handler::BusConnect(); } - ~SliceTestWarningInterceptor() + ~SliceTestWarningInterceptor() override { AZ::Debug::TraceMessageBus::Handler::BusDisconnect(); } diff --git a/Code/Framework/AzToolsFramework/Tests/UndoStack.cpp b/Code/Framework/AzToolsFramework/Tests/UndoStack.cpp index f9b84c6130..ca32097341 100644 --- a/Code/Framework/AzToolsFramework/Tests/UndoStack.cpp +++ b/Code/Framework/AzToolsFramework/Tests/UndoStack.cpp @@ -413,7 +413,7 @@ namespace UnitTest *m_completedFlag = false; } - ~UndoDestructorTest() + ~UndoDestructorTest() override { *m_completedFlag = true; } diff --git a/Code/Framework/AzToolsFramework/Tests/Viewport/ViewportUiDisplayTests.cpp b/Code/Framework/AzToolsFramework/Tests/Viewport/ViewportUiDisplayTests.cpp index e1896af4db..ddfcde34b2 100644 --- a/Code/Framework/AzToolsFramework/Tests/Viewport/ViewportUiDisplayTests.cpp +++ b/Code/Framework/AzToolsFramework/Tests/Viewport/ViewportUiDisplayTests.cpp @@ -28,7 +28,7 @@ namespace UnitTest public: ViewportUiDisplayTestFixture() = default; - void SetUp() + void SetUp() override { m_buttonGroup = AZStd::make_shared(); m_buttonGroup->AddButton(""); @@ -36,7 +36,7 @@ namespace UnitTest m_mockRenderOverlay = new QWidget(); } - void TearDown() + void TearDown() override { m_buttonGroup.reset(); delete m_parentWidget; diff --git a/Code/Framework/AzToolsFramework/Tests/Viewport/ViewportUiManagerTests.cpp b/Code/Framework/AzToolsFramework/Tests/Viewport/ViewportUiManagerTests.cpp index 91100b18c5..676b9c5e35 100644 --- a/Code/Framework/AzToolsFramework/Tests/Viewport/ViewportUiManagerTests.cpp +++ b/Code/Framework/AzToolsFramework/Tests/Viewport/ViewportUiManagerTests.cpp @@ -26,7 +26,7 @@ namespace UnitTest { public: ViewportUiManagerTestable() = default; - ~ViewportUiManagerTestable() = default; + ~ViewportUiManagerTestable() override = default; const AZStd::unordered_map>& GetClusterMap() { @@ -84,12 +84,12 @@ namespace UnitTest ViewportManagerWrapper m_viewportManagerWrapper; - void SetUp() + void SetUp() override { m_viewportManagerWrapper.Create(); } - void TearDown() + void TearDown() override { m_viewportManagerWrapper.Destroy(); } diff --git a/Code/Framework/GridMate/GridMate/Carrier/Carrier.cpp b/Code/Framework/GridMate/GridMate/Carrier/Carrier.cpp index 8b484143de..095f392501 100644 --- a/Code/Framework/GridMate/GridMate/Carrier/Carrier.cpp +++ b/Code/Framework/GridMate/GridMate/Carrier/Carrier.cpp @@ -591,13 +591,13 @@ namespace GridMate ThreadMessage(MainThreadMsg mtm) : m_code(mtm) - , m_connection(NULL) - , m_threadConnection(NULL) + , m_connection(nullptr) + , m_threadConnection(nullptr) {} ThreadMessage(CarrierThreadMsg ctm) : m_code(ctm) - , m_connection(NULL) - , m_threadConnection(NULL) + , m_connection(nullptr) + , m_threadConnection(nullptr) {} int m_code; @@ -787,7 +787,7 @@ namespace GridMate AZ_FORCE_INLINE ThreadMessage* PopCarrierThreadMessage() { AZStd::lock_guard l(m_carrierMsgQueueLock); - ThreadMessage* res = NULL; + ThreadMessage* res = nullptr; if (!m_carrierMsgQueue.empty()) { res = m_carrierMsgQueue.front(); @@ -799,7 +799,7 @@ namespace GridMate AZ_FORCE_INLINE ThreadMessage* PopMainThreadMessage() { AZStd::lock_guard l(m_mainMsgQueueLock); - ThreadMessage* res = NULL; + ThreadMessage* res = nullptr; if (!m_mainMsgQueue.empty()) { res = m_mainMsgQueue.front(); @@ -1120,7 +1120,7 @@ using namespace GridMate; ////////////////////////////////////////////////////////////////////////// Connection::Connection(CarrierThread* threadOwner, const AZStd::string& address) : m_threadOwner(threadOwner) - , m_threadConn(NULL) + , m_threadConn(nullptr) , m_fullAddress(address) , m_state(Carrier::CST_CONNECTING) { @@ -1139,7 +1139,7 @@ Connection::Connection(CarrierThread* threadOwner, const AZStd::string& address) Connection::~Connection() { - AZ_Error("GridMate", m_threadConn.load(AZStd::memory_order_acquire) == NULL, "We must detach the thread connection first!"); + AZ_Error("GridMate", m_threadConn.load(AZStd::memory_order_acquire) == nullptr, "We must detach the thread connection first!"); // Make sure render thread doesn't reference is at this point... it's too late for (unsigned int i = 0; i < AZ_ARRAY_SIZE(m_toSend); ++i) { @@ -1172,7 +1172,7 @@ Connection::~Connection() ThreadConnection::ThreadConnection(CarrierThread* threadOwner) : m_threadOwner(threadOwner) - , m_mainConnection(NULL) + , m_mainConnection(nullptr) , m_dataGramSeqNum(1) // IMPORTANT to start with 1 if we have not received any datagrams we will confirm a datagram with value of 0. , m_lastAckedDatagram(0) , m_lastReceivedDatagramTime(AZStd::chrono::system_clock::now()) @@ -1196,7 +1196,7 @@ ThreadConnection::ThreadConnection(CarrierThread* threadOwner) ThreadConnection::~ThreadConnection() { - AZ_Error("GridMate", m_mainConnection == NULL || m_mainConnection->m_threadConn.load() == NULL, "We should have unbound the thread connection by now!"); + AZ_Error("GridMate", m_mainConnection == nullptr || m_mainConnection->m_threadConn.load() == nullptr, "We should have unbound the thread connection by now!"); for (unsigned char iChannel = 0; iChannel < k_maxNumberOfChannels; ++iChannel) { @@ -1215,8 +1215,8 @@ ThreadConnection::~ThreadConnection() m_threadOwner->FreeDatagram(dgram); } - m_target->m_threadConnection = NULL; - m_target = NULL; + m_target->m_threadConnection = nullptr; + m_target = nullptr; m_threadOwner->RemoveConnectionToSend(this); AZ_Error("GridMate", !IsLinked(), "Connection still linked!"); @@ -1245,7 +1245,7 @@ CarrierThread::CarrierThread(const CarrierDesc& desc, AZStd::shared_ptrGetMaxSendSize(), @@ -1667,7 +1667,7 @@ CarrierThread::UpdateReceive() ReadBuffer readBuffer(kCarrierEndian, data, recvDataGramSize); ThreadConnection* conn = nullptr; - if (fromAddress->m_threadConnection != NULL) + if (fromAddress->m_threadConnection != nullptr) { conn = fromAddress->m_threadConnection; receivedConnections.insert(conn); @@ -2214,7 +2214,7 @@ CarrierThread::UpdateStats() for (ThreadConnectionList::iterator iConn = m_threadConnections.begin(); iConn != m_threadConnections.end(); ++iConn) { ThreadConnection* conn = *iConn; - if (conn->m_mainConnection == NULL) + if (conn->m_mainConnection == nullptr) { continue; } @@ -2267,40 +2267,40 @@ CarrierThread::ThreadPump() // Process messages for us { ThreadMessage* msg; - while ((msg = PopCarrierThreadMessage()) != NULL) + while ((msg = PopCarrierThreadMessage()) != nullptr) { switch (msg->m_code) { case CTM_CONNECT: { - AZ_Assert(msg->m_connection != NULL, "You must provide a valid connection pointer!"); + AZ_Assert(msg->m_connection != nullptr, "You must provide a valid connection pointer!"); // if this connect was initiated from a remote machine msg->threadConnection will be != NULL ThreadConnection* conn = msg->m_threadConnection; if (!conn) { // The main thread is initiating this connection AZStd::intrusive_ptr driverAddress = m_driver->CreateDriverAddress(msg->m_connection->m_fullAddress); - if (driverAddress->m_threadConnection != NULL) + if (driverAddress->m_threadConnection != nullptr) { AZ_TracePrintf("GridMate", "Thread connection to %s already exists!\n", driverAddress->ToString().c_str()); // we already have such thread connection conn = driverAddress->m_threadConnection; // make sure the existing connection is not bound - AZ_Assert(conn->m_mainConnection == NULL, "This thread connection should be unbound!"); + AZ_Assert(conn->m_mainConnection == nullptr, "This thread connection should be unbound!"); } else { conn = MakeNewConnection(driverAddress); } } - AZ_Assert(conn->m_mainConnection == NULL || conn->m_mainConnection == msg->m_connection, "This thread connection should be unbound or bound to the imcomming main connection!"); + AZ_Assert(conn->m_mainConnection == nullptr || conn->m_mainConnection == msg->m_connection, "This thread connection should be unbound or bound to the imcomming main connection!"); conn->m_mainConnection = msg->m_connection; - AZ_Assert(conn->m_mainConnection->m_threadConn.load() == NULL || conn->m_mainConnection->m_threadConn.load() == conn, "This main connection should be unbound or bound to us!"); + AZ_Assert(conn->m_mainConnection->m_threadConn.load() == nullptr || conn->m_mainConnection->m_threadConn.load() == conn, "This main connection should be unbound or bound to us!"); conn->m_mainConnection->m_threadConn = conn; } break; case CTM_DISCONNECT: { - AZ_Assert(msg->m_connection != NULL, "You must provide a valid connection pointer!"); + AZ_Assert(msg->m_connection != nullptr, "You must provide a valid connection pointer!"); ThreadConnection* tc = msg->m_connection->m_threadConn; if (tc && !tc->m_isDisconnecting) { @@ -2312,7 +2312,7 @@ CarrierThread::ThreadPump() } break; case CTM_DELETE_CONNECTION: { - ThreadConnection* tc = NULL; + ThreadConnection* tc = nullptr; tc = msg->m_threadConnection; if (tc) { @@ -2339,7 +2339,7 @@ CarrierThread::ThreadPump() ThreadMessage* mtm = aznew ThreadMessage(MTM_DELETE_CONNECTION); mtm->m_connection = msg->m_connection; RemoveConnectionToSend(mtm->m_threadConnection); - mtm->m_threadConnection = NULL; + mtm->m_threadConnection = nullptr; mtm->m_disconnectReason = msg->m_disconnectReason; PushMainThreadMessage(mtm); } @@ -2413,10 +2413,10 @@ CarrierThread::ThreadPump() if (tc->m_mainConnection) { RemoveConnectionToSend(tc); - tc->m_mainConnection->m_threadConn = NULL; + tc->m_mainConnection->m_threadConn = nullptr; ThreadMessage* mtm = aznew ThreadMessage(MTM_DELETE_CONNECTION); mtm->m_connection = tc->m_mainConnection; - mtm->m_threadConnection = NULL; + mtm->m_threadConnection = nullptr; mtm->m_disconnectReason = CarrierDisconnectReason::DISCONNECT_SHUTTING_DOWN; PushMainThreadMessage(mtm); } @@ -2582,7 +2582,7 @@ void CarrierThread::WriteAckData(ThreadConnection* connection, WriteBuffer& writ // Generate ACK bits SequenceNumber lastToAck; // last received datagram SequenceNumber firstToAck; // first received datagram (still in the list) - unsigned char* ackHistoryBits = NULL; + unsigned char* ackHistoryBits = nullptr; unsigned char ackNumHistoryBytes = 0; unsigned char ackHistoryBitsStorage[DataGramHistoryList::m_datagramHistoryMaxNumberOfBytes]; @@ -2736,7 +2736,7 @@ CarrierThread::ReadAckData(ThreadConnection* connection, ReadBuffer& readBuffer) return; } - if (connection != NULL && isAckData) + if (connection != nullptr && isAckData) { if (firstToAck != lastToAck) { @@ -3707,12 +3707,12 @@ CarrierImpl::~CarrierImpl() } delete m_thread; - m_thread = NULL; + m_thread = nullptr; if (m_ownHandshake) { delete m_handshake; - m_handshake = NULL; + m_handshake = nullptr; } } @@ -4235,13 +4235,13 @@ CarrierImpl::ProcessMainThreadMessages() // Process messages from the carrier thread { ThreadMessage* msg; - while ((msg = m_thread->PopMainThreadMessage()) != NULL) + while ((msg = m_thread->PopMainThreadMessage()) != nullptr) { switch (msg->m_code) { case MTM_NEW_CONNECTION: { - Connection* conn = NULL; + Connection* conn = nullptr; // check if we don't have it in the list. for(auto& c : m_connections) { @@ -4255,8 +4255,8 @@ CarrierImpl::ProcessMainThreadMessages() { // we already have such connection ThreadConnection* threadConn = conn->m_threadConn.load(AZStd::memory_order_acquire); - AZ_Assert(threadConn == NULL || threadConn == msg->m_threadConnection, "This main connection 0x%08x (%s) already have bound thread connection 0x%08x->0x%08x!", conn, conn->m_fullAddress.c_str(), threadConn, threadConn->m_mainConnection); - if (threadConn == NULL) + AZ_Assert(threadConn == nullptr || threadConn == msg->m_threadConnection, "This main connection 0x%08x (%s) already have bound thread connection 0x%08x->0x%08x!", conn, conn->m_fullAddress.c_str(), threadConn, threadConn->m_mainConnection); + if (threadConn == nullptr) { // request a bind we have not already ThreadMessage* ctm = aznew ThreadMessage(CTM_CONNECT); @@ -4283,23 +4283,23 @@ CarrierImpl::ProcessMainThreadMessages() // we will not even make a connection ThreadMessage* ctm = aznew ThreadMessage(CTM_DELETE_CONNECTION); ctm->m_threadConnection = msg->m_threadConnection; - ctm->m_connection = NULL; + ctm->m_connection = nullptr; ctm->m_disconnectReason = CarrierDisconnectReason::DISCONNECT_HANDSHAKE_REJECTED; m_thread->PushCarrierThreadMessage(ctm); } } break; case MTM_DISCONNECT: { - AZ_Assert(msg->m_connection != NULL, "You must provide a valid connection pointer!"); + AZ_Assert(msg->m_connection != nullptr, "You must provide a valid connection pointer!"); DisconnectRequest(msg->m_connection, msg->m_disconnectReason); } break; case MTM_DISCONNECT_TIMEOUT: { - AZ_Assert(msg->m_connection != NULL, "You must provide a valid connection pointer!"); + AZ_Assert(msg->m_connection != nullptr, "You must provide a valid connection pointer!"); if (msg->m_connection->m_state == Carrier::CST_DISCONNECTING) { // unbind from the thread connection and inform carrier thread to delete it. - ThreadConnection* threadConn = msg->m_connection->m_threadConn.exchange(NULL); + ThreadConnection* threadConn = msg->m_connection->m_threadConn.exchange(nullptr); msg->m_connection->m_state = Carrier::CST_DISCONNECTED; ThreadMessage* ctm = aznew ThreadMessage(CTM_DELETE_CONNECTION); ctm->m_connection = msg->m_connection; @@ -4311,7 +4311,7 @@ CarrierImpl::ProcessMainThreadMessages() } break; case MTM_DELETE_CONNECTION: { - AZ_Assert(msg->m_connection != NULL, "You must provide a valid connection pointer!"); + AZ_Assert(msg->m_connection != nullptr, "You must provide a valid connection pointer!"); DeleteConnection(msg->m_connection, msg->m_disconnectReason); } break; case MTM_ON_ERROR: @@ -4534,7 +4534,7 @@ CarrierImpl::ProcessSystemMessages() // Delete connection conn->m_state = Carrier::CST_DISCONNECTED; // unbind from the thread connection and inform carrier thread to delete it. - ThreadConnection* threadConn = conn->m_threadConn.exchange(NULL); + ThreadConnection* threadConn = conn->m_threadConn.exchange(nullptr); ThreadMessage* ctm = aznew ThreadMessage(CTM_DELETE_CONNECTION); ctm->m_connection = conn; ctm->m_threadConnection = threadConn; @@ -4829,7 +4829,7 @@ CarrierImpl::GetTime() void CarrierImpl::DebugDeleteConnection(ConnectionID id) { - if (id == InvalidConnectionID && m_thread != NULL) + if (id == InvalidConnectionID && m_thread != nullptr) { return; } @@ -4844,7 +4844,7 @@ CarrierImpl::DebugDeleteConnection(ConnectionID id) // Delete connection conn->m_state = Carrier::CST_DISCONNECTED; // unbind from the thread connection and inform carrier thread to delete it. - ThreadConnection* threadConn = conn->m_threadConn.exchange(NULL); + ThreadConnection* threadConn = conn->m_threadConn.exchange(nullptr); ThreadMessage* ctm = aznew ThreadMessage(CTM_DELETE_CONNECTION); ctm->m_connection = conn; ctm->m_threadConnection = threadConn; @@ -4914,7 +4914,7 @@ DefaultCarrier::Create(const CarrierDesc& desc, IGridMate* gridMate) AZStd::string CarrierEventsBase::ReasonToString(CarrierDisconnectReason reason) { - const char* reasonStr = 0; + const char* reasonStr = nullptr; switch (reason) { case CarrierDisconnectReason::DISCONNECT_USER_REQUESTED: diff --git a/Code/Framework/GridMate/GridMate/Carrier/DefaultTrafficControl.cpp b/Code/Framework/GridMate/GridMate/Carrier/DefaultTrafficControl.cpp index f9280d9918..8743e50e83 100644 --- a/Code/Framework/GridMate/GridMate/Carrier/DefaultTrafficControl.cpp +++ b/Code/Framework/GridMate/GridMate/Carrier/DefaultTrafficControl.cpp @@ -58,8 +58,8 @@ DefaultTrafficControl::~DefaultTrafficControl() void DefaultTrafficControl::OnConnect(TrafficControlConnectionId id, const AZStd::intrusive_ptr& address) { - AZ_Assert(id->m_trafficData == NULL, "We have already assigned traffic data to this connection!"); - if (id->m_trafficData != NULL) + AZ_Assert(id->m_trafficData == nullptr, "We have already assigned traffic data to this connection!"); + if (id->m_trafficData != nullptr) { return; } @@ -100,7 +100,7 @@ void DefaultTrafficControl::OnDisconnect(TrafficControlConnectionId id) { ConnectionData* cd = reinterpret_cast(id->m_trafficData); - id->m_trafficData = NULL; + id->m_trafficData = nullptr; bool isFound = false; for (ConnectionListType::iterator i = m_connections.begin(); i != m_connections.end(); ++i) { diff --git a/Code/Framework/GridMate/GridMate/Carrier/SocketDriver.cpp b/Code/Framework/GridMate/GridMate/Carrier/SocketDriver.cpp index 08c5408848..91fc1ca69b 100644 --- a/Code/Framework/GridMate/GridMate/Carrier/SocketDriver.cpp +++ b/Code/Framework/GridMate/GridMate/Carrier/SocketDriver.cpp @@ -1081,7 +1081,7 @@ namespace GridMate }; sockaddr* sockAddr = reinterpret_cast(&sockAddrIn6); socklen_t sockAddrLen = sizeof(sockAddrIn6); - from = NULL; + from = nullptr; unsigned int recvd = m_platformDriver->Receive(data, maxDataSize, sockAddr, sockAddrLen, resultCode); @@ -1207,7 +1207,7 @@ namespace GridMate unsigned int port; if (!AddressToIPPort(address, ip, port)) { - return NULL; + return nullptr; } SocketDriverAddress drvAddr(this, ip, port); @@ -1313,7 +1313,7 @@ namespace GridMate fd_set fdwrite; FD_ZERO(&fdwrite); FD_SET(m_socket, &fdwrite); - select(FD_SETSIZE, 0, &fdwrite, 0, 0); + select(FD_SETSIZE, nullptr, &fdwrite, nullptr, nullptr); continue; } @@ -1376,7 +1376,7 @@ namespace GridMate FD_SET(m_socket, &fdread); timeval t = Platform::GetTimeValue(timeOut); - int result = select(FD_SETSIZE, &fdread, 0, 0, &t); + int result = select(FD_SETSIZE, &fdread, nullptr, nullptr, &t); if (result > 0) { m_parent.m_isStoppedWaitForData = true; diff --git a/Code/Framework/GridMate/GridMate/Carrier/StreamSecureSocketDriver.cpp b/Code/Framework/GridMate/GridMate/Carrier/StreamSecureSocketDriver.cpp index 759a2b5e47..647b34e1b9 100644 --- a/Code/Framework/GridMate/GridMate/Carrier/StreamSecureSocketDriver.cpp +++ b/Code/Framework/GridMate/GridMate/Carrier/StreamSecureSocketDriver.cpp @@ -343,7 +343,7 @@ namespace GridMate break; } } - while (0); + while (false); // did everything successfully create and/or allocate? if (m_ssl && m_bioIn && m_bioOut && m_scratch) diff --git a/Code/Framework/GridMate/GridMate/GridMate.cpp b/Code/Framework/GridMate/GridMate/GridMate.cpp index 356f7ad16b..22b4fd7af6 100644 --- a/Code/Framework/GridMate/GridMate/GridMate.cpp +++ b/Code/Framework/GridMate/GridMate/GridMate.cpp @@ -36,7 +36,7 @@ namespace GridMate AZ_CLASS_ALLOCATOR(GridMateImpl, GridMateAllocator, 0); GridMateImpl(const GridMateDesc& desc); - virtual ~GridMateImpl(); + ~GridMateImpl() override; void Update() override; diff --git a/Code/Framework/GridMate/GridMate/Replica/Replica.cpp b/Code/Framework/GridMate/GridMate/Replica/Replica.cpp index c1de3b71f2..a05b92a7a0 100644 --- a/Code/Framework/GridMate/GridMate/Replica/Replica.cpp +++ b/Code/Framework/GridMate/GridMate/Replica/Replica.cpp @@ -777,7 +777,7 @@ namespace GridMate CtorContextBase::s_pCur->m_members.push_back(this); } //----------------------------------------------------------------------------- - CtorContextBase* CtorContextBase::s_pCur = NULL; + CtorContextBase* CtorContextBase::s_pCur = nullptr; //----------------------------------------------------------------------------- CtorContextBase::CtorContextBase() { diff --git a/Code/Framework/GridMate/GridMate/Replica/ReplicaMgr.cpp b/Code/Framework/GridMate/GridMate/Replica/ReplicaMgr.cpp index 2582710aa7..7a56393bd5 100644 --- a/Code/Framework/GridMate/GridMate/Replica/ReplicaMgr.cpp +++ b/Code/Framework/GridMate/GridMate/Replica/ReplicaMgr.cpp @@ -460,7 +460,7 @@ namespace GridMate { return iter->second; } - return NULL; + return nullptr; } //----------------------------------------------------------------------------- RepIdSeed ReplicaManager::ReserveIdBlock(PeerId requestor) @@ -995,7 +995,7 @@ namespace GridMate AZ_Assert(iObj->second, "Detected NULL replica pointer in replica map! (id=0x%x)", replicaId); return iObj->second; } - return ReplicaPtr(NULL); + return ReplicaPtr(nullptr); } //----------------------------------------------------------------------------- void ReplicaManager::_Unmarshal(ReadBuffer& rb, ReplicaPeer* pFrom) diff --git a/Code/Framework/GridMate/GridMate/Session/LANSession.cpp b/Code/Framework/GridMate/GridMate/Session/LANSession.cpp index e4e1c9e9b6..223085cf13 100644 --- a/Code/Framework/GridMate/GridMate/Session/LANSession.cpp +++ b/Code/Framework/GridMate/GridMate/Session/LANSession.cpp @@ -52,13 +52,13 @@ namespace GridMate MemberIDCompact GetID() const { return m_id; } - virtual AZStd::string ToString() const + AZStd::string ToString() const override { return AZStd::string::format("%x", m_id); } - virtual AZStd::string ToAddress() const { return m_address; } - virtual MemberIDCompact Compact() const { return m_id; } - virtual bool IsValid() const { return m_id != 0; } + AZStd::string ToAddress() const override { return m_address; } + MemberIDCompact Compact() const override { return m_id; } + bool IsValid() const override { return m_id != 0; } private: MemberIDCompact m_id; @@ -285,9 +285,9 @@ namespace GridMate static const char* GetChunkName() { return "GridMateLANMember"; } /// return an abstracted member id. (member ID is world unique but unrelated to player ID it's related to the session). - virtual const MemberID& GetId() const { return m_memberId; } + const MemberID& GetId() const override { return m_memberId; } /// returns a base player id, it's implementation is platform dependent. (NOT supported) - virtual const PlayerId* GetPlayerId() const { return nullptr; } + const PlayerId* GetPlayerId() const override { return nullptr; } /// Remote member ctor. LANMember(ConnectionID connId, const LANMemberID& id, LANSession* session); @@ -321,16 +321,16 @@ namespace GridMate friend class LANSessionService; public: GM_CLASS_ALLOCATOR(LANSearch); - virtual ~LANSearch(); + ~LANSearch() override; /// Return true if the search has finished, otherwise false. - virtual unsigned int GetNumResults() const { return static_cast(m_results.size()); } - virtual const SearchInfo* GetResult(unsigned int index) const { return &m_results[index]; } - virtual void AbortSearch(); + unsigned int GetNumResults() const override { return static_cast(m_results.size()); } + const SearchInfo* GetResult(unsigned int index) const override { return &m_results[index]; } + void AbortSearch() override; private: LANSearch(const LANSearchParams& searchParams, SessionService* service); - virtual void Update(); + void Update() override; void SearchDone(); Driver* m_driver; diff --git a/Code/Framework/GridMate/GridMate/Session/Session.cpp b/Code/Framework/GridMate/GridMate/Session/Session.cpp index 471e21127c..b731d82b71 100644 --- a/Code/Framework/GridMate/GridMate/Session/Session.cpp +++ b/Code/Framework/GridMate/GridMate/Session/Session.cpp @@ -63,40 +63,40 @@ namespace GridMate typedef unordered_set AddressSetType; GridSessionHandshake(unsigned int handshakeTimeoutMS, const VersionType& version); - virtual ~GridSessionHandshake() {} + ~GridSessionHandshake() override {} ////////////////////////////////////////////////////////////////////////// // Handshake /// Called from the system to write initial handshake data. - virtual void OnInitiate(ConnectionID id, WriteBuffer& wb); + void OnInitiate(ConnectionID id, WriteBuffer& wb) override; /** * Called when a system receives a handshake initiation from another system. * You can write a reply in the WriteBuffer. * return true if you accept this connection and false if you reject it. */ - virtual HandshakeErrorCode OnReceiveRequest(ConnectionID id, ReadBuffer& rb, WriteBuffer& wb); + HandshakeErrorCode OnReceiveRequest(ConnectionID id, ReadBuffer& rb, WriteBuffer& wb) override; /** * If we already have a valid connection and we receive another connection request, the system will * call this function to verify the state of the connection. */ - virtual bool OnConfirmRequest(ConnectionID id, ReadBuffer& rb); + bool OnConfirmRequest(ConnectionID id, ReadBuffer& rb) override; /** * Called when we receive Ack from the other system on our initial data \ref OnInitiate. * return true to accept the ack or false to reject the handshake. */ - virtual bool OnReceiveAck(ConnectionID id, ReadBuffer& rb) { (void)id; (void)rb; return true; } // we don't do any further filtering + bool OnReceiveAck(ConnectionID id, ReadBuffer& rb) override { (void)id; (void)rb; return true; } // we don't do any further filtering /** * Called when we receive Ack from the other system while we were connected. This callback is called * so we can just confirm that our connection is valid! */ - virtual bool OnConfirmAck(ConnectionID id, ReadBuffer& rb) { (void)id; (void)rb; return true; } // we don't do any further filtering + bool OnConfirmAck(ConnectionID id, ReadBuffer& rb) override { (void)id; (void)rb; return true; } // we don't do any further filtering /// Return true if you want to reject early reject a connection. - virtual bool OnNewConnection(const AZStd::string& address); + bool OnNewConnection(const AZStd::string& address) override; /// Called when we close a connection. - virtual void OnDisconnect(ConnectionID id); + void OnDisconnect(ConnectionID id) override; /// Return timeout in milliseconds of the handshake procedure. - virtual unsigned int GetHandshakeTimeOutMS() const { return m_handshakeTimeOutMS; } + unsigned int GetHandshakeTimeOutMS() const override { return m_handshakeTimeOutMS; } ////////////////////////////////////////////////////////////////////////// void BanAddress(AZStd::string address); diff --git a/Code/Framework/GridMate/Tests/Carrier.cpp b/Code/Framework/GridMate/Tests/Carrier.cpp index 9a18eb9a2c..5b18a80221 100644 --- a/Code/Framework/GridMate/Tests/Carrier.cpp +++ b/Code/Framework/GridMate/Tests/Carrier.cpp @@ -90,7 +90,7 @@ public: { } - ~CarrierCallbacksHandler() + ~CarrierCallbacksHandler() override { CarrierEventBus::Handler::BusDisconnect(); } diff --git a/Code/Framework/GridMate/Tests/CarrierStreamSocketDriverTests.cpp b/Code/Framework/GridMate/Tests/CarrierStreamSocketDriverTests.cpp index 6af6a6ab87..8ec3ad540f 100644 --- a/Code/Framework/GridMate/Tests/CarrierStreamSocketDriverTests.cpp +++ b/Code/Framework/GridMate/Tests/CarrierStreamSocketDriverTests.cpp @@ -65,7 +65,7 @@ public: { } - ~CarrierStreamCallbacksHandler() + ~CarrierStreamCallbacksHandler() override { if (m_active) { diff --git a/Code/Framework/GridMate/Tests/ReplicaBehavior.cpp b/Code/Framework/GridMate/Tests/ReplicaBehavior.cpp index 22771cc035..f6f88d2dff 100644 --- a/Code/Framework/GridMate/Tests/ReplicaBehavior.cpp +++ b/Code/Framework/GridMate/Tests/ReplicaBehavior.cpp @@ -282,7 +282,7 @@ namespace ReplicaBehavior { GM_CLASS_ALLOCATOR(EntityLikeScriptReplicaChunk); EntityLikeScriptReplicaChunk(); - ~EntityLikeScriptReplicaChunk() = default; + ~EntityLikeScriptReplicaChunk() override = default; ////////////////////////////////////////////////////////////////////// //! GridMate::ReplicaChunk overrides. @@ -296,7 +296,7 @@ namespace ReplicaBehavior { int GetMaxServerProperties() const { return k_maxScriptableDataSets; } - AZ::u32 CalculateDirtyDataSetMask(MarshalContext& marshalContext); + AZ::u32 CalculateDirtyDataSetMask(MarshalContext& marshalContext) override; EntityLikeScriptDataSet m_scriptDataSets[k_maxScriptableDataSets]; AZ::u32 m_enabledDataSetMask; @@ -815,7 +815,7 @@ namespace ReplicaBehavior { m_replicaId = m_sessions[sHost].GetReplicaMgr().AddPrimary(replica); } - ~Integ_ReplicaDefaultDataSetDriller() + ~Integ_ReplicaDefaultDataSetDriller() override { m_driller.BusDisconnect(); } @@ -928,7 +928,7 @@ namespace ReplicaBehavior { m_replicaU8Id = m_sessions[sHost].GetReplicaMgr().AddPrimary(replica2); } - ~Integ_Replica_ComparePackingBoolsVsU8() + ~Integ_Replica_ComparePackingBoolsVsU8() override { m_driller.BusDisconnect(); } @@ -1057,7 +1057,7 @@ namespace ReplicaBehavior { m_replicaId = m_sessions[sHost].GetReplicaMgr().AddPrimary(replica); } - ~Integ_CheckDataSetStreamIsntWrittenMoreThanNecessary() + ~Integ_CheckDataSetStreamIsntWrittenMoreThanNecessary() override { m_driller.BusDisconnect(); } @@ -1154,7 +1154,7 @@ namespace ReplicaBehavior { m_replicaId = m_sessions[sHost].GetReplicaMgr().AddPrimary(replica); } - ~Integ_CheckDataSetStreamIsntWrittenMoreThanNecessaryOnceDirty() + ~Integ_CheckDataSetStreamIsntWrittenMoreThanNecessaryOnceDirty() override { m_driller.BusDisconnect(); } @@ -1248,7 +1248,7 @@ namespace ReplicaBehavior { m_replicaId = m_sessions[sHost].GetReplicaMgr().AddPrimary(replica); } - ~Integ_CheckReplicaIsntSentWithNoChanges() + ~Integ_CheckReplicaIsntSentWithNoChanges() override { m_driller.BusDisconnect(); } @@ -1359,7 +1359,7 @@ namespace ReplicaBehavior { m_replicaId = m_sessions[sHost].GetReplicaMgr().AddPrimary(replica); } - ~Integ_CheckEntityScriptReplicaIsntSentWithNoChanges() + ~Integ_CheckEntityScriptReplicaIsntSentWithNoChanges() override { m_driller.BusDisconnect(); } diff --git a/Code/Framework/GridMate/Tests/ReplicaMedium.cpp b/Code/Framework/GridMate/Tests/ReplicaMedium.cpp index c1148c4fdb..61fe9d65b2 100644 --- a/Code/Framework/GridMate/Tests/ReplicaMedium.cpp +++ b/Code/Framework/GridMate/Tests/ReplicaMedium.cpp @@ -601,7 +601,7 @@ class MPSession { public: - ~MPSession() + ~MPSession() override { CarrierEventBus::Handler::BusDisconnect(); } @@ -2007,7 +2007,7 @@ public: m_replicaId = m_sessions[sHost].GetReplicaMgr().AddPrimary(replica); } - ~Integ_ReplicaDriller() + ~Integ_ReplicaDriller() override { m_driller.BusDisconnect(); } @@ -2893,7 +2893,7 @@ public: m_replicaId = m_sessions[sHost].GetReplicaMgr().AddPrimary(replica); } - ~ReplicaACKfeedbackTestFixture() + ~ReplicaACKfeedbackTestFixture() override { m_driller.BusDisconnect(); } diff --git a/Code/Framework/GridMate/Tests/ReplicaSmall.cpp b/Code/Framework/GridMate/Tests/ReplicaSmall.cpp index 3b3942e8f3..d71789ae90 100644 --- a/Code/Framework/GridMate/Tests/ReplicaSmall.cpp +++ b/Code/Framework/GridMate/Tests/ReplicaSmall.cpp @@ -254,7 +254,7 @@ public: s_nInstances++; } - ~OfflineChunk() + ~OfflineChunk() override { s_nInstances--; } @@ -273,7 +273,7 @@ public: return true; } - bool IsReplicaMigratable() { return true; } + bool IsReplicaMigratable() override { return true; } DataSet m_data1; DataSet::BindInterface m_data2; diff --git a/Code/Framework/GridMate/Tests/Session.cpp b/Code/Framework/GridMate/Tests/Session.cpp index 0c5baef483..d4f56871c5 100644 --- a/Code/Framework/GridMate/Tests/Session.cpp +++ b/Code/Framework/GridMate/Tests/Session.cpp @@ -71,7 +71,7 @@ namespace UnitTest AZ_TEST_ASSERT(GridMate::LANSessionServiceBus::FindFirstHandler(m_clientGridMate) != nullptr); ////////////////////////////////////////////////////////////////////////// } - virtual ~Integ_LANSessionMatchmakingParamsTest() + ~Integ_LANSessionMatchmakingParamsTest() override { SessionEventBus::MultiHandler::BusDisconnect(m_gridMate); SessionEventBus::MultiHandler::BusDisconnect(m_clientGridMate); @@ -290,7 +290,7 @@ namespace UnitTest AZ_TEST_ASSERT(LANSessionServiceBus::FindFirstHandler(m_peers[i].m_gridMate) != nullptr); } } - virtual ~Integ_LANSessionTest() + ~Integ_LANSessionTest() override { StopGridMateService(m_peers[0].m_gridMate); @@ -645,7 +645,7 @@ namespace UnitTest } } - virtual ~Integ_LANMultipleSessionTest() + ~Integ_LANMultipleSessionTest() override { GridMate::StopGridMateService(m_gridMates[0]); @@ -884,7 +884,7 @@ namespace UnitTest } } - virtual ~Integ_LANLatencySessionTest() + ~Integ_LANLatencySessionTest() override { StopGridMateService(m_gridMates[0]); @@ -1283,7 +1283,7 @@ namespace UnitTest //StartDrilling("lanmigration"); } - virtual ~Integ_LANSessionMigarationTestTest() + ~Integ_LANSessionMigarationTestTest() override { StopGridMateService(m_gridMates[0]); @@ -1597,7 +1597,7 @@ namespace UnitTest //StartDrilling("lanmigration2"); } - virtual ~Integ_LANSessionMigarationTestTest2() + ~Integ_LANSessionMigarationTestTest2() override { StopGridMateService(m_gridMates[0]); diff --git a/Code/Framework/GridMate/Tests/test_Main.cpp b/Code/Framework/GridMate/Tests/test_Main.cpp index 7fc71ef125..cbe4a09ef4 100644 --- a/Code/Framework/GridMate/Tests/test_Main.cpp +++ b/Code/Framework/GridMate/Tests/test_Main.cpp @@ -14,12 +14,12 @@ struct GridMateTestEnvironment : public AZ::Test::ITestEnvironment , public AZ::Debug::TraceMessageBus::Handler { - void SetupEnvironment() override final + void SetupEnvironment() final { AZ::AllocatorInstance::Create(); BusConnect(); } - void TeardownEnvironment() override final + void TeardownEnvironment() final { BusDisconnect(); AZ::AllocatorInstance::Destroy(); From daf901e809a30e93aa531e5984a2e136cb1990a1 Mon Sep 17 00:00:00 2001 From: SJ Date: Thu, 2 Sep 2021 14:16:13 -0700 Subject: [PATCH 65/66] Set target_file variable since it's still being used in Mac runtime dependencies cmake file (#3905) Signed-off-by: amzn-sj --- cmake/Platform/Common/RuntimeDependencies_common.cmake | 1 + 1 file changed, 1 insertion(+) diff --git a/cmake/Platform/Common/RuntimeDependencies_common.cmake b/cmake/Platform/Common/RuntimeDependencies_common.cmake index dbc8513c97..95d91da7f7 100644 --- a/cmake/Platform/Common/RuntimeDependencies_common.cmake +++ b/cmake/Platform/Common/RuntimeDependencies_common.cmake @@ -263,6 +263,7 @@ function(ly_delayed_generate_runtime_dependencies) # Generate the output file, note the STAMP_OUTPUT_FILE need to match with the one defined in LYWrappers.cmake set(STAMP_OUTPUT_FILE ${CMAKE_BINARY_DIR}/runtime_dependencies/$/${target}_$.stamp) set(target_file_dir "$") + set(target_file "$") ly_file_read(${LY_RUNTIME_DEPENDENCIES_TEMPLATE} template_file) string(CONFIGURE "${LY_COPY_COMMANDS}" LY_COPY_COMMANDS @ONLY) string(CONFIGURE "${template_file}" configured_template_file @ONLY) From 5851031d2ebfdcb95471b348ff81c3e803b0483e Mon Sep 17 00:00:00 2001 From: hultonha <82228511+hultonha@users.noreply.github.com> Date: Fri, 3 Sep 2021 10:14:03 +0100 Subject: [PATCH 66/66] Expose the ability to control manipulator line bounds (#3890) Signed-off-by: hultonha --- Code/Editor/EditorPreferencesDialog.cpp | 2 +- .../EditorPreferencesPageViewportGizmo.cpp | 85 +++++-------------- .../EditorPreferencesPageViewportGizmo.h | 62 +++++++------- Code/Editor/EditorViewportSettings.cpp | 11 +++ Code/Editor/EditorViewportSettings.h | 3 + Code/Editor/EditorViewportWidget.cpp | 6 ++ Code/Editor/IEditorImpl.cpp | 4 +- Code/Editor/Objects/ObjectManager.cpp | 2 +- Code/Editor/PreferencesStdPages.cpp | 2 +- Code/Editor/Settings.cpp | 37 -------- Code/Editor/Settings.h | 18 ---- .../ViewportInteraction.h | 12 +-- .../Source/ViewportInteraction.cpp | 5 ++ .../Manipulators/EditorVertexSelection.cpp | 2 + .../Manipulators/ManipulatorView.cpp | 46 ++++++++-- .../Manipulators/ScaleManipulators.cpp | 13 ++- .../Manipulators/ScaleManipulators.h | 4 + .../Manipulators/TranslationManipulators.cpp | 20 +++-- .../Manipulators/TranslationManipulators.h | 4 + .../Viewport/ViewportMessages.h | 47 +++++++--- .../EditorTransformComponentSelection.cpp | 2 + .../Viewport/RenderViewportWidget.h | 1 + .../Source/Viewport/RenderViewportWidget.cpp | 5 ++ .../EditorPolygonPrismShapeComponentMode.cpp | 3 +- .../EditorSubComponentModeAngleCone.cpp | 5 +- 25 files changed, 210 insertions(+), 191 deletions(-) diff --git a/Code/Editor/EditorPreferencesDialog.cpp b/Code/Editor/EditorPreferencesDialog.cpp index c3fc4139f6..6cbbccb7ac 100644 --- a/Code/Editor/EditorPreferencesDialog.cpp +++ b/Code/Editor/EditorPreferencesDialog.cpp @@ -65,7 +65,7 @@ EditorPreferencesDialog::EditorPreferencesDialog(QWidget* pParent) CEditorPreferencesPage_General::Reflect(*serializeContext); CEditorPreferencesPage_Files::Reflect(*serializeContext); CEditorPreferencesPage_ViewportGeneral::Reflect(*serializeContext); - CEditorPreferencesPage_ViewportGizmo::Reflect(*serializeContext); + CEditorPreferencesPage_ViewportManipulator::Reflect(*serializeContext); CEditorPreferencesPage_ViewportMovement::Reflect(*serializeContext); CEditorPreferencesPage_ViewportDebug::Reflect(*serializeContext); CEditorPreferencesPage_ExperimentalLighting::Reflect(*serializeContext); diff --git a/Code/Editor/EditorPreferencesPageViewportGizmo.cpp b/Code/Editor/EditorPreferencesPageViewportGizmo.cpp index 90129bb6a5..5d1ae53e85 100644 --- a/Code/Editor/EditorPreferencesPageViewportGizmo.cpp +++ b/Code/Editor/EditorPreferencesPageViewportGizmo.cpp @@ -5,96 +5,57 @@ * SPDX-License-Identifier: Apache-2.0 OR MIT * */ + #include "EditorDefs.h" #include "EditorPreferencesPageViewportGizmo.h" // Editor +#include "EditorViewportSettings.h" #include "Settings.h" - -void CEditorPreferencesPage_ViewportGizmo::Reflect(AZ::SerializeContext& serialize) +void CEditorPreferencesPage_ViewportManipulator::Reflect(AZ::SerializeContext& serialize) { - serialize.Class() - ->Version(1) - ->Field("Size", &AxisGizmo::m_size) - ->Field("Text", &AxisGizmo::m_text) - ->Field("MaxCount", &AxisGizmo::m_maxCount); + serialize.Class()->Version(1)->Field("LineBoundWidth", &Manipulators::m_manipulatorLineBoundWidth); - serialize.Class() - ->Version(1) - ->Field("LabelsOn", &Helpers::m_helpersGlobalScale) - ->Field("LabelsOn", &Helpers::m_tagpointScaleMulti) - ->Field("LabelsOn", &Helpers::m_rulerSphereScale) - ->Field("LabelsDistance", &Helpers::m_rulerSphereTrans); + serialize.Class()->Version(2)->Field( + "Manipulators", &CEditorPreferencesPage_ViewportManipulator::m_manipulators); - serialize.Class() - ->Version(1) - ->Field("Axis Gizmo", &CEditorPreferencesPage_ViewportGizmo::m_axisGizmo) - ->Field("Helpers", &CEditorPreferencesPage_ViewportGizmo::m_helpers); - - AZ::EditContext* editContext = serialize.GetEditContext(); - if (editContext) + if (AZ::EditContext* editContext = serialize.GetEditContext()) { - editContext->Class("Axis Gizmo", "") - ->DataElement(AZ::Edit::UIHandlers::SpinBox, &AxisGizmo::m_size, "Size", "Axis Gizmo Size") - ->DataElement(AZ::Edit::UIHandlers::CheckBox, &AxisGizmo::m_text, "Text Labels", "Text Labels on Axis Gizmo") - ->DataElement(AZ::Edit::UIHandlers::SpinBox, &AxisGizmo::m_maxCount, "Max Count", "Max Count of Axis Gizmos"); + editContext->Class("Manipulators", "") + ->DataElement( + AZ::Edit::UIHandlers::SpinBox, &Manipulators::m_manipulatorLineBoundWidth, "Line Bound Width", + "Manipulator Line Bound Width") + ->Attribute(AZ::Edit::Attributes::Min, 0.001f) + ->Attribute(AZ::Edit::Attributes::Max, 2.0f); - editContext->Class("Helpers", "") - ->DataElement(AZ::Edit::UIHandlers::SpinBox, &Helpers::m_helpersGlobalScale, "Helpers Scale", "Helpers Scale") - ->Attribute(AZ::Edit::Attributes::Min, 0.01f) - ->Attribute(AZ::Edit::Attributes::Max, 100.0f) - ->DataElement(AZ::Edit::UIHandlers::SpinBox, &Helpers::m_tagpointScaleMulti, "Tagpoint Scale Multiplier", "Tagpoint Scale Multiplier") - ->Attribute(AZ::Edit::Attributes::Min, 0.01f) - ->Attribute(AZ::Edit::Attributes::Max, 100.0f) - ->DataElement(AZ::Edit::UIHandlers::SpinBox, &Helpers::m_rulerSphereScale, "Ruler Sphere Scale", "Ruler Sphere Scale") - ->Attribute(AZ::Edit::Attributes::Min, 0.1f) - ->Attribute(AZ::Edit::Attributes::Max, 100.0f) - ->Attribute(AZ::Edit::Attributes::Step, 0.1f) - ->DataElement(AZ::Edit::UIHandlers::SpinBox, &Helpers::m_rulerSphereTrans, "Ruler Sphere Transparency", "Ruler Sphere Transparency") - ->Attribute(AZ::Edit::Attributes::Min, 0.01f) - ->Attribute(AZ::Edit::Attributes::Max, 100.0f); - - editContext->Class("Gizmo Viewport Preferences", "Gizmo Viewport Preferences") + editContext + ->Class("Manipulator Viewport Preferences", "Manipulator Viewport Preferences") ->ClassElement(AZ::Edit::ClassElements::EditorData, "") ->Attribute(AZ::Edit::Attributes::Visibility, AZ_CRC("PropertyVisibility_ShowChildrenOnly", 0xef428f20)) - ->DataElement(AZ::Edit::UIHandlers::Default, &CEditorPreferencesPage_ViewportGizmo::m_axisGizmo, "Axis Gizmo", "Axis Gizmo") - ->DataElement(AZ::Edit::UIHandlers::Default, &CEditorPreferencesPage_ViewportGizmo::m_helpers, "Helpers", "Helpers"); + ->DataElement( + AZ::Edit::UIHandlers::Default, &CEditorPreferencesPage_ViewportManipulator::m_manipulators, "Manipulators", "Manipulators"); } } -CEditorPreferencesPage_ViewportGizmo::CEditorPreferencesPage_ViewportGizmo() +CEditorPreferencesPage_ViewportManipulator::CEditorPreferencesPage_ViewportManipulator() { InitializeSettings(); m_icon = QIcon(":/res/Gizmos.svg"); } -QIcon& CEditorPreferencesPage_ViewportGizmo::GetIcon() +QIcon& CEditorPreferencesPage_ViewportManipulator::GetIcon() { return m_icon; } -void CEditorPreferencesPage_ViewportGizmo::OnApply() +void CEditorPreferencesPage_ViewportManipulator::OnApply() { - gSettings.gizmo.axisGizmoSize = m_axisGizmo.m_size; - gSettings.gizmo.axisGizmoText = m_axisGizmo.m_text; - gSettings.gizmo.axisGizmoMaxCount = m_axisGizmo.m_maxCount; - - gSettings.gizmo.helpersScale = m_helpers.m_helpersGlobalScale; - gSettings.gizmo.tagpointScaleMulti = m_helpers.m_tagpointScaleMulti; - gSettings.gizmo.rulerSphereScale = m_helpers.m_rulerSphereScale; - gSettings.gizmo.rulerSphereTrans = m_helpers.m_rulerSphereTrans; + SandboxEditor::SetManipulatorLineBoundWidth(m_manipulators.m_manipulatorLineBoundWidth); } -void CEditorPreferencesPage_ViewportGizmo::InitializeSettings() +void CEditorPreferencesPage_ViewportManipulator::InitializeSettings() { - m_axisGizmo.m_size = gSettings.gizmo.axisGizmoSize; - m_axisGizmo.m_text = gSettings.gizmo.axisGizmoText; - m_axisGizmo.m_maxCount = gSettings.gizmo.axisGizmoMaxCount; - - m_helpers.m_helpersGlobalScale = gSettings.gizmo.helpersScale; - m_helpers.m_tagpointScaleMulti = gSettings.gizmo.tagpointScaleMulti; - m_helpers.m_rulerSphereScale = gSettings.gizmo.rulerSphereScale; - m_helpers.m_rulerSphereTrans = gSettings.gizmo.rulerSphereTrans; + m_manipulators.m_manipulatorLineBoundWidth = SandboxEditor::ManipulatorLineBoundWidth(); } diff --git a/Code/Editor/EditorPreferencesPageViewportGizmo.h b/Code/Editor/EditorPreferencesPageViewportGizmo.h index 1534e5f51e..d013216736 100644 --- a/Code/Editor/EditorPreferencesPageViewportGizmo.h +++ b/Code/Editor/EditorPreferencesPageViewportGizmo.h @@ -5,59 +5,57 @@ * SPDX-License-Identifier: Apache-2.0 OR MIT * */ + #pragma once #include "Include/IPreferencesPage.h" -#include -#include -#include #include +#include +#include +#include #include - -class CEditorPreferencesPage_ViewportGizmo - : public IPreferencesPage +class CEditorPreferencesPage_ViewportManipulator : public IPreferencesPage { public: - AZ_RTTI(CEditorPreferencesPage_ViewportGizmo, "{14433511-8175-4348-954E-82D903475B06}", IPreferencesPage) + AZ_RTTI(CEditorPreferencesPage_ViewportManipulator, "{14433511-8175-4348-954E-82D903475B06}", IPreferencesPage) static void Reflect(AZ::SerializeContext& serialize); - CEditorPreferencesPage_ViewportGizmo(); - virtual ~CEditorPreferencesPage_ViewportGizmo() = default; + CEditorPreferencesPage_ViewportManipulator(); + virtual ~CEditorPreferencesPage_ViewportManipulator() = default; + + virtual const char* GetCategory() override + { + return "Viewports"; + } + + virtual const char* GetTitle() override + { + return "Manipulators"; + } - virtual const char* GetCategory() override { return "Viewports"; } - virtual const char* GetTitle() override { return "Gizmos"; } virtual QIcon& GetIcon() override; virtual void OnApply() override; - virtual void OnCancel() override {} - virtual bool OnQueryCancel() override { return true; } + virtual void OnCancel() override + { + } + + virtual bool OnQueryCancel() override + { + return true; + } private: void InitializeSettings(); - struct AxisGizmo + struct Manipulators { - AZ_TYPE_INFO(AxisGizmo, "{7D90D60E-996B-4F54-8748-B26EFA781EE2}") + AZ_TYPE_INFO(Manipulators, "{2974439C-4839-41F6-B526-F317999B9DB9}") - float m_size; - bool m_text; - int m_maxCount; + float m_manipulatorLineBoundWidth; }; - struct Helpers - { - AZ_TYPE_INFO(Helpers, "{EC99922E-F61C-4AA0-9A51-630E09AB55AA}") - - float m_helpersGlobalScale; - float m_tagpointScaleMulti; - float m_rulerSphereScale; - float m_rulerSphereTrans; - }; - - AxisGizmo m_axisGizmo; - Helpers m_helpers; + Manipulators m_manipulators; QIcon m_icon; }; - - diff --git a/Code/Editor/EditorViewportSettings.cpp b/Code/Editor/EditorViewportSettings.cpp index 872454412d..52581d9222 100644 --- a/Code/Editor/EditorViewportSettings.cpp +++ b/Code/Editor/EditorViewportSettings.cpp @@ -20,6 +20,7 @@ namespace SandboxEditor constexpr AZStd::string_view AngleSnappingSetting = "/Amazon/Preferences/Editor/AngleSnapping"; constexpr AZStd::string_view AngleSizeSetting = "/Amazon/Preferences/Editor/AngleSize"; constexpr AZStd::string_view ShowGridSetting = "/Amazon/Preferences/Editor/ShowGrid"; + constexpr AZStd::string_view ManipulatorLineBoundWidthSetting = "/Amazon/Preferences/Editor/Manipulator/LineBoundWidth"; constexpr AZStd::string_view CameraTranslateSpeedSetting = "/Amazon/Preferences/Editor/Camera/TranslateSpeed"; constexpr AZStd::string_view CameraBoostMultiplierSetting = "/Amazon/Preferences/Editor/Camera/BoostMultiplier"; constexpr AZStd::string_view CameraRotateSpeedSetting = "/Amazon/Preferences/Editor/Camera/RotateSpeed"; @@ -156,6 +157,16 @@ namespace SandboxEditor SetRegistry(ShowGridSetting, showing); } + float ManipulatorLineBoundWidth() + { + return aznumeric_cast(GetRegistry(ManipulatorLineBoundWidthSetting, 0.1)); + } + + void SetManipulatorLineBoundWidth(const float lineBoundWidth) + { + SetRegistry(ManipulatorLineBoundWidthSetting, lineBoundWidth); + } + float CameraTranslateSpeed() { return aznumeric_cast(GetRegistry(CameraTranslateSpeedSetting, 10.0)); diff --git a/Code/Editor/EditorViewportSettings.h b/Code/Editor/EditorViewportSettings.h index 3da8c465fb..a5b119e03d 100644 --- a/Code/Editor/EditorViewportSettings.h +++ b/Code/Editor/EditorViewportSettings.h @@ -47,6 +47,9 @@ namespace SandboxEditor SANDBOX_API bool ShowingGrid(); SANDBOX_API void SetShowingGrid(bool showing); + SANDBOX_API float ManipulatorLineBoundWidth(); + SANDBOX_API void SetManipulatorLineBoundWidth(float lineBoundWidth); + SANDBOX_API float CameraTranslateSpeed(); SANDBOX_API void SetCameraTranslateSpeed(float speed); diff --git a/Code/Editor/EditorViewportWidget.cpp b/Code/Editor/EditorViewportWidget.cpp index 5294ebbc7e..139bb03f12 100644 --- a/Code/Editor/EditorViewportWidget.cpp +++ b/Code/Editor/EditorViewportWidget.cpp @@ -121,6 +121,7 @@ struct EditorViewportSettings : public AzToolsFramework::ViewportInteraction::Vi bool ShowGrid() const override; bool AngleSnappingEnabled() const override; float AngleStep() const override; + float ManipulatorLineBoundWidth() const override; }; static const EditorViewportSettings g_EditorViewportSettings; @@ -2559,6 +2560,11 @@ float EditorViewportSettings::AngleStep() const return SandboxEditor::AngleSnappingSize(); } +float EditorViewportSettings::ManipulatorLineBoundWidth() const +{ + return SandboxEditor::ManipulatorLineBoundWidth(); +} + AZ_CVAR_EXTERNED(bool, ed_previewGameInFullscreen_once); bool EditorViewportWidget::ShouldPreviewFullscreen() const diff --git a/Code/Editor/IEditorImpl.cpp b/Code/Editor/IEditorImpl.cpp index 880773966b..c7e6cd8ad6 100644 --- a/Code/Editor/IEditorImpl.cpp +++ b/Code/Editor/IEditorImpl.cpp @@ -680,8 +680,8 @@ const SGizmoParameters& CEditorImpl::GetGlobalGizmoParameters() m_pGizmoParameters->axisConstraint = m_selectedAxis; m_pGizmoParameters->referenceCoordSys = m_refCoordsSys; - m_pGizmoParameters->axisGizmoScale = gSettings.gizmo.axisGizmoSize; - m_pGizmoParameters->axisGizmoText = gSettings.gizmo.axisGizmoText; + m_pGizmoParameters->axisGizmoScale = 1.0f; + m_pGizmoParameters->axisGizmoText = false; return *m_pGizmoParameters; } diff --git a/Code/Editor/Objects/ObjectManager.cpp b/Code/Editor/Objects/ObjectManager.cpp index 9c452ac1ad..30ee1fc57b 100644 --- a/Code/Editor/Objects/ObjectManager.cpp +++ b/Code/Editor/Objects/ObjectManager.cpp @@ -2378,7 +2378,7 @@ void CObjectManager::SetObjectSelected(CBaseObject* pObject, bool bSelect) if (bSelect && !GetIEditor()->GetTransformManipulator()) { - if (CAxisGizmo::GetGlobalAxisGizmoCount() < gSettings.gizmo.axisGizmoMaxCount) + if (CAxisGizmo::GetGlobalAxisGizmoCount() < 1 /*legacy axisGizmoMaxCount*/) { // Create axis gizmo for this object. m_gizmoManager->AddGizmo(new CAxisGizmo(pObject)); diff --git a/Code/Editor/PreferencesStdPages.cpp b/Code/Editor/PreferencesStdPages.cpp index b593541a07..012a29368e 100644 --- a/Code/Editor/PreferencesStdPages.cpp +++ b/Code/Editor/PreferencesStdPages.cpp @@ -36,7 +36,7 @@ CStdPreferencesClassDesc::CStdPreferencesClassDesc() [](){ return new CEditorPreferencesPage_Files(); }, [](){ return new CEditorPreferencesPage_ViewportGeneral(); }, [](){ return new CEditorPreferencesPage_ViewportMovement(); }, - [](){ return new CEditorPreferencesPage_ViewportGizmo(); }, + [](){ return new CEditorPreferencesPage_ViewportManipulator(); }, [](){ return new CEditorPreferencesPage_ViewportDebug(); } }; diff --git a/Code/Editor/Settings.cpp b/Code/Editor/Settings.cpp index 94b5668efc..9feb73a811 100644 --- a/Code/Editor/Settings.cpp +++ b/Code/Editor/Settings.cpp @@ -82,7 +82,6 @@ private: namespace { - class QtApplicationListener : public AzToolsFramework::EditorEvents::Bus::Handler { @@ -99,20 +98,8 @@ namespace delete this; } }; - } -////////////////////////////////////////////////////////////////////////// -SGizmoSettings::SGizmoSettings() -{ - axisGizmoSize = 0.2f; - axisGizmoText = true; - axisGizmoMaxCount = 50; - helpersScale = 1.f; - tagpointScaleMulti = 0.5f; - rulerSphereScale = 0.5f; - rulerSphereTrans = 0.5f; -} ////////////////////////////////////////////////////////////////////////// SEditorSettings::SEditorSettings() { @@ -564,18 +551,6 @@ void SEditorSettings::Save() SaveValue("Settings", "ShowScaleWarnings", viewports.bShowScaleWarnings); SaveValue("Settings", "ShowRotationWarnings", viewports.bShowRotationWarnings); - ////////////////////////////////////////////////////////////////////////// - // Gizmos. - ////////////////////////////////////////////////////////////////////////// - SaveValue("Settings", "AxisGizmoSize", gizmo.axisGizmoSize); - SaveValue("Settings", "AxisGizmoText", gizmo.axisGizmoText); - SaveValue("Settings", "AxisGizmoMaxCount", gizmo.axisGizmoMaxCount); - SaveValue("Settings", "HelpersScale", gizmo.helpersScale); - SaveValue("Settings", "TagPointScaleMulti", gizmo.tagpointScaleMulti); - SaveValue("Settings", "RulerSphereScale", gizmo.rulerSphereScale); - SaveValue("Settings", "RulerSphereTrans", gizmo.rulerSphereTrans); - ////////////////////////////////////////////////////////////////////////// - SaveValue("Settings", "TextEditorScript", textEditorForScript); SaveValue("Settings", "TextEditorShaders", textEditorForShaders); SaveValue("Settings", "TextEditorBSpaces", textEditorForBspaces); @@ -769,18 +744,6 @@ void SEditorSettings::Load() LoadValue("Settings", "ShowScaleWarnings", viewports.bShowScaleWarnings); LoadValue("Settings", "ShowRotationWarnings", viewports.bShowRotationWarnings); - ////////////////////////////////////////////////////////////////////////// - // Gizmos. - ////////////////////////////////////////////////////////////////////////// - LoadValue("Settings", "AxisGizmoSize", gizmo.axisGizmoSize); - LoadValue("Settings", "AxisGizmoText", gizmo.axisGizmoText); - LoadValue("Settings", "AxisGizmoMaxCount", gizmo.axisGizmoMaxCount); - LoadValue("Settings", "HelpersScale", gizmo.helpersScale); - LoadValue("Settings", "TagPointScaleMulti", gizmo.tagpointScaleMulti); - LoadValue("Settings", "RulerSphereScale", gizmo.rulerSphereScale); - LoadValue("Settings", "RulerSphereTrans", gizmo.rulerSphereTrans); - ////////////////////////////////////////////////////////////////////////// - LoadValue("Settings", "TextEditorScript", textEditorForScript); LoadValue("Settings", "TextEditorShaders", textEditorForShaders); LoadValue("Settings", "TextEditorBSpaces", textEditorForBspaces); diff --git a/Code/Editor/Settings.h b/Code/Editor/Settings.h index 51931ab955..82f4f11f72 100644 --- a/Code/Editor/Settings.h +++ b/Code/Editor/Settings.h @@ -22,22 +22,6 @@ #include -struct SGizmoSettings -{ - float axisGizmoSize; - bool axisGizmoText; - int axisGizmoMaxCount; - - float helpersScale; - float tagpointScaleMulti; - - // Scale size and transparency for debug spheres when using Ruler tool - float rulerSphereScale; - float rulerSphereTrans; - - SGizmoSettings(); -}; - ////////////////////////////////////////////////////////////////////////// // Settings for snapping in the viewports. ////////////////////////////////////////////////////////////////////////// @@ -381,8 +365,6 @@ AZ_POP_DISABLE_DLL_EXPORT_BASECLASS_WARNING //! Keeps the editor active even if no focus is set int keepEditorActive; - SGizmoSettings gizmo; - // Settings of the snapping. SSnapSettings snap; diff --git a/Code/Framework/AzManipulatorTestFramework/Include/AzManipulatorTestFramework/ViewportInteraction.h b/Code/Framework/AzManipulatorTestFramework/Include/AzManipulatorTestFramework/ViewportInteraction.h index 391186114d..5e8de066e3 100644 --- a/Code/Framework/AzManipulatorTestFramework/Include/AzManipulatorTestFramework/ViewportInteraction.h +++ b/Code/Framework/AzManipulatorTestFramework/Include/AzManipulatorTestFramework/ViewportInteraction.h @@ -40,11 +40,13 @@ namespace AzManipulatorTestFramework float DeviceScalingFactor() override; private: // ViewportInteractionRequestBus ... - bool GridSnappingEnabled(); - float GridSize(); - bool ShowGrid(); - bool AngleSnappingEnabled(); - float AngleStep(); + bool GridSnappingEnabled() override; + float GridSize() override; + bool ShowGrid() override; + bool AngleSnappingEnabled() override; + float AngleStep() override; + float ManipulatorLineBoundWidth() override; + AzFramework::ScreenPoint ViewportWorldToScreen(const AZ::Vector3& worldPosition); private: AZStd::unique_ptr m_nullDebugDisplayRequests; diff --git a/Code/Framework/AzManipulatorTestFramework/Source/ViewportInteraction.cpp b/Code/Framework/AzManipulatorTestFramework/Source/ViewportInteraction.cpp index 52d2c10286..77c4bb72f7 100644 --- a/Code/Framework/AzManipulatorTestFramework/Source/ViewportInteraction.cpp +++ b/Code/Framework/AzManipulatorTestFramework/Source/ViewportInteraction.cpp @@ -62,6 +62,11 @@ namespace AzManipulatorTestFramework return m_angularStep; } + float ViewportInteraction::ManipulatorLineBoundWidth() + { + return 0.1f; + } + AzFramework::ScreenPoint ViewportInteraction::ViewportWorldToScreen(const AZ::Vector3& worldPosition) { return AzFramework::WorldToScreen(worldPosition, m_cameraState); diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/EditorVertexSelection.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/EditorVertexSelection.cpp index 81f573672b..b74d81e9fc 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/EditorVertexSelection.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/EditorVertexSelection.cpp @@ -226,6 +226,8 @@ namespace AzToolsFramework m_translationManipulator = AZStd::make_shared>( Dimensions(), vertexIndex, vertex, WorldFromLocalWithUniformScale(entityComponentIdPair.GetEntityId()), GetNonUniformScale(entityComponentIdPair.GetEntityId())); + m_translationManipulator->m_manipulator.SetLineBoundWidth( + AzToolsFramework::ManipulatorLineBoundWidth(AzFramework::InvalidViewportId)); // setup how the manipulator should look m_manipulatorConfiguratorFn(&m_translationManipulator->m_manipulator); diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ManipulatorView.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ManipulatorView.cpp index 147b672006..07d4bf7517 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ManipulatorView.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ManipulatorView.cpp @@ -8,6 +8,7 @@ #include "ManipulatorView.h" +#include #include #include #include @@ -22,6 +23,14 @@ #include #include +AZ_CVAR( + bool, + ed_manipulatorDisplayBoundDebug, + false, + nullptr, + AZ::ConsoleFunctorFlags::Null, + "Display additional debug drawing for manipulator bounds"); + namespace AzToolsFramework { const float g_defaultManipulatorSphereRadius = 0.1f; @@ -118,6 +127,14 @@ namespace AzToolsFramework return quadBound; } + // calculate line in world space (axis and length). + static AZStd::pair CalculateLine( + const AZ::Vector3& localPosition, const AZ::Transform& worldFromLocal, const AZ::Vector3& axis, const float length) + { + return { worldFromLocal.TransformPoint(localPosition), + TransformPositionNoScaling(worldFromLocal, localPosition + (axis * length)) }; + } + // calculate line bound in world space (axis and length). static Picking::BoundShapeLineSegment CalculateLineBound( const AZ::Vector3& localPosition, @@ -127,8 +144,9 @@ namespace AzToolsFramework const float width) { Picking::BoundShapeLineSegment lineBound; - lineBound.m_start = worldFromLocal.TransformPoint(localPosition); - lineBound.m_end = TransformPositionNoScaling(worldFromLocal, localPosition + (axis * length)); + const auto line = CalculateLine(localPosition, worldFromLocal, axis, length); + lineBound.m_start = line.first; + lineBound.m_end = line.second; lineBound.m_width = width; return lineBound; } @@ -395,13 +413,29 @@ namespace AzToolsFramework m_axis, m_cameraCorrectedAxis, managerState, mouseInteraction, manipulatorState.m_worldFromLocal, manipulatorState.m_localPosition, cameraState); - const Picking::BoundShapeLineSegment lineBound = CalculateLineBound( - manipulatorState.m_localPosition, manipulatorState.m_worldFromLocal, m_cameraCorrectedAxis, m_length * viewScale, - m_width * viewScale); + const auto worldLine = CalculateLine( + manipulatorState.m_localPosition, manipulatorState.m_worldFromLocal, m_cameraCorrectedAxis, m_length * viewScale); debugDisplay.SetColor(ViewColor(manipulatorState.m_mouseOver, m_color, m_mouseOverColor).GetAsVector4()); debugDisplay.SetLineWidth(defaultLineWidth(manipulatorState.m_mouseOver)); - debugDisplay.DrawLine(lineBound.m_start, lineBound.m_end); + debugDisplay.DrawLine(worldLine.first, worldLine.second); + + // ensure length of bound takes into account logical width of line (m_length - m_width) + const Picking::BoundShapeLineSegment lineBound = CalculateLineBound( + manipulatorState.m_localPosition, manipulatorState.m_worldFromLocal, m_cameraCorrectedAxis, (m_length - m_width) * viewScale, + m_width * viewScale); + + if (ed_manipulatorDisplayBoundDebug) + { + debugDisplay.DrawBall(lineBound.m_start, lineBound.m_width, false); + debugDisplay.DrawBall(lineBound.m_end, lineBound.m_width, false); + + const auto line = lineBound.m_end - lineBound.m_start; + const auto height = line.GetLength(); + const auto axis = line / height; + const auto center = lineBound.m_start + axis * height * 0.5f; + debugDisplay.DrawSolidCylinder(center, axis, lineBound.m_width, height, false); + } RefreshBoundInternal(managerId, manipulatorId, lineBound); } diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ScaleManipulators.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ScaleManipulators.cpp index 08735a34a3..1867f346ec 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ScaleManipulators.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ScaleManipulators.cpp @@ -120,18 +120,18 @@ namespace AzToolsFramework const float axisLength, const AZ::Color& axis1Color, const AZ::Color& axis2Color, const AZ::Color& axis3Color) { const float boxSize = 0.1f; - const float lineWidth = 0.05f; - const AZ::Color colors[] = { axis1Color, axis2Color, axis3Color }; for (size_t manipulatorIndex = 0; manipulatorIndex < m_axisScaleManipulators.size(); ++manipulatorIndex) { + const auto lineLength = axisLength - boxSize; + ManipulatorViews views; views.emplace_back( - CreateManipulatorViewLine(*m_axisScaleManipulators[manipulatorIndex], colors[manipulatorIndex], axisLength, lineWidth)); + CreateManipulatorViewLine(*m_axisScaleManipulators[manipulatorIndex], colors[manipulatorIndex], axisLength, m_lineBoundWidth)); views.emplace_back(CreateManipulatorViewBox( AZ::Transform::CreateIdentity(), colors[manipulatorIndex], - m_axisScaleManipulators[manipulatorIndex]->GetAxis() * (axisLength - boxSize), AZ::Vector3(boxSize))); + m_axisScaleManipulators[manipulatorIndex]->GetAxis() * lineLength, AZ::Vector3(boxSize))); m_axisScaleManipulators[manipulatorIndex]->SetViews(AZStd::move(views)); } @@ -150,4 +150,9 @@ namespace AzToolsFramework manipulatorFn(m_uniformScaleManipulator.get()); } + + void ScaleManipulators::SetLineBoundWidth(const float lineBoundWidth) + { + m_lineBoundWidth = lineBoundWidth; + } } // namespace AzToolsFramework diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ScaleManipulators.h b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ScaleManipulators.h index cca17a85e6..5a0a7676d5 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ScaleManipulators.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ScaleManipulators.h @@ -41,6 +41,9 @@ namespace AzToolsFramework void ConfigureView(float axisLength, const AZ::Color& axis1Color, const AZ::Color& axis2Color, const AZ::Color& axis3Color); + //! Sets the bound width to use for the line/axis of a linear manipulator. + void SetLineBoundWidth(float lineBoundWidth); + private: AZ_DISABLE_COPY_MOVE(ScaleManipulators) @@ -49,5 +52,6 @@ namespace AzToolsFramework AZStd::array, 3> m_axisScaleManipulators; AZStd::shared_ptr m_uniformScaleManipulator; + float m_lineBoundWidth = 0.01f; //!< The default line bound width for the linear manipulator axis. }; } // namespace AzToolsFramework diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/TranslationManipulators.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/TranslationManipulators.cpp index c5702bb249..049cab4a13 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/TranslationManipulators.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/TranslationManipulators.cpp @@ -235,24 +235,25 @@ namespace AzToolsFramework } void TranslationManipulators::ConfigureLinearView( - float axisLength, + const float axisLength, const AZ::Color& axis1Color, const AZ::Color& axis2Color, const AZ::Color& axis3Color /*= AZ::Color(0.0f, 0.0f, 1.0f, 0.5f)*/) { const float coneLength = 0.28f; const float coneRadius = 0.07f; - const float lineWidth = 0.05f; const AZ::Color axesColor[] = { axis1Color, axis2Color, axis3Color }; - const auto configureLinearView = - [lineWidth, coneLength, axisLength, coneRadius](LinearManipulator* linearManipulator, const AZ::Color& color) + const auto configureLinearView = [lineBoundWidth = m_lineBoundWidth, coneLength, axisLength, + coneRadius](LinearManipulator* linearManipulator, const AZ::Color& color) { + const auto lineLength = axisLength - coneLength; + ManipulatorViews views; - views.emplace_back(CreateManipulatorViewLine(*linearManipulator, color, axisLength, lineWidth)); - views.emplace_back(CreateManipulatorViewCone( - *linearManipulator, color, linearManipulator->GetAxis() * (axisLength - coneLength), coneLength, coneRadius)); + views.emplace_back(CreateManipulatorViewLine(*linearManipulator, color, lineLength, lineBoundWidth)); + views.emplace_back( + CreateManipulatorViewCone(*linearManipulator, color, linearManipulator->GetAxis() * lineLength, coneLength, coneRadius)); linearManipulator->SetViews(AZStd::move(views)); }; @@ -316,6 +317,11 @@ namespace AzToolsFramework } } + void TranslationManipulators::SetLineBoundWidth(const float lineBoundWidth) + { + m_lineBoundWidth = lineBoundWidth; + } + void ConfigureTranslationManipulatorAppearance3d(TranslationManipulators* translationManipulators) { translationManipulators->SetAxes(AZ::Vector3::CreateAxisX(), AZ::Vector3::CreateAxisY(), AZ::Vector3::CreateAxisZ()); diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/TranslationManipulators.h b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/TranslationManipulators.h index 04d8e24ae6..65e53f0680 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/TranslationManipulators.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/TranslationManipulators.h @@ -65,6 +65,9 @@ namespace AzToolsFramework void ConfigureSurfaceView(float radius, const AZ::Color& color); + //! Sets the bound width to use for the line/axis of a linear manipulator. + void SetLineBoundWidth(float lineBoundWidth); + private: AZ_DISABLE_COPY_MOVE(TranslationManipulators) @@ -76,6 +79,7 @@ namespace AzToolsFramework AZStd::vector> m_linearManipulators; AZStd::vector> m_planarManipulators; AZStd::shared_ptr m_surfaceManipulator = nullptr; + float m_lineBoundWidth = 0.01f; //!< The default line bound width for the linear manipulator axis. }; //! IndexedTranslationManipulator wraps a standard TranslationManipulators and allows it to be linked diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Viewport/ViewportMessages.h b/Code/Framework/AzToolsFramework/AzToolsFramework/Viewport/ViewportMessages.h index f6ba87a0ec..5c2160b341 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Viewport/ViewportMessages.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Viewport/ViewportMessages.h @@ -156,22 +156,24 @@ namespace AzToolsFramework class ViewportInteractionRequests { public: - //! Return the current camera state for this viewport. + //! Returns the current camera state for this viewport. virtual AzFramework::CameraState GetCameraState() = 0; - //! Return if grid snapping is enabled. + //! Returns if grid snapping is enabled. virtual bool GridSnappingEnabled() = 0; - //! Return the grid snapping size. + //! Returns the grid snapping size. virtual float GridSize() = 0; //! Does the grid currently want to be displayed. virtual bool ShowGrid() = 0; - //! Return if angle snapping is enabled. + //! Returns if angle snapping is enabled. virtual bool AngleSnappingEnabled() = 0; - //! Return the angle snapping/step size. + //! Returns the angle snapping/step size. virtual float AngleStep() = 0; - //! Transform a point in world space to screen space coordinates in Qt Widget space. + //! Returns the current line bound width for manipulators. + virtual float ManipulatorLineBoundWidth() = 0; + //! Transforms a point in world space to screen space coordinates in Qt Widget space. //! Multiply by DeviceScalingFactor to get the position in viewport pixel space. virtual AzFramework::ScreenPoint ViewportWorldToScreen(const AZ::Vector3& worldPosition) = 0; - //! Transform a point from Qt widget screen space to world space based on the given clip space depth. + //! Transforms a point from Qt widget screen space to world space based on the given clip space depth. //! Depth specifies a relative camera depth to project in the range of [0.f, 1.f]. //! Returns the world space position if successful. virtual AZStd::optional ViewportScreenToWorld(const AzFramework::ScreenPoint& screenPosition, float depth) = 0; @@ -201,6 +203,8 @@ namespace AzToolsFramework virtual bool AngleSnappingEnabled() const = 0; //! Return the angle snapping/step size. virtual float AngleStep() const = 0; + //! Returns the current line bound width for manipulators. + virtual float ManipulatorLineBoundWidth() const = 0; }; //! Type to inherit to implement ViewportInteractionRequests. @@ -210,11 +214,15 @@ namespace AzToolsFramework class ViewportSettingNotifications { public: - virtual void OnGridSnappingChanged([[maybe_unused]] bool enabled) {} - virtual void OnDrawHelpersChanged([[maybe_unused]] bool enabled) {} + virtual void OnGridSnappingChanged([[maybe_unused]] bool enabled) + { + } + virtual void OnDrawHelpersChanged([[maybe_unused]] bool enabled) + { + } protected: - ViewportSettingNotifications() = default; + ~ViewportSettingNotifications() = default; }; using ViewportSettingsNotificationBus = AZ::EBus; @@ -336,4 +344,23 @@ namespace AzToolsFramework } return AzFramework::ClickDetector::ClickEvent::Nil; } + + //! Wrap EBus call to retrieve manipulator line bound width. + //! @note It is possible to pass AzFramework::InvalidViewportId to perform a Broadcast as opposed to a targeted Event. + inline float ManipulatorLineBoundWidth(AzFramework::ViewportId viewportId) + { + float lineBoundWidth = 0.0f; + if (viewportId != AzFramework::InvalidViewportId) + { + ViewportInteraction::ViewportInteractionRequestBus::EventResult( + lineBoundWidth, viewportId, &ViewportInteraction::ViewportInteractionRequestBus::Events::ManipulatorLineBoundWidth); + } + else + { + ViewportInteraction::ViewportInteractionRequestBus::BroadcastResult( + lineBoundWidth, &ViewportInteraction::ViewportInteractionRequestBus::Events::ManipulatorLineBoundWidth); + } + + return lineBoundWidth; + } } // namespace AzToolsFramework diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.cpp index d315243697..fa263334fe 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.cpp @@ -1249,6 +1249,7 @@ namespace AzToolsFramework AZStd::unique_ptr translationManipulators = AZStd::make_unique( TranslationManipulators::Dimensions::Three, AZ::Transform::CreateIdentity(), AZ::Vector3::CreateOne()); + translationManipulators->SetLineBoundWidth(ManipulatorLineBoundWidth(ViewportUi::DefaultViewportId)); InitializeManipulators(*translationManipulators); @@ -1545,6 +1546,7 @@ namespace AzToolsFramework AZ_PROFILE_FUNCTION(AzToolsFramework); AZStd::unique_ptr scaleManipulators = AZStd::make_unique(AZ::Transform::CreateIdentity()); + scaleManipulators->SetLineBoundWidth(ManipulatorLineBoundWidth(ViewportUi::DefaultViewportId)); InitializeManipulators(*scaleManipulators); diff --git a/Gems/Atom/Tools/AtomToolsFramework/Code/Include/AtomToolsFramework/Viewport/RenderViewportWidget.h b/Gems/Atom/Tools/AtomToolsFramework/Code/Include/AtomToolsFramework/Viewport/RenderViewportWidget.h index 62e2f834c8..4e2afbf056 100644 --- a/Gems/Atom/Tools/AtomToolsFramework/Code/Include/AtomToolsFramework/Viewport/RenderViewportWidget.h +++ b/Gems/Atom/Tools/AtomToolsFramework/Code/Include/AtomToolsFramework/Viewport/RenderViewportWidget.h @@ -97,6 +97,7 @@ namespace AtomToolsFramework bool ShowGrid() override; bool AngleSnappingEnabled() override; float AngleStep() override; + float ManipulatorLineBoundWidth() override; AzFramework::ScreenPoint ViewportWorldToScreen(const AZ::Vector3& worldPosition) override; AZStd::optional ViewportScreenToWorld(const AzFramework::ScreenPoint& screenPosition, float depth) override; AZStd::optional ViewportScreenToWorldRay( diff --git a/Gems/Atom/Tools/AtomToolsFramework/Code/Source/Viewport/RenderViewportWidget.cpp b/Gems/Atom/Tools/AtomToolsFramework/Code/Source/Viewport/RenderViewportWidget.cpp index cbb30ba6da..bf3b00f8ba 100644 --- a/Gems/Atom/Tools/AtomToolsFramework/Code/Source/Viewport/RenderViewportWidget.cpp +++ b/Gems/Atom/Tools/AtomToolsFramework/Code/Source/Viewport/RenderViewportWidget.cpp @@ -340,6 +340,11 @@ namespace AtomToolsFramework return m_viewportSettings ? m_viewportSettings->AngleStep() : 0.0f; } + float RenderViewportWidget::ManipulatorLineBoundWidth() + { + return m_viewportSettings ? m_viewportSettings->ManipulatorLineBoundWidth() : 0.1f; + } + void RenderViewportWidget::SetViewportSettings(const AzToolsFramework::ViewportInteraction::ViewportSettings* viewportSettings) { m_viewportSettings = viewportSettings; diff --git a/Gems/LmbrCentral/Code/Source/Shape/EditorPolygonPrismShapeComponentMode.cpp b/Gems/LmbrCentral/Code/Source/Shape/EditorPolygonPrismShapeComponentMode.cpp index c26c0562eb..efde4df9d1 100644 --- a/Gems/LmbrCentral/Code/Source/Shape/EditorPolygonPrismShapeComponentMode.cpp +++ b/Gems/LmbrCentral/Code/Source/Shape/EditorPolygonPrismShapeComponentMode.cpp @@ -121,13 +121,12 @@ namespace LmbrCentral m_heightManipulator->SetAxis(AZ::Vector3::CreateAxisZ()); const float lineLength = 0.5f; - const float lineWidth = 0.05f; const float coneLength = 0.28f; const float coneRadius = 0.07f; ManipulatorViews views; views.emplace_back(CreateManipulatorViewLine( *m_heightManipulator, AZ::Color(0.0f, 0.0f, 1.0f, 1.0f), - lineLength, lineWidth)); + lineLength, AzToolsFramework::ManipulatorLineBoundWidth(AzFramework::InvalidViewportId))); views.emplace_back(CreateManipulatorViewCone(*m_heightManipulator, AZ::Color(0.0f, 0.0f, 1.0f, 1.0f), m_heightManipulator->GetAxis() * (lineLength - coneLength), coneLength, coneRadius)); diff --git a/Gems/PhysX/Code/Editor/EditorSubComponentModeAngleCone.cpp b/Gems/PhysX/Code/Editor/EditorSubComponentModeAngleCone.cpp index 778fce1546..389deb078e 100644 --- a/Gems/PhysX/Code/Editor/EditorSubComponentModeAngleCone.cpp +++ b/Gems/PhysX/Code/Editor/EditorSubComponentModeAngleCone.cpp @@ -339,14 +339,13 @@ namespace PhysX { const float coneLength = 0.28f; const float coneRadius = 0.07f; - const float lineWidth = 0.05f; - const auto configureLinearView = [lineWidth, coneLength, axisLength, coneRadius]( + const auto configureLinearView = [coneLength, axisLength, coneRadius]( AzToolsFramework::LinearManipulator* linearManipulator, const AZ::Color& color) { AzToolsFramework::ManipulatorViews views; views.emplace_back(CreateManipulatorViewLine( - *linearManipulator, color, axisLength, lineWidth)); + *linearManipulator, color, axisLength, AzToolsFramework::ManipulatorLineBoundWidth(AzFramework::InvalidViewportId))); views.emplace_back(CreateManipulatorViewCone( *linearManipulator, color, linearManipulator->GetAxis() * (axisLength - coneLength), coneLength, coneRadius));