From 53eef1104cb1ea9d0e693fc0c81738741da38528 Mon Sep 17 00:00:00 2001 From: "Documenter.jl" Date: Mon, 18 Mar 2024 22:23:34 +0000 Subject: [PATCH] build based on 4587ed0 --- stable | 2 +- v3 | 2 +- v3.3 | 1 + v3.3.0/api/internal/index.html | 824 +++++++++++++ v3.3.0/api/public/index.html | 701 +++++++++++ v3.3.0/assets/AbstractTree.png | Bin 0 -> 57654 bytes v3.3.0/assets/DynamicInjection.png | Bin 0 -> 67381 bytes v3.3.0/assets/System.png | Bin 0 -> 10944 bytes v3.3.0/assets/ThermalStandard.png | Bin 0 -> 52212 bytes v3.3.0/assets/documenter.js | 331 +++++ v3.3.0/assets/gen_metamodel.png | Bin 0 -> 168975 bytes v3.3.0/assets/inv_metamodel.png | Bin 0 -> 854916 bytes v3.3.0/assets/logo.png | Bin 0 -> 7972 bytes v3.3.0/assets/search.js | 267 ++++ v3.3.0/assets/themes/documenter-dark.css | 7 + v3.3.0/assets/themes/documenter-light.css | 9 + v3.3.0/assets/themeswap.js | 66 + v3.3.0/assets/warner.js | 49 + .../adding_new_types/index.html | 18 + .../developer/index.html | 2 + .../troubleshooting/index.html | 2 + v3.3.0/generate_input_config_table.jl | 69 ++ v3.3.0/generate_validation_table.jl | 35 + v3.3.0/index.html | 12 + .../adding_additional_fields/index.html | 83 ++ .../adding_custom_types/index.html | 23 + .../extending_parsing/index.html | 6 + .../model_library/dynamic_branch/index.html | 50 + .../dynamic_generator/index.html | 21 + .../model_library/dynamic_inverter/index.html | 24 + .../model_library/generated_ACBus/index.html | 35 + v3.3.0/model_library/generated_AGC/index.html | 33 + v3.3.0/model_library/generated_AVR/index.html | 1079 +++++++++++++++++ v3.3.0/model_library/generated_Arc/index.html | 10 + .../model_library/generated_Area/index.html | 20 + .../generated_BatteryEMS/index.html | 87 ++ .../generated_Converter/index.html | 237 ++++ .../model_library/generated_DCBus/index.html | 29 + .../generated_DCSource/index.html | 61 + .../generated_ExponentialLoad/index.html | 78 ++ .../model_library/generated_Filter/index.html | 62 + .../generated_FixedAdmittance/index.html | 33 + .../generated_FrequencyEstimator/index.html | 52 + .../generated_GenericBattery/index.html | 90 ++ .../generated_HybridSystem/index.html | 2 + .../generated_HydroDispatch/index.html | 67 + .../generated_HydroEnergyReservoir/index.html | 110 ++ .../generated_HydroPumpedStorage/index.html | 140 +++ .../generated_InnerControl/index.html | 113 ++ .../index.html | 68 ++ .../index.html | 64 + .../generated_InverterLimiter/index.html | 31 + .../model_library/generated_Line/index.html | 48 + .../generated_LoadZone/index.html | 17 + .../generated_Machine/index.html | 548 +++++++++ .../generated_MarketBidCost/index.html | 24 + .../generated_MonitoredLine/index.html | 53 + .../generated_MultiStartCost/index.html | 20 + v3.3.0/model_library/generated_PSS/index.html | 463 +++++++ .../index.html | 77 ++ .../generated_PowerLoad/index.html | 42 + .../generated_RenewableDispatch/index.html | 61 + .../generated_RenewableFix/index.html | 45 + .../model_library/generated_Shaft/index.html | 90 ++ .../model_library/generated_Source/index.html | 40 + .../generated_StandardLoad/index.html | 90 ++ .../index.html | 55 + .../index.html | 31 + .../generated_SwitchedAdmittance/index.html | 49 + .../generated_TModelHVDCLine/index.html | 46 + .../generated_TapTransformer/index.html | 47 + .../generated_ThermalMultiStart/index.html | 103 ++ .../generated_ThermalStandard/index.html | 85 ++ .../generated_ThreePartCost/index.html | 15 + .../generated_Transfer/index.html | 20 + .../generated_Transformer2W/index.html | 41 + .../index.html | 41 + .../generated_TurbineGov/index.html | 487 ++++++++ .../generated_TwoPartCost/index.html | 9 + .../generated_TwoTerminalHVDCLine/index.html | 69 ++ .../generated_TwoTerminalVSCDCLine/index.html | 70 ++ .../index.html | 69 ++ v3.3.0/model_library/outer_control/index.html | 49 + .../regulation_device/index.html | 2 + v3.3.0/model_library/reserves/index.html | 136 +++ .../modeler_guide/enumerated_types/index.html | 2 + .../example_dynamic_data/index.html | 2 + .../modeler_guide/market_bid_cost/index.html | 116 ++ .../modeling_with_JuMP/index.html | 143 +++ v3.3.0/modeler_guide/parsing/index.html | 224 ++++ v3.3.0/modeler_guide/system/index.html | 504 ++++++++ .../system_dynamic_data/index.html | 347 ++++++ v3.3.0/modeler_guide/time_series/index.html | 70 ++ .../modeler_guide/type_structure/index.html | 2 + v3.3.0/quick_start_guide/index.html | 409 +++++++ v3.3.0/search/index.html | 2 + v3.3.0/search_index.js | 3 + v3.3.0/siteinfo.js | 1 + v3.3.0/tutorials/add_forecasts/index.html | 159 +++ v3.3.0/tutorials/basics/index.html | 247 ++++ v3.3.0/tutorials/dynamic_data/index.html | 2 + v3.3.0/tutorials/modifying_data/index.html | 55 + .../parse_powerflow_cases/index.html | 271 +++++ .../tutorials/parse_tabular_data/index.html | 233 ++++ .../tutorials/powersystembuilder/index.html | 265 ++++ v3.3.0/tutorials/serialize_data/index.html | 82 ++ v3.3.0/tutorials/tutorials_data/OMIB.raw | 27 + v3.3.0/tutorials/tutorials_data/RTS-GMLC.RAW | 500 ++++++++ v3.3.0/tutorials/tutorials_data/RTS_GMLC.m | 802 ++++++++++++ .../tutorials/tutorials_data/TestGENCLS.dyr | 5 + .../tutorials_data/ThreeBusInverter.raw | 34 + .../tutorials_data/ThreeBusNetwork.raw | 35 + v3.3.0/tutorials/tutorials_data/case5.m | 59 + v3.3.0/tutorials/tutorials_data/case5_re.m | 85 ++ v3.3.0/tutorials/utils/docs_utils.jl | 13 + versions.js | 3 +- 116 files changed, 12846 insertions(+), 3 deletions(-) create mode 120000 v3.3 create mode 100644 v3.3.0/api/internal/index.html create mode 100644 v3.3.0/api/public/index.html create mode 100644 v3.3.0/assets/AbstractTree.png create mode 100644 v3.3.0/assets/DynamicInjection.png create mode 100644 v3.3.0/assets/System.png create mode 100644 v3.3.0/assets/ThermalStandard.png create mode 100644 v3.3.0/assets/documenter.js create mode 100644 v3.3.0/assets/gen_metamodel.png create mode 100644 v3.3.0/assets/inv_metamodel.png create mode 100644 v3.3.0/assets/logo.png create mode 100644 v3.3.0/assets/search.js create mode 100644 v3.3.0/assets/themes/documenter-dark.css create mode 100644 v3.3.0/assets/themes/documenter-light.css create mode 100644 v3.3.0/assets/themeswap.js create mode 100644 v3.3.0/assets/warner.js create mode 100644 v3.3.0/code_base_developer_guide/adding_new_types/index.html create mode 100644 v3.3.0/code_base_developer_guide/developer/index.html create mode 100644 v3.3.0/code_base_developer_guide/troubleshooting/index.html create mode 100644 v3.3.0/generate_input_config_table.jl create mode 100644 v3.3.0/generate_validation_table.jl create mode 100644 v3.3.0/index.html create mode 100644 v3.3.0/model_developer_guide/adding_additional_fields/index.html create mode 100644 v3.3.0/model_developer_guide/adding_custom_types/index.html create mode 100644 v3.3.0/model_developer_guide/extending_parsing/index.html create mode 100644 v3.3.0/model_library/dynamic_branch/index.html create mode 100644 v3.3.0/model_library/dynamic_generator/index.html create mode 100644 v3.3.0/model_library/dynamic_inverter/index.html create mode 100644 v3.3.0/model_library/generated_ACBus/index.html create mode 100644 v3.3.0/model_library/generated_AGC/index.html create mode 100644 v3.3.0/model_library/generated_AVR/index.html create mode 100644 v3.3.0/model_library/generated_Arc/index.html create mode 100644 v3.3.0/model_library/generated_Area/index.html create mode 100644 v3.3.0/model_library/generated_BatteryEMS/index.html create mode 100644 v3.3.0/model_library/generated_Converter/index.html create mode 100644 v3.3.0/model_library/generated_DCBus/index.html create mode 100644 v3.3.0/model_library/generated_DCSource/index.html create mode 100644 v3.3.0/model_library/generated_ExponentialLoad/index.html create mode 100644 v3.3.0/model_library/generated_Filter/index.html create mode 100644 v3.3.0/model_library/generated_FixedAdmittance/index.html create mode 100644 v3.3.0/model_library/generated_FrequencyEstimator/index.html create mode 100644 v3.3.0/model_library/generated_GenericBattery/index.html create mode 100644 v3.3.0/model_library/generated_HybridSystem/index.html create mode 100644 v3.3.0/model_library/generated_HydroDispatch/index.html create mode 100644 v3.3.0/model_library/generated_HydroEnergyReservoir/index.html create mode 100644 v3.3.0/model_library/generated_HydroPumpedStorage/index.html create mode 100644 v3.3.0/model_library/generated_InnerControl/index.html create mode 100644 v3.3.0/model_library/generated_InterconnectingConverter/index.html create mode 100644 v3.3.0/model_library/generated_InterruptiblePowerLoad/index.html create mode 100644 v3.3.0/model_library/generated_InverterLimiter/index.html create mode 100644 v3.3.0/model_library/generated_Line/index.html create mode 100644 v3.3.0/model_library/generated_LoadZone/index.html create mode 100644 v3.3.0/model_library/generated_Machine/index.html create mode 100644 v3.3.0/model_library/generated_MarketBidCost/index.html create mode 100644 v3.3.0/model_library/generated_MonitoredLine/index.html create mode 100644 v3.3.0/model_library/generated_MultiStartCost/index.html create mode 100644 v3.3.0/model_library/generated_PSS/index.html create mode 100644 v3.3.0/model_library/generated_PhaseShiftingTransformer/index.html create mode 100644 v3.3.0/model_library/generated_PowerLoad/index.html create mode 100644 v3.3.0/model_library/generated_RenewableDispatch/index.html create mode 100644 v3.3.0/model_library/generated_RenewableFix/index.html create mode 100644 v3.3.0/model_library/generated_Shaft/index.html create mode 100644 v3.3.0/model_library/generated_Source/index.html create mode 100644 v3.3.0/model_library/generated_StandardLoad/index.html create mode 100644 v3.3.0/model_library/generated_StaticReserveNonSpinning/index.html create mode 100644 v3.3.0/model_library/generated_StorageManagementCost/index.html create mode 100644 v3.3.0/model_library/generated_SwitchedAdmittance/index.html create mode 100644 v3.3.0/model_library/generated_TModelHVDCLine/index.html create mode 100644 v3.3.0/model_library/generated_TapTransformer/index.html create mode 100644 v3.3.0/model_library/generated_ThermalMultiStart/index.html create mode 100644 v3.3.0/model_library/generated_ThermalStandard/index.html create mode 100644 v3.3.0/model_library/generated_ThreePartCost/index.html create mode 100644 v3.3.0/model_library/generated_Transfer/index.html create mode 100644 v3.3.0/model_library/generated_Transformer2W/index.html create mode 100644 v3.3.0/model_library/generated_TransmissionInterface/index.html create mode 100644 v3.3.0/model_library/generated_TurbineGov/index.html create mode 100644 v3.3.0/model_library/generated_TwoPartCost/index.html create mode 100644 v3.3.0/model_library/generated_TwoTerminalHVDCLine/index.html create mode 100644 v3.3.0/model_library/generated_TwoTerminalVSCDCLine/index.html create mode 100644 v3.3.0/model_library/generated_VariableReserveNonSpinning/index.html create mode 100644 v3.3.0/model_library/outer_control/index.html create mode 100644 v3.3.0/model_library/regulation_device/index.html create mode 100644 v3.3.0/model_library/reserves/index.html create mode 100644 v3.3.0/modeler_guide/enumerated_types/index.html create mode 100644 v3.3.0/modeler_guide/example_dynamic_data/index.html create mode 100644 v3.3.0/modeler_guide/market_bid_cost/index.html create mode 100644 v3.3.0/modeler_guide/modeling_with_JuMP/index.html create mode 100644 v3.3.0/modeler_guide/parsing/index.html create mode 100644 v3.3.0/modeler_guide/system/index.html create mode 100644 v3.3.0/modeler_guide/system_dynamic_data/index.html create mode 100644 v3.3.0/modeler_guide/time_series/index.html create mode 100644 v3.3.0/modeler_guide/type_structure/index.html create mode 100644 v3.3.0/quick_start_guide/index.html create mode 100644 v3.3.0/search/index.html create mode 100644 v3.3.0/search_index.js create mode 100644 v3.3.0/siteinfo.js create mode 100644 v3.3.0/tutorials/add_forecasts/index.html create mode 100644 v3.3.0/tutorials/basics/index.html create mode 100644 v3.3.0/tutorials/dynamic_data/index.html create mode 100644 v3.3.0/tutorials/modifying_data/index.html create mode 100644 v3.3.0/tutorials/parse_powerflow_cases/index.html create mode 100644 v3.3.0/tutorials/parse_tabular_data/index.html create mode 100644 v3.3.0/tutorials/powersystembuilder/index.html create mode 100644 v3.3.0/tutorials/serialize_data/index.html create mode 100644 v3.3.0/tutorials/tutorials_data/OMIB.raw create mode 100644 v3.3.0/tutorials/tutorials_data/RTS-GMLC.RAW create mode 100644 v3.3.0/tutorials/tutorials_data/RTS_GMLC.m create mode 100644 v3.3.0/tutorials/tutorials_data/TestGENCLS.dyr create mode 100644 v3.3.0/tutorials/tutorials_data/ThreeBusInverter.raw create mode 100644 v3.3.0/tutorials/tutorials_data/ThreeBusNetwork.raw create mode 100644 v3.3.0/tutorials/tutorials_data/case5.m create mode 100644 v3.3.0/tutorials/tutorials_data/case5_re.m create mode 100644 v3.3.0/tutorials/utils/docs_utils.jl diff --git a/stable b/stable index bc4c9fd45a..e682ea4299 120000 --- a/stable +++ b/stable @@ -1 +1 @@ -v3.2.3 \ No newline at end of file +v3.3.0 \ No newline at end of file diff --git a/v3 b/v3 index bc4c9fd45a..e682ea4299 120000 --- a/v3 +++ b/v3 @@ -1 +1 @@ -v3.2.3 \ No newline at end of file +v3.3.0 \ No newline at end of file diff --git a/v3.3 b/v3.3 new file mode 120000 index 0000000000..e682ea4299 --- /dev/null +++ b/v3.3 @@ -0,0 +1 @@ +v3.3.0 \ No newline at end of file diff --git a/v3.3.0/api/internal/index.html b/v3.3.0/api/internal/index.html new file mode 100644 index 0000000000..4e90ca5abd --- /dev/null +++ b/v3.3.0/api/internal/index.html @@ -0,0 +1,824 @@ + +Internal API Reference · PowerSystems.jl

Internal API

PowerSystems._pti_dtypesConstant

lookup array of data types for PTI file sections given by field_name, as enumerated by PSS/E Program Operation Manual.

source
PowerSystems.EX4VSAType
mutable struct EX4VSA <: AVR
+    Iflim::Float64
+    d::Float64
+    f::Float64
+    Spar::Float64
+    K1::Float64
+    K2::Float64
+    Oel_lim::MinMax
+    G::Float64
+    Ta::Float64
+    Tb::Float64
+    Te::Float64
+    E_lim::MinMax
+    V_ref::Float64
+    ext::Dict{String, Any}
+    states::Vector{Symbol}
+    n_states::Int
+    internal::InfrastructureSystemsInternal
+end

IEEE Excitation System for Voltage Security Assesment

Arguments

  • Iflim::Float64: OEL Field current limit, validation range: (0, nothing), action if invalid: warn
  • d::Float64: OEL parameter d, validation range: (0, nothing), action if invalid: warn
  • f::Float64: OEL parameter f, validation range: (0, nothing), action if invalid: warn
  • Spar::Float64: OEL parameter Spar, validation range: (0, nothing), action if invalid: warn
  • K1::Float64: OEL delay time constant, validation range: (0, nothing), action if invalid: warn
  • K2::Float64: OEL parameter K2, validation range: (0, nothing), action if invalid: warn
  • Oel_lim::MinMax: Oel integrator limits (Oelmin, Oelmax)
  • G::Float64: AVR Exciter Gain, validation range: (0, nothing), action if invalid: warn
  • Ta::Float64: Numerator lead-lag (lag) time constant in s, validation range: (0, nothing), action if invalid: warn
  • Tb::Float64: Denominator lead-lag (lag) time constant in s, validation range: (0, nothing), action if invalid: warn
  • Te::Float64: Exciter Time Constant in s, validation range: (0, nothing), action if invalid: warn
  • E_lim::MinMax: Voltage regulator limits (regulator output) (Emin, Emax)
  • V_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states are:
Vll: Lead-lag internal state,
+Vex: Exciter Output, 
+oel: OEL integrator state
  • n_states::Int: The EX4VSA has 3 states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.EXST1Type
mutable struct EXST1 <: AVR
+    Tr::Float64
+    Vi_lim::MinMax
+    Tc::Float64
+    Tb::Float64
+    Ka::Float64
+    Ta::Float64
+    Vr_lim::MinMax
+    Kc::Float64
+    Kf::Float64
+    Tf::Float64
+    V_ref::Float64
+    ext::Dict{String, Any}
+    states::Vector{Symbol}
+    n_states::Int
+    internal::InfrastructureSystemsInternal
+end

IEEE Type ST1 Excitation System (PTI version)

Arguments

  • Tr::Float64: Voltage Measurement Time Constant in s, validation range: (0, nothing), action if invalid: warn
  • Vi_lim::MinMax: Voltage input limits (Vimin, Vimax)
  • Tc::Float64: Numerator lead-lag (lead) time constant in s, validation range: (0, nothing), action if invalid: warn
  • Tb::Float64: Denominator lead-lag (lag) time constant in s, validation range: (0, nothing), action if invalid: warn
  • Ka::Float64: Amplifier Gain, validation range: (0, nothing), action if invalid: warn
  • Ta::Float64: Amplifier Time Constant in s, validation range: (0, nothing), action if invalid: warn
  • Vr_lim::MinMax: Voltage regulator limits (regulator output) (Vrmin, Vrmax)
  • Kc::Float64: Current field constant limiter multiplier, validation range: (0, nothing)
  • Kf::Float64: Excitation control system stabilizer gain, validation range: (eps(), 0.3), action if invalid: warn
  • Tf::Float64: Excitation control system stabilizer time constant, validation range: (eps(), nothing), action if invalid: error
  • V_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states are:
Vm: Sensed Terminal Voltage,
+Vrll: Lead-Lag state,
+Vr: Regulator Output, 
+Vfb: Feedback state
  • n_states::Int: The EXST1 has 4 states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.ExponentialLoadType
mutable struct ExponentialLoad <: StaticLoad
+    name::String
+    available::Bool
+    bus::ACBus
+    active_power::Float64
+    reactive_power::Float64
+    active_power_coefficient::Float64
+    reactive_power_coefficient::Float64
+    base_power::Float64
+    max_active_power::Float64
+    max_reactive_power::Float64
+    services::Vector{Service}
+    dynamic_injector::Union{Nothing, DynamicInjection}
+    ext::Dict{String, Any}
+    time_series_container::InfrastructureSystems.TimeSeriesContainer
+    internal::InfrastructureSystemsInternal
+end

Data structure for a static exponential load.

Arguments

  • name::String
  • available::Bool
  • bus::ACBus
  • active_power::Float64
  • reactive_power::Float64
  • active_power_coefficient::Float64: Coefficient relating voltage dependence for power P = P0 * V^α, validation range: (0, nothing), action if invalid: warn
  • reactive_power_coefficient::Float64: Coefficient relating voltage dependence for power Q = Q0 * V^β, validation range: (0, nothing), action if invalid: warn
  • base_power::Float64: Base power of the unit in MVA, validation range: (0, nothing), action if invalid: warn
  • max_active_power::Float64
  • max_reactive_power::Float64
  • services::Vector{Service}: Services that this device contributes to
  • dynamic_injector::Union{Nothing, DynamicInjection}: corresponding dynamic injection device
  • ext::Dict{String, Any}
  • time_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.PowerFlowDataNetworkMethod
PowerFlowDataNetwork(
+    file::Union{IO, String};
+    kwargs...
+) -> PowerSystems.PowerFlowDataNetwork
+

Constructs PowerFlowDataNetwork from a raw file. Currently Supports PSSE data files v30, v32 and v33

source
PowerSystems.SwitchedAdmittanceType
mutable struct SwitchedAdmittance <: ElectricLoad
+    name::String
+    available::Bool
+    bus::ACBus
+    Y::Complex{Float64}
+    number_of_steps::Int
+    Y_increase::Complex{Float64}
+    dynamic_injector::Union{Nothing, DynamicInjection}
+    services::Vector{Service}
+    ext::Dict{String, Any}
+    time_series_container::InfrastructureSystems.TimeSeriesContainer
+    internal::InfrastructureSystemsInternal
+end

Arguments

  • name::String
  • available::Bool
  • bus::ACBus
  • Y::Complex{Float64}: Initial impedance at N = 0
  • number_of_steps::Int: Number of steps for adjustable shunt
  • Y_increase::Complex{Float64}: Admittance increment for each of step increase
  • dynamic_injector::Union{Nothing, DynamicInjection}: corresponding dynamic injection model for admittance
  • services::Vector{Service}: Services that this device contributes to
  • ext::Dict{String, Any}
  • time_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
Base.convertMethod
convert(
+    _::Type{@NamedTuple{min::Float64, max::Float64}},
+    input::Tuple{Float64, Float64}
+) -> @NamedTuple{min::Float64, max::Float64}
+

Convert Tuple to Min Max Named Tuple

source
Base.convertMethod
convert(
+    _::Type{@NamedTuple{up::Float64, down::Float64}},
+    input::Tuple{Float64, Float64}
+) -> @NamedTuple{up::Float64, down::Float64}
+

Convert Tuple to Up Down Named Tuple

source
PowerSystems._convert_argument_types!Method
_convert_argument_types!(
+    str::AbstractString,
+    struct_args::Vector
+) -> Any
+

Convert specific parameters to types that are not Float64 for specific inverter components

source
PowerSystems._create_starbus_from_transformerMethod
_create_starbus_from_transformer(
+    pm_data::Dict,
+    transformer::Dict,
+    starbus_id::Int64
+) -> Dict{String, Any}
+
create_starbus(pm_data, transformer)

Creates a starbus from a given three-winding transformer. "sourceid" is given by `["busi", "name", "I", "J", "K", "CKT"]` where "bus_i" and "name" are the modified names for the starbus, and "I", "J", "K" and "CKT" come from the originating transformer, in the PSS(R)E transformer specification.

source
PowerSystems._float2stringMethod
_float2string(
+    v::AbstractFloat,
+    float_precision::Int64
+) -> Union{String, WeakRefStrings.PosLenString}
+

converts a float value into a string of fixed precision

sprintf would do the job but this work around is needed because sprintf cannot take format strings during runtime

source
PowerSystems._get_bus_valueMethod
_get_bus_value(bus_i, field, pm_data) -> Any
+
_get_bus_value(bus_i, field, pm_data)

Returns the value of field of bus_i from the PowerModels data. Requires "bus" Dict to already be populated.

source
PowerSystems._get_line_elementsMethod
_get_line_elements(
+    line::AbstractString
+) -> Tuple{Vector{T} where T<:SubString, Union{String, SubString}}
+
_get_line_elements(line)

Internal function. Uses regular expressions to extract all separate data elements from a line of a PTI file and populate them into an Array{String}. Comments, typically indicated at the end of a line with a '/' character, are also extracted separately, and Array{Array{String}, String} is returned.

source
PowerSystems._greyMethod
_grey(s::String) -> String
+

Makes a string grey in the terminal, does not seem to work well on Windows terminals more info can be found at https://en.wikipedia.org/wiki/ANSIescapecode

source
PowerSystems._import_remaining_comps!Method
_import_remaining_comps!(
+    data_out::Dict,
+    data_in::Dict;
+    exclude
+)
+

Imports remaining top level component lists from data_in into data_out, excluding keys in exclude

source
PowerSystems._import_remaining_keys!Method
_import_remaining_keys!(
+    comp_dest::Dict,
+    comp_src::Dict;
+    exclude
+)
+

Imports remaining keys from a source component into detestation component, excluding keys in exclude

source
PowerSystems._init_bus!Method
_init_bus!(bus::Dict{String, Any}, id::Int64)
+
_init_bus!(bus, id)

Initializes a bus of id id with default values given in the PSS(R)E specification.

source
PowerSystems._instantiate_param_vector_sizeMethod
_instantiate_param_vector_size(
+    str::AbstractString,
+    param_map::Dict
+) -> Any
+

Construct appropiate vector size for components that collect parameters from more than 2 PSS/E components

source
PowerSystems._merge_cost_data!Method
_merge_cost_data!(
+    data::Dict{String, Any}
+) -> Union{Nothing, Dict{String, Any}}
+

merges generator cost functions into generator data, if costs exist

source
PowerSystems._parse_dyr_componentsMethod
_parse_dyr_components(
+    dyr_file::AbstractString
+) -> Dict{Int64, Any}
+

Parse a .dyr file directly from its name by constructing its dictionary of dictionaries.

source
PowerSystems._parse_dyr_componentsMethod
_parse_dyr_components(data::Dict) -> Dict{Int64, Any}
+

Parse dictionary of dictionaries of data (from _parse_dyr_file) into a dictionary of struct components. The function receives the parsed dictionary and constructs a dictionary indexed by bus, that contains a dictionary with each dynamic generator and dynamic inverter components (indexed via its id).

For Generators, each dictionary indexed by id contains a vector with 5 of its components:

  • Machine
  • Shaft
  • AVR
  • TurbineGov
  • PSS

For Inverters, each dictionary indexed by id contains a vector with 7 of its components:

  • Converter
  • ActivePowerControl
  • ReactivePowerControl
  • InnerControl
  • DCSource
  • FrequencyEstimator
  • Filter
source
PowerSystems._parse_dyr_fileMethod
_parse_dyr_file(file::AbstractString) -> Dict{Int64, Dict}
+

Parse .dyr file into a dictionary indexed by bus number. Each bus number key has a dictionary indexed by component type and id.

Comments in .dyr files are not supported (beginning of lines with //).

source
PowerSystems._parse_dyr_generator_components!Method
_parse_dyr_generator_components!(
+    bus_dict::Dict,
+    componentID,
+    componentValues,
+    gen_map::Dict,
+    param_map::Dict
+)
+

Parse dictionary of data (from _parse_dyr_file) into a dictionary of struct components. The function receives the parsed dictionary and constructs a dictionary indexed by bus, that contains a dictionary with each dynamic generator indexed by its id.

source
PowerSystems._parse_dyr_inverter_components!Method
_parse_dyr_inverter_components!(
+    bus_dict::Dict,
+    inv_dict::Dict,
+    componentID::Tuple{String, String},
+    inv_map::Dict
+)
+

Parse dictionary of data (from _parse_dyr_file) into a dictionary of struct components. The function receives the parsed dictionary and constructs a dictionary indexed by bus, that contains a dictionary with each dynamic inverter indexed by its id.

source
PowerSystems._parse_elementsMethod
_parse_elements(
+    elements::Array,
+    dtypes::Array,
+    defaults::Dict,
+    section::AbstractString
+) -> Dict{String, Any}
+

This is an experimental method for parsing elements and setting defaults at the same time. It is not currently working but would reduce memory allocations if implemented correctly.

source
PowerSystems._parse_line_element!Method
_parse_line_element!(
+    data::Dict,
+    elements::Array,
+    section::AbstractString
+)
+
_parse_line_element!(data, elements, section)

Internal function. Parses a single "line" of data elements from a PTI file, as given by elements which is an array of the line, typically split at ,. Elements are parsed into data types given by section and saved into data::Dict.

source
PowerSystems._parse_pti_dataMethod
_parse_pti_data(data_io::IO) -> Dict{String, Array{Dict}}
+
_parse_pti_data(data_string, sections)

Internal function. Parse a PTI raw file into a Dict, given the data_string of the file and a list of the sections in the PTI file (typically given by default by get_pti_sections().

source
PowerSystems._populate_argsMethod
_populate_args(param_map::Vector, val) -> Vector{Any}
+

Populate arguments in a vector for each dynamic component (except Shafts). Returns a vector with the parameter values of the argument of each component.

source
PowerSystems._psse2pm_branch!Method
_psse2pm_branch!(
+    pm_data::Dict,
+    pti_data::Dict,
+    import_all::Bool
+)
+
_psse2pm_branch!(pm_data, pti_data)

Parses PSS(R)E-style Branch data into a PowerModels-style Dict. "source_id" is given by ["I", "J", "CKT"] in PSS(R)E Branch specification.

source
PowerSystems._psse2pm_bus!Method
_psse2pm_bus!(
+    pm_data::Dict,
+    pti_data::Dict,
+    import_all::Bool
+)
+
_psse2pm_bus!(pm_data, pti_data)

Parses PSS(R)E-style Bus data into a PowerModels-style Dict. "source_id" is given by ["I", "NAME"] in PSS(R)E Bus specification.

source
PowerSystems._psse2pm_dcline!Method
_psse2pm_dcline!(
+    pm_data::Dict,
+    pti_data::Dict,
+    import_all::Bool
+)
+
_psse2pm_dcline!(pm_data, pti_data)

Parses PSS(R)E-style Two-Terminal and VSC DC Lines data into a PowerModels compatible Dict structure by first converting them to a simple DC Line Model. For Two-Terminal DC lines, "sourceid" is given by ["IPR", "IPI", "NAME"] in the PSS(R)E Two-Terminal DC specification. For Voltage Source Converters, "sourceid" is given by ["IBUS1", "IBUS2", "NAME"], where "IBUS1" is "IBUS" of the first converter bus, and "IBUS2" is the "IBUS" of the second converter bus, in the PSS(R)E Voltage Source Converter specification.

source
PowerSystems._psse2pm_generator!Method
_psse2pm_generator!(
+    pm_data::Dict,
+    pti_data::Dict,
+    import_all::Bool
+)
+
_psse2pm_generator!(pm_data, pti_data)

Parses PSS(R)E-style Generator data in a PowerModels-style Dict. "source_id" is given by ["I", "ID"] in PSS(R)E Generator specification.

source
PowerSystems._psse2pm_load!Method
_psse2pm_load!(
+    pm_data::Dict,
+    pti_data::Dict,
+    import_all::Bool
+)
+
_psse2pm_load!(pm_data, pti_data)

Parses PSS(R)E-style Load data into a PowerModels-style Dict. "source_id" is given by ["I", "ID"] in the PSS(R)E Load specification.

source
PowerSystems._psse2pm_shunt!Method
_psse2pm_shunt!(
+    pm_data::Dict,
+    pti_data::Dict,
+    import_all::Bool
+)
+
_psse2pm_shunt!(pm_data, pti_data)

Parses PSS(R)E-style Fixed and Switched Shunt data into a PowerModels-style Dict. "source_id" is given by ["I", "ID"] for Fixed Shunts, and ["I", "SWREM"] for Switched Shunts, as given by the PSS(R)E Fixed and Switched Shunts specifications.

source
PowerSystems._psse2pm_transformer!Method
_psse2pm_transformer!(
+    pm_data::Dict,
+    pti_data::Dict,
+    import_all::Bool
+)
+
_psse2pm_transformer!(pm_data, pti_data)

Parses PSS(R)E-style Transformer data into a PowerModels-style Dict. "source_id" is given by ["I", "J", "K", "CKT", "winding"], where "winding" is 0 if transformer is two-winding, and 1, 2, or 3 for three-winding, and the remaining keys are defined in the PSS(R)E Transformer specification.

source
PowerSystems._pti_to_powermodels!Method
_pti_to_powermodels!(
+    pti_data::Dict;
+    import_all,
+    validate,
+    correct_branch_rating
+) -> Dict{String, Any}
+
_pti_to_powermodels!(pti_data)

Converts PSS(R)E-style data parsed from a PTI raw file, passed by pti_data into a format suitable for use internally in PowerModels. Imports all remaining data from the PTI file if import_all is true (Default: false).

source
PowerSystems._read_data_rowMethod
_read_data_row(
+    data::PowerSystemTableData,
+    row,
+    field_infos;
+    na_to_nothing
+) -> NamedTuple
+

Reads values from dataframe row and performs necessary conversions.

source
PowerSystems._remove_pwl_cost_duplicates!Function
_remove_pwl_cost_duplicates!(id, comp, type_name) -> Bool
+_remove_pwl_cost_duplicates!(
+    id,
+    comp,
+    type_name,
+    tolerance
+) -> Bool
+

checks that each point in the a pwl function is unqiue, simplifies the function if duplicates appear

source
PowerSystems._simplify_pwl_cost!Function
_simplify_pwl_cost!(id, comp, type_name) -> Bool
+_simplify_pwl_cost!(id, comp, type_name, tolerance) -> Bool
+

checks the slope of each segment in a pwl function, simplifies the function if the slope changes is below a tolerance

source
PowerSystems._split_loads_shunts!Method
_split_loads_shunts!(data::Dict{String, Any})
+
_split_loads_shunts!(data)

Seperates Loads and Shunts in data under separate "load" and "shunt" keys in the PowerModels data format. Includes references to originating bus via "loadbus" and "shuntbus" keys, respectively.

source
PowerSystems._standardize_cost_terms!Method
_standardize_cost_terms!(
+    components::Dict{String},
+    comp_order::Int64,
+    cost_comp_name::String
+) -> Set{Int64}
+

ensures all polynomial costs functions have at exactly comp_order terms

source
PowerSystems._type_arrayMethod
_type_array(
+    string_array::Array{T<:AbstractString, 1}
+) -> Vector
+

Attempts to determine the type of an array of strings extracted from a matlab file

source
PowerSystems._type_valueMethod
_type_value(value_string::AbstractString) -> Any
+

Attempts to determine the type of a string extracted from a matlab file

source
PowerSystems.add_service_internal!Method
add_service_internal!(device::Device, service::Service)
+

This function add a service to the component without checking if the component and the service are attached to the same system

source
PowerSystems.adequacy_checkMethod
adequacy_check(sys::System)
+
adequacy_check(sys::System)

Checks the system for sum(generator ratings) >= sum(load ratings).

Arguments

  • sys::System: system
source
PowerSystems.bus_gen_lookupMethod
bus_gen_lookup(
+    gen_data::Dict{String},
+    bus_data::Dict{String}
+) -> Dict
+

builds a lookup list of what generators are connected to a given bus

source
PowerSystems.bus_load_lookupMethod
bus_load_lookup(
+    load_data::Dict{String},
+    bus_data::Dict{String}
+) -> Dict
+

builds a lookup list of what loads are connected to a given bus

source
PowerSystems.bus_shunt_lookupMethod
bus_shunt_lookup(
+    shunt_data::Dict{String},
+    bus_data::Dict{String}
+) -> Dict
+

builds a lookup list of what shunts are connected to a given bus

source
PowerSystems.bus_storage_lookupMethod
bus_storage_lookup(
+    storage_data::Dict{String},
+    bus_data::Dict{String}
+) -> Dict
+

builds a lookup list of what storage is connected to a given bus

source
PowerSystems.calc_branch_flow_acMethod
calc_branch_flow_ac(data::Dict{String}) -> Dict{String, Any}
+

assumes a vaild ac solution is included in the data and computes the branch flow values

source
PowerSystems.calc_branch_flow_dcMethod
calc_branch_flow_dc(data::Dict{String}) -> Dict{String, Any}
+

assumes a vaild dc solution is included in the data and computes the branch flow values

source
PowerSystems.calc_connected_componentsMethod
calc_connected_components(
+    pm_data::Dict{String};
+    edges
+) -> Set{Set{Int64}}
+

computes the connected components of the network graph returns a set of sets of bus ids, each set is a connected component

source
PowerSystems.calc_cost_pwl_linesMethod
calc_cost_pwl_lines(comp_dict::Dict) -> Dict{Any, Any}
+

compute lines in m and b from from pwl cost models data is a list of components.

Can be run on data or ref data structures

source
PowerSystems.calc_power_balanceMethod
calc_power_balance(data::Dict{String}) -> Dict{String, Any}
+

assumes a vaild solution is included in the data and computes the power balance at each bus

source
PowerSystems.calculate_saturation_coefficientsMethod
calculate_saturation_coefficients(
+    E::Tuple{Float64, Float64},
+    Se::Tuple{Float64, Float64}
+) -> Tuple{Float64, Float64}
+

Obtain coefficients (A, B) of the function Se(x) = B(x - A)^2/x for Se(E1) = B(E1 - A)^2/E1 and Se(E2) = B(E2 - A)^2/E2 and uses the negative solution of the quadratic equation

source
PowerSystems.check_component_additionMethod
check_component_addition(
+    sys::System,
+    component::Component;
+    kwargs...
+)
+

Throws ArgumentError if a PowerSystems rule blocks addition to the system.

This method is tied with handlecomponentaddition!. If the methods are re-implemented for a subtype then whatever is added in handlecomponentaddition! must be checked here.

source
PowerSystems.check_statusMethod
check_status(data::Dict{String})
+

checks that active components are not connected to inactive buses, otherwise prints warnings

source
PowerSystems.check_typeMethod
check_type(typ, value) -> Any
+

Checks if the given value is of a given type, if not tries to make it that type

source
PowerSystems.correct_network_data!Method
correct_network_data!(
+    data::Dict{String};
+    correct_branch_rating
+) -> Dict{String, Dict{Symbol, Set{Int64}}}
+

Runs various data quality checks on a PowerModels data dictionary. Applies modifications in some cases. Reports modified component ids.

source
PowerSystems.correct_transformer_parameters!Method
correct_transformer_parameters!(
+    data::Dict{String}
+) -> Set{Int64}
+

checks that each branch has a reasonable transformer parameters

this is important because setting tap == 0.0 leads to NaN computations, which are hard to debug

source
PowerSystems.correct_voltage_angle_differences!Function
correct_voltage_angle_differences!(
+    data::Dict{String}
+) -> Set{Int64}
+correct_voltage_angle_differences!(
+    data::Dict{String},
+    default_pad
+) -> Set{Int64}
+

checks that voltage angle differences are within 90 deg., if not tightens

source
PowerSystems.deactivate_isolated_components!Method
deactivate_isolated_components!(data::Dict{String}) -> Bool
+

removes buses with single branch connections and without any other attached components. Also removes connected components without suffuceint generation or loads.

also deactivates 0 valued loads and shunts.

source
PowerSystems.get_avr_saturationMethod
get_avr_saturation(
+    E::Tuple{Float64, Float64},
+    Se::Tuple{Float64, Float64}
+) -> Tuple{Float64, Float64}
+

Obtain coefficients for an AVR

source
PowerSystems.get_dataframeMethod
get_dataframe(
+    data::PowerSystemTableData,
+    category::PowerSystems.InputCategoryModule.InputCategory
+) -> DataFrames.DataFrame
+

Return the dataframe for the category.

source
PowerSystems.get_exponential_saturationMethod
get_exponential_saturation(
+    Se::Tuple{Float64, Float64}
+) -> Tuple{Float64, Float64}
+

Obtain coefficients (A, B) of the function Se = Bx^A for Se(1.2) = B(1.2)^A and Se(1.0) = B(1.0)^A as: B = Se(1.0) and hence (1.2)^A = Se(1.2)/B -> A = log(Se(1.2)/B) / log(1.2)

source
PowerSystems.get_generator_mappingFunction
get_generator_mapping() -> Dict{NamedTuple, DataType}
+get_generator_mapping(
+    filename
+) -> Dict{NamedTuple, DataType}
+

Return a dict where keys are a tuple of input parameters (fuel, unit_type) and values are generator types.

source
PowerSystems.get_generator_typeMethod
get_generator_type(
+    fuel,
+    unit_type,
+    mappings::Dict{NamedTuple, DataType}
+) -> Union{Nothing, DataType}
+

Return the PowerSystems generator type for this fuel and unit_type.

source
PowerSystems.get_quadratic_saturationMethod
get_quadratic_saturation(
+    Se::Tuple{Float64, Float64}
+) -> Tuple{Float64, Float64}
+

Obtain coefficients (A, B) of the function Se = B(x - A)^2/x for Se(1.2) = B(1.2 - A)^2/1.2 and Se(1.0) = B(1.0 - A)^2/1.0 as: Se(1.0) = (Se(1.2) * 1.2) /(1.2 - A)^2 * (1.0 - A)^2/1.0 that yields (1.2 - A)^2 Se(1.0) = Se(1.2) * 1.2 * (1.0 - A)^2 or expanding: (1.2 * Se(1.2) - Se(1.0)) A^2 + (2.4 Se(1.0) - 2 * 1.2 * Se(1.2)) A + (1.2 * Se(1.2) - 1.44 Se(1.0)) = 0 and uses the negative solution of the quadratic equation.

source
PowerSystems.get_series_susceptanceMethod
get_series_susceptance(
+    b::Union{PhaseShiftingTransformer, TapTransformer}
+) -> Float64
+

Returns the series susceptance of a controllable transformer following the convention in power systems to define susceptance as the inverse of the imaginary part of the impedance. In the case of phase shifter transformers the angle is ignored.

source
PowerSystems.get_user_fieldMethod
get_user_field(
+    data::PowerSystemTableData,
+    category::PowerSystems.InputCategoryModule.InputCategory,
+    field::AbstractString
+) -> Any
+

Return the custom name stored in the user descriptor file.

Throws DataFormatError if a required value is not found in the file.

source
PowerSystems.get_user_fieldsMethod
get_user_fields(
+    data::PowerSystemTableData,
+    category::PowerSystems.InputCategoryModule.InputCategory
+) -> Any
+

Return a vector of user-defined fields for the category.

source
PowerSystems.has_componentMethod
has_component(
+    _::Type{T<:Component},
+    sys::System,
+    name::AbstractString
+) -> Bool
+

Check to see if the component of type T with name exists.

source
PowerSystems.im_replicateMethod
im_replicate(
+    sn_data::Dict{String},
+    count::Int64,
+    global_keys::Set{String}
+) -> Dict{String, Any}
+

Transforms a single network into a multinetwork with several deepcopies of the original network

source
PowerSystems.is_attachedMethod
is_attached(component::Component, sys::System) -> Bool
+

Return true if the component is attached to the system.

source
PowerSystems.isafieldMethod
isafield(component::Component, field::Symbol) -> Any
+

Checks if a PowerSystemDevice has a field or subfield name.

source
PowerSystems.iterate_rowsMethod
iterate_rows(
+    data::PowerSystemTableData,
+    category;
+    na_to_nothing
+) -> Channel{Any}
+

Return a NamedTuple of parameters from the descriptor file for each row of a dataframe, making type conversions as necessary.

Refer to the PowerSystems descriptor file for field names that will be created.

source
PowerSystems.load_csv_parser!Method
load_csv_parser!(sys::System, data::PowerSystemTableData)
+
load_csv_parser!(sys::System, data::PowerSystemTableData)

Add loads to the System from the raw load data.

source
PowerSystems.loadzone_csv_parser!Method
loadzone_csv_parser!(
+    sys::System,
+    data::PowerSystemTableData
+)
+
loadzone_csv_parser!(sys::System, data::PowerSystemTableData)

Add branches to the System from the raw data.

source
PowerSystems.make_busMethod
make_bus(bus_dict::Dict{String, Any}) -> ACBus
+

Creates a PowerSystems.ACBus from a PowerSystems bus dictionary

source
PowerSystems.make_generatorMethod
make_generator(
+    data::PowerSystemTableData,
+    gen,
+    cost_colnames,
+    bus,
+    gen_storage
+) -> Any
+

Creates a generator of any type.

source
PowerSystems.make_thermal_genMethod
make_thermal_gen(
+    gen_name::AbstractString,
+    d::Dict,
+    bus::ACBus,
+    sys_mbase::Number
+) -> ThermalStandard
+

The polynomial term follows the convention that for an n-degree polynomial, at least n + 1 components are needed. c(p) = cn*p^n+...+c1p+c0 co is stored in the field in of the Econ Struct

source
PowerSystems.parse_psseMethod
parse_psse(io::IO; kwargs...) -> Dict{String, Any}
+
function parse_psse(io::IO; kwargs...)::Dict

Parses directly from iostream

source
PowerSystems.parse_psseMethod
parse_psse(filename::String; kwargs...) -> Dict{String, Any}
+
parse_psse(filename::String; kwargs...)::Dict

Parses directly from file

source
PowerSystems.parse_ptiMethod
parse_pti(io::IO) -> Dict{String, Array{Dict}}
+
parse_pti(io::IO)

Reads PTI data in io::IO, returning a Dict of the data parsed into the proper types.

source
PowerSystems.parse_ptiMethod
parse_pti(filename::String) -> Dict{String, Array{Dict}}
+
parse_pti(filename::String)

Open PTI raw file given by filename, returning a Dict of the data parsed into the proper types.

source
PowerSystems.propagate_topology_status!Method
propagate_topology_status!(
+    data::Dict{String}
+) -> Union{Nothing, Bool}
+

finds active network buses and branches that are not necessary for the computation and sets their status to off.

Works on a PowerModels data dict, so that a it can be used without a GenericPowerModel object

Warning: this implementation has quadratic complexity, in the worst case

source
PowerSystems.read_gen!Method
read_gen!(
+    sys::System,
+    data::Dict,
+    bus_number_to_bus::Dict{Int64, ACBus};
+    kwargs...
+)
+

Transfer generators to ps_dict according to their classification

source
PowerSystems.replicateMethod
replicate(
+    sn_data::Dict{String},
+    count::Int64;
+    global_keys
+) -> Dict{String, Any}
+

Turns in given single network data in multinetwork data with a count replicate of the given network. Note that this function performs a deepcopy of the network data. Significant multinetwork space savings can often be achieved by building application specific methods of building multinetwork with minimal data replication.

source
PowerSystems.resolve_swithces!Method
resolve_swithces!(data::Dict{String})
+

given a network data dict merges buses that are connected by closed switches converting the dataset into a pure bus-branch model.

source
PowerSystems.simplify_network!Method
simplify_network!(data::Dict{String}) -> Bool
+

attempts to deactive components that are not needed in the network by repeated calls to propagate_topology_status! and deactivate_isolated_components!

warning: this implementation has quadratic complexity, in the worst case

source
PowerSystems.total_capacity_ratingMethod
total_capacity_rating(sys::System) -> Any
+
total_capacity_rating(sys::System)

Sum of system generator and storage ratings.

Arguments

  • sys::System: system
source
PowerSystems.total_load_ratingMethod
total_load_rating(sys::System) -> Any
+
total_load_rating(sys::System)

Checks the system for sum(generator ratings) >= sum(load ratings).

Arguments

  • sys::System: system
source
PowerSystems.update_bus_ids!Method
update_bus_ids!(
+    data::Dict{String},
+    bus_id_map::Dict{Int64, Int64};
+    injective
+)
+

given a network data dict and a mapping of current-bus-ids to new-bus-ids modifies the data dict to reflect the proposed new bus ids.

source
PowerSystems.update_data!Method
update_data!(data::Dict{String}, new_data::Dict{String})
+

recursively applies new_data to data, overwriting information

source
PowerSystems.verify_device_eligibilityMethod
verify_device_eligibility(
+    sys::System,
+    component::StaticInjection,
+    service::Service
+)
+

Validates if a device is eligible to contribute to a service.

Arguments

  • sys::System: PowerSystem System
  • component::StaticInjection: Static injection device
  • service::Service,: Service for which the device is eligible to contribute
source
diff --git a/v3.3.0/api/public/index.html b/v3.3.0/api/public/index.html new file mode 100644 index 0000000000..c075cf36d9 --- /dev/null +++ b/v3.3.0/api/public/index.html @@ -0,0 +1,701 @@ + +Public API Reference · PowerSystems.jl

Public API Reference

Modeling

PowerSystems.ComponentType

Supertype for all PowerSystems components. All subtypes must include a InfrastructureSystemsInternal member. Subtypes should call InfrastructureSystemsInternal() by default, but also must provide a constructor that allows existing values to be deserialized.

source
PowerSystems.get_base_powerMethod
get_base_power(c::Component) -> Float64
+
Default behavior of a component. If there is no base_power field, assume is in the system's base power.
source
PowerSystems.set_dynamic_injector!Method
set_dynamic_injector!(
+    static_injector::StaticInjection,
+    dynamic_injector::Union{Nothing, DynamicInjection}
+)
+

Any StaticInjection struct that wants to support dynamic injectors must implement this method to set the value.

The method is only for internal uses.

source
PowerSystems.has_serviceMethod
has_service(device::Device, _::Type{T<:Service}) -> Bool
+

Return true if a service with type T is attached to the device.

source
PowerSystems.remove_service!Method
remove_service!(device::Device, service::Service)
+

Remove a service from a device.

Throws ArgumentError if the service is not attached to the device.

source
PowerSystems.RenewableGenType

Supertype for all renewable generation technologies Requires the implementation of get_ratingand get_power_factor methods

source
PowerSystems.get_dynamic_componentsMethod
get_dynamic_components(
+    device::DynamicInjection
+) -> Base.Generator{I, F} where {I<:(Base.Iterators.Filter{PowerSystems.var"#6#8", I} where I<:(Base.Iterators.Zip{Is} where Is<:Tuple{Any, Tuple})), F<:(PowerSystems.var"#5#7"{<:DynamicInjection})}
+

Return all the dynamic components of a DynamicInjection device

source
PowerSystems.get_states_typesMethod
get_states_types(d::DynamicComponent) -> Vector{StateTypes}
+
Default implementation of get_state_types for dynamic components. Assumes all states are
+Differential
source
PowerSystems.get_breakpoint_upperboundsMethod
get_breakpoint_upperbounds(
+    vc::VariableCost{Vector{Tuple{Float64, Float64}}}
+) -> Vector{Float64}
+

Calculates the upper bounds of a variable cost function represented as a collection of piece-wise linear segments.

source
PowerSystems.get_slopesMethod
get_slopes(
+    vc::VariableCost{Vector{Tuple{Float64, Float64}}}
+) -> Vector{Float64}
+

Calculates the slopes for the variable cost represented as a piece wise linear cost function. This function returns n - slopes for n - piecewise linear elements in the function. The first element of the return array corresponds to the average cost at the minimum operating point. If your formulation uses n -1 slopes, you can disregard the first component of the array. If the first point in the variable cost has a quantity of 0.0, the first slope returned will be 0.0, otherwise, the first slope represents the trajectory to get from the origin to the first point in the variable cost.

source

TimeSeries

InfrastructureSystems.TimeSeriesDataType

Abstract type for time series stored in the system. Components store references to these through TimeSeriesMetadata values so that data can reside on storage media instead of memory.

InfrastructureSystems.DeterministicType
mutable struct Deterministic <: AbstractDeterministic
+    name::String
+    data::Union{
+        SortedDict{Dates.DateTime, Vector{CONSTANT}},
+        SortedDict{Dates.DateTime, Vector{POLYNOMIAL}},
+        SortedDict{Dates.DateTime, Vector{PWL}},
+    }
+    resolution::Dates.Period
+    scaling_factor_multiplier::Union{Nothing, Function}
+    internal::InfrastructureSystemsInternal
+end

A deterministic forecast for a particular data field in a Component.

Arguments

  • name::String: user-defined name
  • data::Union{SortedDict{Dates.DateTime, Vector{CONSTANT}}, SortedDict{Dates.DateTime, Vector{POLYNOMIAL}}, SortedDict{Dates.DateTime, Vector{PWL}}}: timestamp - scalingfactor
  • resolution::Dates.Period: forecast resolution
  • scaling_factor_multiplier::Union{Nothing, Function}: Applicable when the time series data are scaling factors. Called on the associated component to convert the values.
  • internal::InfrastructureSystemsInternal
InfrastructureSystems.DeterministicMethod
Deterministic(
+    name::AbstractString,
+    input_data::AbstractDict{Dates.DateTime, <:TimeSeries.TimeArray};
+    normalization_factor,
+    scaling_factor_multiplier
+) -> Deterministic
+

Construct Deterministic from a Dict of TimeArrays.

Arguments

  • name::AbstractString: user-defined name
  • input_data::AbstractDict{Dates.DateTime, TimeSeries.TimeArray}: time series data.
  • normalization_factor::NormalizationFactor = 1.0: optional normalization factor to apply to each data entry
  • scaling_factor_multiplier::Union{Nothing, Function} = nothing: If the data are scaling factors then this function will be called on the component and applied to the data when get_time_series_array is called.
  • timestamp = :timestamp: If the values are DataFrames is passed then this must be the column name that contains timestamps.
InfrastructureSystems.DeterministicMethod
Deterministic(
+    name::AbstractString,
+    filename::AbstractString,
+    component::InfrastructureSystems.InfrastructureSystemsComponent,
+    resolution::Dates.Period;
+    normalization_factor,
+    scaling_factor_multiplier
+) -> Deterministic
+

Construct Deterministic from a CSV file. The first column must be a timestamp in DateTime format and the columns the values in the forecast window.

Arguments

  • name::AbstractString: user-defined name
  • filename::AbstractString: name of CSV file containing data
  • component::InfrastructureSystemsComponent: component associated with the data
  • normalization_factor::NormalizationFactor = 1.0: optional normalization factor to apply to each data entry
  • scaling_factor_multiplier::Union{Nothing, Function} = nothing: If the data are scaling factors then this function will be called on the component and applied to the data when get_time_series_array is called.
InfrastructureSystems.DeterministicMethod
Deterministic(
+    name::AbstractString,
+    series_data::InfrastructureSystems.RawTimeSeries,
+    resolution::Dates.Period;
+    normalization_factor,
+    scaling_factor_multiplier
+) -> Deterministic
+

Construct Deterministic from RawTimeSeries.

InfrastructureSystems.DeterministicMethod
Deterministic(
+    forecast::Deterministic,
+    data
+) -> Deterministic
+

Construct a new Deterministic from an existing instance and a subset of data.

InfrastructureSystems.get_dataMethod
get_data(
+    value::Deterministic
+) -> Union{DataStructures.SortedDict{Dates.DateTime, Vector{Vector{Tuple{Float64, Float64}}}}, DataStructures.SortedDict{Dates.DateTime, Vector{Float64}}, DataStructures.SortedDict{Dates.DateTime, Vector{Tuple{Float64, Float64}}}}
+

Get Deterministic data.

InfrastructureSystems.ProbabilisticType
mutable struct Probabilistic <: Forecast
+    name::String
+    resolution::Dates.Period
+    percentiles::Vector{Float64}
+    data::Union{
+        SortedDict{Dates.DateTime, Matrix{CONSTANT}},
+        SortedDict{Dates.DateTime, Matrix{POLYNOMIAL}},
+        SortedDict{Dates.DateTime, Matrix{PWL}},
+    }
+    scaling_factor_multiplier::Union{Nothing, Function}
+    internal::InfrastructureSystemsInternal
+end

A Probabilistic forecast for a particular data field in a Component.

Arguments

  • name::String: user-defined name
  • resolution::Dates.Period: forecast resolution
  • percentiles::Vector{Float64}: Percentiles for the probabilistic forecast
  • data::Union{SortedDict{Dates.DateTime, Matrix{CONSTANT}}, SortedDict{Dates.DateTime, Matrix{POLYNOMIAL}}, SortedDict{Dates.DateTime, Matrix{PWL}}}: timestamp - scalingfactor
  • scaling_factor_multiplier::Union{Nothing, Function}: Applicable when the time series data are scaling factors. Called on the associated component to convert the values.
  • internal::InfrastructureSystemsInternal
InfrastructureSystems.ProbabilisticMethod
Probabilistic(
+    name::AbstractString,
+    input_data::AbstractDict,
+    percentiles::Vector,
+    resolution::Dates.Period;
+    normalization_factor,
+    scaling_factor_multiplier
+) -> Probabilistic
+

Construct Probabilistic from a SortedDict of Arrays.

Arguments

  • name::AbstractString: user-defined name
  • input_data::AbstractDict{Dates.DateTime, Matrix{Float64}}: time series data.
  • percentiles: Percentiles represented in the probabilistic forecast
  • resolution::Dates.Period: The resolution of the forecast in Dates.Period`
  • normalization_factor::NormalizationFactor = 1.0: optional normalization factor to apply to each data entry
  • scaling_factor_multiplier::Union{Nothing, Function} = nothing: If the data are scaling factors then this function will be called on the component and applied to the data when get_time_series_array is called.
InfrastructureSystems.ProbabilisticMethod
Probabilistic(
+    name::AbstractString,
+    input_data::AbstractDict{Dates.DateTime, <:TimeSeries.TimeArray},
+    percentiles::Vector{Float64};
+    normalization_factor,
+    scaling_factor_multiplier
+) -> Probabilistic
+

Construct Probabilistic from a Dict of TimeArrays.

Arguments

  • name::AbstractString: user-defined name
  • input_data::AbstractDict{Dates.DateTime, TimeSeries.TimeArray}: time series data.
  • percentiles: Percentiles represented in the probabilistic forecast
  • normalization_factor::NormalizationFactor = 1.0: optional normalization factor to apply to each data entry
  • scaling_factor_multiplier::Union{Nothing, Function} = nothing: If the data are scaling factors then this function will be called on the component and applied to the data when get_time_series_array is called.
  • timestamp = :timestamp: If the values are DataFrames is passed then this must be the column name that contains timestamps.
InfrastructureSystems.ProbabilisticMethod
Probabilistic(
+    name::AbstractString,
+    series_data::InfrastructureSystems.RawTimeSeries,
+    percentiles::Vector,
+    resolution::Dates.Period;
+    normalization_factor,
+    scaling_factor_multiplier
+) -> Probabilistic
+

Construct Deterministic from RawTimeSeries.

InfrastructureSystems.get_dataMethod
get_data(
+    value::Probabilistic
+) -> Union{DataStructures.SortedDict{Dates.DateTime, Matrix{Vector{Tuple{Float64, Float64}}}}, DataStructures.SortedDict{Dates.DateTime, Matrix{Float64}}, DataStructures.SortedDict{Dates.DateTime, Matrix{Tuple{Float64, Float64}}}}
+

Get Probabilistic data.

InfrastructureSystems.ScenariosType
mutable struct Scenarios <: Forecast
+    name::String
+    resolution::Dates.Period
+    scenario_count::Int64
+    data::Union{
+        SortedDict{Dates.DateTime, Matrix{CONSTANT}},
+        SortedDict{Dates.DateTime, Matrix{POLYNOMIAL}},
+        SortedDict{Dates.DateTime, Matrix{PWL}},
+    }
+    scaling_factor_multiplier::Union{Nothing, Function}
+    internal::InfrastructureSystemsInternal
+end

A Discrete Scenario Based time series for a particular data field in a Component.

Arguments

  • name::String: user-defined name
  • resolution::Dates.Period: forecast resolution
  • scenario_count::Int64: Number of scenarios
  • data::Union{SortedDict{Dates.DateTime, Matrix{CONSTANT}}, SortedDict{Dates.DateTime, Matrix{POLYNOMIAL}}, SortedDict{Dates.DateTime, Matrix{PWL}}}: timestamp - scalingfactor
  • scaling_factor_multiplier::Union{Nothing, Function}: Applicable when the time series data are scaling factors. Called on the associated component to convert the values.
  • internal::InfrastructureSystemsInternal
InfrastructureSystems.ScenariosMethod
Scenarios(
+    name::AbstractString,
+    input_data::AbstractDict,
+    resolution::Dates.Period;
+    normalization_factor,
+    scaling_factor_multiplier
+) -> Scenarios
+

Construct Scenarios from a SortedDict of Arrays.

Arguments

  • name::AbstractString: user-defined name
  • input_data::AbstractDict{Dates.DateTime, Matrix{Float64}}: time series data.
  • resolution::Dates.Period: The resolution of the forecast in Dates.Period`
  • normalization_factor::NormalizationFactor = 1.0: optional normalization factor to apply to each data entry
  • scaling_factor_multiplier::Union{Nothing, Function} = nothing: If the data are scaling factors then this function will be called on the component and applied to the data when get_time_series_array is called.
InfrastructureSystems.ScenariosMethod
Scenarios(
+    name::AbstractString,
+    input_data::AbstractDict{Dates.DateTime, <:TimeSeries.TimeArray};
+    normalization_factor,
+    scaling_factor_multiplier
+) -> Scenarios
+

Construct Scenarios from a Dict of TimeArrays.

Arguments

  • name::AbstractString: user-defined name
  • input_data::AbstractDict{Dates.DateTime, TimeSeries.TimeArray}: time series data.
  • normalization_factor::NormalizationFactor = 1.0: optional normalization factor to apply to each data entry
  • scaling_factor_multiplier::Union{Nothing, Function} = nothing: If the data are scaling factors then this function will be called on the component and applied to the data when get_time_series_array is called.
  • timestamp = :timestamp: If the values are DataFrames is passed then this must be the column name that contains timestamps.
InfrastructureSystems.get_dataMethod
get_data(
+    value::Scenarios
+) -> Union{DataStructures.SortedDict{Dates.DateTime, Matrix{Vector{Tuple{Float64, Float64}}}}, DataStructures.SortedDict{Dates.DateTime, Matrix{Float64}}, DataStructures.SortedDict{Dates.DateTime, Matrix{Tuple{Float64, Float64}}}}
+

Get Scenarios data.

InfrastructureSystems.DeterministicSingleTimeSeriesType
mutable struct DeterministicSingleTimeSeries <: AbstractDeterministic
+    single_time_series::SingleTimeSeries
+    initial_timestamp::Dates.DateTime
+    interval::Dates.Period
+    count::Int
+    horizon::Int
+end

A deterministic forecast for a particular data field in a Component that wraps a SingleTimeSeries.

Arguments

  • single_time_series::SingleTimeSeries: wrapped SingleTimeSeries object
  • initial_timestamp::Dates.DateTime: time series availability time
  • interval::Dates.Period: time step between forecast windows
  • count::Int: number of forecast windows
  • horizon::Int: length of this time series
InfrastructureSystems.SingleTimeSeriesType
mutable struct SingleTimeSeries <: StaticTimeSeries
+    name::String
+    data::TimeSeries.TimeArray
+    scaling_factor_multiplier::Union{Nothing, Function}
+    internal::InfrastructureSystemsInternal
+end

A deterministic forecast for a particular data field in a Component.

Arguments

  • name::String: user-defined name
  • data::TimeSeries.TimeArray: timestamp - scalingfactor
  • scaling_factor_multiplier::Union{Nothing, Function}: Applicable when the time series data are scaling factors. Called on the associated component to convert the values.
  • internal::InfrastructureSystemsInternal
InfrastructureSystems.SingleTimeSeriesMethod
SingleTimeSeries(
+    name::AbstractString,
+    filename::AbstractString,
+    component::InfrastructureSystems.InfrastructureSystemsComponent,
+    resolution::Dates.Period;
+    normalization_factor,
+    scaling_factor_multiplier
+) -> SingleTimeSeries
+

Construct SingleTimeSeries from a CSV file. The file must have a column that is the name of the component.

Arguments

  • name::AbstractString: user-defined name
  • filename::AbstractString: name of CSV file containing data
  • component::InfrastructureSystemsComponent: component associated with the data
  • resolution::Dates.Period: resolution of the time series
  • normalization_factor::NormalizationFactor = 1.0: optional normalization factor to apply to each data entry
  • scaling_factor_multiplier::Union{Nothing, Function} = nothing: If the data are scaling factors then this function will be called on the component and applied to the data when get_time_series_array is called.
InfrastructureSystems.SingleTimeSeriesMethod
SingleTimeSeries(
+    name::AbstractString,
+    data::Union{DataFrames.DataFrame, TimeSeries.TimeArray};
+    normalization_factor,
+    scaling_factor_multiplier,
+    timestamp
+) -> SingleTimeSeries
+

Construct SingleTimeSeries from a TimeArray or DataFrame.

Arguments

  • name::AbstractString: user-defined name
  • data::Union{TimeSeries.TimeArray, DataFrames.DataFrame}: time series data
  • normalization_factor::NormalizationFactor = 1.0: optional normalization factor to apply to each data entry
  • scaling_factor_multiplier::Union{Nothing, Function} = nothing: If the data are scaling factors then this function will be called on the component and applied to the data when get_time_series_array is called.
  • timestamp = :timestamp: If a DataFrame is passed then this must be the column name that contains timestamps.
InfrastructureSystems.SingleTimeSeriesMethod
SingleTimeSeries(
+    time_series::SingleTimeSeries,
+    data::TimeSeries.TimeArray
+) -> Any
+

Creates a new SingleTimeSeries from an existing instance and a subset of data.

InfrastructureSystems.SingleTimeSeriesMethod
SingleTimeSeries(
+    name::String,
+    resolution::Dates.Period,
+    initial_time::Dates.DateTime,
+    time_steps::Int64
+) -> SingleTimeSeries
+

Construct SingleTimeSeries after constructing a TimeArray from initial_time and time_steps.

InfrastructureSystems.fromMethod
from(
+    time_series::SingleTimeSeries,
+    timestamp
+) -> SingleTimeSeries
+

Return a time_series truncated starting with timestamp.

InfrastructureSystems.headMethod
head(time_series::SingleTimeSeries) -> Any
+

Return a time_series with only the first num values.

InfrastructureSystems.tailMethod
tail(time_series::SingleTimeSeries) -> Any
+

Return a time_series with only the ending num values.

InfrastructureSystems.toMethod
to(
+    time_series::SingleTimeSeries,
+    timestamp
+) -> SingleTimeSeries
+

Return a time_series truncated after timestamp.

InfrastructureSystems.whenMethod
when(
+    time_series::SingleTimeSeries,
+    period::Function,
+    t::Integer
+) -> Any
+

Refer to TimeSeries.when(). Underlying data is copied.

InfrastructureSystems.get_windowMethod
get_window(forecast::Forecast, index::Int64; len) -> Any
+

Return the forecast window corresponsing to interval index.

InfrastructureSystems.make_time_arrayMethod
make_time_array(
+    forecast::Forecast,
+    start_time::Dates.DateTime;
+    len
+) -> Any
+

Return a TimeSeries.TimeArray for one forecast window.

InfrastructureSystems.get_next_time_series_array!Method
get_next_time_series_array!(
+    cache::InfrastructureSystems.TimeSeriesCache
+) -> Any
+

Return the next TimeSeries.TimeArray.

Returns nothing when all data has been read. Call reset! to restart. Call get_next_time to check the start time.

Reads from storage if the data is not already in cache.

Arguments

  • cache::StaticTimeSeriesCache: cached instance

System

PowerSystems.SystemType

System

A power system defined by fields for base_power, components, and time series.

System(base_power)
+System(base_power, buses, components...)
+System(base_power, buses, generators, loads, branches, storage, services; kwargs...)
+System(base_power, buses, generators, loads; kwargs...)
+System(file; kwargs...)
+System(; buses, generators, loads, branches, storage, base_power, services, kwargs...)
+System(; kwargs...)

Arguments

  • base_power::Float64: the base power value for the system
  • buses::Vector{ACBus}: an array of buses
  • components...: Each element must be an iterable containing subtypes of Component.

Keyword arguments

  • ext::Dict: Contains user-defined parameters. Should only contain standard types.
  • runchecks::Bool: Run available checks on input fields and when add_component! is called. Throws InvalidValue if an error is found.
  • time_series_in_memory::Bool=false: Store time series data in memory instead of HDF5.
  • enable_compression::Bool=false: Enable compression of time series data in HDF5.
  • compression::CompressionSettings: Allows customization of HDF5 compression settings.
  • config_path::String: specify path to validation config file
source
PowerSystems.SystemMethod
System(
+    sys_file::AbstractString,
+    dyr_file::AbstractString;
+    kwargs...
+) -> Any
+

Parse static and dynamic data directly from PSS/e text files. Automatically generates all the relationships between the available dynamic injection models and the static counterpart

Each dictionary indexed by id contains a vector with 5 of its components:

  • Machine
  • Shaft
  • AVR
  • TurbineGov
  • PSS

Files must be parsed from a .raw file (PTI data format) and a .dyr file.

Examples:

raw_file = "Example.raw"
+dyr_file = "Example.dyr"
+sys = System(raw_file, dyr_file)
source
PowerSystems.SystemMethod
System(
+    file_path::AbstractString;
+    assign_new_uuids,
+    kwargs...
+) -> Any
+

Constructs a System from a file path ending with .m, .RAW, or .json

If the file is JSON then assignnewuuids = true will generate new UUIDs for the system and all components.

source
PowerSystems.SystemMethod
System(
+    data,
+    base_power::Number;
+    internal,
+    kwargs...
+) -> System
+

Construct a System from InfrastructureSystems.SystemData

source
PowerSystems.SystemMethod
System(
+    base_power::Float64,
+    buses::Vector{ACBus},
+    components...;
+    kwargs...
+) -> System
+

System constructor when components are constructed externally.

source
PowerSystems.SystemMethod
System(
+    ::Nothing;
+    buses,
+    generators,
+    loads,
+    branches,
+    storage,
+    base_power,
+    services,
+    kwargs...
+) -> System
+

Constructs a non-functional System for demo purposes.

source
PowerSystems.SystemMethod
System(base_power::Number; kwargs...) -> System
+

Construct an empty System. Useful for building a System while parsing raw data.

source
PowerSystems.SystemMethod
System(
+    data::PowerSystemTableData;
+    time_series_resolution,
+    time_series_in_memory,
+    time_series_directory,
+    runchecks,
+    kwargs...
+) -> System
+

Construct a System from PowerSystemTableData data.

Arguments

  • time_series_resolution::Union{DateTime, Nothing}=nothing: only store time_series that match this resolution.
  • time_series_in_memory::Bool=false: Store time series data in memory instead of HDF5 file
  • time_series_directory=nothing: Store time series data in directory instead of tmpfs
  • runchecks::Bool=true: Validate struct fields.

Throws DataFormatError if time_series with multiple resolutions are detected.

  • A time_series has a different resolution than others.
  • A time_series has a different horizon than others.
source
PowerSystems.SystemMethod
System(pm_data::PowerModelsData; kwargs...) -> Any
+

Constructs a System from PowerModelsData.

Arguments

  • pm_data::Union{PowerModelsData, Union{String, IO}}: PowerModels data object or supported

load flow case (*.m, *.raw)

Keyword arguments

  • ext::Dict: Contains user-defined parameters. Should only contain standard types.
  • runchecks::Bool: Run available checks on input fields and when add_component! is called. Throws InvalidValue if an error is found.
  • time_series_in_memory::Bool=false: Store time series data in memory instead of HDF5.
  • config_path::String: specify path to validation config file
  • pm_data_corrections::Bool=true : Run the PowerModels data corrections (aka :validate in PowerModels)
  • import_all:Bool=false : Import all fields from PTI files

Examples

sys = System(
+    pm_data, config_path = "ACTIVSg25k_validation.json",
+    bus_name_formatter = x->string(x["name"]*"-"*string(x["index"])),
+    load_name_formatter = x->strip(join(x["source_id"], "_"))
+)
source
InfrastructureSystems.get_time_series_multipleFunction
get_time_series_multiple(sys::System; ...) -> Channel{Any}
+get_time_series_multiple(
+    sys::System,
+    filter_func;
+    type,
+    name
+) -> Channel{Any}
+

Return an iterator of time series in order of initial time.

Note that passing a filter function can be much slower than the other filtering parameters because it reads time series data from media.

Call collect on the result to get an array.

Arguments

  • data::SystemData: system
  • filter_func = nothing: Only return time series for which this returns true.
  • type = nothing: Only return time series with this type.
  • name = nothing: Only return time series matching this value.

Examples

for time_series in get_time_series_multiple(sys)
+    @show time_series
+end
+
+ts = collect(get_time_series_multiple(sys; type = SingleTimeSeries))
source
InfrastructureSystems.set_name!Method
set_name!(
+    component::Component,
+    name::AbstractString
+) -> AbstractString
+

Set the name of a component.

Throws an exception if the component is attached to a system.

source
InfrastructureSystems.set_name!Method
set_name!(
+    sys::System,
+    component::Component,
+    name::AbstractString
+)
+

Set the name for a component that is attached to the system.

source
InfrastructureSystems.to_jsonMethod
to_json(
+    sys::System,
+    filename::AbstractString;
+    user_data,
+    pretty,
+    force,
+    runchecks
+)
+

Serializes a system to a JSON string.

Arguments

  • sys::System: system
  • filename::AbstractString: filename to write

Keyword arguments

  • user_data::Union{Nothing, Dict} = nothing: optional metadata to record
  • pretty::Bool = false: whether to pretty-print the JSON
  • force::Bool = false: whether to overwrite existing files
  • check::Bool = false: whether to run system validation checks

Refer to check_component for exceptions thrown if check = true.

source
PowerSystems.add_component!Method
add_component!(
+    sys::System,
+    dyn_injector::DynamicInjection,
+    static_injector::StaticInjection;
+    kwargs...
+)
+

Add a dynamic injector to the system.

Throws ArgumentError if the name does not match the staticinjector name. Throws ArgumentError if the staticinjector is not attached to the system.

All rules for the generic add_component! method also apply.

source
PowerSystems.add_component!Method
add_component!(
+    sys::System,
+    component::Component;
+    skip_validation,
+    kwargs...
+)
+

Add a component to the system.

Throws ArgumentError if the component's name is already stored for its concrete type. Throws ArgumentError if any Component-specific rule is violated. Throws InvalidValue if any of the component's field values are outside of defined valid range.

Examples

sys = System(100.0)
+
+# Add a single component.
+add_component!(sys, bus)
+
+# Add many at once.
+buses = [bus1, bus2, bus3]
+generators = [gen1, gen2, gen3]
+foreach(x -> add_component!(sys, x), Iterators.flatten((buses, generators)))
source
PowerSystems.add_components!Method
add_components!(sys::System, components)
+

Add many components to the system at once.

Throws ArgumentError if the component's name is already stored for its concrete type. Throws ArgumentError if any Component-specific rule is violated. Throws InvalidValue if any of the component's field values are outside of defined valid range.

Examples

sys = System(100.0)
+
+buses = [bus1, bus2, bus3]
+generators = [gen1, gen2, gen3]
+foreach(x -> add_component!(sys, x), Iterators.flatten((buses, generators)))
source
PowerSystems.add_service!Method
add_service!(device::Device, service::Service, sys::System)
+

Similar to add_service! but for Service and Device already stored in the system. Performs validation checks on the device and the system

Arguments

  • device::Device: Device
  • service::Service: Service
  • sys::System: system
source
PowerSystems.add_service!Method
add_service!(
+    sys::System,
+    service::Service,
+    contributing_devices;
+    kwargs...
+)
+

Similar to add_component! but for services.

Arguments

  • sys::System: system
  • service::Service: service to add
  • contributing_devices: Must be an iterable of type Device
source
PowerSystems.add_service!Method
add_service!(
+    sys::System,
+    service::Service,
+    contributing_device::Device;
+    kwargs...
+)
+

Similar to add_component! but for services.

Arguments

  • sys::System: system
  • service::Service: service to add
  • contributing_device::Device: Valid Device
source
PowerSystems.add_service!Method
add_service!(
+    sys::System,
+    service::StaticReserveGroup,
+    contributing_services::Vector{<:Service};
+    skip_validation,
+    kwargs...
+)
+

Similar to add_component! but for StaticReserveGroup.

Arguments

  • sys::System: system
  • service::StaticReserveGroup: service to add
  • contributing_services: contributing services to the group
source
PowerSystems.add_service!Method
add_service!(
+    sys::System,
+    service::StaticReserveGroup;
+    skip_validation,
+    kwargs...
+)
+

Similar to add_component! but for StaticReserveGroup.

Arguments

  • sys::System: system
  • service::StaticReserveGroup: service to add
source
PowerSystems.add_time_series!Method
add_time_series!(
+    sys::System,
+    metadata_file::AbstractString;
+    resolution
+)
+

Add time series data from a metadata file or metadata descriptors.

Arguments

  • sys::System: system
  • metadata_file::AbstractString: metadata file for timeseries that includes an array of IS.TimeSeriesFileMetadata instances or a vector.
  • resolution::DateTime.Period=nothing: skip time series that don't match this resolution.
source
PowerSystems.add_time_series!Method
add_time_series!(
+    sys::System,
+    components,
+    time_series::TimeSeriesData
+)
+

Add the same time series data to multiple components.

This is significantly more efficent than calling add_time_series! for each component individually with the same data because in this case, only one time series array is stored.

Throws ArgumentError if a component is not stored in the system.

source
PowerSystems.add_time_series!Method
add_time_series!(
+    sys::System,
+    component::Component,
+    time_series::TimeSeriesData
+)
+

Add time series data to a component.

Throws ArgumentError if the component is not stored in the system.

source
PowerSystems.add_time_series!Method
add_time_series!(
+    sys::System,
+    file_metadata::Vector{InfrastructureSystems.TimeSeriesFileMetadata};
+    resolution
+)
+

Add time series data from a metadata file or metadata descriptors.

Arguments

  • sys::System: system
  • timeseries_metadata::Vector{IS.TimeSeriesFileMetadata}: metadata for timeseries
  • resolution::DateTime.Period=nothing: skip time series that don't match this resolution.
source
PowerSystems.check_componentMethod
check_component(sys::System, component::Component)
+

Check the values of a component.

Throws InvalidValue if any of the component's field values are outside of defined valid range or if the custom validate method for the type fails its check.

source
PowerSystems.check_time_series_consistencyMethod
check_time_series_consistency(
+    sys::System,
+    _::Type{T<:TimeSeriesData}
+) -> Union{Nothing, Tuple{Any, Int64}}
+

Checks time series in the system for inconsistencies.

For SingleTimeSeries, returns a Tuple of initial_timestamp and length.

This is a no-op for subtypes of Forecast because those are already guaranteed to be consistent.

Throws InfrastructureSystems.InvalidValue if any time series is inconsistent.

source
PowerSystems.convert_component!Method
convert_component!(
+    sys::System,
+    line::Line,
+    linetype::Type{MonitoredLine};
+    kwargs...
+)
+

Converts a Line component to a MonitoredLine component and replaces the original in the system

source
PowerSystems.convert_component!Method
convert_component!(
+    sys::System,
+    line::MonitoredLine,
+    linetype::Type{Line};
+    kwargs...
+)
+

Converts a MonitoredLine component to a Line component and replaces the original in the system

source
PowerSystems.convert_component!Method
convert_component!(
+    sys::System,
+    old_load::PowerLoad,
+    new_type::Type{StandardLoad};
+    kwargs...
+)
+

Converts a PowerLoad component to a StandardLoad component and replaces the original in the system. Does not set any fields in StandardLoad that lack a PowerLoad equivalent

source
PowerSystems.get_busMethod
get_bus(
+    sys::System,
+    name::AbstractString
+) -> Union{Nothing, ACBus}
+

Return bus with name.

source
PowerSystems.get_busesMethod
get_buses(
+    sys::System,
+    aggregator::AggregationTopology
+) -> Vector{ACBus}
+

Return a vector of buses contained within the AggregationTopology.

source
PowerSystems.get_busesMethod
get_buses(
+    sys::System,
+    bus_numbers::Set{Int64}
+) -> Vector{ACBus}
+

Return all buses values with bus_numbers.

source
PowerSystems.get_componentMethod
get_component(
+    _::Type{T<:Component},
+    sys::System,
+    name::AbstractString
+) -> Any
+

Get the component of type T with name. Returns nothing if no component matches. If T is an abstract type then the names of components across all subtypes of T must be unique.

See get_components_by_name for abstract types with non-unique names across subtypes.

Throws ArgumentError if T is not a concrete type and there is more than one component with requested name

source
PowerSystems.get_componentsMethod
get_components(
+    _::Type{T<:Component},
+    sys::System
+) -> InfrastructureSystems.FlattenIteratorWrapper{T, I} where {T<:Component, I<:(Vector)}
+

Returns an iterator of components. T can be concrete or abstract. Call collect on the result if an array is desired.

Examples

iter = PowerSystems.get_components(ThermalStandard, sys)
+iter = PowerSystems.get_components(Generator, sys)
+iter = PowerSystems.get_components(x -> PowerSystems.get_available(x), Generator, sys)
+thermal_gens = get_components(ThermalStandard, sys) do gen
+    get_available(gen)
+end
+generators = collect(PowerSystems.get_components(Generator, sys))
+

See also: iterate_components

source
PowerSystems.get_components_by_nameMethod
get_components_by_name(
+    _::Type{T<:Component},
+    sys::System,
+    name::AbstractString
+) -> Vector{T} where T<:InfrastructureSystems.InfrastructureSystemsComponent
+

Get the components of abstract type T with name. Note that PowerSystems enforces unique names on each concrete type but not across concrete types.

See get_component if the concrete type is known.

Throws ArgumentError if T is not an abstract type.

source
PowerSystems.get_components_in_aggregation_topologyMethod
get_components_in_aggregation_topology(
+    _::Type{T<:StaticInjection},
+    sys::System,
+    aggregator::AggregationTopology
+) -> Vector{T} where T<:StaticInjection
+

Return a vector of components with buses in the AggregationTopology.

source
PowerSystems.get_extMethod
get_ext(sys::System) -> Union{Nothing, Dict{String, Any}}
+

Return a user-modifiable dictionary to store extra information.

source
PowerSystems.get_time_series_countsMethod
get_time_series_counts(
+    sys::System
+) -> Tuple{Int64, Any, Any}
+

Return a tuple of counts of components with time series and total time series and forecasts.

source
PowerSystems.remove_component!Method
remove_component!(sys::System, component::Component)
+

Remove a component from the system by its value.

Throws ArgumentError if the component is not stored.

source
PowerSystems.remove_component!Method
remove_component!(
+    _::Type{T<:Component},
+    sys::System,
+    name::AbstractString
+)
+

Remove a component from the system by its name.

Throws ArgumentError if the component is not stored.

source
PowerSystems.remove_time_series!Method
remove_time_series!(
+    sys::System,
+    _::Type{T<:TimeSeriesData},
+    component::Component,
+    name::String
+)
+

Remove the time series data for a component and time series type.

source
PowerSystems.set_runchecks!Method
set_runchecks!(sys::System, value::Bool)
+

Enable or disable system checks. Applies to component addition as well as overall system consistency.

source
PowerSystems.set_units_base_system!Method
set_units_base_system!(system::System, settings::String)
+

Sets the units base for the getter functions on the devices. It modifies the behavior of all getter functions

source

Additional Component Methods

PowerSystems.get_max_reactive_powerMethod
get_max_reactive_power(d::RenewableDispatch) -> Any
+

Return the max reactive power for the Renewable Generation calculated as the rating * powerfactor if reactivepower_limits is nothing

source
InfrastructureSystems.get_time_seriesMethod
get_time_series(
+    ::Type{T<:TimeSeriesData},
+    component::InfrastructureSystems.InfrastructureSystemsComponent,
+    name::AbstractString;
+    start_time,
+    len,
+    count
+) -> Any
+

Return a time series corresponding to the given parameters.

Arguments

  • ::Type{T}: Concrete subtype of TimeSeriesData to return
  • component::InfrastructureSystemsComponent: Component containing the time series
  • name::AbstractString: name of time series
  • start_time::Union{Nothing, Dates.DateTime} = nothing: If nothing, use the initial_timestamp of the time series. If T is a subtype of Forecast then start_time must be the first timstamp of a window.
  • len::Union{Nothing, Int} = nothing: Length in the time dimension. If nothing, use the entire length.
  • count::Union{Nothing, Int} = nothing: Only applicable to subtypes of Forecast. Number of forecast windows starting at start_time to return. Defaults to all available.
InfrastructureSystems.get_time_series_arrayFunction
get_time_series_array(
+    component::InfrastructureSystems.InfrastructureSystemsComponent,
+    time_series::StaticTimeSeries;
+    ...
+) -> Any
+get_time_series_array(
+    component::InfrastructureSystems.InfrastructureSystemsComponent,
+    time_series::StaticTimeSeries,
+    start_time::Union{Nothing, Dates.DateTime};
+    len,
+    ignore_scaling_factors
+) -> Any
+

Return a TimeSeries.TimeArray from a cached StaticTimeSeries instance.

If the data are scaling factors then the stored scalingfactormultiplier will be called on the component and applied to the data unless ignorescalingfactors is true.

See also StaticTimeSeriesCache.

InfrastructureSystems.get_time_series_arrayMethod
get_time_series_array(
+    component::InfrastructureSystems.InfrastructureSystemsComponent,
+    forecast::Forecast,
+    start_time::Dates.DateTime;
+    len,
+    ignore_scaling_factors
+) -> Any
+

Return a TimeSeries.TimeArray for one forecast window from a cached Forecast instance.

If the data are scaling factors then the stored scalingfactormultiplier will be called on the component and applied to the data unless ignorescalingfactors is true.

See also ForecastCache.

InfrastructureSystems.get_time_series_arrayMethod
get_time_series_array(
+    ::Type{T<:TimeSeriesData},
+    component::InfrastructureSystems.InfrastructureSystemsComponent,
+    name::AbstractString;
+    start_time,
+    len,
+    ignore_scaling_factors
+) -> Any
+

Return a TimeSeries.TimeArray from storage for the given time series parameters.

If the data are scaling factors then the stored scalingfactormultiplier will be called on the component and applied to the data unless ignorescalingfactors is true.

InfrastructureSystems.get_time_series_timestampsFunction
get_time_series_timestamps(
+    component::InfrastructureSystems.InfrastructureSystemsComponent,
+    time_series::StaticTimeSeries;
+    ...
+) -> Vector{D} where D<:Dates.TimeType
+get_time_series_timestamps(
+    component::InfrastructureSystems.InfrastructureSystemsComponent,
+    time_series::StaticTimeSeries,
+    start_time::Union{Nothing, Dates.DateTime};
+    len
+) -> Vector{D} where D<:Dates.TimeType
+

Return a vector of timestamps from a cached StaticTimeSeries instance.

InfrastructureSystems.get_time_series_timestampsFunction
get_time_series_timestamps(
+    component::InfrastructureSystems.InfrastructureSystemsComponent,
+    forecast::Forecast;
+    ...
+)
+get_time_series_timestamps(
+    component::InfrastructureSystems.InfrastructureSystemsComponent,
+    forecast::Forecast,
+    start_time::Union{Nothing, Dates.DateTime};
+    len
+) -> Vector{D} where D<:Dates.TimeType
+

Return a vector of timestamps from a cached Forecast instance.

InfrastructureSystems.get_time_series_timestampsMethod
get_time_series_timestamps(
+    ::Type{T<:TimeSeriesData},
+    component::InfrastructureSystems.InfrastructureSystemsComponent,
+    name::AbstractString;
+    start_time,
+    len
+) -> Vector{D} where D<:Dates.TimeType
+

Return a vector of timestamps from storage for the given time series parameters.

InfrastructureSystems.get_time_series_valuesFunction
get_time_series_values(
+    component::InfrastructureSystems.InfrastructureSystemsComponent,
+    time_series::StaticTimeSeries;
+    ...
+) -> Any
+get_time_series_values(
+    component::InfrastructureSystems.InfrastructureSystemsComponent,
+    time_series::StaticTimeSeries,
+    start_time::Union{Nothing, Dates.DateTime};
+    len,
+    ignore_scaling_factors
+) -> Any
+

Return an Array of values from a cached StaticTimeSeries instance for the requested time series parameters.

InfrastructureSystems.get_time_series_valuesMethod
get_time_series_values(
+    component::InfrastructureSystems.InfrastructureSystemsComponent,
+    forecast::Forecast,
+    start_time::Dates.DateTime;
+    len,
+    ignore_scaling_factors
+) -> Any
+

Return an Array of values for one forecast window from a cached Forecast instance.

InfrastructureSystems.get_time_series_valuesMethod
get_time_series_values(
+    ::Type{T<:TimeSeriesData},
+    component::InfrastructureSystems.InfrastructureSystemsComponent,
+    name::AbstractString;
+    start_time,
+    len,
+    ignore_scaling_factors
+) -> Any
+

Return an Array of values from storage for the requested time series parameters.

If the data size is small and this will be called many times, consider using the version that accepts a cached TimeSeriesData instance.

Network Matrices

Power Flow

Parsing

PowerSystems.PowerSystemTableDataMethod
PowerSystemTableData(
+    directory::AbstractString,
+    base_power::Float64,
+    user_descriptor_file::AbstractString;
+    descriptor_file,
+    generator_mapping_file,
+    timeseries_metadata_file
+) -> PowerSystemTableData
+

Reads in all the data stored in csv files The general format for data is folder: gen.csv branch.csv bus.csv .. load.csv

Arguments

  • directory::AbstractString: directory containing CSV files
  • base_power::Float64: base power for System
  • user_descriptor_file::AbstractString: customized input descriptor file
  • descriptor_file=POWER_SYSTEM_DESCRIPTOR_FILE: PowerSystems descriptor file
  • generator_mapping_file=GENERATOR_MAPPING_FILE: generator mapping configuration file
source
PowerSystems.PowerModelsDataMethod
PowerModelsData(
+    file::Union{IO, String};
+    kwargs...
+) -> PowerModelsData
+

Constructs PowerModelsData from a raw file. Currently Supports MATPOWER and PSSE data files parsed by PowerModels.

source
PowerSystems.TamuSystemMethod
TamuSystem(tamu_folder::AbstractString; kwargs...) -> Any
+

Creates a system from a PSS/e .RAW (v33) load flow case, and an associated .csv with MW load time series data. The format is established by the Texas A&M University Test Case Archive

The general format for data is folder: [casename].raw [casename]loadtimeseriesMW.csv

Arguments

  • directory::AbstractString: directory containing RAW and CSV files

Examples

sys = TamuSystem(
+    "./ACTIVSg25k",
+    config_path = "ACTIVSg25k_validation.json",
+    bus_name_formatter = x->string(x["name"]*"-"*string(x["index"])),
+    load_name_formatter = x->strip(join(x["source_id"], "_"))
+)
source
PowerSystems.add_dyn_injectors!Method
add_dyn_injectors!(sys::System, dyr_file::AbstractString)
+

Add to a system already created the dynamic components. The system should already be parsed from a .raw file.

Examples:

dyr_file = "Example.dyr"
+add_dyn_injectors!(sys, dyr_file)
source

Logging

PowerSystems.configure_loggingMethod
configure_logging(
+;
+    console_level,
+    file_level,
+    filename
+) -> MultiLogger
+

Creates console and file loggers.

Note: Log messages may not be written to the file until flush() or close() is called on the returned logger.

Arguments

  • console_level = Logging.Error: level for console messages
  • file_level = Logging.Info: level for file messages
  • filename::Union{Nothing, AbstractString} = "power-systems.log": log file; pass nothing to disable file logging

Example

logger = configure_logging(console_level = Logging.Info)
+@info "log message"
+close(logger)
source
diff --git a/v3.3.0/assets/AbstractTree.png b/v3.3.0/assets/AbstractTree.png new file mode 100644 index 0000000000000000000000000000000000000000..ba90123ce7ce7441d024befedee8e1b0435adffd GIT binary patch literal 57654 zcmcfpWmH^IvH%KW!3hL+_XKwc?oM!bcXxN!;O;IVxVyW%26uOOCo^;B&fN8VKi})s zz0T>~wWanhKUEzjCnJggiwz3`0)ikeCL|960s#dA0;U2D2DIotmMsAnPzQNY0g$Q* z+#}#itdXj?v9vS@HE<6N0tpHU0{#~S1b_!c{?|PyaE}f0=^yPNAj+UP|Gw7-rTky` z5Hk>nf58|7*S{|@-~;sj*A+Ym^nXXp0s9|l2&f$J|G5WK`P&WEr=bzJz}SkZIe>t` zq5S=Tf}~|&0;s^5DXKcEN=tDX*jUl(8QSO@(YjjM{_O?w-IWu#wK8(lBXqU0w07Wh zFAuXv;}Q=i=f*>%v59V{byoz`?;mN6$#d$VdY~&^WkRJLK`Zi9E+{DCxC;Ip6pX+oqGydP1tR4P^7Jwk#-(Tn$XzA(xJvPww z``=bhS$i`hVCKK$^Dun>2jqXX{qH>ggqJh5akK$;!QRY3+}hE|-qs%2k$?1N{8#V) z{}BIoEO{db8%w9Zot3Q39C`j{fdA9{e|rhqSOJqdIQ(5P%fIIQ&$fTTf2aGqUH`Ft z|2&(2v;v321N)us-v`YDI~g4w4g$glA}++Q=n8t8`NLM*hk)%)VtEq1(QQ{eA*54USvkJkLo)bvc3 zeO{*c@Nii0cM?!!!vAl*e`w+rVeVQtd7$(PTN z@G?};UpJd>Rk2gUchyXo<~R?<#5;-bU~E*Tf}BW=TRsZ$fKJb0Jq<5zwgx|^JMCvc zi244HlcQ@#-fj9Cb$-V)ubc%pKXp zPsWh{ths8&b2BiQeu8J8`JH&+4M7{Ftp;`;CQ|}$^Zh(~#K|D}?1OgVv68u3t}sp+ zv8}Dnvh_+~(8E)GZ#pqqna~Z(#73!^?q#HfR4~^H!<7Kf?Bm@J(&65%-Lv9G^eTN4 zhAI+{6Xm`CzBUiJ873Gq^wC~)?RnNU&HeD%I{hQ4qg|$IbS)jG1ZS|toA|*@%Vyz@ zTXpgBZk&6AOO#X01NvpnqFx_I$UFc3w z!Qo}K?5OlLxa^$4^IbX6?Ic}mo?!k?X5x;Wl+f^4*6B{{VTUXSR7viKHqoBbh2V3i zt=&gwNNfe=*TGFe+_#q|O0pNB$;n!O606lGRvr584#|Xq%;brv_w&tzSDh2+6iy8f z>62*Q(E(bq41-DIrhCjytRQV|MfD%@MOmo%jQW2N?S8?QLN(?6TC@0i3WoEL03&JGivt!6i9CK zc@#bxKK0sxUkY0uv;Fii>VY+B4`Wo?N=;9EX$`^UQd#YyggAMh4 zS~*Ri$K>%XzNe|F`*{u}$H`c1buFE6EBD5Rg~Z}aM$gpZ;)n38jB*lnF);aczg1Xz1Z!xXX(@cY_J6G>fRt`Ju%;&%qmU@>EacME>#a? z^t+Sp!@a?&8dld9I%E3)if_NHc4yxwO|Gpew7k7Jn9E1I7WRT31}&{UuU)Qrlf6vt z!d}gMLeM7F9@(|s?1We1=)uGK-1y2Hc%|8#>Y^X@Ma_(Pz$_nDzZw4CzIh{pkzl-; zUekDF@2}vrJ2}x39$voB#IApH3ofi?67fQA)UhR)XRuz!3Jd#@pA7jtaahUic}qm5 z9Hj}a-07R4?fD$@%0(4rjCh?kho+P8pxsSj-g9++bA3VD3U9uCpPV|duwR0vqNA1Q zbyQ_Ul3a8VeTlnDb@nJ7+3Fg35}3;sQYF3p)o4?x@eAJ0LIz_4gU!?YpH?5-fy+p* z;sLy*x5>T@>a)J_8kYcjlK6_Z^>xut%w7hVZA0(BV29;QCxaFXXr(uCqi==ic-_qw zvehv1Y_;0S#ai8~E1l0b8NZUklGI!Gt~P42FAuHNwTvs8j{$8zd zekX_#rV-FOZh8*NEBMyT0>LdjrdWX6Vtsbu2idnW+0IDJF%FlWKjK?=#Q9>+9KXvz zUbDOw*F@jIINFA!gqi)N^GefL4D~#N;KpmKC^yH zp^ep~esS&`le)qB9P}Y5EOk*^Ezy~At*kWtWhh!&n;<;h{)7LkvX28=;l8Ga6IvNT z8hf$!JLU|dLqpsP{!bion}x8h%Ai(B#%t~Ym*cuCG*>BJJiEM?;%OgztM48)Ycm`y zhmsC1Tn1dD1(_IUoXoc$hVa4V)^zco4>r}>7RSa}Pvma}xhU)vRA)z_L9-6u)c76K zUP7ZQ(WP0K->O%Y({xbpW#oDqkk)Q7@q95d`bq|JH|Fy7a&4+c+wo1#_qJZ7Hj8Y; zHKsM-T$D=Zo5GH&FF&o0!iG;&}{Xl&U-yKImQ(wRnGDgjC;`@QI*Qxi13C zruvvAm${Yikwb&omRe#Y`qi#eVRPTQcSXe|jFrM+63r1|HhP0^kN?h>I&{^x;aek; zH0-fdBKFSII^xy7W(1AI7;`PNBsY@#({dsA=T167(ndEut@x|y2DmzEF=TVGh5ptm z!PQ)X7+7B}wdDLD9(3%ev75L!g#(4tpVv z^lS^a13DwlTwsyNDhLU;^(l(-P4duqhz74sdc+=f+BAh-EuS1S4eOiH=FA_boT%V1%_gCT-*4R@8#;fpQO zIU;JM$CkU9X?45A@3nLrZ2i4MRn0L5&%>cJ8U8=PbH#iQ0%=t{6TKO6$4|P3Y+BFV zS|!TpNxxINGk7PN=1(VH5OmmXoe4uj?DjQp!}Ormq=s;NuB+F1B;PUh5Cn%a&_$-l zuKS(n*dMQg_0Ggj3v6M^of6ywoNg^gcr<9E92Td;A_mg_%X_iov}Q-G08|+ANEI_7 zx;fL=iSEhgJ0wab!&h18VL_9sm+c32ZwB$l6}Qz4&_)dLNCdJ0kvAJpye2)?^8;a0 z{hc8f5jrWd`bYgdD-D99@gdaih|6JW#nj*=&CO@?gIr@9JhK=4VEf9~_4E$zwxqPJ zrBwnl{F-xNQhaKGDoH8sZ7TP(L)1KmVVJ1#7zzIQo`MBCPvwRX!|)J2-9e z)8>hW7(%(S`V>}KH^zDK=tdP~RB=iDtUNY5l6fz@O{)~L_fz7M zxGO#Vxat3NG}FKQdFU?jt*3L3K7n{RoSc8hufQd*K9S(VOh$!Ozl5WrWMHl+b=-oi zj_*+E?6TP$T7jPhbGGu*3-f&e6m*Oo6jAI77lnWNNOpZ&r0xpy)_%`<$VPw%y#9zM zzgSlrn18{^IUARi*Las0^6wp0=>f5nBY)D%bgsOIWw-VF_5i*-Z*B;hAMMHp&Uo=T zN3Ai4;jdNG_e7!G-o4AQ!!z~Yki+^c^f3;##Qf(1at{l0 z?W9(`V3e@HX$F+{qu1Z)xmB8jtX@};;A}+okS2bKG6@=x1O~+IKBhRhxx|liuXnTT2VKE*KK= z7&y_M{`oWaB)A&$ZZJDmVC)wxhN(!9J!*&gBWLb=%92J8{n%Ll!rU_CgI=xKv96M` zoIlp7IS5RTF7w0p$>tKF zs?j1FiSdE+Qh&+{)zIgs99^n&#sX;?mcEu$u4ClyoQ~ER7+I8c0$}9L<8UYO=<~Ve z;(ljH6;OKI@wE@s?&@Zu)}*g^kq>cWxkf09w+dgr=$!Q(2GGZT^HAIqp!8~uMz|7j zI9w|j{BlH!Y`Ij%-n;m^I{aAizTdM-y%TZvMU|d}Spp5xY|wh{8ovUc@q$vOYi*t9 z!TtMw&?z`hFNXVk3U}Az59va1HdR6W`6V=rBAJCl-Jz)R`w4L;x_V}o==Rrb`~=0| zeR53F#3$i7f9bpKA{$sXh8XoE9a0CmCom?=N7$%v*)h{?rBI&uHFcWE;T9h9%9pLDKXH+EsLu z)%!v)(16~==#sZ&3D4;A9- z$SykF4_diXN^KrqDwgIcZ0Ods`Z3Do0896B-pJNMPs=YZh$;;(#aWg0X9Kd5xxhB} ztdL#-Uy^0B(?D4m4tX+iL-0>yw8!uBC`>XlKk7V0KGn}5wHYyV`0fj=Y>C0^f~3|w zwIRi=?SDEB8jq_WtUCs4tzUb$M%>3?;MiI#{-jNr>#(4^`Fo@cBw~dKEv=2EVmKq0 z!reQ(c_gh?ceV#5M%O7=7XGFeVyMGFaJ6BEBZT?`;CMN=3HWzdn?hQy%`Uie!;7a& zr5BGHiJDh+3a}a>UpxMt2DlC;4})-!@=p^{uYjqJ-Fc7MQ@T;zHU6QVnC1ap?;=xH zT$5Bp{t&Dvum6jTlNu8z@rlK*&fmIkOev=K0t*vMAB_yZyXeP$&h;k|#VfQZG|R%N z+#YpkCIZps`e$#WUUoBrfV^kxISmeT?T83pawUEzc}%tL6SWp~K69Qqtn7x$w#wHv z`a-9pET{QX7f?(Y4Q#6L&EDdXEBu*2hc=AOuY^*U}F@&b^ zNQS-$-X;Iu1>Bq1 zE3kxNGubm`)08@qY zepnQwH|CkU#!FAqUb2Jmf)^92K&{s1^v^ZBy9`PLAv^k>W3*Sy;v_@e`lZUk4XeMB z+sM#59_!l~2F!l6KL!aC%2;-<=a=6aDKMfKo4M&a)d>VJveP+a7wy!Vt5D3>m}tH~ zK0-gO>RN%8Q>+c1W0R@L6a6Su_K1Xm&Tb^Lv_=|h+g->+7uYI(N19q{0ozs~1*c)| zcnm)R^VHuOZ%GZgtn2rONtuXv--U*Em|m~`-be@m2IuF?Lbo%H*M3W>Jloq-u)BhR zART$tbKY`+=gMCmmCfz#q$=i1zYRAaDZPQ2=EHS#e40ov+@(${wE{amTu<8k5&BUY z!IyY!*E#hGC)Xnb()auuEz6ormi4Hww=noJD@C zf|vR8CTJX1MUL;N4Y+ZfO&Ad6az@rG_HQ;v`o{#~J*e5QX@uHD8`JP8cMDO2x*Awv_x?z+E9&Lb?6dM4@zh1JbjtE7uMm zCvhxHjqP^>q+=nn5?Wk0R>cssYb4MtW{rG;MS|xyH3!g*4~zBrM^gvU1rYggbgd{Y z)hyf)&2ePy3ZWnew46J`_Co1J0~x5*K~Db|tgaLndG~|cB=~HiMsvUYs&wutx>lf7;amFdLoEuw8kV^C^i= z?%7)P1pPpa!hUMsWLKfYc7Gr%e&L{BSSif0VIjw* z!o>t0jk(Y2EOwPU-#)CV)#s@-pok${yI%<#1_ost-F>l}1A0Y8l*K|Q>YuWel`wt% zy-15Jz9KFxgyCC`kFTBTM$1RgRaOe*mC%EfXL07cO3SU0A?rvY@b~jkAajQuCl(j& z3-3CGITg9uA>fs-dk&e5jr30q`c{;7I$_6K6oQT=)9i&h2;0A5p@l zjPCZ5qW5*zpOT6VpuV?-(Ff{0@l>H978Dgh&chhbFa2nj80uNvxz!XxP?9S&R(6Rb zyIwLDRHxB83oI6E02C+pMSY%tYMc@`uJCzi;RIzoM!P-9fl*QStB&ijN{Wkt1L8%o zyRrrDyRo3%RY)ESyr7ve}-I?Di+7;M(doBq~2nRfOSDBIDP+b?+_w@+olk zy1R%S7Jj?rAqyIof}(Ix9TpZk7Pr#j_J*E?ZpT#4<*jOofy?_ZEnz9O4c5a>8;skyIf!2qzI_qvKEhM3A8m~4Bd)3QDqLO_Z@FqiiYhmz+8 z70@h^VG##o@2Wa^Oh_-IX8SeESp-JCDO9_+U``n_GT~au3sEPDrppHTmDeSue%@nE z#YZBVgY3UToJL=!Xq5K6WV}6E-1^JJ6mmrL(W&M?)f(R5TAJ~7skBNZrDgH!c z(0{~ZeIe?SL6rRNlMoa{{yziGaVg7bYhpf;a8%>}<^ITs4#a(}$YUKyI_Rk+(-ns5 z;{J({uRFBqB9*bkq=TEdnYF9FjH#xKX~ktKL8`u~-pcLS_V|9ZqPrt}EQA=J5QKyS z9AcxZsJ^+OrIq#U$Y@a_8;{l1^2+L1zp@aPp1k-!>ODO3k+fxZ=L6&oW zJvAoKU~@|9+*G!Gr*Ld|GK_R$iU9(tH@K@u)5{EhgVjG!d@(OG*5*r-I}aXZOxdRN zx0nDkJ;UM`GKnBR=~^;uWxI5yrBJ3CdDg#n*PMc|w4`Lo`p`h`M=KML5(a2k_s}(_ zld$rntE%2Hj11aFpPXK-%>tGZsyBBp5Qe8<=e{4{%pVNWnXHH?n3!X7X*rQDgLNc# z`J(fNi&59USXwEvzt3WH{2F+m33+Gzcv_c+d)dK*L>U^!JL4_3Dd|Du`TdTlbId>* zg1)dsvumST#BoD+6X~3MAWk4wVtNAhKlE#FnYK4f^zFrs8&cCF zQbWp{TW@E_mKk;;vV%!=^ttlEgJ?It0ej5H5Gdub%ts8P`WCQ8OeHhPKGigs(`q7h zYRddAIksaBKI^e9u3kyaT6-&4=ZyC`+V?X^N>}`berZI6bEKN0?GL`Jq2c~^9hr&Z_wIak&fRNXAp$@%rWbP<$g*x*38#*Tz&ozU@UWv3Rer@L-Vpgxd<9j315huYsJ@ zp?&XXh4TJhOs*q>zR$+&Y5tfdGRWTI!4#CEqD6Mg_m*C={frFY~SE}W?rk@?))`}MbY>*rc7)zp|QP0_cG zfw|!ghc)^?7}-q&c-+HWztvJf7Ls&F-uV*nRkU3v-S}b-(Qv-<_B$PBxQQ$zjq`ex zk9c{L`L!Tldb!)*&fKv)wOn20)%puaiO>J>edzz|z16?X*w9LOG?Oa4A5k`9ylwo6 zGU?BfF4BR5KFp!!D`mesob!BNJrJ3o9v@CblfSJcgdc#YQe$MlZ##+Y*oO07I#{Q= zJ^RGLW<9)iDbNUmYGSzY>KdoJ_4QBPc>JU-6r7AB*X~$mBuFH@!J-v6w<~p0y1|}~ z?$qR46`tkGtpA)KMTGo};Y40?rR;_av+h|8vf#QUsS(Fs5H_@HB!0XT6*I5I#JfF= z#zWt0{TC9od4#38SbC9MRxs<{=hhf(`=@4?^1&4QONaqVEvSdm_fQuxzHtagD=mH_ z&t#nx4b1F0w-foX&BWxNr#G;tPR6ZDyO4}*&1^QJ)k{df_49?n={8dn+Q?)6P#a?5 zX0|mkzJUKJKa08fdT@R`N}wMDeGB(>^H2TxmmzkKFQe}}{?6=$_dJW`SMx9ND@d0qBS_+=ZFneZ1#pwH_*J z5iN`36dB~5kSV`XbIw(`%r?`pxxa^vTxDUs{~TP(MaasMeYBulMOZx=UuczT^29 z_|nQo8+_6$?)>OF)P3Fj=rUb08GvZs3t`2s_BoZ~pg*oNi0P_n);YJCB0CMJzOfb^ zcA88lCbPXujCnn1{~?S_NY@nb;z~W^$*^n>qbnQpINmz>o###NrlXndqV8q)1ax~a zeLRy!1(^_{m`6*p)`3Z|Dg);Y9^FeGd8lwC{f^u>r~sV@f7l}$nn+hC4NkVr-;Q#y z3NHrov*2RQ2GMN(JxUkkpeX0};CYg_Y6A0LTW4G1bh>l$V)thk@1~DCjuK#JbVA(X zxwMmL(84KBS1VyWyQ6ThA;#K+4NT!bE$-`aFxC1V^PFyqYM3uGE}MSUClccyiCDn& z*{qh7&RxF29yG0XdzfoO;Mu5OK6($K-G_KT{eIDhTyy}ho z_6>EoXWVU5zh|mv@vH6IWO!3C4sr>KU#m}5zntAc=Z9}~dbSs0knfR2q;_tLwvPvB zQSqAS=PCtX$8WG;F6eaq1CW&%lQ&tMB4U@#)3Up_Ey{4bUD2USm%4m?c3GO_;dyf* zLdPA{d{jNGgl~>wvuxRdFXgVe`Z@xq3aGz5!P^WfF~3D*xVuz(?uYL1PZt`)=pLhk z58$cLh`=oTMBYXUcxQ{ITneb5!rfRz^~;;PZDP@w>h4LE<6$Cyo=DMMo+_3J`w|SU z?tO>9=(P}rgZEV|hnWpgLlYjFH_7dtQ91Me^F~mm8AK=60bM4+4ezE}0=>;}W2FE0 z`b{iW`liP@3wn73)rSNn5*;=FU!DDN4FRikIzQd+iDhXM^tOXok*463E<{!Nu-%t4%cDo$=0ea;xcAn^AwtHqo~wr`T_mpW3OjheIt(bI zFFlR)ZB$*8Xh+0>e3ouu-*vK-IQbYpnTNubN6dyzy+%%}#usI~N&#a?s;(+ZEz9{# z2A6JNsfya_T&@+OT=T7`2ozVP3Y=%0W8Lfs3WZU4hpmp@=R2>!mt@C$J1~yL-cORe zqvQye9=B=C@sg}8+LTg!XArj0^TXP^oK;#o+(wR0$%iDt9ZzaA69JixG)A(&I0=5O zb>|hGICMsC*5vOV6J)$NmQyXW@jR2;4Ze3^JS+fOL7eXmq6GGM443z@&+0|DB-Z=c z{~&N1Gu`nNUG6~ckbf4ULDEx1d1#qObM{F86_Lo-z;|cCCIp`{RJtozU`bi5A$?HL z^O^xB)Q|5pt+Tr0*{)Tm^A95h1FFhAv;Ma0GuM<}O`qfa{HzH44wjg!B;K{e&%W1X7wY$CJw%h>B*KY@ z{Z_PLIA0>qFo!gU2uzhB=2I!VKym-UMQyxA3DPmj*?QqgRp$+dMCJDH+2h@8Z!x}E z0KuPfV5%dyzx4%Q2edwG*>TR0HpT@sjiw;il(9pXfuVsbt6w%Z66-aG@G>E)sKUC* z;z^fV6m}c&tw?~h&gvE>_zC&%HcI2+)v=^XEqZ~a^tRo0Hs17HKtR0d&$dxD$NGxF z$e~eIZq-angMAiJ?I1eQFIoKgeLvhqv{5(J}XTpb~Ms2VcT| zEoB8IEl7xrZPlfNI7^|A&2rgj7y~AqGlg=sLdYJmD(5MKHKsHDZc2`}%BL%ntTMhQ zBUL06f_8oIVAiOLZ@;+n9ujt&(0*N0@!E$feu{~dBLm%Xq&P*6!1F_CICnZ<#5-Pb zQvEpQaxEdXhLiwX5hVmn-chz!Y;T{3#`!Z9&y#yhS;584 zv>YamVrn_19~&2I6-%Ko5RTTmkWmKTmYaW|owtNYD#^JRm)*tru(9sbl@`Xv)hEu$ zABO$7iaZg^~I>9wG@_ponG+mgh+ zFG>gOT}j)LB=7(mM<7sGcLQV{Z5Lm=y6rVIicIeB_& zRI!cBR{Hn>(~{Kk--zELilVj~j9~o~qDacX=4~qlOH_+uXxeI|Hh*b|ew!VXE6FW2 z!+V{jf;mJ1wd@VTJ2z0aK5pBSrB$ER9X1$7x#fE<-ReTrGD1bCI;vu>l)Vs|?S)hm)YwX2j;4p<57CpFA$%-^sfL7S^HF8icM zNgepsuulaf$WtC*fa#;@zF(=l=^1)fbB7-c31SGT^EvAkxx!zAF3ZHyEY}Z}UIH07 z=rS;+nM#(^_=;1H5Qa}^Yf(3;JopBM3-8kAcikZ)q<~v1l?EHAq^$U}&WpE?Zy+@S ze>ddnk@r)|Gz`oTQLMx6Li3N`e_f`x^}%3ra(m6oBv@$O%B{+v&b9ab#)eMMZ4T=c zSbg1C(i}G+8!3$r95)EF{TuX6Pg0bpr?FJuFbjDDYnp6QRk3dwpA}h#+cxz*YPeP- z+V3+}m0bqslDJQUOLM{5Uyca<;!iXFDqJQ6POJCzwRI&ZhY};Tp4>tZZEa2DntM?= z0$CbKyaYio2@+uG%s*o=kyzO!Hyj`|(uz*G_F46jIAtf^JZuqWN#ra0xs>>6Y=2&t zP?FI&vwRC;{kgZVM}&Y{U09tgFJMdvc=(ttpR+q3&uuKg*xvS+>Ph@cqWN~B-)dIO znLR{)Kj>`#m@V5Ki>>zq2!!=#54ahn%w(w6?@wN(J3pCK)pEFu=9{{~X&;5L{<1Is z4;f6rDHv`=%mpjP=h^(~>5=X!2`H%_yM*g}~JIvsN_KK9IhpbPA(31AB!hU<0H`4GaLq=cNn-sOE|1V2rVv{O4ZHz$~a6#PAdr!_X-pNt?~ zoKlvvK^BYSO<~**Ii|y(EC4U&GG5zQ?qYf?21c6m4Q%)&Mz1`>n4n|D^740uR_2jw_4}Fy$cG&9Asc_l}BDz|&g2|ut$0NyS zq?P1Ujte=O?f6%7#cnQyJa`!vToy>v(Y>7z0?&b{ilPJ|9pm%sVeuJfo%PEJ1}?ok zE=#17jb{@Q)Hi3%`lUi2#D4A>GMGbTfR(3{$z{T$-Ypcyt_g8tBj2<=v;K(xf=#4S z@)JnWrBeJ6=lq9RhCp(yVbVxf_Q-54=8lD#Re6dl6Nn0xr1F`0cNZ3K_KCA+Hq!1n zcZGKihM&b!{T^S}TA}+`7+e1Fh0akBj8hz7QS#aOvHx+z4m?{6H4dPlaz-0RMpO& z_pyTcJWxD-&^~=wh*jVEM*(^2ub^mA?lb!I=_=hhpCZ}mspVmgf&OJcv9`)c9_uNW zx+IJk5*vl}V&D(oeIosZS&2Y`ExDa^v|BbXhXqUlJ_jD-Q-6_7=hUA&lX})TY$?p> z(2m!&Rt^;#KCKVmkO7QYS3vkPJMy*lS5LegiiU-%SB{6t{!YQGsSpma z68~MEB$pe$2W-F122G}Q8izRNx}m=OU*84eR9Mq8l6B(;BPBEkTT0ux{(WJn1%K9dCtE&%Ae4zw zNQ&P|9YXg=bUlc6_Mv&mqaQ2ZV@ODvg9D)Dn2$@41&8YpfM8f-@}(iMFWj&~a^VI> zp$tq9=WB)V@OPJChn?NEf#dB?;ub>CY2?sXvwpx+aMFAWIN9RK8xKTAjvh{kE&Yuk zE$!R0)+-G|#0ZT%MFb$ishARO^eLUDOM-O2TG|-DYG!=DIFiw+MrEvArg_Fh>9Q*h zg9(WDxJ9BIaw;{aVj;(hf{^=n?`B)vj#L;sn2dTsks_~8 z(mRNOIRT1CPE@yL2Unql3M$$lgZ(MHcgYmFI9Cruy!vy|yr5Fo?k}gkgHg{|K5iIY ziW3Ke50mqw4ZFREfd%C|c;Uc}ny{XF6Xx~Bk3gq zMMlE#yWZI;r}Ig1KD9hJ8?Ai94*Pm_Cuy}%IJFfv$>oe_d9&-;J|l3~E3ES@1x%JL z`Qg`g5GX7}2N$mO)(FG_OO2)r;s#h35Sykd>7H|7Ypa9BM;*t}Ptd(76((U~a5U78 zl^Gb>0R3}EWcx5#ujkO&m#cLigIE#c6ZhEdjpNes!L)NjHU;il8b&%VMGj*c2`Hd} zDGQUnzxu@^T9+&BCpg8LD8j&;pF`(4rE>oGZQTvu5=OBK4Ua@vt<3 z&O>PdE?64OT?piDf6Hz%jeW^U^LJn0f=IG`R^7p6Ayze;t8?1NpaZFhNXt(keF8#J z6xcy0OD9spj5yqOORu$+O4iCZhRah1?0aGw%Vhx)|FCH1+ns(%=N4aMyerKQ+GW#17WTo5aL|-t?=hjFu03E zUhKlO0}?~b3BLD8Lv6NqYlp>l14cKK8^}kr^FKPPVLUEIlXNDmF2@wlKu3SZ`iA~h zJ|#7EUrVtLX!8uPJN1gabTv|HT4V5us}gGZN?@;v^M3_nMsQ1I;&rcitY9jLLYT~8w1hFWw{HH>BH)y=)bQ(yXl%5Q{xSI+h;VVN3b4z7_9&~ z@{YcIYtL3H#y(T`#h=tW26>YtHedg&9u}T(RXi>@iRs`GPJWB^HU5iDQs?J^Ea#n! zI+9j5HqKhid1r#$LOeAq=~k8BUgl_61%(}^wB!L1tYYqlP- zSivjzt<+nn^+y?Zn&(pca-bJ|(xv)|Wv`^UubM_9F(3n&9I#;Y3y7(=#FpV;Y_I0W z1zM6R`is`h_s4_dJg)Uu<+A0(7w`!Xw+R4ydMC9$+tX+fw(1*9 zb=$4?K(nMDf2ZlHZbFM1JrA-RD`09Ep%}SdLyNJ^e)ojsI-#)MykM-M_!a?p*%qdj z-zF>5&dma-n>xo&!lTgo$!4syi(?uuk@r}u&8eA01Obd-z^>9=biB_q7dE~8y(C$_ zeE8TIXLO=6K9RKvsr!6{#Rc{IAi4?zpzwcpE@y}ymE2b^t10KKCS|e{B?@gA6Jv4C zEDc-nlTu7zI)fjSEwyIA;ok>V;1KpzA=!ZIcv9nCiSAVp2Z}eQzV`f_yt?_mao$MR z?>(0WITG_D-d7*clBl~vDkJ28xd&DL86Yjg?OhnFEf%+ew8`ALQ0k!;Pj2^Rcd5bE zy896B#KFhyfh62>dFOR~SAgZI3FYDw@fe+)&77@^$2-%TIm-!yu>-z^N;X~oDMvHf z1GPvByrV(xtn@EiaW(lFLZ? z(rOH+C@1btUQw(|WjH^i@*$DVK@O-MHqa&ijf@Aa+w2q0x3^ZogU`pqQaugr$=P1T zS6_d>?oTLBuJUs~>3<{53Hm!%jodAR_|hq{^*XC6IvN@2%UFsp?@3XVBCG&H8Hk4q z>6-&)IhFk93|j&YX!ovW9hWenJRme``sQmiyUg*Z%^ZSz>aK3X37k)`ZLk;Y> zQoGI~0X^}yKg=Wlk~f13Ku_5NN2IRJ=bqelI+Z>>>aVZzVYObtQ1sbWvk-_~Qd5>F zqWuXJ=G*S8S~FZO@SEc?pAj>_u~7QsuNMzIk@S6r>4HEl#$vxaTQI)*j)q5(;l=XJ z^;**TOr!p7&jCdP=k6emA>J1s84v`$0vP;BcKSxw=Yof-1_#6sKLYgpFXoEN?M0WB za$$8{zGhyj{>mlf#5WcYW37vVwq*(f4vSPy6l{qTtl?c)oGSDEy?3p*GP;9c=XE09 zh+b(XSStoUUXF(xbe$OR95wbz9h#{m!~=wRB5frct_zZcXDL)!FO?-|6H8!gIEnYR zU@D@;R-BNys-DME4mk@D&vX*yrQibr`b&oi^ywhAAGWXHbw0%}`RRyWSfrEju5Ksc z-u0Yafz2i-k@62feqh^R{qvX*PymsRwtl|kq+w@?0DsFph~U*XUY3{#du=VMCqS}a z9c64yD=(Q_nlFua$|4m$o$ztCz85+J#`@boyU2)@6exw7#TZr{7lV-J9$1WYsS;;xfi*qX08&sV=y;WKNTsvS11 z*`t;K^Wd}TJPa2efYKqU-^{DOB-8$%^{{gwPLd&@Q2c#gLr2 zPjWP{vY%prWe`S>^%D}hAiLRD3Ca$~nbY|!)S5Gi{42Y>5`|JM0Ui`nZVDPs)HfPW z6X|Pj{fg9x1W5Z)%D;&5MZl~*?=P-yzM>=D{&vW=h9yUF=*+blw_*4=3!daH&B5RV zYQN;Z0MZW4>X^3|09b0TYA*Eo@-wLU^f=P z{*VJV6v^cQ`^0dCIT!Lh_Ve*%1|{B{i&GMg*I5}~iht;4(`c>*)G1ZLBWmDUlWW4? z=i#>@eDCY38OFM+MQ*K|on>Ykp>+udbW)jTJmzAfK^I@yyUTe&QURw56~II~&ZMo3 zEY|rHzK*{qiJScp>BT5wE%>hbHFOc+uQW1%an#-;wdx@xfJmGTIx6}$ z@a!`QVyVH5NJvc$?R!oAbl`Re({X2gocT@f)IW~lJH+{G%{R|(L_kzF!Jm>9V9!Eh z6t!EL>P5E)kF9IG|^yAr%gT+DD#2@WNZ{ zy^j2`5pWiE%GL10E)X6_OvuRss2@l@$Zoe{yJaYuG67ln>GF@X1S<)oSph(e8G>2b zC&J(U@Ha?!p}hU`WOSD#DlGUw3ORrso;n?#$`{l<6t1K{;d@@-)f&jd?M{20`KKO)lbqJzz_Y8#FsnZz~z8CJ<lwPemgB>Axxr{hk5IT|&q4{NIb#`kOfOm2BAazY=ZuyZ}>dE*bZ&G?UNG&dk}= zlHbx@SU6~f#3b;a3%DbaOH)xz(@`YIz7+&BCzVUn2;~XJCYc*3iL7V%A%z0-T?~XS z(ZXS&uYz6shkP(alCNgeFx{gskz#Cy)0UxLX+N?8lH^+`qc*$?F+=;VSsK0i+$#9AL}tNY-? z-#2;&#jC)92*Il(+&ib0XTO0|&Q8Z+JVY(6NKktx!`;-~b)LL~4OI2;y1F-uxV|YS zh9mifjD5ml2zF}fAq-g=7&n!voykp4oepxN7QJ2FwO5O*xV!f4O#Xq0&*H-ln1v6b zlF2uq6b|RYirJ~Ih+2-tJXjW>ENifbA}ydQZ>8=YJugWNo^&7>^5J~ZOuiwhXvW3Z zMi3=Gt(JW3P5I|nJ;NDSk*gxB&iYoXl6rM3vRS&wylk8HgigbJ{FpkwNiJ( zQBN_yXN@2oO&tUxfZkg*^x?Q@PLO25Qzl&7E59ICKri0EVJ=^n1;>; zwZufj#T;}(T~fz{ZK^%}?Enfv^w|ZW%1xf>&uLP(SZ7l76OQ4*sHGcXgDY&Vg+{Ds1*4t4u^+%*T zosT>RxxqQxyRtp2)r!A zo0X|Kyp=7GQ7V#Dv_R9ILo9>vXx~+7Bf)shIJw?Ukg@D!N=O=+{g-nI(ZPVS+`SDk zB>4!?FOiWW@>%YW&;7;TObx%g4#ls}M~k1mcnDw9Uk~Sif2pFAt{uY1%ll22(9f_`QaX?OVrchl`<|Qb+9S(!OYs zqFG)D>AR!L(HDrICj?VS=Fvp(Z59|x0gyEGco4j>0B@U?sMD>PPNl8qWfAnEADsmL zVtml#pOu@~x$M8Vf5PqJ_O>k&F3M6&g#OTGV8O0bFO@q)=lGoRZ+Q)MMzN% zkBzcBjMCOj`(6gM-{^2%{m*{^1n{E8D|&7Y zF_Y61FjlrTbo(Lhtq5yPZVl6&jZ{cTWE+KnRuMeLUFdD$VzzG$b;Hjd@Kcr-?aS4? zObHx(fYMV)qsn`xp@D{jo*(dc8N|t_Aril=NZzh?5ki_zskI*y|LV@VY!DGa>~=;W zvEsNV@N(*#e0jT%YbHsfX39_rH0!+lfOL9p5xZ1J4{ty}N&xlRU z^c3Gdd%dM7Q7{}qXs~?KNOqg-%#5@c#2<%`D*S4wn}tN+@EH%J+pnT58SQ7+NJ(2x zU)QBK0T@d|UftR+3xx`;2CK7x7WE_*Mae~B^!y^)5?E&8tSf2>zQdrwO0Khq4KW9o z7ur>w&c|BiHRgyBsMN5hd14bt?r00&&VWUl4`)X>j%Q`*ugVRf{9>c+-OxLOLXJ-Ztmvv&O5DsFM1CtUIqw;# z9~^;XKg*=y=pLp)U)pt~mtE>>>2CM0&}f6wmAF72%G|Ht%UwEF4K@qKTQ^PmtNtIV zz5*z#c59oI?(XiARuFjT?(XiA?i8fEyHk+vl$I_*TIoi*;opz%_nve98OL!(_P%4U zzOJUT>22PZ5>b`+DlvMhI94$HRMpUs(ck#dtTMd+Jos;D z*0n>FmTPg6-wj70M*UPl``nIfmC|^G$sDTV$BV+2dsr~$X1#Lw(o7WWQ>D`nTZ&hx zN!-DPz{p5_i!Fr9ONByO1kGOK=YM>gUK9Rs@|L*Yv*I01nYU{vP)GqQGy3!14A2u< zKi_8{`_bG1A`c4=Qr93O9{sih^2_B{Sryvyi=q{F8E)vQ%~9k zDye?&2`&1AGvb*kjW3xvHFeW*dPfz!dpe09PfX(2(vfpW?(I=gMa$#YHHt+k-O3^Y z0IWEF^4*aXxzY3S*wj-*PPj=bNq-i!`>P5GTY?t1^GWT+y{_R&E1wTdaEQHO|K5YC zD!KKazAKXEr6hwf53jTD&(?x^{f@J-QQ&STS&o&P?xnQCI-`-gvYv_tH=t7?ozL!N zsdY7cU>>@Fz|z6gNjIv7*4PXE^XO^lC$xX2f1G3VMoK?@pViOIVACtQx8w3r0wxc< z5u6z^fiIm%EMq2;x+TBJ_(4>Ce%-PlD;HxVWp4sZeyHd?dp4v(EFegI$Xp^~%Blkq zEY|+CYx{`E`j#_L5#N4G^=^;5;>+p~E|cIF-WjbcoSu8%hx3nIV?Yz)Z0!0SFaC=n z6e7l3F80$-`^oAWcauA`j<{ZW2%M&+N2=dT_F{135c#=2@&~xJyMw>J3z?X@u7-*1 zx88_*VpF11*B#~aq|<|N#9v{eKB{2Wm{^Q^SmZ54<+VPoa;y$`7P{tE7m7G6iWf9i zt|t_iHVIb7WwM8-^twk(0m;arqJYMU5!DA|cw_#2#=8Daw1yuRx5$x|A1W`J+|z!F zLc9skkY5eKOZkPzTQ`H=hv&{bL~W#OLMvy=j$i=L?gG|Wy`0U&qaU`+qXAj9p~|nI z)l3ye4(@}260Ov#qUq31&Q!%ui#;hY=l#N!!jYE3R&4u*QuXbn(axShTSoPsT-skibnqTn~J2+{3|4$Hbzio2C4XUbaGnquCeOOE-6sY{{<0NZqgK3k;Gle zHjy~Cm|0M_6B;T)H#Bc(;1=J)iXyKPeW_=b$+bFYu>2;Jw{OgZI#j2YPdc4YOdw2>96^Q3}C#(vRqIlC`&fX`hSxxbSB93_nr#- z!9vPrp!Uwp*Z;iYpMP9s07;%;n&2f+aQ>epPX$OStN#Cfhx{`j*S+d`^Y-oC#&=ujWzdfZ=c0yY1{Rdh&j!#r; zlCFPzJVM5PEnpa)`tCb@UQR|R{ZBte{tG}cjY2A%tIBNs{bB1Nj8Y^|4VIFbi&lFH zXm3EoY}OCNmlE=ybCX*6%!cYpv@kicsuoVic^5mCB#=Tv*Z-fZoR)xU=~;2v>WTpx zQx_&yt98AXnlJjw+u>ZFkIilGbwf<` z#Fv3w9LygNk93u*+W^h<|GH0dsDH6Dl3xrzLsNEt?@E9W-OQf;ncfq-XAs90F5Ph9 z(qc`c4&PVS)Dt$K3r(HOnddvrN%%@QAD{%iafE`Z#ugRPvRA#&Kb%#VZtv1s-xjQFJkR*O z^0g^?{Vgql$s33!n{ka~v$wMbNMuuCe5KHs({G@Zd%ns5xa!;ev`kD@4K2^YJ*}yT zxW}$%6L|+QkGx8dtN0KMQwB&uYv6!lj&LHE;x^20E6K4a?dvVE&^T*;wI7Jc_La7s zOS9Z8895d#&D$98|J$>$Bd{lcIn4(}qrLP<~x~^CBg({vxnRXw;8! zHmltfiDnkcsGeJ)w=~r7jB~|Q)3NR0A`E9|M}0QQ?L70WDguC}0URxlgx#e@KMJdB zSU>Ahdi=15g08ZoW;4g|ZxLz=p_qg}$?3)m|K-stBsL;TOoa&W7kae~# zqw;T~;p=PG?0Q@aR?9ZKfHdnol|=Qc929^E?nwv%_8za+JtE;g04es?%j3|=w*erT zQq%(=^LYH13<}Nq;ylf$M3rN{#vx)TOUz_#eB>yg2&oCLmYhOz@FyJrJwFViL~V3F z?slF%7_3sUbIhhZv6J!1LUaWak+I1vI~o0|#!~0V_@|)gows3raHPJI@Uuq+C%g+L z!@mTBo{gdH-PZNf$UZB-COqfoP-%uR-7BI@|LW3r^q4l3{f}UMg@8)vsRDC4hkwUF z#Uwq`dMXgl?1z@Yhru)^LEQZM<{X^9BOJjGV7A8@UJoK^YfLB0P01xZ029S?F(HV^ z-|2Kt-d)uah!0&$=`%2B&_OQfJhxFHJ+BANj@9O(dBys0XUqnXwy>W{rIgUI!Ss@S z=%CH$anTpQb}~K3mD14ojbmG0h3mZe*P(<=yQXVMq|5Rg7ywoUAQ=2ElcI>O>a%g_ z^|_&RzV}A$5J2&((v8B0rF7deN?^0V2x*? zi}&L`o)7%~>`2P(R$G%je~1O2l6R2_GcN%#wo#M@H|Y5DV7dvK77l>$dAPW%Nguzz zV6k%shO+<8W0PL(t{I+@m$0z-k#jIaQVF$2FS#pn4>PM6mc1|NZ8gNrEUe+b|K<%g zLS_EwTR_4aLqIID@RiIw(}^&g1l}SLOm9pz?E&tLxOBwSxODg2aF$Q|V&ZMOde&BO zGq1N3-w@(s$T83D$1j6*KgpE;kuV%g(2DWtZebrhBP@$1^-tKwIyAds7feQ{O&S1> zfQSDNJAGus0iFnpX%oA zsN82O00dFCu5UYvg~|@b+_c>7%#4+jh}P*KOVE1>J;EW!(X?9rd;)sR02+Nt$tH!U zf|&0)mBjw)=Nr}4G%0;ReHwqI+dWf)67mgqCRP&z(-Bs)Z|x_q!+Y}$ZKlNj6yw?H zJlqF7d7n()CBqy_LJ;{6d|kn9@D(){Nd)+5)6g37gbQr+&*$Rm`9kIs*@vh>gyJF~ z-D4-SlMOMG5z{fZvepbNFnJ^=)qe*zG_rVUy6@@y30_=p76pM`3Jkvjh*Ee^@n5Dg z68kTXa^8&y#MvUozxoq+gL$V&Ep_{@{UWaoLp=Bfmk?+wd=NJRx4Mc)`|o75sj~%j z@_U$S{OS!tvG_WP4sD<+sk!tj)Ab$0+z#L!G4s%7!q`xN5|ogL1pzIXh6f73F-D7F zQnHswm^>$aq($!we!ue`2MB0O6Tm^2&y?IyxBl z(x3-eB&gZGzv4=PlcY1au(o>rxVv&FI6c}OxM)|KSCcx4JI~u27;vBQQZY6kh`-1@* z=UphwRTQun|CAP!HhF%3T;L#fOIxdDOap;OwJ)ECh9bR6m{P#t6@tba831Dqg%B6P zA%BvA@)id!ttPVLW*m2bcA#oC-eEtX5h!J%!}F)*!^H9OV_lrhw30J%*GKlQJnX99DO zO~`kCN#7=X0>DW3!?_eV)bPUI3PdqwIXP+sumgF)Lio8xe>eKP7GvZfmhgv++5nJq zu%3OrP?EQCc3h7&AjQ61q#ctGti`^_5iXU#4o0M6 z6dnaqcejUN?T0xwpGNQjtrA7kdgPsXG2;yV0l+M3mVNxd*(qt2qNHk(tW4+n;&vq{ zS@mi48-eG=bX~b=I|~abPxcA45REM<(t-qx8MYs^3?mYhV@U5nM_|&79|n66@Qygp zFMv|-T=MpGJ!0&3Jcb^VG>EAy5wr$K*?dfzd&gv4Y}CCiRWlApb6qfgZ_q%g0_t*( zS*Ze;P>5(;NCo)DHSk9u+8NOcj|HS-KeEa@cnlHA36-5Ww4T-AGV=pss>lt=ikim| z|0Zz1gOqkxAaO@R>aE5a-ez*GWL;Y_j{=hcVqWznI}h53*9Tf*=^l5zhW8JClt z8#NPv0(t@@10`#KJ-3SoQVO?>Cbi8_0(;O=!$+hmp?}Zqe!VdbZ5}F)4lOu0tn2AT zf1HIn2snh#+ENOgG_U>v}r>qidkp-_dDjYWRl58j0Qdc-_tC!jnnx0s~v`AS}xL zp8(~I;!UDE=|_^;Vao;T#czI|g;CLQqy~T)F)rX718$2EY=4~xqCskaY&2H30`Xd5 znq#;DsoCK%ye!3;wW%D*aT8;xT(ku6&B4VmATOR~gSr5FLoMQ&RjHoJ;O^bjN)VAu zcU3;Q|E18on0Jpd__3t@kY?`ox>lln>2FxTpdbzGH#0zo_A!DUDJiyPEdHdtf+gyz z9C2S?qXLmjcl*GS6@)zCxVrOG0K%l#Z<|~c3u}TlqRy5A@N6v1*tCFq0rkKuQSWPd z9ho}-&!`-SMto;y;vHn(0Onkxvj4iAf9Hb68&e#T5D5mD=_4Z|sDTYrL2*aG{3QIg zIZ_%*mIi&OY(Je+rGiu5Ks_caQyYjs7Cxtt4P-K_9=l@0r$L8u5L=iGz@iDb#7O}7 zl+OlZMoGc6&3N;UF-tth6*BG zopQh!6+*)d6d*PeJ>aYDL)hnx1P>UQdC5IH_c>RQ@uu8)hd8TAd*he)0nQ9tLOe`I z4EVw&p~_(Ly*pDg4x^01bq+fQ9I6)gg}QY#vK}1*eiW4^&KoKwjR>lW_T15vM7pCq z@l@02C5ELvs+6L{xxQbA61@WpLv4<{PYCP4w$0CG!eNCzyiG!%9x65G%q02|!=|4U z=m~Gs1R4$6N+*_DcNwtPdc`&DJmScw3%J;109DIYNT~%aIGF~6O9>z*_<34PK|>Y% ztUo}sA_lcUjZa`L-kt#u*m+6vcn^L=PH1)}o=mUSK9%yd8pHITD*_^(S29rltu^HH z!;n&9*3uT}k3HIA(qp=o{mj7f13=$2vK}Y8E0BX$2++0EehR>zqlShYQ@)kC!1p^O z;Cus4sHf2Z7mN~Q*$776t?8!vRp@`81pv*5)*O2T04JM}umP#eYy>%0J<{!O9pwt} zTEX4PT$dG0Fo;`NMX!B9(88Ferdo(itxf~06XKd2!@gD|z$dO|!lVrc=d1IgfZ-6x zCO|@%PXRz`r_E-+nXykClX_R#cb>!QLO{c>(jsU-7v>Pq_WZ8{z`uZ}T$6x>98#HF zXc(ci(?m+(P^;EV7Q1m2$c`HCJ*bdK-;q~RV!N1BAP(qx%khJY;pNf2qGEt|>Fe9+ zb)UsbYx}5eUeX(Q9RhOFkvPs|NhhZNJ`#+-k984e4($l;^{x;AYiAjAI_BTYFo04Q z6R}os*oDn*@)h@12(AUI|4k~XYH0}!>L_x?RXusTMWNc4SCZ z{1>!zB4z6EVy=vFNjfEET9LdsHnF&O}2!+H!7cmeY~3GiH-3ya4`X6NlaAKe2!*qc~_hvY79=mZEcM+CK{ zeY%}LoxqcO%f(a49^5V@_5S0@@m5r3_oe5h*Vf^w?wK#K^{v583O>aOJ#!j`{qi#p zFb@LPLo3!>lPKLd1`{y;^!^fGrJ-Q!5CG{HtNCeVW*iF*r^EWxJ3c6#gkZ8tt;7j< zCc>qGYW`1_=3e5`{H)&c-H!Y|)(d12x}sIOo_x3V35`c8PeU#M_8<`FZ=^(lGF;G+ zCyz8WyV{rhyy)Q9H3rP9yGApOM|0r5pdkj)9T4M>2Ao zsqt0uZcLxG1{-d%#W>wJPbAAp|+KH7>Nao zuBi#mW*#;+7XJNPi-)?bHjD@ndO^i&yF0xAy^T9hm%B1umwv2|euaBwJk^~jEOH!E z>!)6aTfmso!LJ{J>TJST;i*l*Zfm+O5J9ScpGabb}g@4OkUY)twM z0M+@dnVo`a;WTINv;W^fTd9bTd3nwVjW53$RN1hBH zFbFA>illx9eAtX4LkeY4G6rI>{De*8VmIn|0%zD%5vQZ(B@df00SSIbLklwtjp4WZ z*)Uw9fDsnFZFMU<&%d|a65Xp(c-R9bc;rTOr5MF-{#;Ys5AWx*0!C4$)ATAeqRRmD zotHFCN1c(_V~ngEHg8(5sQaQXJ*Ei;Vfk(k==%HD5jZXzJ@)7EN#>$eF+?!~7{8DF z4@M8LG|uK*+V)x}_l8-Azz?@@e{C*)gDozUY37i%xR7~5%CdBv=n3@QT9iz2FxXD>6Bj+Lcda}$Le_v6* z{O)7~Q zMs%6^e!jv(lk{Ew<<8eH1jUT;s`V9N{gIdra{Bg;eoaMhS)o~Lhaf6}Q5UF-+G(ew zPur3u$!0sIn4s3V!gd$Xf!CNQEE(k01QL^z)OHXSOqaBmMia=4!O=(mZ%J znF)56=5Ljora6KlJ-$lw9>JVcvYf|~W+s+KE0cI0h+8F*P_F+XLWa`zDjdX28D@lmIh`QYa3`Q9(GoCOen+C$tASEs`@RRbQA!d%pZt; ziUK{YShrqD;L}tCQr6gH=E|f0w}Hax7f9)4?Ooo%mJjjk%5qJ@QX`N8;7t4_V6 zO%s#{2VS%3XWqkIfmSnBJr8d@AHe`CY=Yl8>q|cUxSm~SsXLxKN~N7)I7wvfl=Xf# zw-!YpH#C4(a(<#hp}w_?fcaGTxH!x9ayex1B;<1oxuN#s1+r6mnRd$TWg)NXDz!71tK z;h=0i*XNXABgrH;+vPOp=5dP+b++y@#9$K3TNOn4RhFmh&cpXRUi`@1&l&6G-QQe1 z(`RWFiBQlD z9!&m;4Xs@b7U$2HlWMQA`rd#{#cP{eWbUFXe#=?122U%9T0bKq8VWzk6qQ$enaxZy zwQfV7#W*Lbr5Y^G9rwo8p$lK~1b=upmj6ODFazqTaPx^j;c8&V_x#rHSX$}ut@`WZ zM&GLkeUmW?4l9s#^ZO>}!Ld~|*F=_g%h zX-jm6-FJ~&dB=0Evm9Xen{B-?kj)(4h&ZJnl7k|j0V-X3IyphbiT_fB3bW-zb}eAM z(nE8~W5b>Jl4E6BY0w_zhOQI^Q3%ykTciRHf`CFdN(F5Ri)fovil?DodFq_^&wuow zvOvi((NWD!Na?&pmq!h+tX#E_^E~(_^kJ{mKcp-jHy<0mTo*z)s9h4`S`>ImAjBoi z;TwcO8dwj?OUI3=LORyhT2f)CONpvbmO?mGGvddv;GpcW0)?8MW%DgGo@bxtT4udB zkSKT{wfx`E;k$p|5_kc-uW@zd%J`6~HYgdN@9Sc|sC4&>9Tu8P$Y{BM#UAL&>{8em z&{|3<^o4(`4WSH~BnfB#2?B;30+JSyi$dDR^5zGO785O>yjF z*3E7pk)*uuhl~ZOMmQ)N3}9VccQr&v@Fgr$kqb$|$0h4Kgpdn&ZLwe?HcaZ57?E!c zcs*(c`=+rp6Y<0kT6}3yFDHSD#ssPLmj4Es0&Bv9KwGfr)NgIzWlgXWo5`eByYp-v zWtl>s76NRoejIm1a#l)OA;Tn72bP1RYw2;pR|P{(j%#HT5AxtWJat^CBgsww62FMj z)5v`C%c*_XYNns=Ym(uS-xHck4=N%9K`02M3yY3pbu?0F`1k2vv7k4fLR=PeU+%ta zpGs`*NWf$2@Oif_I?nNI&VL%Vf4KdVDKzJFrPLfGEQ{3dhCWRJDF(~O^>d#Qd{OXk z$Ds=htOi%dtDke)qc~%LA8?u`^A$W@C*5SwG-%8-tnMI zgx#FlRVhU+^%PR))Zn01+m@US;w85gnIplVO!l8vG%)zIf#re5(80T4$pTJl151d2 znfu&Wz(o<7+sdr%Q2a?)>QOT{Q(pZK^92lj8;4Z ztl(P$c3LhDAq-Wgxw}hqCMa@?Up+qQmL=#veS$TV>tI8G3Vc2mETaf9%3TkJkdx9f z$O$vSVoIHnStMNArYiDi)3H^6FU~Zi%y1%HfF20?0&A1oN=%wTMyieOpQp@;K*8K% zq>S{sK@n5{2x)Gc*f-Gbfh;Oj*tCFzeb`kQ3rw|zC?xP?OrV7r>@vF^jZ?&4=VP0E zKm!+R1vPCq2h-xn+>e3b{^A%q0j&ho=!2gtIrdiNB+oyt45mGI!X&ms*Cvo+=sO>$ ze-1a$UpVCj-26m2s5#IVeWZYZ)JHc`i=WOc&%d+Qo4t9CSV6;Y<5Pb7>tX>P8p%Z; zU-$|GiV+u(Rh2(S{p%O$+%x8z_?7BP1_p##T9`>n7tFc-sk6dzAN(5oT^hIA_}o_N z2&arR4}R_+sPEuyueH;~!t6iplJKP2{$T2@x77S%pwHst`Wp{7=j`2GN|leDUsZ?d z`A9w=Aj^$aLyYophqZfHtMeA*gi~Ojn_BK zPWZqf+Q2Of7#x}5D2IIaq4ytqC*nWvLhiedr9nx$u6578>N{e6J(Ks)5jNsa-iL?92sA6Xfs zQ?cERZo>wrwjaVGRLVj5g_O_x1j`a~kFD9mafK-&8Uj#_2v~kWfu-=|j7ry1I6@I! zJRetUi)$ayjN-C;in-WJ_7YfHD}pN}#T9F~DDG`~7Wt~RHaRF-{ZD|#+Tvru*`u?Q zYefoJ@Tv<)je=6~L^#_U5yeJQ>-vwV zH#NbAl#dcLSIh(LJ=0R$GfPf!w8{4?L0tFI0HtNxO&}?OBN(!C*bJ&o<-m;D?mJ`?}LqK5$Ws(QwCVhPDzI%^w5e$>b zgg+5C^}#J6S0ej*N`3g3@hKOvZsq=RHBD({;r;LmJJOoh6j81(RMrwh5toVqS{tty6mCt3 z*CK%BnKk2-b*;PAo5VbRoZj6>6FTGQptM%5sc#P(2a{-dJAQ zE{IQ)&|o~8z`2cW_s!YlWV(f|rRY9n3|9hUH~ZzTz}l^2yq{pyMDO~iKE+~^_c%Q6 zxB^D9{Et($1_HX>6c1lgo>|EfLty6HdGb0PUuBf`%MSn-=R$HU*SSitV8#Xak1qv2 zIK2vRp_JTN>ZxP8rl*s7t4DWaAK*Ip@Mil`UNliJ^@y!|glCHA+$J|QVG*YhS-peB zHgBMzzmg?5P{$`LqH!0EoUC`emcV5*)JkB({uLpxQNpJO)ZYG+2--LzE{(P;Fia5k ziVOPndZX#l8B$=8`MQ_A%`5(=3?xM!8M~kHX_IcFid20ls2SAGDX~am+bNj7%k5EV z#}^Bjdazsqs(6E7WC&R_oSb{>aJolyvux+RX$lw=Q>S;)4qqj>V-0oOA16F2zWYs` z?BEl8x95j_W8hNuT_9BKpBI4bmpoKDlhK2f4vcG|PdcuIV7H)|iMR#NT-FzglP}|A zJ?yT91=Vgf@%AX8Fod%>Tv-3TDiCm0Q0OW8Aq6SsXIT7pZ*JPL?`#aLLh8TFJzR{b z%8;Z(m#gI|yKanJ9^Y2~@ifPR)k9YM;$ z8FtNwXs0~xI@OakBV7aBum6M&;HQ^?CqYRPvrhBVki4Rs3$GaLTc*NZZM57u1ojh1 zQLTI*^}@~s?Hi;ziy;1qasE$@fv|<}M&|ALIWhV}OKoAI;2+i)#o5}0FHLP3maL(% z*$Y7QvD{z1@HyZ4-+hwzz5^bMCQ8KPk=po4|M8aZmH>=hVH4?+3L5A}eDAz> zg68wt&IO+xpZsr3_0M{4fE}2JoJlwA63SlMs+qvx#1*)AM-hmWHC?Wb{XFz_?O|VN zLo9)-b={txH7R-t}-Gxgl;1Y zdsW`5Tw@8@Qcs9)(L!1DJ(a~1XkJbS+bZsw;xV^?F-$0`)1sZQ`(9ul;m9fVe9DvA&VMLN->WCCc`arhm_6KyExXI53fB7v^erX$=HoBUeQpj4n}+ zh6agvxR-aA(4QAdaUn^aZBr(G37V3xDr8?`DnN_@TK zZ__X~AoxMkHqOJK{xmAib6dsQo^tVfpRpK(pKq?q0ehFynCivTqP(iRqv0REGR@ZQ z64n|LJs%hEf@NeYwzJ|Vt|cM%qeCRGSlo*SMot{%APzTm6`qyeUdIz&jjj#@B=5O^ zwH8*a;qqdgQccS8a`*sS(w_2kT-1Xse9o>mD>85lyMt6r(k`CTX!yX_W$2WLTnUqZ0vCFmiZM8k%5svI+ybZJ3akR*;d!tJmH;*PONO0cFWzdn-Dzrc8 zOeE1me-7(lsb_OzHz`5l>%y$UbVoKE(n}-BY90B9T)}fUe1d7Gdok3h+B@s^T9Hne z@C6KUzjn40t9L6(8`gG4!(?>z?~X67p5Vw%$J=fOieo;Re&o%IGepU2%;msajR>gy zqnIY`XD!k{zZjvySdVx%wU+C`E)zFcPcr*G;F&AZ#!7=iU^{jz-GRZ!p&t320U5Ge zo}kh)HL+EBptfXM;6y{kx%u}tu9@W4`@)qg$ON({<74{`zbUw6(wCdhiDd^}FE8(W zFWz`_Ry!JJJ2Ceaez64Tr49R=$_e^vdo&YG+#SoWL`luD%zo|*OK=)pzMXj84Md0-cPJmk4FfeYZ(AjGDQzZtUxi=ee7b3?J~AMx_JHnQ@OEYRL{g zk~mskkd%dwPzaQRkBS$^pMCp>#tVnD-Sl2ybq&iTn=5PSnLTM2XJT_-B$TnJB;aGf z=}Nu>q>E6?u}hpotd_#r%*ki>)6NHbZ!*J=LJ6jQC8bW$$onV{N#>F&?i;noJ5-qP zSpGdAhEtbdGtTKl_)+P5hRE=j3v^gaVpE6JWzIq63cpET#uF2D1L^e`%PaeBW7Py@ z{Fc)y`S_a4*4%sJx~l>mYL1hc49V)gYQYVhrx4N;|80mi=*IJ*UkL&dM9HKwOfGJVbI&m2u8)xn1?fe zM9B%hR<3h5)?1okHpZ#0i;!RfL^Oxa3oLmDty^o=k3t7GcZLs!+I?<~t@nq{0;#!P zmYS7(0@Q_z=i>DNCM8bVn?gy2&N{z5wsy$GQ=rCj*F$fU=p##e;HPdskDQc>4BAxFMbf1k}hAaJ=HxX2)ZxY|HU5yU3};Rb|K$T(K7 zKaOswI;Qzk=KTt8ckS+nZ7KX_t$&}L-me?k)D820vd($q*SmBR#U9kL#}|hcP%eEY zduSGa!{T&g&Ufl@A4Q=U;Es<28otK!)kU)tx;s}4^4XnT8c(_{SyY)EuunV4Q98ql z@*&pFA2z13@6o%X&sd+!f@_6ado0L7S>u(4<-4_!`3GiW_1@I?S6`k#z8ar@ zu|f=vJ&5V1{8^#u zA77CZ$L?#;@kV~5du66baC2S^DgHwf^>*y*N$0lRvx7{H%|wtwK;bIkI|~C_Bjfd> zpJa-u)!p;gDWq_`I=3g2NM=XY3 zvYt(>gakox&ExXBhop5zjGbY$fL)$H*~QgLk+)syyRP55t0_a4PUD`XCj(>D-p?!n zuk2l01?r+7EYBxdjR!AJU~mp#`wrJ&_m-J)7YoZYGxX(1&s7!Jyv&t6Gnr&1bs3F3 zfW35{qmrvafpj4s=zFv`u2oU~|Mh*klTR$Rxtb4#ugLaLb@k zpCg10CyS_>%{v`Lb^7y`Xg2LaC=1(OrF*hGn=ZeMg{BHX_YFHm>Qo3SUW_fwrdH(1gR6M|0kYr!>Z&~jKnVLz>z;+#^J-;(dG`#rQ_0sfaffn0s zx-j1#PjGRo_Wr&kIZW`PEH7nA{3>ae-s%~%>%M{L)bQ2WTSzh@kzU024|R^e^T|NO zmG~nTHQZ(%iX`{ctJLqeE4+k<8QY&;AJ`5)Uo0v*P8?+m{wnK2S=u9A zMmb1!dSYcMJZiMzz`5HO@&SGkC4=HvoVHgzV@vT#S<&`O#QPY8XkC}x13)7ga?H4s zx6*qbSk#Onh4YZo3x+B7gSp>f78`2qdaI9YMeOVWg253 z&Hov=9zTNxT};3cyO!b~FXK45FaNN5?sv0xL8DcLjr}bQpSg~Xm%UD~Yi`42 z9=13NTDC#$zET(K?WHYO97c8fKLC#>kHnN~S#(d6u^7FbeAT(S*!C`t3l4|c#Y?{K z$1D4J{aO2#Kzo74b|(oo=DV1q-}k3R%b~|SE=JO>4@HVM8oSt!uRQ&|vtl=jaw%ujq5gztTr)z4KjO!}_-0|& zViR-()48kAu)phJyUL$?CI=Wyk%OMj<(V0}jjz(H%{{L_`f1lmmuIN1pukCdJ*?ac z-$F&Oph`+NQdvjY;(OViQH%K8lGg$$cXt_8LZMd9Yu@%ydcSRk2?;cUe8+X2|y*2y($U6OWVDr>K;GErS9r=FTFls|2qq>J?6`HINE?D(zx3}{&%#uB zd(O4YMmlS55<*nj)l#qMe{n-`XsH{D3( z?<5VBfchdw1ufkvsHYoeM1B6Psu&dlh!$;Zq{_-RPyjs}gjVb}zq(`!NE+t9_wk(A2X?lQ{@;>;t0qttVU6wbD!YO1S4^fY)g!u+@Y4DG z1|yl4+7Kw|zNF*_ZUm@IkkE0#!^wls^H0Hm1t`r=oA6C^$K$SFeW)Kao>yA7hr&wz zBDRjnWRvcqA>oGgAm*7DC$`R8#D5U3zuTP_Rm(qOgL*WEhWkt+`?LkREB1OyRIzY2 zBNpf-ktfqu4l;?R~P7|3iwRKc6SVlTa_fQRi z4%Bv+!<)NXhi*Qak5hc2woFZpnj?D~S`O0%#cZ9TYyc$WAPPTysNF*zpQH#br|Te+T1E?8PjZ zKao4r3Ak)7493F|@wq^9wlaqWShwrXjdPJ~Yh_&(_08(LJ7KZe7PAYIOV&>R&H`XE z8k@578#k{&CdCm3iiJw4AZ?Yy!NA|b9*RV5@0q@!CL;xDz^`UJB(&u@W+|>a7DxYS z5!(LK3YnG0n_k$))Hn`Z4?((XD=}U*TlHPugB|3ZDp4(0bV(@JR z2GSx;vo<|mrn>61scj6T`%6r|CaQ3?iCT3mAl@-&lU!a7J*;7AsD~=1A3aW(Tuydh zPuXZA7DBNQDVe*Kos_wBoEYE%gA+NUE?MRdswO9g=_L0@n<6b%d2=eUa0hp7)Q$-KTQ0L9xM(u<>p zbu}QSFm>&mLK0KsnhBm8=OT|k52dt-6|?}AbtEozb|SXw(Opw2h#uyzok%AKdBnZj z@K@S!@tJt$lUi22`*nW(4eO0iclp;91I{2=d!uB~f{><(hW%)d-^OJZ1F@-r@Ie2m zPe4j@ykJu&zl+oKGbi6gq_`S6i8nEqG)PO^D_|Y3O|uX9r6xAZlO58FT-gjaY1LEy ztJ9BHdAm8wyxB;We>D-1fc*g6d8=2qjZq!}=NHTbrTv~4{v|PDQ2>Jpj*Q$ELL2_N zE^dqmM$O)94uJ4k@{n>=NA_po-NXhr{fczk*#d;&MWk%4bBX~@;g=2@Bn zP{KFNu@w1sK^M_gcZMDVjz5i;ID0L>*#S6|nXT`i^F=%8Pq9M&3UQZ(!)-b@`?G-A z1*VNZ;wuNa$JJo^q>=f*E*!b&(Z-zoISC+aPtp|qF$X7pyYb5WI{67eIh^gQ!NBD| zR#qvgD4}RmJelCU0ujQcXk7FP9+3&`?7q+d&^~y z_p3_EyzLi%{`KX*yyU*Oi>)7+BatbN`G(5Ph=?O#trQYgp7 znN`M6SHfmPbpa+Cj;vmod)xt^hxwBZ#|?iROjYx)*B!6ZSPTvYwJ75Iv@X2=verY% zIDLAq?tQi&cXEy=MDy&Gerg~SAkJ1*Q&}5M8a33^a&oh$lUeLz>~99HWduNS#|PWHU|0CW;TZj4QN~0GuVdg4dTIt z#Q@{3_nQ4*QScWZ=M^4*3$u+^nG*mEhNZyDGJb1GMX;p~BNMz#zt*5)$shFP4O47B z-AE#}{Ir+M4Hc>i_B>pgGFlX!nYq`hCXVe(vJYSUu$W4=WPgAMLS5MD(!RB|eTLoOIun zzi1c#1I4(*6LUH+F*7;J82*&#R4!4>O2qOapB4k=3;u5OA_vgRTY{}F!R&~Y46YgZ zL=uO0cJkzgb*Zk&I zvRYnJEnmamDS z`2XTXjiVD{QqcuCG5O+lt^fC0a6kp3fx^jHa_Tt^->B{9n68~VN5JcO8~My9VFWDZ*&+K=#CgJ zRv5jtM^8%cO}r%#Ff^V1<@18Z@{&63H6p+vl7O}k`cF*9#|)Yhlv(Z;a=*s)lXb}p zZO9ppvpCwCsEjl~2S)sIRsQ#9(XFKNnHjim((EI2Z5Lv_vit=IMs4kGaGuWbM4zyCfGk5fJhp4ZFoKA~Ys7RQq} z>4xl|F=#Pn(OahjhPOjW{vUf^`4(l@#Y>AIAt@mu(jh3_LwARCh_rxocZeVo(g+Nl z(jkq~ATYGFpmewN*#kcB`@H8bI3Lb+@dakM@3r?{y?$%$ICyFLR<={|>3xW#_}_hW zypG(r*|hjfvV+&wB=v3 z1{BLOIyxhx>M?mvKk_%m=D}~gpcedd*X_F{g$@-Hs1#}E=U{B4LLpaK(bF99?PR?9ZPLu5QOR(biNRNH9}_inIKGp5X( zvw~8#`E{6YijpL0osOE>*~QPf2Hla!5Hj~4E|WYXRIPz{09<%`vVOD}1d@^+#d9$( zf3o|6hP+uR*bZz!A35wR*AqtAR}nkOgz!gsv*{;qr76ERT*W?h1o^m2X7~8$M?`Y- z9?XJ|4c~ZvtMA>UI#0OVx9bwrY3wR|TiXwrZ-hM%QQ__S0c-8#xRmBeDVq1*Y5c*N zm(?QB?##CG0NjC+#_&OQ%W+wav5fgK-4Toh8S@F_0VpU0ervIj#E&NYhdeQWP} z{Cbno7&ZM0HJX6JX@_4-xAJ5BPJE}SjOy-xO4kv%KNDhUFYPH^j?BCr+5d_q*#isl zz9DICQ1PuGEY8{vAjpy$50d}H zDu1Fn=`(%>x%&Jibd4-x#>T`)Xn~CpV#`JSkH%<~M~sF*rb7Wgxa;JeNL3>FT&v7~ zk4;jLC`tx03$1&}_c5Ku09!ptBi7{)*F#wEqlN_j^UtY_Tf#*iO;ML@!hHrpB)(Fw zQr}hGU5|>RkU3#KLtTdTscDvwDh04ot6j3ePubHVV_3Adn zLm`MBcqCojyTL5b39>D^+&h#oG*eCI{M~PIqlu4$IBB$EvpdnCR`9n>JyyPK;ks}v zEC|%b!++FZW<5M0_8}|ekJkmZpf5ztGr)zL(XTE*()~?^B@&pxuFxm#h{oJQ^qY2B zit9gg(nNXhp|KG4Ho5cx19?Z7Z_v>}`GuTvDF$23{&Oa zYWmHh#^2x8>0whWD^TIhn5r62AdggFSs#uf>Iw_6tN&TCa(oO?tu4QxSF4%Pj$ePD z4ccMAT@-1A$n@4eh#&|o3jfRxrrReIH|%G7==kaUHR61;)_ldw@X<`aF-`_EOk>V?gI<-#&%Q&rmPpy^b>Nt=Irq7~tZl z;|Yc-0p+xq?aQI!r)0h`Zgx~`ly!i!%SR3{jH6e^OChOT6yM(_8?ZZEbv?yoH(cpH z<(HpYjHZ|6kQ%zNpwK=fjbMo?ReIYk%_pwJ=@L795f2Amnxuw4ZJ{FF;Li-`bb6zx z0>t#$pbuY~_d@i_xfq)8)w>m=#|(7>oP%ajrI}VDynoFxx-^RH%SDq3TZJk6ZsXrk z6mPk;(ayxskRsr4*qJ-#x-^iKcOzok?aaak@t-y-EyO1t?u<`r$*Uj^PF83*|9trm z@4Z5)V4V%sujW0OVu|Gah$bx1<>(U2`%Vm<1Av*JBBY-za=;CCBla7Eq*|o4r?0X{ zHUzcEdDY^V3Qh&gXNc?KhQE;i_4Me9i{&TDL{shrEfLOPngIY>*R$sVm?+6lTQij$ zQ^2@w4NBZ^E+cJ;`3Ut48fAw8!7>Uxp#nF{f`vlR`&hJsd=<&=Ta6WjZO#PEyL5iO zZUeC2lW&v9ZGl?Mnnkkh9efOabx5694dabiIezQ__;t5sXT9E=<`Po_42xu1DVDOk zpI&NbD|?V4VE)!){(}IWC(&EAYn@v+9wrS1d6h9CpNC^Y(3jF9EPocV`;rsv;5y{I-){|6Y`~+o*Hl zIg^Wsl#aIu9nN-;wp3Y_)_JJ1~Yu7o+;AyCP z>#+|)hR`W~QY8?)yE#-~2+q>YX6m>0T6Qw??w?;DH*GSu=SKJxZ9l_Fxd9}GMI`4p)funAPjMlTC{r;P$3g^K+ zhBc?21D*v#rr7p9hox$`Ityw?nFO* z|2*(adS~>BuwJtFg2#z>%kT(Me}mJZhi{?I6u=aeM34;AIAU^)DW}AUuvd;f3*1Co zUGXGae;uVPcdo(!-&HKUR>4pmHZ3ZDN)S!}^$`DQ`Eo)2WYUf#F{K(xu7~7L3w&-1 zDuN0IRm!8Ed*_bAd7nFNgi<#+%)U^CYbtBU)wvI&i!4JL(=(`8Mp}C_xy;-s7^PLe zd^mPXYz#m{?10;sCqM?ZO|&(%V!xQO+EB1LIPV+qbXjh`nfXwv?bki?9H?3r$2N`6 zg!Bs1*qCWUCyR(;Ojw>Z&t^|EsMvMQUM`#}TG)S&iW75{ECjrnN2>RUnjxfS{EMZk zwISaZ3V=R^fQKlMSH=7Y`cbWGDO}!G#Cqx_&{g4?Kx+{C8rPx;Av0i{EE5G?fEapr ze&1;gZFP!9hVw*Oc7>Q|1pk4R30l{bAdK^CU?-~dU_-k8^?YStVM-v% zlk>eMhWlW;NbQ8@0!=ppVh4s%ZTU+GeNjVU0o1`cgVBo5M=7LV(DOQc(feEhfoHF_@LKgm zF87MR_k>^D(9OOcof(|){QCO*h2b~6kuzCol^l?M*RaZZie9A$ErcqQ(y2e{-ZYn% z$?IYr#UgBvw7?x?f0Mci8iom9*9pLpj5=_uHeR+m^f7TPMeXE~qmM~8P+}ls)|b}t z3}uuCe5}8pPmB~skl#HJ7liSA8fxvr32V#1DrT`Z2}wSZu5RIj%~{NF$V5N!uK-lK z19_1Sw$+SwKYO`Z*dKh7C9tA+(mG89 zG#{81W-xN6Zy3>G;Zffin}!yxknH+0$3@^X2KZ@WuDYp12G?b#+!MKQ%IZRH^us+f zGE%D}zbr>m20-VNw^$LNgBB&oOGwZ^V>>2$>Q4PooMIej^*Di|NlJJTuna0`C*9{=r0;ed|YxvMNa)$H}dLC*1qlC=9-twAH3&`VDZuTDVhuNCPq`CP(gT^6{Qd({MAb| z`%jeK1Wwwrd|f}J@z|x8iLxUd@agy_E3xjyjxon#B0j{01>{3l_bP!oRy}@{Wz#N% zX$}ylWB&GH#LjXE=NL}bjYGQVs}+9!btK*?r!~>x%1J3N@Y&Uc(=&M1wU6tp#~9WK z*R;_ziLml`zyso)bPZs_VPzNY4;u<-)0|4Dzzk5ul@N-a8MTseu4G|nsj})Si zfD!{YkT{KGhkbv&)*j%rQAr&JJ!c@9njY`G7n4H!?u1=hbr)^XF!qnc3sesK5{R-v zTI0bRkPCW^?7b80s7Dvk5vb{ObX3H233A0uPa=Fk>?MnbyMM}&q)extpX4H~utH4G zgK}?CN<_|8SgqbaCpbnY_~qkPdc^)P3{Z201FNs66*rn^Ef4&*T@}?Zp>@mp^!GYYiVgIIDdZnHR$-T8?W31$~JRc<3$g04p&eUBnEpqi1Zh zXj)d|+4z~QIntZur|RbG$EaU=p~<$tMALVVvyc!b5qbfz(j#I6uvAGo6Z}Tua&x}*ztG-9cetcU$Z z`4t7g{zqW4aWR4xHfq~h;z|$p!J!XaI6RSLUl-qy?qCjpVJ`n|ob!vv1pPU(%OtOA zM8b&~hN#6%&1y0tG`1XP((JtB#qaCg;h!c2luK6eM%JVv)^RGr4%#){nl%cP@?E=c55>k*S#(8S*z{9h|#OG086pt zwgto8Ee=(P*GP7ie2+ljpOqF(dQ+I@+ZDt>H=MSXG~|emaZ=vj_bfQ@m%+`q8U=Sg z3@s!2_+*>}Xxol-nTQD^8<1Kc1){LMXoY@-sDV92&xe5LQFE_^2tCU2tm;#I4zoA@ zZL%g17|P1#kOQ2r3?zyBG5jSC@87G#eAE&BmoZ@M7{9o;!*pwBzfa^{4hMtYIHUXe zj#$x##2}Vk{YIY^38yrfv2|e&_+_iQ+o+2vv^04#Dy@CZ2;qAm~HX;NjTY+>&bGnKM|By6oeiIm1wmNDtbrsQn1VNjbDYvkV|x z5>tJ7sc(Q?-7ZiuZ+0+N8pngZED9LX3;J5$J2==?gNWQd#)q()diz2{5pYfVa~lf! zF9)p$mken;N=sAIHTC%P2uM0lfu`!a^I#TUOm9U&jFwhUic=$F9|cy)MVKS?c~y1E zUBa{-pAzl7R~F`hM-=i8+Q+LzOjQtB{N=6=*lZ}EJR{}{uM=cUc=c?pbv{@>hVla= z?qps(qy}e(dxW5NJe)!+vrN=Jg1ML|LM{xLcnJSNp-D*nISKs`jFem9MtL+=%Nwl92kZ|2H5RM5OqtHpNb6ygT5=*XCa$0kTnCyJFNKaMD$i4?8X4QfMLdOh;C8b zFfDWJquGX(n!XHQT;){Y@{MU{(cVUH1c>#Ps-R%T=Uvrv6|=aK$RHQt}-E-W7T$qTx(c+YBRrYIhr z^a+Gm@O``_Hb|Dsf2Y*Wpmr}#;qhtJHDF*6Bw#iERRYYY!jyZp?tXMzeumrYV1he$ zaFu~FMKaCLl)qiDJ|aNGzDwZu?xO)|R81-L>PQDUnZXukB~tb>tV5vtliksJMxYUT z0SGd`+lv(4@+Uv41(%;~ z{ya?ZsAwNE`##dc*mmmQdUrp|$jD4^a~I8BGAHRqU9NRIR!jt(@4mWp3a!!Ae?dvlsx)^*Y(oJvDfc28a7nr#?XMl(5CklW_+|KyoQ zK0W-62(kxpvv{#Mi0B+}{e;y+`S5R^|F^{Fv{GS#60 zDMrn`g}+H1zg$ch5`|@ua)W5WnTqY0Ben-s^kxjT=gpS_n-r4rk)#=7(rckO5o>Vr*!?-BD4nR8ZO9uh@M@}IiaEweub6i#ubtzz9$c>8HGh~S{7W?$g=y}x;M5Zl1x zwuVmprhk?6{2&LwYv7o__X4Q&|9ltH0LZqOaLeTW&!51j7R|tASx#BNxZT#<=UOCy zz1|{KIz;>Lzat>^gGmQ4FLph|8)fnLAzNUU0960iySabA3JNb+CEJBC{gne;i)g>H zm_gR3#CL;P>Pd-#rj;dty?8lEPx{XbSn$65SUUK2E)#=o{~l{A9}q}Lne~@yKQ2)1p;`~wnDz$E&0jCG0q7j_+pjxP z*X;`=T;-nQ$Wv;HX;~8Z2T#a=w+ByAFlI?g{9S?#?rNh;VMZJPCQhI+gFX)qXW#tk zQA8R3QlaxTHwm*00N=hg%-eW(Xd8JQyz+YNpcHj<1ymZsGgTWNB^suE(tX42Z>TEr zPJ4wy=xPySDO%I-cf4I0xcT;UPmU>5Xg0xxc8BVcUM3k~Jdi-u z)lg1u-0;xwDJXBSvDDM_(PD1NZ=`;Duw2x4u+t7kdZ?Ye4Mr_xR2uXJ?KLy?mE=#v z7zNBadZeyryUG-^cyVE7a3&L|Uj{EhVRc7 zj)lsXwdvJA*xP}6?&khWX>#r-KO(6h2u znqQA7ed~GoAZRnH91sE(%Uma!D9V0i(sYF`qS>ZZ^Jyii5m$Ge=CZ~xAHfMTa0|Gp zOF6VkbUujglu#JRWDdNx%*c9!+5!u+$b*`O7+b-j$ZZPq+cfot}#y+w10U}W$xiXQ;(!|3pTFnhBbv|y%h z*#Ee=Q041*w%ltFYy#AWJ3KxS(2f0D*@ubx^Q&EK)W^&5>I+4i3S^7HI+)c^tzby)HQjL`rM_q ze0wCsP+4*#bQn8CAM;%GFuSb9-yB)Qq0L}QrC{kh+B!K zQwn8^VeW7_K%iHR@th7?M<2M9)t$xCPdY$~LMX215kVtTAIcsD@)~i|8285NA^>F% zkM~6iP4+$i4Rge~$E<)5{cb*8J|Lj7mM6HapawGN!iAW?Q;{OdBlVqXIa_*UaR+ zvVu;OY6zH&#r6U!5*VEOmnjmNAcI6u5 zp8i`gf?4R9NV$=?Q@2={zaN=`guHSMTkkFI@b9ZefVO4x4uT2&^J@6R>EY95DuPvn z{;k3jfd}um_9W=|zvu+OK$C#{SeEzuf9=VwE^q=g$v=8rh4XLndx>B#Tu}cmDVF8N z?l3gq#g;N6-WVR^xbj0$Ej0qonp{HN+! zuMj($-@SO{H#GbqfhNb`-UAA!ld9+xN4dUMXAn9Mqm~6oueIm@wIHBgghTB8i)Y#N zte_8ll^-P$SR=nvlOUqMr^cZ{xw7Bi2t#i%j2{}@l;h^8CbQs1ae}vNW8ZsTf14)7 zRelRVAzy^;Wb)$VjuhUnng70EWsrD?B?3B;Tf@OdHvT~8{pWB%;^Jbb;hqh1YF7l* zdJW(dWifld(g5oIuQH^QBJ??{u*VukOZB|8r{YE^ea>@krQ`rmc=h9jGY317#ofPZ z&J%@#^>otx!U7DZ8Gf4NdhDEpE59~OKo0ijI~c0d`l%cu_m=`4DuCjPtG~9JHx1u7 z%)8_cR|R85DxHV-K!^`@0Y_x@2#MpLEwVw1e&jQGwILCr8Sl&|$q=h(zLEV4jFo_F z0UAbyP%QqMZAcM{Dh@?yZ~uvxdBu!@3SVlDfWsg>p{NYEyv{vY2Dhx_M}&di+q>#- zT2-FdvCzFmku##*E5^HI2B8A)CxXANYF(!{>!0vdn*|*svMg2iitPk_I zg|VlgQ91g+mHNUbV}6W=>vD>-T*JNgW$B@w4qau&=QSqn&mJR5-p|&7X*$q8w8~4T z8)G1E;iB3-?85q1u^)BWMcVU(w}Wf38eBz-S@{?lkW30lF0_|qfs>p_6XnYvFN$P^ z-}EqVaQR5V-RiZWf!6n5gE$X#QdHHA1fhb}K`RzRhsVkYKcCmJE)6#9RdI0j)%)^4 z!O``u)I5=<&U`L0CY&<&;5WI(S(T6|yj~ZpF8q)IyZ}BEgUy`z7Smmb55}nmGO{0+ zvqtpD3zKg1)jhhDEpnw`zF@!HK~MXb^J}%l3Fh8UurX&7<7()8)`IJ!Qg`wV+$u5y zRoiNQ;8}gmZI-GxDT#KP@eFit#8n-vgT|g0uZVPxclWQI>&qKH&kPrPoC@gr2)K8R z^)}-19bdiq(#*hZ)*(|U=+bXl66o&kVEc6z#YYA;=apfY#}_xHy)1&X@VN6$C|COX zSLIp&r~`Qx*c@!%S&klFlD5_2(VrPE^)r1(?J86|g`ROYnftqGfZJ)EryFWv&hR+Gk;BHv8$NuqrQh;o1QvI_;Co33&+#&4tUlX~(CMYvo!s zVtl8i>5|Xh&tP{J^Qgopj(E=tm?$-XcFsj#{+*_ugcG%A%AUJ$#E)MOJf`_QBr<)Y z)Fk{gxAL|zO%Lu}j4Nhfs2l`ciEex78(B1jzP4({S_!yI zbl7)2-0~jX#YzA2!8CvH*@CJ+`4i-t3?EB9A`OxI(lUC>5edG`Umlu|PgVmoe2MH2 zHv>I83;F%@iH|k7lVuTm zKx?(Cw9(X1aKNVxF&}!lo;Vh^*PH8AfwhPI@6jJS@AOaGU5T16xxl)|k_)?e>?5CN zZ(`<{^x39WNGt$<#t(rVuKOMJV2p5ql_lt|!_!ZTG3PF>ynN$}Z2j^3NOW9Xhq@u? zQ1xJLLNqqS2{*Kv>(Cz#_^x(xDDKhRH}?Rqsc|;JWP_vVV2VKmr&$SjU&H+W@xE4( zJAnU}SNB3Pcj(`5x_+D4d6knM0o z$XqDL>1;;dAwFjiJM6-zdnBDVSI?ehznQe|QwfI0ZX4`J9B4F`z)=gM$Z5CZkup7O zIbMS5&b#$LqGc|Xo$`^;vHE)1-ngNp;GK&0Pp>ZD`9;%_()MT5sy+DKIxp<&C!@q$Yn;Pe@N`5mU#9qgJCz>> z6ipgNs4{g+OKTp^JoEX5$~bE;&#faxUC{X)_Ho53&hyvW>|{!?M!+}EcLam5VamFP z*>ZZchhe9uC|mSU4Xxa*GOyK+z+iG9%lPn2bC3#z48HPwMZcO>Rnw;*&$RwDjBsxS zSCdU8#h>RrtY6yOHad^imrcuk@rnTUIf$Mtyp79dL;B=2gL}J*x^p=Pd+gmJ_ugR! z&t65xNss(o7IIgiWYbdy&a0@niFr>Z~gPP-o3A`C{renk|k|?Nax@CR7+2chZbx?jm;KVwo1)KfCQ#+Hvm~r;%Q%T; z+cvBWt5Sgt*=K3+B=Zc<6Jb+PW|#ki1DN?P67$SEZTyhCHgMjCB|?t+f4XwTXIZYS zy5tb9ojU0%)ic2Q?+cF*O(&?057#Gu>WgGSZn7}G{J8UB_!|Ih%pYG_xLs1MnF)0a zSssQY&Pk4F1KDNvk75Nl#piqWQ4vh^(c7-#DdZNley@8jhB3laR}~BN&dmhALUcq^ z`__EjeJk^Hjt_Gmey@7ww@ob0jyC*#i3D}j`^+ibgxc0Om33WTMjkB~gI4I6x#kah zbqJqyUJ3RY*U38mUWggaG~ZI=?gZ{Q!B#`HaN3LAZ}w7X==u6TPg_E)>@Y~dF$0aY zPKXFa=}or{#r;Pv%?F z(?$ln;z8lQ?8AVD8cOP@zreto>3A>SsKWydfD^C)gMuCd$9R@e3)VHA$H!Pi{auofFJ_^D*G8M4)7mf_t%iV zexuIiE+5-sl9O$Ez$UP|ZTW4q?93CLfJ5q{md*^pL<|J(3pdoY;v@|Dpv zj2cd*4t(w;Cfa>{_{Kn&ka!d9mV+h#TvojIF*B^sSZb0ufj=o<4A9FrszP_O2o7xs zHSSD$ZT3iS4w$re$nJ2J5Ig+4DEc-r1g}s-W#qeWv-InDq1WCC84)=LU+#}0oXK>> zW|nk9ZvuuXM(}c7DWb~&_{*`7;@nS%$hx63{P2ccsZ3Qt7?c49yZj#eoE$SM7rFN$khE!wdj zKOdxi{`kT0CW3`_z`rg37W3veQ2qH=R8*KjAe;9$ege+|wL%q<@U=IOZ?=J61rAIq zobeiTrS1D1IK0NZ6zxfL3)_O}fykksP|W9s6_o1%gzPdun%$Box5qnC-mf{cMc6%+N)FcJB-yakV_qRu5B?J#QyV8FvF z7z1K4<#54*BmfKimzgQ0z=@L+Q2&pB<-seEqi?b*|1Drq0AdBf#)!G04}LoE!&Cz+ za3U1710bneLQ@6S1MsUYtJK29Sqo}j^wJ4L=Uj+9WaqQqSg(j~A&-}wJ@NTb}D^>60b!UxCeZ4yTDZ+?fm!{ze-rH58&fhw-SAGW%q zhXk7Y1@zI%Kh83h1FTREHPo>F)|vJ3-4560%!MD8j#x*Ypt(-6WhuU_^l7^O3g$Wu zVtuI_Eqsw;rXLEl4dfRR>is>HYgfwiizlETWW{RfdASmpT2}Uhl*9LDOAlcQ`JX;M16$`O4jELc*K;2 zSCdnjZv?^c0xd{DzQ7tuv<6u=zb`o;$EA&GxYWYRrD$tKZIYaUm^_}oEU^0euYKAL~WJ>M>nu6ClkfbNMcG)e9+jo`|=vIhk z6n-YCD^p!Y2>+)%bC_o({5{f8=l;=Jb5+*DYq85~yB(pQ$vo#ge)#B!NOwK$P*B9h zziNx4*lZM0X%>xxpQo<6x`r<{!ey(~H;Q$*$5pB|%B{i|88K{8^@1V-X*^3CuW?f( zp}0}T4lQ1PenzaMHLRRR9bdU#uMBXs1~%_ksY$xFGQr%$QA;6oKXKtw%_d1{zm<+d z^iXrbp-S)jK?$|qvF-x#wRcBlW@FL2!?tR6W`!O_9kSfsi8mPJ-ke4X+op)Ap`+>= z!o0W|(b_OpujZga9tQUPqquKjR;dOqs6&=cAtJhyUW=}t`{SQNd2H#js`PzTsDi?B zlXIKwCqK?KTEAPeo;N9|c(fDw+xeN4G-Y%<3b;Bat4QXt2)KFf&D*-pt641X1~-bt zjLfeEPd|rx9q{XvOiTy~^KG3a9vS$ulze9)@-?><+u9yqoE(RQT=rS)nA>UCoyad-^PCt9;4dQ!e|K2(Uc z3c6dQsPcQB=FdYX@h%KX<_#_1&6^5!CCaLRAL*v^+6LkTl8rfb2}4n~qw6#OA((9- zp61Ev0aLQK*RHIO6Js!nj$&@J{a5hk0^Ri?jh@Ued3dFx4~ZG5-y{mpocCUzh4g1F z^`s1HE)%Xuc368(opqpk8sZQT=aQkDnRqbWjeCCmzDLM4azOOECD9{*i<3Z%L>^h= zNF7*ac;3Rd_?EpUeaS$foA04+e7uFbdVc=*pKs6-JkngS_k&t z7Bb^&56)u3hEc8U@MPD0s#fr39akH9j9Md12bemQNsU#!&}P}PLz@PB>I5SPR8);~ zw(6z1@n}+vGR1%;c0%WOflqk%15?9%FJs!}xeWEEXOpK&cecb^!tvQVh!(ZmL`r(C zUdx^{$l$U}c=oF#eaGn@pir5r2{@Vfp_L~hn(BQQ|D59*)bLam13#QRSFKD za4YKe*KxZFDmtVDgPUe0fM$f!{wqyB$>aKep>*pAN0-Sr-7Tj9R5PC#U1!8{cePu8>``GR}x zWp;87MN3hRh4GfADak3JHY%eYr;aEN^KjX-Zj5l_1I|CT@j4%Jt8l?W!MKC@WVvP$ zKEc->kFEn&UfbgRw4Zv(|qI!_An|35V=RO=IyHaA)O}%~a}#tXGKW3+P`g#laZ&Uc}Mv zuF(VQ`H&{^67KOBW%^nA(b3%3_q2}iFO}PmcNB*t-OaJ&<%qUlJiZLR!>%}!VX0H} z%UEnsG8;d1TCH|WU6Xi5CdUbtFC!s8>BBBm;Lg{5lcgloq&#umr1!h9ve6aS%1rC{ z7Z)#xhuJ4`RPnygZO7qy#XObaVLfVxv?tt!e5fLm=w$c*|8cHl@6~{H9Ey+cf6f{E(~Wm z@lqNe74&|3`PRK{b=z=&265?r!TOtD@efC~HelDo6V6=iulX@41M^eAmh;1%4tYYO z^86)5IVqBR>oH_;l<0g0afXYH4#ftBcgoTA4dwL?=u$5a8g%(D?PA0Dx=eOBIG^~e zA7e&}Qdy9{iu4|#kCWC*WMqG^I?Ve<-Q6X_XtMl*tVdF8hR^pQ#9Du%Id5_@sKnmN znakALx=daCJSXz>$BH(V^dr2$pWGSm4Q@IlzFQrF!wwwkP8yXEHaweLU1?X5T@-nQ&8 z$(c#pKNOJtl|lDOxtgQqPv;M;r(b`)&cn&Yyw+N~D)9-*H9phCQ+d+0AHojrvag8b zgDPnMV2#+fOpw&;TRWoW=0M0JIRI%3pM!v<7up`U|Qgl{}ej>ix?oHtq= z0eIml^mNl!k(VPDdLoLi1oS6HPaLw}k`B3$j-zprYu~G&Ict3CaEB07r~M6OlMI#t0{atA!!A9(-0$YYPjTfe zug@2_T#bl{-Hgd*)@Tk1;Snu+27~fs9M|T4ew>mw^i(P+wdym196dqJ7KJkZ4b|Os zko<}qyeq@UYvS=Sz6!~&u<3#ms+TZ!S^j1>?{teP(c|ek0zb_ zrL)bUlvQVlEm;D$Dq7KRQG~3BrOcE!Q8y<-iMQ(hN>`_QVWy~-bRkr?X54;3J_scO z*O(CH6+u}lFR$rAT5@l%FH?FILpIOjj-$7BSDz8$`=a6D=Q=a_4Qe+RGoNI=;qrl# zU^on;yHb0T`o?6x;wAnzR5|>4&P--Ol7o#tR^Xkr-r3jQJzbh zR}orSkC8W+yFkDXLqarmKKeMXs3NT#a}nCC=WG>v<<#8l`Y7BLX`Q*N_yR-&QS;4h z(Qt-0%14kgteuW0mG5f+yXU?GFvD;`zAX2+j+6#wV$mFn1n;TzvyAvH(Af>{>#=GQ;k&XHQ%~$?Yp5|rtbl%%vnc945vj$obNi}fz-f?IDoS4WaGAYaM@1Hxlh;}~)k~2rLtbb{U zHw&eO?9~RyZC4NayoGXRu4qwvJF3yM(97V-)7aCf z3LD>x-bV}vU+wo^dzTtS5Ofxf!v`$Xr?IM~l;zS2a=c&k&%ATDW`tJ9_kyAcO*|fB z&0Ty#%KJCdmr$wb-fuLKrr;b+N*5Au&hh6X|I9D#``=$T`J`1e=K9SI%i2j1q1Y&M zb7%Z$wJ19gCNwVW2dce_#D<+QH;518{YS1%Rc>}78q5faDWeKyb}Mm}4tRb^>+;<= z&@jO5xrfA2v%klhVc$1iUd_Rf*X{Pl2!QR{T{iup zak0n}@%bc6P7}}J|Bz3y5bF_@MBA!y-IU&jr`Gfn7W{6O35`R2u9%wj14^}#)E1CL zw9^z^6{dNtp(?5lThESoK`%=*FSuBKXyr_1LbAO-pM8W+Nod&ya2F%_}Qv3utv9u>;Qn_?;z zFgpAw=21K;GrPcizsbwU@f*VlhAy7EZr_bB&1$&g;+Q)%kU08>U5Ts^q0a!c^X?)^ z6%D}J+|{f<2J=Xsal|BsbWv*OYxt9>lVl>HIddi7-eJ{`NAHEpimsDxzsRibwZ&o1 z2(*)SN>&;CwvnJrLOObFddtfJsq;t@oTJJVPVL$kCz{3N8qbs=N&YsHA8&RQ0jUCg z_tU0lQ1MZ-PbL*R|4hd9Y@J-+FuUm_t|=wV1u2sb^U`N||EKFy9P+kj&v%=A2Y#(M zqu-sv{>01q%K*{wjFjajd+8sK87t&N`lylD=EOLB4-xx1wZzzRe7`=imS&rbHUe+ioZ+2L+R<+LMa<0B;o-Q(o3pE7c;&_1*#Qbfn|dJ zW@-J=PzuAsKKjh0maWqP0s9bcw&wPQQyD$n3jVzloQw*nax8O|PhMf#huKY>?_KxQ zmfs}n-t85G{>`d?yU{%e{=_JSeZ8tR+u??F?^dQJf%soecr=%hvR4D%d37yD?~w?p z&7jy4d@1mXvMEHqR0(IYRze27@jW0qVW_R<_Bmjpfr6>&)V5dv6pK`I*=fG@jk52T zTX)FfjZQ4H(>i%m2=ldOaRiTc_vn|eFEl4bd~sp|)Hl*J{v;3A-n!5>}} z9cX~z*+2X=Bz>R%)6hsfoI#u3W<{i47+Tnt7u~-6>mr(Y6rEVJ8gx_y)Kp5`R<~Nk z5$jja4{OzchQKJYrsrZK6O7IIeprkAn9*W4MVTOh-lGCG_awyb9@Gs|S}GOTQHG1O z1#gG;{!~tUqaBPsK{|UX3CPq1`kb}cMiytIdtYH|n7_qmvwu)tn-yOs zq{9MNCiSpR?bO(H0J+jp;F7SZG{cDY9??sIl&^0yaV>~}QrP^?%T~r z=r(Upb}+#OTG7`qZqV8~PT5qB##nbp+-KdK;dCOqdSwB=q+$i4dJ3TRlDY2ph;FS# zdc!Ze0+Ys+ZxAvll)DvRkPB)6^oS&HU{cX@-ge*)x!`QV=e_yb(kAJamH7#FYXy4i zfR?h=AzAN_(2egs%WB@ z1mN|?%!h$(xAN6N1golaxn67VFE_VhWCRY7_@I`0^09b%O7V}+_;i>OSg8+&Sp7cd z$Ovwn_R#_}7dC5Er5FtqI=!l0<_(;UlF}TBbU9al0_{w&v2}bgZRhxGtH6+mj=E2q z?1AqWph&CiC$!DeJ+Ck04V0eo9EBb1yN_1Be~ak%36waZDzV!ZZclIVZaxXgmtw7- z3Ah=y#vbJ-yJR~9%#Fl(ZvE?7u-YM6Ul3c+5D8VZR%A4M};H*L5E)&xgeY{xX|;3{LOcQ*kWM>r$bs z!zk_a)e%7)o1vZg6n8v}a?!hNCxYP^V-eu`Ke(-+4?{@FTVk_Io-OWS&^?jDO3B_@ z-u&WLLqTD8ZFOj;VJ`!u_;4A~loMM}JAY+?p#Ir$xw}V`0G3Xt6#vgsCO@4kn)SNXmLR`4M%fQ7(!WH_C=;6fj_YvZc<6GVD z8b!Pp9O>lShKqlFK=llPkYW5}F|!E`FZ^pUKGQ(zHkEt@Norqzj!|Cy;`U)pS4^u{ z0SCKX_j~qb$`KK}N`-Q_aoC+$-ol#7T&+faydKfv#6(R2AU0tWc^0?z5c=eymv zaue#yggj3ZEro<2NwYs}d_e^0i}73%wL_-hP;s$J|Lr}mGi3oIHfX66O(N)H$Kdcz z5>e6p;PSUt@>`|VEkE7$|I~5j@lfq=9Jfa(*Pe7q$ev}8H8P5s7;>j;%~CgF3_|v4 zkjj=KD*Z52WM(jpxyDX}OQD(R&Y(ddgRvV#u6~DffBo}2f1Y!mbH0C^*Yo+D_wzj8 z_hDp(`#RAdXG<`~w$`ZfIuv??vu6K!u%ZWCWv*A-)h# zYWjFxBe?R)TXK;xp5|}kegPhbgu6KB5;i3novraqs8?T=hI)eJwUdDJ&r3@io>ebw z*&6WcUPD-}@h8%yTAPyStKi^0aafah$7WMlV7sExD2oQ!$f43IpN>v!Tgl{nv$?^k znao^CaoL06#y84faNoh<{&f|kU=Y$`&bzrDzr4Mbtp1^o9L-Saz8b~Su?Qa2G?-Ny zMjet3?~Dz6lZ=yA5HPygic>_#@mHNb@lkf?^8`|tw#>Wvc}SfO$8@3=BPw}#pzje_ zrqLv}UY{i)Is&pE0!*eM1ro@3_9Hh_fGw z5V;zsG}dC~Tfk7350AMfBFNW0*Ip&|k7%aFY3R@aScnqBxg!3M_UKrD z6;-&;|J|~mb$xV2T3$YEHqAN}r(S~jt9Wr_e8S-qsfSHv@K*8<^~rm>TzFi=J`v_y zKeG_`&1_{U0hitrz8(9hew;^pff(4xN}S%b>{Cf~8S{?VdKtxr?hgH>YroWltdTYYig5Ud5U8_oa>{QioJP#UC1S(o9(~-OCVnDzhKW zJ|1^u@QN-ZHb-D|=KPWIjX?)#7hACs= zxqP_m4y^jY3FXRXYK{>KXdbR5#CXf}q!rv(J-1l?=w<~H->x?S2e#F+=zTh93a3=0 z-UyV?NaYnF_vY+ly3I>%IJATdXWXh!7j}wYhILCjgavDPkd7E7p~r-MJQK&(_1yOc z6av5)8q4OqQBm(n6dV7>yfEEF^xJc5{(_c6C$WuylXly{~p9QNDUvK;bk|1Gae zI-&~~Xs)9nFmzJTE(By zc_r4reMC~N{PDDt`C_!UawhM5O|S<1Gb!T1D~wK^vrrOd9KNB_r`bg%OtPLZ3YkzW zu|ThuCSwB;*Y~?}^MU_Fl-H^ILBWgWBVzlGj13c95!#VCTv^1fx`Vt~5ThU;;^_dhF6$74V$4N7IMxN0F$*?R~je5JbMUznV00Otnrxe>QU zRbLd2_eey>4#s$IC}hgNBfNWRCXn66nV$fNx%OEXDbc%^eUl|f-jIu9Lx;|TDL&lY zZP+n=-#?vlM>&U?r`;sBQm$r;>H%!WPIzm@HuqxM_x-K_?;)#V1)G@|lBL25F1S!n z6})D+sg2`H3!DqGL41!EeS@3H>vjc0!6FEG{C(@cbM|s-szv+fdt{)gQLGHvP3&R*;p0x2|Ehcd zo{^eFIok{-yeI$^K-N=u>Br)yQzHd&#gQE zXPG_*_@)4zT~}y@w&&4$?nLKPHLRu75aqnmbH#jWTEB6pf$pe+hv_b<@Ax>d#$wzSCs#X^a<}17#J9ml%$w47#M^-7#R2(90aK54@pfC=m74b{Phc1 zw{DO zuYIT$7}S4k%t6P$A4$*`)cQY1$Q zL-_pn3l5f+fde`n1S?fdS4}xtUK0m9Mk7-PV>3oiJIBAR!1z6RK}9<=S0fTnJ6n4f zUQYqQKNh^8^51GE0Leclt~LSyO*uspQ3q!;5)MXoMrMHEClV48erHp2US%|KpK8SGui{_W(y{fL>l zm^fQGx>`Bdll<-1$k@TnRR93^JJA1p{+*|*mHGdUWbg8y(*m6!)8D@^u`n_-{ZHSZ zru=_vc@>5H^RK<4rGu*jXce5TOr-2x&72*bK`Zi4Yu5j? z{{Of5fBRB4b8)bB``cK}-pW<*za9KP)&FlRQ3pHFpe`;<_u~XiXNIjcwyP=@|7gsnE5|3%jK| z{n)R$w#N!Q@OLOU8mW<0E>$hc--!W%>;=~vKmGpp%KyaYZ?SdmfBJIn{`&1}jQ)#E zjE~bOmDdXD9q0Cby&cLTu}s!6y0%QjTI3H-<-$b?;SKJs=?Z6ah1H^Q_6*x}(n05HswdI0 z@+Dqlktk`Co%-5ssh~;&HnS_eLD9bHBJIFIrRSsiA<4+*rlI1}XH#u;)SgM9tgtK4 z!j}m}OU2c>&4!GVf5Vwlv@q&PJLx84V|oqHcX#E_|8fxIGNnD9K30C1P*;v{v?l}j ziHGKijfshSot({eVQSem)SNYN_TgHW@#iq4l;eWjdL{!Het0KmE z2R!acW&ef+$8|9sM6_VY7@}>u+c@sqE_O-RU>oXB!RaQ=s0|q5?YQd-K zn3FHg8=d%IUrg+0Ez%#apDll+0@G)s{^%%3l}kI=-!rm~-d-g#$ezKS-r*4W?1Z-z zi0`Dxu$ng**X=kCIJu72*xc39z4X_4V82u~H@zB0f8Mc^##F6k_TgVJ{FYmV|83&r zmlz%g3AShSrz-ljd^AHXN}kowlDyV(#um0^^Ursz7pAV`cYG~TFc*`z93{Sy!7kSVascx}%14q0-~It);>OzTS9O*DhMVA8cxHw~O5 zc`%0P8+$sQ8Zkdbo{roD#~%R8&q@1q(lgPKlyKj$iD+Pam}1tW0_kYM$#@!Ne)R%y zFiJ%;m!~TY9qtv^=EP-;we{nn73njJLv~k;&xO3Mr(+&{jQjCX0u_NT zQ+yGvRwOB!&t9Y1Y_J{w*V(04R^Zx89k=IQl{Q+k^ z{FR?~mF~wTB@y5SkLdLKuGJq3^g4c*(shVBj|<%{D_u+B?_nAa5L25I`s~CS4IWad zUE4xc9YdrM(*0DO8Z(KM5L`fUz)u_~)@8G%(QLNU=`kvuDPE5<5ww&p{WrtAIA?qq zZ63{=ySr#AFT5ngmYpH)^--F^EVE%tG?nESBM;;$2%dI=w|iY9b1S_Sp0CrdrvdSl z4kyk;JFCnJ(Quz868XLk+aYDxbo7Xe44tjZ_ zse3Koh9@OH>H-A;u^s=D=}F78$9~xUde#j}8&06b#r8tVK|(xQAnCX(Zc=H)e1ps{ zmsnAZq%Z}as$B>NfMbFdIYhV^*aN^h>!S14vrY?kG-@zrpIV>9zb)cPJDKc#f0to# z&{ptf`AaWi-`!kK|82!)nd0U_`FVVlKdx<_;HEdlpK30X`#iToW{dgZ$q#zt)c0rN z=D}oZF+=LH_E@fLer50L`8a$n(*;SUE@`NESnzR+?i!tpdUKkA#@e!C_E)nomj}Fp z$r{;SzDE!_xTuNKvbItf*R15t z>JJt0ce{CE2(<9IVP`yIX~fh-c)^C`ZM^L0`Mg?yIECP>UHqo-T6TM_FKgtRa%z%`Q&kWj**2t_tCWXs^D2D3 ziLmoPqc`{S7C%%R@xkBMf57OncV0JV5LwdHlABQ+wq2qIj0_;^qc${XJBqzsHypM< zj~vxlg;j??I?W1T!&a==6AS)&UGk3JMvkSPd>UU}LwnB+_};g)!>wpc-U)r|O>m66 zL!6Azel;XrC~E^(O~1p!IJir$u<6KZEURZKR;RH@tYz9bzJDwnRh;Izm>d1wL2x94 zsYs1zzLK_zk|`wuEF0;3T&?#stI@Mb`$;-S_(i&X*~lz-fmQ?A__~q0EH31R4Xwvv zL%g$3pn044`zB2L;25?FZDIc2!tG9lzPWQq-o-%wZn@He87fr#J1YFm$S1qxp!?qJ zfDnOI-*6XW9=aCR1)u8u;WHp#*tinCQ1+6Z;4+0#=seB0ydPD#^qUvoFU3y^YGi)- z$BNQ?B6=&kU4GO?4Ax^Wp` zC{Yk@$u_HU&kYf?W(r(nwOGL4bf~FN&L51c38$7e?RlUz7t1&Vm`eP|2l@#|4ik9z z=FPeyUUgDCW0OTXNWPUemUw&A=wiXkSkG91=h4Z(6WN!kGL_b|p-_oz@UigWHj@3V zTN7R7;^midCoMico;TKoht%zcI=GrK+P!dou9Ibp@5gS>&-SyG*9@Ue>9)qVNUD?~VBw~K zycmv+7UklxOG%#_a^^Cb%5g6jJjm(Gl%6;vG$5fdr+T!KIBW8evH74*r!pZ#=b(3( zG6EJNRKco}b&FPQW(j;?KpxlR-6O6t`?O^<_GtMb(v*^|uV?cXH<4%tqXjlqBm41{ zV!7U72O_Z{fG6RY^B3^s=io8?Hew%IpZ#a^EEf(ZO3I!Aa5^9CvkE64g0I-y3HpU` zaQVbgyDc-fE>&g<2`GVFvHBU7g0Os_;(}J2SMk)m}7T7QOGyRtG{ zs_Wi~E;RXS#7cXqWfrDa=~K6GFr;@iQkE}OttiVbBE~+Qt{j3W2}KUU0ynHx@=B9$ z0L6`N5!Io*nSH;lGfXN^x}kjgqVRx)3-d6V&^6`M{MiZTfXTY$wlY$63^d7s9z|W+ zW~3tRsj|x#4FwO~W)2hYr8*K#Lutn2ta+Z4kU@llEfS5f2dm&u>74-VuMqELyjL4c zum~u&IQ!WBO8k;I+<|Fj`d9G?ZCiPfvNTk%hKIh*=iK~u!7y_k=lVCYRG4T#P$L4- zr1U<+ETpEZG;Xiq+&`KjGZmq`@KQjgSlxE~3^i(|DmgXF50%V8y?RC>2wWH-{0#d^ z74bKb6Tj@0xwJ0N)d+=v=g#+d*#u6IOEQQ<=~HK{9L}Ce%>iEqKG!<4vIfp@xUL!_k5l# z5Gf-eQNxZvOJl}hAh1Seq7vr*bT;*KhR%Z_n+n6750dc9kXr}#hnLV;nB-r z!QmVYLTB9wY?$s(>b~VDF74gUCvBZL3g!%EdOcq};NcQqzTN9B8_m8DuXa{d@|!~L z4bD}>8POhFnY43j(8`st1SFXi+CXhQcm4Y4{cZqeMCcolnBc`~5vH znhK7jQ{C?k>}6%(i_hzC7R(lmXzbnjFf^@xillbg5X3<2iypI2!5-`QY$uyp6IufK zCiIkum=asU`AuG>X`z+dp+-|<-HW1}kEtc`O;kp6UH%d!K2 zuZeKvkPs=MmBCGAhMTQfY`oX2odPyPnZe%0DbetxgQynxM3sCY!ld<7S{bM4^?~RX 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 BC)fZ0 literal 0 HcmV?d00001 diff --git a/v3.3.0/assets/System.png b/v3.3.0/assets/System.png new file mode 100644 index 0000000000000000000000000000000000000000..d9067cc1e0dba16439cc1e2fcd2d83f65fb353f3 GIT binary patch literal 10944 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 Sdie6`rks?rWRK==v( literal 0 HcmV?d00001 diff --git a/v3.3.0/assets/ThermalStandard.png b/v3.3.0/assets/ThermalStandard.png new file mode 100644 index 0000000000000000000000000000000000000000..f3bdb6ba5689acc3796dfab51a62934b4b463f42 GIT binary patch literal 52212 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 SGEol#{7H$)i&hKk2mCLx&Yc+m literal 0 HcmV?d00001 diff --git a/v3.3.0/assets/documenter.js b/v3.3.0/assets/documenter.js new file mode 100644 index 0000000000..6adfbbbf4b --- /dev/null +++ b/v3.3.0/assets/documenter.js @@ -0,0 +1,331 @@ +// Generated by Documenter.jl +requirejs.config({ + paths: { + 'highlight-julia': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.1/languages/julia.min', + 'headroom': 'https://cdnjs.cloudflare.com/ajax/libs/headroom/0.12.0/headroom.min', + 'jqueryui': 'https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min', + 'katex-auto-render': 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/contrib/auto-render.min', + 'jquery': 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min', + 'headroom-jquery': 'https://cdnjs.cloudflare.com/ajax/libs/headroom/0.12.0/jQuery.headroom.min', + 'katex': 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min', + 'highlight': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.1/highlight.min', + 'highlight-julia-repl': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.1/languages/julia-repl.min', + }, + shim: { + "highlight-julia": { + "deps": [ + "highlight" + ] + }, + "katex-auto-render": { + "deps": [ + "katex" + ] + }, + "headroom-jquery": { + "deps": [ + "jquery", + "headroom" + ] + }, + "highlight-julia-repl": { + "deps": [ + "highlight" + ] + } +} +}); +//////////////////////////////////////////////////////////////////////////////// +require(['jquery', 'katex', 'katex-auto-render'], function($, katex, renderMathInElement) { +$(document).ready(function() { + renderMathInElement( + document.body, + { + "delimiters": [ + { + "left": "$", + "right": "$", + "display": false + }, + { + "left": "$$", + "right": "$$", + "display": true + }, + { + "left": "\\[", + "right": "\\]", + "display": true + } + ] +} + + ); +}) + +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery', 'highlight', 'highlight-julia', 'highlight-julia-repl'], function($) { +$(document).ready(function() { + hljs.highlightAll(); +}) + +}) +//////////////////////////////////////////////////////////////////////////////// +require([], function() { +function addCopyButtonCallbacks() { + for (const el of document.getElementsByTagName("pre")) { + const button = document.createElement("button"); + button.classList.add("copy-button", "fas", "fa-copy"); + el.appendChild(button); + + const success = function () { + button.classList.add("success", "fa-check"); + button.classList.remove("fa-copy"); + }; + + const failure = function () { + button.classList.add("error", "fa-times"); + button.classList.remove("fa-copy"); + }; + + button.addEventListener("click", function () { + copyToClipboard(el.innerText).then(success, failure); + + setTimeout(function () { + button.classList.add("fa-copy"); + button.classList.remove("success", "fa-check", "fa-times"); + }, 5000); + }); + } +} + +function copyToClipboard(text) { + // clipboard API is only available in secure contexts + if (window.navigator && window.navigator.clipboard) { + return window.navigator.clipboard.writeText(text); + } else { + return new Promise(function (resolve, reject) { + try { + const el = document.createElement("textarea"); + el.textContent = text; + el.style.position = "fixed"; + el.style.opacity = 0; + document.body.appendChild(el); + el.select(); + document.execCommand("copy"); + + resolve(); + } catch (err) { + reject(err); + } finally { + document.body.removeChild(el); + } + }); + } +} + +if (document.readyState === "loading") { + document.addEventListener("DOMContentLoaded", addCopyButtonCallbacks); +} else { + addCopyButtonCallbacks(); +} + +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery', 'headroom', 'headroom-jquery'], function($, Headroom) { + +// Manages the top navigation bar (hides it when the user starts scrolling down on the +// mobile). +window.Headroom = Headroom; // work around buggy module loading? +$(document).ready(function() { + $('#documenter .docs-navbar').headroom({ + "tolerance": {"up": 10, "down": 10}, + }); +}) + +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery'], function($) { + +// Modal settings dialog +$(document).ready(function() { + var settings = $('#documenter-settings'); + $('#documenter-settings-button').click(function(){ + settings.toggleClass('is-active'); + }); + // Close the dialog if X is clicked + $('#documenter-settings button.delete').click(function(){ + settings.removeClass('is-active'); + }); + // Close dialog if ESC is pressed + $(document).keyup(function(e) { + if (e.keyCode == 27) settings.removeClass('is-active'); + }); +}); + +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery'], function($) { + +// Manages the showing and hiding of the sidebar. +$(document).ready(function() { + var sidebar = $("#documenter > .docs-sidebar"); + var sidebar_button = $("#documenter-sidebar-button") + sidebar_button.click(function(ev) { + ev.preventDefault(); + sidebar.toggleClass('visible'); + if (sidebar.hasClass('visible')) { + // Makes sure that the current menu item is visible in the sidebar. + $("#documenter .docs-menu a.is-active").focus(); + } + }); + $("#documenter > .docs-main").bind('click', function(ev) { + if ($(ev.target).is(sidebar_button)) { + return; + } + if (sidebar.hasClass('visible')) { + sidebar.removeClass('visible'); + } + }); +}) + +// Resizes the package name / sitename in the sidebar if it is too wide. +// Inspired by: https://github.com/davatron5000/FitText.js +$(document).ready(function() { + e = $("#documenter .docs-autofit"); + function resize() { + var L = parseInt(e.css('max-width'), 10); + var L0 = e.width(); + if(L0 > L) { + var h0 = parseInt(e.css('font-size'), 10); + e.css('font-size', L * h0 / L0); + // TODO: make sure it survives resizes? + } + } + // call once and then register events + resize(); + $(window).resize(resize); + $(window).on('orientationchange', resize); +}); + +// Scroll the navigation bar to the currently selected menu item +$(document).ready(function() { + var sidebar = $("#documenter .docs-menu").get(0); + var active = $("#documenter .docs-menu .is-active").get(0); + if(typeof active !== 'undefined') { + sidebar.scrollTop = active.offsetTop - sidebar.offsetTop - 15; + } +}) + +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery'], function($) { + +function set_theme(theme) { + var active = null; + var disabled = []; + for (var i = 0; i < document.styleSheets.length; i++) { + var ss = document.styleSheets[i]; + var themename = ss.ownerNode.getAttribute("data-theme-name"); + if(themename === null) continue; // ignore non-theme stylesheets + // Find the active theme + if(themename === theme) active = ss; + else disabled.push(ss); + } + if(active !== null) { + active.disabled = false; + if(active.ownerNode.getAttribute("data-theme-primary") === null) { + document.getElementsByTagName('html')[0].className = "theme--" + theme; + } else { + document.getElementsByTagName('html')[0].className = ""; + } + disabled.forEach(function(ss){ + ss.disabled = true; + }); + } + + // Store the theme in localStorage + if(typeof(window.localStorage) !== "undefined") { + window.localStorage.setItem("documenter-theme", theme); + } else { + console.error("Browser does not support window.localStorage"); + } +} + +// Theme picker setup +$(document).ready(function() { + // onchange callback + $('#documenter-themepicker').change(function themepick_callback(ev){ + var themename = $('#documenter-themepicker option:selected').attr('value'); + set_theme(themename); + }); + + // Make sure that the themepicker displays the correct theme when the theme is retrieved + // from localStorage + if(typeof(window.localStorage) !== "undefined") { + var theme = window.localStorage.getItem("documenter-theme"); + if(theme !== null) { + $('#documenter-themepicker option').each(function(i,e) { + e.selected = (e.value === theme); + }) + } else { + $('#documenter-themepicker option').each(function(i,e) { + e.selected = $("html").hasClass(`theme--${e.value}`); + }) + } + } +}) + +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery'], function($) { + +// update the version selector with info from the siteinfo.js and ../versions.js files +$(document).ready(function() { + // If the version selector is disabled with DOCUMENTER_VERSION_SELECTOR_DISABLED in the + // siteinfo.js file, we just return immediately and not display the version selector. + if (typeof DOCUMENTER_VERSION_SELECTOR_DISABLED === 'boolean' && DOCUMENTER_VERSION_SELECTOR_DISABLED) { + return; + } + + var version_selector = $("#documenter .docs-version-selector"); + var version_selector_select = $("#documenter .docs-version-selector select"); + + version_selector_select.change(function(x) { + target_href = version_selector_select.children("option:selected").get(0).value; + window.location.href = target_href; + }); + + // add the current version to the selector based on siteinfo.js, but only if the selector is empty + if (typeof DOCUMENTER_CURRENT_VERSION !== 'undefined' && $('#version-selector > option').length == 0) { + var option = $(""); + version_selector_select.append(option); + } + + if (typeof DOC_VERSIONS !== 'undefined') { + var existing_versions = version_selector_select.children("option"); + var existing_versions_texts = existing_versions.map(function(i,x){return x.text}); + DOC_VERSIONS.forEach(function(each) { + var version_url = documenterBaseURL + "/../" + each; + var existing_id = $.inArray(each, existing_versions_texts); + // if not already in the version selector, add it as a new option, + // otherwise update the old option with the URL and enable it + if (existing_id == -1) { + var option = $(""); + version_selector_select.append(option); + } else { + var option = existing_versions[existing_id]; + option.value = version_url; + option.disabled = false; + } + }); + } + + // only show the version selector if the selector has been populated + if (version_selector_select.children("option").length > 0) { + version_selector.toggleClass("visible"); + } +}) + +}) diff --git a/v3.3.0/assets/gen_metamodel.png b/v3.3.0/assets/gen_metamodel.png new file mode 100644 index 0000000000000000000000000000000000000000..0f1772db3aea8bddef96e9f0bd74cbf572ad13a8 GIT binary patch literal 168975 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%0A4t@tJx1+ zBP|`VNRu;=Uip1MZyYrzBN%)aWG5Cyz2bCbH0hdb->p}F{t^;ONINw&3H7H~xMw-y zHV8`WMB;L6on&DCVcrJ#7A8u=j{872F@Rzy5c~BX**{G(D`!py_6~)DSL<2CeGrRR8LjxnAn#jiQ zeZi9(d6UJgwrMWY_*)fCInw-`2lJ3OzvR*pS+)5ZShJa}{s((+{TJ05wT+KQkEnzm z1rZqFpa@8dbSjF7(kLMd*8Lzz3#QHb**UN}8wn|X!c5nyW* zn%sKC(q!w^aSM@L9pIf+@BmU3z&qI*v>9op^(1EJ*Mlc4|C(=HoZ(}G<^sD1rq%Uv z=*|G*JOFFQmbbMIZugOlsdO*e{rkCSRs9SOVLuaMZEgZ!Jol?boKLs8$$0I2RsKo* zi0Y|*#q_-aSGdpniV^0SFhx3Z{m0cNBW=Fq2I6}|*Jg8OMdIRHg~!XYxp>ay=A+;C ziPC~KlsxAaZnWd68=qziD;=1Q%5)MkXNB3&0gyBF=G36I;FGqg7C-SZ6O)!uyRYQ* zx)lA!c|tfTJ-qt$5{!BXPc4+ey*1^p91 zhM(Mt$1Of^Z$ZsT#<mSM7@l|56(G@4C1cD%7-{ zBPNQq#eSv~`kU=Th-y<>Y-{xS92ugI9%IpC2}JTPW0>7f5b6+1_BqJdeKRU zDs2l~&duRgg=}TwLfxVlJ|VS9-$Gu(dWT1z*LwF^u+h_J-7h459hngBr;5RLKh6nsT$V{0SX+VPq((gV zfQQJ^(Z_rGyT*BiDiU#gxAGmRnsTc2te3{9r|o<0+OgY?!5$`5AZam~%U*-6?Rrl} znjR=tctuvKt($DCT|N8r<38s!*Fqx3WL=mUt>y{yQ(pGPwI9EG_`d#pra$yp<6@Iz zei%)Kd9cIyzSHWEke;fI_-YJxdmfnK`;(;k5LPa9vS2b+Fb;Gu*N*NRvmnEG}1dYZ224o-lH zL+n<#@Fv2jFBhvR0=}wdKmq$NetszSuIs^@*WniG#fwcnj|rKK7+P2T1&t~JtUD;T zHLRD_f}ZNj_J@xc{Zi}h^G>a85eopTAI#)4@3IzKt;IOf1CPx_O8Tn}VCeZkwMAmA zjue7(ZwQNR!}8=d4%#tqGG6`#2lQ)1+mZCZ1}knQo1ri;VNAy!QTCxOWciuTr;st?0xDtv{=q!kFhJ6^lQ8 zsSl$GpZ$tnSx;cfmWmLz={DnouHwhQ5zzE6Tp1*QckHiX+?$gU&n_gGL59tGJe{kF zNxwDt{Z$^uUpxE=c$m(-cQ_36nr#hfv0c$(8XDmreF__Mwf3CHgi;(mNKA_B-KMST zLBBJG6)EQRku)(bZHqqg$&ye3x_qLSdD{A?&sJRHJ9T7;R}0oJgE`RbGvV&dz5dZV#kq}>&&EQgAM zfQ2jWje!c#tk&DdOPZu0N{oEzBAin~iu>Me2qBA&8Ily|-#oW!HX6Sc`{gb%)c|<4 zH@Il{Q?T<~{cF|*!1mWWVFP)g3Mo9U!1gIbR2r>PUhB)gw5qV%&-JW-eyy;=e6SPW z7L=YsY}60r7W@XWCJ%0xth-iT?1$)U`~7!u#|+`z;4h#{rcf5w>gVb#QqlSS17b{$ zByYrUhEiQ;Pi7r~lSn6oXx++m^7Bugn-|QcTX^270reI*@V@o9=ZC;E!$y9d)M9RJ z3nVPY^z%EQ1XRY=fE_<+A1=%RDN^849Olio8F3!+rM<8 z&V+Vd2smpz0K^2Mb&|4-P%BCSc5qq?13*kJ09PxzE1n|K@|I`hpvkN9KpbK zf*zVaLe-)oLZ563<&Ko4cQ+Y^hYhoB`kOD$bN@{fZV|$$sa~v8OBl)-3ZY>OV*1Mv z`115Z3uFZPwvl!6lDd4DRXh2w%IO}xCyF09Mevn>*Va*ozt0*aLFTXL@=S>wzW2s5qg6BM59+Qg|FC~K%&hsVrx%AmnswQE?fhOV+SVyaJc6v z>;0KX=JX_&Jv%%5>c{LzUtn>B5aM~%=j^MeZ(74him`K3O+EE(RaLfuc(rx#*iLq` zOQVObw7L_-sK5gDs-3lmi8+cxw8AmxY`r(F_RZ(P+vU@u%A)A;UEU%SGzOTzd*@OM zI86oL!y&+Ti=^gEYn#g6aU;3(?gtWJ*`GtFU-Vso#Wr5}P^jg>z^l`?DV=?xnkUR} zylg+xz#$UNsB8)A0(~9Fno~3Ov>$n(D;B;Bqot1$*XEGtL+1x_$QPBNfdDKpXHK zOhE`?S(|4hFD(y+;@9I21m_@-4SKcw(y6JO6<)|2#h5Nh*;bXgS`d_ zFV~yFrzh{>d3w|@k+Z#;8A^C%m!iA=+5!(u2;;`Am6yomDEM}_04=fGRp;vg5n(u+ zB((T{*voJ%iAy$B-&&-2ye3y4;nUhWX?g^0sNqu;@gl1x7QvGOrzvdkH0UG9cF(j<7}=@)qEa_ub!hkjKmGoFyu?f!?L4 zvsU0a`D(2N0Zp+@a&go+&*kY$a(C+!mLDGoawY&2vTyf5*>;@*1Mkh=n*$_2 zzfj4J$RSHW=(is*WcZUN15xRD@2VGQkw-&6U>x9K*8d&;XzdJHOl&m73K!3ae98Ll zTT)yktJlFh(J%+T5h=ti&R>u;kvyigC)3Q&~J?~A8aYL`SMzKHL`qTxYrWo#?^pC+5;^~HK5 zfklza9{jfEw-!XA7s5rO4stdv0YjId$Ztc+^m_&}z84|jIY-C1z87tCGm!2F$k30A zf7tiRU^Fat#s)p^NY`rllu*Pq0Zd^JOMV^nFZ;skivQAUE;Bs5xe3mobF;!fo&YKH z{|!!^BPz83D$E8GcF0vTqqX}{!U=9jZ6!7+{u8pCK2L)}c)I2>cN8!XK=mB*s?VHG zWsP9wAWu$>MK2uoU5CIi!ywHoQvgKMNi0ENTPEaH`~6p@uDoNv-hX+#mE^Zn2Sl?A zyoPAiX!(`sWHA0@Lg29LVqL%rUXGDP#}W?^pPyId;f4ch5D(YZ)x{@h8@7SBq<=Qq zRM>^_gS&}cCFDy%u6A(Yekuvvh^hOENr&oKVZ?o30HLr8V7f1@g@t5of@FN^>W5K-L z=Y{0|8HvE!YJRt_-XC;J1RHzvs~o-r2RS#S-YhX|(+6YVUpCFTp{-$&%Aoj2e)Y8h66ZB=FUB3=Rnh z#;&SM_jf^AKno31kk%z5#H2tAYvcsyuLSo}mVnun-$u>b*7*I;VMh%QrxKM05_S9y2_sPm& zkoYw7i@#nVifgX_^{KK->A15{&4{%!#rnk`_B8V6UM8X8aggu6SqP;^Cx=M@4kv8> z)XzIHV}BEs`rtDcXI9~m<3&UI^KX?Gg)jZ46A&G&Qwb z1aDS_nN>V4?|8E5o8J#dZO;w{-68)Ns+pD0<6+wd#$ImnZ%?!TiZKW?+V~m{iLJ#r z(lDxD`f2!KTol2I$9EDjm$M)2RF}ELD~N?8n*yd$&g*CQQG$nTD{}zm`oU7#K;<~t z8l+;hzy4Y`(ky!YZpGYuD6)QQ0)FI3z&E%PexFKYQL^g*Lvi5s?m4?Rbk^ZUp$Wg9 zvjFlOv0x}#$les@BuE_yp5^TuZsy(|zrHfe0z*5}fCf5Ows{Cti|qpZIA;pFaB$Y)*N9-Qu2#=*ydJbFWApK%;{H1^j}2=6)Fq zhIMeeAR4;Ua1O62K|8YS{93bm*{Mk8(vQm@gw7#92O{u5AF$vCMY7~^lm>upD=#fA zJ>v#hb+69A>_Pn6Dwx)=kkD>S!1vnn&8c*tNHl0vu6{N)d;o=kN*!H9FOIe3Ak-%M zh(BD3+$BE6lsdQKN(dvgc)@M|y|)p2ISyj@?f1#w{6(dHPnK3R2n|O$IorxRW>07p z_7@~Z?pPo8GFjy7pMN)*_-!>JZmA#LK->raT?|~!z{Ocd@3oBt=Y&w!Xdsb9T$wyb z7vu-PJr8iB3Pu^I&jtHqr+uFiRiNB1>=R5f9hQaZ)PqA1+6KFcPPUVmcfFWN&hzlB zqX;i_VfgELICB1cbLACfq_QhO#;`zo%tUA)=H8jf8$+RTurFB%0rHKa^ z*W*Oz5W)Xx_Yh?OA3(`q+A7XPhy0`Y+^P`hMRER(H8}ClMnYJZy-Biqy+L-tE|)z$ z&=-5$DH(2OWhQFAxCLySQH+oNs6^W0Ki;-G(^gFbiA5i7Am>H}i(bpZrd*iDSlzxt zJUzrhQ!L)JXX-W_kcvD0m&a5S5gOi*k1|@En~R(1z;<#tlO~P-ivc^b9+FIEI;Rt*no;e^!zGJwJp0`r)P!L5d2#8 zKLmRIIA0;ixAb0soJOIRZK&D>Y?$R66EvYm;k%X3g;p>SYu&vM$p*lbG7pPWu5%U< z&|yJjC$H3B-`$$W6)vx?I*tI|5e3B?goI#2E)=30nFNG%2qW-Mq8E;~f-~jv9mI$o zM!5q8M`wz{a{mRqj;IWsARidC6&u#chD5*nyf;H$_0L)^Bg8gA9Z{yglnTcCC9+$g zF_DrLx)6`qS_MY~w?07!RmKxdl0rk=G&V_16@tB7OXq zR}S~&gX7IV)?CXF>abVXd8-jBXs>)#l*VscfH!`qx8@)L`BwhI>S|9cVj?Z5LkQ1O zG$5xXu;)Jb`OnLA&^6^Ye}zBY9`)5fgu;}qj0H5+?nuulx%YvQEafq{Zz1q4EG>( zKzj*s9Nqa3Yhn$dmD5`}6w%P>2Y2yr>Xo4wLaZ$Lb+M-0>o4^s;l4L3)y_br>AATu zQUgV4kZJ$^q_WJlbsIiXr??)zSDH@<_sk7$ zyoLUeXd9*FsWkQ`aFY~31%pJqF%yFj8=&Vu5{HTOd2=M4_I4%m30p|a2+8IuKux56a#(IG?mDMzi(8v!gO}Qa9u(D)Ax@x0al5=1;?@guj zgV@q)Bj8im%v)iyAOm3mfRK?$*D=;Vyyd%+gYyFm)8RUxtHKOSqXBLaN^cI$;c(Fh)uQL+zPGa$RtU4l1^l&gAz!Da z8gC=rkIev4a1wjvtac_IPwTc`)<2t75NbB=vMbmpY6|CQh%;^@70EsBv%;_mBPu{I z*r(ERTvA34znNlG_*2eUgHtKo=vJVjMtI^G>k!5fE2st9S_jO3P%hXv<|s1Q(!B3wM=_Lz&Vng4e`xrXm1g&|r+F z4*=?T;TBA4VZT2gQd#aeB5iLu@dH8V7YZ>k;dgFUb^L=*V0n11FI3s%2Rm2D!5ZMU z09t112Sdt(u04sxn7%pJoD$(VPVFT=2=O$LwVgGrRmxFV8JceRt%>ZGA(`L@GmzyF zM#y^bEO4g(>atrzaS~orc@e*IX}1U>UC?=$Fej%9JwY&0pxXe(gy9sv zgv#Jcf`a(&8Zbnb@IjlA4=5D#15dId_9me{2mk?}*LvB-g1wh#LRx~2Gz$8eptH9T z?oE{ABtgh;@eO-z9^V_8nK55V*uy650{$zZR>GikUv;mSoL@nq2)qFJo!AxLfjM|P`GIT=F5gPN%gme`GCYyjoqxHJO~4+C`qcgq22u-H@KwXt_DJ21E)s`%-_ zAuokhzzT{?fjMk|r!OyAoa#tmx7;f4Db!HU6uhO+IQ-_3vSo&L#q`ObF$zKCggDipsNTBY}t5o%*ku5E$Tz6pnCG9z42 z_-ojw`TFgYuP*UM8Y~B)v=Z2tYg;9>2~~OvMPi8=R`n}>GfR3mfTW_*QrQp)Ey%V0 z7xpGdh}qj*nSNRo*C^~S@#yGf2_b4YkLl<@N6K2PuH(;SNaEPon7yq6zFkk-14O~h_W%igi2${bYQ#RnnheX^Wl(4%NLV# z_g0Vjk7r=S06zt+Jj_&e3*`&BQcT7VUidl9vat`h)5N$+h{<&dSsAt&3qUEuEOB|g zJ@BnD2XEhF=OIEvP1k84ZGN+h;3_IJ7QzQtPo*dB&ULwoYlL%bam=NiEDhaZ?+)oR z&RFnR>I-+4fN%EtTzZMzuzw-oEEF{2PMtuPn6~bnt*H8C_o;BlME-@)kNokcRNBHq z@6g9|Zb5uoh{$oA?=7;ZgOtOKg0Y=|JbcWos! z@xu!J8}Tew(xpMHqhehhiG4IrSSCQ>uVkL*AoE|ufh}!e$VrJ@!T8^VQ|SrHOCGCi z9i3ONoj19P=sf;{8Bh4*J!A;be!ds65JX8Y3_&!r(-u_aI1))3r9z>JUz@`xd!PfW@JP9TwPhh52H>rd31X@KxCmRHzrKFoBif#WbR>sE&8P+~)jWv#%?jch z4UQ=x8$R0K*Xc$K54GENuiZSkww4ySJ|IzUZtnD)|m z?wyUfGoS=zAYxfE=y)whY1yul2Y&z{!Zl>f=0ZVUr@(mkl+-hBOELmoB=Z`u-e}Il zmScTm0_enqhGrk^00DkQFpb*3%nP!&65uxY0X4(35XWVF3snCWCHQ2~S*yq3yK9+rh2U|= z`ya(W<2O`AmEhBBs+5*gr2aJUYj2B*==a^xV=)ewLN z5^n#}rwg{g=vf*u2;~oX!@5*9=6Rb6_ME7Zmj)$)?@lD4bMl@04sgMa`za`qk8qCv zD}AsCPr$iww~6^Uz?cp5^sgz|J2@3D6#eH7)q@Aufa+FtC_N0v}KesR2VB8d;2}Ek`3iL|+iD7mf($ zP?yYl?R#lou6U6r4TdK-F;}VH$`g}ar9zG_mBq(s!HpbIhygnyrPF1KrlVRP5;h>F zhy%~@1|8PdY{+_xw<%XJNNw!^;26gBGuE>TfPKL)XIsq%UE&0bZYBl<>2h2~`2%$M z-WH4{eI$K&zHD`?>4p^#C9yQR zy~2ks7vwA%EVOJ9krTwQh2qb%gh9_ocnn?`Be*QJrj{71>R$g(QGb=sa&{T7-xDD- zm7;%}3GNz{HJxOpRT1TLoJ-L;a!4xTClF++*%{noLdLu%_MWOybs7_ zZ^yn`XfX!_gZ>$PlJVIzMwx2vMj91}ooq19Au>yZ9LyCjjU4{2L z&*^as-a|(bf4@!Sh$i?Sfdf0;#iusx1wO6-&U0E1>vRNr(zut+s-s;0{#KxAqt{ zeE0m3%8ZJah~^HG6}|;%a1ul-Gs(`@?DCJi+lN0X+@w7=;A+K_v+{JDI zMFb?g3l_xZU!n_cib<`ivITAiD_H1i?_6L@yNA~*3Pr)&w*_rSl9y|NXBP&oO}_K? zaEO7%vx7bO(eBa)7GN)BE|+*|rRPR{)u~RsU2pHY)n>ujgxJYp@)YvI{fqAvEW6=> znKu?m{j=AVo-;y;^*H%D@e!8ih+;rlpUq`wtB|ztwQk;i20jQ^u_joBGk6O29iR0v zm5ura!`yKSU#nbV9Mm#UBL8S(o?uPRwwi~Wp};x)PO<6}1boY!sORpt(4)VchF`8; z0l^y{Fz+K0jgtrR{(vOM5)QKlo6K(q$@V_ko(1ApcS9G?-p)zh?WM&r>1VER6K3g&@aXv+|J@nS zioKaFPne|8WQ7A$O-Uo~cK40gIkx!Y{f#RsgGb?S-kluVMDs)12 zqi#I ztYMyFYwz3X!&Z;?-}jbTjR~2-{fn?;YJ;^a+D1>ieb=K>BRs4Q+N}~#%9kE7);@phhJ`w#Ml6AkiB{w5OORkeQXzWyi|9J8pzI2?K6qWVMcERzoH~ILT8CKj? zqzp%DdN)$ELv?!=*>>2shvJ2HWYlk{2dKs8j5j+?KCi(_DcwllR~ptg)Qo9RFUnP~ z{lk1oVaEdKkps@ggJdv^ANbf@J^m2xqR?D>zKjhf)70CKX<>H$QW0~ z?3}dE9D(rAE*N8oXt|G`dSSfM0mR%XS?kZ;UeFJw2Bh!r+`UNs91QiXkgsV~64Wy6 z0U*(SSjc*T(Gg#4Z2GI`JxhRec2WENSX*-shH`Y$R7yhLz9hXUM@HDpT#9VHoe>C- z$HxG%!%0~_K;|~;qR3y6bab6%Wd2jE7+o;)rI9MwMs5hlwYqbyR1Z6ee*tQpTg}Ir zg2o`;I%!YG(Ev+Oi5w0BReGN+3!Owj3*xV!xkf^A1pd?htmII{6&Y#YHx;Eb(Kx;P zJb5yJbEM|Tc(Q)%h{+k{ygn`My!ZXdcWBd@ja;y;nmUhnfEisQTrQ<^;g}6Nq67$s z-V%Ww5}gc1aMOCG;+}Ap_Dogz7&KNrSD0}uA&SAfQ{k0l3dnw6t7_;1$Y*Cp#y@IQ zCTjjAIz1YuMDD9-@Q}w}(cp~T5x!(o>e^y-_JB;aa={X>*!zLkv=bExJaO_M$Box) zdlT@4In8x*HG&{F6<93xevRJ5*rYxi=W(Vd#R$FBUqd3qG%HX4G9z>xMRpzk>iCvb zpaKE}OF{`PXsF_$g{h{*+E2wLC(N{Hvj=$eFKD{tLaiWMPq8B^Wl1PEW>E3z-K=$> zLaVooToP-@kZ=$ryHx9FpV5R6zVSPKFV5o=?Hr%Y`6WEJ&q%ccLj%;O%NE%qyJ@^C z?6BVe^v5vMUs@CMr5#a!26v8010tr6pyq{(2c)yV`2hKA^3IQ8+T%!^UAV!dp~#!p=O#Yaw>Gmc0oM2u z94iIFw1Q}|CdFZZu4Y_!GGOQ_Mw?|s-hYyGU#P1{BT1-#$lwO%{)~A$!+gBf3AiFJ{Y^nx_ zro8uTliX(u{_dQ+l+bX`zzNWdJ9ji-i`e)KF-3bNwL;MuLu2n}?6DSGRX+OW-1}ZM zlo_%mz8H#ck*>9Ye4~+U8zCJksrJ>xT8C4CxnT}DvF|uDDZXSuLGC4!w9d(l7$F_` z5v!+vwV9lz8}Q`rnA)Fc9KH<4P`unrU=gojR*kqC$l&TWtoYL0hyzH>l zU7$P1_3V2MP+d#MOqpDp(Y zN&oTdPJDz{RJtIcz0|^Pp$cBPT1AD;w{ zsA6}g%m#M5O5$LD%VGJHyq^5iQaLGs@8_r_DVMTVrzCIO{h^YFXS6l$?LQFyNyQfr z!oBD-Z&mw;Nha6w>XiIUwy{HI=r?sS+Qhjvh@CR?z47JaaP$2<+ZNy2ERj1$6)t`9 za9-7o@U4*JxoT7@&} zcv^c`iN41f_3SV1R-^=ErO^GtexnoIa-9a_d#luD8S!tQXBy^@7fiN{4ie+~{(ev{ z8q#t&&pqDIcyM{Y`HEa>J;cAdf?vMypf>c5bk|dxb~bzGbttZ?Hyx}O5(tF z8ha_OV8gsBb|*EqEX2Hps|fHxVEHx2O9oCeQ5&&osMSZS3B<`aCA>~qMQC9p-M8VW z*2reg9qIebJQi`CA=e8XMDTmFXRijbjfN$@EWBB&ToBT+WUTIF6me-(;o}F`CoL+Z z>9JTn{0(q4x}n28-4ZZW91{%?aJB;QcdxlhIFzl11& z^qynWGg09)ru+I5(}WxxDqGFzvq5bzbQKBfY}|+KAOs-SP=E6-Ks*TBIrl8-u?8^)Bq7-{b%ofy{jPL<3=8{ZlMqyJWvfqgH%kCNn?R;| z9yJ*m^sgXcN_|`d?0(M*U)Ra*boA==^zLKhRc(#SqG<3`s?wK;Mw+Z?;wx#4l%4MV zfm(~W3MvGn4H+3qz_90{{QicV;djG6~_Xu8GOT% zE;c?b(x!z`g1D*){$;BR3yP~-eio3d0Fj(+vZKMUvHx4GL=Nj6iP$z+3$oWt;{ihP zgkxVD2fe!^H-k6b;ZvTvbh7oQ{i|M?QtLR0U*5a##lJs%xT(g*U&BW*9`x2Ei%nB6 zkd7w<^eOSN!1EZ+t_(lU?(yjEg#pDp>Uho9#&_yi*?cSjVh6BCs1TmuzS6BWZc8bp zWa$m~uGQ=J{m9xpoSlnGN{H*or52(70a!Q5(ef$!5&$J&eSD(M#yQxh%EvB?PS!bd zA&BL|Pmy53i-gV*KCpXuRPd+$f4)GSsfk>7M!8O&iZgXKu%#JDmhwPR78(3MfC)RV zb3wBquiBF)xK2Mi$fP) z5WzXW$w@9MF@ZU6Uzb=b;brUbiEI*$TKG}nf6btNDJw_~PI5*XQCJ9eFz8UlYuYsD zhTZ-v+&Rye?AiB#vI+_!6(h#wu2Jiw3p(*!+AxcbvwVw95UHMdfRJ@Ur4r<}1$dgVVpB|E)3Ue?A{m z(VlZtTb3zw<5?{vZSR}i!+#)RTZye#Ri-44a`+{Z_=uL*IZYW3Fn|H5Eurj2L1@h| zkG95d-d=*XJ~65O`t%Z<`C(=HR-Km8Kd`S#IiDhD(+K&3kkBwAjS8%nqy0$a#<@;j zsPlDt|8zsp9o9C6Y-x{uxgj^{Arw9w^BqxO3ib64Wz4BZUc9}%+y;bQG_o~&n@wKL zdy5eN-?Ng~e%nI@^xw2n?M_$^r^Uzc%`FE4w1UuFf``r8#y&%ta`Fj2Wl`^vfPjF+ z-nJdN6i{L7Odr}?04}`}>`vD97;vq7ZA_-*x4zXl4z?^IGR+xeeja(6HG?GG8g_RU z+w*>4Z^vtQIeTwDdz^l6UU%>P(t`BB(9jpy$E<(B&aC74n-A>ayeu!#KmlU6jiuML zaJVJ1HVWAv9(X9Bft5B$-Bu-XkF`Ok>GDlzMf~2F*WO|sxY(lNGT#G#g5n{(NXF*C z|5*YMfL4mc&ZM523t(0h0RMz{*i_p1%zxYhOcGKvq6f7*GVisAWRz~y?OiPK*aMo; z2XS9@cgJ-z0K$esX*~pnGw*Q>1ojYA(6C;XEZ7R@c3=VvUK*`))keNFya0Fr-BM?p z$OsCcW+xogkUt<7W)r^#4TRkVYCj_b+k-!7aU$H8#~s-^oSs3`81Sp?BG4_lZ_O6^ zqbs+l9^>VTa(s8!6C0844NoGQzhwu%tOEcSQq;+tbYy|_1M-T>c8}#20mu%6;o04G zQ7}-t48QeHLEsNRt|@$x)SwxlnEBXzz;6+tLlKuw6PnVp)4a>M=~!Fv$9~%}V1o&O0z36GHxifgz1+`)B?v;K~f}gQKzt_>Zz6Lo5z&<;r6rLJlQj9Ytgr z^k54P=V}2&P3*(|{(i5W&t4vm?7)Gxn>*)>)PIIe&(e||CIu#|2yh-lLqoez$9!Of z_uJp_E(7Fn@$*{2Lzz-WAy2#Cs$#HCZ>UZEKJr%}n}Jqo%hi0oq!-)h1HVAYT)T3+ z9Kj?8jo-QixZ0F4z!Jdv5TS1cl#vwPr1;kgpm3X;!U0Ku;Ik4se+(Q_!$o+S{G-Jc z6V2A#^Qt{<&1*HH_i)~1Cbikj9hqpmKfvWaiUX$`+=ynR?kw(e4udaQnh%YWK z&M8OkuY3ti2gQq-H)z4Iu|9^MU-JER+fOpH^W-DmJEaOFRJu;C_9x(u$^VpaAUG5% zP2U3o5-=sTSNqqew~;4fnic`&1Peu4={sO_0w`x6gJK)DN4%bxQw~s!;-0bh2w^n$ zUs95gCN5KWi3v2X{6F|X$_kuMDItd00tCoARWd@~$^VzWYtNhX&M__t2MdM@8t?Pv9NmoT`3 ze=+F*ym*BX|KjNKcbqWtoA5FO7&gP5E4kh5{&;s#xzJ96pa~?k*tL7HX_6QLOy)H*h|a~(2lhDafx%@STb^9 zQ^v1wp8w2p0#_!8PFHs{)-^eC`=r%aqKN8?4jpmqCtNPYS>oBRsg%p z2Gj{yU-_(?$%nEI-`&CPi3KD{Y>yldr$h-JWYD(;wYxNaYr3It9d6#PIWD2D0GktR zuCqhuP}cvzv;n;&=d~@JPJ)WfVQ*sRLRlM^LyDlH=wXv#X?iS-{-ec75ouzpKJ+5|n3zbx%n>!mF1GY*!rOu0+D-Rx!p_fm z#q0pb-(9Su=MaY9R;F!? zKIY0e8iA~(<6i6D`wu`mBC*pcp>b;J#?PWN@O{E6`0>2|_v!zQ#Q$|`qAjB5hb1!n z5d5mZc%PkMq@hF}9CThL1P-H~R=m_L#+^wAP+Ca&So}3y0dOm*@p$YMWJ!@rfmiuZ ztuo}tfIqui4e(TevgY(iCOg}d3z4Gn4L}&{NwepKlUr#pxfek=CX1z;V z9jP)}pn^9{c3& zY1OZ#7AO9Y@3ddZdN@`j3IHBRR>8TfESqSonqzuRKKj1>gtC@LOv)eEVfkLsfUQahCe}A6DmW? zr$Ds9a445irm;w;WDpRlArTjvau=GMC)y3F$$e!2)i!?4$3m4{id-tRfw65_I)yQ4 z47d$EC44y|a4s8kM=RJN=|3RJwwXC;ApOn<8^B#AvD{@lq;;$Wf^9%(KfZqVD+U-2 z+#EcafTr;KWT!FncNbz*tiX>|{z6{TXAwBe8zVml2Eodi;)sXxS$754!drX>hVqCM zQaXA1flsUH$;9EbI`*dcz@y@PYEVzO+bnY{K!01;eevVcm}#_Xsn6TfH6sgY15-RQ)seYNk1LXH+h9za;`8>Ag!sMDGpwkL0~;duS+NsTBo3 ze_X$o-Q_sIl78CJcs&aAH-6&vtbyK8D}#NBL@c{IM*3<6f`LrN<<6Kvb}jKv8V>LB z)66;S?E7hvY63DGe0@dSjJTGBgamH4|yVU9C<@9wZC6ru~Jim&&0 z7$Mn&SSm62SbI%CRVQ#%PIW?JE~_I+Hd|~#x0%QGx(z)}B4E;JFsvsW2Q|GB znP}Iz{ts|A9I2iIjcb{Im*G}f|7Anx&QQObVVqaIEb3Y` z#A;WRviA9~W67Mj)d5VCz0n|IQ4ubJI|Bdz{I2-4b*b%|5vV{585QFdtN}@`G)9ns z%O-l2V>-U^!mZE-$o&B|`dLjV5}dR1$sN|akYJ#iy*x=QVv%iBS!Kv`G_FyE{krzF zm^!E#(zue6Sq`1d%`LGf7KPQg%Yovg$(@r~J%cz7lyw7Q1|t{d{V|se5PkBGc@dxH z*C1rIGzRTx?7Zp+DG_&~(np&0jrjl#eqlg5cLCr?Sf?l1-sYTyXf_kWZ^>Mn5QWNGOuzWuV3DsECM^f zb^2sS8-&Z_g}y(Djf{KlwN?5j>VG*M;=4HQx-!+hI{}Gl`Q?ojos&@h_;oaI*LCoa zFFj*#VkLvRc(>7Q)`A(m&D6)P0LTDn`M8KkKl9K9vypK1>Ey20jxSR zt-eXqQzjOz>=hqtFHsa~!C*sZvuK&kj6Y@sSN(TQ?~-V?dI=3#f9KYy5(Tkkx>w{v z#-*)NF`JRH;%$cF8bsb{es{tqCazep^8SaBTt7;bPC)==u<3$7>FBc=BYP$Ga;Y z-kEo<)8)ES9PERjt0>ltfl>#nXxwLTcO3GJZlBkrGB)6)zSE!_;pPd;EI@l0wn&CG z-Pc})_oV0LZ@Xs_&ph)`1$N3^8Jcxi2}iP;f9-MvEDC-l45NLh+ZUUsnt=AA+w6|1 z9m(KR0N;&n-!?ZU^-ZP-CXq|m2p7}jyNmT~WaW7CfUmWuaMXz-@pyg!uUz``18r;~ zPHJnJeqs_)vTrKn=qSQ7?qTiFb@~#wC-<^CDBbinF_gDw{?Qp;K8*r8$9?V7TBpbD z42v)?Lgjolz*>3&lkYUV_7$9Xf2A9kEsXl645ngkrH6EBvDLc%+ur7p8gh{AS!cd- z7o-~N@2NF>0U6=2tDFv6kW3mf;WCdQm8=Afg1U(u^pUG_157r#PS%ExCJ>Ow4@!__ z5^2i|?}#FeS0{!o@XIWBLd!zjKLJ}DUmpmty|5_kr?9JpXw&I&_RN@rLp+Ynk9wW^ zk-=lpj)J56kL%Z#QmFy>O1NXAY!=e;H3fm{KOJ2#C(xw=^o=AETqA5-bz?SRH4wHV zb<2mc#3Bh40(&Z>Q5LP2XGEAWI7)8Yb#4+S98D~x$kER$1q5)V;JoQ_ZqLmP%L_Rkjv%zqEq+EX%FP6iNj z<9qWm-4or?`+k%aF+ukUNFkTqDFfiuWK)E*YxQ(de5fs#I=9dn+SRz(GYjy_sXE3xs zH$1qD;4sGD-r8x%qfv+zXv&>@!eMjcV>3jcYcFA^S2}oUTeg>)xIiT&t0-xs>)Plb zRdteN{Uq!|tZEwMA6LshH_aKBr@p|>>uxF^K*c`ef@44avJMCR-&2;6!~#($aw&*b zDX5%Gin=2i8*%Q{Nj5(Wq_5r3#HS;1I(CqSAIx$Nxux@1`6C+4YKB7t=KM}89SoXU zi^Ef686wDreg2oowA?N3_>@8`EPx#Q$vwDbIZKYZ2Wekwrvrn$ym zc+j)rjyru{hrSZPObvNlR_ov5Aflf&!O^xnl`~H}5ga`JT*7Kha7db>Fv%4)d_m3l zhtUhYAjDyj?pUkBpoSZ1>L^uUt@vZMQsYUr6K`7Ff)q(N0B1s0wBFS>z5$vn-!%*S zX9Kg-ZkAY(OM&{ho>wRVlq`);e9L;w|I#*!Go^HcC86-nCPsjTWJtP> z8@wey?QfHD#P~rp5q3U%<#~WmeM9s6u}Q}g!l7t7ewF-o16Ni|*npnj1C#76j>y*A zF7HoRn`YKK06M2Zr)636Pko17wtmuGk^H`V2svH;@xE=Z)wu*UTSK`8JJrNL zoBw$Hthbf3CyJQv*7TFAgZIncALN$!!_Lt$F6V~Ad%DS$C(@GF*Z!DQMBR+g!dQ5ll1!Gm2 zTZd1VhTCgrs7x**#U3DuL;vLzYUFq_zqe>Wso}5M;B+gZ`2Yto?r@w7O>w;QijEbzlv*~Xzkp*};Xt%SEpJO< zp}@@ttTdtucSGcZN&E9+{-xWO}%Ft%F^Kx0#Y6Mf9Kf3&?ENu)Ub>dLC(TW*^ zf6WzK5hL}|b%RePXFoS4v2>UZEfqk^xJg!O@_};i-xr@{-Ky*UEY!=}$&`QVuv7H! zyVLneEcSFZeLVk09zaD>*i<4yH_^ey`>KhN28_|(zngNS6=aPx!g0mB9Lk-%nKySD zzee@K)QAkY#23~ca>}vj&oJj^I*Q_cq#sOr{KbZ%J-L){yB-g}%s`mWhskTlQz+tW zREJ)kdJ9=oV2--pml>bxDWH0+5pHzi&{WC?zPwN-nX^Xe&R+32<)tQF#So#6ZtplP zZ6@KW7h5|z)qUL@8vG7|XkL2m&PVs$Wo^*6a&u$d&`5QL|?^_YPOGQ?TBZcl{4ymvsJ^byeY{9S8%F?fWHV*QCx$wqz zPuX}eo|DoD_tPg4FKVDHfF<2~q=q{hD6`6S!(YE5Rgv{!ZweT5j*9i7oE&BJ4>i2- zAlIVbVX(mte7V+l;*PAcQeE}^dQqZZNE|wk;2IoSJ*|{nlE9zXLK3;(BS*_!SVd z(F#-mG|Y7!GmN-7h65<)L&#bOP5~e;GWg?4xNa@@_Vu*=^y|ON{6*w099Ju9#^-nK zIB?hHxHWw!LZLoMT{@y%P0ywC-9s0*d9^Hg!-dg?vc;n3K{-)aRrdpp9=W=EUkWl$ zd8*Y(%hQ~7A=3KXO=3cMQddys;#4eIFgwZBvpZ7U^nXfyFITU61N3 zpE3b4{%lAEgG`Ju-vqT&JT5u{*gjBmkM1a;KTQ=bv^iCBKY=Kyv9UM`70y7V&X+Cm zu9p3#xLaH>Gez9PJ3AKg_rlbhk1{h7v)g=noso()xZU&Rs+{-UXwNcg(GD2BKwxPjb ztR)FCWg84ew!ws$hV1XD?&o=a&-3}b?|c1`+uWFI&g(pn<$HXO@8Jl|mONET!RfKi zm%k~`>-kvJLn@`l%O|Z4%4ow4z~rtozhN#ub{yhAt!i{|S%CaQS|%@@K!V?uGFdX0 z8zObu3vcqpGR+SHE?m=vq9k@MNaVn&KUGj$YX|$F8vm<+b#Hst#7nH4<1jP;BVd2? zqFU|zafoRWIS6JWez~3{b)Zv5`z*mPHzqdsY3`is!F)Ro5G4W!y1sR^)dJsfN;tvI zILfXTtptCOX~*Hix~VtjiuK?HrfK$#foyL$3O2N%5ogQQjwH9)qFgkIQL241x`in> zTqIJqu1tR5y>KKjbEj(&DADp*dvrH;P%5s{^A+6cJ39(zRy z0^&sLO9|16kES-=(eZ+PGB!3g1@svr(~XqaNrmvLLK=3Mq?tRpl0=HK1K?0~_Mw3b zGrp&@_#u#hd6j|x6NvxWC!<`GfAaR**OOKPu9%ZBy{W=>rv7#y*dykCUX$rFuQ3VA z7NW|uO5S|~UNzP;lsWB+M9rJ@dr6C67I3o_m-waz0?gBBYiqNHpVHHQkXHgnui1x# zHBBv&O5{nr1^=Ran&e!P?PBL|zO2+K1+P?>0NK)4Izq{GiPKxV zpb%#m_Cax;B3Qo3iFv>4f4AAr2n;BY4~JWB5|2iMwg1}1&dLsfbOCV@;%czU711nC z{wv+sMRdg&-SM2F>(OFe=bB%hTROVK2AL2S4p&D@v3FuhtqY0kVUubA;DT{6ZQ7uD zM}ShMB_Tdn!`aL?NEcXrV!DRZS=|)=qUe5W#@3;UWt)t5UB>XB*xtBnZSo zj~wWx&CKlBaae!sn2*jobag_ZXTa?@%Zy;kyG_Y6shC;CO%1zHSJFiV4X@WXvhoraQT z6cRj$RxVOAt^zKLy%Xslnsl5UgcXu?KFwDceNVECv%^wGl? z-#_aBa{I5MDbo~13KqYiYW1wF>-?a12+SN795h@?Ks2bWO88_JP=V+$6v*3JE zukd6xAMf=(Ct?c&K3!bjGuZ)^;c|VDkg|P-Ha;%XA$*b6i^S*Yyp<-k2$5gQFt(kv ztTFBNfwZIv4_e%j$d**hVDFe4blYcHy{<65IYcxnq~^a6yn5O5)igs|SUv_-owbW? zI;P16s3S-JJU>|~v~UjG9F5CptL&Z=iX zyVkbCNZjf5^MGnpA855yF5hg@bd6g;*t?OO6ah~@c=fB>#>Ax2C$ z)M^ht2nIS^m~l9s8cO2jGLf;1DCleNT&*R)>vBOdT>U!W=|)b~uSqG&txAcRJ!!dT zuE?V!Cy1<#q1ta%ZQfmTAb zCQCk%tkNXGK$lOWeC4hE56?fH`h7;)I5@lTb3{X$jCQ+8e1EKA_vg@DM>Fu^+0CN! z@6&soJ{^=DzeL2=Z$2nlNg}T*FS~M59S@BAa1M=ZnU+DHL?sY0QwskRXZ>99k<6>sBue3u~}AlT=~|gda;@ZWmyt1PToGU z#`q)vlwnz(7X|L0JV-A^XY>3nzO`5Mrk>2=$p+$Lc216$%$^Ell$WNV;#39+(_yBIePwu7kHPwdGRKzJ0T;~IJ;Gei(V$+&Wpss;M(Tgb#I&bs@~c zwv75-@Q1^r^Ur6$D6u1NjCrZ?Hgp9*8E|}`Lve47F;EXM!Z+sFAN{AJ@{?8M(%^Ww7_^+o8 zf}y{mGsi{kzBZq3O(u~NA6hru@j+v9YkEUI(UP;KXRP``*zkbawe%uxmkfXPogN?< z)Ke3@VwG5tjB!E6gaWwBru*IGhjb9>chC|y+{JSIiy|P_x*0O1V0{@>} zA1#-hN!={BZSTwoj`=gD!?e(T6uTDnJup^blzUH6yE4kO0!al)3Y;nS;R|BE; z_X-mm`7Xt^FE0{qoZ)$b*gx-~#z$LJa-I)i!)S_t*z@P2;Etqai9EwkcSK^K^`DOl zL=5PTR~4B)jXw{dv&bjPDk|OU>M3fG1^z4UX~^l9?n~DDbr(uIZYC&PRsdjSNF~9V z-Y`;t)%rFT_XXIAzAu%Rk`e&k%=yk^3yj5P4?)N}X{{DEH8#$N&WrVypDW@nLdL$1 zF3rt30F;fX#dYV^Ok^Uo6xcReHz=U3j8h}|2D$x{eULMufJtaT_)=RUT+vMM-LPE6 zd#WQx7X~!ntnKNsx|}fygPvX*2*rJ>zZBCeGthkF;zmXN!nFm%$|wCU*%E7-QMNm! zpQH{h``1Sw`^*rzc;`#RET@19zN9@*A;IMj{|#)OPiAR|q>CnKUXelj#`EbHCCQ!C^fJ>#j7fkPaRsYU4;<&1P_fMg8%A7VlqQlpDDBUEThZa~02vQ08G{1|nkD zI-qkw+5G*6vAJ(WPrp&Vh|1XL_2wF`8Eh;jG=kHORAl#Z><;eW6iHkX+jwkgmbPhR zQ1eRAMS3+G2&7?LfB6;)uX<#ng!e!w1tyRUgyy7_XJE8@KQXr6E6c+`smf{*kE`H% zN(;Zfb#qa7ygq1h?>+jSaIsAWCij!SHKJ3g4nDzfXe{>K+#8CtHNL>|8J% zi3&cFMlPd8+pf~lx0s`}haytrjHO_o=dd$+{}gW{p9e-#KRjO2)@JMB$m7NRwIP0&xI@_IjzuspusTL#cQ{Si!CGWJ=^**c2&!)|Y zSN9~Cr46vj1+2(DqW~YUkXge!Dx75DRz?P0>s3a4dI5YTHwy>N34O~fQExtO6tStV zoPWof=7@Nr>|{1byp+r9g14uC4~hm9kyAYJm9iB;)uIDGi(J}fbaLb%L)FBGS-=t0LT5 zH|w+Fg?E*DtXA>EBY|8$7pM;1Bj3Ot&q^}NI~_w1r3$$8ieH+HWTWMJiuEy^_pChO zP7VF$j6~_2yl-WhFg3?03VUB(^7iyK8-a8kOTvkVwm(;Tqj)6(lbPQAn(5h zay&dtgTZkp|K4j$6?)d(T=Yoo#^Nd&q-M8$ChJ#rzy0sdgw$UBliFB0stegoNB*b; zi4+@+h>6*ykbh{B9%m&?S%%@$sB~U-mu<4PQC%kSRpgS8f}9PX$_-6IZr~MzZ~Uv8 zgl3(suVgu5iyWRktWoL`g&a8kV`E@Fu$@0X8*wB}@ArZdt#X+jf-1;PnJe{q4PYpk zR~SdsH1VIMU1}ZhYc{ZQ;JV`ZU?AXq0-Lzb8m-M^5!fNqB%NQ0kC7)Vq^}8`E0sMc zg7?ij`OZ!&BRZ9icl0UZQDi}rQ!!XgpzJ93yRt0z64L)sjgDR+LcxK$o(cQnJ!CfO z=;mSDMUHK1+5#@r|M=!7y2LuCH;TuYt+6gYFEK()#|)Xj1ZJBg_Jp-7{Buv42-+DV zJyy3dtX6V<(}%NB->U*1^B&&Eovx(!oVIni`0AG$P!`(Al;zc~r`@Zx8_W`*sL2M_ zSEukl+s^q}dpyd{G;P2L+Bz9oGpvJhrLPHZ()jH{(wp$dhbfM~zgk1@ewVe012~AT z=VoC9=?harxvL5(?m~c6|L^>TF)Hp+@GD7<<{Z-YJdQ1vRdYC{O3mh{Uws~ zhN>-yShdJUE6yKT*u#_U$1J*U_3?;B0Ci1VP{XgBbEAQa(?Q|cVcJp!pbD{|GX_yt zofyP|gqu)2SW-hiG}2O*Bat}VE)Mr)wGKSO0C9i+xu@<@4D|(PY5hOFf1|tz)ro3P z2%rR{6^tHAOYM|o++P>yG~i47o2ao9kM7jH%yeBE$}4lPf3k)mIbjWyFnD+}>%R69 z!`fVw@Hsn5@t~EK6~WC;!l6v=ek{4G?iR%%U2Qx*?t`1y@k0=1otLzKXzp@ z(!%3=pqD5b09>Gt|IOPuty4J{n)xZwN_ZRh>f1{L2qMJ0rDn!%3fSn9TG*21?Gi9_ z&|EkCgXHLk$ZW^q@Au!fHw9Zg1*zfLGJd!vK|l$xtM{+hy4;5weullpKvnQ5Y5;xp zZsC|xDfnlV{{9U3ca#g*P{1I5!=`=#e=hlGpbtoPH0#jhTa{2>F7kG{RlOvo7heTJ zz6x&>!p+arhUHMW(>|Isg_zvjOLtpAt{M7?@6Qt0tNV=RDC3!hHCp9fT2mZSCm0ld;-o`E;je$M_}~AC%)GvT9wZAu zh;Fmmlf+-iy1`llALO(4A@FCtbh>ET?mazxtKA#>9J(0wHkQ(`&31OoDfs6ve`3oj z`M77>yx+*|Nk+)a$My%l287YW>n@xw6U!gH6qDPdYsovm!Cz6=bg=8tKe_EDdffU) z{p=6~gDoCqPndc+l6ms4xzL#-PR!8Szs7a&F$D%~eosE$E^GbqtY6Z7oI=909q!xQ z$);(JjZL=+7YWiT<`wVdDu$_tINuEeS6cxB8sztiT*Aqd>Uul7@s=LV3TUS|FW=SH zm-T?x^`F-fYay{VhGdlpQ5yn#mN>HNV zldoKm$)s}*{dJ?ba9t-eK_e24p;dBLW6i(M!}dFPZ*NMTB*fMjc|Gz=?OmgT&+^7J zjK^Z@%&0t9IHG{tPH{lFMA^+L^kBCBISr!?Y$+#zNg#VpUD)erY_6R8=UM&xvGCCS zT@Ew7X2lYyWj<24bXAiSACkSkge)v9ys8wwR~pk}CvGVVtFzrweWWmPk|)~UC|wyp zu=DBmGcWle2Dy+XTRy*@Co|C?WKCu@IMf~5a#cNwtr_#=7_@8EKDcjt(S_sFyx*oJ zXt&|}qs#-|Uovv?+*D~zMlyd<4R8BOjLWm-0ro^|@PDpk>O>+(!3@68ju}VUX1Ad# zBcX9mKDT+#=iwcUZ?i4~H!bu{e*1-j?V&d2I%rqFdfC$pJPwaMY%9sf<*xl>C82N? z#iZ}nmyg}hGsIs6rlY4|ZFbZNCG`I9r;j{bvu*Sq0~NS_HH@4dy-mLI*Hrr$Eqpod z$V5n=M(G!pgrY6oha?%Zl#wjl1-xqMdkYIn&uSO!4P_h%!B6B|odT9NT{qrceuIIg z@MrjEuHQJ-Ws&A+J|EnAn@so<-?O`aEWKV4`qQ;{Zhz~VCc|LZQokKHJyt!|j-0Gc z|6=q;WZEulpYOeY{SroB?s>sHRPw^nh2y5>8{F)bf7RIk{s8#*e#oDlv@^$_0I;tw0gvA&C-^gxeJE^JQLT5MXD2rb(y zj{WJlbP%!$6r^X(QiE<7;T%yc z*8Z0Z<8n2yd5Wno$~||4>WoV39027+MFj|6*Z739TP`IKbn~rdaOfVQjI6Xml-;EO ziqLl2Oa`jRMs~Htx_EXn=p*$A19!~GWyUGjg~8lQ0D_?0dq#~&cI~9T`e_peR#*&e z)~YX0WRMGNvQ=8}zT?Z9cEPjR>!T1wafi8%s_f@gR_@ZeCgi!8Ote(>FfYT3>u=KW;ozphB)A3Ockf+H%K&%og1 z!4y^uzpUZUFdOOeH_HBkqJ_-kyj_^juZ!T#Aiw=&5)W%G@*u*3^k;(Fla%N$pD!nt z7ESzxy=)EcUh3z4!p^xLRo%J$+}sxdj%0Jw`xl&LigC_Xtoz1#{p#S=)PIGrOl++B9t?~%zxFgrSHFwi-cWhXu z2-)T;guXOhF^P}EUwYQGaHVSI1-nl4i8&Nk+=D7pNu8K?tn zD>Am4@nX)Q>hPm1kVt^+1rugN>B4M}-z#|uHx3F9N0ayCIu3{8kYQ`})pO7w5;ZAl zzjuc50^XfX{Y}apU;cLQU(%<*lf|R8Y5B;>Sea#AJp1QBi+qMkDDm1rEm|}^N{F!| zH3~;u>=$ZtV4&0b64S5cHYne=<&0U8t0)2no;B*b)b$D(_hgXY`TqjZrHyNPG|X7} z$nfdzD>)L)+ZY<63j@&j!f{z}N28Abs98L<5}1DtJidO`jY!$$>0)&~LocBOhh&u4 zqtF)cQ~&q+r?Aek^hbTijCu;x0VzkrTP3G=062yESdt9aQp-tGCe7lO9+mqF&D>Y! zA(xyhV$UkR%y@nL%)$5kB+(N_tFMYw+*K!F^4M8}d|#p7@j%X@{*8wo$rpaR?#^GH zmf=rig1C1M+}Jfs8wLe%p3ff+fRH8pV9NBVpy_8ak}Uw@7M6pw+|HA&p@@hU8U>5!Fs}C=fL!HwRw=kpAoNaZfe3d?Sh`j zSQCc539wZI5+{1v?;1^iol;21)z~qNNOO#Cec*Pk*6J4m5_#y-Qfop)Hi_DRfzC+H zo{?f5JtMp)qYXAL<%1++-6x76j_K(iv^I@`OO};9@(_+;ITv+7`oraS$sporY=qzI z|J_(jE_xKuA=BMA&%ec|7s;$ud^4Q>_KB?pMVd7jIt`VlZs#lIcDi=QYPR zLKM9h7#CmjKs!rfNRWVVJTm?{@G#_M=9eNI`ZLhxArs%SUl~FT=BOW6W&}YEINNh57f^HxQWe(jqwA0rNJLR^1}Z2oj;PW-(8rw2--_Ya zWGaLE!}SknC7?@JE9xH1bf~#V_8Kzu>tv0)-(CFZ4aN5!x_XE8Nzbk6{aR1HXrGO* z;*kUG-eQCugM%e+iS43i(WlQjshphqmI2Imdd)6T8#CuHA(fvRqwBJkygcf9J zZ!RyznVXab$~Pxarh&|9p=vR|tqHOx&E)6lBwD~{n5)I{n`D#2mIu-th28kNP8gWA z(!uV|)BxTI>3WTaQo>ZQ22t53 z`d_PE%YG!Ue=&S)di*7??9r1Q0u$=uy ze2xls1D{vd6Q=H(3EG75s9nfcQAo(USK@PG6JT);{!S05RT9F~q;{h%z>hank{b~B zC_CY2wi23T=b7-nN2a?d#_fZzbCat7hba$%_#3WZW_)ng`L;{Y>ynfT`j!((JoS{I zYZ)#5zL{dY#*|9CgRWpDt{8x}`mIGI=i#g8nRWKFp@*Y=KQzblGZg0S7X&P%8K;aV zov~m@A6N&%6U%QZIUmoc>yg;cutZ5NR#U5qs>lapAkR{7gZ(Io zK+|QlS>Xp_k)2t>JTyXp0@p&X=ZQC-pY8^zyENOZ{6jPZzyHt0_{U5A`KI=SNuSH8 zW+y0t;P*rnHTGW&lUk;QsU3MZ$SeTAwjbO@3eu1cR%e~-0kB|0awyOYgD1aYuU_8j z4hBRN$v7%wcfwRvIQ{?h255SyN9EjrF@v(dciB9Y4G&-Yt%X!`kNU}v`O zqFnsPBr~6ne$wiza*Ob+@s0yyrM=bf>!Mc|(>ETK5TD_$r~D=yf>mWsY=xVIq@hj8 zE;yiEI`kvuiC-7Wr3W_nnMq@#W-X1T+8Ca2r_nm;`F^TwKX7?b9PBpPIeip{@Rv^Tw5d|bP> zrW8W z2_^%){v$>S<{`{Y;%0!%V^M*)6(I#w$ZP6a*@2`4)n^UlZ~ZztbD&w8e0X1pVyyd( zomC8{yG2PxMeiuSR?4XhD9RmKOy1e=2Jwsjy$AG^=qCjiV{n`=!ZFKf5`G>HqT%ZR z*4XyYx3S_Rly?$3BNYH>n7F1P>Dl<*K7!By`5|Ji9lCq6SlZkIDDlC zt$GU(NZ^_@&}?J1qE8LDq5IC~oXs+l#}n8G$Mtp+j}HtFr&IG5__YRv46g4(M~zY z6XtsYT~K#UxGRBvP5|$VruyT=YX~G9U9bK5Il}mNC z4DN5RD^fX+emE0wR3CKw9#9>>d*L_0*nW*P`Q2*`mR7v2*jogv;w*T1yHhbxPXXo9 z`K8WmwQQO9HKieiC)||pMI-m1?cIo88Nh#Y2$$8c0iKE!zG`Wm)Cee2tE2$=NZ!^THr(?+y%_ODSrN|SBF3i#nB9&$ zn@usfKb3Vm&77`6X7g0LWtDKjogTnz zlY*;FujthFhSa#-x4jBtUlxj_;FVhs<3Bxq)ZZ(Ux>(94+3(m)lK0YIyVwqhWekVe zGq&O&kiT32rEJld$@>bQJ)GL~v0*bo;@%Er@3Tzcr{JM=?smriJ%|>%n|l3hc4~2PZ+tX$Xt6h8R6CWr7rxvU5^b`- z>+*slfF4>!c4!=eETr$rC&XNR{zy#j%X|vYl;FtT?}Xg!Rz{{nJT`ZvR0p%zA~P%( zd&_mAr-#)yd^w^xLtoLp{V96>S+1Jt$q&I??KOy^EU<*F8afIc_vP50{YX-H)HL>O zV)WfHj9SS-#_Hr=9^Qk>P>DQbKF1eoXfnqsc(%NPCuo~X@*uM8N~uCjumC|Jjhf5r z&HDOs6;{uuIcA{dU%qJR)wy{yNDwaN;pNZMrTY4MJ$>@kGD?Hn?1QwoO6uctm%UrS z=qt{{%J7pFZ+$Nsqe*a^9ZK;YhT=sG@4sx)@gBT~FieLdKN3(<}jqvtZ=)4{) zoTna**cJ#Xo>uPr0_J41p*67VQE&278s_Gb`IB~%7~8dz74DbC1ysvu*RS2lVSND; zc(c5Pa*;FnC?0cB+u*D$PU^TOx)vzy_^4%W@D&WY6Pw;1=?G5chZC+M3MMN>yDg(= zJ~*p(4)r7oZnJLBtKbWHRsqn-%3Qu6i|j&@l3hH_e2V99yZ3V=e{uG{k)>F{WYoO` z<9~v7?{8^N#^fru>{I%xSdSVx8ejDKP31Fk?C;SC0+)r}e^ zUhUSo@{T#?ro}oy$Sn;YhZ-|9q5VZ4p6AHWyt7s@oDo24)Yoo>QJtvIdn~`DXq{Q8 z)BQ3)7V2Fy--DxE%Vy4ph{j_}7zMiA-5%u(Xjkpw#w9qSF3<*`@AUrw7wG@rxc+Qb5S@amT`398olJvKAHNcI8b<<74vCI-$zTh+6~)`L;pYglo|mH zu(?w9_i4I+ZKL%9B_n;Ub#k?j9s!8wHYINE`=<7N-{fIic%PY7o{07Lvn!~}@m6;} z4u-o}9d_gR^e(rKTOE>S^G*4ZdTG>+BVn7r<`-^))Qs(cn-^PKyM>m~F=Ohb8zzCb z+)9%@h;|$cUY1sOaztQ6#Vnl|OtPHZtgQsowrec-#S|y5WW8@LxmIi?3 z4xwfz<|sX7s%rC_ufvrTjd0jJl4l{Ndd(&pYg0hddrOR)r4t#6bH7z+Fc8{#Z^J1v z8fe|N#|j3JZk5mJ<8Vn-gKEMu>#LL%&yk+^f9IT$0#zsuJs~gpNHDuVfy+Ghy^J>E ztvzK+z{Xs9!z`<0d4Zu%lcH9KF3Dl;z?1^nMlfTECf2?EL<^={bPtK*N)H#*8s38+ z(`;I&(ToU)_}gd3q|laYN%Fz>H7And_fzS& zb=<>y=mdc-Dfmm(b9z3bAWH@hn7T2!rWoh?x;2S1^XAs1`CD#0bFjUgfrN`OxoA(U z2@%-4?2xLpFA%}PIX#Q$G7OZ$I$w5l^`0bA7f(fJ5|X*20lN%;blRK{9C#a>+UJ9RxjSr;>K@XIaI21H54p*L1LWNYez zRVR=xNI+D9De~ckH9^}bP3$e~POzfS#H&<6~D?1qZ)LJ1rTkY0Op*AjP*-P{+7an`21V%Ttkp&h4DNR>fz_8BL zXbSpCJc@(;D0c1~j77uV*ilD{8N+zberg z{mvCVrJ&=Mp8HlXtQF>~uB$rnULE1A+Adu8WCL!(^>e}{j)E)mZZT-})8L)l+Kn7b;gQhpYw-DY7|B+bJg?C6I9iSE-}NPk*1hqoqZ8`B5Mq*} zncMUO7bIU^(ZY0A_hPzZkwyqg;}C3hn1O(>a5zYar%$_+Ocz#t@wICxUgE*k?x!gj zXrB!CsNAL?zWyAyg6$)Oi@XJ@A@?3*jp^+1xfuF12Ve~dE~4$k&_*VOJ1@(xr(6dM zM!U@979;O^<#EB3!fKJz@${22JFjuLFBW@7Y&ZCGtd zN4X#qru?csAO?Et_}*wDmRntKjN0z49JE4k@H9)a;?@#7^6*kjJ^>sGo*&uS*$eA{ z!?DjQYuFr+`jVxaFV?jh)?5w1^@2_A?rh}P-!WA1IR&MoVfaKvrdECYt3L~{BC$!w*HJ8*D|3w#UT!H|`^=GR( z1@~r6Z8x13`Da6fG!!G00Osi1r??InL9KVgNI9V`sni`mSVxY);~IpgVEGNbX@!Kx zd|kU*0e+VmtQN0yVty$vZ+l1?3LnT??DVXmDoemw<^d~Hn(?{{sqzoKid_C#b$NY@ z$}Tb9$Nq1qA#xayR-sPQWqI+S+AOQ_K{Bogm(cX4#_GFYnq&OYcf}rMlMLz9(2Vb{ zR_ocZxzC;YYHkV^y&qY9;{cA1)YDwv@4nD50)Xk)=>0ZXPXni6U zopKJKkkz%x{NIiqd@hfObuPi#=>} z+6lGRtXbq=-B@IQko;8k;Me|Yznfu5Ee6Z827(c=+z!CamjDlss=ThO>#vY7MZJu! zW^Nd{EcYmqX29L<9h!Z5jN0&?!g70VCx&$5znmI?3OW9i;s3nq6p&=2y?WPOG2nb8 z0x?tZO0qdY&t*38$L0c>uqz%nd=fsp*aJROAvql{Crrn&O&!^7Upn7{=EHM2W2Tj8XHeym3wRyga;ugbjxVUURBzYp;{Y@C6zY;fq=8Y57P_Bcr)Xo(`!2v)SRh{QgR?@k zvn=U!(K-rS=Y=*1Ms=o$6%U1{uP)=jqcwg0kIj9eBuoeT(-sw5upe!)c=B0P9M1jL=M)dclTnB9_5ZT{6TgrY`C@o=(ACJt?F10_Eb? zIfO2apAwSBJTZb*)%Sl{65JHOFotBV^*q`goE{*DXBzI|{-psXkaRv?z%2z?Hx8zL zJS#8cCrUkCqF)ou55Kz(CJ(0aD8N}j?q=~Od#(KS=htvm+X>ajc5mx)KS&9793JKJ zyXh24V*SsVYMlwSaO7Jeli9dkAfy8#LK%9rT@;{Aw}(2Kh)wxziqcn}api z)M)!#6h~)+1W1CWBI|QCG6AUDu=%aPg3`SNCaqb`49kbNA;!i$3GV!ehGq39{?)Ix z0)Lc2weZybWp6721}ZEMUA{>cLOe>+7zXzoop%X`BLcQUJ2|1UaEDpWj_6Q&Fzs6? zQ>RRK{f|*(^Sx=w!cFzcB?-R&-1PO&Ds}rMlvkoLfCvz=`KxH$Tw3m7eLlp`ug(9L z<~ez>J{gPVur{j^LG`QJsdqpN;$ZE`R!JVJ-sw)u92X?kL!K-YG}BOC*s3``O(!x^!ft`}G7+!jRMLc36%+C-z-#0