diff --git a/README.md b/README.md index 4ce110c89..47947c963 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ # Braket Tutorials GitHub + Welcome to the primary repository for Amazon Braket tutorials. We provide tutorials on quantum computing, using Amazon Braket. We provide examples for quantum circuits and Analog Hamiltonian Simulation. We cover canonical routines, such as the Quantum Fourier Transform (QFT), as well as hybrid quantum algorithms, such as the Variational Quantum Eigensolver (VQE). The examples in this repository are structured as follows: @@ -14,285 +15,299 @@ The examples in this repository are structured as follows: - [Qiskit with Braket](#qiskit) --- + ## I'm new to quantum - * [**Getting started**](examples/getting_started/0_Getting_started/0_Getting_started.ipynb) +- [**Getting started**](examples/getting_started/0_Getting_started/0_Getting_started.ipynb) - A hello-world tutorial that shows you how to build a simple circuit and run it on a local simulator. + A hello-world tutorial that shows you how to build a simple circuit and run it on a local simulator. - * [**Running quantum circuits on simulators**](examples/getting_started/1_Running_quantum_circuits_on_simulators/1_Running_quantum_circuits_on_simulators.ipynb) +- [**Running quantum circuits on simulators**](examples/getting_started/1_Running_quantum_circuits_on_simulators/1_Running_quantum_circuits_on_simulators.ipynb) - This tutorial prepares a paradigmatic example for a multi-qubit entangled state, the so-called GHZ state (named after the three physicists Greenberger, Horne, and Zeilinger). The GHZ state is extremely non-classical, and therefore very sensitive to decoherence. For this reason, it is often used as a performance benchmark for today's hardware. Moreover, in many quantum information protocols it is used as a resource for quantum error correction, quantum communication, and quantum metrology. + This tutorial prepares a paradigmatic example for a multi-qubit entangled state, the so-called GHZ state (named after the three physicists Greenberger, Horne, and Zeilinger). The GHZ state is extremely non-classical, and therefore very sensitive to decoherence. For this reason, it is often used as a performance benchmark for today's hardware. Moreover, in many quantum information protocols it is used as a resource for quantum error correction, quantum communication, and quantum metrology. - * [**Running quantum circuits on QPU devices**](examples/getting_started/2_Running_quantum_circuits_on_QPU_devices/2_Running_quantum_circuits_on_QPU_devices.ipynb) +- [**Running quantum circuits on QPU devices**](examples/getting_started/2_Running_quantum_circuits_on_QPU_devices/2_Running_quantum_circuits_on_QPU_devices.ipynb) - This tutorial prepares a maximally-entangled Bell state between two qubits, for classical simulators and for QPUs. For classical devices, we can run the circuit on a local simulator or a cloud-based on-demand simulator. For the quantum devices, we run the circuit on the superconducting machine from Rigetti, and on the ion-trap machine provided by IonQ. As shown, one can swap between different devices seamlessly, without any modifications to the circuit definition, by re-defining the device object. We also show how to recover results using the unique Amazon resource identifier (ARN) associated with every quantum task. This tool is useful if you must deal with potential delays, which can occur if your quantum task sits in the queue awaiting execution. + This tutorial prepares a maximally-entangled Bell state between two qubits, for classical simulators and for QPUs. For classical devices, we can run the circuit on a local simulator or a cloud-based on-demand simulator. For the quantum devices, we run the circuit on the superconducting machine from Rigetti, and on the ion-trap machine provided by IonQ. As shown, one can swap between different devices seamlessly, without any modifications to the circuit definition, by re-defining the device object. We also show how to recover results using the unique Amazon resource identifier (ARN) associated with every quantum task. This tool is useful if you must deal with potential delays, which can occur if your quantum task sits in the queue awaiting execution. - * [**Deep Dive into the anatomy of quantum circuits**](examples/getting_started/3_Deep_dive_into_the_anatomy_of_quantum_circuits/3_Deep_dive_into_the_anatomy_of_quantum_circuits.ipynb) +- [**Deep Dive into the anatomy of quantum circuits**](examples/getting_started/3_Deep_dive_into_the_anatomy_of_quantum_circuits/3_Deep_dive_into_the_anatomy_of_quantum_circuits.ipynb) - This tutorial discusses in detail the anatomy of quantum circuits in the Amazon Braket SDK. Specifically, you'll learn how to build (parameterized) circuits and display them graphically, and how to append circuits to each other. We discuss the associated circuit depth and circuit size. Finally we show how to execute the circuit on a device of our choice (defining a quantum task). We then learn how to track, log, recover, or cancel such a _quantum task_ efficiently. + This tutorial discusses in detail the anatomy of quantum circuits in the Amazon Braket SDK. Specifically, you'll learn how to build (parameterized) circuits and display them graphically, and how to append circuits to each other. We discuss the associated circuit depth and circuit size. Finally we show how to execute the circuit on a device of our choice (defining a quantum task). We then learn how to track, log, recover, or cancel such a _quantum task_ efficiently. - * [**Superdense coding**](examples/getting_started/4_Superdense_coding/4_Superdense_coding.ipynb) +- [**Superdense coding**](examples/getting_started/4_Superdense_coding/4_Superdense_coding.ipynb) - This tutorial constructs an implementation of the _superdense coding_ protocol, by means of the Amazon Braket SDK. Superdense coding is a method of transmitting two classical bits by sending only one qubit. Starting with a pair of entanged qubits, the sender (_aka_ Alice) applies a certain quantum gate to their qubit and sends the result to the receiver (_aka_ Bob), who is then able to decode the full two-bit message. + This tutorial constructs an implementation of the _superdense coding_ protocol, by means of the Amazon Braket SDK. Superdense coding is a method of transmitting two classical bits by sending only one qubit. Starting with a pair of entanged qubits, the sender (_aka_ Alice) applies a certain quantum gate to their qubit and sends the result to the receiver (_aka_ Bob), who is then able to decode the full two-bit message. ---- -## Advanced circuits and algorithms +--- - * [**Grover**](examples/advanced_circuits_algorithms/Grover/Grover.ipynb) +## Advanced circuits and algorithms - This tutorial provides a step-by-step walkthrough explaining Grover's quantum algorithm. We show how to build the corresponding quantum circuit with simple modular building blocks, by means of the Amazon Braket SDK. Specifically, we demonstrate how to build custom gates that are not part of the basic gate set provided by the SDK. A custom gate can used as a core quantum gate by registering it as a subroutine. +- [**Grover**](examples/advanced_circuits_algorithms/Grover/Grover.ipynb) - * [**Quantum Amplitude Amplification**](examples/advanced_circuits_algorithms/Quantum_Amplitude_Amplification/Quantum_Amplitude_Amplification.ipynb) + This tutorial provides a step-by-step walkthrough explaining Grover's quantum algorithm. We show how to build the corresponding quantum circuit with simple modular building blocks, by means of the Amazon Braket SDK. Specifically, we demonstrate how to build custom gates that are not part of the basic gate set provided by the SDK. A custom gate can used as a core quantum gate by registering it as a subroutine. - This tutorial provides a detailed discussion and implementation of the Quantum Amplitude Amplification (QAA) algorithm, using the Amazon Braket SDK. QAA is a routine in quantum computing which generalizes the idea behind Grover's famous search algorithm, with applications across many quantum algorithms. In short, QAA uses an iterative approach to systematically increase the probability of finding one or multiple target states in a given search space. In a quantum computer, QAA can be used to obtain a quadratic speedup over several classical algorithms. +- [**Quantum Amplitude Amplification**](examples/advanced_circuits_algorithms/Quantum_Amplitude_Amplification/Quantum_Amplitude_Amplification.ipynb) - * [**Quantum Fourier Transform**](examples/advanced_circuits_algorithms/Quantum_Fourier_Transform/Quantum_Fourier_Transform.ipynb) + This tutorial provides a detailed discussion and implementation of the Quantum Amplitude Amplification (QAA) algorithm, using the Amazon Braket SDK. QAA is a routine in quantum computing which generalizes the idea behind Grover's famous search algorithm, with applications across many quantum algorithms. In short, QAA uses an iterative approach to systematically increase the probability of finding one or multiple target states in a given search space. In a quantum computer, QAA can be used to obtain a quadratic speedup over several classical algorithms. - This tutorial provides a detailed implementation of the Quantum Fourier Transform (QFT) and the inverse QFT, using the Amazon Braket SDK. We provide two different implementations: with and without recursion. The QFT is an important subroutine to many quantum algorithms, most famously Shor's algorithm for factoring, and the quantum phase estimation (QPE) algorithm for estimating the eigenvalues of a unitary operator. The QFT can be performed efficiently on a quantum computer, using only O(n2) single-qubit Hadamard gates and two-qubit controlled phase shift gates, where 𝑛 is the number of qubits. We first review the basics of the quantum Fourier transform, and its relationship to the discrete (classical) Fourier transform. We then implement the QFT in code two ways: recursively and non-recursively. This notebook also showcases the Amazon Braket `circuit.subroutine` functionality, which allows one to define custom methods and add them to the Circuit class. +- [**Quantum Fourier Transform**](examples/advanced_circuits_algorithms/Quantum_Fourier_Transform/Quantum_Fourier_Transform.ipynb) - * [**Quantum Phase Estimation**](examples/advanced_circuits_algorithms/Quantum_Phase_Estimation/Quantum_Phase_Estimation.ipynb) + This tutorial provides a detailed implementation of the Quantum Fourier Transform (QFT) and the inverse QFT, using the Amazon Braket SDK. We provide two different implementations: with and without recursion. The QFT is an important subroutine to many quantum algorithms, most famously Shor's algorithm for factoring, and the quantum phase estimation (QPE) algorithm for estimating the eigenvalues of a unitary operator. The QFT can be performed efficiently on a quantum computer, using only O(n2) single-qubit Hadamard gates and two-qubit controlled phase shift gates, where 𝑛 is the number of qubits. We first review the basics of the quantum Fourier transform, and its relationship to the discrete (classical) Fourier transform. We then implement the QFT in code two ways: recursively and non-recursively. This notebook also showcases the Amazon Braket `circuit.subroutine` functionality, which allows one to define custom methods and add them to the Circuit class. - This tutorial provides a detailed implementation of the Quantum Phase Estimation (QPE) algorithm, through the Amazon Braket SDK. The QPE algorithm is designed to estimate the eigenvalues of a unitary operator 𝑈; it is a very important subroutine to many quantum algorithms, most famously Shor's algorithm for factoring, and the HHL algorithm (named after the physicists Harrow, Hassidim and Lloyd) for solving linear systems of equations on a quantum computer. Moreover, eigenvalue problems can be found across many disciplines and application areas, including (for example) principal component analysis (PCA) as used in machine learning, or in the solution of differential equations as relevant across mathematics, physics, engineering and chemistry. We first review the basics of the QPE algorithm. We then implement the QPE algorithm in code using the Amazon Braket SDK, and we illustrate the application of the algorithm with simple examples. This notebook also showcases the Amazon Braket `circuit.subroutine` functionality, which allows you to use custom-built gates as if they were any other built-in gates. This tutorial is set up to run on the local simulator or the on-demand simulator. Changing between these devices requires changing only one line of code, as demonstrated below in cell. +- [**Quantum Phase Estimation**](examples/advanced_circuits_algorithms/Quantum_Phase_Estimation/Quantum_Phase_Estimation.ipynb) - * [**Randomness Generation**](examples/advanced_circuits_algorithms/Randomness/Randomness_Generation.ipynb) + This tutorial provides a detailed implementation of the Quantum Phase Estimation (QPE) algorithm, through the Amazon Braket SDK. The QPE algorithm is designed to estimate the eigenvalues of a unitary operator 𝑈; it is a very important subroutine to many quantum algorithms, most famously Shor's algorithm for factoring, and the HHL algorithm (named after the physicists Harrow, Hassidim and Lloyd) for solving linear systems of equations on a quantum computer. Moreover, eigenvalue problems can be found across many disciplines and application areas, including (for example) principal component analysis (PCA) as used in machine learning, or in the solution of differential equations as relevant across mathematics, physics, engineering and chemistry. We first review the basics of the QPE algorithm. We then implement the QPE algorithm in code using the Amazon Braket SDK, and we illustrate the application of the algorithm with simple examples. This notebook also showcases the Amazon Braket `circuit.subroutine` functionality, which allows you to use custom-built gates as if they were any other built-in gates. This tutorial is set up to run on the local simulator or the on-demand simulator. Changing between these devices requires changing only one line of code, as demonstrated below in cell. - This tutorial provides a detailed implementation of a Quantum Random Number Generator (QRNG). It shows how to use two separate quantum processor units (QPUs) from different suppliers in Amazon Braket to supply two streams of weakly random bits. We then show how to generate physically secure randomness from these two weak sources by means of classical post-processing based on randomness extractors. +- [**Randomness Generation**](examples/advanced_circuits_algorithms/Randomness/Randomness_Generation.ipynb) - * [**Simon's Algorithm**](examples/advanced_circuits_algorithms/Simons_Algorithm/Simons_Algorithm.ipynb) + This tutorial provides a detailed implementation of a Quantum Random Number Generator (QRNG). It shows how to use two separate quantum processor units (QPUs) from different suppliers in Amazon Braket to supply two streams of weakly random bits. We then show how to generate physically secure randomness from these two weak sources by means of classical post-processing based on randomness extractors. - This tutorial provides a detailed implementation of Simon’s algorithm, which shows the first example of an exponential speedup over the best known classical algorithm by using a quantum computer to solve a particular problem. Originally published in 1994, Simon’s algorithm was a precursor to Shor’s well-known factoring algorithm, and it served as inspiration for many of the seminal works in quantum computation that followed. +- [**Simon's Algorithm**](examples/advanced_circuits_algorithms/Simons_Algorithm/Simons_Algorithm.ipynb) + This tutorial provides a detailed implementation of Simon’s algorithm, which shows the first example of an exponential speedup over the best known classical algorithm by using a quantum computer to solve a particular problem. Originally published in 1994, Simon’s algorithm was a precursor to Shor’s well-known factoring algorithm, and it served as inspiration for many of the seminal works in quantum computation that followed. --- -## Hybrid quantum algorithms - * [**QAOA**](examples/hybrid_quantum_algorithms/QAOA/QAOA_braket.ipynb) +## Hybrid quantum algorithms + +- [**QAOA**](examples/hybrid_quantum_algorithms/QAOA/QAOA_braket.ipynb) - This tutorial shows how to (approximately) solve binary combinatorial optimization problems, using the Quantum Approximate Optimization Algorithm (QAOA). The QAOA algorithm belongs to the class of _hybrid quantum algorithms_ (leveraging classical and quantum computers), which are widely believed to be the working horse for the current NISQ (noisy intermediate-scale quantum) era. In this NISQ era, QAOA is also an emerging approach for benchmarking quantum devices. It is a prime candidate for demonstrating a practical quantum speed-up on near-term NISQ device. To validate our approach, we benchmark our results with exact results as obtained from classical QUBO solvers. + This tutorial shows how to (approximately) solve binary combinatorial optimization problems, using the Quantum Approximate Optimization Algorithm (QAOA). The QAOA algorithm belongs to the class of _hybrid quantum algorithms_ (leveraging classical and quantum computers), which are widely believed to be the working horse for the current NISQ (noisy intermediate-scale quantum) era. In this NISQ era, QAOA is also an emerging approach for benchmarking quantum devices. It is a prime candidate for demonstrating a practical quantum speed-up on near-term NISQ device. To validate our approach, we benchmark our results with exact results as obtained from classical QUBO solvers. - * [**VQE Chemistry**](examples/hybrid_quantum_algorithms/VQE_Chemistry/VQE_chemistry_braket.ipynb) +- [**VQE Chemistry**](examples/hybrid_quantum_algorithms/VQE_Chemistry/VQE_chemistry_braket.ipynb) - This tutorial shows how to implement the Variational Quantum Eigensolver (VQE) algorithm in Amazon Braket SDK to compute the potential energy surface (PES) for the Hydrogen molecule. + This tutorial shows how to implement the Variational Quantum Eigensolver (VQE) algorithm in Amazon Braket SDK to compute the potential energy surface (PES) for the Hydrogen molecule. - * [**VQE Transverse Ising**](examples/hybrid_quantum_algorithms/VQE_Transverse_Ising/VQE_Transverse_Ising_Model.ipynb) +- [**VQE Transverse Ising**](examples/hybrid_quantum_algorithms/VQE_Transverse_Ising/VQE_Transverse_Ising_Model.ipynb) - This tutorial shows how to solve for the ground state of the Transverse Ising Model, which is arguably one of the most prominent, canonical quantum spin systems, using the variational quantum eigenvalue solver (VQE). The VQE algorithm belongs to the class of _hybrid quantum algorithms_ (leveraging classical andquantum computers), which are widely believed to be the working horse for the current NISQ (noisy intermediate-scale quantum) era. To validate our approach, we benchmark our results with exact results as obtained from a Jordan-Wigner transformation. + This tutorial shows how to solve for the ground state of the Transverse Ising Model, which is arguably one of the most prominent, canonical quantum spin systems, using the variational quantum eigenvalue solver (VQE). The VQE algorithm belongs to the class of _hybrid quantum algorithms_ (leveraging classical andquantum computers), which are widely believed to be the working horse for the current NISQ (noisy intermediate-scale quantum) era. To validate our approach, we benchmark our results with exact results as obtained from a Jordan-Wigner transformation. --- + ## Quantum machine learning and optimization with PennyLane - * [**Combining PennyLane with Amazon Braket**](examples/pennylane/0_Getting_started/0_Getting_started.ipynb) - This tutorial shows you how to construct circuits and evaluate their gradients in PennyLane with execution performed using Amazon Braket. +- [**Combining PennyLane with Amazon Braket**](examples/pennylane/0_Getting_started/0_Getting_started.ipynb) - * [**Computing gradients in parallel with PennyLane-Braket**](examples/pennylane/1_Parallelized_optimization_of_quantum_circuits/1_Parallelized_optimization_of_quantum_circuits.ipynb) + This tutorial shows you how to construct circuits and evaluate their gradients in PennyLane with execution performed using Amazon Braket. - In this tutorial, we explore how to speed up training of quantum circuits by using parallel execution on Amazon Braket. We begin by discussing why quantum circuit training involving gradients requires multiple device executions and motivate how the Braket SV1 simulator can be used to overcome this. The tutorial benchmarks SV1 against a local simulator, showing that SV1 outperforms the local simulator for both executions and gradient calculations. This illustrates how parallel capabilities can be combined between PennyLane and SV1. +- [**Computing gradients in parallel with PennyLane-Braket**](examples/pennylane/1_Parallelized_optimization_of_quantum_circuits/1_Parallelized_optimization_of_quantum_circuits.ipynb) - * [**Graph optimization with QAOA**](examples/pennylane/2_Graph_optimization_with_QAOA/2_Graph_optimization_with_QAOA.ipynb) + In this tutorial, we explore how to speed up training of quantum circuits by using parallel execution on Amazon Braket. We begin by discussing why quantum circuit training involving gradients requires multiple device executions and motivate how the Braket SV1 simulator can be used to overcome this. The tutorial benchmarks SV1 against a local simulator, showing that SV1 outperforms the local simulator for both executions and gradient calculations. This illustrates how parallel capabilities can be combined between PennyLane and SV1. - In this tutorial we dig deeper into how quantum circuit training can be applied to a problem of practical relevance in graph optimization. We show how easy it is to train a QAOA circuit in PennyLane to solve the maximum clique problem on a simple example graph. The tutorial then extends to a more difficult 20-node graph and uses the parallel capabilities of the Amazon Braket SV1 simulator to speed up gradient calculations and hence train the quantum circuit faster, using around 1-2 minutes per iteration. +- [**Graph optimization with QAOA**](examples/pennylane/2_Graph_optimization_with_QAOA/2_Graph_optimization_with_QAOA.ipynb) - * [**Hydrogen geometry with VQE**](examples/pennylane/3_Hydrogen_Molecule_geometry_with_VQE/3_Hydrogen_Molecule_geometry_with_VQE.ipynb) + In this tutorial we dig deeper into how quantum circuit training can be applied to a problem of practical relevance in graph optimization. We show how easy it is to train a QAOA circuit in PennyLane to solve the maximum clique problem on a simple example graph. The tutorial then extends to a more difficult 20-node graph and uses the parallel capabilities of the Amazon Braket SV1 simulator to speed up gradient calculations and hence train the quantum circuit faster, using around 1-2 minutes per iteration. - In this tutorial, we see how PennyLane and Amazon Braket can be combined to solve an important problem in quantum chemistry. The ground state energy of molecular hydrogen is calculated by optimizing a VQE circuit using the local Braket simulator. This tutorial highlights how qubit-wise commuting observables can be measured together in PennyLane and Braket, making optimization more efficient. +- [**Hydrogen geometry with VQE**](examples/pennylane/3_Hydrogen_Molecule_geometry_with_VQE/3_Hydrogen_Molecule_geometry_with_VQE.ipynb) - * [**Simulation of Noisy Circuits with PennyLane-Braket**](examples/pennylane/4_Simulation_of_noisy_quantum_circuits_on_Amazon_Braket_with_PennyLane/4_Simulation_of_noisy_quantum_circuits_on_Amazon_Braket_with_PennyLane.ipynb) + In this tutorial, we see how PennyLane and Amazon Braket can be combined to solve an important problem in quantum chemistry. The ground state energy of molecular hydrogen is calculated by optimizing a VQE circuit using the local Braket simulator. This tutorial highlights how qubit-wise commuting observables can be measured together in PennyLane and Braket, making optimization more efficient. - In this tutorial, we explore the impact of noise on quantum hybrid algorithms and overview of noise simulation on Amazon Braket with PennyLane. The tutorial shows how to use PennyLane to simulate the noisy circuits, on either the local or Braket on-demand noise simulator, and covers the basic concepts of noise channels, using PennyLane to compute cost functions of noisy circuits and optimize them. +- [**Simulation of Noisy Circuits with PennyLane-Braket**](examples/pennylane/4_Simulation_of_noisy_quantum_circuits_on_Amazon_Braket_with_PennyLane/4_Simulation_of_noisy_quantum_circuits_on_Amazon_Braket_with_PennyLane.ipynb) - * [**Tracking Resource Usage**](examples/pennylane/5_Tracking_resource_usage/5_Tracking_resource_usage.ipynb) + In this tutorial, we explore the impact of noise on quantum hybrid algorithms and overview of noise simulation on Amazon Braket with PennyLane. The tutorial shows how to use PennyLane to simulate the noisy circuits, on either the local or Braket on-demand noise simulator, and covers the basic concepts of noise channels, using PennyLane to compute cost functions of noisy circuits and optimize them. - In this tutorial, we see how to use the PennyLane device tracker feature with Amazon Braket. The PennyLane device resource tracker keeps a record of the usage of a device, such as numbers of circuit evaluations and shots. Amazon Braket extends this information with quantum task IDs and simulator duration to allow further tracking. The device tracker can be combined with additional logic to monitor and limit resource usage on devices. +- [**Tracking Resource Usage**](examples/pennylane/5_Tracking_resource_usage/5_Tracking_resource_usage.ipynb) - * [**Adjoint Gradient Computation**](examples/pennylane/6_Adjoint_gradient_computation/6_Adjoint_gradient_computation.ipynb) + In this tutorial, we see how to use the PennyLane device tracker feature with Amazon Braket. The PennyLane device resource tracker keeps a record of the usage of a device, such as numbers of circuit evaluations and shots. Amazon Braket extends this information with quantum task IDs and simulator duration to allow further tracking. The device tracker can be combined with additional logic to monitor and limit resource usage on devices. - In this tutorial, we will show you how to compute gradients of free parameters in a quantum circuit using PennyLane and Amazon Braket. Adjoint differentiation is a technique used to compute gradients of parametrized quantum circuits. It can be used when shots=0 and is available on Amazon Braket’s on-demand state vector simulator, SV1. The adjoint differentiation method allows you to compute the gradient of a circuit with P parameters in only 1+1 circuit executions (one forward and one backward pass, similar to backpropagation), as opposed to the parameter-shift or finite-difference methods, both of which require 2P circuit executions for every gradient calculation. The adjoint method can lower the cost of running variational quantum workflows, especially for circuits with a large number of parameters. +- [**Adjoint Gradient Computation**](examples/pennylane/6_Adjoint_gradient_computation/6_Adjoint_gradient_computation.ipynb) + + In this tutorial, we will show you how to compute gradients of free parameters in a quantum circuit using PennyLane and Amazon Braket. Adjoint differentiation is a technique used to compute gradients of parametrized quantum circuits. It can be used when shots=0 and is available on Amazon Braket’s on-demand state vector simulator, SV1. The adjoint differentiation method allows you to compute the gradient of a circuit with P parameters in only 1+1 circuit executions (one forward and one backward pass, similar to backpropagation), as opposed to the parameter-shift or finite-difference methods, both of which require 2P circuit executions for every gradient calculation. The adjoint method can lower the cost of running variational quantum workflows, especially for circuits with a large number of parameters. --- + ## Amazon Braket features + This folder contains examples that illustrate the usage of individual features of Amazon Braket -* [**Getting notifications when a quantum task completes**](examples/braket_features/Getting_notifications_when_a_quantum_task_completes/Getting_notifications_when_a_quantum_task_completes.ipynb) +- [**Getting notifications when a quantum task completes**](examples/braket_features/Getting_notifications_when_a_quantum_task_completes/Getting_notifications_when_a_quantum_task_completes.ipynb) - This tutorial illustrates how Amazon Braket integrates with Amazon EventBridge for event-based processing. In the tutorial, you will learn how to configure Amazon Braket and Amazon Eventbridge to receive text notification about quantum task completions on your phone. Of course, EventBridge also allows you to build full, event-driven applications based on events emitted by Amazon Braket. + This tutorial illustrates how Amazon Braket integrates with Amazon EventBridge for event-based processing. In the tutorial, you will learn how to configure Amazon Braket and Amazon Eventbridge to receive text notification about quantum task completions on your phone. Of course, EventBridge also allows you to build full, event-driven applications based on events emitted by Amazon Braket. -* [**Noise Models on Amazon Braket**](examples/braket_features/Noise_models/Noise_models_on_Amazon_Braket.ipynb) +- [**Noise Models on Amazon Braket**](examples/braket_features/Noise_models/Noise_models_on_Amazon_Braket.ipynb) - This tutorial shows how to create noise models containing different types of noise and instructions for how to apply the noise to a circuit. A noise model encapsulates the assumptions on quantum noise channels and how they act on a given circuit. Simulating this noisy circuit gives information about much the noise impacts the results of the quantum computation. By incrementally adjusting the noise model, the impact of noise can be understood on a variety of quantum algorithms. + This tutorial shows how to create noise models containing different types of noise and instructions for how to apply the noise to a circuit. A noise model encapsulates the assumptions on quantum noise channels and how they act on a given circuit. Simulating this noisy circuit gives information about much the noise impacts the results of the quantum computation. By incrementally adjusting the noise model, the impact of noise can be understood on a variety of quantum algorithms. -* [**Noise Models on Rigetti's Aspen device**](examples/braket_features/Noise_models/Noise_models_on_Rigetti.ipynb) +- [**Noise Models on Rigetti's device**](examples/braket_features/Noise_models/Noise_models_on_Rigetti.ipynb) - This tutorial builds on the previous noise model tutorial to show how to construct a noise model from device calibration data for a Rigetti quantum processing unit (QPU). We compare the measurement outcomes of circuits run on a noisy simulator with the same circuits run on a QPU, to show that simulating circuits with noise models more closely mimics the QPU. + This tutorial builds on the previous noise model tutorial to show how to construct a noise model from device calibration data for a Rigetti quantum processing unit (QPU). We compare the measurement outcomes of circuits run on a noisy simulator with the same circuits run on a QPU, to show that simulating circuits with noise models more closely mimics the QPU. -* [**Allocating Qubits on QPU Devices**](examples/braket_features/Allocating_Qubits_on_QPU_Devices.ipynb) +- [**Allocating Qubits on QPU Devices**](examples/braket_features/Allocating_Qubits_on_QPU_Devices.ipynb) - This tutorial explains how you can use the Amazon Braket SDK to allocate the qubit selection for your circuits manually, when running on QPUs. + This tutorial explains how you can use the Amazon Braket SDK to allocate the qubit selection for your circuits manually, when running on QPUs. -* [**Error Mitigation**](examples/braket_features/Error_Mitigation_on_Amazon_Braket.ipynb) +- [**Error Mitigation**](examples/braket_features/Error_Mitigation_on_Amazon_Braket.ipynb) - This tutorial explains how to get started with using error mitigation on IonQ’s Aria QPU. You’ll learn how Aria’s two built-in error mitigation techniques work, how to switch between them, and the performance difference you can expect to see with and without these techniques for some problems. - -* [**Getting Devices and Checking Device Properties**](examples/braket_features/Getting_Devices_and_Checking_Device_Properties.ipynb) + This tutorial explains how to get started with using error mitigation on IonQ’s Aria QPU. You’ll learn how Aria’s two built-in error mitigation techniques work, how to switch between them, and the performance difference you can expect to see with and without these techniques for some problems. - This example shows how to interact with the Amazon Braket GetDevice API to retrieve Amazon Braket devices (such as simulators and QPUs) programmatically, and how to gain access to their properties. +- [**Getting Devices and Checking Device Properties**](examples/braket_features/Getting_Devices_and_Checking_Device_Properties.ipynb) -* [**Getting Started with OpenQASM on Braket**](examples/braket_features/Getting_Started_with_OpenQASM_on_Braket.ipynb) + This example shows how to interact with the Amazon Braket GetDevice API to retrieve Amazon Braket devices (such as simulators and QPUs) programmatically, and how to gain access to their properties. - This tutorial demonstrates how to submit OpenQASM quantum tasks to various devices on Braket and introduce some OpenQASM features available on Braket. OpenQASM is a popular, open source, human-readable and hardware-agnostic quantum circuit description language. +- [**Getting Started with OpenQASM on Braket**](examples/braket_features/Getting_Started_with_OpenQASM_on_Braket.ipynb) -* [**IonQ Native Gates**](examples/braket_features/IonQ_Native_Gates.ipynb) + This tutorial demonstrates how to submit OpenQASM quantum tasks to various devices on Braket and introduce some OpenQASM features available on Braket. OpenQASM is a popular, open source, human-readable and hardware-agnostic quantum circuit description language. - This tutorial goes into details of IonQ’s native gates and their functionalities, enabling us to realize direct control over the quantum operations on the computer without compiler optimizations or error mitigation. It will discuss the native gates available on IonQ, their mathematical representations, and how they can be used for applications such as the quantum Fourier transform (QFT). +- [**IonQ Native Gates**](examples/braket_features/IonQ_Native_Gates.ipynb) -* [**Advanced OpenQASM programs using the Local Simulator**](examples/braket_features/Simulating_Advanced_OpenQASM_Programs_with_the_Local_Simulator.ipynb) + This tutorial goes into details of IonQ’s native gates and their functionalities, enabling us to realize direct control over the quantum operations on the computer without compiler optimizations or error mitigation. It will discuss the native gates available on IonQ, their mathematical representations, and how they can be used for applications such as the quantum Fourier transform (QFT). - This notebook serves as a reference of OpenQASM features supported by Braket with the LocalSimulator. +- [**Advanced OpenQASM programs using the Local Simulator**](examples/braket_features/Simulating_Advanced_OpenQASM_Programs_with_the_Local_Simulator.ipynb) -* [**Using the tensor network simulator TN1**](examples/braket_features/Using_the_tensor_network_simulator_TN1.ipynb) + This notebook serves as a reference of OpenQASM features supported by Braket with the LocalSimulator. - This notebook introduces the Amazon Braket on-demand tensor network simulator, TN1. You will learn about how TN1 works, how to use it, and which problems are best suited to run on TN1. +- [**Using the tensor network simulator TN1**](examples/braket_features/Using_the_tensor_network_simulator_TN1.ipynb) -* [**Simulating noise on Amazon Braket**](examples/braket_features/Simulating_Noise_On_Amazon_Braket.ipynb) + This notebook introduces the Amazon Braket on-demand tensor network simulator, TN1. You will learn about how TN1 works, how to use it, and which problems are best suited to run on TN1. - This notebook provides a detailed overview of noise simulation on Amazon Braket. You will learn how to define noise channels, apply noise to new or existing circuits, and run those circuits on the Amazon Braket noise simulators. +- [**Simulating noise on Amazon Braket**](examples/braket_features/Simulating_Noise_On_Amazon_Braket.ipynb) -* [**TN1 and Hayden-Preskill circuits**](examples/braket_features/TN1_demo_local_vs_non-local_random_circuits.ipynb) + This notebook provides a detailed overview of noise simulation on Amazon Braket. You will learn how to define noise channels, apply noise to new or existing circuits, and run those circuits on the Amazon Braket noise simulators. - This tutorial dives into showing the degree to which the tensor network simulator is capable of detecting a hidden local structure in a quantum circuit by working with Hayden-Preskill circuits, which are a class of unstructured, random quantum circuits. +- [**TN1 and Hayden-Preskill circuits**](examples/braket_features/TN1_demo_local_vs_non-local_random_circuits.ipynb) -* [**Adjoint Gradient Result Type**](examples/braket_features/Using_The_Adjoint_Gradient_Result_Type.ipynb) + This tutorial dives into showing the degree to which the tensor network simulator is capable of detecting a hidden local structure in a quantum circuit by working with Hayden-Preskill circuits, which are a class of unstructured, random quantum circuits. - This tutorial introduces the AdjointGradient result type, discusses what a gradient is and how to compute one on a quantum circuit, explains how they can be used to accelerate your workflows, and shows an example of gradients in action on a hybrid quantum algorithm. +- [**Adjoint Gradient Result Type**](examples/braket_features/Using_The_Adjoint_Gradient_Result_Type.ipynb) -* [**Verbatim Compilation**](examples/braket_features/Verbatim_Compilation.ipynb) + This tutorial introduces the AdjointGradient result type, discusses what a gradient is and how to compute one on a quantum circuit, explains how they can be used to accelerate your workflows, and shows an example of gradients in action on a hybrid quantum algorithm. - This tutorial explains how to use _verbatim compilation_ to run your circuits exactly as defined without any modification during the compilation process that's usually done behind-the-scenes when you run your circuits. +- [**Verbatim Compilation**](examples/braket_features/Verbatim_Compilation.ipynb) -* [**IQM Garnet Native Gates**](examples/braket_features/IQM_Garnet_Native_Gates.ipynb) + This tutorial explains how to use _verbatim compilation_ to run your circuits exactly as defined without any modification during the compilation process that's usually done behind-the-scenes when you run your circuits. - This tutorial explores the functionality of the native gates of IQM Garnet. +- [**IQM Garnet Native Gates**](examples/braket_features/IQM_Garnet_Native_Gates.ipynb) -* [**Using the experimental local simulator**](examples/braket_features/Using_the_experimental_local_simulator.ipynb) + This tutorial explores the functionality of the native gates of IQM Garnet. - This tutorial serves as an introduction to the experimental v2 local simulator for Amazon Braket. This tutorial explains how to use the v2 local simulator and the performance difference you can expect to see. +- [**Using the experimental local simulator**](examples/braket_features/Using_the_experimental_local_simulator.ipynb) + + This tutorial serves as an introduction to the experimental v2 local simulator for Amazon Braket. This tutorial explains how to use the v2 local simulator and the performance difference you can expect to see. --- + ## Amazon Braket Hybrid Jobs + This folder contains examples that illustrate the use of Amazon Braket Hybrid Jobs (Braket Jobs for short). -* [**Getting started with Amazon Braket Hybrid Jobs**](examples/hybrid_jobs/0_Creating_your_first_Hybrid_Job/0_Creating_your_first_Hybrid_Job.ipynb) +- [**Getting started with Amazon Braket Hybrid Jobs**](examples/hybrid_jobs/0_Creating_your_first_Hybrid_Job/0_Creating_your_first_Hybrid_Job.ipynb) - This notebook provides a demonstration of running a simple Braket Hybrid Job. You will learn how to create a Braket Hybrid Job using the Braket SDK or the Braket console, how to set the output S3 folder for a hybrid job, and how to retrieve results. You will also learn how to specify the Braket device to run your hybrid job on simulators or QPUs. Finally, you will learn how to use local mode to quickly debug your code. + This notebook provides a demonstration of running a simple Braket Hybrid Job. You will learn how to create a Braket Hybrid Job using the Braket SDK or the Braket console, how to set the output S3 folder for a hybrid job, and how to retrieve results. You will also learn how to specify the Braket device to run your hybrid job on simulators or QPUs. Finally, you will learn how to use local mode to quickly debug your code. -* [**Quantum machine learning in Amazon Braket Hybrid Jobs**](examples/hybrid_jobs/1_Quantum_machine_learning_in_Amazon_Braket_Hybrid_Jobs/Quantum_machine_learning_in_Amazon_Braket_Hybrid_Jobs.ipynb) +- [**Quantum machine learning in Amazon Braket Hybrid Jobs**](examples/hybrid_jobs/1_Quantum_machine_learning_in_Amazon_Braket_Hybrid_Jobs/Quantum_machine_learning_in_Amazon_Braket_Hybrid_Jobs.ipynb) - This notebook shows a typical quantum machine learning workflow using Braket Hybrid Jobs. In the process, you will learn how to upload input data, how to set up hyperparameters for your hybrid job, and how to retrieve and plot metrics. Finally, you will see how to run multiple Braket Hybrid Jobs in parallel with different sets of hyperparameters. + This notebook shows a typical quantum machine learning workflow using Braket Hybrid Jobs. In the process, you will learn how to upload input data, how to set up hyperparameters for your hybrid job, and how to retrieve and plot metrics. Finally, you will see how to run multiple Braket Hybrid Jobs in parallel with different sets of hyperparameters. -* [**QAOA with Amazon Braket Hybrid Jobs and PennyLane**](examples/hybrid_jobs/2_Using_PennyLane_with_Braket_Hybrid_Jobs/Using_PennyLane_with_Braket_Hybrid_Jobs.ipynb) +- [**QAOA with Amazon Braket Hybrid Jobs and PennyLane**](examples/hybrid_jobs/2_Using_PennyLane_with_Braket_Hybrid_Jobs/Using_PennyLane_with_Braket_Hybrid_Jobs.ipynb) - This notebook shows how to run the QAOA algorithm with PennyLane (similar to a [previous notebook](examples/pennylane/2_Graph_optimization_with_QAOA/2_Graph_optimization_with_QAOA.ipynb)), but this time using Braket Hybrid Jobs. In the process, you will learn how to select a container image that supports PennyLane, and how to use checkpoints to save and load training progress of a hybrid job. + This notebook shows how to run the QAOA algorithm with PennyLane (similar to a [previous notebook](examples/pennylane/2_Graph_optimization_with_QAOA/2_Graph_optimization_with_QAOA.ipynb)), but this time using Braket Hybrid Jobs. In the process, you will learn how to select a container image that supports PennyLane, and how to use checkpoints to save and load training progress of a hybrid job. -* [**Bring your own containers to Braket Hybrid Jobs**](examples/hybrid_jobs/3_Bring_your_own_container/bring_your_own_container.ipynb) +- [**Bring your own containers to Braket Hybrid Jobs**](examples/hybrid_jobs/3_Bring_your_own_container/bring_your_own_container.ipynb) - This notebook demonstrates the use of the Bring-Your-Own-Container (BYOC) functionality of Braket Hybrid Jobs. While Amazon Braket has pre-configured environments which support most use cases of Braket Hybrid Jobs, BYOC enables you to define fully customizable environments using Docker containers. You will learn how to use BYOC, including preparing a Dockerfile, creating a private Amazon Elastic Container Registry (ECR), building the container, and submitting a Braket Hybrid Job using the custom container. + This notebook demonstrates the use of the Bring-Your-Own-Container (BYOC) functionality of Braket Hybrid Jobs. While Amazon Braket has pre-configured environments which support most use cases of Braket Hybrid Jobs, BYOC enables you to define fully customizable environments using Docker containers. You will learn how to use BYOC, including preparing a Dockerfile, creating a private Amazon Elastic Container Registry (ECR), building the container, and submitting a Braket Hybrid Job using the custom container. -* [**Embedded simulators in Braket Hybrid Jobs**](examples/hybrid_jobs/4_Embedded_simulators_in_Braket_Hybrid_Jobs/Embedded_simulators_in_Braket_Hybrid_Jobs.ipynb) +- [**Embedded simulators in Braket Hybrid Jobs**](examples/hybrid_jobs/4_Embedded_simulators_in_Braket_Hybrid_Jobs/Embedded_simulators_in_Braket_Hybrid_Jobs.ipynb) - This notebook shows how to use embedded simulators in Braket Hybrid Jobs. An embedded simulator is a local simulator that runs completely within a hybrid job instance, i.e., the compute resource that is running your algorithm script. In contrast, on-demand simulators, such as SV1, DM1, or TN1, calculate the results of a quantum circuit on dedicated compute infrastructure on-demand by Amazon Braket. Hybrid workloads usually consist of iterations of quantum circuit executions and variational parameter optimizations. By using embedded simulators, we keep all computations in the same environment. This allows the optimization algorithm to access advanced features supported by the embedded simulator. + This notebook shows how to use embedded simulators in Braket Hybrid Jobs. An embedded simulator is a local simulator that runs completely within a hybrid job instance, i.e., the compute resource that is running your algorithm script. In contrast, on-demand simulators, such as SV1, DM1, or TN1, calculate the results of a quantum circuit on dedicated compute infrastructure on-demand by Amazon Braket. Hybrid workloads usually consist of iterations of quantum circuit executions and variational parameter optimizations. By using embedded simulators, we keep all computations in the same environment. This allows the optimization algorithm to access advanced features supported by the embedded simulator. -* [**Parallelize training for Quantum Machine Learning**](examples/hybrid_jobs/5_Parallelize_training_for_QML/Parallelize_training_for_QML.ipynb) +- [**Parallelize training for Quantum Machine Learning**](examples/hybrid_jobs/5_Parallelize_training_for_QML/Parallelize_training_for_QML.ipynb) - This notebook introduces using data parallelism for Quantum Machine Learning (QML) workloads. + This notebook introduces using data parallelism for Quantum Machine Learning (QML) workloads. -* [**QN-SPSA optimizer using an Embedded Simulator**](examples/hybrid_jobs/6_QNSPSA_optimizer_with_embedded_simulator/qnspsa_with_embedded_simulator.ipynb) +- [**QN-SPSA optimizer using an Embedded Simulator**](examples/hybrid_jobs/6_QNSPSA_optimizer_with_embedded_simulator/qnspsa_with_embedded_simulator.ipynb) - This notebook demonstrates how to implement and benchmark the QN-SPSA optimizer, a novel quantum optimization algorithm. + This notebook demonstrates how to implement and benchmark the QN-SPSA optimizer, a novel quantum optimization algorithm. -* [**Running Jupyter notebooks as a Hybrid Job**](examples/hybrid_jobs/7_Running_notebooks_as_hybrid_jobs/Running_notebooks_as_hybrid_jobs.ipynb) +- [**Running Jupyter notebooks as a Hybrid Job**](examples/hybrid_jobs/7_Running_notebooks_as_hybrid_jobs/Running_notebooks_as_hybrid_jobs.ipynb) - This tutorial is a step-by-step guide for running a Jupyter notebook as a Hybrid Job. + This tutorial is a step-by-step guide for running a Jupyter notebook as a Hybrid Job. -* [**Creating Hybrid Job Scripts**](examples/hybrid_jobs/8_Creating_Hybrid_Job_Scripts/Creating_your_first_Hybrid_Job.ipynb) +- [**Creating Hybrid Job Scripts**](examples/hybrid_jobs/8_Creating_Hybrid_Job_Scripts/Creating_your_first_Hybrid_Job.ipynb) - This notebook shows an alternate way to create a Hybrid Job without using a @hybrid_job decorator. The demonstrated method may be useful in some circumstances, such as using older versions of Python. + This notebook shows an alternate way to create a Hybrid Job without using a @hybrid_job decorator. The demonstrated method may be useful in some circumstances, such as using older versions of Python. --- + ## Pulse Control -* [**Bringup Experiments**](examples/pulse_control/1_Bringup_experiments.ipynb) +- [**Bringup Experiments**](examples/pulse_control/1_Bringup_experiments.ipynb) - This tutorial introduces common pulse sequences and calibrating pulses via Rabi spectroscopy. + This tutorial introduces common pulse sequences and calibrating pulses via Rabi spectroscopy. -* [**Native Gate Calibrations**](examples/pulse_control/2_Native_gate_calibrations.ipynb) +- [**Native Gate Calibrations**](examples/pulse_control/2_Native_gate_calibrations.ipynb) - This tutorial shows how to retrieve the calibrations of native gates for Rigetti's Ankaa devices and submit a circuit with custom gate calibrations. + This tutorial shows how to retrieve the calibrations of native gates for Rigetti's Ankaa devices and submit a circuit with custom gate calibrations. -* [**Bell pair with pulses (Rigetti)**](examples/pulse_control/3_Bell_pair_with_pulses_Rigetti.ipynb) +- [**Bell pair with pulses (Rigetti)**](examples/pulse_control/3_Bell_pair_with_pulses_Rigetti.ipynb) - This tutorial shows creating a Bell state with cross-resonance pulses on Rigetti's Ankaa device. + This tutorial shows creating a Bell state with cross-resonance pulses on Rigetti's Ankaa device. -* [**Build single qubit gates**](examples/pulse_control/4_Build_single_qubit_gates.ipynb) +- [**Build single qubit gates**](examples/pulse_control/4_Build_single_qubit_gates.ipynb) - This tutorial describes a method to create any single-qubit gate with pulses. + This tutorial describes a method to create any single-qubit gate with pulses. --- + ## Analog Hamiltonian Simulation -* [**Intruction to Analog Hamiltonian Simulation**](examples/analog_hamiltonian_simulation/00_Introduction_of_Analog_Hamiltonian_Simulation_with_Rydberg_Atoms.ipynb) +- [**Introduction to Analog Hamiltonian Simulation**](examples/analog_hamiltonian_simulation/00_Introduction_of_Analog_Hamiltonian_Simulation_with_Rydberg_Atoms.ipynb) - This tutorial provides an introduction to Analog Hamiltonian Simulation (AHS), a quantum computing paradigm different from gate-based computing. AHS uses a well-controlled quantum system and tunes its parameters to mimic the dynamics of another quantum system, the one we aim to study. + This tutorial provides an introduction to Analog Hamiltonian Simulation (AHS), a quantum computing paradigm different from gate-based computing. AHS uses a well-controlled quantum system and tunes its parameters to mimic the dynamics of another quantum system, the one we aim to study. -* [**Intruction to Aquila**](examples/analog_hamiltonian_simulation/01_Introduction_to_Aquila.ipynb) +- [**Introduction to Aquila**](examples/analog_hamiltonian_simulation/01_Introduction_to_Aquila.ipynb) - This tutorial illustrates how to run an AHS program on QuEra’s Aquila, a Rydberg based QPU, via Amazon Braket. + This tutorial illustrates how to run an AHS program on QuEra’s Aquila, a Rydberg based QPU, via Amazon Braket. -* [**Ordered Phases in Rydberg Systems**](examples/analog_hamiltonian_simulation/02_Ordered_phases_in_Rydberg_systems.ipynb) +- [**Ordered Phases in Rydberg Systems**](examples/analog_hamiltonian_simulation/02_Ordered_phases_in_Rydberg_systems.ipynb) - This tutorial shows how to prepare ordered phases in Rydberg systems, focusing on the 1D phase and the 2D checkerboard phase. It uses an adiabatic time-evolution to prepare these many-body ground states. + This tutorial shows how to prepare ordered phases in Rydberg systems, focusing on the 1D phase and the 2D checkerboard phase. It uses an adiabatic time-evolution to prepare these many-body ground states. -* [**Parallel Tasks on Aquila**](examples/analog_hamiltonian_simulation/03_Parallel_tasks_on_Aquila.ipynb) +- [**Parallel Tasks on Aquila**](examples/analog_hamiltonian_simulation/03_Parallel_tasks_on_Aquila.ipynb) - This tutorial builds on the previous notebook tutorial to use a checkerboard preparation that takes advantage of the full area. + This tutorial builds on the previous notebook tutorial to use a checkerboard preparation that takes advantage of the full area. -* [**Maximum Independent Sets**](examples/analog_hamiltonian_simulation/04_Maximum_Independent_Sets_with_Analog_Hamiltonian_Simulation.ipynb) +- [**Maximum Independent Sets**](examples/analog_hamiltonian_simulation/04_Maximum_Independent_Sets_with_Analog_Hamiltonian_Simulation.ipynb) - This tutorial demonstrates how to set up a unit disk graph and solve for its maximum independent set using the Amazon Braket analog Hamiltonian simulation (AHS) local simulator. + This tutorial demonstrates how to set up a unit disk graph and solve for its maximum independent set using the Amazon Braket analog Hamiltonian simulation (AHS) local simulator. -* [**Running on Local Simulator**](examples/analog_hamiltonian_simulation/05_Running_Analog_Hamiltonian_Simulation_with_local_simulator.ipynb) +- [**Running on Local Simulator**](examples/analog_hamiltonian_simulation/05_Running_Analog_Hamiltonian_Simulation_with_local_simulator.ipynb) - This tutorial shows how to test and debug an analog Hamiltonian simulation (AHS) program on the local simulator before submitting it to a QPU. It introduces several features of the local simulator that will be useful to streamline this testing process. + This tutorial shows how to test and debug an analog Hamiltonian simulation (AHS) program on the local simulator before submitting it to a QPU. It introduces several features of the local simulator that will be useful to streamline this testing process. -* [**Simulation with PennyLane**](examples/analog_hamiltonian_simulation/06_Analog_Hamiltonian_simulation_with_PennyLane.ipynb) +- [**Simulation with PennyLane**](examples/analog_hamiltonian_simulation/06_Analog_Hamiltonian_simulation_with_PennyLane.ipynb) - This tutorial shows how to run analog Hamiltonian simulation (AHS) on Braket’s Rydberg atom devices leveraging quantum machine learning techniques from PennyLane. + This tutorial shows how to run analog Hamiltonian simulation (AHS) on Braket’s Rydberg atom devices leveraging quantum machine learning techniques from PennyLane. -* [**Simulating lattice gauge theory with Rydberg atoms**](examples/analog_hamiltonian_simulation/07_Simulating_Lattice_Gauge_Theory_with_Rydberg_Atoms.ipynb) +- [**Simulating lattice gauge theory with Rydberg atoms**](examples/analog_hamiltonian_simulation/07_Simulating_Lattice_Gauge_Theory_with_Rydberg_Atoms.ipynb) - This tutorial shows how to prepare a specific initial state, using local detuning, to simulate the dynamics of a lattice gauge theory. + This tutorial shows how to prepare a specific initial state, using local detuning, to simulate the dynamics of a lattice gauge theory. -* [**Maximum weight independent set**](examples/analog_hamiltonian_simulation/08_Maximum_Weight_Independent_Set.ipynb) +- [**Maximum weight independent set**](examples/analog_hamiltonian_simulation/08_Maximum_Weight_Independent_Set.ipynb) This tutorial generalizes the approach to solve the maximum weight independent set (MWIS) problem. -* [**Noisy quantum dynamics**](examples/analog_hamiltonian_simulation/09_Noisy_quantum_dynamics_for_Rydberg_atom_arrays.ipynb) +- [**Noisy quantum dynamics**](examples/analog_hamiltonian_simulation/09_Noisy_quantum_dynamics_for_Rydberg_atom_arrays.ipynb) This tutorial shows how to run noise simulation on Braket’s Rydberg atom devices - + --- -## Qiskit with Braket -* [**Getting started with Qiskit on Amazon Braket**](examples/qiskit/0_Getting_Started.ipynb) +## Qiskit with Braket - This tutorial shows how you can run your Qiskit code on Amazon Braket computing services. +- [**Getting started with Qiskit on Amazon Braket**](examples/qiskit/0_Getting_Started.ipynb) + This tutorial shows how you can run your Qiskit code on Amazon Braket computing services. --- + ## Still can't find what you're looking for? -Braket provides other libraries, tools, algorithms, experimental features, and more to help with your quantum computing journey. You can, for example, search all of our repositories for the [Bernstein Vazirani](https://github.com/search?q=org%3Aamazon-braket+Bernstein&type=code) algorithm or more [experimental features](https://github.com/search?q=org%3Aamazon-braket+experimental+features&type=code). + +Braket provides other libraries, tools, algorithms, experimental features, and more to help with your quantum computing journey. You can, for example, search all of our repositories for the [Bernstein Vazirani](https://github.com/search?q=org%3Aamazon-braket+Bernstein&type=code) algorithm or more [experimental features](https://github.com/search?q=org%3Aamazon-braket+experimental+features&type=code). --- + ## Creating a conda environment + To install the dependencies required for running the notebook examples in this repository you can create a conda environment with below commands. ```bash @@ -300,11 +315,13 @@ conda env create -n -f environment.yml ``` Activate the conda environment using: + ```bash conda activate ``` To remove the conda environment use: + ```bash conda deactivate ``` @@ -320,16 +337,17 @@ export AWS_PROFILE=YOUR_PROFILE_NAME ``` --- + ## Support ### Issues and Bug Reports -If you encounter bugs or face issues while using the examples, please let us know by posting +If you encounter bugs or face issues while using the examples, please let us know by posting the issue on our [Github issue tracker](https://github.com/amazon-braket/amazon-braket-examples/issues/). For other issues or general questions, please ask on the [Quantum Computing Stack Exchange](https://quantumcomputing.stackexchange.com/questions/ask) and add the tag [amazon-braket](https://quantumcomputing.stackexchange.com/questions/tagged/amazon-braket). ### Feedback and Feature Requests If you have feedback or features that you would like to see on Amazon Braket, we would love to hear from you! -[Github issues](https://github.com/amazon-braket/amazon-braket-examples/issues/) is our preferred mechanism for collecting feedback and feature requests, allowing other users -to engage in the conversation, and +1 issues to help drive priority. +[Github issues](https://github.com/amazon-braket/amazon-braket-examples/issues/) is our preferred mechanism for collecting feedback and feature requests, allowing other users +to engage in the conversation, and +1 issues to help drive priority. diff --git a/examples/braket_features/Allocating_Qubits_on_QPU_Devices.ipynb b/examples/braket_features/Allocating_Qubits_on_QPU_Devices.ipynb index 69ffdee35..da493676b 100644 --- a/examples/braket_features/Allocating_Qubits_on_QPU_Devices.ipynb +++ b/examples/braket_features/Allocating_Qubits_on_QPU_Devices.ipynb @@ -1,541 +1,556 @@ { - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Allocating Qubits on QPU Devices" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "# Use Braket SDK Cost Tracking to estimate the cost to run this example\n", - "from braket.tracking import Tracker\n", - "t = Tracker().start()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This notebook demonstrates how you can specify explicitly which qubits to use when you run a quantum circuit on QPU devices from Rigetti.\n", - "\n", - "When you submit a circuit for execution on a QPU, Amazon Braket performs a series of compilation steps: it maps the _abstract qubits_ in your circuit to _physical qubits_ in the device; it synthesizes gates into the native gate set of the device; it optimizes the circuit to reduce the number of gates; and finally, it translates the gates into executable pulses.\n", - "\n", - "This section shows how the first step, called qubit allocation, works for the Rigetti Aspen-M-3 device." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "# general imports\n", - "from braket.aws import AwsDevice\n", - "from braket.circuits import Circuit\n", - "from braket.devices import Devices\n", - "import numpy as np\n", - "import random" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, - "source": [ - "## Automatic qubit allocation\n", - "\n", - "Qubit allocation for Rigetti devices on Amazon Braket utilizes [the Quil Compilers](https://pyquil-docs.rigetti.com/en/latest/compiler.html#the-quil-compiler)'s _rewiring_ strategies. By default, when you submit a circuit on Amazon Braket to a Rigetti device, the circuit is rewired according to the [PARTIAL](https://pyquil-docs.rigetti.com/en/latest/compiler.html#partial) rewiring strategy. Specifically, the compiler starts with an empty mapping from logical to physical qubits. Taking into account the latest calibration data of the device, the compiler fills in the mapping with the goal, sequentially, to maximize the overall fidelity of the circuit.\n", - "\n", - "The example that follows shows how to create a GHZ state on qubits that are not physically connected. After the quantum task is completed, you can obtain a list of the actual gates executed on the device, by viewing the result metadata.\n", - "\n", - "First, instantiate the Rigetti Aspen-M-3 device and retrieve its connectivity graph, which shows the qubits that are directly connected on the chip." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "pycharm": { - "name": "#%%\n" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "the connectivity of Aspen-M-3 is: {'0': ['1', '7'], '1': ['0', '16', '2'], '10': ['11', '113', '17'], '100': ['101', '107'], '101': ['100', '102', '116'], '102': ['101', '103', '115'], '103': ['102', '104'], '104': ['103', '105', '7'], '105': ['104', '106'], '106': ['105', '107'], '107': ['100', '106'], '11': ['10', '12', '26'], '110': ['111', '117'], '111': ['110', '112', '126'], '112': ['111', '113'], '113': ['10', '112', '114'], '114': ['113', '115', '17'], '115': ['102', '114', '116'], '116': ['101', '115', '117'], '117': ['110', '116'], '12': ['11', '13', '25'], '120': ['121', '127'], '121': ['120', '122', '136'], '122': ['121', '123', '135'], '123': ['122', '124', '20'], '124': ['123', '125', '27'], '125': ['124', '126'], '126': ['111', '125', '127'], '127': ['120', '126'], '13': ['12', '14'], '130': ['131', '137'], '131': ['130', '132', '146'], '132': ['131', '133', '145'], '133': ['132', '134', '30'], '134': ['133', '135', '37'], '135': ['122', '134', '136'], '136': ['121', '135', '137'], '137': ['130', '136'], '14': ['13', '15'], '140': ['141', '147'], '141': ['140', '142'], '142': ['141', '143'], '143': ['142', '144', '40'], '144': ['143', '145', '47'], '145': ['132', '144', '146'], '146': ['131', '145', '147'], '147': ['140', '146'], '15': ['14', '16', '2'], '16': ['1', '15', '17'], '17': ['10', '16', '114'], '2': ['1', '15', '3'], '20': ['123', '21', '27'], '21': ['20', '22', '36'], '22': ['21', '23', '35'], '23': ['22', '24'], '24': ['23', '25'], '25': ['12', '24', '26'], '26': ['11', '25', '27'], '27': ['20', '26', '124'], '3': ['2', '4'], '30': ['133', '31', '37'], '31': ['30', '32', '46'], '32': ['31', '33', '45'], '33': ['32', '34'], '34': ['33', '35'], '35': ['22', '34', '36'], '36': ['21', '35', '37'], '37': ['30', '36', '134'], '4': ['3', '5'], '40': ['143', '41', '47'], '41': ['40', '42'], '42': ['41', '43'], '43': ['42', '44'], '44': ['43', '45'], '45': ['32', '44', '46'], '46': ['31', '45', '47'], '47': ['40', '46', '144'], '5': ['4', '6'], '6': ['5', '7'], '7': ['0', '6', '104']}\n" - ] - } - ], - "source": [ - "device = AwsDevice(Devices.Rigetti.AspenM3)\n", - "\n", - "connectivity_graph = device.properties.paradigm.connectivity.connectivityGraph\n", - "print(f\"the connectivity of {device.name} is: {connectivity_graph}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, - "source": [ - "Next, create a GHZ circuit with three qubits 0, 2, 4, and run it on the Aspen-M-3 device. Notice that none of these qubits are connected on the Aspen-M-3 connectivity graph." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "pycharm": { - "name": "#%%\n" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "T : |0|1|2|\n", - " \n", - "q0 : -H-C-C-\n", - " | | \n", - "q2 : ---X-|-\n", - " | \n", - "q4 : -----X-\n", - "\n", - "T : |0|1|2|\n" - ] - } - ], - "source": [ - "# create a GHZ state with non-neighboring qubits\n", - "circuit = Circuit()\n", - "circuit.h(0).cnot(0,2).cnot(0,4)\n", - "print(circuit)\n", - "\n", - "rigetti_rewiring = device.run(circuit, shots=10)" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Status of task: CREATED\n" - ] - } - ], - "source": [ - "print(\"Status of quantum task:\", rigetti_rewiring.state())" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, - "source": [ - "To verify the final qubit allocation, retrieve the compiled program that was executed:" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": { - "pycharm": { - "name": "#%%\n" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Measurement counts: Counter({'001': 4, '111': 3, '000': 2, '101': 1})\n", - "The compiled circuit is:\n", - " DECLARE ro BIT[3]\n", - "PRAGMA INITIAL_REWIRING \"PARTIAL\"\n", - "RESET\n", - "RZ(-pi/2) 12\n", - "RX(-pi/2) 12\n", - "RZ(pi) 13\n", - "XY(pi) 12 13\n", - "RZ(pi/2) 12\n", - "RX(pi/2) 12\n", - "RZ(-pi/2) 12\n", - "XY(pi) 12 13\n", - "RZ(pi/2) 25\n", - "RX(-pi/2) 25\n", - "CZ 25 12\n", - "RZ(pi) 12\n", - "RX(-pi/2) 13\n", - "RX(pi/2) 25\n", - "RZ(-pi/2) 25\n", - "MEASURE 25 ro[2]\n", - "MEASURE 13 ro[1]\n", - "MEASURE 12 ro[0]\n" - ] - } - ], - "source": [ - "result = rigetti_rewiring.result()\n", - "counts = result.measurement_counts\n", - "print(\"Measurement counts:\", counts)\n", - "print(\"The compiled circuit is:\\n\", result.additional_metadata.rigettiMetadata.compiledProgram)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, - "source": [ - "Notice that the PARTIAL rewiring was applied. The qubits 0, 2, 4 in the original circuit were mapped to three other qubits in the Rigetti device, and the gates were compiled into native gates." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## User-defined qubit allocation" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In Amazon Braket, you can choose to prescribe a qubit mapping manually, and prevent further rewiring for Rigetti devices. To enable manual mapping, set `disable_qubit_rewiring=True` when submitting the quantum task to run.\n", - "\n", - "If all the gates in the circuit satisfy the topological constraints of the device, Amazon Braket maps abstract qubit $i$ in the circuit to the physical qubit $i$ in the device, and maps qubit pair $(i, j)$ to the connection $(i, j)$ in the device. On the other hand, Amazon Braket raises an exception if a specified qubit or qubit pair do not exist in the device connectivity graph." - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": { - "pycharm": { - "name": "#%%\n" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "T : | 0 |1|\n", - " \n", - "q0 : -Rz(1.57)-C-\n", - " | \n", - "q1 : ----------X-\n", - " \n", - "q3 : -X----------\n", - "\n", - "T : | 0 |1|\n" - ] - } - ], - "source": [ - "# create a random state with neighboring qubits\n", - "q1=random.choice(list(connectivity_graph))\n", - "q2=int(connectivity_graph[q1][0])\n", - "q1=int(q1)\n", - "\n", - "circuit = Circuit()\n", - "circuit.rz(0,np.pi/2).cnot(q1,q2).x(7)\n", - "print(circuit)\n", - "rigetti_task = device.run(circuit, shots=10, disable_qubit_rewiring=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Status of task: COMPLETED\n" - ] - } - ], - "source": [ - "print(\"Status of quantum task:\", rigetti_task.state())" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Measurement counts: Counter({'011': 6, '001': 2, '101': 1, '000': 1})\n", - "The compiled circuit is:\n", - " DECLARE ro BIT[3]\n", - "PRAGMA INITIAL_REWIRING \"NAIVE\"\n", - "RESET\n", - "RZ(pi) 1\n", - "RX(-pi/2) 1\n", - "XY(pi) 0 1\n", - "RZ(-pi/2) 0\n", - "RX(pi/2) 0\n", - "RZ(pi/2) 0\n", - "XY(pi) 0 1\n", - "RX(pi) 3\n", - "MEASURE 3 ro[2]\n", - "MEASURE 1 ro[1]\n", - "MEASURE 0 ro[0]\n" - ] - } - ], - "source": [ - "result = rigetti_task.result()\n", - "counts = result.measurement_counts\n", - "print(\"Measurement counts:\", counts)\n", - "print(\"The compiled circuit is:\\n\", result.additional_metadata.rigettiMetadata.compiledProgram)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, - "source": [ - "The qubits in the original circuit followed a one-to-one mapping to the physical qubits in the device. Other compilation steps, such as gate synthesis and circuit optimization, are still performed. These steps allow the circuit to run successfully and improve the overall fidelity." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Using the qubits with the highest two-qubit gate fidelity\n", - "\n", - "Additionally, the device properties include calibration data, which you can use to find the qubits and qubit pairs with the highest fidelities for particular gates.\n", - "\n", - "The following function finds the qubit pair that has the highest two-qubit fidelity of an input gate, which can be any of the gates native to the Rigetti device, namely CPHASE, XY or CZ." - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": { - "pycharm": { - "name": "#%%\n" - } - }, - "outputs": [], - "source": [ - "def find_qubit_pair(gate):\n", - " \"Function to find the qubit pair that has the highest gate fidelity of a particular gate\"\n", - " \n", - " # check whether the input gate is a string\n", - " if not isinstance(gate, str):\n", - " raise ValueError('The input gate must be a string type.') \n", - " \n", - " # check whether the input gate is a native gate\n", - " gate_list = ['CPHASE', 'CZ', 'XY']\n", - " if gate not in gate_list:\n", - " raise ValueError('The input gate must be either CPHASE, CZ or XY.')\n", - " \n", - " # load all calibration data from device.properties\n", - " calibration_2Q = device.properties.provider.specs['2Q']\n", - " highest_fidelity = 0\n", - "\n", - " # iterate through all calibration data to find the highest fidelity\n", - " for pair in calibration_2Q.keys():\n", - " \n", - " # if the particular gate type is supported by the qubit pair\n", - " if ('f'+ gate) in calibration_2Q[pair].keys(): \n", - " \n", - " if calibration_2Q[pair]['f'+ gate] > highest_fidelity:\n", - " \n", - " # update the highest_fidelity and the best_pair\n", - " highest_fidelity = calibration_2Q[pair]['f'+ gate]\n", - " best_pair = pair\n", - "\n", - " # generate the two qubits as integers \n", - " q1 = best_pair[0]\n", - " i = 1\n", - " while best_pair[i] is not '-':\n", - " q1 += best_pair[i]\n", - " i += 1\n", - "\n", - " q1 = int(q1)\n", - " q2 = int(best_pair[i+1:])\n", - " \n", - " return q1, q2, highest_fidelity" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, - "source": [ - "The example in the following code applies a native two-qubit gate on the qubit pair that has the highest fidelity of that gate. " - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": { - "pycharm": { - "name": "#%%\n" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The highest fidelity for CZ gate is: 0.9794230141816626\n", - "And the corresponding qubit pair is: qubit 21 and qubit 36\n", - "T : |0|\n", - " \n", - "q21 : -C-\n", - " | \n", - "q36 : -Z-\n", - "\n", - "T : |0|\n" - ] - } - ], - "source": [ - "# the gate must be either 'CZ', 'CPHASE' or 'XY'\n", - "gate = 'CZ'\n", - "# find the qubit pair with the highest gate fidelity\n", - "q1, q2, highest_fidelity = find_qubit_pair(gate)\n", - "print('The highest fidelity for '+gate+' gate is:', highest_fidelity)\n", - "print(f'And the corresponding qubit pair is: qubit {q1} and qubit {q2}')\n", - "\n", - "# create a circuit with the gate applied to the discovered qubit pair.\n", - "# note that CPHASE in Rigetti corresponds to cphaseshift in Braket\n", - "circuit = Circuit()\n", - "circuit.cz(q1,q2)\n", - "print(circuit)\n", - "rigetti_task = device.run(circuit, shots=1000, disable_qubit_rewiring=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Measurement counts: Counter({'00': 910, '01': 55, '10': 33, '11': 2})\n", - "The compiled circuit is:\n", - " DECLARE ro BIT[2]\n", - "PRAGMA INITIAL_REWIRING \"NAIVE\"\n", - "RESET\n", - "CZ 21 36\n", - "MEASURE 21 ro[1]\n", - "MEASURE 36 ro[0]\n" - ] - } - ], - "source": [ - "print(\"Status of quantum task:\", rigetti_task.state())" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The qubits in the original circuit followed a one-to-one mapping to the physical qubits in the device. Since only native gates were used, the actual gates executed are the same as the gates in the original circuit." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, - "source": [ - "
\n", - "Note: The IonQ device does not support manual allocation. For circuits submitted to the IonQ device, qubits are allocated automatically.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Task Summary\n", - "{'arn:aws:braket:us-west-1::device/qpu/rigetti/Aspen-M-3': {'shots': 1020, 'tasks': {'QUEUED': 1, 'CREATED': 2}}}\n", - "Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\n", - "Estimated cost to run this example: 1.26 USD\n" - ] - } - ], - "source": [ - "print(\"Quantum Task Summary\")\n", - "print(t.quantum_tasks_statistics())\n", - "print('Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).')\n", - "print(f\"Estimated cost to run this example: {t.qpu_tasks_cost() + t.simulator_tasks_cost():.2f} USD\")" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "conda_braket", - "language": "python", - "name": "conda_braket" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.10" - }, - "vscode": { - "interpreter": { - "hash": "590fab68195cf107911461461f81d5c472d3d6127f579badfcfad30f03e5cab2" - } - } - }, - "nbformat": 4, - "nbformat_minor": 4 + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Allocating Qubits on QPU Devices" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "# Use Braket SDK Cost Tracking to estimate the cost to run this example\n", + "from braket.tracking import Tracker\n", + "t = Tracker().start()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This notebook demonstrates how you can specify explicitly which qubits to use when you run a quantum circuit on QPU devices from Rigetti.\n", + "\n", + "When you submit a circuit for execution on a QPU, Amazon Braket performs a series of compilation steps: it maps the _abstract qubits_ in your circuit to _physical qubits_ in the device; it synthesizes gates into the native gate set of the device; it optimizes the circuit to reduce the number of gates; and finally, it translates the gates into executable pulses.\n", + "\n", + "This section shows how the first step, called qubit allocation, works for the Rigetti Ankaa-2 device." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# general imports\n", + "from braket.aws import AwsDevice\n", + "from braket.circuits import Circuit\n", + "from braket.devices import Devices\n", + "import numpy as np\n", + "import random" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "## Automatic qubit allocation\n", + "\n", + "Qubit allocation for Rigetti devices on Amazon Braket utilizes [the Quil Compilers](https://pyquil-docs.rigetti.com/en/latest/compiler.html#the-quil-compiler)'s _rewiring_ strategies. By default, when you submit a circuit on Amazon Braket to a Rigetti device, the circuit is rewired according to the [PARTIAL](https://pyquil-docs.rigetti.com/en/latest/compiler.html#partial) rewiring strategy. Specifically, the compiler starts with an empty mapping from logical to physical qubits. Taking into account the latest calibration data of the device, the compiler fills in the mapping with the goal, sequentially, to maximize the overall fidelity of the circuit.\n", + "\n", + "The example that follows shows how to create a GHZ state on qubits that are not physically connected. After the quantum task is completed, you can obtain a list of the actual gates executed on the device, by viewing the result metadata.\n", + "\n", + "First, instantiate the Rigetti Ankaa-2 device and retrieve its connectivity graph, which shows the qubits that are directly connected on the chip." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the connectivity of Ankaa-2 is: {'0': ['1', '7'], '1': ['0', '2', '8'], '2': ['1', '3', '9'], '3': ['2', '4', '10'], '4': ['3', '5', '11'], '5': ['4', '6', '12'], '6': ['5', '13'], '7': ['0', '8', '14'], '8': ['1', '7', '9', '15'], '9': ['2', '8', '10', '16'], '10': ['3', '9', '11', '17'], '11': ['4', '10', '12', '18'], '12': ['5', '11', '13', '19'], '13': ['6', '12', '20'], '14': ['7', '15', '21'], '15': ['8', '14', '22'], '16': ['9', '17', '23'], '17': ['10', '16', '18', '24'], '18': ['11', '17', '19', '25'], '19': ['12', '18', '20', '26'], '20': ['13', '19', '27'], '21': ['14', '22', '28'], '22': ['15', '21', '23', '29'], '23': ['16', '22', '24', '30'], '24': ['17', '23', '25', '31'], '25': ['18', '24', '26', '32'], '26': ['19', '25', '33'], '27': ['20', '34'], '28': ['21', '29', '35'], '29': ['22', '28', '30', '36'], '30': ['23', '29', '31', '37'], '31': ['24', '30', '32', '38'], '32': ['25', '31', '33', '39'], '33': ['26', '32', '34', '40'], '34': ['27', '33', '41'], '35': ['28', '36', '42'], '36': ['29', '35', '37', '43'], '37': ['30', '36', '38', '44'], '38': ['31', '37', '39', '45'], '39': ['32', '38', '40', '46'], '40': ['33', '39', '41', '47'], '41': ['34', '40', '48'], '42': ['35', '43', '49'], '43': ['36', '42', '44', '50'], '44': ['37', '43', '45', '51'], '45': ['38', '44', '46', '52'], '46': ['39', '45', '47', '53'], '47': ['40', '46', '48', '54'], '48': ['41', '47', '55'], '49': ['42', '56'], '50': ['43', '51', '57'], '51': ['44', '50', '52', '58'], '52': ['45', '51', '53', '59'], '53': ['46', '52', '54'], '54': ['47', '53', '55', '61'], '55': ['48', '54', '62'], '56': ['49', '57', '63'], '57': ['50', '56', '58', '64'], '58': ['51', '57', '59', '65'], '59': ['52', '58', '60', '66'], '60': ['59'], '61': ['54', '62', '68'], '62': ['55', '61', '69'], '63': ['56', '64', '70'], '64': ['57', '63', '65', '71'], '65': ['58', '64', '66', '72'], '66': ['59', '65', '67'], '67': ['66', '68', '74'], '68': ['61', '67', '69', '75'], '69': ['62', '68', '76'], '70': ['63', '71', '77'], '71': ['64', '70', '72', '78'], '72': ['65', '71', '73', '79'], '73': ['72', '74', '80'], '74': ['67', '73', '75', '81'], '75': ['68', '74', '76', '82'], '76': ['69', '75', '83'], '77': ['70', '78'], '78': ['71', '77', '79'], '79': ['72', '78', '80'], '80': ['73', '79', '81'], '81': ['74', '80', '82'], '82': ['75', '81', '83'], '83': ['76', '82']}\n" + ] + } + ], + "source": [ + "device = AwsDevice(Devices.Rigetti.Ankaa2)\n", + "\n", + "connectivity_graph = device.properties.paradigm.connectivity.connectivityGraph\n", + "print(f\"the connectivity of {device.name} is: {connectivity_graph}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "Next, create a GHZ circuit with three qubits 0, 2, 4, and run it on the Ankaa 2 device. Notice that none of these qubits are connected on the Ankaa 2 connectivity graph." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T : │ 0 │ 1 │ 2 │\n", + " ┌───┐ \n", + "q0 : ─┤ H ├───●─────●───\n", + " └───┘ │ │ \n", + " ┌─┴─┐ │ \n", + "q2 : ───────┤ X ├───┼───\n", + " └───┘ │ \n", + " ┌─┴─┐ \n", + "q4 : ─────────────┤ X ├─\n", + " └───┘ \n", + "T : │ 0 │ 1 │ 2 │\n" + ] + } + ], + "source": [ + "# create a GHZ state with non-neighboring qubits\n", + "circuit = Circuit()\n", + "circuit.h(0).cnot(0,2).cnot(0,4)\n", + "print(circuit)\n", + "\n", + "rigetti_rewiring = device.run(circuit, shots=10)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Status of quantum task: QUEUED\n" + ] + } + ], + "source": [ + "print(\"Status of quantum task:\", rigetti_rewiring.state())" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "To verify the final qubit allocation, retrieve the compiled program that was executed:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Measurement counts: Counter({'111': 6, '000': 3, '101': 1})\n", + "The compiled circuit is:\n", + " PRAGMA INITIAL_REWIRING \"NAIVE\"\n", + "DECLARE ro BIT[3]\n", + "PRAGMA PRESERVE_BLOCK\n", + "RX(1.5707963267948966) 5\n", + "RZ(3.141592653589793) 5\n", + "ISWAP 5 12\n", + "RZ(1.5707963267948966) 5\n", + "RX(1.5707963267948966) 5\n", + "RZ(4.71238898038469) 5\n", + "ISWAP 5 12\n", + "RZ(1.5707963267948966) 5\n", + "RZ(3.141592653589793) 12\n", + "ISWAP 5 6\n", + "RX(1.5707963267948966) 12\n", + "RZ(1.5707963267948966) 5\n", + "RX(1.5707963267948966) 5\n", + "RZ(4.71238898038469) 5\n", + "ISWAP 5 6\n", + "RZ(3.141592653589793) 6\n", + "RX(1.5707963267948966) 6\n", + "PRAGMA END_PRESERVE_BLOCK\n", + "MEASURE 12 ro[1]\n", + "MEASURE 5 ro[0]\n", + "MEASURE 6 ro[2]\n" + ] + } + ], + "source": [ + "result = rigetti_rewiring.result()\n", + "counts = result.measurement_counts\n", + "print(\"Measurement counts:\", counts)\n", + "print(\"The compiled circuit is:\\n\", result.additional_metadata.rigettiMetadata.compiledProgram)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "Notice that the PARTIAL rewiring was applied. The qubits 0, 2, 4 in the original circuit were mapped to three other qubits in the Rigetti device, and the gates were compiled into native gates." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## User-defined qubit allocation" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In Amazon Braket, you can choose to prescribe a qubit mapping manually, and prevent further rewiring for Rigetti devices. To enable manual mapping, set `disable_qubit_rewiring=True` when submitting the quantum task to run.\n", + "\n", + "If all the gates in the circuit satisfy the topological constraints of the device, Amazon Braket maps abstract qubit $i$ in the circuit to the physical qubit $i$ in the device, and maps qubit pair $(i, j)$ to the connection $(i, j)$ in the device. On the other hand, Amazon Braket raises an exception if a specified qubit or qubit pair do not exist in the device connectivity graph." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T : │ 0 │ 1 │\n", + " ┌──────────┐ \n", + "q0 : ─┤ Rz(1.57) ├───●───\n", + " └──────────┘ │ \n", + " ┌─┴─┐ \n", + "q1 : ──────────────┤ X ├─\n", + " └───┘ \n", + " ┌───┐ \n", + "q7 : ────┤ X ├───────────\n", + " └───┘ \n", + "T : │ 0 │ 1 │\n" + ] + } + ], + "source": [ + "# create a random state with neighboring qubits\n", + "q1=random.choice(list(connectivity_graph))\n", + "q2=int(connectivity_graph[q1][0])\n", + "q1=int(q1)\n", + "\n", + "circuit = Circuit()\n", + "circuit.rz(0,np.pi/2).cnot(q1,q2).x(7)\n", + "print(circuit)\n", + "rigetti_task = device.run(circuit, shots=10, disable_qubit_rewiring=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Status of quantum task: QUEUED\n" + ] + } + ], + "source": [ + "print(\"Status of quantum task:\", rigetti_task.state())" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Measurement counts: Counter({'001': 7, '000': 2, '011': 1})\n", + "The compiled circuit is:\n", + " PRAGMA INITIAL_REWIRING \"NAIVE\"\n", + "DECLARE ro BIT[3]\n", + "PRAGMA PRESERVE_BLOCK\n", + "RX(1.5707963267948966) 0\n", + "RX(1.5707963267948966) 7\n", + "RZ(4.71238898038469) 0\n", + "RX(1.5707963267948966) 7\n", + "ISWAP 0 1\n", + "RZ(3.141592653589793) 1\n", + "RX(1.5707963267948966) 1\n", + "PRAGMA END_PRESERVE_BLOCK\n", + "MEASURE 7 ro[2]\n", + "MEASURE 0 ro[0]\n", + "MEASURE 1 ro[1]\n" + ] + } + ], + "source": [ + "result = rigetti_task.result()\n", + "counts = result.measurement_counts\n", + "print(\"Measurement counts:\", counts)\n", + "print(\"The compiled circuit is:\\n\", result.additional_metadata.rigettiMetadata.compiledProgram)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "The qubits in the original circuit followed a one-to-one mapping to the physical qubits in the device. Other compilation steps, such as gate synthesis and circuit optimization, are still performed. These steps allow the circuit to run successfully and improve the overall fidelity." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Using the qubits with the highest two-qubit gate fidelity\n", + "\n", + "Additionally, the device properties include calibration data, which you can use to find the qubits and qubit pairs with the highest fidelities for particular gates.\n", + "\n", + "The following function finds the qubit pair that has the highest two-qubit fidelity of an input gate, which can be any of the gates native to the Rigetti device. First, you can access the native gates as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['RX', 'RZ', 'CZ', 'ISWAP']" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "native_gates = device.properties.paradigm.nativeGateSet\n", + "gates_uppercase = [gate.upper() for gate in native_gates]\n", + "gates_uppercase" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [], + "source": [ + "def find_qubit_pair(gate):\n", + " \"Function to find the qubit pair that has the highest gate fidelity of a particular gate\"\n", + " \n", + " # check whether the input gate is a string\n", + " if not isinstance(gate, str):\n", + " raise ValueError('The input gate must be a string type.') \n", + " \n", + " # check whether the input gate is a native gate\n", + " gate_list = gates_uppercase\n", + " if gate not in gate_list:\n", + " raise ValueError(f'The input gate must be one of {gates_uppercase}.')\n", + " \n", + " # load all calibration data from device.properties\n", + " calibration_2Q = device.properties.provider.specs['2Q']\n", + " highest_fidelity = 0\n", + "\n", + " # iterate through all calibration data to find the highest fidelity\n", + " for pair in calibration_2Q.keys():\n", + " # if the particular gate type is supported by the qubit pair\n", + " if ('f'+ gate) in calibration_2Q[pair].keys(): \n", + " if calibration_2Q[pair]['f'+ gate] > highest_fidelity: \n", + " # update the highest_fidelity and the best_pair\n", + " highest_fidelity = calibration_2Q[pair]['f'+ gate]\n", + " best_pair = pair\n", + "\n", + " # generate the two qubits as integers \n", + " q1 = best_pair[0]\n", + " i = 1\n", + " while best_pair[i] != '-':\n", + " q1 += best_pair[i]\n", + " i += 1\n", + "\n", + " q1 = int(q1)\n", + " q2 = int(best_pair[i+1:])\n", + " \n", + " return q1, q2, highest_fidelity" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "The example in the following code applies a native two-qubit gate on the qubit pair that has the highest fidelity of that gate. " + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The highest fidelity for ISWAP gate is: 0.99312484820244\n", + "And the corresponding qubit pair is: qubit 73 and qubit 74\n", + "T : │ 0 │\n", + " \n", + "q73 : ───●───\n", + " │ \n", + " ┌─┴─┐ \n", + "q74 : ─┤ Z ├─\n", + " └───┘ \n", + "T : │ 0 │\n" + ] + } + ], + "source": [ + "# the gate must be a native gate\n", + "gate = 'ISWAP'\n", + "# find the qubit pair with the highest gate fidelity\n", + "q1, q2, highest_fidelity = find_qubit_pair(gate)\n", + "print('The highest fidelity for '+gate+' gate is:', highest_fidelity)\n", + "print(f'And the corresponding qubit pair is: qubit {q1} and qubit {q2}')\n", + "\n", + "# create a circuit with the gate applied to the discovered qubit pair.\n", + "# note that CPHASE in Rigetti corresponds to cphaseshift in Braket\n", + "circuit = Circuit()\n", + "circuit.cz(q1,q2)\n", + "print(circuit)\n", + "rigetti_task = device.run(circuit, shots=1000, disable_qubit_rewiring=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Status of quantum task: QUEUED\n" + ] + } + ], + "source": [ + "print(\"Status of quantum task:\", rigetti_task.state())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The qubits in the original circuit followed a one-to-one mapping to the physical qubits in the device. Since only native gates were used, the actual gates executed are the same as the gates in the original circuit." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "
\n", + "Note: The IonQ device does not support manual allocation. For circuits submitted to the IonQ device, qubits are allocated automatically.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Quantum Task Summary\n", + "{<_Rigetti.Ankaa2: 'arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2'>: {'shots': 1020, 'tasks': {'COMPLETED': 2, 'QUEUED': 1}}}\n", + "Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\n", + "Estimated cost to run this example: 1.82 USD\n" + ] + } + ], + "source": [ + "print(\"Quantum Task Summary\")\n", + "print(t.quantum_tasks_statistics())\n", + "print('Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).')\n", + "print(f\"Estimated cost to run this example: {t.qpu_tasks_cost() + t.simulator_tasks_cost():.2f} USD\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "braket", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.11" + } + }, + "nbformat": 4, + "nbformat_minor": 4 } diff --git a/examples/braket_features/Getting_Devices_and_Checking_Device_Properties.ipynb b/examples/braket_features/Getting_Devices_and_Checking_Device_Properties.ipynb index 6c84757e6..45dd39fb5 100644 --- a/examples/braket_features/Getting_Devices_and_Checking_Device_Properties.ipynb +++ b/examples/braket_features/Getting_Devices_and_Checking_Device_Properties.ipynb @@ -1,1908 +1,1904 @@ { - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Getting Devices and Checking Device Properties\n", - "\n", - "This tutorial demonstrates how to use the `get_devices()` method to search and instantiate devices available on Amazon Braket. It also shows how to obtain access to properties for simulator and QPU devices." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "ExecuteTime": { - "end_time": "2023-08-29T21:51:22.928626Z", - "start_time": "2023-08-29T21:51:20.846031Z" - } - }, - "outputs": [], - "source": [ - "# general imports\n", - "import json\n", - "from braket.aws import AwsDevice\n", - "from braket.devices import Devices, LocalSimulator" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Using get_devices\n", - "You can get a device, including the on-demand simulators and the QPUs, by calling the `get_devices()` method. Search for devices with one or more of the following filtering criteria:\n", - "* device arn \n", - "* name \n", - "* type \n", - "* status \n", - "* provider_name. \n", - "\n", - "The following cells give examples for each of the cases." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Getting the device by type" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": { - "ExecuteTime": { - "end_time": "2023-08-29T21:51:23.791309Z", - "start_time": "2023-08-29T21:51:22.939296Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[Device('name': SV1, 'arn': arn:aws:braket:::device/quantum-simulator/amazon/sv1),\n", - " Device('name': TN1, 'arn': arn:aws:braket:::device/quantum-simulator/amazon/tn1),\n", - " Device('name': dm1, 'arn': arn:aws:braket:::device/quantum-simulator/amazon/dm1)]" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# to get the on-demand simulators\n", - "AwsDevice.get_devices(types=['SIMULATOR'])" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[Device('name': Ankaa-2, 'arn': arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2),\n", - " Device('name': Aquila, 'arn': arn:aws:braket:us-east-1::device/qpu/quera/Aquila),\n", - " Device('name': Aria 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-1),\n", - " Device('name': Aria 2, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-2),\n", - " Device('name': Aspen-M-3, 'arn': arn:aws:braket:us-west-1::device/qpu/rigetti/Aspen-M-3),\n", - " Device('name': Forte 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Forte-1),\n", - " Device('name': Garnet, 'arn': arn:aws:braket:eu-north-1::device/qpu/iqm/Garnet)]" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# to get the list of QPUs\n", - "AwsDevice.get_devices(types=['QPU'])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Getting the device by ARN\n", - "For every type of device available in Amazon Braket, you can find the associated ARN in the Amazon Braket [Developer Guide](https://docs.aws.amazon.com/braket/latest/developerguide/braket-devices.html). You also can view the device ARN on the `Devices` section in the Amazon Braket console." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "ExecuteTime": { - "end_time": "2023-08-29T21:51:40.189738Z", - "start_time": "2023-08-29T21:51:38.108942Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[Device('name': Aria 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-1)]" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# for example, the following ARN refers to the IonQ device.\n", - "AwsDevice.get_devices(arns=['arn:aws:braket:us-east-1::device/qpu/ionq/Aria-1'])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Getting the device by name" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": { - "ExecuteTime": { - "end_time": "2023-08-29T21:51:44.199001Z", - "start_time": "2023-08-29T21:51:40.203505Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[Device('name': Ankaa-2, 'arn': arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2)]" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# for example, the following name refers to a Rigetti Aspen system.\n", - "AwsDevice.get_devices(names=['Ankaa-2'])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Getting the device by status" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "ExecuteTime": { - "end_time": "2023-08-29T21:51:49.133297Z", - "start_time": "2023-08-29T21:51:44.215934Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[Device('name': Ankaa-2, 'arn': arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2),\n", - " Device('name': Aquila, 'arn': arn:aws:braket:us-east-1::device/qpu/quera/Aquila),\n", - " Device('name': Aria 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-1),\n", - " Device('name': Forte 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Forte-1),\n", - " Device('name': Garnet, 'arn': arn:aws:braket:eu-north-1::device/qpu/iqm/Garnet),\n", - " Device('name': SV1, 'arn': arn:aws:braket:::device/quantum-simulator/amazon/sv1),\n", - " Device('name': TN1, 'arn': arn:aws:braket:::device/quantum-simulator/amazon/tn1),\n", - " Device('name': dm1, 'arn': arn:aws:braket:::device/quantum-simulator/amazon/dm1)]" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# retrieve all devices that are currently online\n", - "AwsDevice.get_devices(statuses=['ONLINE'])" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "ExecuteTime": { - "end_time": "2023-08-29T21:51:52.891651Z", - "start_time": "2023-08-29T21:51:49.147757Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[Device('name': Aria 2, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-2),\n", - " Device('name': Aspen-M-3, 'arn': arn:aws:braket:us-west-1::device/qpu/rigetti/Aspen-M-3)]" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# retrieve all devices that are currently offline\n", - "AwsDevice.get_devices(statuses=['OFFLINE'])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Getting the device by provider_name" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": { - "ExecuteTime": { - "end_time": "2023-08-29T21:51:56.454044Z", - "start_time": "2023-08-29T21:51:52.891938Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[Device('name': Aria 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-1),\n", - " Device('name': Aria 2, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-2),\n", - " Device('name': Forte 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Forte-1)]" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# for example, the following ARN retrieves the IonQ device.\n", - "AwsDevice.get_devices(provider_names=['IonQ'])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Retrieve devices in order" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": { - "ExecuteTime": { - "end_time": "2023-08-29T21:52:10.758716Z", - "start_time": "2023-08-29T21:51:56.382501Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[Device('name': TN1, 'arn': arn:aws:braket:::device/quantum-simulator/amazon/tn1),\n", - " Device('name': SV1, 'arn': arn:aws:braket:::device/quantum-simulator/amazon/sv1),\n", - " Device('name': dm1, 'arn': arn:aws:braket:::device/quantum-simulator/amazon/dm1),\n", - " Device('name': Garnet, 'arn': arn:aws:braket:eu-north-1::device/qpu/iqm/Garnet),\n", - " Device('name': Aria 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-1),\n", - " Device('name': Aria 2, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-2),\n", - " Device('name': Forte 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Forte-1),\n", - " Device('name': Aquila, 'arn': arn:aws:braket:us-east-1::device/qpu/quera/Aquila),\n", - " Device('name': Aspen-M-3, 'arn': arn:aws:braket:us-west-1::device/qpu/rigetti/Aspen-M-3),\n", - " Device('name': Ankaa-2, 'arn': arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2)]" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# retrieve the list of devices, ordered by provider name\n", - "AwsDevice.get_devices(order_by='provider_name')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Getting the device with multiple criteria" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "ExecuteTime": { - "end_time": "2023-08-29T21:52:15.233392Z", - "start_time": "2023-08-29T21:52:10.769127Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[Device('name': Ankaa-2, 'arn': arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2),\n", - " Device('name': Aquila, 'arn': arn:aws:braket:us-east-1::device/qpu/quera/Aquila),\n", - " Device('name': Aria 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-1),\n", - " Device('name': Forte 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Forte-1),\n", - " Device('name': Garnet, 'arn': arn:aws:braket:eu-north-1::device/qpu/iqm/Garnet)]" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# multiple criteria can be applied\n", - "AwsDevice.get_devices(types=['QPU'],statuses=['ONLINE'])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Getting a device directly\n", - "You can specify a device directly, with the device ARN. These ARNs can be specified from each device's entry in the `Devices` enum:" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": { - "ExecuteTime": { - "end_time": "2023-08-29T21:52:17.486681Z", - "start_time": "2023-08-29T21:52:15.244209Z" - } - }, - "outputs": [], - "source": [ - "# specify a device directly by device ARN\n", - "# Rigetti\n", - "device = AwsDevice(Devices.Rigetti.Ankaa2)\n", - "# IonQ\n", - "device = AwsDevice(Devices.IonQ.Aria1)\n", - "# IQM\n", - "device = AwsDevice(Devices.IQM.Garnet)\n", - "# the on-demand simulator SV1\n", - "device = AwsDevice(Devices.Amazon.SV1)\n", - "# the on-demand simulator TN1\n", - "device = AwsDevice(Devices.Amazon.TN1)\n", - "# the local simulator\n", - "device = LocalSimulator()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Properties of devices\n", - "\n", - "You can check properties of a device with the `device.properties` call. The following examples show some useful properties of each device." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "ExecuteTime": { - "end_time": "2023-08-29T21:52:17.759631Z", - "start_time": "2023-08-29T21:52:17.502344Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The supported operations of SV1 are ['ccnot', 'cnot', 'cphaseshift', 'cphaseshift00', 'cphaseshift01', 'cphaseshift10', 'cswap', 'cy', 'cz', 'ecr', 'h', 'i', 'iswap', 'pswap', 'phaseshift', 'rx', 'ry', 'rz', 's', 'si', 'swap', 't', 'ti', 'unitary', 'v', 'vi', 'x', 'xx', 'xy', 'y', 'yy', 'z', 'zz']\n", - "\n", - "The supported result types are [ResultType(name='Sample', observables=['x', 'y', 'z', 'h', 'i', 'hermitian'], minShots=1, maxShots=100000), ResultType(name='Expectation', observables=['x', 'y', 'z', 'h', 'i', 'hermitian'], minShots=0, maxShots=100000), ResultType(name='Variance', observables=['x', 'y', 'z', 'h', 'i', 'hermitian'], minShots=0, maxShots=100000), ResultType(name='Probability', observables=None, minShots=1, maxShots=100000), ResultType(name='Amplitude', observables=None, minShots=0, maxShots=0)]\n", - "\n", - "The maximum number of qubits supported by this device is 34\n", - "The shots range of this device is (0, 100000)\n", - "The price of running quantum tasks on this device: price=0.075 unit='minute'\n" - ] - } - ], - "source": [ - "# the on-demand simulator SV1\n", - "device = AwsDevice(Devices.Amazon.SV1)\n", - "\n", - "support_gates = device.properties.action['braket.ir.jaqcd.program'].supportedOperations\n", - "support_result_types = device.properties.action['braket.ir.jaqcd.program'].supportedResultTypes\n", - "qubit_count = device.properties.paradigm.qubitCount\n", - "shots_range = device.properties.service.shotsRange\n", - "device_cost = device.properties.service.deviceCost\n", - "\n", - "print(f'The supported operations of {device.name} are {support_gates}\\n')\n", - "print(f'The supported result types are {support_result_types}\\n')\n", - "print('The maximum number of qubits supported by this device is', qubit_count)\n", - "print('The shots range of this device is', shots_range)\n", - "print('The price of running quantum tasks on this device:', device_cost)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "For the IonQ and Rigetti devices, you can get information about the properties shown previously. You also can get information about the availability windows and the device calibration data." - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": { - "ExecuteTime": { - "end_time": "2023-08-29T21:52:19.588547Z", - "start_time": "2023-08-29T21:52:17.773910Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The availability windows for Ankaa-2:\n", - "[DeviceExecutionWindow(executionDay=, windowStartHour=datetime.time(0, 0), windowEndHour=datetime.time(23, 59))]\n", - "\n", - "The connectivity graph of the qubits for this device:\n", - " fullyConnected=False connectivityGraph={'0': ['1', '7'], '1': ['0', '2', '8'], '2': ['1', '3', '9'], '3': ['2', '4', '10'], '4': ['3', '5', '11'], '5': ['4', '6', '12'], '6': ['5', '13'], '7': ['0', '8', '14'], '8': ['1', '7', '9', '15'], '9': ['2', '8', '10', '16'], '10': ['3', '9', '11', '17'], '11': ['4', '10', '12', '18'], '12': ['5', '11', '13', '19'], '13': ['6', '12', '20'], '14': ['7', '15', '21'], '15': ['8', '14', '22'], '16': ['9', '17', '23'], '17': ['10', '16', '18', '24'], '18': ['11', '17', '19', '25'], '19': ['12', '18', '20', '26'], '20': ['13', '19', '27'], '21': ['14', '22', '28'], '22': ['15', '21', '23', '29'], '23': ['16', '22', '24', '30'], '24': ['17', '23', '25', '31'], '25': ['18', '24', '26', '32'], '26': ['19', '25', '33'], '27': ['20', '34'], '28': ['21', '29', '35'], '29': ['22', '28', '30', '36'], '30': ['23', '29', '31', '37'], '31': ['24', '30', '32', '38'], '32': ['25', '31', '33', '39'], '33': ['26', '32', '34', '40'], '34': ['27', '33', '41'], '35': ['28', '36', '42'], '36': ['29', '35', '37', '43'], '37': ['30', '36', '38', '44'], '38': ['31', '37', '39', '45'], '39': ['32', '38', '40', '46'], '40': ['33', '39', '41', '47'], '41': ['34', '40', '48'], '42': ['35', '43', '49'], '43': ['36', '42', '44', '50'], '44': ['37', '43', '45', '51'], '45': ['38', '44', '46', '52'], '46': ['39', '45', '47', '53'], '47': ['40', '46', '48', '54'], '48': ['41', '47', '55'], '49': ['42', '56'], '50': ['43', '51', '57'], '51': ['44', '50', '52', '58'], '52': ['45', '51', '53', '59'], '53': ['46', '52', '54'], '54': ['47', '53', '55', '61'], '55': ['48', '54', '62'], '56': ['49', '57', '63'], '57': ['50', '56', '58', '64'], '58': ['51', '57', '59', '65'], '59': ['52', '58', '60', '66'], '60': ['59'], '61': ['54', '62', '68'], '62': ['55', '61', '69'], '63': ['56', '64', '70'], '64': ['57', '63', '65', '71'], '65': ['58', '64', '66', '72'], '66': ['59', '65', '67'], '67': ['66', '68', '74'], '68': ['61', '67', '69', '75'], '69': ['62', '68', '76'], '70': ['63', '71', '77'], '71': ['64', '70', '72', '78'], '72': ['65', '71', '73', '79'], '73': ['72', '74', '80'], '74': ['67', '73', '75', '81'], '75': ['68', '74', '76', '82'], '76': ['69', '75', '83'], '77': ['70', '78'], '78': ['71', '77', '79'], '79': ['72', '78', '80'], '80': ['73', '79', '81'], '81': ['74', '80', '82'], '82': ['75', '81', '83'], '83': ['76', '82']}\n", - "\n", - "Calibration data:\n", - " {\n", - " \"1Q\": {\n", - " \"0\": {\n", - " \"T1\": 1.2029631692466682e-05,\n", - " \"T2\": 2.03266388938901e-05,\n", - " \"f1QRB\": 0.998765305144426,\n", - " \"f1QRB_std_err\": 6.77836921501227e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9979067843059098,\n", - " \"f1Q_simultaneous_RB_std_err\": 4.758617109235591e-05,\n", - " \"fRO\": 0.937\n", - " },\n", - " \"1\": {\n", - " \"T1\": 1.4268027563496344e-05,\n", - " \"T2\": 7.84515229349302e-06,\n", - " \"f1QRB\": 0.9986872876952123,\n", - " \"f1QRB_std_err\": 2.983478712784922e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9938065510223753,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0004392230537689693,\n", - " \"fRO\": 0.94\n", - " },\n", - " \"10\": {\n", - " \"T1\": 1.4679275894144729e-05,\n", - " \"T2\": 1.5627688299099267e-05,\n", - " \"f1QRB\": 0.9988251153550275,\n", - " \"f1QRB_std_err\": 1.8243424509631753e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9977704760222951,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0008781274091412812,\n", - " \"fRO\": 0.935\n", - " },\n", - " \"11\": {\n", - " \"T1\": 1.2677638322198788e-05,\n", - " \"T2\": 8.48980262943678e-06,\n", - " \"f1QRB\": 0.9986505615039961,\n", - " \"f1QRB_std_err\": 1.9564505570035768e-05,\n", - " \"f1Q_simultaneous_RB\": 0.978486483923341,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.001987570695598549,\n", - " \"fRO\": 0.825\n", - " },\n", - " \"12\": {\n", - " \"T1\": 1.3843278953957174e-05,\n", - " \"T2\": 1.2777344410303523e-05,\n", - " \"f1QRB\": 0.9987965358651314,\n", - " \"f1QRB_std_err\": 5.0259442221782e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9975045347243978,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0001616714124027457,\n", - " \"fRO\": 0.976\n", - " },\n", - " \"13\": {\n", - " \"T1\": 1.1662258233719814e-05,\n", - " \"T2\": 6.075626296719949e-06,\n", - " \"f1QRB\": 0.9978364829682433,\n", - " \"f1QRB_std_err\": 9.620813002580898e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9963759540347803,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00012367388976947607,\n", - " \"fRO\": 0.9510000000000001\n", - " },\n", - " \"14\": {\n", - " \"T1\": 2.5293473065657095e-05,\n", - " \"T2\": 9.36537876096776e-06,\n", - " \"f1QRB\": 0.998842847964493,\n", - " \"f1QRB_std_err\": 4.516739217914318e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9881633747246134,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0005272443332292143,\n", - " \"fRO\": 0.901\n", - " },\n", - " \"15\": {\n", - " \"T1\": 1.1551041284711027e-05,\n", - " \"T2\": 1.2579853425249845e-05,\n", - " \"f1QRB\": 0.998489255893657,\n", - " \"f1QRB_std_err\": 2.7552538458680072e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9922357845361932,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0008948118662166757,\n", - " \"fRO\": 0.955\n", - " },\n", - " \"16\": {\n", - " \"T1\": 1.4281268311441805e-05,\n", - " \"T2\": 4.377978693496483e-06,\n", - " \"f1QRB\": 0.9990054201495672,\n", - " \"f1QRB_std_err\": 6.714157528495989e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9837149906224266,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0012611351753166308,\n", - " \"fRO\": 0.829\n", - " },\n", - " \"17\": {\n", - " \"T1\": 1.1662223074569982e-05,\n", - " \"T2\": 1.454660830773238e-05,\n", - " \"f1QRB\": 0.998740860202077,\n", - " \"f1QRB_std_err\": 5.1601964536914805e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9970514028122579,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00024537044513123283,\n", - " \"fRO\": 0.908\n", - " },\n", - " \"18\": {\n", - " \"T1\": 9.968934823935265e-06,\n", - " \"T2\": 1.9589796502172105e-05,\n", - " \"f1QRB\": 0.9986423518590739,\n", - " \"f1QRB_std_err\": 5.2658880213106724e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9866327779674456,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0009338813063026585,\n", - " \"fRO\": 0.972\n", - " },\n", - " \"19\": {\n", - " \"T1\": 2.0401611522181766e-05,\n", - " \"T2\": 2.0127958248097962e-05,\n", - " \"f1QRB\": 0.9989406052092178,\n", - " \"f1QRB_std_err\": 1.0384272778863858e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9540929812968311,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0140386589170621,\n", - " \"fRO\": 0.8839999999999999\n", - " },\n", - " \"2\": {\n", - " \"T1\": 1.200204792271604e-05,\n", - " \"T2\": 1.3799072373273942e-05,\n", - " \"f1QRB\": 0.9990135269151349,\n", - " \"f1QRB_std_err\": 7.357680896012159e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9880529378088982,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0017469029015648293,\n", - " \"fRO\": 0.948\n", - " },\n", - " \"20\": {\n", - " \"T1\": 1.1205634086517015e-05,\n", - " \"T2\": 2.021136061881683e-05,\n", - " \"f1QRB\": 0.99863550574788,\n", - " \"f1QRB_std_err\": 0.0001013243086173447,\n", - " \"f1Q_simultaneous_RB\": 0.9963890807786204,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00022428189559441466,\n", - " \"fRO\": 0.964\n", - " },\n", - " \"21\": {\n", - " \"T1\": 1.6537041776352293e-05,\n", - " \"T2\": 2.3042730492309777e-05,\n", - " \"f1QRB\": 0.998924733798414,\n", - " \"f1QRB_std_err\": 4.451885038016737e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9973474344371448,\n", - " \"f1Q_simultaneous_RB_std_err\": 5.862809463818396e-05,\n", - " \"fRO\": 0.961\n", - " },\n", - " \"22\": {\n", - " \"T1\": 1.169350423622112e-05,\n", - " \"T2\": 8.443525217405432e-06,\n", - " \"f1QRB\": 0.9983213467733598,\n", - " \"f1QRB_std_err\": 3.990410126274954e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9914279604458962,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00037943419347924624,\n", - " \"fRO\": 0.925\n", - " },\n", - " \"23\": {\n", - " \"T1\": 9.441824859356947e-06,\n", - " \"T2\": 5.2913326296415175e-06,\n", - " \"f1QRB\": 0.9976701307015513,\n", - " \"f1QRB_std_err\": 0.00010700540512877193,\n", - " \"f1Q_simultaneous_RB\": 0.9901788731642726,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0005316430800766694,\n", - " \"fRO\": 0.96\n", - " },\n", - " \"24\": {\n", - " \"T1\": 1.513789976414338e-05,\n", - " \"T2\": 1.0233835092879296e-05,\n", - " \"f1QRB\": 0.9985335955043027,\n", - " \"f1QRB_std_err\": 4.681735038982068e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9946722481761798,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0003306675395492229,\n", - " \"fRO\": 0.964\n", - " },\n", - " \"25\": {\n", - " \"T1\": 1.2336930470728407e-05,\n", - " \"T2\": 1.5166836963263957e-05,\n", - " \"f1QRB\": 0.9974869403986402,\n", - " \"f1QRB_std_err\": 0.00010123705111342134,\n", - " \"f1Q_simultaneous_RB\": 0.9907621970642917,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0009142542946985077,\n", - " \"fRO\": 0.979\n", - " },\n", - " \"26\": {\n", - " \"T1\": 1.5864634329925205e-05,\n", - " \"T2\": 1.2361686474650869e-05,\n", - " \"f1QRB\": 0.9990088941229575,\n", - " \"f1QRB_std_err\": 4.5906187307542534e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9792798463778707,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.007405987657570798,\n", - " \"fRO\": 0.979\n", - " },\n", - " \"27\": {\n", - " \"T1\": 1.2074702350843746e-05,\n", - " \"T2\": 1.27278411116e-05,\n", - " \"f1QRB\": 0.9980468761612286,\n", - " \"f1QRB_std_err\": 4.307975264604444e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9959839833887734,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0002224347742303789,\n", - " \"fRO\": 0.923\n", - " },\n", - " \"28\": {\n", - " \"T1\": 1.0706993167577103e-05,\n", - " \"T2\": 4.318950833252091e-06,\n", - " \"f1QRB\": 0.9983598659278912,\n", - " \"f1QRB_std_err\": 5.265368127972244e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9964169184789571,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00010535982997823935,\n", - " \"fRO\": 0.9390000000000001\n", - " },\n", - " \"29\": {\n", - " \"T1\": 1.1341944165536954e-05,\n", - " \"T2\": 1.369241602228504e-05,\n", - " \"f1QRB\": 0.9987453500087209,\n", - " \"f1QRB_std_err\": 4.9662469059377595e-05,\n", - " \"f1Q_simultaneous_RB\": 0.994684444118576,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0004850719440418436,\n", - " \"fRO\": 0.919\n", - " },\n", - " \"3\": {\n", - " \"T1\": 1.3590423574110654e-05,\n", - " \"T2\": 1.2242762179709798e-05,\n", - " \"f1QRB\": 0.9988109256963399,\n", - " \"f1QRB_std_err\": 3.127368708859655e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9974957141886117,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00016568291944587862,\n", - " \"fRO\": 0.9430000000000001\n", - " },\n", - " \"30\": {\n", - " \"T1\": 1.3646731248515514e-05,\n", - " \"T2\": 6.104561847429372e-06,\n", - " \"f1QRB\": 0.9978193444021567,\n", - " \"f1QRB_std_err\": 9.901762589182238e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9877302977712037,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0003841637442215038,\n", - " \"fRO\": 0.948\n", - " },\n", - " \"31\": {\n", - " \"T1\": 1.3802110645937344e-05,\n", - " \"T2\": 1.563517934809632e-05,\n", - " \"f1QRB\": 0.9984417303308669,\n", - " \"f1QRB_std_err\": 3.418148480470944e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9929570533030072,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0006054847365238166,\n", - " \"fRO\": 0.965\n", - " },\n", - " \"32\": {\n", - " \"T1\": 9.202799758457362e-06,\n", - " \"T2\": 1.4108961115863722e-05,\n", - " \"f1QRB\": 0.9985997492079011,\n", - " \"f1QRB_std_err\": 3.432791978539362e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9961018568830936,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00011118800833474876,\n", - " \"fRO\": 0.946\n", - " },\n", - " \"33\": {\n", - " \"T1\": 1.0327065971699862e-05,\n", - " \"T2\": 1.556119830440452e-05,\n", - " \"f1QRB\": 0.9982123386172563,\n", - " \"f1QRB_std_err\": 7.122641940606408e-05,\n", - " \"f1Q_simultaneous_RB\": 0.986452895115952,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0013788158714562381,\n", - " \"fRO\": 0.9119999999999999\n", - " },\n", - " \"34\": {\n", - " \"T1\": 1.4586195795108278e-05,\n", - " \"T2\": 2.3026051719229745e-05,\n", - " \"f1QRB\": 0.9990316696235637,\n", - " \"f1QRB_std_err\": 4.082835272034691e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9831567631614165,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.005380551166613026,\n", - " \"fRO\": 0.968\n", - " },\n", - " \"35\": {\n", - " \"T1\": 1.2472608488270211e-05,\n", - " \"T2\": 2.6887182213928044e-06,\n", - " \"f1QRB\": 0.9984563581284677,\n", - " \"f1QRB_std_err\": 3.229518688327505e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9926092094434124,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0004949149472328056,\n", - " \"fRO\": 0.9390000000000001\n", - " },\n", - " \"36\": {\n", - " \"T1\": 1.1995301389345028e-05,\n", - " \"T2\": 1.465150958373994e-05,\n", - " \"f1QRB\": 0.9984292259158986,\n", - " \"f1QRB_std_err\": 6.546609783629638e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9938857409227865,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0007387375997111466,\n", - " \"fRO\": 0.9239999999999999\n", - " },\n", - " \"37\": {\n", - " \"T1\": 1.2627541252639997e-05,\n", - " \"T2\": 1.0454063088331573e-05,\n", - " \"f1QRB\": 0.9981945552086544,\n", - " \"f1QRB_std_err\": 4.606687796857082e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9942559592088257,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00043422996804595655,\n", - " \"fRO\": 0.9530000000000001\n", - " },\n", - " \"38\": {\n", - " \"T1\": 1.1847242563377152e-05,\n", - " \"T2\": 4.142921737961267e-06,\n", - " \"f1QRB\": 0.9985037902302527,\n", - " \"f1QRB_std_err\": 3.181590863819397e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9933929165271486,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0007256336261112461,\n", - " \"fRO\": 0.9319999999999999\n", - " },\n", - " \"39\": {\n", - " \"T1\": 9.885810948870026e-06,\n", - " \"T2\": 6.4290873173271026e-06,\n", - " \"f1QRB\": 0.9983335300793631,\n", - " \"f1QRB_std_err\": 2.9762141910720138e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9957991167343045,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0001944007252806288,\n", - " \"fRO\": 0.949\n", - " },\n", - " \"4\": {\n", - " \"T1\": 1.086030791238939e-05,\n", - " \"T2\": 4.233556286626707e-06,\n", - " \"f1QRB\": 0.9983228805604504,\n", - " \"f1QRB_std_err\": 6.772120952970534e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9949693416500225,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0005857479877121208,\n", - " \"fRO\": 0.875\n", - " },\n", - " \"40\": {\n", - " \"T1\": 1.3503028312238593e-05,\n", - " \"T2\": 8.780725467727078e-06,\n", - " \"f1QRB\": 0.9987192647889535,\n", - " \"f1QRB_std_err\": 6.464302528875197e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9910424170870724,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0005136262211728706,\n", - " \"fRO\": 0.8440000000000001\n", - " },\n", - " \"41\": {\n", - " \"T1\": 1.4560308157858116e-05,\n", - " \"T2\": 1.716045633340813e-05,\n", - " \"f1QRB\": 0.9988047266205938,\n", - " \"f1QRB_std_err\": 4.902254743751087e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9975669523137665,\n", - " \"f1Q_simultaneous_RB_std_err\": 9.384384423878809e-05,\n", - " \"fRO\": 0.979\n", - " },\n", - " \"42\": {\n", - " \"T1\": 1.2434683609575602e-05,\n", - " \"T2\": 3.6256999301284337e-06,\n", - " \"f1QRB\": 0.9979536032644496,\n", - " \"f1QRB_std_err\": 7.57054188655885e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9874603165423295,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0014390508248180557,\n", - " \"fRO\": 0.914\n", - " },\n", - " \"43\": {\n", - " \"T1\": 1.392433269105777e-05,\n", - " \"T2\": 1.1180633629968943e-05,\n", - " \"f1QRB\": 0.9987796339353745,\n", - " \"f1QRB_std_err\": 3.3679762988905076e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9967385315910351,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.000145214359437677,\n", - " \"fRO\": 0.897\n", - " },\n", - " \"44\": {\n", - " \"T1\": 7.296256400927546e-06,\n", - " \"T2\": 9.106538774393001e-06,\n", - " \"f1QRB\": 0.9981575222456273,\n", - " \"f1QRB_std_err\": 5.303260756294901e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9881415043069833,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0013017942037174437,\n", - " \"fRO\": 0.94\n", - " },\n", - " \"45\": {\n", - " \"T1\": 1.3268910334967961e-05,\n", - " \"T2\": 7.857690925398721e-06,\n", - " \"f1QRB\": 0.9984912060923401,\n", - " \"f1QRB_std_err\": 2.966543448075515e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9956755211983835,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00011871973911997447,\n", - " \"fRO\": 0.891\n", - " },\n", - " \"46\": {\n", - " \"T1\": 1.0917031326078654e-05,\n", - " \"T2\": 3.8230724405891706e-06,\n", - " \"f1QRB\": 0.9979684323502739,\n", - " \"f1QRB_std_err\": 0.0002995854019662164,\n", - " \"f1Q_simultaneous_RB\": 0.975963595495542,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.007745522130881571,\n", - " \"fRO\": 0.935\n", - " },\n", - " \"47\": {\n", - " \"T1\": 1.8941834518854628e-05,\n", - " \"T2\": 1.3202400158537721e-05,\n", - " \"f1QRB\": 0.9990067567380058,\n", - " \"f1QRB_std_err\": 3.039479143663921e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9927109054155437,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0009347988235015414,\n", - " \"fRO\": 0.969\n", - " },\n", - " \"48\": {\n", - " \"T1\": 1.852819065738486e-05,\n", - " \"T2\": 2.2536089277171558e-05,\n", - " \"f1QRB\": 0.9990404319981858,\n", - " \"f1QRB_std_err\": 9.534459069651376e-06,\n", - " \"f1Q_simultaneous_RB\": 0.9976688140865855,\n", - " \"f1Q_simultaneous_RB_std_err\": 6.258329253429028e-05,\n", - " \"fRO\": 0.971\n", - " },\n", - " \"49\": {\n", - " \"T1\": 8.012515838198525e-06,\n", - " \"T2\": 1.1802774853621348e-05,\n", - " \"f1QRB\": 0.998491886418055,\n", - " \"f1QRB_std_err\": 6.588336751546524e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9965146724328657,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00012650092874915022,\n", - " \"fRO\": 0.899\n", - " },\n", - " \"5\": {\n", - " \"T1\": 7.022699729720234e-06,\n", - " \"T2\": 8.984484722784913e-06,\n", - " \"f1QRB\": 0.9976312381470965,\n", - " \"f1QRB_std_err\": 6.734791799065687e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9882732974093004,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0008281102677687227,\n", - " \"fRO\": 0.96\n", - " },\n", - " \"50\": {\n", - " \"T1\": 1.4706096713491588e-05,\n", - " \"T2\": 7.2073707892269824e-06,\n", - " \"f1QRB\": 0.9987918176858203,\n", - " \"f1QRB_std_err\": 5.9139281855199896e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9961336696944487,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00018820977145887798,\n", - " \"fRO\": 0.938\n", - " },\n", - " \"51\": {\n", - " \"T1\": 1.1490648220785981e-05,\n", - " \"T2\": 1.5581498736917107e-05,\n", - " \"f1QRB\": 0.998886388183153,\n", - " \"f1QRB_std_err\": 3.355787159747344e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9972204496760835,\n", - " \"f1Q_simultaneous_RB_std_err\": 3.635897120394896e-05,\n", - " \"fRO\": 0.976\n", - " },\n", - " \"52\": {\n", - " \"T1\": 1.3367039625847592e-05,\n", - " \"T2\": 8.687794107838221e-06,\n", - " \"f1QRB\": 0.9985276290219248,\n", - " \"f1QRB_std_err\": 6.387101213233643e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9926208996300699,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0005346245941649687,\n", - " \"fRO\": 0.9450000000000001\n", - " },\n", - " \"53\": {\n", - " \"T1\": 1.3739065623580666e-05,\n", - " \"T2\": 8.074864753006304e-06,\n", - " \"f1QRB\": 0.9984318524590006,\n", - " \"f1QRB_std_err\": 5.362030287983383e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9945192795062043,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0002324037253749939,\n", - " \"fRO\": 0.93\n", - " },\n", - " \"54\": {\n", - " \"T1\": 1.3544094902116731e-05,\n", - " \"T2\": 1.474680282759122e-05,\n", - " \"f1QRB\": 0.9978022033925207,\n", - " \"f1QRB_std_err\": 9.868841734273944e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9870554459521963,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0008366283922650945,\n", - " \"fRO\": 0.9319999999999999\n", - " },\n", - " \"55\": {\n", - " \"T1\": 8.355186735480412e-06,\n", - " \"T2\": 6.116828386954151e-06,\n", - " \"f1QRB\": 0.9979008723899581,\n", - " \"f1QRB_std_err\": 4.3075915112834987e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9959689886417769,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00011561963999105313,\n", - " \"fRO\": 0.972\n", - " },\n", - " \"56\": {\n", - " \"T1\": 1.326667511137325e-05,\n", - " \"T2\": 1.4780300520813486e-05,\n", - " \"f1QRB\": 0.9979173212662213,\n", - " \"f1QRB_std_err\": 4.31369712549104e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9944370211792602,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0002094217990002463,\n", - " \"fRO\": 0.9219999999999999\n", - " },\n", - " \"57\": {\n", - " \"T1\": 1.455101257611038e-05,\n", - " \"T2\": 1.960870047233791e-05,\n", - " \"f1QRB\": 0.9983425643404946,\n", - " \"f1QRB_std_err\": 8.849716158468391e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9849113001043042,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0025303753863744377,\n", - " \"fRO\": 0.975\n", - " },\n", - " \"58\": {\n", - " \"T1\": 3.4257051676388304e-06,\n", - " \"T2\": 2.067094554021216e-05,\n", - " \"f1QRB\": 0.9974562443711241,\n", - " \"f1QRB_std_err\": 0.00014880497535613643,\n", - " \"f1Q_simultaneous_RB\": 0.9957130506732478,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00018028933214547067,\n", - " \"fRO\": 0.9390000000000001\n", - " },\n", - " \"59\": {\n", - " \"T1\": 1.189627549174346e-05,\n", - " \"T2\": 5.69892538604667e-06,\n", - " \"f1QRB\": 0.998299056930482,\n", - " \"f1QRB_std_err\": 5.265602499356629e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9470974815048256,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.003186410369996465,\n", - " \"fRO\": 0.878\n", - " },\n", - " \"6\": {\n", - " \"T1\": 1.822335673726884e-05,\n", - " \"T2\": 6.727802539055064e-06,\n", - " \"f1QRB\": 0.9983199164592657,\n", - " \"f1QRB_std_err\": 2.1010977024392302e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9977452714607752,\n", - " \"f1Q_simultaneous_RB_std_err\": 5.367441155193252e-05,\n", - " \"fRO\": 0.97\n", - " },\n", - " \"60\": {\n", - " \"T1\": 9.380249086426727e-06,\n", - " \"T2\": 1.2516674145577009e-05,\n", - " \"f1QRB\": 0.9980998568983805,\n", - " \"f1QRB_std_err\": 9.849099741305138e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9877180073216363,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0021160323745769826,\n", - " \"fRO\": 0.964\n", - " },\n", - " \"61\": {\n", - " \"T1\": 1.1061541012098007e-05,\n", - " \"T2\": 1.332038751226588e-05,\n", - " \"f1QRB\": 0.9984953398474665,\n", - " \"f1QRB_std_err\": 2.134113123585739e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9818715420699388,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0012755311059267503,\n", - " \"fRO\": 0.917\n", - " },\n", - " \"62\": {\n", - " \"T1\": 2.240616045935249e-05,\n", - " \"T2\": 1.4430037677501238e-05,\n", - " \"f1QRB\": 0.9989491715270739,\n", - " \"f1QRB_std_err\": 1.2057551512960294e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9944962061125843,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0002418085528359214,\n", - " \"fRO\": 0.97\n", - " },\n", - " \"63\": {\n", - " \"T1\": 2.1275934396448523e-05,\n", - " \"T2\": 8.753741625400898e-06,\n", - " \"f1QRB\": 0.998965880056874,\n", - " \"f1QRB_std_err\": 1.6155103652446818e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9976979100187138,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00011077399544481183,\n", - " \"fRO\": 0.963\n", - " },\n", - " \"64\": {\n", - " \"T1\": 1.3310145894190419e-05,\n", - " \"T2\": 9.359769207981546e-06,\n", - " \"f1QRB\": 0.9987416506608057,\n", - " \"f1QRB_std_err\": 4.338827590996887e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9928997364045302,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00029832557833375084,\n", - " \"fRO\": 0.974\n", - " },\n", - " \"65\": {\n", - " \"T1\": 1.6960884584302587e-05,\n", - " \"T2\": 2.2435414477732593e-05,\n", - " \"f1QRB\": 0.9983534562591511,\n", - " \"f1QRB_std_err\": 5.121084301937756e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9894264239267909,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0012007023058131605,\n", - " \"fRO\": 0.97\n", - " },\n", - " \"66\": {\n", - " \"T1\": 1.3358903668969219e-05,\n", - " \"T2\": 1.3077887796930112e-05,\n", - " \"f1QRB\": 0.9989440033501235,\n", - " \"f1QRB_std_err\": 8.064436281267019e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9393629112826073,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.03483297828130285,\n", - " \"fRO\": 0.829\n", - " },\n", - " \"67\": {\n", - " \"T1\": 1.007869560840558e-05,\n", - " \"T2\": 1.4042196317793951e-05,\n", - " \"f1QRB\": 0.997624649173813,\n", - " \"f1QRB_std_err\": 8.667593310836884e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9695753698913947,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.008763988027729572,\n", - " \"fRO\": 0.883\n", - " },\n", - " \"68\": {\n", - " \"T1\": 1.7049152182442787e-05,\n", - " \"T2\": 2.1834845428783466e-05,\n", - " \"f1QRB\": 0.9985458176565125,\n", - " \"f1QRB_std_err\": 7.042696678669654e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9871153989801792,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0006137473046286634,\n", - " \"fRO\": 0.981\n", - " },\n", - " \"69\": {\n", - " \"T1\": 1.050117812710716e-05,\n", - " \"T2\": 1.2375717205537284e-05,\n", - " \"f1QRB\": 0.9984391539715748,\n", - " \"f1QRB_std_err\": 2.7316753726686764e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9960644681999922,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00019588866156294106,\n", - " \"fRO\": 0.97\n", - " },\n", - " \"7\": {\n", - " \"T1\": 1.0112028157744161e-05,\n", - " \"T2\": 1.4227334119620048e-05,\n", - " \"f1QRB\": 0.9985250220804922,\n", - " \"f1QRB_std_err\": 2.4565959260812598e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9920273009168618,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00040463783935625774,\n", - " \"fRO\": 0.899\n", - " },\n", - " \"70\": {\n", - " \"T1\": 1.1539138878686657e-05,\n", - " \"T2\": 1.6145737635055073e-05,\n", - " \"f1QRB\": 0.9988187960932516,\n", - " \"f1QRB_std_err\": 2.0055634571908675e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9970024256965828,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00010918576660274333,\n", - " \"fRO\": 0.98\n", - " },\n", - " \"71\": {\n", - " \"T1\": 1.3213156352695689e-05,\n", - " \"T2\": 1.796619123889662e-05,\n", - " \"f1QRB\": 0.9987074928799351,\n", - " \"f1QRB_std_err\": 5.13199309224493e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9944842814897374,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0004757262874681001,\n", - " \"fRO\": 0.9390000000000001\n", - " },\n", - " \"72\": {\n", - " \"T1\": 1.049605732004487e-05,\n", - " \"T2\": 1.7036813486984776e-05,\n", - " \"f1QRB\": 0.9984253251944201,\n", - " \"f1QRB_std_err\": 6.525814829021895e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9819824747150194,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0018438045200036956,\n", - " \"fRO\": 0.9530000000000001\n", - " },\n", - " \"73\": {\n", - " \"T1\": 1.1859774837220992e-05,\n", - " \"T2\": 1.672478852900012e-05,\n", - " \"f1QRB\": 0.9983071748660685,\n", - " \"f1QRB_std_err\": 6.959704600452876e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9860830020567756,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0011398037084739882,\n", - " \"fRO\": 0.96\n", - " },\n", - " \"74\": {\n", - " \"T1\": 2.1782655035184333e-05,\n", - " \"T2\": 1.2677321733004774e-05,\n", - " \"f1QRB\": 0.9971415877813029,\n", - " \"f1QRB_std_err\": 0.00010105699194616842,\n", - " \"f1Q_simultaneous_RB\": 0.9565379721489958,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.01071842748670805,\n", - " \"fRO\": 0.942\n", - " },\n", - " \"75\": {\n", - " \"T1\": 1.2523545308155234e-05,\n", - " \"T2\": 1.3834510989336766e-05,\n", - " \"f1QRB\": 0.9971764333855229,\n", - " \"f1QRB_std_err\": 0.0001277024196538735,\n", - " \"f1Q_simultaneous_RB\": 0.9954032078361522,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00041666565208463,\n", - " \"fRO\": 0.964\n", - " },\n", - " \"76\": {\n", - " \"T1\": 1.3993738824575768e-05,\n", - " \"T2\": 1.6687259314671456e-05,\n", - " \"f1QRB\": 0.9984738369066493,\n", - " \"f1QRB_std_err\": 4.278797234213377e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9943647683262884,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00034952480966275013,\n", - " \"fRO\": 0.96\n", - " },\n", - " \"77\": {\n", - " \"T1\": 2.2999298407891544e-06,\n", - " \"T2\": 2.4839317965759703e-06,\n", - " \"f1QRB\": 0.9957533845326799,\n", - " \"f1QRB_std_err\": 0.0002946317376688207,\n", - " \"f1Q_simultaneous_RB\": 0.988141245414912,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0005821569426749395,\n", - " \"fRO\": 0.8899999999999999\n", - " },\n", - " \"78\": {\n", - " \"T1\": 1.0661597708759769e-05,\n", - " \"T2\": 4.591107882522777e-06,\n", - " \"f1QRB\": 0.9981772930643354,\n", - " \"f1QRB_std_err\": 7.694795233035109e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9970634747117967,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00013979977172748082,\n", - " \"fRO\": 0.9279999999999999\n", - " },\n", - " \"79\": {\n", - " \"T1\": 5.956754754280936e-06,\n", - " \"T2\": 7.5431460424098765e-06,\n", - " \"f1QRB\": 0.9975058816881921,\n", - " \"f1QRB_std_err\": 7.181924360427737e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9956920599463358,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00018207518884627032,\n", - " \"fRO\": 0.968\n", - " },\n", - " \"8\": {\n", - " \"T1\": 1.3610724620510119e-05,\n", - " \"T2\": 1.3972625402153553e-05,\n", - " \"f1QRB\": 0.9988835378866139,\n", - " \"f1QRB_std_err\": 1.6324867382384262e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9900293459758722,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.001054086662789911,\n", - " \"fRO\": 0.952\n", - " },\n", - " \"80\": {\n", - " \"T1\": 5.718257650346523e-06,\n", - " \"T2\": 8.530085510863147e-06,\n", - " \"f1QRB\": 0.997515747338434,\n", - " \"f1QRB_std_err\": 0.00014485350951338755,\n", - " \"f1Q_simultaneous_RB\": 0.9956189727000073,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.00017648014583816006,\n", - " \"fRO\": 0.9590000000000001\n", - " },\n", - " \"81\": {\n", - " \"T1\": 5.845856256159027e-07,\n", - " \"fRO\": 0.659\n", - " },\n", - " \"82\": {\n", - " \"T1\": 8.943492795393173e-06,\n", - " \"T2\": 8.528226963655535e-06,\n", - " \"f1QRB\": 0.9984531707138762,\n", - " \"f1QRB_std_err\": 3.363731648406129e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9970041676150151,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0001259045974978807,\n", - " \"fRO\": 0.972\n", - " },\n", - " \"83\": {\n", - " \"T1\": 1.1656356227597552e-05,\n", - " \"T2\": 1.6809405084327672e-05,\n", - " \"f1QRB\": 0.9985349054205603,\n", - " \"f1QRB_std_err\": 3.666844779962565e-05,\n", - " \"f1Q_simultaneous_RB\": 0.993635989071869,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0006670686419288763,\n", - " \"fRO\": 0.967\n", - " },\n", - " \"9\": {\n", - " \"T1\": 1.210814724470003e-05,\n", - " \"T2\": 1.5245756194012241e-05,\n", - " \"f1QRB\": 0.9983753046791906,\n", - " \"f1QRB_std_err\": 3.5303234616919877e-05,\n", - " \"f1Q_simultaneous_RB\": 0.9876909831312445,\n", - " \"f1Q_simultaneous_RB_std_err\": 0.0010506159590179844,\n", - " \"fRO\": 0.947\n", - " }\n", - " },\n", - " \"2Q\": {\n", - " \"0-1\": {\n", - " \"fISWAP\": 0.9766187804816159,\n", - " \"fISWAP_std_err\": 0.0035622337453462788\n", - " },\n", - " \"0-7\": {\n", - " \"fISWAP\": 0.9705504315064044,\n", - " \"fISWAP_std_err\": 0.004271156280075097\n", - " },\n", - " \"1-2\": {\n", - " \"fISWAP\": 0.9830121986258349,\n", - " \"fISWAP_std_err\": 0.006022012819615253\n", - " },\n", - " \"1-8\": {\n", - " \"fISWAP\": 0.9839789406590305,\n", - " \"fISWAP_std_err\": 0.0029092152107309385\n", - " },\n", - " \"10-11\": {\n", - " \"fISWAP\": 0.9552724359094983,\n", - " \"fISWAP_std_err\": 0.007862682965136179\n", - " },\n", - " \"10-17\": {\n", - " \"fISWAP\": 0.9469772913600882,\n", - " \"fISWAP_std_err\": 0.011686247436805993\n", - " },\n", - " \"11-12\": {\n", - " \"fISWAP\": 0.9683554085394239,\n", - " \"fISWAP_std_err\": 0.004837532157682706\n", - " },\n", - " \"11-18\": {\n", - " \"fISWAP\": 0.984414104229013,\n", - " \"fISWAP_std_err\": 0.007282108316967092\n", - " },\n", - " \"12-13\": {\n", - " \"fISWAP\": 0.9809571188961166,\n", - " \"fISWAP_std_err\": 0.0016955170986094985\n", - " },\n", - " \"12-19\": {\n", - " \"fISWAP\": 0.9808303798442322,\n", - " \"fISWAP_std_err\": 0.001992016314344822\n", - " },\n", - " \"13-20\": {\n", - " \"fISWAP\": 0.9014879035327319,\n", - " \"fISWAP_std_err\": 0.009068820878278594\n", - " },\n", - " \"14-15\": {\n", - " \"fISWAP\": 0.9164898173376148,\n", - " \"fISWAP_std_err\": 0.012298604537122981\n", - " },\n", - " \"14-21\": {\n", - " \"fISWAP\": 0.9754029701461953,\n", - " \"fISWAP_std_err\": 0.0027874692421925454\n", - " },\n", - " \"15-22\": {\n", - " \"fISWAP\": 0.9690006278839431,\n", - " \"fISWAP_std_err\": 0.006363309154731427\n", - " },\n", - " \"16-17\": {\n", - " \"fISWAP\": 0.9791120274493982,\n", - " \"fISWAP_std_err\": 0.0037178149357786038\n", - " },\n", - " \"16-23\": {\n", - " \"fISWAP\": 0.5,\n", - " \"fISWAP_std_err\": 1.0\n", - " },\n", - " \"17-18\": {\n", - " \"fISWAP\": 0.9793057371036289,\n", - " \"fISWAP_std_err\": 0.00912483181319379\n", - " },\n", - " \"17-24\": {\n", - " \"fISWAP\": 0.9649051255696386,\n", - " \"fISWAP_std_err\": 0.0044526817024032285\n", - " },\n", - " \"18-19\": {\n", - " \"fISWAP\": 0.9733188772533103,\n", - " \"fISWAP_std_err\": 0.00507079061548701\n", - " },\n", - " \"18-25\": {\n", - " \"fISWAP\": 0.9666964955016091,\n", - " \"fISWAP_std_err\": 0.005368071332456892\n", - " },\n", - " \"19-20\": {\n", - " \"fISWAP\": 0.981731868883286,\n", - " \"fISWAP_std_err\": 0.002722264636423467\n", - " },\n", - " \"19-26\": {\n", - " \"fISWAP\": 0.9758342066898624,\n", - " \"fISWAP_std_err\": 0.008350447328805936\n", - " },\n", - " \"2-3\": {\n", - " \"fISWAP\": 0.9717673837825588,\n", - " \"fISWAP_std_err\": 0.0037787551747814454\n", - " },\n", - " \"2-9\": {\n", - " \"fISWAP\": 0.980048556985313,\n", - " \"fISWAP_std_err\": 0.0021403020864004052\n", - " },\n", - " \"20-27\": {\n", - " \"fISWAP\": 0.9708972581612558,\n", - " \"fISWAP_std_err\": 0.004391489765408637\n", - " },\n", - " \"21-22\": {\n", - " \"fISWAP\": 0.9796636607634889,\n", - " \"fISWAP_std_err\": 0.004923353289340555\n", - " },\n", - " \"21-28\": {\n", - " \"fISWAP\": 0.9898978212078338,\n", - " \"fISWAP_std_err\": 0.001828674534516687\n", - " },\n", - " \"22-23\": {\n", - " \"fCZ\": 0.8438298719991857,\n", - " \"fCZ_std_err\": 0.02616391691830059,\n", - " \"fISWAP\": 0.9761735110703865,\n", - " \"fISWAP_std_err\": 0.009767911968362615\n", - " },\n", - " \"22-29\": {\n", - " \"fCZ\": 0.95946972829251,\n", - " \"fCZ_std_err\": 0.006104509219880724,\n", - " \"fISWAP\": 0.976089497316296,\n", - " \"fISWAP_std_err\": 0.0034392992884745635\n", - " },\n", - " \"23-24\": {\n", - " \"fCZ\": 0.9497889253308197,\n", - " \"fCZ_std_err\": 0.004905197317265755,\n", - " \"fISWAP\": 0.9711544178584169,\n", - " \"fISWAP_std_err\": 0.010214764757402373\n", - " },\n", - " \"23-30\": {\n", - " \"fCZ\": 0.9112901009744503,\n", - " \"fCZ_std_err\": 0.01237784981106983,\n", - " \"fISWAP\": 0.9089873910921831,\n", - " \"fISWAP_std_err\": 0.004249734535711232\n", - " },\n", - " \"24-25\": {\n", - " \"fISWAP\": 0.9751338427365264,\n", - " \"fISWAP_std_err\": 0.003478132606261248\n", - " },\n", - " \"24-31\": {\n", - " \"fCZ\": 0.9679550963063084,\n", - " \"fCZ_std_err\": 0.0063469134024106855,\n", - " \"fISWAP\": 0.9827768253404258,\n", - " \"fISWAP_std_err\": 0.0023417796647236815\n", - " },\n", - " \"25-26\": {\n", - " \"fISWAP\": 0.9603220790958709,\n", - " \"fISWAP_std_err\": 0.005861218651837013\n", - " },\n", - " \"25-32\": {\n", - " \"fISWAP\": 0.9662393479815815,\n", - " \"fISWAP_std_err\": 0.0026297719616019434\n", - " },\n", - " \"26-33\": {\n", - " \"fISWAP\": 0.9253292695397026,\n", - " \"fISWAP_std_err\": 0.008004584774569272\n", - " },\n", - " \"27-34\": {\n", - " \"fISWAP\": 0.9805353980979524,\n", - " \"fISWAP_std_err\": 0.00318055791399877\n", - " },\n", - " \"28-29\": {\n", - " \"fISWAP\": 0.9743779673291633,\n", - " \"fISWAP_std_err\": 0.0035283767506370817\n", - " },\n", - " \"28-35\": {\n", - " \"fISWAP\": 0.9709003773131457,\n", - " \"fISWAP_std_err\": 0.0042501860952985455\n", - " },\n", - " \"29-30\": {\n", - " \"fCZ\": 0.9398881206429885,\n", - " \"fCZ_std_err\": 0.007250321003797794,\n", - " \"fISWAP\": 0.9921165726331653,\n", - " \"fISWAP_std_err\": 0.003462958877190077\n", - " },\n", - " \"29-36\": {\n", - " \"fCZ\": 0.978298854428262,\n", - " \"fCZ_std_err\": 0.00573251098146873,\n", - " \"fISWAP\": 0.9694967879087703,\n", - " \"fISWAP_std_err\": 0.005152441130102564\n", - " },\n", - " \"3-10\": {\n", - " \"fISWAP\": 0.9614791693525138,\n", - " \"fISWAP_std_err\": 0.011896229920044972\n", - " },\n", - " \"3-4\": {\n", - " \"fISWAP\": 0.9604648393235088,\n", - " \"fISWAP_std_err\": 0.006459248394350931\n", - " },\n", - " \"30-31\": {\n", - " \"fCZ\": 0.979842618957905,\n", - " \"fCZ_std_err\": 0.004996298996456321,\n", - " \"fISWAP\": 0.955190986617079,\n", - " \"fISWAP_std_err\": 0.01643733656569085\n", - " },\n", - " \"30-37\": {\n", - " \"fCZ\": 0.9424637142593026,\n", - " \"fCZ_std_err\": 0.008723144387912826,\n", - " \"fISWAP\": 0.9710702273613299,\n", - " \"fISWAP_std_err\": 0.0013254985952451937\n", - " },\n", - " \"31-32\": {\n", - " \"fCZ\": 0.9722724092691659,\n", - " \"fCZ_std_err\": 0.003331338676968552,\n", - " \"fISWAP\": 0.9864289681808551,\n", - " \"fISWAP_std_err\": 0.002487311952367961\n", - " },\n", - " \"31-38\": {\n", - " \"fCZ\": 0.9119282350247165,\n", - " \"fCZ_std_err\": 0.004385191480433536,\n", - " \"fISWAP\": 0.9643033222799938,\n", - " \"fISWAP_std_err\": 0.007767522600069292\n", - " },\n", - " \"32-33\": {\n", - " \"fCZ\": 0.9664022871586377,\n", - " \"fCZ_std_err\": 0.005499957686163653,\n", - " \"fISWAP\": 0.9757839283255638,\n", - " \"fISWAP_std_err\": 0.003970181274251798\n", - " },\n", - " \"32-39\": {\n", - " \"fCZ\": 0.9807852772783621,\n", - " \"fCZ_std_err\": 0.003947531201144912,\n", - " \"fISWAP\": 0.9656580826861514,\n", - " \"fISWAP_std_err\": 0.004546823732345019\n", - " },\n", - " \"33-34\": {\n", - " \"fISWAP\": 0.9781610657719026,\n", - " \"fISWAP_std_err\": 0.003993581026017655\n", - " },\n", - " \"33-40\": {\n", - " \"fCZ\": 0.5,\n", - " \"fCZ_std_err\": 1.0,\n", - " \"fISWAP\": 0.9858470566683492,\n", - " \"fISWAP_std_err\": 0.0019249001134054543\n", - " },\n", - " \"34-41\": {\n", - " \"fISWAP\": 0.9749943658825005,\n", - " \"fISWAP_std_err\": 0.00385006493095272\n", - " },\n", - " \"35-36\": {\n", - " \"fCZ\": 0.5,\n", - " \"fCZ_std_err\": 1.0,\n", - " \"fISWAP\": 0.9338895969996409,\n", - " \"fISWAP_std_err\": 0.00694929925044961\n", - " },\n", - " \"35-42\": {\n", - " \"fCZ\": 0.5,\n", - " \"fCZ_std_err\": 1.0,\n", - " \"fISWAP\": 0.9758888665194541,\n", - " \"fISWAP_std_err\": 0.005630785039365519\n", - " },\n", - " \"36-37\": {\n", - " \"fCZ\": 0.9909846150024721,\n", - " \"fCZ_std_err\": 0.002011580437825699,\n", - " \"fISWAP\": 0.9594727172647181,\n", - " \"fISWAP_std_err\": 0.007783777345306185\n", - " },\n", - " \"36-43\": {\n", - " \"fCZ\": 0.984962473003395,\n", - " \"fCZ_std_err\": 0.0018608359707539153,\n", - " \"fISWAP\": 0.9783656711044363,\n", - " \"fISWAP_std_err\": 0.0035418365486884875\n", - " },\n", - " \"37-38\": {\n", - " \"fCZ\": 0.9518981504966337,\n", - " \"fCZ_std_err\": 0.013883875693064738,\n", - " \"fISWAP\": 0.8388789304167383,\n", - " \"fISWAP_std_err\": 0.012005580387865273\n", - " },\n", - " \"37-44\": {\n", - " \"fCZ\": 0.9908614249842,\n", - " \"fCZ_std_err\": 0.0010355519402939714,\n", - " \"fISWAP\": 0.956333424777154,\n", - " \"fISWAP_std_err\": 0.010693664048397094\n", - " },\n", - " \"38-39\": {\n", - " \"fCZ\": 0.9216653214466815,\n", - " \"fCZ_std_err\": 0.01880617124161755,\n", - " \"fISWAP\": 0.9548395278788367,\n", - " \"fISWAP_std_err\": 0.018540713918196856\n", - " },\n", - " \"38-45\": {\n", - " \"fCZ\": 0.9592461661424804,\n", - " \"fCZ_std_err\": 0.014702135925950464,\n", - " \"fISWAP\": 0.8642646655258875,\n", - " \"fISWAP_std_err\": 0.018981442377284\n", - " },\n", - " \"39-40\": {\n", - " \"fCZ\": 0.5,\n", - " \"fCZ_std_err\": 1.0,\n", - " \"fISWAP\": 0.9685578156513762,\n", - " \"fISWAP_std_err\": 0.009956106870036473\n", - " },\n", - " \"39-46\": {\n", - " \"fCZ\": 0.9389672626743166,\n", - " \"fCZ_std_err\": 0.020222197039037527,\n", - " \"fISWAP\": 0.9687003140140864,\n", - " \"fISWAP_std_err\": 0.004545754622233347\n", - " },\n", - " \"4-11\": {\n", - " \"fISWAP\": 0.982984464453521,\n", - " \"fISWAP_std_err\": 0.0020905706481727797\n", - " },\n", - " \"4-5\": {\n", - " \"fISWAP\": 0.975699461443797,\n", - " \"fISWAP_std_err\": 0.0034992394568941114\n", - " },\n", - " \"40-41\": {\n", - " \"fISWAP\": 0.9414580453512226,\n", - " \"fISWAP_std_err\": 0.023861998651872766\n", - " },\n", - " \"40-47\": {\n", - " \"fISWAP\": 0.9695486945631627,\n", - " \"fISWAP_std_err\": 0.0045520202928985495\n", - " },\n", - " \"41-48\": {\n", - " \"fISWAP\": 0.9764378666469002,\n", - " \"fISWAP_std_err\": 0.002549129880238382\n", - " },\n", - " \"42-43\": {\n", - " \"fCZ\": 0.9608255181505199,\n", - " \"fCZ_std_err\": 0.007014990330909015,\n", - " \"fISWAP\": 0.976306009164005,\n", - " \"fISWAP_std_err\": 0.004891157411440531\n", - " },\n", - " \"42-49\": {\n", - " \"fISWAP\": 0.8758410772315381,\n", - " \"fISWAP_std_err\": 0.01707444651133688\n", - " },\n", - " \"43-44\": {\n", - " \"fCZ\": 0.9601580976744357,\n", - " \"fCZ_std_err\": 0.00560461352096478,\n", - " \"fISWAP\": 0.9761778820073627,\n", - " \"fISWAP_std_err\": 0.0033784250661907686\n", - " },\n", - " \"43-50\": {\n", - " \"fCZ\": 0.9225333972938838,\n", - " \"fCZ_std_err\": 0.012846084218470857,\n", - " \"fISWAP\": 0.9880265807449633,\n", - " \"fISWAP_std_err\": 0.002157995677344413\n", - " },\n", - " \"44-45\": {\n", - " \"fCZ\": 0.9774899556905251,\n", - " \"fCZ_std_err\": 0.0034079186337041306,\n", - " \"fISWAP\": 0.9692148212705078,\n", - " \"fISWAP_std_err\": 0.005028226357334917\n", - " },\n", - " \"44-51\": {\n", - " \"fCZ\": 0.5,\n", - " \"fCZ_std_err\": 1.0,\n", - " \"fISWAP\": 0.9750655593395331,\n", - " \"fISWAP_std_err\": 0.005371914073162606\n", - " },\n", - " \"45-46\": {\n", - " \"fCZ\": 0.961273118619872,\n", - " \"fCZ_std_err\": 0.007719353125858747,\n", - " \"fISWAP\": 0.9879600297388816,\n", - " \"fISWAP_std_err\": 0.005179577694102992\n", - " },\n", - " \"45-52\": {\n", - " \"fCZ\": 0.9652014044846848,\n", - " \"fCZ_std_err\": 0.006803535833247638\n", - " },\n", - " \"46-47\": {\n", - " \"fISWAP\": 0.974330990702634,\n", - " \"fISWAP_std_err\": 0.00941386870498037\n", - " },\n", - " \"46-53\": {\n", - " \"fCZ\": 0.9279455399434574,\n", - " \"fCZ_std_err\": 0.01198814701245017,\n", - " \"fISWAP\": 0.8986901297638883,\n", - " \"fISWAP_std_err\": 0.01384709957224688\n", - " },\n", - " \"47-48\": {\n", - " \"fISWAP\": 0.9728634313515174,\n", - " \"fISWAP_std_err\": 0.0036381038043785414\n", - " },\n", - " \"47-54\": {\n", - " \"fISWAP\": 0.949586974813238,\n", - " \"fISWAP_std_err\": 0.005438460591113924\n", - " },\n", - " \"48-55\": {\n", - " \"fISWAP\": 0.9717248908442084,\n", - " \"fISWAP_std_err\": 0.008095629301535187\n", - " },\n", - " \"49-56\": {\n", - " \"fISWAP\": 0.9901145497780672,\n", - " \"fISWAP_std_err\": 0.0026811411766239383\n", - " },\n", - " \"5-12\": {\n", - " \"fISWAP\": 0.9851672644514572,\n", - " \"fISWAP_std_err\": 0.0024023663905258343\n", - " },\n", - " \"5-6\": {\n", - " \"fISWAP\": 0.9892854753063722,\n", - " \"fISWAP_std_err\": 0.003099156992657657\n", - " },\n", - " \"50-51\": {\n", - " \"fCZ\": 0.9336276931252352,\n", - " \"fCZ_std_err\": 0.01018064308770148,\n", - " \"fISWAP\": 0.9806141031905427,\n", - " \"fISWAP_std_err\": 0.005658400228133138\n", - " },\n", - " \"50-57\": {\n", - " \"fISWAP\": 0.903866775898138,\n", - " \"fISWAP_std_err\": 0.01384065927898158\n", - " },\n", - " \"51-52\": {\n", - " \"fCZ\": 0.9570845804202512,\n", - " \"fCZ_std_err\": 0.009005581649913738,\n", - " \"fISWAP\": 0.977619215445132,\n", - " \"fISWAP_std_err\": 0.00458421113277236\n", - " },\n", - " \"51-58\": {\n", - " \"fISWAP\": 0.8617054327020743,\n", - " \"fISWAP_std_err\": 0.01664697180960339\n", - " },\n", - " \"52-53\": {\n", - " \"fCZ\": 0.5,\n", - " \"fCZ_std_err\": 1.0\n", - " },\n", - " \"52-59\": {\n", - " \"fISWAP\": 0.8979594456090136,\n", - " \"fISWAP_std_err\": 0.014123550950137263\n", - " },\n", - " \"53-54\": {\n", - " \"fISWAP\": 0.973929468671889,\n", - " \"fISWAP_std_err\": 0.0044119568750916865\n", - " },\n", - " \"54-55\": {\n", - " \"fISWAP\": 0.9179094319232288,\n", - " \"fISWAP_std_err\": 0.011389895588278912\n", - " },\n", - " \"54-61\": {\n", - " \"fISWAP\": 0.9847139350197159,\n", - " \"fISWAP_std_err\": 0.0038407633055405985\n", - " },\n", - " \"55-62\": {\n", - " \"fISWAP\": 0.885642794343063,\n", - " \"fISWAP_std_err\": 0.019630027678373976\n", - " },\n", - " \"56-57\": {\n", - " \"fISWAP\": 0.9865489823943008,\n", - " \"fISWAP_std_err\": 0.0019159997949314631\n", - " },\n", - " \"56-63\": {\n", - " \"fISWAP\": 0.9538268374327177,\n", - " \"fISWAP_std_err\": 0.00617153605473731\n", - " },\n", - " \"57-58\": {\n", - " \"fISWAP\": 0.9699037292307013,\n", - " \"fISWAP_std_err\": 0.0071789130953941035\n", - " },\n", - " \"57-64\": {\n", - " \"fISWAP\": 0.9627463326094751,\n", - " \"fISWAP_std_err\": 0.00455312342917467\n", - " },\n", - " \"58-59\": {\n", - " \"fISWAP\": 0.9764168769797524,\n", - " \"fISWAP_std_err\": 0.007897805483124812\n", - " },\n", - " \"58-65\": {\n", - " \"fISWAP\": 0.9731192725193225,\n", - " \"fISWAP_std_err\": 0.008085116623072432\n", - " },\n", - " \"59-60\": {\n", - " \"fISWAP\": 0.9397768141099967,\n", - " \"fISWAP_std_err\": 0.01621317550245298\n", - " },\n", - " \"59-66\": {\n", - " \"fISWAP\": 0.966222077295848,\n", - " \"fISWAP_std_err\": 0.012704932849093586\n", - " },\n", - " \"6-13\": {\n", - " \"fISWAP\": 0.8683282170587062,\n", - " \"fISWAP_std_err\": 0.014086643926513962\n", - " },\n", - " \"61-62\": {\n", - " \"fISWAP\": 0.9682958511561147,\n", - " \"fISWAP_std_err\": 0.007109434727796584\n", - " },\n", - " \"61-68\": {\n", - " \"fISWAP\": 0.9797280231918564,\n", - " \"fISWAP_std_err\": 0.008285503408782391\n", - " },\n", - " \"62-69\": {\n", - " \"fISWAP\": 0.9835159347277058,\n", - " \"fISWAP_std_err\": 0.0038961439825226196\n", - " },\n", - " \"63-64\": {\n", - " \"fISWAP\": 0.9766689370001387,\n", - " \"fISWAP_std_err\": 0.01098393113025475\n", - " },\n", - " \"63-70\": {\n", - " \"fISWAP\": 0.9750363471773105,\n", - " \"fISWAP_std_err\": 0.0020466257417841097\n", - " },\n", - " \"64-65\": {\n", - " \"fISWAP\": 0.9750100361955649,\n", - " \"fISWAP_std_err\": 0.003933164615221207\n", - " },\n", - " \"64-71\": {\n", - " \"fISWAP\": 0.9883032996444792,\n", - " \"fISWAP_std_err\": 0.0021935031988546743\n", - " },\n", - " \"65-66\": {\n", - " \"fISWAP\": 0.9518107655693906,\n", - " \"fISWAP_std_err\": 0.01011134796199439\n", - " },\n", - " \"65-72\": {\n", - " \"fISWAP\": 0.9469966649007503,\n", - " \"fISWAP_std_err\": 0.005444424033056095\n", - " },\n", - " \"66-67\": {\n", - " \"fISWAP\": 0.8878570195955973,\n", - " \"fISWAP_std_err\": 0.01919657015577084\n", - " },\n", - " \"67-68\": {\n", - " \"fISWAP\": 0.9782202525020303,\n", - " \"fISWAP_std_err\": 0.0028155654678937714\n", - " },\n", - " \"67-74\": {\n", - " \"fISWAP\": 0.9634755939151758,\n", - " \"fISWAP_std_err\": 0.003560335026636493\n", - " },\n", - " \"68-69\": {\n", - " \"fISWAP\": 0.5,\n", - " \"fISWAP_std_err\": 1.0\n", - " },\n", - " \"68-75\": {\n", - " \"fISWAP\": 0.97708499319791,\n", - " \"fISWAP_std_err\": 0.004299564144830033\n", - " },\n", - " \"69-76\": {\n", - " \"fISWAP\": 0.979336266462521,\n", - " \"fISWAP_std_err\": 0.002534430994037542\n", - " },\n", - " \"7-14\": {\n", - " \"fISWAP\": 0.981143053112526,\n", - " \"fISWAP_std_err\": 0.003919381295083161\n", - " },\n", - " \"7-8\": {\n", - " \"fISWAP\": 0.9294218543867043,\n", - " \"fISWAP_std_err\": 0.022514510877675024\n", - " },\n", - " \"70-71\": {\n", - " \"fISWAP\": 0.9335202516673342,\n", - " \"fISWAP_std_err\": 0.00959210123986786\n", - " },\n", - " \"70-77\": {\n", - " \"fISWAP\": 0.9710034124152961,\n", - " \"fISWAP_std_err\": 0.0062217707399712645\n", - " },\n", - " \"71-72\": {\n", - " \"fISWAP\": 0.9834548507061827,\n", - " \"fISWAP_std_err\": 0.0035168541068530627\n", - " },\n", - " \"71-78\": {\n", - " \"fISWAP\": 0.9673182860753371,\n", - " \"fISWAP_std_err\": 0.0066480176815166365\n", - " },\n", - " \"72-73\": {\n", - " \"fISWAP\": 0.9703336427935572,\n", - " \"fISWAP_std_err\": 0.010123898688418162\n", - " },\n", - " \"72-79\": {\n", - " \"fISWAP\": 0.9735973528275088,\n", - " \"fISWAP_std_err\": 0.001820107311659892\n", - " },\n", - " \"73-74\": {\n", - " \"fISWAP\": 0.9792219606961128,\n", - " \"fISWAP_std_err\": 0.00591975212740283\n", - " },\n", - " \"73-80\": {\n", - " \"fISWAP\": 0.9852705779066443,\n", - " \"fISWAP_std_err\": 0.002657801213350347\n", - " },\n", - " \"74-75\": {\n", - " \"fISWAP\": 0.9085472443849499,\n", - " \"fISWAP_std_err\": 0.007562971860334248\n", - " },\n", - " \"74-81\": {\n", - " \"fISWAP\": 0.9894767680392018,\n", - " \"fISWAP_std_err\": 0.0026537863323250234\n", - " },\n", - " \"75-76\": {\n", - " \"fISWAP\": 0.9903351742975519,\n", - " \"fISWAP_std_err\": 0.004323970604391259\n", - " },\n", - " \"75-82\": {\n", - " \"fISWAP\": 0.9828602784319908,\n", - " \"fISWAP_std_err\": 0.004565143327916646\n", - " },\n", - " \"76-83\": {\n", - " \"fISWAP\": 0.9870657055948788,\n", - " \"fISWAP_std_err\": 0.0017739417457878779\n", - " },\n", - " \"77-78\": {\n", - " \"fISWAP\": 0.9610830137601442,\n", - " \"fISWAP_std_err\": 0.016043956832904795\n", - " },\n", - " \"78-79\": {\n", - " \"fISWAP\": 0.8991122543941148,\n", - " \"fISWAP_std_err\": 0.012939496843431321\n", - " },\n", - " \"79-80\": {\n", - " \"fISWAP\": 0.9643711152206,\n", - " \"fISWAP_std_err\": 0.009489511228625569\n", - " },\n", - " \"8-15\": {\n", - " \"fISWAP\": 0.970393551560983,\n", - " \"fISWAP_std_err\": 0.0034114664086898946\n", - " },\n", - " \"8-9\": {\n", - " \"fISWAP\": 0.9877747196862293,\n", - " \"fISWAP_std_err\": 0.002289149885108916\n", - " },\n", - " \"80-81\": {\n", - " \"fISWAP\": 0.9849635233644106,\n", - " \"fISWAP_std_err\": 0.003919281782607817\n", - " },\n", - " \"81-82\": {\n", - " \"fISWAP\": 0.9834952229952986,\n", - " \"fISWAP_std_err\": 0.00439942639074893\n", - " },\n", - " \"82-83\": {\n", - " \"fISWAP\": 0.9407362130638902,\n", - " \"fISWAP_std_err\": 0.009620845924644888\n", - " },\n", - " \"9-10\": {\n", - " \"fISWAP\": 0.9875880946115033,\n", - " \"fISWAP_std_err\": 0.004648227221218378\n", - " },\n", - " \"9-16\": {\n", - " \"fISWAP\": 0.9503894674199534,\n", - " \"fISWAP_std_err\": 0.016433111898909725\n", - " }\n", - " }\n", - "}\n" - ] - } - ], - "source": [ - "# the IonQ device\n", - "device = AwsDevice(Devices.IonQ.Aria1)\n", - "\n", - "# IQM\n", - "device = AwsDevice(Devices.IQM.Garnet)\n", - "\n", - "# the Rigetti device\n", - "device = AwsDevice(Devices.Rigetti.Ankaa2)\n", - "\n", - "execution_windows = device.properties.service.executionWindows\n", - "connectivity_graph = device.properties.paradigm.connectivity\n", - "calibration = device.properties.provider.specs\n", - "\n", - "print(f'The availability windows for {device.name}:\\n{execution_windows}\\n')\n", - "print(f'The connectivity graph of the qubits for this device:\\n {connectivity_graph}\\n')\n", - "print('Calibration data:\\n', json.dumps(calibration,sort_keys=True,indent=2))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Each device has more properties to explore. To learn more, view the [Amazon Braket schemas documentation](https://amazon-braket-schemas-python.readthedocs.io/en/latest/_apidoc/braket.device_schema.html)." - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.9" - } - }, - "nbformat": 4, - "nbformat_minor": 4 + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Getting Devices and Checking Device Properties\n", + "\n", + "This tutorial demonstrates how to use the `get_devices()` method to search and instantiate devices available on Amazon Braket. It also shows how to obtain access to properties for simulator and QPU devices." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "ExecuteTime": { + "end_time": "2023-08-29T21:51:22.928626Z", + "start_time": "2023-08-29T21:51:20.846031Z" + } + }, + "outputs": [], + "source": [ + "# general imports\n", + "import json\n", + "from braket.aws import AwsDevice\n", + "from braket.devices import Devices, LocalSimulator" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Using get_devices\n", + "You can get a device, including the on-demand simulators and the QPUs, by calling the `get_devices()` method. Search for devices with one or more of the following filtering criteria:\n", + "* device arn \n", + "* name \n", + "* type \n", + "* status \n", + "* provider_name. \n", + "\n", + "The following cells give examples for each of the cases." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Getting the device by type" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2023-08-29T21:51:23.791309Z", + "start_time": "2023-08-29T21:51:22.939296Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[Device('name': SV1, 'arn': arn:aws:braket:::device/quantum-simulator/amazon/sv1),\n", + " Device('name': TN1, 'arn': arn:aws:braket:::device/quantum-simulator/amazon/tn1),\n", + " Device('name': dm1, 'arn': arn:aws:braket:::device/quantum-simulator/amazon/dm1)]" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# to get the on-demand simulators\n", + "AwsDevice.get_devices(types=['SIMULATOR'])" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[Device('name': Ankaa-2, 'arn': arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2),\n", + " Device('name': Aquila, 'arn': arn:aws:braket:us-east-1::device/qpu/quera/Aquila),\n", + " Device('name': Aria 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-1),\n", + " Device('name': Aria 2, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-2),\n", + " Device('name': Forte 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Forte-1),\n", + " Device('name': Garnet, 'arn': arn:aws:braket:eu-north-1::device/qpu/iqm/Garnet)]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# to get the list of QPUs\n", + "AwsDevice.get_devices(types=['QPU'])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Getting the device by ARN\n", + "For every type of device available in Amazon Braket, you can find the associated ARN in the Amazon Braket [Developer Guide](https://docs.aws.amazon.com/braket/latest/developerguide/braket-devices.html). You also can view the device ARN on the `Devices` section in the Amazon Braket console." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "ExecuteTime": { + "end_time": "2023-08-29T21:51:40.189738Z", + "start_time": "2023-08-29T21:51:38.108942Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[Device('name': Aria 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-1)]" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# for example, the following ARN refers to the IonQ device.\n", + "AwsDevice.get_devices(arns=['arn:aws:braket:us-east-1::device/qpu/ionq/Aria-1'])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Getting the device by name" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "ExecuteTime": { + "end_time": "2023-08-29T21:51:44.199001Z", + "start_time": "2023-08-29T21:51:40.203505Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[Device('name': Ankaa-2, 'arn': arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2)]" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# for example, the following name refers to a Rigetti Ankaa system.\n", + "AwsDevice.get_devices(names=['Ankaa-2'])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Getting the device by status" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "ExecuteTime": { + "end_time": "2023-08-29T21:51:49.133297Z", + "start_time": "2023-08-29T21:51:44.215934Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[Device('name': Ankaa-2, 'arn': arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2),\n", + " Device('name': Aquila, 'arn': arn:aws:braket:us-east-1::device/qpu/quera/Aquila),\n", + " Device('name': Aria 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-1),\n", + " Device('name': Forte 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Forte-1),\n", + " Device('name': Garnet, 'arn': arn:aws:braket:eu-north-1::device/qpu/iqm/Garnet),\n", + " Device('name': SV1, 'arn': arn:aws:braket:::device/quantum-simulator/amazon/sv1),\n", + " Device('name': TN1, 'arn': arn:aws:braket:::device/quantum-simulator/amazon/tn1),\n", + " Device('name': dm1, 'arn': arn:aws:braket:::device/quantum-simulator/amazon/dm1)]" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# retrieve all devices that are currently online\n", + "AwsDevice.get_devices(statuses=['ONLINE'])" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "ExecuteTime": { + "end_time": "2023-08-29T21:51:52.891651Z", + "start_time": "2023-08-29T21:51:49.147757Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[Device('name': Aria 2, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-2)]" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# retrieve all devices that are currently offline\n", + "AwsDevice.get_devices(statuses=['OFFLINE'])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Getting the device by provider_name" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "ExecuteTime": { + "end_time": "2023-08-29T21:51:56.454044Z", + "start_time": "2023-08-29T21:51:52.891938Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[Device('name': Aria 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-1),\n", + " Device('name': Aria 2, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-2),\n", + " Device('name': Forte 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Forte-1)]" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# for example, the following ARN retrieves the IonQ device.\n", + "AwsDevice.get_devices(provider_names=['IonQ'])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Retrieve devices in order" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "ExecuteTime": { + "end_time": "2023-08-29T21:52:10.758716Z", + "start_time": "2023-08-29T21:51:56.382501Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[Device('name': TN1, 'arn': arn:aws:braket:::device/quantum-simulator/amazon/tn1),\n", + " Device('name': SV1, 'arn': arn:aws:braket:::device/quantum-simulator/amazon/sv1),\n", + " Device('name': dm1, 'arn': arn:aws:braket:::device/quantum-simulator/amazon/dm1),\n", + " Device('name': Garnet, 'arn': arn:aws:braket:eu-north-1::device/qpu/iqm/Garnet),\n", + " Device('name': Aria 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-1),\n", + " Device('name': Aria 2, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-2),\n", + " Device('name': Forte 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Forte-1),\n", + " Device('name': Aquila, 'arn': arn:aws:braket:us-east-1::device/qpu/quera/Aquila),\n", + " Device('name': Ankaa-2, 'arn': arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2)]" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# retrieve the list of devices, ordered by provider name\n", + "AwsDevice.get_devices(order_by='provider_name')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Getting the device with multiple criteria" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "ExecuteTime": { + "end_time": "2023-08-29T21:52:15.233392Z", + "start_time": "2023-08-29T21:52:10.769127Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[Device('name': Ankaa-2, 'arn': arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2),\n", + " Device('name': Aquila, 'arn': arn:aws:braket:us-east-1::device/qpu/quera/Aquila),\n", + " Device('name': Aria 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Aria-1),\n", + " Device('name': Forte 1, 'arn': arn:aws:braket:us-east-1::device/qpu/ionq/Forte-1),\n", + " Device('name': Garnet, 'arn': arn:aws:braket:eu-north-1::device/qpu/iqm/Garnet)]" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# multiple criteria can be applied\n", + "AwsDevice.get_devices(types=['QPU'],statuses=['ONLINE'])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Getting a device directly\n", + "You can specify a device directly, with the device ARN. These ARNs can be specified from each device's entry in the `Devices` enum:" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "ExecuteTime": { + "end_time": "2023-08-29T21:52:17.486681Z", + "start_time": "2023-08-29T21:52:15.244209Z" + } + }, + "outputs": [], + "source": [ + "# specify a device directly by device ARN\n", + "# Rigetti\n", + "device = AwsDevice(Devices.Rigetti.Ankaa2)\n", + "# IonQ\n", + "device = AwsDevice(Devices.IonQ.Aria1)\n", + "# IQM\n", + "device = AwsDevice(Devices.IQM.Garnet)\n", + "# the on-demand simulator SV1\n", + "device = AwsDevice(Devices.Amazon.SV1)\n", + "# the on-demand simulator TN1\n", + "device = AwsDevice(Devices.Amazon.TN1)\n", + "# the local simulator\n", + "device = LocalSimulator()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Properties of devices\n", + "\n", + "You can check properties of a device with the `device.properties` call. The following examples show some useful properties of each device." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "ExecuteTime": { + "end_time": "2023-08-29T21:52:17.759631Z", + "start_time": "2023-08-29T21:52:17.502344Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The supported operations of SV1 are ['ccnot', 'cnot', 'cphaseshift', 'cphaseshift00', 'cphaseshift01', 'cphaseshift10', 'cswap', 'cy', 'cz', 'ecr', 'h', 'i', 'iswap', 'pswap', 'phaseshift', 'rx', 'ry', 'rz', 's', 'si', 'swap', 't', 'ti', 'unitary', 'v', 'vi', 'x', 'xx', 'xy', 'y', 'yy', 'z', 'zz']\n", + "\n", + "The supported result types are [ResultType(name='Sample', observables=['x', 'y', 'z', 'h', 'i', 'hermitian'], minShots=1, maxShots=100000), ResultType(name='Expectation', observables=['x', 'y', 'z', 'h', 'i', 'hermitian'], minShots=0, maxShots=100000), ResultType(name='Variance', observables=['x', 'y', 'z', 'h', 'i', 'hermitian'], minShots=0, maxShots=100000), ResultType(name='Probability', observables=None, minShots=1, maxShots=100000), ResultType(name='Amplitude', observables=None, minShots=0, maxShots=0)]\n", + "\n", + "The maximum number of qubits supported by this device is 34\n", + "The shots range of this device is (0, 100000)\n", + "The price of running quantum tasks on this device: price=0.075 unit='minute'\n" + ] + } + ], + "source": [ + "# the on-demand simulator SV1\n", + "device = AwsDevice(Devices.Amazon.SV1)\n", + "\n", + "support_gates = device.properties.action['braket.ir.jaqcd.program'].supportedOperations\n", + "support_result_types = device.properties.action['braket.ir.jaqcd.program'].supportedResultTypes\n", + "qubit_count = device.properties.paradigm.qubitCount\n", + "shots_range = device.properties.service.shotsRange\n", + "device_cost = device.properties.service.deviceCost\n", + "\n", + "print(f'The supported operations of {device.name} are {support_gates}\\n')\n", + "print(f'The supported result types are {support_result_types}\\n')\n", + "print('The maximum number of qubits supported by this device is', qubit_count)\n", + "print('The shots range of this device is', shots_range)\n", + "print('The price of running quantum tasks on this device:', device_cost)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For the IonQ and Rigetti devices, you can get information about the properties shown previously. You also can get information about the availability windows and the device calibration data." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "ExecuteTime": { + "end_time": "2023-08-29T21:52:19.588547Z", + "start_time": "2023-08-29T21:52:17.773910Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The availability windows for Ankaa-2:\n", + "[DeviceExecutionWindow(executionDay=, windowStartHour=datetime.time(0, 0), windowEndHour=datetime.time(23, 59))]\n", + "\n", + "The connectivity graph of the qubits for this device:\n", + " fullyConnected=False connectivityGraph={'0': ['1', '7'], '1': ['0', '2', '8'], '2': ['1', '3', '9'], '3': ['2', '4', '10'], '4': ['3', '5', '11'], '5': ['4', '6', '12'], '6': ['5', '13'], '7': ['0', '8', '14'], '8': ['1', '7', '9', '15'], '9': ['2', '8', '10', '16'], '10': ['3', '9', '11', '17'], '11': ['4', '10', '12', '18'], '12': ['5', '11', '13', '19'], '13': ['6', '12', '20'], '14': ['7', '15', '21'], '15': ['8', '14', '22'], '16': ['9', '17', '23'], '17': ['10', '16', '18', '24'], '18': ['11', '17', '19', '25'], '19': ['12', '18', '20', '26'], '20': ['13', '19', '27'], '21': ['14', '22', '28'], '22': ['15', '21', '23', '29'], '23': ['16', '22', '24', '30'], '24': ['17', '23', '25', '31'], '25': ['18', '24', '26', '32'], '26': ['19', '25', '33'], '27': ['20', '34'], '28': ['21', '29', '35'], '29': ['22', '28', '30', '36'], '30': ['23', '29', '31', '37'], '31': ['24', '30', '32', '38'], '32': ['25', '31', '33', '39'], '33': ['26', '32', '34', '40'], '34': ['27', '33', '41'], '35': ['28', '36', '42'], '36': ['29', '35', '37', '43'], '37': ['30', '36', '38', '44'], '38': ['31', '37', '39', '45'], '39': ['32', '38', '40', '46'], '40': ['33', '39', '41', '47'], '41': ['34', '40', '48'], '42': ['35', '43', '49'], '43': ['36', '42', '44', '50'], '44': ['37', '43', '45', '51'], '45': ['38', '44', '46', '52'], '46': ['39', '45', '47', '53'], '47': ['40', '46', '48', '54'], '48': ['41', '47', '55'], '49': ['42', '56'], '50': ['43', '51', '57'], '51': ['44', '50', '52', '58'], '52': ['45', '51', '53', '59'], '53': ['46', '52', '54'], '54': ['47', '53', '55', '61'], '55': ['48', '54', '62'], '56': ['49', '57', '63'], '57': ['50', '56', '58', '64'], '58': ['51', '57', '59', '65'], '59': ['52', '58', '60', '66'], '60': ['59'], '61': ['54', '62', '68'], '62': ['55', '61', '69'], '63': ['56', '64', '70'], '64': ['57', '63', '65', '71'], '65': ['58', '64', '66', '72'], '66': ['59', '65', '67'], '67': ['66', '68', '74'], '68': ['61', '67', '69', '75'], '69': ['62', '68', '76'], '70': ['63', '71', '77'], '71': ['64', '70', '72', '78'], '72': ['65', '71', '73', '79'], '73': ['72', '74', '80'], '74': ['67', '73', '75', '81'], '75': ['68', '74', '76', '82'], '76': ['69', '75', '83'], '77': ['70', '78'], '78': ['71', '77', '79'], '79': ['72', '78', '80'], '80': ['73', '79', '81'], '81': ['74', '80', '82'], '82': ['75', '81', '83'], '83': ['76', '82']}\n", + "\n", + "Calibration data:\n", + " {\n", + " \"1Q\": {\n", + " \"0\": {\n", + " \"T1\": 9.188738589920766e-06,\n", + " \"T2\": 1.5115358086466058e-05,\n", + " \"f1QRB\": 0.9989751997430271,\n", + " \"f1QRB_std_err\": 2.0679831486331732e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9977906923503519,\n", + " \"f1Q_simultaneous_RB_std_err\": 5.022804153387717e-05,\n", + " \"fRO\": 0.9279999999999999\n", + " },\n", + " \"1\": {\n", + " \"T1\": 1.1424822873905215e-05,\n", + " \"T2\": 7.81925508978389e-06,\n", + " \"f1QRB\": 0.9986392103526047,\n", + " \"f1QRB_std_err\": 2.5837382143438492e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9953277301386305,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00042743732391299096,\n", + " \"fRO\": 0.945\n", + " },\n", + " \"10\": {\n", + " \"T1\": 1.4397388097206513e-05,\n", + " \"T2\": 1.339262710713176e-05,\n", + " \"f1QRB\": 0.9983666919759847,\n", + " \"f1QRB_std_err\": 0.0002540204792082052,\n", + " \"f1Q_simultaneous_RB\": 0.9949091215921125,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0008697771710166471,\n", + " \"fRO\": 0.921\n", + " },\n", + " \"11\": {\n", + " \"T1\": 1.3586183291642084e-05,\n", + " \"T2\": 8.375930706648994e-06,\n", + " \"f1QRB\": 0.9987291309192002,\n", + " \"f1QRB_std_err\": 3.472614079514786e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9729235723436281,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.002137921614257448,\n", + " \"fRO\": 0.8560000000000001\n", + " },\n", + " \"12\": {\n", + " \"T1\": 1.4839379784194732e-05,\n", + " \"T2\": 1.818202231054693e-05,\n", + " \"f1QRB\": 0.998776996620199,\n", + " \"f1QRB_std_err\": 4.4974028122863406e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9979066727008618,\n", + " \"f1Q_simultaneous_RB_std_err\": 5.178760285397647e-05,\n", + " \"fRO\": 0.975\n", + " },\n", + " \"13\": {\n", + " \"T1\": 1.5012868688046168e-05,\n", + " \"T2\": 6.238808590084043e-06,\n", + " \"f1QRB\": 0.997924906562737,\n", + " \"f1QRB_std_err\": 9.068247000218935e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9960819770811921,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00020470342371224092,\n", + " \"fRO\": 0.9319999999999999\n", + " },\n", + " \"14\": {\n", + " \"T1\": 9.241177624502927e-06,\n", + " \"T2\": 1.2479145836656001e-05,\n", + " \"f1QRB\": 0.9989037419145974,\n", + " \"f1QRB_std_err\": 7.483443152934302e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9899718004895154,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0004595459103652275,\n", + " \"fRO\": 0.9410000000000001\n", + " },\n", + " \"15\": {\n", + " \"T1\": 1.3607903689853045e-05,\n", + " \"T2\": 1.2713607419342696e-05,\n", + " \"f1QRB\": 0.9983943409536015,\n", + " \"f1QRB_std_err\": 4.027027495615709e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9929483241808174,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00023770765814441926,\n", + " \"fRO\": 0.945\n", + " },\n", + " \"16\": {\n", + " \"T1\": 1.88513673725692e-05,\n", + " \"T2\": 4.7270850455358685e-06,\n", + " \"f1QRB\": 0.9987853652052536,\n", + " \"f1QRB_std_err\": 3.375389696164912e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9833505453505913,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0009000282675945473,\n", + " \"fRO\": 0.845\n", + " },\n", + " \"17\": {\n", + " \"T1\": 6.727376139504448e-06,\n", + " \"T2\": 1.3290167565629393e-05,\n", + " \"f1QRB\": 0.9988148862501292,\n", + " \"f1QRB_std_err\": 4.965553483148904e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9971513895552646,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00011975972016416049,\n", + " \"fRO\": 0.871\n", + " },\n", + " \"18\": {\n", + " \"T1\": 1.3370961985133656e-05,\n", + " \"T2\": 1.4781911797622444e-05,\n", + " \"f1QRB\": 0.9988395481906874,\n", + " \"f1QRB_std_err\": 3.334202920860159e-05,\n", + " \"f1Q_simultaneous_RB\": 0.991212188518014,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0005735243624384439,\n", + " \"fRO\": 0.9450000000000001\n", + " },\n", + " \"19\": {\n", + " \"T1\": 1.3694445091389104e-05,\n", + " \"T2\": 1.8948746412036046e-05,\n", + " \"f1QRB\": 0.9989032737033892,\n", + " \"f1QRB_std_err\": 2.1809754472271395e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9377408142450181,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.022945728139192902,\n", + " \"fRO\": 0.86\n", + " },\n", + " \"2\": {\n", + " \"T1\": 1.2858591189370053e-05,\n", + " \"T2\": 1.6878980942888143e-05,\n", + " \"f1QRB\": 0.9984345619163735,\n", + " \"f1QRB_std_err\": 9.08541980198589e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9894961138887621,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0010389843019420724,\n", + " \"fRO\": 0.9079999999999999\n", + " },\n", + " \"20\": {\n", + " \"T1\": 1.4033755270253051e-05,\n", + " \"T2\": 2.417434951047098e-05,\n", + " \"f1QRB\": 0.9984097828044537,\n", + " \"f1QRB_std_err\": 0.0001003650197355637,\n", + " \"f1Q_simultaneous_RB\": 0.9972607664140928,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0002625968643302963,\n", + " \"fRO\": 0.956\n", + " },\n", + " \"21\": {\n", + " \"T1\": 1.2585205427234064e-05,\n", + " \"T2\": 2.092706172954416e-05,\n", + " \"f1QRB\": 0.9987920931253695,\n", + " \"f1QRB_std_err\": 2.75729899097585e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9972438852563055,\n", + " \"f1Q_simultaneous_RB_std_err\": 4.7833914374202874e-05,\n", + " \"fRO\": 0.964\n", + " },\n", + " \"22\": {\n", + " \"T1\": 1.3156398816510328e-05,\n", + " \"T2\": 9.055428316830254e-06,\n", + " \"f1QRB\": 0.9987088311152464,\n", + " \"f1QRB_std_err\": 2.9284210923276044e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9882440316368954,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00217791143691248,\n", + " \"fRO\": 0.926\n", + " },\n", + " \"23\": {\n", + " \"T1\": 1.2842440379946409e-05,\n", + " \"T2\": 8.215052109680317e-06,\n", + " \"f1QRB\": 0.9974901751854006,\n", + " \"f1QRB_std_err\": 0.0001631397379850662,\n", + " \"f1Q_simultaneous_RB\": 0.9865011235636009,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0010189758801580672,\n", + " \"fRO\": 0.956\n", + " },\n", + " \"24\": {\n", + " \"T1\": 1.9346009082358398e-05,\n", + " \"T2\": 1.1937386114398276e-05,\n", + " \"f1QRB\": 0.9983253042496835,\n", + " \"f1QRB_std_err\": 8.067632036104494e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9950712793653935,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0002141642699176358,\n", + " \"fRO\": 0.979\n", + " },\n", + " \"25\": {\n", + " \"T1\": 1.1785048788788791e-05,\n", + " \"T2\": 1.4754448154974761e-05,\n", + " \"f1QRB\": 0.9979269962576733,\n", + " \"f1QRB_std_err\": 6.060664140314965e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9940890082252032,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0007016219504682814,\n", + " \"fRO\": 0.966\n", + " },\n", + " \"26\": {\n", + " \"T1\": 1.9757994068998704e-05,\n", + " \"T2\": 1.1786900530053712e-05,\n", + " \"f1QRB\": 0.9988929815534089,\n", + " \"f1QRB_std_err\": 2.8473648925082652e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9892190315759715,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0018571214358147484,\n", + " \"fRO\": 0.97\n", + " },\n", + " \"27\": {\n", + " \"T1\": 1.0772657302764382e-05,\n", + " \"T2\": 9.225720435722181e-06,\n", + " \"f1QRB\": 0.9982554695288404,\n", + " \"f1QRB_std_err\": 4.91454475921194e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9959353976666019,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00016001458516624184,\n", + " \"fRO\": 0.9139999999999999\n", + " },\n", + " \"28\": {\n", + " \"T1\": 9.981191636291515e-06,\n", + " \"T2\": 5.688781747165514e-06,\n", + " \"f1QRB\": 0.9983841943846401,\n", + " \"f1QRB_std_err\": 3.876665371947724e-05,\n", + " \"f1Q_simultaneous_RB\": 0.995992435403062,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00028985280637909165,\n", + " \"fRO\": 0.9410000000000001\n", + " },\n", + " \"29\": {\n", + " \"T1\": 1.1204638867006936e-05,\n", + " \"T2\": 1.652115287314364e-05,\n", + " \"f1QRB\": 0.9988150922713561,\n", + " \"f1QRB_std_err\": 8.275662897495279e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9952130715828645,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00034718794705519267,\n", + " \"fRO\": 0.925\n", + " },\n", + " \"3\": {\n", + " \"T1\": 1.8719464515731677e-05,\n", + " \"T2\": 1.4586748354157626e-05,\n", + " \"f1QRB\": 0.9989002998216094,\n", + " \"f1QRB_std_err\": 4.057304777251857e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9971535609092096,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0002838481061337756,\n", + " \"fRO\": 0.9239999999999999\n", + " },\n", + " \"30\": {\n", + " \"T1\": 1.244220399426232e-05,\n", + " \"T2\": 6.309696990610663e-06,\n", + " \"f1QRB\": 0.9984319024200233,\n", + " \"f1QRB_std_err\": 2.951110700225705e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9919021348796022,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0006326939371417978,\n", + " \"fRO\": 0.971\n", + " },\n", + " \"31\": {\n", + " \"T1\": 1.3062804950546854e-05,\n", + " \"T2\": 1.400102486517304e-05,\n", + " \"f1QRB\": 0.998674284285232,\n", + " \"f1QRB_std_err\": 4.043660607731187e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9916620995172601,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0002275290208907156,\n", + " \"fRO\": 0.948\n", + " },\n", + " \"32\": {\n", + " \"T1\": 1.4563700515623286e-05,\n", + " \"T2\": 1.3020747686044575e-05,\n", + " \"f1QRB\": 0.9987025319481753,\n", + " \"f1QRB_std_err\": 4.946986179999276e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9964784937971644,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00014781010102640516,\n", + " \"fRO\": 0.959\n", + " },\n", + " \"33\": {\n", + " \"T1\": 9.642732018105618e-06,\n", + " \"T2\": 1.3634615127933523e-05,\n", + " \"f1QRB\": 0.9980203558684193,\n", + " \"f1QRB_std_err\": 2.9295348076164842e-05,\n", + " \"f1Q_simultaneous_RB\": 0.983196638552863,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.002055539485119557,\n", + " \"fRO\": 0.918\n", + " },\n", + " \"34\": {\n", + " \"T1\": 1.713988970837948e-05,\n", + " \"T2\": 2.198751603734416e-05,\n", + " \"f1QRB\": 0.9990015818488835,\n", + " \"f1QRB_std_err\": 3.0424905769125453e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9813599244580338,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.004669744757842596,\n", + " \"fRO\": 0.968\n", + " },\n", + " \"35\": {\n", + " \"T1\": 1.4643912131398986e-05,\n", + " \"T2\": 3.1995577640178207e-06,\n", + " \"f1QRB\": 0.9981762911688464,\n", + " \"f1QRB_std_err\": 6.418526794908951e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9900369543687392,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0005557840471862918,\n", + " \"fRO\": 0.94\n", + " },\n", + " \"36\": {\n", + " \"T1\": 1.1051624768642374e-05,\n", + " \"T2\": 1.400670235227901e-05,\n", + " \"f1QRB\": 0.9983832731371838,\n", + " \"f1QRB_std_err\": 4.427599186346774e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9923702291289735,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.000734496046659809,\n", + " \"fRO\": 0.925\n", + " },\n", + " \"37\": {\n", + " \"T1\": 9.952535549320594e-06,\n", + " \"T2\": 9.089917827707173e-06,\n", + " \"f1QRB\": 0.9982104621121981,\n", + " \"f1QRB_std_err\": 5.9621009368908024e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9928609905289468,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0002770065858464925,\n", + " \"fRO\": 0.97\n", + " },\n", + " \"38\": {\n", + " \"T1\": 1.4542547472158691e-05,\n", + " \"T2\": 4.9119555657954954e-06,\n", + " \"f1QRB\": 0.9983391239777049,\n", + " \"f1QRB_std_err\": 5.5489399743889144e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9927274464426054,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00034490346748517424,\n", + " \"fRO\": 0.94\n", + " },\n", + " \"39\": {\n", + " \"T1\": 1.5813082724142702e-06,\n", + " \"f1QRB\": 0.9837979672096584,\n", + " \"f1QRB_std_err\": 0.0015886479371489913,\n", + " \"f1Q_simultaneous_RB\": 0.9800825196376993,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0019705352672016725,\n", + " \"fRO\": 0.948\n", + " },\n", + " \"4\": {\n", + " \"T1\": 1.221600720686062e-05,\n", + " \"T2\": 5.032176434386599e-06,\n", + " \"f1QRB\": 0.9981697192213356,\n", + " \"f1QRB_std_err\": 5.148091906526168e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9955769056038452,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0002443674943745968,\n", + " \"fRO\": 0.85\n", + " },\n", + " \"40\": {\n", + " \"T1\": 1.3836774470224874e-05,\n", + " \"T2\": 8.820018932957046e-06,\n", + " \"f1QRB\": 0.9985359309310786,\n", + " \"f1QRB_std_err\": 0.00010011566667630272,\n", + " \"f1Q_simultaneous_RB\": 0.991993880228863,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0011854776333122688,\n", + " \"fRO\": 0.868\n", + " },\n", + " \"41\": {\n", + " \"T1\": 1.2013952104481512e-05,\n", + " \"T2\": 1.9147440617148604e-05,\n", + " \"f1QRB\": 0.9988626781522412,\n", + " \"f1QRB_std_err\": 3.519955021416773e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9976416856190857,\n", + " \"f1Q_simultaneous_RB_std_err\": 7.139971507238868e-05,\n", + " \"fRO\": 0.98\n", + " },\n", + " \"42\": {\n", + " \"T1\": 1.1897315657421982e-05,\n", + " \"T2\": 6.433810612334841e-06,\n", + " \"f1QRB\": 0.9987401398855629,\n", + " \"f1QRB_std_err\": 2.4842910954783737e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9886404187567864,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.000865545671861028,\n", + " \"fRO\": 0.9199999999999999\n", + " },\n", + " \"43\": {\n", + " \"T1\": 1.175387778291488e-05,\n", + " \"T2\": 1.802576931646561e-05,\n", + " \"f1QRB\": 0.998980656920372,\n", + " \"f1QRB_std_err\": 3.047618557903109e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9966245346548614,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00012825235793464645,\n", + " \"fRO\": 0.897\n", + " },\n", + " \"44\": {\n", + " \"T1\": 1.1317533527705256e-05,\n", + " \"T2\": 7.025124023453061e-06,\n", + " \"f1QRB\": 0.9984936994107011,\n", + " \"f1QRB_std_err\": 1.9566171677975698e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9895156725495968,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0013520876714959414,\n", + " \"fRO\": 0.9430000000000001\n", + " },\n", + " \"45\": {\n", + " \"T1\": 1.3916136806546354e-05,\n", + " \"T2\": 8.54200445611926e-06,\n", + " \"f1QRB\": 0.9981938832438657,\n", + " \"f1QRB_std_err\": 7.720752371573168e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9951756210242256,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0001656578200493323,\n", + " \"fRO\": 0.883\n", + " },\n", + " \"46\": {\n", + " \"T1\": 1.6800993490267442e-05,\n", + " \"T2\": 1.390596693008661e-05,\n", + " \"f1QRB\": 0.9989904172217673,\n", + " \"f1QRB_std_err\": 0.00020792543430694119,\n", + " \"f1Q_simultaneous_RB\": 0.9740486054627526,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.003949225214890666,\n", + " \"fRO\": 0.935\n", + " },\n", + " \"47\": {\n", + " \"T1\": 2.308141076017859e-05,\n", + " \"T2\": 1.2889928165515491e-05,\n", + " \"f1QRB\": 0.9989701426764845,\n", + " \"f1QRB_std_err\": 3.549452729438895e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9936809932934392,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0005194840701065176,\n", + " \"fRO\": 0.966\n", + " },\n", + " \"48\": {\n", + " \"T1\": 2.4482424062851024e-05,\n", + " \"T2\": 1.968317056642545e-05,\n", + " \"f1QRB\": 0.998901164295319,\n", + " \"f1QRB_std_err\": 1.8909296638901778e-05,\n", + " \"f1Q_simultaneous_RB\": 0.997621217085471,\n", + " \"f1Q_simultaneous_RB_std_err\": 7.677949592921175e-05,\n", + " \"fRO\": 0.968\n", + " },\n", + " \"49\": {\n", + " \"T1\": 1.0015289971656016e-05,\n", + " \"T2\": 1.7014007307228258e-05,\n", + " \"f1QRB\": 0.9984258277322864,\n", + " \"f1QRB_std_err\": 5.47736816118378e-05,\n", + " \"f1Q_simultaneous_RB\": 0.995728017290028,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00015382936372201333,\n", + " \"fRO\": 0.908\n", + " },\n", + " \"5\": {\n", + " \"T1\": 1.3004498440941119e-05,\n", + " \"T2\": 1.6383805633386163e-05,\n", + " \"f1QRB\": 0.9986470862124049,\n", + " \"f1QRB_std_err\": 3.652268864366153e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9929592980797504,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00040364203755640396,\n", + " \"fRO\": 0.973\n", + " },\n", + " \"50\": {\n", + " \"T1\": 1.3464075894863434e-05,\n", + " \"T2\": 5.574754214725209e-06,\n", + " \"f1QRB\": 0.998431790229616,\n", + " \"f1QRB_std_err\": 6.748661568443685e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9959289209104987,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00014670291611745554,\n", + " \"fRO\": 0.9410000000000001\n", + " },\n", + " \"51\": {\n", + " \"T1\": 6.707631008093091e-06,\n", + " \"T2\": 1.558251977239244e-05,\n", + " \"f1QRB\": 0.9988574376159899,\n", + " \"f1QRB_std_err\": 2.2201834762021872e-05,\n", + " \"f1Q_simultaneous_RB\": 0.996977835871332,\n", + " \"f1Q_simultaneous_RB_std_err\": 5.7777036449914484e-05,\n", + " \"fRO\": 0.974\n", + " },\n", + " \"52\": {\n", + " \"T1\": 1.0876444082164132e-05,\n", + " \"T2\": 8.302581019140548e-06,\n", + " \"f1QRB\": 0.99839829160568,\n", + " \"f1QRB_std_err\": 3.717861285133706e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9933032810947588,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.000529988652814212,\n", + " \"fRO\": 0.959\n", + " },\n", + " \"53\": {\n", + " \"T1\": 1.3108836298338454e-05,\n", + " \"T2\": 1.0337667528829016e-05,\n", + " \"f1QRB\": 0.9984238159933861,\n", + " \"f1QRB_std_err\": 5.2899593808349486e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9954968598641998,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0003350853484652073,\n", + " \"fRO\": 0.9179999999999999\n", + " },\n", + " \"54\": {\n", + " \"T1\": 1.2661827615430663e-05,\n", + " \"T2\": 1.4628180000985567e-05,\n", + " \"f1QRB\": 0.9984776311382394,\n", + " \"f1QRB_std_err\": 4.138291986479403e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9897788402240421,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0015090359441196236,\n", + " \"fRO\": 0.944\n", + " },\n", + " \"55\": {\n", + " \"T1\": 6.350408716879262e-06,\n", + " \"T2\": 5.401443542130627e-06,\n", + " \"f1QRB\": 0.9976392604241605,\n", + " \"f1QRB_std_err\": 4.848970175188756e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9953757916042162,\n", + " \"f1Q_simultaneous_RB_std_err\": 4.183999712958921e-05,\n", + " \"fRO\": 0.98\n", + " },\n", + " \"56\": {\n", + " \"T1\": 2.067563472320421e-05,\n", + " \"T2\": 1.0673230508596336e-05,\n", + " \"f1QRB\": 0.9971488473112687,\n", + " \"f1QRB_std_err\": 0.00015874611974747805,\n", + " \"f1Q_simultaneous_RB\": 0.9936475546766723,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00019979052355938962,\n", + " \"fRO\": 0.9339999999999999\n", + " },\n", + " \"57\": {\n", + " \"T1\": 1.3158675098459701e-05,\n", + " \"T2\": 1.737248082358324e-05,\n", + " \"f1QRB\": 0.9980657064974754,\n", + " \"f1QRB_std_err\": 4.2934019506785746e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9816962799151328,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0014092574130662233,\n", + " \"fRO\": 0.9099999999999999\n", + " },\n", + " \"58\": {\n", + " \"T1\": 2.877245453838103e-05,\n", + " \"T2\": 1.7015583307912096e-05,\n", + " \"f1QRB\": 0.9986684576929438,\n", + " \"f1QRB_std_err\": 3.1730303092790445e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9975652149478694,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00032303779596305114,\n", + " \"fRO\": 0.946\n", + " },\n", + " \"59\": {\n", + " \"T1\": 1.160848612530693e-05,\n", + " \"T2\": 5.767198803832716e-06,\n", + " \"f1QRB\": 0.998377983141542,\n", + " \"f1QRB_std_err\": 4.5643609775957636e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9676348487178844,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.004328527980352748,\n", + " \"fRO\": 0.873\n", + " },\n", + " \"6\": {\n", + " \"T1\": 1.8239370061508387e-05,\n", + " \"T2\": 5.5417359798717045e-06,\n", + " \"f1QRB\": 0.9979075823351948,\n", + " \"f1QRB_std_err\": 0.00015227406343373901,\n", + " \"f1Q_simultaneous_RB\": 0.9974405105945053,\n", + " \"f1Q_simultaneous_RB_std_err\": 6.156481629598492e-05,\n", + " \"fRO\": 0.963\n", + " },\n", + " \"60\": {\n", + " \"T1\": 8.927064763984261e-06,\n", + " \"T2\": 9.50878568524798e-06,\n", + " \"f1QRB\": 0.9979692265193538,\n", + " \"f1QRB_std_err\": 7.168583097486353e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9851982972890478,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0008258052575669145,\n", + " \"fRO\": 0.969\n", + " },\n", + " \"61\": {\n", + " \"T1\": 1.2053050762532225e-05,\n", + " \"T2\": 1.0969753526041124e-05,\n", + " \"f1QRB\": 0.9984267839080629,\n", + " \"f1QRB_std_err\": 4.9647881711067385e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9755784741860619,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.005164330252092108,\n", + " \"fRO\": 0.881\n", + " },\n", + " \"62\": {\n", + " \"T1\": 1.7808351268249727e-05,\n", + " \"T2\": 2.0935454437796016e-05,\n", + " \"f1QRB\": 0.9988293622267578,\n", + " \"f1QRB_std_err\": 3.1724238532503364e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9952212272657633,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0001335378001105945,\n", + " \"fRO\": 0.944\n", + " },\n", + " \"63\": {\n", + " \"T1\": 1.9533544910252338e-05,\n", + " \"T2\": 8.225690384500153e-06,\n", + " \"f1QRB\": 0.9990818104537923,\n", + " \"f1QRB_std_err\": 2.591163591836797e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9976971801778179,\n", + " \"f1Q_simultaneous_RB_std_err\": 6.06654368005454e-05,\n", + " \"fRO\": 0.965\n", + " },\n", + " \"64\": {\n", + " \"T1\": 5.3259203473510294e-06,\n", + " \"T2\": 8.466173528335672e-06,\n", + " \"f1QRB\": 0.9984190186400348,\n", + " \"f1QRB_std_err\": 6.448407276294968e-05,\n", + " \"f1Q_simultaneous_RB\": 0.993011458055223,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0003924719541656447,\n", + " \"fRO\": 0.967\n", + " },\n", + " \"65\": {\n", + " \"T1\": 1.6258689130380103e-05,\n", + " \"T2\": 2.13610227524408e-05,\n", + " \"f1QRB\": 0.9989444357536232,\n", + " \"f1QRB_std_err\": 3.225989961221664e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9915636857510693,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0009472909244109095,\n", + " \"fRO\": 0.957\n", + " },\n", + " \"66\": {\n", + " \"T1\": 9.392627467562096e-06,\n", + " \"T2\": 8.92037605247448e-06,\n", + " \"f1QRB\": 0.9971650906144066,\n", + " \"f1QRB_std_err\": 0.0002669885055081551,\n", + " \"f1Q_simultaneous_RB\": 0.9632084176103134,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.004999298462372134,\n", + " \"fRO\": 0.786\n", + " },\n", + " \"67\": {\n", + " \"T1\": 1.0798303446079845e-05,\n", + " \"T2\": 1.442063080948124e-05,\n", + " \"f1QRB\": 0.9973961036972676,\n", + " \"f1QRB_std_err\": 0.00015345056365693833,\n", + " \"f1Q_simultaneous_RB\": 0.9807334968408162,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.002467546876349839,\n", + " \"fRO\": 0.871\n", + " },\n", + " \"68\": {\n", + " \"T1\": 1.528570986098691e-05,\n", + " \"T2\": 1.8660128795817277e-05,\n", + " \"f1QRB\": 0.9986868558246939,\n", + " \"f1QRB_std_err\": 5.381485644969931e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9757941434467859,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.006272810344326621,\n", + " \"fRO\": 0.9470000000000001\n", + " },\n", + " \"69\": {\n", + " \"T1\": 1.1718733631190332e-05,\n", + " \"T2\": 1.2067305674627332e-05,\n", + " \"f1QRB\": 0.9983299165088875,\n", + " \"f1QRB_std_err\": 4.875324178348875e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9959091496878513,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00016641915211360384,\n", + " \"fRO\": 0.9570000000000001\n", + " },\n", + " \"7\": {\n", + " \"T1\": 1.2203293820996904e-05,\n", + " \"T2\": 1.1632142317843116e-05,\n", + " \"f1QRB\": 0.998594898155075,\n", + " \"f1QRB_std_err\": 4.437384879873306e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9920859423780137,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0001805274048861091,\n", + " \"fRO\": 0.8979999999999999\n", + " },\n", + " \"70\": {\n", + " \"T1\": 1.23265203941526e-05,\n", + " \"T2\": 1.4719675933248264e-05,\n", + " \"f1QRB\": 0.9957792734843232,\n", + " \"f1QRB_std_err\": 0.00011750342197300224,\n", + " \"f1Q_simultaneous_RB\": 0.9970195422483246,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00016257128630305394,\n", + " \"fRO\": 0.976\n", + " },\n", + " \"71\": {\n", + " \"T1\": 1.583166332685028e-05,\n", + " \"T2\": 1.0856584979564591e-05,\n", + " \"f1QRB\": 0.9988470538918773,\n", + " \"f1QRB_std_err\": 6.0616375932213985e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9944350325795311,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00022116553019116896,\n", + " \"fRO\": 0.935\n", + " },\n", + " \"72\": {\n", + " \"T1\": 1.397358025395872e-05,\n", + " \"T2\": 1.8038754185674848e-05,\n", + " \"f1QRB\": 0.998568335008464,\n", + " \"f1QRB_std_err\": 6.054024131315892e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9849382823361392,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0013193296910071872,\n", + " \"fRO\": 0.974\n", + " },\n", + " \"73\": {\n", + " \"T1\": 1.1814906860408034e-05,\n", + " \"T2\": 8.825378096259247e-06,\n", + " \"f1QRB\": 0.9986812770773348,\n", + " \"f1QRB_std_err\": 4.031007930552348e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9873569114178359,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0009465125255858361,\n", + " \"fRO\": 0.957\n", + " },\n", + " \"74\": {\n", + " \"T1\": 1.8084856207509896e-05,\n", + " \"fRO\": 0.755\n", + " },\n", + " \"75\": {\n", + " \"T1\": 1.4599833718085063e-05,\n", + " \"T2\": 1.1762851405305077e-05,\n", + " \"f1QRB\": 0.998681824839147,\n", + " \"f1QRB_std_err\": 5.203226380860018e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9966864148141727,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0001278973109537322,\n", + " \"fRO\": 0.925\n", + " },\n", + " \"76\": {\n", + " \"T1\": 1.2786019802371923e-05,\n", + " \"T2\": 1.3142506452619197e-05,\n", + " \"f1QRB\": 0.9984067210095231,\n", + " \"f1QRB_std_err\": 5.331170411991985e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9942480052610472,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0005965011211577004,\n", + " \"fRO\": 0.964\n", + " },\n", + " \"77\": {\n", + " \"T1\": 3.079908884466668e-06,\n", + " \"T2\": 2.801177738273383e-06,\n", + " \"f1QRB\": 0.9945030681325627,\n", + " \"f1QRB_std_err\": 0.0001248838776475144,\n", + " \"f1Q_simultaneous_RB\": 0.9804732182715379,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0012486362086174888,\n", + " \"fRO\": 0.87\n", + " },\n", + " \"78\": {\n", + " \"T1\": 1.1244811327974159e-05,\n", + " \"T2\": 3.875097528754643e-06,\n", + " \"f1QRB\": 0.9983398650728867,\n", + " \"f1QRB_std_err\": 7.633315759862269e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9967692098406119,\n", + " \"f1Q_simultaneous_RB_std_err\": 7.424979279055196e-05,\n", + " \"fRO\": 0.903\n", + " },\n", + " \"79\": {\n", + " \"T1\": 5.6610288866255496e-06,\n", + " \"T2\": 8.629153961885565e-06,\n", + " \"f1QRB\": 0.9974617497608826,\n", + " \"f1QRB_std_err\": 2.781955255112645e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9958201350429458,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00013111493060712456,\n", + " \"fRO\": 0.948\n", + " },\n", + " \"8\": {\n", + " \"T1\": 1.1407003611118413e-05,\n", + " \"T2\": 1.2309370432467166e-05,\n", + " \"f1QRB\": 0.9987758357419216,\n", + " \"f1QRB_std_err\": 4.789620643962214e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9884117906966723,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.000709450806904051,\n", + " \"fRO\": 0.9490000000000001\n", + " },\n", + " \"80\": {\n", + " \"T1\": 5.978238576247811e-06,\n", + " \"T2\": 7.791064949482855e-06,\n", + " \"f1QRB\": 0.9975287511006907,\n", + " \"f1QRB_std_err\": 9.601258779724653e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9957053001975825,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00011365614144994835,\n", + " \"fRO\": 0.966\n", + " },\n", + " \"81\": {\n", + " \"T1\": 3.4310599698402173e-06,\n", + " \"T2\": 4.538643667345167e-06,\n", + " \"f1QRB\": 0.9701806785928798,\n", + " \"f1QRB_std_err\": 0.003063576918154014,\n", + " \"f1Q_simultaneous_RB\": 0.9645298408956499,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0035177577054300957,\n", + " \"fRO\": 0.881\n", + " },\n", + " \"82\": {\n", + " \"T1\": 1.1019548872967793e-05,\n", + " \"T2\": 1.3065749102731945e-05,\n", + " \"f1QRB\": 0.9984547839403882,\n", + " \"f1QRB_std_err\": 3.675749841499251e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9968747556504615,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.00012065576365671228,\n", + " \"fRO\": 0.963\n", + " },\n", + " \"83\": {\n", + " \"T1\": 1.090475453998459e-05,\n", + " \"T2\": 1.5393165671024967e-05,\n", + " \"f1QRB\": 0.9985743375675988,\n", + " \"f1QRB_std_err\": 4.7535691835826344e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9941849216547207,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.0006464784829884674,\n", + " \"fRO\": 0.972\n", + " },\n", + " \"9\": {\n", + " \"T1\": 9.785771028586126e-06,\n", + " \"T2\": 1.4090887380268008e-05,\n", + " \"f1QRB\": 0.9985960431813231,\n", + " \"f1QRB_std_err\": 4.30889189756182e-05,\n", + " \"f1Q_simultaneous_RB\": 0.9847208740742583,\n", + " \"f1Q_simultaneous_RB_std_err\": 0.001365107107806661,\n", + " \"fRO\": 0.945\n", + " }\n", + " },\n", + " \"2Q\": {\n", + " \"0-1\": {\n", + " \"fISWAP\": 0.9791302135165144,\n", + " \"fISWAP_std_err\": 0.00356371284654979\n", + " },\n", + " \"0-7\": {\n", + " \"fISWAP\": 0.9735136820907221,\n", + " \"fISWAP_std_err\": 0.005528756208824819\n", + " },\n", + " \"1-2\": {\n", + " \"fISWAP\": 0.9826670815072358,\n", + " \"fISWAP_std_err\": 0.004545721578955407\n", + " },\n", + " \"1-8\": {\n", + " \"fISWAP\": 0.9871636453178825,\n", + " \"fISWAP_std_err\": 0.0015318956008649608\n", + " },\n", + " \"10-11\": {\n", + " \"fISWAP\": 0.9608092769094925,\n", + " \"fISWAP_std_err\": 0.006832379421744852\n", + " },\n", + " \"10-17\": {\n", + " \"fISWAP\": 0.9175335256563664,\n", + " \"fISWAP_std_err\": 0.014230349601250074\n", + " },\n", + " \"11-12\": {\n", + " \"fISWAP\": 0.9653965261238255,\n", + " \"fISWAP_std_err\": 0.004074194576367181\n", + " },\n", + " \"11-18\": {\n", + " \"fISWAP\": 0.9827028393277744,\n", + " \"fISWAP_std_err\": 0.00719682143391899\n", + " },\n", + " \"12-13\": {\n", + " \"fISWAP\": 0.9860621874682959,\n", + " \"fISWAP_std_err\": 0.0016004359788634186\n", + " },\n", + " \"12-19\": {\n", + " \"fISWAP\": 0.9826169461521911,\n", + " \"fISWAP_std_err\": 0.0024860949331014254\n", + " },\n", + " \"13-20\": {\n", + " \"fISWAP\": 0.8992886975557597,\n", + " \"fISWAP_std_err\": 0.009522823050077288\n", + " },\n", + " \"14-15\": {\n", + " \"fISWAP\": 0.9176834388222596,\n", + " \"fISWAP_std_err\": 0.018092341455944\n", + " },\n", + " \"14-21\": {\n", + " \"fISWAP\": 0.9694771126842667,\n", + " \"fISWAP_std_err\": 0.003332132287104312\n", + " },\n", + " \"15-22\": {\n", + " \"fISWAP\": 0.9592408936940807,\n", + " \"fISWAP_std_err\": 0.006077022692492429\n", + " },\n", + " \"16-17\": {\n", + " \"fISWAP\": 0.9812012158724508,\n", + " \"fISWAP_std_err\": 0.004048459654837136\n", + " },\n", + " \"16-23\": {\n", + " \"fISWAP\": 0.5,\n", + " \"fISWAP_std_err\": 1.0\n", + " },\n", + " \"17-18\": {\n", + " \"fISWAP\": 0.9637999630059566,\n", + " \"fISWAP_std_err\": 0.007420641423514777\n", + " },\n", + " \"17-24\": {\n", + " \"fISWAP\": 0.9615095487981369,\n", + " \"fISWAP_std_err\": 0.0038152493178914048\n", + " },\n", + " \"18-19\": {\n", + " \"fISWAP\": 0.9624441046403442,\n", + " \"fISWAP_std_err\": 0.005903445677963392\n", + " },\n", + " \"18-25\": {\n", + " \"fISWAP\": 0.9640020475890487,\n", + " \"fISWAP_std_err\": 0.005958170516256149\n", + " },\n", + " \"19-20\": {\n", + " \"fISWAP\": 0.9753775134174749,\n", + " \"fISWAP_std_err\": 0.0030206413985383934\n", + " },\n", + " \"19-26\": {\n", + " \"fISWAP\": 0.9738883062816561,\n", + " \"fISWAP_std_err\": 0.0028133311282072795\n", + " },\n", + " \"2-3\": {\n", + " \"fISWAP\": 0.9761701890350708,\n", + " \"fISWAP_std_err\": 0.003984418130874122\n", + " },\n", + " \"2-9\": {\n", + " \"fISWAP\": 0.9878078152606788,\n", + " \"fISWAP_std_err\": 0.001604514158154127\n", + " },\n", + " \"20-27\": {\n", + " \"fISWAP\": 0.972527548688719,\n", + " \"fISWAP_std_err\": 0.005177397542386951\n", + " },\n", + " \"21-22\": {\n", + " \"fISWAP\": 0.9861867762396699,\n", + " \"fISWAP_std_err\": 0.0049924774137807245\n", + " },\n", + " \"21-28\": {\n", + " \"fISWAP\": 0.9875653043190505,\n", + " \"fISWAP_std_err\": 0.0020140206155346146\n", + " },\n", + " \"22-23\": {\n", + " \"fCZ\": 0.8131204267839887,\n", + " \"fCZ_std_err\": 0.023753498043183205,\n", + " \"fISWAP\": 0.9623701423788883,\n", + " \"fISWAP_std_err\": 0.00921488479505151\n", + " },\n", + " \"22-29\": {\n", + " \"fCZ\": 0.9553762383380866,\n", + " \"fCZ_std_err\": 0.008598180865132431,\n", + " \"fISWAP\": 0.9805701902071962,\n", + " \"fISWAP_std_err\": 0.0021701820410876095\n", + " },\n", + " \"23-24\": {\n", + " \"fCZ\": 0.9451155859277102,\n", + " \"fCZ_std_err\": 0.010411710027468532,\n", + " \"fISWAP\": 0.9768005265055224,\n", + " \"fISWAP_std_err\": 0.007770529050118395\n", + " },\n", + " \"23-30\": {\n", + " \"fCZ\": 0.9243983539104479,\n", + " \"fCZ_std_err\": 0.01802145417629321,\n", + " \"fISWAP\": 0.902738673879681,\n", + " \"fISWAP_std_err\": 0.006818833985233317\n", + " },\n", + " \"24-25\": {\n", + " \"fISWAP\": 0.9628007312892574,\n", + " \"fISWAP_std_err\": 0.003733949142578766\n", + " },\n", + " \"24-31\": {\n", + " \"fCZ\": 0.9896366048500892,\n", + " \"fCZ_std_err\": 0.00416104817282723,\n", + " \"fISWAP\": 0.9848767370537788,\n", + " \"fISWAP_std_err\": 0.0019422978529865585\n", + " },\n", + " \"25-26\": {\n", + " \"fISWAP\": 0.9683010306523239,\n", + " \"fISWAP_std_err\": 0.006305001630825598\n", + " },\n", + " \"25-32\": {\n", + " \"fISWAP\": 0.972785202975738,\n", + " \"fISWAP_std_err\": 0.004114423288032952\n", + " },\n", + " \"26-33\": {\n", + " \"fISWAP\": 0.9378890801422842,\n", + " \"fISWAP_std_err\": 0.010579261945524422\n", + " },\n", + " \"27-34\": {\n", + " \"fISWAP\": 0.9716219949788273,\n", + " \"fISWAP_std_err\": 0.003575681758071341\n", + " },\n", + " \"28-29\": {\n", + " \"fISWAP\": 0.9788494799023928,\n", + " \"fISWAP_std_err\": 0.0024364897527115585\n", + " },\n", + " \"28-35\": {\n", + " \"fISWAP\": 0.9639919058547002,\n", + " \"fISWAP_std_err\": 0.005405937189237481\n", + " },\n", + " \"29-30\": {\n", + " \"fCZ\": 0.9454242154413506,\n", + " \"fCZ_std_err\": 0.016219616156322496,\n", + " \"fISWAP\": 0.9778419678547438,\n", + " \"fISWAP_std_err\": 0.0016218686403212568\n", + " },\n", + " \"29-36\": {\n", + " \"fCZ\": 0.9835938239986446,\n", + " \"fCZ_std_err\": 0.003179043982604907,\n", + " \"fISWAP\": 0.9810825021956864,\n", + " \"fISWAP_std_err\": 0.004467142809673723\n", + " },\n", + " \"3-10\": {\n", + " \"fISWAP\": 0.9226230525066166,\n", + " \"fISWAP_std_err\": 0.008862475076832018\n", + " },\n", + " \"3-4\": {\n", + " \"fISWAP\": 0.9506201610747482,\n", + " \"fISWAP_std_err\": 0.006391161335644611\n", + " },\n", + " \"30-31\": {\n", + " \"fCZ\": 0.9782743632580108,\n", + " \"fCZ_std_err\": 0.003166566866056771,\n", + " \"fISWAP\": 0.9263920544692568,\n", + " \"fISWAP_std_err\": 0.012427788613003463\n", + " },\n", + " \"30-37\": {\n", + " \"fCZ\": 0.9381541716478992,\n", + " \"fCZ_std_err\": 0.011268263014875242,\n", + " \"fISWAP\": 0.988775694984386,\n", + " \"fISWAP_std_err\": 0.002369041711260937\n", + " },\n", + " \"31-32\": {\n", + " \"fCZ\": 0.97272030660307,\n", + " \"fCZ_std_err\": 0.0024880579085394304,\n", + " \"fISWAP\": 0.9777788392342968,\n", + " \"fISWAP_std_err\": 0.0028554362838577162\n", + " },\n", + " \"31-38\": {\n", + " \"fCZ\": 0.923589367568092,\n", + " \"fCZ_std_err\": 0.021497651582702258,\n", + " \"fISWAP\": 0.972427206095531,\n", + " \"fISWAP_std_err\": 0.002652465123841745\n", + " },\n", + " \"32-33\": {\n", + " \"fCZ\": 0.95823427800913,\n", + " \"fCZ_std_err\": 0.00446983618513398,\n", + " \"fISWAP\": 0.9794392126964651,\n", + " \"fISWAP_std_err\": 0.003170561763187578\n", + " },\n", + " \"32-39\": {\n", + " \"fCZ\": 0.9676193940962202,\n", + " \"fCZ_std_err\": 0.012180955656225673,\n", + " \"fISWAP\": 0.9471116565923102,\n", + " \"fISWAP_std_err\": 0.009485438714608638\n", + " },\n", + " \"33-34\": {\n", + " \"fISWAP\": 0.9791790005234218,\n", + " \"fISWAP_std_err\": 0.00434310763839065\n", + " },\n", + " \"33-40\": {\n", + " \"fCZ\": 0.5,\n", + " \"fCZ_std_err\": 1.0,\n", + " \"fISWAP\": 0.9836773772871124,\n", + " \"fISWAP_std_err\": 0.002413077893821505\n", + " },\n", + " \"34-41\": {\n", + " \"fISWAP\": 0.981208304769087,\n", + " \"fISWAP_std_err\": 0.0035818793671928296\n", + " },\n", + " \"35-36\": {\n", + " \"fCZ\": 0.5,\n", + " \"fCZ_std_err\": 1.0,\n", + " \"fISWAP\": 0.9363437120389613,\n", + " \"fISWAP_std_err\": 0.008771122408902885\n", + " },\n", + " \"35-42\": {\n", + " \"fCZ\": 0.5,\n", + " \"fCZ_std_err\": 1.0,\n", + " \"fISWAP\": 0.963098994577651,\n", + " \"fISWAP_std_err\": 0.0065455200479871065\n", + " },\n", + " \"36-37\": {\n", + " \"fCZ\": 0.9859932126721338,\n", + " \"fCZ_std_err\": 0.002265311115309427,\n", + " \"fISWAP\": 0.9393376252029916,\n", + " \"fISWAP_std_err\": 0.01064729584032537\n", + " },\n", + " \"36-43\": {\n", + " \"fCZ\": 0.9834422568445816,\n", + " \"fCZ_std_err\": 0.002149164215421339,\n", + " \"fISWAP\": 0.9819326300244948,\n", + " \"fISWAP_std_err\": 0.0028825293231968755\n", + " },\n", + " \"37-38\": {\n", + " \"fCZ\": 0.9730964409560557,\n", + " \"fCZ_std_err\": 0.007166947898501174,\n", + " \"fISWAP\": 0.8732615841593578,\n", + " \"fISWAP_std_err\": 0.008164821791420175\n", + " },\n", + " \"37-44\": {\n", + " \"fCZ\": 0.9898899788690768,\n", + " \"fCZ_std_err\": 0.0026127128645217013,\n", + " \"fISWAP\": 0.95157000198181,\n", + " \"fISWAP_std_err\": 0.005210452797842842\n", + " },\n", + " \"38-39\": {\n", + " \"fCZ\": 0.9152105518588706,\n", + " \"fCZ_std_err\": 0.018250356740116366,\n", + " \"fISWAP\": 0.9342088023346795,\n", + " \"fISWAP_std_err\": 0.006850634509083431\n", + " },\n", + " \"38-45\": {\n", + " \"fCZ\": 0.9345038340266254,\n", + " \"fCZ_std_err\": 0.014340313680079155,\n", + " \"fISWAP\": 0.8829262365164003,\n", + " \"fISWAP_std_err\": 0.016002126804853644\n", + " },\n", + " \"39-40\": {\n", + " \"fCZ\": 0.5,\n", + " \"fCZ_std_err\": 1.0,\n", + " \"fISWAP\": 0.9067660927446799,\n", + " \"fISWAP_std_err\": 0.007506787004908315\n", + " },\n", + " \"39-46\": {\n", + " \"fCZ\": 0.9117021474358413,\n", + " \"fCZ_std_err\": 0.019598451429119576,\n", + " \"fISWAP\": 0.9380858079746697,\n", + " \"fISWAP_std_err\": 0.00302266999144198\n", + " },\n", + " \"4-11\": {\n", + " \"fISWAP\": 0.9818165214983766,\n", + " \"fISWAP_std_err\": 0.0028171535523083178\n", + " },\n", + " \"4-5\": {\n", + " \"fISWAP\": 0.9799723111363947,\n", + " \"fISWAP_std_err\": 0.0023228402056086565\n", + " },\n", + " \"40-41\": {\n", + " \"fISWAP\": 0.8810830889606438,\n", + " \"fISWAP_std_err\": 0.04657399521192064\n", + " },\n", + " \"40-47\": {\n", + " \"fISWAP\": 0.9631231044654014,\n", + " \"fISWAP_std_err\": 0.004048391808971318\n", + " },\n", + " \"41-48\": {\n", + " \"fISWAP\": 0.9790577712837368,\n", + " \"fISWAP_std_err\": 0.001782511729009955\n", + " },\n", + " \"42-43\": {\n", + " \"fCZ\": 0.9573836076319032,\n", + " \"fCZ_std_err\": 0.008312305696217399,\n", + " \"fISWAP\": 0.9856361593139336,\n", + " \"fISWAP_std_err\": 0.004423360979212322\n", + " },\n", + " \"42-49\": {\n", + " \"fISWAP\": 0.8912119775523908,\n", + " \"fISWAP_std_err\": 0.014181359136284818\n", + " },\n", + " \"43-44\": {\n", + " \"fCZ\": 0.976542427162598,\n", + " \"fCZ_std_err\": 0.0073970381416081105,\n", + " \"fISWAP\": 0.9651377004532156,\n", + " \"fISWAP_std_err\": 0.003567681556245753\n", + " },\n", + " \"43-50\": {\n", + " \"fCZ\": 0.9461298002947109,\n", + " \"fCZ_std_err\": 0.008430971440763647,\n", + " \"fISWAP\": 0.9766269919766303,\n", + " \"fISWAP_std_err\": 0.0019014707924626996\n", + " },\n", + " \"44-45\": {\n", + " \"fCZ\": 0.9755393457707263,\n", + " \"fCZ_std_err\": 0.003943884052236176,\n", + " \"fISWAP\": 0.9730495165822873,\n", + " \"fISWAP_std_err\": 0.004666122346062878\n", + " },\n", + " \"44-51\": {\n", + " \"fCZ\": 0.5,\n", + " \"fCZ_std_err\": 1.0,\n", + " \"fISWAP\": 0.9579158089888303,\n", + " \"fISWAP_std_err\": 0.00695025451475838\n", + " },\n", + " \"45-46\": {\n", + " \"fCZ\": 0.9020966657305378,\n", + " \"fCZ_std_err\": 0.010842377367803063,\n", + " \"fISWAP\": 0.9839885698033055,\n", + " \"fISWAP_std_err\": 0.004785820142357263\n", + " },\n", + " \"45-52\": {\n", + " \"fCZ\": 0.9725016196879306,\n", + " \"fCZ_std_err\": 0.007004848395879452\n", + " },\n", + " \"46-47\": {\n", + " \"fISWAP\": 0.9768021087796416,\n", + " \"fISWAP_std_err\": 0.0092205674491176\n", + " },\n", + " \"46-53\": {\n", + " \"fCZ\": 0.9451739077282588,\n", + " \"fCZ_std_err\": 0.017124814756913513,\n", + " \"fISWAP\": 0.9757117047730299,\n", + " \"fISWAP_std_err\": 0.008682815084255831\n", + " },\n", + " \"47-48\": {\n", + " \"fISWAP\": 0.9550423464162892,\n", + " \"fISWAP_std_err\": 0.004984347718887333\n", + " },\n", + " \"47-54\": {\n", + " \"fISWAP\": 0.9613622679806231,\n", + " \"fISWAP_std_err\": 0.007458633706902614\n", + " },\n", + " \"48-55\": {\n", + " \"fISWAP\": 0.9627634980192908,\n", + " \"fISWAP_std_err\": 0.008282465401507198\n", + " },\n", + " \"49-56\": {\n", + " \"fISWAP\": 0.9883432051303519,\n", + " \"fISWAP_std_err\": 0.002531660644875566\n", + " },\n", + " \"5-12\": {\n", + " \"fISWAP\": 0.9893583872207398,\n", + " \"fISWAP_std_err\": 0.0014257446945732488\n", + " },\n", + " \"5-6\": {\n", + " \"fISWAP\": 0.9901198194537191,\n", + " \"fISWAP_std_err\": 0.0023940060470740735\n", + " },\n", + " \"50-51\": {\n", + " \"fCZ\": 0.9577213983869439,\n", + " \"fCZ_std_err\": 0.00860739284378715,\n", + " \"fISWAP\": 0.970702338038483,\n", + " \"fISWAP_std_err\": 0.006287196902663408\n", + " },\n", + " \"50-57\": {\n", + " \"fISWAP\": 0.9181143945211716,\n", + " \"fISWAP_std_err\": 0.010709223168729637\n", + " },\n", + " \"51-52\": {\n", + " \"fCZ\": 0.9491564067962153,\n", + " \"fCZ_std_err\": 0.010884026886345,\n", + " \"fISWAP\": 0.9746589779529199,\n", + " \"fISWAP_std_err\": 0.0061848268982777855\n", + " },\n", + " \"51-58\": {\n", + " \"fISWAP\": 0.8403915403637805,\n", + " \"fISWAP_std_err\": 0.012742536208155807\n", + " },\n", + " \"52-53\": {\n", + " \"fCZ\": 0.5,\n", + " \"fCZ_std_err\": 1.0\n", + " },\n", + " \"52-59\": {\n", + " \"fISWAP\": 0.9203207891426108,\n", + " \"fISWAP_std_err\": 0.019828596480304012\n", + " },\n", + " \"53-54\": {\n", + " \"fISWAP\": 0.9674717937208283,\n", + " \"fISWAP_std_err\": 0.0070984952256322245\n", + " },\n", + " \"54-55\": {\n", + " \"fISWAP\": 0.9241017064675299,\n", + " \"fISWAP_std_err\": 0.00579950375625575\n", + " },\n", + " \"54-61\": {\n", + " \"fISWAP\": 0.9844278693209709,\n", + " \"fISWAP_std_err\": 0.002946157403567885\n", + " },\n", + " \"55-62\": {\n", + " \"fISWAP\": 0.9518052675566455,\n", + " \"fISWAP_std_err\": 0.017777481156444015\n", + " },\n", + " \"56-57\": {\n", + " \"fISWAP\": 0.9856449237323003,\n", + " \"fISWAP_std_err\": 0.002348867430248925\n", + " },\n", + " \"56-63\": {\n", + " \"fISWAP\": 0.9360365974523757,\n", + " \"fISWAP_std_err\": 0.007315167371921507\n", + " },\n", + " \"57-58\": {\n", + " \"fISWAP\": 0.9733255282434983,\n", + " \"fISWAP_std_err\": 0.005805794216418861\n", + " },\n", + " \"57-64\": {\n", + " \"fISWAP\": 0.9700771134591953,\n", + " \"fISWAP_std_err\": 0.006807274914590517\n", + " },\n", + " \"58-59\": {\n", + " \"fISWAP\": 0.9720131861793257,\n", + " \"fISWAP_std_err\": 0.004869639197985184\n", + " },\n", + " \"58-65\": {\n", + " \"fISWAP\": 0.9520302367809772,\n", + " \"fISWAP_std_err\": 0.002479609587737865\n", + " },\n", + " \"59-60\": {\n", + " \"fISWAP\": 0.918121625533733,\n", + " \"fISWAP_std_err\": 0.0163296351605996\n", + " },\n", + " \"59-66\": {\n", + " \"fISWAP\": 0.962176761183821,\n", + " \"fISWAP_std_err\": 0.00293839714499654\n", + " },\n", + " \"6-13\": {\n", + " \"fISWAP\": 0.8350661549230961,\n", + " \"fISWAP_std_err\": 0.018642688812400166\n", + " },\n", + " \"61-62\": {\n", + " \"fISWAP\": 0.9605561884323802,\n", + " \"fISWAP_std_err\": 0.006578316080404304\n", + " },\n", + " \"61-68\": {\n", + " \"fISWAP\": 0.9669918432562913,\n", + " \"fISWAP_std_err\": 0.015121182843608215\n", + " },\n", + " \"62-69\": {\n", + " \"fISWAP\": 0.9814606775419943,\n", + " \"fISWAP_std_err\": 0.0036291564038816206\n", + " },\n", + " \"63-64\": {\n", + " \"fISWAP\": 0.9317990152425788,\n", + " \"fISWAP_std_err\": 0.0176307336668283\n", + " },\n", + " \"63-70\": {\n", + " \"fISWAP\": 0.975625564360936,\n", + " \"fISWAP_std_err\": 0.003896686974752096\n", + " },\n", + " \"64-65\": {\n", + " \"fISWAP\": 0.9679627656238718,\n", + " \"fISWAP_std_err\": 0.0063148296587278475\n", + " },\n", + " \"64-71\": {\n", + " \"fISWAP\": 0.9812035287003874,\n", + " \"fISWAP_std_err\": 0.0036838583297461288\n", + " },\n", + " \"65-66\": {\n", + " \"fISWAP\": 0.9561822123332422,\n", + " \"fISWAP_std_err\": 0.013048407432204236\n", + " },\n", + " \"65-72\": {\n", + " \"fISWAP\": 0.9560707484727107,\n", + " \"fISWAP_std_err\": 0.005119745898548705\n", + " },\n", + " \"66-67\": {\n", + " \"fISWAP\": 0.9048855427128404,\n", + " \"fISWAP_std_err\": 0.013224190178390091\n", + " },\n", + " \"67-68\": {\n", + " \"fISWAP\": 0.9735960543140385,\n", + " \"fISWAP_std_err\": 0.0022440091941664407\n", + " },\n", + " \"67-74\": {\n", + " \"fISWAP\": 0.5,\n", + " \"fISWAP_std_err\": 1.0\n", + " },\n", + " \"68-69\": {\n", + " \"fISWAP\": 0.8100065680392248,\n", + " \"fISWAP_std_err\": 0.06160381859949534\n", + " },\n", + " \"68-75\": {\n", + " \"fISWAP\": 0.9771469178058805,\n", + " \"fISWAP_std_err\": 0.0036298556761483374\n", + " },\n", + " \"69-76\": {\n", + " \"fISWAP\": 0.978963039803022,\n", + " \"fISWAP_std_err\": 0.004310528860614046\n", + " },\n", + " \"7-14\": {\n", + " \"fISWAP\": 0.9566739767031378,\n", + " \"fISWAP_std_err\": 0.012848358579714343\n", + " },\n", + " \"7-8\": {\n", + " \"fISWAP\": 0.9462017648325303,\n", + " \"fISWAP_std_err\": 0.020565841789161106\n", + " },\n", + " \"70-71\": {\n", + " \"fISWAP\": 0.9330614359890608,\n", + " \"fISWAP_std_err\": 0.012520387327788164\n", + " },\n", + " \"70-77\": {\n", + " \"fISWAP\": 0.9837859911880815,\n", + " \"fISWAP_std_err\": 0.0029161913777237193\n", + " },\n", + " \"71-72\": {\n", + " \"fISWAP\": 0.984763755465565,\n", + " \"fISWAP_std_err\": 0.002610649297196644\n", + " },\n", + " \"71-78\": {\n", + " \"fISWAP\": 0.9653037924768116,\n", + " \"fISWAP_std_err\": 0.005032380504562097\n", + " },\n", + " \"72-73\": {\n", + " \"fISWAP\": 0.9732560996989097,\n", + " \"fISWAP_std_err\": 0.002990176011335505\n", + " },\n", + " \"72-79\": {\n", + " \"fISWAP\": 0.9805028887008518,\n", + " \"fISWAP_std_err\": 0.0062179564542838486\n", + " },\n", + " \"73-74\": {\n", + " \"fISWAP\": 0.99312484820244,\n", + " \"fISWAP_std_err\": 0.0026141000472861115\n", + " },\n", + " \"73-80\": {\n", + " \"fISWAP\": 0.9860014674970105,\n", + " \"fISWAP_std_err\": 0.0021649690118058468\n", + " },\n", + " \"74-75\": {\n", + " \"fISWAP\": 0.9476395264300612,\n", + " \"fISWAP_std_err\": 0.0038919330556492614\n", + " },\n", + " \"74-81\": {\n", + " \"fISWAP\": 0.989010587659255,\n", + " \"fISWAP_std_err\": 0.003530918345271284\n", + " },\n", + " \"75-76\": {\n", + " \"fISWAP\": 0.9930268416475938,\n", + " \"fISWAP_std_err\": 0.002047839750711906\n", + " },\n", + " \"75-82\": {\n", + " \"fISWAP\": 0.975003261919278,\n", + " \"fISWAP_std_err\": 0.0033278095773716203\n", + " },\n", + " \"76-83\": {\n", + " \"fISWAP\": 0.978975407953992,\n", + " \"fISWAP_std_err\": 0.004240495156991981\n", + " },\n", + " \"77-78\": {\n", + " \"fISWAP\": 0.9466536450196962,\n", + " \"fISWAP_std_err\": 0.006045840719028088\n", + " },\n", + " \"78-79\": {\n", + " \"fISWAP\": 0.9151932765694304,\n", + " \"fISWAP_std_err\": 0.01246194931606675\n", + " },\n", + " \"79-80\": {\n", + " \"fISWAP\": 0.9608392414159426,\n", + " \"fISWAP_std_err\": 0.008322314755361252\n", + " },\n", + " \"8-15\": {\n", + " \"fISWAP\": 0.9555008835352836,\n", + " \"fISWAP_std_err\": 0.005294697346314612\n", + " },\n", + " \"8-9\": {\n", + " \"fISWAP\": 0.9853092684673772,\n", + " \"fISWAP_std_err\": 0.0029406075385905754\n", + " },\n", + " \"80-81\": {\n", + " \"fISWAP\": 0.9786280670433216,\n", + " \"fISWAP_std_err\": 0.0037847640547627997\n", + " },\n", + " \"81-82\": {\n", + " \"fISWAP\": 0.9847373102108626,\n", + " \"fISWAP_std_err\": 0.005616898527090091\n", + " },\n", + " \"82-83\": {\n", + " \"fISWAP\": 0.9476158528124492,\n", + " \"fISWAP_std_err\": 0.011421722288560053\n", + " },\n", + " \"9-10\": {\n", + " \"fISWAP\": 0.9778464831306,\n", + " \"fISWAP_std_err\": 0.0016229102326154002\n", + " },\n", + " \"9-16\": {\n", + " \"fISWAP\": 0.9241311731108792,\n", + " \"fISWAP_std_err\": 0.007007555394104928\n", + " }\n", + " }\n", + "}\n" + ] + } + ], + "source": [ + "# the IonQ device\n", + "device = AwsDevice(Devices.IonQ.Aria1)\n", + "\n", + "# IQM\n", + "device = AwsDevice(Devices.IQM.Garnet)\n", + "\n", + "# the Rigetti device\n", + "device = AwsDevice(Devices.Rigetti.Ankaa2)\n", + "\n", + "execution_windows = device.properties.service.executionWindows\n", + "connectivity_graph = device.properties.paradigm.connectivity\n", + "calibration = device.properties.provider.specs\n", + "\n", + "print(f'The availability windows for {device.name}:\\n{execution_windows}\\n')\n", + "print(f'The connectivity graph of the qubits for this device:\\n {connectivity_graph}\\n')\n", + "print('Calibration data:\\n', json.dumps(calibration,sort_keys=True,indent=2))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Each device has more properties to explore. To learn more, view the [Amazon Braket schemas documentation](https://amazon-braket-schemas-python.readthedocs.io/en/latest/_apidoc/braket.device_schema.html)." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.10" + } + }, + "nbformat": 4, + "nbformat_minor": 4 } diff --git a/examples/braket_features/Getting_Started_with_OpenQASM_on_Braket.ipynb b/examples/braket_features/Getting_Started_with_OpenQASM_on_Braket.ipynb index 8279602da..a315cba69 100644 --- a/examples/braket_features/Getting_Started_with_OpenQASM_on_Braket.ipynb +++ b/examples/braket_features/Getting_Started_with_OpenQASM_on_Braket.ipynb @@ -1,1760 +1,1769 @@ { - "cells": [ - { - "cell_type": "markdown", - "id": "80787a2d092c6fe2", - "metadata": {}, - "source": [ - "# Getting Started with OpenQASM on Braket" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "f30932accbfc8959", - "metadata": { - "ExecuteTime": { - "end_time": "2023-12-04T04:03:29.377972Z", - "start_time": "2023-12-04T04:03:29.350550Z" - } - }, - "outputs": [], - "source": [ - "# Use Braket SDK Cost Tracking to estimate the cost to run this example\n", - "from braket.tracking import Tracker\n", - "t = Tracker().start()" - ] - }, - { - "cell_type": "markdown", - "id": "a2b23cf2abc23663", - "metadata": {}, - "source": [ - "OpenQASM is a popular human-readable and hardware-agnostic quantum circuit description language. It is open-source and has been actively maintained by a [Technical Steering Committee](https://medium.com/qiskit/introducing-a-technical-steering-committee-for-openqasm3-f9db808108e1) formed by IBM, Amazon, Microsoft and the University of Innsbruck. Amazon Braket now supports OpenQASM 3.0 as an *Intermediate Representation* (IR) in addition to the in-house *JSON-Based AWS Quantum Circuit Description* ([JAQCD](https://github.com/amazon-braket/amazon-braket-schemas-python/tree/main/src/braket/ir/jaqcd)). In this notebook, we demonstrate how to submit OpenQASM quantum tasks to various devices on Braket and introduce some OpenQASM features available on Braket." - ] - }, - { - "cell_type": "markdown", - "id": "ee898521529c0469", - "metadata": {}, - "source": [ - "## Create and submit an OpenQASM quantum task\n", - "\n", - "Submitting a quantum task with OpenQASM is just as simple as using JAQCD. You can use the Amazon Braket Python SDK, Boto3, or the AWS CLI to submit OpenQASM 3.0 quantum tasks to an Amazon Braket device. We will go over each method in this section.\n", - "\n", - "\n", - "### A Bell state\n", - "\n", - "We will start with by preparing a [Bell state](https://en.wikipedia.org/wiki/Bell_state) in OpenQASM:\n" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "ca2bc5f0a29e6dd6", - "metadata": { - "ExecuteTime": { - "end_time": "2023-12-04T04:03:31.815079Z", - "start_time": "2023-12-04T04:03:31.796365Z" - } - }, - "outputs": [], - "source": [ - "bell_qasm = \"\"\"\n", - "OPENQASM 3;\n", - "\n", - "qubit[2] q;\n", - "bit[2] c;\n", - "\n", - "h q[0];\n", - "cnot q[0], q[1];\n", - "\n", - "c = measure q;\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "id": "d9b588c2b02979f6", - "metadata": {}, - "source": [ - "Compare this to the same Bell state written in JAQCD:" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "a378dc21e3ede3d0", - "metadata": { - "ExecuteTime": { - "end_time": "2023-12-04T04:03:32.662932Z", - "start_time": "2023-12-04T04:03:32.608503Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{\n", - " \"braketSchemaHeader\": {\n", - " \"name\": \"braket.ir.jaqcd.program\",\n", - " \"version\": \"1\"\n", - " },\n", - " \"instructions\": [\n", - " {\n", - " \"target\": 0,\n", - " \"type\": \"h\"\n", - " },\n", - " {\n", - " \"control\": 0,\n", - " \"target\": 1,\n", - " \"type\": \"cnot\"\n", - " }\n", - " ],\n", - " \"results\": null,\n", - " \"basis_rotation_instructions\": null\n", - "}\n" - ] - } - ], - "source": [ - "from braket.ir.jaqcd import CNot, H, Program\n", - "\n", - "program = Program(instructions=[H(target=0), CNot(control=0, target=1)])\n", - "print(program.json(indent=2))" - ] - }, - { - "cell_type": "markdown", - "id": "b8f68befdae02c0", - "metadata": {}, - "source": [ - "Immediately, we can see a difference: In OpenQASM, users define their own qubit registers, and thus the syntax is closer to what quantum algorithm researchers are used to; on the other hand, in JAQCD, qubits are indexed by integers and the convention is closer to that of hardware providers. Also, JAQCD has result types and basis rotation instructions embedded in the language while OpenQASM doesn't support them inherently (but later we will show how to use the `pragma` syntax to support them in OpenQASM)." - ] - }, - { - "cell_type": "markdown", - "id": "a92df8c76a81db2c", - "metadata": {}, - "source": [ - "\n", - "### Use the Python SDK to create OpenQASM 3.0 quantum tasks\n", - "\n", - "Most Braket users might want to use the Braket Python SDK to submit OpenQASM quantum tasks. To submit our Bell state program in the Python SDK, we first choose the quantum device that we want to run our program on. In this example, we will use the SV1 state-vector simulator for demonstration." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "8b433a601a62b11d", - "metadata": { - "ExecuteTime": { - "end_time": "2023-12-04T04:03:38.321971Z", - "start_time": "2023-12-04T04:03:36.978785Z" - } - }, - "outputs": [], - "source": [ - "from braket.aws import AwsDevice\n", - "from braket.devices import Devices\n", - "sv1 = AwsDevice(Devices.Amazon.SV1)" - ] - }, - { - "cell_type": "markdown", - "id": "d46340ec242cfc8b", - "metadata": {}, - "source": [ - "To submit the OpenQASM quantum task, we initialize an `OpenQASMProgram` object using the Bell state program text string `bell_qasm` we defined above and send it to the SV1 simulator." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "1e81325c5357195d", - "metadata": { - "ExecuteTime": { - "end_time": "2023-12-04T04:03:41.134199Z", - "start_time": "2023-12-04T04:03:39.866510Z" + "cells": [ + { + "cell_type": "markdown", + "id": "80787a2d092c6fe2", + "metadata": {}, + "source": [ + "# Getting Started with OpenQASM on Braket" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "f30932accbfc8959", + "metadata": { + "ExecuteTime": { + "end_time": "2023-12-04T04:03:29.377972Z", + "start_time": "2023-12-04T04:03:29.350550Z" + } + }, + "outputs": [], + "source": [ + "# Use Braket SDK Cost Tracking to estimate the cost to run this example\n", + "from braket.tracking import Tracker\n", + "t = Tracker().start()" + ] + }, + { + "cell_type": "markdown", + "id": "a2b23cf2abc23663", + "metadata": {}, + "source": [ + "OpenQASM is a popular human-readable and hardware-agnostic quantum circuit description language. It is open-source and has been actively maintained by a [Technical Steering Committee](https://medium.com/qiskit/introducing-a-technical-steering-committee-for-openqasm3-f9db808108e1) formed by IBM, Amazon, Microsoft and the University of Innsbruck. Amazon Braket now supports OpenQASM 3.0 as an *Intermediate Representation* (IR) in addition to the in-house *JSON-Based AWS Quantum Circuit Description* ([JAQCD](https://github.com/amazon-braket/amazon-braket-schemas-python/tree/main/src/braket/ir/jaqcd)). In this notebook, we demonstrate how to submit OpenQASM quantum tasks to various devices on Braket and introduce some OpenQASM features available on Braket." + ] + }, + { + "cell_type": "markdown", + "id": "ee898521529c0469", + "metadata": {}, + "source": [ + "## Create and submit an OpenQASM quantum task\n", + "\n", + "Submitting a quantum task with OpenQASM is just as simple as using JAQCD. You can use the Amazon Braket Python SDK, Boto3, or the AWS CLI to submit OpenQASM 3.0 quantum tasks to an Amazon Braket device. We will go over each method in this section.\n", + "\n", + "\n", + "### A Bell state\n", + "\n", + "We will start with by preparing a [Bell state](https://en.wikipedia.org/wiki/Bell_state) in OpenQASM:\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "ca2bc5f0a29e6dd6", + "metadata": { + "ExecuteTime": { + "end_time": "2023-12-04T04:03:31.815079Z", + "start_time": "2023-12-04T04:03:31.796365Z" + } + }, + "outputs": [], + "source": [ + "bell_qasm = \"\"\"\n", + "OPENQASM 3;\n", + "\n", + "qubit[2] q;\n", + "bit[2] c;\n", + "\n", + "h q[0];\n", + "cnot q[0], q[1];\n", + "\n", + "c = measure q;\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "d9b588c2b02979f6", + "metadata": {}, + "source": [ + "Compare this to the same Bell state written in JAQCD:" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "a378dc21e3ede3d0", + "metadata": { + "ExecuteTime": { + "end_time": "2023-12-04T04:03:32.662932Z", + "start_time": "2023-12-04T04:03:32.608503Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{\n", + " \"braketSchemaHeader\": {\n", + " \"name\": \"braket.ir.jaqcd.program\",\n", + " \"version\": \"1\"\n", + " },\n", + " \"instructions\": [\n", + " {\n", + " \"target\": 0,\n", + " \"type\": \"h\"\n", + " },\n", + " {\n", + " \"control\": 0,\n", + " \"target\": 1,\n", + " \"type\": \"cnot\"\n", + " }\n", + " ],\n", + " \"results\": null,\n", + " \"basis_rotation_instructions\": null\n", + "}\n" + ] + } + ], + "source": [ + "from braket.ir.jaqcd import CNot, H, Program\n", + "\n", + "program = Program(instructions=[H(target=0), CNot(control=0, target=1)])\n", + "print(program.json(indent=2))" + ] + }, + { + "cell_type": "markdown", + "id": "b8f68befdae02c0", + "metadata": {}, + "source": [ + "Immediately, we can see a difference: In OpenQASM, users define their own qubit registers, and thus the syntax is closer to what quantum algorithm researchers are used to; on the other hand, in JAQCD, qubits are indexed by integers and the convention is closer to that of hardware providers. Also, JAQCD has result types and basis rotation instructions embedded in the language while OpenQASM doesn't support them inherently (but later we will show how to use the `pragma` syntax to support them in OpenQASM)." + ] + }, + { + "cell_type": "markdown", + "id": "a92df8c76a81db2c", + "metadata": {}, + "source": [ + "\n", + "### Use the Python SDK to create OpenQASM 3.0 quantum tasks\n", + "\n", + "Most Braket users might want to use the Braket Python SDK to submit OpenQASM quantum tasks. To submit our Bell state program in the Python SDK, we first choose the quantum device that we want to run our program on. In this example, we will use the SV1 state-vector simulator for demonstration." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "8b433a601a62b11d", + "metadata": { + "ExecuteTime": { + "end_time": "2023-12-04T04:03:38.321971Z", + "start_time": "2023-12-04T04:03:36.978785Z" + } + }, + "outputs": [], + "source": [ + "from braket.aws import AwsDevice\n", + "from braket.devices import Devices\n", + "sv1 = AwsDevice(Devices.Amazon.SV1)" + ] + }, + { + "cell_type": "markdown", + "id": "d46340ec242cfc8b", + "metadata": {}, + "source": [ + "To submit the OpenQASM quantum task, we initialize an `OpenQASMProgram` object using the Bell state program text string `bell_qasm` we defined above and send it to the SV1 simulator." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "1e81325c5357195d", + "metadata": { + "ExecuteTime": { + "end_time": "2023-12-04T04:03:41.134199Z", + "start_time": "2023-12-04T04:03:39.866510Z" + }, + "scrolled": false + }, + "outputs": [], + "source": [ + "from braket.ir.openqasm import Program as OpenQASMProgram\n", + "\n", + "bell_program = OpenQASMProgram(source=bell_qasm)\n", + "bell_task = sv1.run(\n", + " bell_program, \n", + " shots=100, \n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "ba9729ce6ab2bf91", + "metadata": {}, + "source": [ + "### Submit OpenQASM 3.0 programs using the AWS Command Line Interface\n", + "\n", + "Alternatively, if you like the command line experience or you are not a Python user, you can also choose to use the [AWS Command Line Interface (CLI)](https://aws.amazon.com/cli/) to submit our Bell state program. Before doing that we have to make sure we have [AWS CLI installed](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html). The following code saves the `bell_qasm` string to a file named `bell.qasm`:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "61362f489016dd1f", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:41.407834Z", + "start_time": "2023-11-21T08:32:41.403524Z" + } + }, + "outputs": [], + "source": [ + "with open(\"bell.qasm\", \"w\") as f:\n", + " f.write(bell_qasm)" + ] + }, + { + "cell_type": "markdown", + "id": "5c4be932b51fd2ac", + "metadata": {}, + "source": [ + "Then we can use the command below to submit the quantum task via AWS CLI. Remember to replace the placeholder \\\"amazon-braket-my-bucket\\\" with your own bucket name.\n", + " \n", + " aws braket create-quantum-task \\\n", + " --region \"us-west-1\" \\\n", + " --device-arn \"arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2\" \\\n", + " --shots 100 \\\n", + " --action '{\n", + " \"braketSchemaHeader\": {\n", + " \"name\": \"braket.ir.openqasm.program\", \n", + " \"version\": \"1\"\n", + " },\n", + " \"source\": $(cat bell.qasm)\n", + " }'" + ] + }, + { + "cell_type": "markdown", + "id": "68222e9240c91d58", + "metadata": { + "collapsed": false + }, + "source": [ + "## Convert OpenQASM 3.0 programs to circuits\n", + "\n", + "You can convert OpenQASM programs into Braket `Circuit` objects if you want to programmatically change your program." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "96417df481e2f5d", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:41.420933Z", + "start_time": "2023-11-21T08:32:41.407658Z" + }, + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T : │ 0 │ 1 │ 2 │\n", + " ┌───┐ ┌───┐ \n", + "q0 : ─┤ H ├───●───┤ M ├─\n", + " └───┘ │ └───┘ \n", + " ┌─┴─┐ ┌───┐ \n", + "q1 : ───────┤ X ├─┤ M ├─\n", + " └───┘ └───┘ \n", + "T : │ 0 │ 1 │ 2 │\n" + ] + } + ], + "source": [ + "from braket.circuits import Circuit\n", + "print(Circuit.from_ir(bell_qasm))" + ] + }, + { + "cell_type": "markdown", + "id": "4fec44c2bb4680df", + "metadata": {}, + "source": [ + "## Figure out what OpenQASM features are supported on each device\n", + "\n", + "Different devices on Braket support different subsets of OpenQASM features. To see what are the supported OpenQASM features on each device, we can simply check the device capability for OpenQASM actions. As an example, we can take a look at the `action` field in the device capability of SV1 simulator:" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "78a5c9f03581cea4", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:41.425542Z", + "start_time": "2023-11-21T08:32:41.422663Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "['ccnot',\n", + " 'cnot',\n", + " 'cphaseshift',\n", + " 'cphaseshift00',\n", + " 'cphaseshift01',\n", + " 'cphaseshift10',\n", + " 'cswap',\n", + " 'cy',\n", + " 'cz',\n", + " 'ecr',\n", + " 'h',\n", + " 'i',\n", + " 'iswap',\n", + " 'pswap',\n", + " 'phaseshift',\n", + " 'rx',\n", + " 'ry',\n", + " 'rz',\n", + " 's',\n", + " 'si',\n", + " 'swap',\n", + " 't',\n", + " 'ti',\n", + " 'v',\n", + " 'vi',\n", + " 'x',\n", + " 'xx',\n", + " 'xy',\n", + " 'y',\n", + " 'yy',\n", + " 'z',\n", + " 'zz',\n", + " 'gpi',\n", + " 'gpi2',\n", + " 'ms']" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# supportedOperations\n", + "sv1.properties.action['braket.ir.openqasm.program'].supportedOperations" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "85fbc40dc254813e", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:41.463833Z", + "start_time": "2023-11-21T08:32:41.425725Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "['braket_unitary_matrix',\n", + " 'braket_basis_rotation',\n", + " 'braket_result_type_sample',\n", + " 'braket_result_type_expectation',\n", + " 'braket_result_type_variance',\n", + " 'braket_result_type_probability',\n", + " 'braket_result_type_amplitude',\n", + " 'braket_result_type_adjoint_gradient']" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# supportedPragmas\n", + "sv1.properties.action['braket.ir.openqasm.program'].supportedPragmas" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "1fa721d9960f5412", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:41.464559Z", + "start_time": "2023-11-21T08:32:41.429030Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "['braket_result_type_state_vector',\n", + " 'braket_result_type_density_matrix',\n", + " 'braket_noise_amplitude_damping',\n", + " 'braket_noise_bit_flip',\n", + " 'braket_noise_depolarizing',\n", + " 'braket_noise_kraus',\n", + " 'braket_noise_pauli_channel',\n", + " 'braket_noise_generalized_amplitude_damping',\n", + " 'braket_noise_phase_flip',\n", + " 'braket_noise_phase_damping',\n", + " 'braket_noise_two_qubit_dephasing',\n", + " 'braket_noise_two_qubit_depolarizing']" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# forbiddenPragmas\n", + "sv1.properties.action['braket.ir.openqasm.program'].forbiddenPragmas" + ] + }, + { + "cell_type": "markdown", + "id": "8190bb8089c7db3f", + "metadata": {}, + "source": [ + "The SV1 OpenQASM `action` field lists supported/forbidden OpenQASM features on the device, including `supportedPragmas`, `forbiddenPragmas`, `maximumQubitArrays`, `maximumClassicalArrays`, `requiresAllQubitsMeasurement`, `supportedResultTypes`, etc. The names are self-evident, but readers are encouraged to visit the [Amazon Braket developer guide](https://docs.aws.amazon.com/braket/latest/developerguide/braket-using.html) for full information of what these fields mean." + ] + }, + { + "cell_type": "markdown", + "id": "ee537a4601e4c244", + "metadata": {}, + "source": [ + "# OpenQASM features on Braket\n", + "\n", + "Braket supports many useful OpenQASM features, either through the OpenQASM program syntax or Braket-specific pragmas. We will walk through some of these features in this section.\n", + "\n", + "## Simulating Noise with OpenQASM\n", + "\n", + "With the fully on-demand, high-performance, density-matrix simulator [DM1](https://docs.aws.amazon.com/braket/latest/developerguide/braket-devices.html#braket-simulator-dm1), you can easily investigate the effects of realistic noise on your quantum programs. Now, we show how to use OpenQASM programs to leverage the circuit-level noise simulation capability of DM1.\n", + "\n", + "To simulate noise, we have to be able to specify different noise channels. Although syntax for noise channels is not available in the OpenQASM language, Braket uses the `pragma` statement to extend OpenQASM for defining noise channels. Here is an example of an OpenQASM program that prepares a noisy 3-qubit [GHZ state](https://en.wikipedia.org/wiki/Greenberger%E2%80%93Horne%E2%80%93Zeilinger_state):" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "4d8a62cfc51a18b", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:41.464621Z", + "start_time": "2023-11-21T08:32:41.431447Z" + } + }, + "outputs": [], + "source": [ + "noisy_ghz3_program = \"\"\"\n", + "// noisy_ghz3.qasm\n", + "// Prepare a 3 noisy qubit GHZ state\n", + "OPENQASM 3;\n", + "\n", + "qubit[3] q;\n", + "bit[3] c;\n", + "\n", + "h q[0];\n", + "#pragma braket noise depolarizing(0.1) q[0]\n", + "cnot q[0], q[1];\n", + "#pragma braket noise depolarizing(0.1) q[0]\n", + "#pragma braket noise depolarizing(0.1) q[1]\n", + "cnot q[1], q[2];\n", + "#pragma braket noise depolarizing(0.1) q[0]\n", + "#pragma braket noise depolarizing(0.1) q[1]\n", + "\n", + "c = measure q;\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "3a988726bb4c39e8", + "metadata": {}, + "source": [ + "In the example above, we inserted the depolarizing noise channel with probability of 0.1 after each gate in the circuit. The `noisy_ghz3_program` is equivalent to the following program in the Braket SDK:" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "647e3717ccbba672", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:41.464801Z", + "start_time": "2023-11-21T08:32:41.434396Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Circuit('instructions': [Instruction('operator': H('qubit_count': 1), 'target': QubitSet([Qubit(0)]), 'control': QubitSet([]), 'control_state': (), 'power': 1), Instruction('operator': Depolarizing(0.1), 'target': QubitSet([Qubit(0)]), 'control': QubitSet([]), 'control_state': (), 'power': 1), Instruction('operator': CNot('qubit_count': 2), 'target': QubitSet([Qubit(0), Qubit(1)]), 'control': QubitSet([]), 'control_state': (), 'power': 1), Instruction('operator': Depolarizing(0.1), 'target': QubitSet([Qubit(0)]), 'control': QubitSet([]), 'control_state': (), 'power': 1), Instruction('operator': Depolarizing(0.1), 'target': QubitSet([Qubit(1)]), 'control': QubitSet([]), 'control_state': (), 'power': 1), Instruction('operator': CNot('qubit_count': 2), 'target': QubitSet([Qubit(1), Qubit(2)]), 'control': QubitSet([]), 'control_state': (), 'power': 1), Instruction('operator': Depolarizing(0.1), 'target': QubitSet([Qubit(1)]), 'control': QubitSet([]), 'control_state': (), 'power': 1), Instruction('operator': Depolarizing(0.1), 'target': QubitSet([Qubit(2)]), 'control': QubitSet([]), 'control_state': (), 'power': 1)])" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from braket.circuits import Circuit, noises\n", + "\n", + "noisy_ghz3_circ = Circuit().h(0).cnot(0, 1).cnot(1, 2)\n", + "noise = noises.Depolarizing(probability=0.1)\n", + "noisy_ghz3_circ.apply_gate_noise(noise)" + ] + }, + { + "cell_type": "markdown", + "id": "1db047fbac6a26bb", + "metadata": {}, + "source": [ + "To see if `noisy_ghz3_program` and `noisy_ghz3_circ` are indeed the same, we can run both circuits and compare the results:" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "4c57de26c172aa5", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:42.963722Z", + "start_time": "2023-11-21T08:32:41.441098Z" + } + }, + "outputs": [], + "source": [ + "dm1 = AwsDevice(Devices.Amazon.DM1)\n", + "\n", + "noisy_ghz3_circ_task = dm1.run(noisy_ghz3_circ, shots = 10)\n", + "noisy_ghz3_program_task = dm1.run(OpenQASMProgram(source=noisy_ghz3_program), shots = 10)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "75984e0e95dc4afb", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:45.959888Z", + "start_time": "2023-11-21T08:32:42.975561Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sdk measurement results: Counter({'111': 4, '000': 3, '101': 2, '100': 1})\n", + "openqasm measurement results: Counter({'111': 3, '000': 3, '100': 2, '011': 1, '010': 1})\n" + ] + } + ], + "source": [ + "sdk_result = noisy_ghz3_circ_task.result()\n", + "openqasm_result = noisy_ghz3_program_task.result()\n", + "sdk_measurement = sdk_result.measurement_counts\n", + "openqasm_measurement = openqasm_result.measurement_counts\n", + "print('sdk measurement results:', sdk_measurement)\n", + "print('openqasm measurement results:', openqasm_measurement)" + ] + }, + { + "cell_type": "markdown", + "id": "f2720672ca96b104", + "metadata": {}, + "source": [ + "As expected, the measurement counts of the two are very close.\n", + "\n", + "In addition to depolarizing noises, we can simulate more complicated noise types with Braket, e.g., `pauli_channel`, `amplitude_damping`, etc. Check the [Amazon Braket developer guide](https://docs.aws.amazon.com/braket/latest/developerguide/braket-using.html) for a complete list of noise channels supported on Braket. Here we give another example of general noise channels defined by the Kraus representation." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "f3231a7767d20640", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:45.971122Z", + "start_time": "2023-11-21T08:32:45.960859Z" + } + }, + "outputs": [], + "source": [ + "noisy_program_with_kraus_operators = \"\"\"\n", + "// noisy_program_with_kraus_operators\n", + "OPENQASM 3;\n", + "\n", + "qubit[2] q;\n", + "bit[2] c;\n", + "\n", + "h q[0];\n", + "#pragma braket noise kraus([[0.9486833, 0], [0, 0.9486833]], [[0, 0.31622777], [0.31622777, 0]]) q[0]\n", + "cnot q[0], q[1];\n", + "\n", + "c = measure q;\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "ebac8bbb6d45341d", + "metadata": {}, + "source": [ + "We inserted a single qubit noise channel defined by two 2x2 complex Kraus operators in the example above on qubit `q[0]`. Braket will validate if the Kraus operators indeed form a Completely-Positive and Trace-Preserving (CPTP) map." + ] + }, + { + "cell_type": "markdown", + "id": "ffa5e09c2ceab140", + "metadata": { + "collapsed": false + }, + "source": [ + "The `from_ir` method supports noise operations, including general Kraus operators." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "69c7ae1c396ac705", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:46.004276Z", + "start_time": "2023-11-21T08:32:45.977541Z" + }, + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "noisy_ghz3_program:\n", + "T : │ 0 │ 1 │ 2 │ 3 │\n", + " ┌───┐ ┌───────────┐ ┌───────────┐ ┌───────────┐ ┌───┐ \n", + "q0 : ─┤ H ├─┤ DEPO(0.1) ├───●───┤ DEPO(0.1) ├─┤ DEPO(0.1) ├─────────────────────┤ M ├─\n", + " └───┘ └───────────┘ │ └───────────┘ └───────────┘ └───┘ \n", + " ┌─┴─┐ ┌───────────┐ ┌───────────┐ ┌───┐ \n", + "q1 : ─────────────────────┤ X ├─┤ DEPO(0.1) ├─────────────────●───┤ DEPO(0.1) ├─┤ M ├─\n", + " └───┘ └───────────┘ │ └───────────┘ └───┘ \n", + " ┌─┴─┐ ┌───┐ \n", + "q2 : ───────────────────────────────────────────────────────┤ X ├───────────────┤ M ├─\n", + " └───┘ └───┘ \n", + "T : │ 0 │ 1 │ 2 │ 3 │\n", + "\n", + "noisy_program_with_kraus_operators:\n", + "T : │ 0 │ 1 │ 2 │\n", + " ┌───┐ ┌────┐ ┌───┐ \n", + "q0 : ─┤ H ├─┤ KR ├───●───┤ M ├─\n", + " └───┘ └────┘ │ └───┘ \n", + " ┌─┴─┐ ┌───┐ \n", + "q1 : ──────────────┤ X ├─┤ M ├─\n", + " └───┘ └───┘ \n", + "T : │ 0 │ 1 │ 2 │\n", + "\n", + "Kraus operators:\n" + ] + }, + { + "data": { + "text/plain": [ + "[array([[0.9486833+0.j, 0. +0.j],\n", + " [0. +0.j, 0.9486833+0.j]]),\n", + " array([[0. +0.j, 0.31622777+0.j],\n", + " [0.31622777+0.j, 0. +0.j]])]" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "print(\"noisy_ghz3_program:\")\n", + "print(Circuit.from_ir(noisy_ghz3_program))\n", + "print()\n", + "print(\"noisy_program_with_kraus_operators:\")\n", + "circuit_kraus = Circuit.from_ir(noisy_program_with_kraus_operators)\n", + "print(circuit_kraus)\n", + "print()\n", + "print(\"Kraus operators:\")\n", + "circuit_kraus.instructions[1].operator.to_matrix()" + ] + }, + { + "cell_type": "markdown", + "id": "a6b1ce4e1900550", + "metadata": {}, + "source": [ + "## Submitting parametrized quantum tasks with OpenQASM\n", + "\n", + "The on-demand [SV1 simulator](https://docs.aws.amazon.com/braket/latest/developerguide/braket-devices.html#braket-simulator-sv1) and [DM1 simulator](https://docs.aws.amazon.com/braket/latest/developerguide/braket-devices.html#braket-simulator-dm1) support submitting OpenQASM programs with free parameters. You can set the value of the parameter when you submit the quantum task, like so:" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "71245a134d32fa26", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:46.007177Z", + "start_time": "2023-11-21T08:32:46.003030Z" + } + }, + "outputs": [], + "source": [ + "parameter_qasm = \"\"\"\n", + "OPENQASM 3.0;\n", + "input float alpha;\n", + "\n", + "bit[2] b;\n", + "qubit[2] q;\n", + "\n", + "h q[0];\n", + "h q[1];\n", + "rx(alpha) q[0];\n", + "rx(alpha) q[1];\n", + "b[0] = measure q[0];\n", + "b[1] = measure q[1];\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "bec130ddc2409db5", + "metadata": {}, + "source": [ + "The `input float alpha` line indicates that we have an input parameter of type `float` named `alpha`. We can specify a value for `alpha` when we submit the quantum task using the optional `inputs` argument to `run`. `input` should be a `dict` of `string`-`float` pairs." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "b831353ac6cfab2a", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:48.743543Z", + "start_time": "2023-11-21T08:32:46.007096Z" + }, + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Counter({'11': 4, '01': 3, '00': 2, '10': 1})\n" + ] + } + ], + "source": [ + "input_dict = {'alpha': 0.1}\n", + "param_sv1_task = sv1.run(OpenQASMProgram(source=parameter_qasm), shots = 10, inputs=input_dict)\n", + "param_sv1_result = param_sv1_task.result()\n", + "print(param_sv1_result.measurement_counts)" + ] + }, + { + "cell_type": "markdown", + "id": "eb90a29d1debc7b4", + "metadata": {}, + "source": [ + "Similarly, we can specify values for parametrized noise operations:" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "94f2688b3380c621", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:48.746739Z", + "start_time": "2023-11-21T08:32:48.743876Z" + } + }, + "outputs": [], + "source": [ + "parameter_noise_qasm = \"\"\"\n", + "OPENQASM 3.0;\n", + "input float beta;\n", + "input float alpha;\n", + "bit[2] b;\n", + "qubit[2] q;\n", + "h q[0];\n", + "h q[1];\n", + "rx(alpha) q[0];\n", + "rx(alpha) q[1];\n", + "#pragma braket noise bit_flip(beta) q[0]\n", + "b[0] = measure q[0];\n", + "b[1] = measure q[1];\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "101d366dca84ddb2", + "metadata": {}, + "source": [ + "We can see there are now two `input` lines, one for each free parameter." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "a0aa8a773b16dc22", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:51.579287Z", + "start_time": "2023-11-21T08:32:48.747668Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Counter({'01': 3, '11': 3, '10': 3, '00': 1})\n" + ] + } + ], + "source": [ + "noise_input_dict = {'alpha': 0.1, 'beta': 0.2}\n", + "param_dm1_task = dm1.run(OpenQASMProgram(source=parameter_qasm), shots = 10, inputs=noise_input_dict)\n", + "param_dm1_result = param_dm1_task.result()\n", + "print(param_dm1_result.measurement_counts)" + ] + }, + { + "cell_type": "markdown", + "id": "7e60112ddc974a94", + "metadata": {}, + "source": [ + "## Simulating arbitrary unitaries with OpenQASM\n", + "\n", + "The on-demand [SV1 simulator](https://docs.aws.amazon.com/braket/latest/developerguide/braket-devices.html#braket-simulator-sv1) allows us to simulate arbitrary unitary gates in a circuit. With OpenQASM, we can use the `unitary` pramga to insert these arbitrary unitary gates: " + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "ffc32efec9315f0", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:51.589214Z", + "start_time": "2023-11-21T08:32:51.579008Z" + } + }, + "outputs": [], + "source": [ + "program_with_unitary = \"\"\"\n", + "// noisy_program_with_kraus_operators\n", + "OPENQASM 3;\n", + "\n", + "qubit q;\n", + "bit c;\n", + "\n", + "#pragma braket unitary([[0, -1im], [1im, 0]]) q\n", + "c = measure q;\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "8c190474a6e28563", + "metadata": {}, + "source": [ + "The `1im` in the `unitary` pragma is the OpenQASM notation of the imaginary number $i$, thus, we were simply using the pragma to perform a Pauli Y gate. We can check it by submitting the above program to SV1." + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "6d687471d81b2367", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:54.390589Z", + "start_time": "2023-11-21T08:32:51.586164Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Counter({'1': 10})\n" + ] + } + ], + "source": [ + "unitary_task = sv1.run(OpenQASMProgram(source=program_with_unitary), shots = 10)\n", + "unitary_result = unitary_task.result()\n", + "print(unitary_result.measurement_counts)" + ] + }, + { + "cell_type": "markdown", + "id": "76f2897ec744dafb", + "metadata": {}, + "source": [ + "As expected, the Pauli Y gate flipped the initial 0 state to the 1 state." + ] + }, + { + "cell_type": "markdown", + "id": "111ead44155005a8", + "metadata": { + "collapsed": false + }, + "source": [ + "`from_ir` will reconstruct the unitary:" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "7b631be4b6785b90", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:54.403015Z", + "start_time": "2023-11-21T08:32:54.398210Z" + }, + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0.+0.j, 0.-1.j],\n", + " [0.+1.j, 0.+0.j]])" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Circuit.from_ir(program_with_unitary).instructions[0].operator.to_matrix()" + ] + }, + { + "cell_type": "markdown", + "id": "ce9caf39", + "metadata": {}, + "source": [ + "## Measuring specific qubits with OpenQASM\n", + "\n", + "The Local State Vector Simulator and Local Density Matrix Simulator support submitting OpenQASM programs where a subset of the circuit's qubits can be measured, which is often called partial measurement. For example, you can create a two-qubit circuit and only measure the first qubit like so:" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "d33a0cb6", + "metadata": {}, + "outputs": [], + "source": [ + "partial_measure_qasm = \"\"\"\n", + "OPENQASM 3.0;\n", + "bit[1] b;\n", + "qubit[2] q;\n", + "h q[0];\n", + "cnot q[0], q[1];\n", + "b[0] = measure q[0];\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "81247da3", + "metadata": {}, + "source": [ + "We can see that there are two qubits, `q[0]` and `q[1]` but we are only measuring qubit 0 here: `b[0] = measure q[0]`.\n", + "\n", + "Now we can run this on the local state vector simulator" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "d747fcb4", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Counter({'1': 7, '0': 3})\n", + "Measured qubits: [0]\n" + ] + } + ], + "source": [ + "from braket.devices import LocalSimulator\n", + "\n", + "local_sim = LocalSimulator()\n", + "partial_measure_local_sim_task = local_sim.run(OpenQASMProgram(source=partial_measure_qasm), shots = 10)\n", + "partial_measure_local_sim_result = partial_measure_local_sim_task.result()\n", + "print(partial_measure_local_sim_result.measurement_counts)\n", + "print(\"Measured qubits: \", partial_measure_local_sim_result.measured_qubits)" + ] + }, + { + "cell_type": "markdown", + "id": "923c3cd7", + "metadata": {}, + "source": [ + "As expected, only the targeted qubits were measured. \n", + "\n", + "The OpenQASM program `partial_measure_qasm` is equivalent to the following `Circuit`:" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "5b4e6ae6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Counter({'0': 5, '1': 5})\n", + "Measured qubits: [0]\n" + ] + } + ], + "source": [ + "partial_measure = Circuit().h(0).cnot(0, 1).measure(0)\n", + "partial_measure_task = local_sim.run(partial_measure, shots=10)\n", + "partial_measure_result = partial_measure_task.result()\n", + "print(partial_measure_result.measurement_counts)\n", + "print(\"Measured qubits: \", partial_measure_result.measured_qubits)" + ] + }, + { + "cell_type": "markdown", + "id": "49b97636", + "metadata": {}, + "source": [ + "We can check whether a device supports partial measurement by inspecting the `requiresAllQubitsMeasurement` field in its action properties; if it is `False`, then partial measurement is supported." + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "74a715eb", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "False" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "AwsDevice(Devices.Rigetti.Ankaa2).properties.action['braket.ir.openqasm.program'].requiresAllQubitsMeasurement" + ] + }, + { + "cell_type": "markdown", + "id": "a6a94ac1", + "metadata": {}, + "source": [ + "Here, `requiresAllQubitsMeasurement` is `False`, which indicates that not all qubits must be measured." + ] + }, + { + "cell_type": "markdown", + "id": "8996e0c59741a66f", + "metadata": {}, + "source": [ + "## Qubit Rewiring with OpenQASM\n", + "\n", + "Amazon Braket supports the [physical qubit notation within OpenQASM](https://openqasm.com/language/types.html#physical-qubits) on Rigetti devices. When using physical qubits, you have to ensure that the qubits are indeed connected on the selected device. Alternatively, if qubit registers are used instead, the `PARTIAL` rewiring strategy is enabled by default on Rigetti devices. The following example shows how to use physical qubit notation in an OpenQASM program:" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "144cc3e458a21b2d", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:54.410178Z", + "start_time": "2023-11-21T08:32:54.402877Z" + } + }, + "outputs": [], + "source": [ + "ghz_program_with_physical_qubits = \"\"\"\n", + "// Prepare a GHZ state\n", + "OPENQASM 3;\n", + "\n", + "bit[3] ro;\n", + "h $0;\n", + "cnot $0, $1;\n", + "cnot $1, $2;\n", + "ro[0] = measure $0;\n", + "ro[1] = measure $1;\n", + "ro[2] = measure $2;\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "3f01e6dc44e0e226", + "metadata": {}, + "source": [ + "We can run the above program on the Rigetti Ankaa-2 device," + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "768b980b78c4d451", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:55.489511Z", + "start_time": "2023-11-21T08:32:54.414005Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Measured qubits: [0, 1, 2]\n" + ] + } + ], + "source": [ + "# choose the quantum device\n", + "rigetti = AwsDevice(Devices.Rigetti.Ankaa2)\n", + "\n", + "ghz_program_with_physical_qubits_task = rigetti.run(OpenQASMProgram(source=ghz_program_with_physical_qubits), shots = 10)\n", + "measured_qubits = ghz_program_with_physical_qubits_task.result().measured_qubits\n", + "print(\"Measured qubits:\", measured_qubits)" + ] + }, + { + "cell_type": "markdown", + "id": "5a5597dc7843d541", + "metadata": {}, + "source": [ + "As we can see, physical qubits 0, 1 and 2 are indeed being used and measured." + ] + }, + { + "cell_type": "markdown", + "id": "25cb2ccc4337dc1e", + "metadata": {}, + "source": [ + "
\n", + " Note: This section and the next verbatim box section uses the Rigetti Ankaa-2 device. When you run this notebook, make sure the device is currently available. You can find QPU availability windows on the Devices page in the Amazon Braket Console\n", + "
" + ] + }, + { + "cell_type": "markdown", + "id": "9c30ec68828b17ff", + "metadata": {}, + "source": [ + "## Verbatim Compilation with OpenQASM\n", + "\n", + "In [a previous example notebook](https://github.com/amazon-braket/amazon-braket-examples/blob/main/examples/braket_features/Verbatim_Compilation.ipynb), we talked about verbatim compilation on Braket to gain more precise control on Rigetti devices. With OpenQASM3.0, we can use the `box` syntax together with the `verbatim` pragma to perform verbatim compilation. Here is an example:" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "a69ab8a7a04aa190", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:55.492060Z", + "start_time": "2023-11-21T08:32:55.489240Z" + } + }, + "outputs": [], + "source": [ + "program_with_verbatim_box = \"\"\"\n", + "OPENQASM 3;\n", + "\n", + "bit[2] ro;\n", + "#pragma braket verbatim\n", + "box{\n", + " rx(3.141592653589793) $0;\n", + " rx(3.141592653589793) $0;\n", + " iswap $0, $1;\n", + "}\n", + "ro[0] = measure $0;\n", + "ro[1] = measure $1;\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "d503dc700f00f7b7", + "metadata": {}, + "source": [ + "To program with verbatim boxes, we need to make sure that\n", + "- we are using native gates supported by Rigetti devices. Native gates can be found using the following script:\n" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "a1cb1cb78d32b7b1", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:55.496864Z", + "start_time": "2023-11-21T08:32:55.493060Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The native gates for the Ankaa-2 device are:\n", + "rx\n", + "rz\n", + "cz\n", + "iswap\n" + ] + } + ], + "source": [ + "print(\"The native gates for the\", rigetti.name, \"device are:\")\n", + "for gate in rigetti.properties.paradigm.nativeGateSet:\n", + " print(gate)" + ] + }, + { + "cell_type": "markdown", + "id": "1d24104e29717209", + "metadata": {}, + "source": [ + "- we use the physical qubit notation.\n", + "- qubit operands are indeed connected on the physical device. Recall that the device qubit connectivity can be found using the following commands:" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "f6a7ffff1914fd03", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:56.296409Z", + "start_time": "2023-11-21T08:32:55.495523Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'0': ['1', '7'], '1': ['0', '2', '8'], '2': ['1', '3', '9'], '3': ['2', '4', '10'], '4': ['3', '5', '11'], '5': ['4', '6', '12'], '6': ['5', '13'], '7': ['0', '8', '14'], '8': ['1', '7', '9', '15'], '9': ['2', '8', '10', '16'], '10': ['3', '9', '11', '17'], '11': ['4', '10', '12', '18'], '12': ['5', '11', '13', '19'], '13': ['6', '12', '20'], '14': ['7', '15', '21'], '15': ['8', '14', '22'], '16': ['9', '17', '23'], '17': ['10', '16', '18', '24'], '18': ['11', '17', '19', '25'], '19': ['12', '18', '20', '26'], '20': ['13', '19', '27'], '21': ['14', '22', '28'], '22': ['15', '21', '23', '29'], '23': ['16', '22', '24', '30'], '24': ['17', '23', '25', '31'], '25': ['18', '24', '26', '32'], '26': ['19', '25', '33'], '27': ['20', '34'], '28': ['21', '29', '35'], '29': ['22', '28', '30', '36'], '30': ['23', '29', '31', '37'], '31': ['24', '30', '32', '38'], '32': ['25', '31', '33', '39'], '33': ['26', '32', '34', '40'], '34': ['27', '33', '41'], '35': ['28', '36', '42'], '36': ['29', '35', '37', '43'], '37': ['30', '36', '38', '44'], '38': ['31', '37', '39', '45'], '39': ['32', '38', '40', '46'], '40': ['33', '39', '41', '47'], '41': ['34', '40', '48'], '42': ['35', '43', '49'], '43': ['36', '42', '44', '50'], '44': ['37', '43', '45', '51'], '45': ['38', '44', '46', '52'], '46': ['39', '45', '47', '53'], '47': ['40', '46', '48', '54'], '48': ['41', '47', '55'], '49': ['42', '56'], '50': ['43', '51', '57'], '51': ['44', '50', '52', '58'], '52': ['45', '51', '53', '59'], '53': ['46', '52', '54'], '54': ['47', '53', '55', '61'], '55': ['48', '54', '62'], '56': ['49', '57', '63'], '57': ['50', '56', '58', '64'], '58': ['51', '57', '59', '65'], '59': ['52', '58', '60', '66'], '60': ['59'], '61': ['54', '62', '68'], '62': ['55', '61', '69'], '63': ['56', '64', '70'], '64': ['57', '63', '65', '71'], '65': ['58', '64', '66', '72'], '66': ['59', '65', '67'], '67': ['66', '68', '74'], '68': ['61', '67', '69', '75'], '69': ['62', '68', '76'], '70': ['63', '71', '77'], '71': ['64', '70', '72', '78'], '72': ['65', '71', '73', '79'], '73': ['72', '74', '80'], '74': ['67', '73', '75', '81'], '75': ['68', '74', '76', '82'], '76': ['69', '75', '83'], '77': ['70', '78'], '78': ['71', '77', '79'], '79': ['72', '78', '80'], '80': ['73', '79', '81'], '81': ['74', '80', '82'], '82': ['75', '81', '83'], '83': ['76', '82']}\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import networkx as nx\n", + "# access and visualize the device topology\n", + "print(rigetti.properties.paradigm.connectivity.connectivityGraph)\n", + "nx.draw_kamada_kawai(rigetti.topology_graph, with_labels=True, font_color=\"white\")" + ] + }, + { + "cell_type": "markdown", + "id": "9fa09f83a0747394", + "metadata": {}, + "source": [ + "Now we can submit a quantum task of the above program with verbatim box." + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "b5e7c89c1c9f8879", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:56.299544Z", + "start_time": "2023-11-21T08:32:56.297194Z" + }, + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "PRAGMA INITIAL_REWIRING \"NAIVE\"\n", + "DECLARE ro BIT[2]\n", + "PRAGMA PRESERVE_BLOCK\n", + "RX(3.141592653589793) 0\n", + "RX(3.141592653589793) 0\n", + "ISWAP 0 1\n", + "PRAGMA END_PRESERVE_BLOCK\n", + "MEASURE 0 ro[0]\n", + "MEASURE 1 ro[1]\n" + ] + } + ], + "source": [ + "verbatim_task = rigetti.run(OpenQASMProgram(source=program_with_verbatim_box), shots = 10)\n", + "verbatim_result = verbatim_task.result()\n", + "meta = verbatim_result.additional_metadata.rigettiMetadata\n", + "print(meta.compiledProgram)" + ] + }, + { + "cell_type": "markdown", + "id": "bcd27bc239db889d", + "metadata": {}, + "source": [ + "As shown above, the two consecutive `rx` $\\pi$-rotation gates did not get optimized and we confirm that our program was indeed executed verbatim." + ] + }, + { + "cell_type": "markdown", + "id": "b4768a96f7b1b3b6", + "metadata": {}, + "source": [ + "## Requesting Result Types with OpenQASM\n", + "\n", + "Braket provides [a rich library of result types](https://docs.aws.amazon.com/braket/latest/developerguide/braket-result-types.html) for circuit executions. With OpenQASM, requesting different result types for our quantum tasks is easier than ever using the `result` pragma. Next, we give an example of requesting result types for our Bell state program submitted to SV1. Before doing that, let's see what result types are supported on SV1:" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "b17d21060cda7fa7", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:56.304110Z", + "start_time": "2023-11-21T08:32:56.300283Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "name='Sample' observables=['x', 'y', 'z', 'h', 'i', 'hermitian'] minShots=1 maxShots=100000\n", + "name='Expectation' observables=['x', 'y', 'z', 'h', 'i', 'hermitian'] minShots=0 maxShots=100000\n", + "name='Variance' observables=['x', 'y', 'z', 'h', 'i', 'hermitian'] minShots=0 maxShots=100000\n", + "name='Probability' observables=None minShots=1 maxShots=100000\n", + "name='Amplitude' observables=None minShots=0 maxShots=0\n", + "name='AdjointGradient' observables=['x', 'y', 'z', 'h', 'i'] minShots=0 maxShots=0\n" + ] + } + ], + "source": [ + "# print the result types supported by SV1\n", + "for iter in sv1.properties.action['braket.ir.openqasm.program'].supportedResultTypes:\n", + " print(iter)" + ] + }, + { + "cell_type": "markdown", + "id": "bbc02495939691c9", + "metadata": {}, + "source": [ + "With knowing the supported result types on SV1, we choose to request the `Expectation` of $X \\otimes Z$ observable on `q[0]` and `q[1]` and the `Amplitude` result type for a `shots=0` quantum task of our bell program:" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "6e3b521b7356b4bd", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:56.305634Z", + "start_time": "2023-11-21T08:32:56.302835Z" + } + }, + "outputs": [], + "source": [ + "bell_with_result_type = \"\"\"\n", + "OPENQASM 3;\n", + "\n", + "qubit[2] q;\n", + "\n", + "#pragma braket result expectation x(q[0]) @ z(q[1])\n", + "#pragma braket result amplitude \"00\", \"11\"\n", + "h q[0];\n", + "cnot q[0], q[1];\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "6435b34ab2525039", + "metadata": {}, + "source": [ + "The location of the `result` pragma is very flexible as long as it's after the qubit register definition (if you use physical qubits, you can put `result` pragmas anywhere after the program header).\n", + "\n", + "We can submit the above program and receive the results for our requested result types." + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "a42b0ebc71b59136", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:59.113501Z", + "start_time": "2023-11-21T08:32:56.306452Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[0.0, {'00': (0.7071067811865475+0j), '11': (0.7071067811865475+0j)}]\n" + ] + } + ], + "source": [ + "bell_result_types_task = sv1.run(OpenQASMProgram(source=bell_with_result_type), shots = 0)\n", + "bell_result = bell_result_types_task.result()\n", + "values = bell_result.values\n", + "print(values)" + ] + }, + { + "cell_type": "markdown", + "id": "38675f5678613895", + "metadata": {}, + "source": [ + "At last, we want to remind our Braket OpenQASM users that there are two requirements when requesting result types:\n", + "1. For `shots=0` quantum tasks, requesting non-simultaneously measurable result types is allowed, but for `shots>0` quantum tasks, it is not allowed. For example, we can write the following OpenQASM program in a `shots=0` quantum task but not in a `shots>0` quantum task, since the two result types are not simultaneously measurable:" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "45277f89209faec7", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:59.115339Z", + "start_time": "2023-11-21T08:32:59.112696Z" + } + }, + "outputs": [], + "source": [ + "program_with_non_simultaneously_measurable_result_types = \"\"\"\n", + "OPENQASM 3;\n", + "\n", + "qubit[2] q;\n", + "\n", + "h q[0];\n", + "cnot q[0], q[1];\n", + "\n", + "#pragma braket result expectation x(q[0]) @ z(q[1])\n", + "#pragma braket result expectation hermitian([[0, -1im], [1im, 0]]) q[0]\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "a9af8819fba31a90", + "metadata": {}, + "source": [ + "2. Do not use measurement instructions and request result types in the same OpenQASM program, otherwise a validation error will be raised. Since measurement instructions are basically equivalent to `#pragma braket result sample z(qubit)`, we encourage users to adapt a consistent style of requesting result types in the same program." + ] + }, + { + "cell_type": "markdown", + "id": "db79ad324a5f6478", + "metadata": { + "collapsed": false + }, + "source": [ + "Circuits constructed with `from_ir` will have the correct result types:" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "f3c438da3a351153", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:59.127212Z", + "start_time": "2023-11-21T08:32:59.124909Z" + }, + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "bell_with_result_type:\n", + "T : │ 0 │ 1 │ Result Types │\n", + " ┌───┐ ┌──────────────────┐ \n", + "q0 : ─┤ H ├───●───┤ Expectation(X@Z) ├─\n", + " └───┘ │ └────────┬─────────┘ \n", + " ┌─┴─┐ ┌────────┴─────────┐ \n", + "q1 : ───────┤ X ├─┤ Expectation(X@Z) ├─\n", + " └───┘ └──────────────────┘ \n", + "T : │ 0 │ 1 │ Result Types │\n", + "\n", + "Additional result types: Amplitude(00,11)\n" + ] + } + ], + "source": [ + "print(\"bell_with_result_type:\")\n", + "print(Circuit.from_ir(bell_with_result_type))" + ] + }, + { + "cell_type": "markdown", + "id": "c371de3097c0598a", + "metadata": { + "collapsed": false + }, + "source": [ + "## Advanced OpenQASM features\n", + "\n", + "OpenQASM has features beyond what is natively supported by the `Circuit` class. You can run OpenQASM tasks directly on the Local Simulator or use Circuit.from_ir to convert an OpenQASM program to a Circuit object, which is supported by all circuit-based Braket devices. The following OpenQASM program is a GHZ state written with classical control flow and subroutines:\n" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "5acb72003cd0a0f5", + "metadata": { + "ExecuteTime": { + "end_time": "2023-12-04T04:04:08.355878Z", + "start_time": "2023-12-04T04:04:08.353679Z" + }, + "collapsed": false + }, + "outputs": [], + "source": [ + "ghz_with_advanced_features = \"\"\"\n", + "OPENQASM 3.0;\n", + "\n", + "def ghz(int[32] n) {\n", + " h q[0];\n", + " for int i in [0:n - 1] {\n", + " cnot q[i], q[i + 1];\n", + " }\n", + "}\n", + "\n", + "int[32] n = 5;\n", + "bit[n + 1] c;\n", + "qubit[n + 1] q;\n", + "\n", + "ghz(n);\n", + "\n", + "c = measure q;\n", + "\"\"\"\n", + "qasm_program = OpenQASMProgram(source=ghz_with_advanced_features)" + ] + }, + { + "cell_type": "markdown", + "id": "f5d32bd10c64543", + "metadata": { + "collapsed": false + }, + "source": [ + "The local simulator supports these features:" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "c82bee530da348f6", + "metadata": { + "ExecuteTime": { + "end_time": "2023-12-04T04:04:13.932270Z", + "start_time": "2023-12-04T04:04:13.863203Z" + }, + "collapsed": false + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "This program uses OpenQASM language features that may not be supported on QPUs or on-demand simulators.\n" + ] + }, + { + "data": { + "text/plain": [ + "Counter({'000000': 505, '111111': 495})" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from braket.devices import LocalSimulator\n", + "LocalSimulator().run(qasm_program, shots=1000).result().measurement_counts" + ] + }, + { + "cell_type": "markdown", + "id": "96fca192b4f51797", + "metadata": { + "collapsed": false + }, + "source": [ + "but SV1 does not. However, `from_ir` will \"unroll\" the subroutine and loop to create a `Circuit` object that _can_ run on SV1:" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "b0886dfc74978bfa", + "metadata": { + "ExecuteTime": { + "end_time": "2023-12-04T04:04:19.974386Z", + "start_time": "2023-12-04T04:04:16.705969Z" + }, + "collapsed": false + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "This program uses OpenQASM language features that may not be supported on QPUs or on-demand simulators.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T : │ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │\n", + " ┌───┐ ┌───┐ \n", + "q0 : ─┤ H ├───●───────────────────────────┤ M ├─\n", + " └───┘ │ └───┘ \n", + " ┌─┴─┐ ┌───┐ \n", + "q1 : ───────┤ X ├───●─────────────────────┤ M ├─\n", + " └───┘ │ └───┘ \n", + " ┌─┴─┐ ┌───┐ \n", + "q2 : ─────────────┤ X ├───●───────────────┤ M ├─\n", + " └───┘ │ └───┘ \n", + " ┌─┴─┐ ┌───┐ \n", + "q3 : ───────────────────┤ X ├───●─────────┤ M ├─\n", + " └───┘ │ └───┘ \n", + " ┌─┴─┐ ┌───┐ \n", + "q4 : ─────────────────────────┤ X ├───●───┤ M ├─\n", + " └───┘ │ └───┘ \n", + " ┌─┴─┐ ┌───┐ \n", + "q5 : ───────────────────────────────┤ X ├─┤ M ├─\n", + " └───┘ └───┘ \n", + "T : │ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │\n", + "Counter({'000000': 500, '111111': 500})\n" + ] + } + ], + "source": [ + "circuit = Circuit.from_ir(qasm_program)\n", + "print(circuit)\n", + "print(sv1.run(circuit, shots=1000).result().measurement_counts)" + ] + }, + { + "cell_type": "markdown", + "id": "a329fa3df47ffee4", + "metadata": { + "collapsed": false + }, + "source": [ + "For an in-depth exploration of advanced OpenQASM features, see [Simulating Advanced OpenQASM Programs with the Local Simulator](https://github.com/amazon-braket/amazon-braket-examples/blob/main/examples/braket_features/Simulating_Advanced_OpenQASM_Programs_with_the_Local_Simulator.ipynb)." + ] + }, + { + "cell_type": "markdown", + "id": "9e4c7a48a2b83ce1", + "metadata": {}, + "source": [ + "# Conclusion\n", + "\n", + "In this notebook, you learned how to submit OpenQASM quantum tasks and use OpenQASM features on Braket. Hope you enjoyed it! You can find more information about OpenQASM3.0 in its [live specification](https://openqasm.com/), and you can learn more about OpenQASM support on Braket in the [Amazon Braket documentation](https://docs.aws.amazon.com/braket/latest/developerguide/)." + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "id": "3f5bc3dfad520f14", + "metadata": { + "ExecuteTime": { + "end_time": "2023-11-21T08:32:59.624204Z", + "start_time": "2023-11-21T08:32:59.127772Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Quantum Task Summary\n", + "{<_Amazon.SV1: 'arn:aws:braket:::device/quantum-simulator/amazon/sv1'>: {'shots': 1120, 'tasks': {'CREATED': 1, 'COMPLETED': 4}, 'execution_duration': datetime.timedelta(microseconds=104000), 'billed_execution_duration': datetime.timedelta(seconds=12)}, <_Amazon.DM1: 'arn:aws:braket:::device/quantum-simulator/amazon/dm1'>: {'shots': 30, 'tasks': {'COMPLETED': 3}, 'execution_duration': datetime.timedelta(microseconds=39000), 'billed_execution_duration': datetime.timedelta(seconds=9)}, <_Rigetti.Ankaa2: 'arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2'>: {'shots': 20, 'tasks': {'COMPLETED': 2}}}\n", + "Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\n", + "Estimated cost to run this example: 0.64 USD\n" + ] + } + ], + "source": [ + "print(\"Quantum Task Summary\")\n", + "print(t.quantum_tasks_statistics())\n", + "print('Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).')\n", + "print(f\"Estimated cost to run this example: {t.qpu_tasks_cost() + t.simulator_tasks_cost():.2f} USD\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.6" + } }, - "scrolled": false - }, - "outputs": [], - "source": [ - "from braket.ir.openqasm import Program as OpenQASMProgram\n", - "\n", - "bell_program = OpenQASMProgram(source=bell_qasm)\n", - "bell_task = sv1.run(\n", - " bell_program, \n", - " shots=100, \n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "ba9729ce6ab2bf91", - "metadata": {}, - "source": [ - "### Submit OpenQASM 3.0 programs using the AWS Command Line Interface\n", - "\n", - "Alternatively, if you like the command line experience or you are not a Python user, you can also choose to use the [AWS Command Line Interface (CLI)](https://aws.amazon.com/cli/) to submit our Bell state program. Before doing that we have to make sure we have [AWS CLI installed](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html). The following code saves the `bell_qasm` string to a file named `bell.qasm`:" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "61362f489016dd1f", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:41.407834Z", - "start_time": "2023-11-21T08:32:41.403524Z" - } - }, - "outputs": [], - "source": [ - "with open(\"bell.qasm\", \"w\") as f:\n", - " f.write(bell_qasm)" - ] - }, - { - "cell_type": "markdown", - "id": "5c4be932b51fd2ac", - "metadata": {}, - "source": [ - "Then we can use the command below to submit the quantum task via AWS CLI. Remember to replace the placeholder \\\"amazon-braket-my-bucket\\\" with your own bucket name.\n", - " \n", - " aws braket create-quantum-task \\\n", - " --region \"us-west-1\" \\\n", - " --device-arn \"arn:aws:braket:us-west-1::device/qpu/rigetti/Aspen-M-3\" \\\n", - " --shots 100 \\\n", - " --action '{\n", - " \"braketSchemaHeader\": {\n", - " \"name\": \"braket.ir.openqasm.program\", \n", - " \"version\": \"1\"\n", - " },\n", - " \"source\": $(cat bell.qasm)\n", - " }'" - ] - }, - { - "cell_type": "markdown", - "id": "68222e9240c91d58", - "metadata": { - "collapsed": false - }, - "source": [ - "## Convert OpenQASM 3.0 programs to circuits\n", - "\n", - "You can convert OpenQASM programs into Braket `Circuit` objects if you want to programmatically change your program." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "96417df481e2f5d", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:41.420933Z", - "start_time": "2023-11-21T08:32:41.407658Z" - }, - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "T : |0|1|\n", - " \n", - "q0 : -H-C-\n", - " | \n", - "q1 : ---X-\n", - "\n", - "T : |0|1|\n" - ] - } - ], - "source": [ - "from braket.circuits import Circuit\n", - "print(Circuit.from_ir(bell_qasm))" - ] - }, - { - "cell_type": "markdown", - "id": "4fec44c2bb4680df", - "metadata": {}, - "source": [ - "## Figure out what OpenQASM features are supported on each device\n", - "\n", - "Different devices on Braket support different subsets of OpenQASM features. To see what are the supported OpenQASM features on each device, we can simply check the device capability for OpenQASM actions. As an example, we can take a look at the `action` field in the device capability of SV1 simulator:" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "78a5c9f03581cea4", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:41.425542Z", - "start_time": "2023-11-21T08:32:41.422663Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "['ccnot',\n", - " 'cnot',\n", - " 'cphaseshift',\n", - " 'cphaseshift00',\n", - " 'cphaseshift01',\n", - " 'cphaseshift10',\n", - " 'cswap',\n", - " 'cy',\n", - " 'cz',\n", - " 'ecr',\n", - " 'h',\n", - " 'i',\n", - " 'iswap',\n", - " 'pswap',\n", - " 'phaseshift',\n", - " 'rx',\n", - " 'ry',\n", - " 'rz',\n", - " 's',\n", - " 'si',\n", - " 'swap',\n", - " 't',\n", - " 'ti',\n", - " 'v',\n", - " 'vi',\n", - " 'x',\n", - " 'xx',\n", - " 'xy',\n", - " 'y',\n", - " 'yy',\n", - " 'z',\n", - " 'zz',\n", - " 'gpi',\n", - " 'gpi2',\n", - " 'ms']" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# supportedOperations\n", - "sv1.properties.action['braket.ir.openqasm.program'].supportedOperations" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "85fbc40dc254813e", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:41.463833Z", - "start_time": "2023-11-21T08:32:41.425725Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "['braket_unitary_matrix',\n", - " 'braket_basis_rotation',\n", - " 'braket_result_type_sample',\n", - " 'braket_result_type_expectation',\n", - " 'braket_result_type_variance',\n", - " 'braket_result_type_probability',\n", - " 'braket_result_type_amplitude',\n", - " 'braket_result_type_adjoint_gradient']" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# supportedPragmas\n", - "sv1.properties.action['braket.ir.openqasm.program'].supportedPragmas" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "1fa721d9960f5412", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:41.464559Z", - "start_time": "2023-11-21T08:32:41.429030Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "['braket_result_type_state_vector',\n", - " 'braket_result_type_density_matrix',\n", - " 'braket_noise_amplitude_damping',\n", - " 'braket_noise_bit_flip',\n", - " 'braket_noise_depolarizing',\n", - " 'braket_noise_kraus',\n", - " 'braket_noise_pauli_channel',\n", - " 'braket_noise_generalized_amplitude_damping',\n", - " 'braket_noise_phase_flip',\n", - " 'braket_noise_phase_damping',\n", - " 'braket_noise_two_qubit_dephasing',\n", - " 'braket_noise_two_qubit_depolarizing']" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# forbiddenPragmas\n", - "sv1.properties.action['braket.ir.openqasm.program'].forbiddenPragmas" - ] - }, - { - "cell_type": "markdown", - "id": "8190bb8089c7db3f", - "metadata": {}, - "source": [ - "The SV1 OpenQASM `action` field lists supported/forbidden OpenQASM features on the device, including `supportedPragmas`, `forbiddenPragmas`, `maximumQubitArrays`, `maximumClassicalArrays`, `requiresAllQubitsMeasurement`, `supportedResultTypes`, etc. The names are self-evident, but readers are encouraged to visit the [Amazon Braket developer guide](https://docs.aws.amazon.com/braket/latest/developerguide/braket-using.html) for full information of what these fields mean." - ] - }, - { - "cell_type": "markdown", - "id": "ee537a4601e4c244", - "metadata": {}, - "source": [ - "# OpenQASM features on Braket\n", - "\n", - "Braket supports many useful OpenQASM features, either through the OpenQASM program syntax or Braket-specific pragmas. We will walk through some of these features in this section.\n", - "\n", - "## Simulating Noise with OpenQASM\n", - "\n", - "With the fully on-demand, high-performance, density-matrix simulator [DM1](https://docs.aws.amazon.com/braket/latest/developerguide/braket-devices.html#braket-simulator-dm1), you can easily investigate the effects of realistic noise on your quantum programs. Now, we show how to use OpenQASM programs to leverage the circuit-level noise simulation capability of DM1.\n", - "\n", - "To simulate noise, we have to be able to specify different noise channels. Although syntax for noise channels is not available in the OpenQASM language, Braket uses the `pragma` statement to extend OpenQASM for defining noise channels. Here is an example of an OpenQASM program that prepares a noisy 3-qubit [GHZ state](https://en.wikipedia.org/wiki/Greenberger%E2%80%93Horne%E2%80%93Zeilinger_state):" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "4d8a62cfc51a18b", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:41.464621Z", - "start_time": "2023-11-21T08:32:41.431447Z" - } - }, - "outputs": [], - "source": [ - "noisy_ghz3_program = \"\"\"\n", - "// noisy_ghz3.qasm\n", - "// Prepare a 3 noisy qubit GHZ state\n", - "OPENQASM 3;\n", - "\n", - "qubit[3] q;\n", - "bit[3] c;\n", - "\n", - "h q[0];\n", - "#pragma braket noise depolarizing(0.1) q[0]\n", - "cnot q[0], q[1];\n", - "#pragma braket noise depolarizing(0.1) q[0]\n", - "#pragma braket noise depolarizing(0.1) q[1]\n", - "cnot q[1], q[2];\n", - "#pragma braket noise depolarizing(0.1) q[0]\n", - "#pragma braket noise depolarizing(0.1) q[1]\n", - "\n", - "c = measure q;\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "id": "3a988726bb4c39e8", - "metadata": {}, - "source": [ - "In the example above, we inserted the depolarizing noise channel with probability of 0.1 after each gate in the circuit. The `noisy_ghz3_program` is equivalent to the following program in the Braket SDK:" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "647e3717ccbba672", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:41.464801Z", - "start_time": "2023-11-21T08:32:41.434396Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "Circuit('instructions': [Instruction('operator': H('qubit_count': 1), 'target': QubitSet([Qubit(0)]), 'control': QubitSet([]), 'control_state': (), 'power': 1), Instruction('operator': Depolarizing(0.1), 'target': QubitSet([Qubit(0)]), 'control': QubitSet([]), 'control_state': (), 'power': 1), Instruction('operator': CNot('qubit_count': 2), 'target': QubitSet([Qubit(0), Qubit(1)]), 'control': QubitSet([]), 'control_state': (), 'power': 1), Instruction('operator': Depolarizing(0.1), 'target': QubitSet([Qubit(0)]), 'control': QubitSet([]), 'control_state': (), 'power': 1), Instruction('operator': Depolarizing(0.1), 'target': QubitSet([Qubit(1)]), 'control': QubitSet([]), 'control_state': (), 'power': 1), Instruction('operator': CNot('qubit_count': 2), 'target': QubitSet([Qubit(1), Qubit(2)]), 'control': QubitSet([]), 'control_state': (), 'power': 1), Instruction('operator': Depolarizing(0.1), 'target': QubitSet([Qubit(1)]), 'control': QubitSet([]), 'control_state': (), 'power': 1), Instruction('operator': Depolarizing(0.1), 'target': QubitSet([Qubit(2)]), 'control': QubitSet([]), 'control_state': (), 'power': 1)])" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from braket.circuits import Circuit, noises\n", - "\n", - "noisy_ghz3_circ = Circuit().h(0).cnot(0, 1).cnot(1, 2)\n", - "noise = noises.Depolarizing(probability=0.1)\n", - "noisy_ghz3_circ.apply_gate_noise(noise)" - ] - }, - { - "cell_type": "markdown", - "id": "1db047fbac6a26bb", - "metadata": {}, - "source": [ - "To see if `noisy_ghz3_program` and `noisy_ghz3_circ` are indeed the same, we can run both circuits and compare the results:" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "4c57de26c172aa5", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:42.963722Z", - "start_time": "2023-11-21T08:32:41.441098Z" - } - }, - "outputs": [], - "source": [ - "dm1 = AwsDevice(Devices.Amazon.DM1)\n", - "\n", - "noisy_ghz3_circ_task = dm1.run(noisy_ghz3_circ, shots = 10)\n", - "noisy_ghz3_program_task = dm1.run(OpenQASMProgram(source=noisy_ghz3_program), shots = 10)" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "75984e0e95dc4afb", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:45.959888Z", - "start_time": "2023-11-21T08:32:42.975561Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "sdk measurement results: Counter({'111': 5, '000': 4, '100': 1})\n", - "openqasm measurement results: Counter({'000': 5, '111': 4, '100': 1})\n" - ] - } - ], - "source": [ - "sdk_result = noisy_ghz3_circ_task.result()\n", - "openqasm_result = noisy_ghz3_program_task.result()\n", - "sdk_measurement = sdk_result.measurement_counts\n", - "openqasm_measurement = openqasm_result.measurement_counts\n", - "print('sdk measurement results:', sdk_measurement)\n", - "print('openqasm measurement results:', openqasm_measurement)" - ] - }, - { - "cell_type": "markdown", - "id": "f2720672ca96b104", - "metadata": {}, - "source": [ - "As expected, the measurement counts of the two are very close.\n", - "\n", - "In addition to depolarizing noises, we can simulate more complicated noise types with Braket, e.g., `pauli_channel`, `amplitude_damping`, etc. Check the [Amazon Braket developer guide](https://docs.aws.amazon.com/braket/latest/developerguide/braket-using.html) for a complete list of noise channels supported on Braket. Here we give another example of general noise channels defined by the Kraus representation." - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "f3231a7767d20640", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:45.971122Z", - "start_time": "2023-11-21T08:32:45.960859Z" - } - }, - "outputs": [], - "source": [ - "noisy_program_with_kraus_operators = \"\"\"\n", - "// noisy_program_with_kraus_operators\n", - "OPENQASM 3;\n", - "\n", - "qubit[2] q;\n", - "bit[2] c;\n", - "\n", - "h q[0];\n", - "#pragma braket noise kraus([[0.9486833, 0], [0, 0.9486833]], [[0, 0.31622777], [0.31622777, 0]]) q[0]\n", - "cnot q[0], q[1];\n", - "\n", - "c = measure q;\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "id": "ebac8bbb6d45341d", - "metadata": {}, - "source": [ - "We inserted a single qubit noise channel defined by two 2x2 complex Kraus operators in the example above on qubit `q[0]`. Braket will validate if the Kraus operators indeed form a Completely-Positive and Trace-Preserving (CPTP) map." - ] - }, - { - "cell_type": "markdown", - "id": "ffa5e09c2ceab140", - "metadata": { - "collapsed": false - }, - "source": [ - "The `from_ir` method supports noise operations, including general Kraus operators." - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "69c7ae1c396ac705", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:46.004276Z", - "start_time": "2023-11-21T08:32:45.977541Z" - }, - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "noisy_ghz3_program:\n", - "T : | 0 | 1 | 2 |\n", - " \n", - "q0 : -H-DEPO(0.1)-C-DEPO(0.1)-DEPO(0.1)-------------\n", - " | \n", - "q1 : -------------X-DEPO(0.1)-----------C-DEPO(0.1)-\n", - " | \n", - "q2 : -----------------------------------X-----------\n", - "\n", - "T : | 0 | 1 | 2 |\n", - "\n", - "noisy_program_with_kraus_operators:\n", - "T : | 0 |1|\n", - " \n", - "q0 : -H-KR-C-\n", - " | \n", - "q1 : ------X-\n", - "\n", - "T : | 0 |1|\n", - "\n", - "Kraus operators:\n" - ] - }, - { - "data": { - "text/plain": [ - "[array([[0.9486833+0.j, 0. +0.j],\n", - " [0. +0.j, 0.9486833+0.j]]),\n", - " array([[0. +0.j, 0.31622777+0.j],\n", - " [0.31622777+0.j, 0. +0.j]])]" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "print(\"noisy_ghz3_program:\")\n", - "print(Circuit.from_ir(noisy_ghz3_program))\n", - "print()\n", - "print(\"noisy_program_with_kraus_operators:\")\n", - "circuit_kraus = Circuit.from_ir(noisy_program_with_kraus_operators)\n", - "print(circuit_kraus)\n", - "print()\n", - "print(\"Kraus operators:\")\n", - "circuit_kraus.instructions[1].operator.to_matrix()" - ] - }, - { - "cell_type": "markdown", - "id": "a6b1ce4e1900550", - "metadata": {}, - "source": [ - "## Submitting parametrized quantum tasks with OpenQASM\n", - "\n", - "The on-demand [SV1 simulator](https://docs.aws.amazon.com/braket/latest/developerguide/braket-devices.html#braket-simulator-sv1) and [DM1 simulator](https://docs.aws.amazon.com/braket/latest/developerguide/braket-devices.html#braket-simulator-dm1) support submitting OpenQASM programs with free parameters. You can set the value of the parameter when you submit the quantum task, like so:" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "71245a134d32fa26", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:46.007177Z", - "start_time": "2023-11-21T08:32:46.003030Z" - } - }, - "outputs": [], - "source": [ - "parameter_qasm = \"\"\"\n", - "OPENQASM 3.0;\n", - "input float alpha;\n", - "\n", - "bit[2] b;\n", - "qubit[2] q;\n", - "\n", - "h q[0];\n", - "h q[1];\n", - "rx(alpha) q[0];\n", - "rx(alpha) q[1];\n", - "b[0] = measure q[0];\n", - "b[1] = measure q[1];\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "id": "bec130ddc2409db5", - "metadata": {}, - "source": [ - "The `input float alpha` line indicates that we have an input parameter of type `float` named `alpha`. We can specify a value for `alpha` when we submit the quantum task using the optional `inputs` argument to `run`. `input` should be a `dict` of `string`-`float` pairs." - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "b831353ac6cfab2a", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:48.743543Z", - "start_time": "2023-11-21T08:32:46.007096Z" - }, - "scrolled": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Counter({'00': 4, '01': 3, '11': 3})\n" - ] - } - ], - "source": [ - "input_dict = {'alpha': 0.1}\n", - "param_sv1_task = sv1.run(OpenQASMProgram(source=parameter_qasm), shots = 10, inputs=input_dict)\n", - "param_sv1_result = param_sv1_task.result()\n", - "print(param_sv1_result.measurement_counts)" - ] - }, - { - "cell_type": "markdown", - "id": "eb90a29d1debc7b4", - "metadata": {}, - "source": [ - "Similarly, we can specify values for parametrized noise operations:" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "94f2688b3380c621", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:48.746739Z", - "start_time": "2023-11-21T08:32:48.743876Z" - } - }, - "outputs": [], - "source": [ - "parameter_noise_qasm = \"\"\"\n", - "OPENQASM 3.0;\n", - "input float beta;\n", - "input float alpha;\n", - "bit[2] b;\n", - "qubit[2] q;\n", - "h q[0];\n", - "h q[1];\n", - "rx(alpha) q[0];\n", - "rx(alpha) q[1];\n", - "#pragma braket noise bit_flip(beta) q[0]\n", - "b[0] = measure q[0];\n", - "b[1] = measure q[1];\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "id": "101d366dca84ddb2", - "metadata": {}, - "source": [ - "We can see there are now two `input` lines, one for each free parameter." - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "a0aa8a773b16dc22", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:51.579287Z", - "start_time": "2023-11-21T08:32:48.747668Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Counter({'00': 3, '01': 3, '11': 2, '10': 2})\n" - ] - } - ], - "source": [ - "noise_input_dict = {'alpha': 0.1, 'beta': 0.2}\n", - "param_dm1_task = dm1.run(OpenQASMProgram(source=parameter_qasm), shots = 10, inputs=noise_input_dict)\n", - "param_dm1_result = param_dm1_task.result()\n", - "print(param_dm1_result.measurement_counts)" - ] - }, - { - "cell_type": "markdown", - "id": "7e60112ddc974a94", - "metadata": {}, - "source": [ - "## Simulating arbitrary unitaries with OpenQASM\n", - "\n", - "The on-demand [SV1 simulator](https://docs.aws.amazon.com/braket/latest/developerguide/braket-devices.html#braket-simulator-sv1) allows us to simulate arbitrary unitary gates in a circuit. With OpenQASM, we can use the `unitary` pramga to insert these arbitrary unitary gates: " - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "ffc32efec9315f0", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:51.589214Z", - "start_time": "2023-11-21T08:32:51.579008Z" - } - }, - "outputs": [], - "source": [ - "program_with_unitary = \"\"\"\n", - "// noisy_program_with_kraus_operators\n", - "OPENQASM 3;\n", - "\n", - "qubit q;\n", - "bit c;\n", - "\n", - "#pragma braket unitary([[0, -1im], [1im, 0]]) q\n", - "c = measure q;\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "id": "8c190474a6e28563", - "metadata": {}, - "source": [ - "The `1im` in the `unitary` pragma is the OpenQASM notation of the imaginary number $i$, thus, we were simply using the pragma to perform a Pauli Y gate. We can check it by submitting the above program to SV1." - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "6d687471d81b2367", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:54.390589Z", - "start_time": "2023-11-21T08:32:51.586164Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Counter({'1': 10})\n" - ] - } - ], - "source": [ - "unitary_task = sv1.run(OpenQASMProgram(source=program_with_unitary), shots = 10)\n", - "unitary_result = unitary_task.result()\n", - "print(unitary_result.measurement_counts)" - ] - }, - { - "cell_type": "markdown", - "id": "76f2897ec744dafb", - "metadata": {}, - "source": [ - "As expected, the Pauli Y gate flipped the initial 0 state to the 1 state." - ] - }, - { - "cell_type": "markdown", - "id": "111ead44155005a8", - "metadata": { - "collapsed": false - }, - "source": [ - "`from_ir` will reconstruct the unitary:" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "7b631be4b6785b90", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:54.403015Z", - "start_time": "2023-11-21T08:32:54.398210Z" - }, - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[0.+0.j, 0.-1.j],\n", - " [0.+1.j, 0.+0.j]])" - ] - }, - "execution_count": 24, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Circuit.from_ir(program_with_unitary).instructions[0].operator.to_matrix()" - ] - }, - { - "cell_type": "markdown", - "id": "ce9caf39", - "metadata": {}, - "source": [ - "## Measuring specific qubits with OpenQASM\n", - "\n", - "The Local State Vector Simulator and Local Density Matrix Simulator support submitting OpenQASM programs where a subset of the circuit's qubits can be measured, which is often called partial measurement. For example, you can create a two-qubit circuit and only measure the first qubit like so:" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "d33a0cb6", - "metadata": {}, - "outputs": [], - "source": [ - "partial_measure_qasm = \"\"\"\n", - "OPENQASM 3.0;\n", - "bit[1] b;\n", - "qubit[2] q;\n", - "h q[0];\n", - "cnot q[0], q[1];\n", - "b[0] = measure q[0];\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "id": "81247da3", - "metadata": {}, - "source": [ - "We can see that there are two qubits, `q[0]` and `q[1]` but we are only measuring qubit 0 here: `b[0] = measure q[0]`.\n", - "\n", - "Now we can run this on the local state vector simulator" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "id": "d747fcb4", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Counter({'0': 7, '1': 3})\n", - "Measured qubits: [0]\n" - ] - } - ], - "source": [ - "from braket.devices import LocalSimulator\n", - "\n", - "local_sim = LocalSimulator()\n", - "partial_measure_local_sim_task = local_sim.run(OpenQASMProgram(source=partial_measure_qasm), shots = 10)\n", - "partial_measure_local_sim_result = partial_measure_local_sim_task.result()\n", - "print(partial_measure_local_sim_result.measurement_counts)\n", - "print(\"Measured qubits: \", partial_measure_local_sim_result.measured_qubits)" - ] - }, - { - "cell_type": "markdown", - "id": "923c3cd7", - "metadata": {}, - "source": [ - "As expected, only the targeted qubits were measured. \n", - "\n", - "The OpenQASM program `partial_measure_qasm` is equivalent to the following `Circuit`:" - ] - }, - { - "cell_type": "code", - "execution_count": 43, - "id": "5b4e6ae6", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Counter({'0': 7, '1': 3})\n", - "Measured qubits: [0]\n" - ] - } - ], - "source": [ - "partial_measure = Circuit().h(0).cnot(0, 1).measure(0)\n", - "partial_measure_task = local_sim.run(partial_measure, shots=10)\n", - "partial_measure_result = partial_measure_task.result()\n", - "print(partial_measure_result.measurement_counts)\n", - "print(\"Measured qubits: \", partial_measure_result.measured_qubits)" - ] - }, - { - "cell_type": "markdown", - "id": "49b97636", - "metadata": {}, - "source": [ - "We can check whether a device supports partial measurement by inspecting the `requiresAllQubitsMeasurement` field in its action properties; if it is `False`, then partial measurement is supported." - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "74a715eb", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "False" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "AwsDevice(Devices.Rigetti.AspenM3).properties.action['braket.ir.openqasm.program'].requiresAllQubitsMeasurement" - ] - }, - { - "cell_type": "markdown", - "id": "a6a94ac1", - "metadata": {}, - "source": [ - "Here, `requiresAllQubitsMeasurement` is `False`, which indicates that not all qubits must be measured." - ] - }, - { - "cell_type": "markdown", - "id": "8996e0c59741a66f", - "metadata": {}, - "source": [ - "## Qubit Rewiring with OpenQASM\n", - "\n", - "Amazon Braket supports the [physical qubit notation within OpenQASM](https://openqasm.com/language/types.html#physical-qubits) on Rigetti devices. When using physical qubits, you have to ensure that the qubits are indeed connected on the selected device. Alternatively, if qubit registers are used instead, the `PARTIAL` rewiring strategy is enabled by default on Rigetti devices. The following example shows how to use physical qubit notation in an OpenQASM program:" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "144cc3e458a21b2d", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:54.410178Z", - "start_time": "2023-11-21T08:32:54.402877Z" - } - }, - "outputs": [], - "source": [ - "ghz_program_with_physical_qubits = \"\"\"\n", - "// Prepare a GHZ state\n", - "OPENQASM 3;\n", - "\n", - "bit[3] ro;\n", - "h $0;\n", - "cnot $0, $1;\n", - "cnot $1, $2;\n", - "ro[0] = measure $0;\n", - "ro[1] = measure $1;\n", - "ro[2] = measure $2;\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "id": "3f01e6dc44e0e226", - "metadata": {}, - "source": [ - "We can run the above program on the Rigetti Aspen-M-3 device," - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "768b980b78c4d451", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:55.489511Z", - "start_time": "2023-11-21T08:32:54.414005Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Measured qubits: [0, 1, 2]\n" - ] - } - ], - "source": [ - "# choose the quantum device\n", - "aspen_m = AwsDevice(Devices.Rigetti.AspenM3)\n", - "\n", - "ghz_program_with_physical_qubits_task = aspen_m.run(OpenQASMProgram(source=ghz_program_with_physical_qubits), shots = 10)\n", - "measured_qubits = ghz_program_with_physical_qubits_task.result().measured_qubits\n", - "print(\"Measured qubits:\", measured_qubits)" - ] - }, - { - "cell_type": "markdown", - "id": "5a5597dc7843d541", - "metadata": {}, - "source": [ - "As we can see, physical qubits 0, 1 and 2 are indeed being used and measured." - ] - }, - { - "cell_type": "markdown", - "id": "25cb2ccc4337dc1e", - "metadata": {}, - "source": [ - "
\n", - " Note: This section and the next verbatim box section uses the Rigetti Aspen-M-3 device. When you run this notebook, make sure the device is currently available. You can find QPU availability windows on the Devices page in the Amazon Braket Console\n", - "
" - ] - }, - { - "cell_type": "markdown", - "id": "9c30ec68828b17ff", - "metadata": {}, - "source": [ - "## Verbatim Compilation with OpenQASM\n", - "\n", - "In [a previous example notebook](https://github.com/amazon-braket/amazon-braket-examples/blob/main/examples/braket_features/Verbatim_Compilation.ipynb), we talked about verbatim compilation on Braket to gain more precise control on Rigetti devices. With OpenQASM3.0, we can use the `box` syntax together with the `verbatim` pragma to perform verbatim compilation. Here is an example:" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "id": "a69ab8a7a04aa190", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:55.492060Z", - "start_time": "2023-11-21T08:32:55.489240Z" - } - }, - "outputs": [], - "source": [ - "program_with_verbatim_box = \"\"\"\n", - "OPENQASM 3;\n", - "\n", - "bit[2] ro;\n", - "#pragma braket verbatim\n", - "box{\n", - " rx(3.141592653589793) $0;\n", - " rx(3.141592653589793) $0;\n", - " cz $0, $1;\n", - "}\n", - "ro[0] = measure $0;\n", - "ro[1] = measure $1;\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "id": "d503dc700f00f7b7", - "metadata": {}, - "source": [ - "To program with verbatim boxes, we need to make sure that\n", - "- we are using native gates supported by Rigetti devices. Native gates can be found using the following script:\n" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "id": "a1cb1cb78d32b7b1", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:55.496864Z", - "start_time": "2023-11-21T08:32:55.493060Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The native gates for the Aspen-M-3 device are:\n", - "rx\n", - "rz\n", - "cz\n", - "cphaseshift\n", - "xy\n" - ] - } - ], - "source": [ - "print(\"The native gates for the\", aspen_m.name, \"device are:\")\n", - "for gate in aspen_m.properties.paradigm.nativeGateSet:\n", - " print(gate)" - ] - }, - { - "cell_type": "markdown", - "id": "1d24104e29717209", - "metadata": {}, - "source": [ - "- we use the physical qubit notation.\n", - "- qubit operands are indeed connected on the physical device. Recall that the device qubit connectivity can be found using the following commands:" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "id": "f6a7ffff1914fd03", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:56.296409Z", - "start_time": "2023-11-21T08:32:55.495523Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'0': ['1', '7', '103'], '100': ['101', '107'], '10': ['11', '17', '113'], '110': ['111', '117'], '20': ['21', '27', '123'], '120': ['121', '127'], '30': ['31', '37', '133'], '130': ['131', '137'], '40': ['41', '47', '143'], '140': ['141', '147'], '1': ['0', '2', '16'], '101': ['100', '102'], '11': ['10', '12'], '111': ['110', '112', '126'], '21': ['20', '22', '36'], '121': ['120', '122'], '31': ['30', '32', '46'], '131': ['130', '132', '146'], '41': ['40', '42'], '141': ['140', '142'], '2': ['1', '3', '15'], '102': ['101', '103', '115'], '12': ['11', '13', '25'], '112': ['111', '113', '125'], '22': ['21', '23', '35'], '122': ['121', '123', '135'], '32': ['31', '33', '45'], '132': ['131', '133', '145'], '42': ['41', '43'], '142': ['141', '143'], '3': ['2', '4'], '103': ['102', '104', '0'], '13': ['12', '14'], '113': ['112', '114', '10'], '23': ['22', '24'], '123': ['122', '124', '20'], '33': ['32', '34'], '133': ['132', '134', '30'], '43': ['42', '44'], '143': ['142', '144', '40'], '4': ['3', '5'], '104': ['103', '105', '7'], '14': ['13', '15'], '114': ['113', '115', '17'], '24': ['23', '25'], '124': ['123', '125', '27'], '34': ['33', '35'], '134': ['133', '135', '37'], '44': ['43', '45'], '144': ['143', '145', '47'], '5': ['4', '6'], '105': ['104', '106'], '15': ['14', '16', '2'], '115': ['114', '102'], '25': ['24', '26', '12'], '125': ['124', '126', '112'], '35': ['34', '36', '22'], '135': ['134', '122'], '45': ['44', '46', '32'], '145': ['144', '146', '132'], '6': ['5'], '106': ['105', '107'], '16': ['15', '17', '1'], '116': ['117'], '26': ['25', '27'], '126': ['125', '127', '111'], '36': ['35', '37', '21'], '46': ['45', '47', '31'], '146': ['145', '147', '131'], '7': ['0', '104'], '107': ['106', '100'], '17': ['16', '10', '114'], '117': ['116', '110'], '27': ['26', '20', '124'], '127': ['126', '120'], '37': ['36', '30', '134'], '137': ['130'], '47': ['46', '40', '144'], '147': ['146', '140']}\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAApQAAAHzCAYAAACe1o1DAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAAD1oUlEQVR4nOydd3SURReHny3pvRdIaEkoAaSF0Is0UakiIIgdLGBBsXw2EBULKqgoWLAhil1QFJBeE6kSemhJIIH0Xrd8f4RdstmebJJNMs85nMO+ZWZ2szvvnTv3/q5ErVarEQgEAoFAIBAIaoi0oQcgEAgEAoFAIGjcCINSIBAIBAKBQFArhEEpEAgEAoFAIKgVwqAUCAQCgUAgENQKYVAKBAKBQCAQCGqFMCgFAoFAIBAIBLVCGJQCgUAgEAgEglohDEqBQCAQCAQCQa0QBqVAIBAIBAKBoFYIg1IgEAgEAoFAUCuEQSkQCAQCgUAgqBXCoBQIBAKBQCAQ1AphUAoEAoFAIBAIaoUwKAUCgUAgEAgEtUIYlAKBQCAQCASCWiEMSoFAIBAIBAJBrRAGpUAgEAgEAoGgVgiDUiAQCAQCgUBQK4RBKRAIBAKBQCCoFcKgFAgEAoFAIBDUCmFQCgQCgUAgEAhqhTAoBQKBQCAQCAS1QhiUAoFAIBAIBIJaIQxKgUAgEAgEAkGtEAalQCAQCAQCgaBWCINSIBAIBAKBQFArhEEpEAgEAoFAIKgVwqAUCAQCgUAgENQKYVAKBAKBQCAQCGqFMCgFAoFAIBAIBLVCGJQCgUAgEAgEglohDEqBQCAQCAQCQa0QBqVAIBAIBAKBoFYIg1IgEAgEAoFAUCuEQSkQCAQCgUAgqBXCoBQIBAKBQCAQ1AphUAoEAoFAIBAIaoW8oQcgEGgoKlNwMauIcoUKR7mU1n5uuDmJr6hAINBHzBcCgX0hfn2CBiXxagGr45PZdjqd5Oxi1FXOSYBwX1eGtg9kemw4kUEeDTVMgUBgB4j5QiCwXyRqtVpt/jKBwLakZBfz/G8J7DqbiUwqQaky/jXUnB8Y4c+iCV0I83Wtx5EKBIKGRswXAoH9IwxKQb2zZn8y89cdR6FSm3wwVEcmlSCXSnhlbDRTY8LrcIQCgcBeEPOFQNA4EAaloF5Zti2RdzadqXU780ZGMWdopA1GJBAI7BUxXwgEjQeR5S2oN9bsT7bJwwHgnU1n+GF/sk3aEggE9oeYLwSCxoVIyhHUC0qVmqkx4VzJK2XplkSdc/f0a824G0Jp5eeGm5OMzMJyDiXl8MHWRBLTC7XXTerRknduv6G+hy4QCOoZU/NFr1Y+TOrZkuhQL6KC3HGSyxjw1lYu5ZYYbKuFtwuPD4tkSFQAarUaiURSH29BIGh2CINSUC/sTMxgaPtAg+d8XB3YfiaDk2nnyCupINzXlYcGt+P3R/ozZtluzmcWAbD1dDoTPt6jvU8qldAl1IsFY6Pr5T0IBIL6wdR80T/CnwER/hxPzaewVEHfdn5G24kKcmfNzL4kZxez6O9T+Ls78uItnepq2AJBs0YYlII6J/FqAU/+eITDL400eH7JZl0PRPyFbA4l57LlycGM69aCJZsrt72yi8rJLirXufZEaj4v39oJqVR4HQSCpoC5+eKDrYm8f81rOXNgW5MG5ZLJ3UjLK2HyJ/soV6oAmBoTRkSgkBQSCGyNiKEU1Dmr45ORWWnwZReVAaBUqUxeN7ZbqDAmBYImhLn5wtI00tg2vkSHevHFngtaY1ImlfBtnIilFAjqAuGhFNQ5206nWyT3IZWAXColzNeFZ0d1IKOgjJ8OXjJ5z+09WlJYpsBdVMgQCJoEls4X5ujdxheAwjIlX94TQ7+2fihUav67lFvrtgUCgT7iKSyoUwrLFCRnF+Pt6mD22pOv3ISTgwyAcxmFTP0sjrS8UqPXtwtwo1drX1bHJzG+WwtRdk0gaORYM1+YI9jTGYDFk7ryV0Ia9369n0APZ+aNjBLJOQJBHSCewII6JSmrCEt9DRNX7MVRJiXcz5X7+7dhzcxYpn0er5PpXZXJvcIAWLM/hW5h3kSHetlo1AKBoCGwZr4wh8ZgPJycw3O/JmiPn7lawF+PDbRRLwKBQIOIoRTUKeUK0zGQVTmems/hlFzWHknljs/iAAnPjGpv8Fq5VMLE7i05kZpHwuU8q/oRCAT2iS1/x7nFlQl8O89k6hw/kZZPhZgvBAKbIwxKQZ3iKK/ZV6yoXMn5jELa+LsbPD+sQyABHk6sOZBSq34EAoH9YMvf8akrBcZPit1ugcDmiKewoE5p7edWo7nbx9WB9sEeXMwqMnh+ckwYpRVKfj98Gcm1fgQCQeOmpvOFIbafTqe4XMHg9gE6xzuHeuIgE48+gcDWiBhKQZ3i5iRnRp9WlFQoAYgIdGd052CgMpvTQSpl1f2xrPvvMhcyiymtUNLW3417+7fBUS7V6s1VJdDDicGRAfyZkEZ+qYJWfq4iIUcgaAKYmy9KK1T4ujkSey2Du0NwpZ7kkPYBZF3TqY2/kA1AfqmC9/45w4u3dOKdSV1Z918qAR5OPDOqQwO8M4Gg6SNRqy1V9RIIbMuAt7aSXlDGK2Oj6dXKhxBvF5zkUjIKyoi7kMXH289x1kBCziND2vHMqA7c8Vkc/17MZkZsK1EtRyBo4mjKK/Zp48uaWX0NXhN3Poupn8XpHJvSK4x7+7emjb8bRWVKLuUU07Wldz2MWCBoXgiDUlDnJF4tYMTSnXXW/ua5g0TlC4GgiSDmC4GgcSICSQR1TmSQBwMj/K2ulmMOmVTCwAh/8XAQCJoQYr4QCBonwqAU1AuLJnRBbuMHhFwqYdGELjZtUyAQNDxivhAIGh/CoBTUC2G+rrxi4zjHhWOjCfN1tWmbAoGg4RHzhUDQ+BAGpaDemBoTzryRUTZp6+mR7ZkSE26TtgQCgf0h5guBoHEhknIE9c6a/cnMX3cchUqNUmX5108mlSCXSlg4Nlo8HASCZsKa/cm8/HsCCpUalRUqlWK+EAjqF2FQChqElOxinv8tgV1nM5FJJSYNS835gRH+LJrQRWxbCQTNjOHjp5Dg3BmXNj1Qq5RIpDKj14r5QiBoGIRBKWhQEq8WsDo+mW1n0knOKkbny6hW41iRjyTtBEsemcjNA3o01DAFAkED8sQTT7Bs2TKk3qG4dx+NS9teyH1CkEiueywlQLifK0OjArmzT7jI5hYI6hlhUArshh9/XcuMR54EqRy1sgJFThrqilIADh48SI8ewqAUCJojX375Jffdd5/OMYmDM/c/8RyPzHkMR7mU1n5uomKWQNCAiF+fwG7o1rkj0rxUSktLdY4HBwfTvXv3BhqVQCBoaJRKpd6xaZNv45M3X0IqFbmlAoE9IH6JArshKiqKZcuW6R1v0aKFztaWQCBoPhw5coTHH39c51hYWBhffvmlMCYFAjtC/BoFdsU999yDo6OjzrGDBw+yffv2hhmQQCBoMM6fP8+wYcMoKyvTOe7n54eDg0MDjUogEBhCGJQCu2L//v2Ul5frHZ86dSpFRUUNMCKBQFDfFJUpOJ6ax687DlEg90Il1TUeT548aXAbXCAQNBwihlJgV/z55596x5ydnWnTpg1lZWW4ubk1wKgEAkFdo1V8OJ1OcrZG8cGF0Ps+BNRU5KRRev4QBYfWU5aVQlJSEm3btm3YQQsEAi3CoBTYFYMGDeLKlSt06NCBd999l3btO7Hi21+oUKlJK5XiVKYQmZwCQRPCMk1aCQ4+oTj3CsWj562EOxYj8fCv97EKBALjCNkggd2h8VT8Gn+afKUjVNea83VlaPtApseGExkktOYEgsZKbatmvTI2mqmiCo5AYBcIg1JgN4jqOQJB82HZtkTe2XSm1u3MGxnFnKGRNhiRQCCoDcKgFNgFwlMhEDQf1uxP5rlfE2zW3lsTu4h63QJBAyMMSkGDIzwVAkHzISW7mOFLdlCmUNmsTSe5lM1zB4udCoGgAREGpaBBEZ4KgaB5kV9SgaeLA0s3n2HplkSdc71a+TCpZ0uiQ72ICnLHSS5jwFtbuZRbonPdpB4teef2G+pz2AKBwAwiXVbQYKRkFzN/3XGbtvnyuuP0a+cvPBUCgR1SXK5gfUIad/Q2vOjrH+HPgAh/jqfmU1iqoG87P4PXbT2dzoSP9+gdX/1ALK6O4rEmEDQE4pcnaDC8XBw4/epog56Ke/q1ZtwNobTyc8PNSUZmYTmHknL4YGsiiemFem3d3bc1d/VpRUtfF/JLKurrLQgEAit4e8Np/kxINWpQfrA1kfevzQUzB7Y1alBmF5WTXaRbAMHdSY5MKkq0CgQNhaiUI2gQNJ4KY/i4OrD9TAbP/XqUu774l6Wbz9Ap1JPfH+lPW39dcfPZQyKYf2snNhy/wt1f/Mtnuy4gIjkEAvtj2+l0k0l3tfnZju4cjJNcVvMGBAJBrRAeSkGDYM5TsWSzrscy/kI2h5Jz2fLkYMZ1a8GSzZVJPN6uDjx6YwRr9iezeNNpAPYn5RDbxpdhHYPq9k0IBAKLKSxTkJxdjLdr3dTgntIrjPzSCmQSiSh+IBA0AMJDKWgQzHkqDJFdVAaAUnU9O3RwVADODjJ+OnhJe0ypUrNs+1nbDFQgENiEpKwi6mrfoF2AG71a+/LHf6lczCqqo14EAoEphEEpqHc0ngpLkErAUSalXYAbb03sSkZBmY7x2P5apZxTVwp07juSnCu2vQUCO6LchjJB1ZncKwyANftT6rQfgUBgHLEvIKh3rPFUnHzlJpwcKuOizmUUMvWzONLySrXnvV0dKatQUlKh1LlPDZQrVSKmSiCwExzldeO/kEslTOzekhOpeSRczquzfgQCgWnEL09Q71jjQZi4Yi8TPt7D4z8cpqhMwZqZsUQGuutcY8w4FQ5KgcB+aO3nRl3kYA/rEEiAhxNrDqQgudaPQCCof4RBKah3rPEgHE/N53BKLmuPpHLHZ3GAhGdGtdeezy0ux9lBhrODfptyISEiENgNbk5ywutAH3ZyTBilFUp+P3yZcD9XkZAjEDQQ4pcnqHdq6qkoKldyPqOQNv7XPZSa2MkOwZ4cScnVHg9wd0IuE+slgcCemD0kggPJOQBEBLozunMwUJmkV1qhwtfNkdg2vgB0CK6Mjx7SPoCsa7qT8ReyddoL9HBicGQAfyakUVSuZGL3wHp8NwKBoCrCoBTUOxpPRX6pdQLkPq4OtA/24EBSjvbYjjMZlFYomdSjpY5B+cDANrYarkAgsBGTY8KYHFOZQHNr11Bu7RoKoC2vGBXozvLpPXXueW18FwDizmcx9bM4nXOTerZELpPyw/4UlCo1d/YRZVcFgoZCGJSCBsGUp8JBKmXV/bGs++8yFzKLKa1Q0tbfjXv7t8FRLtVW0gDIK6ngw61neWpEFLklFexKzKBbmDf39xcGpUBgj8xYGc/e81kGZcPiLmTT+n/rLW7r4+3n+Hj7OWRSCQMj/IkI9LDlUAUCgRVI1EJbRWBHDHhrK+kFZbwyNpperXwI8XbBSS4lo6CMuAtZfLz9HGcNlF68p19rZvRpRUsfFzIKynB1lOHr5tQA70AgEJgiJbuY4Ut2UGZDeR8nuZTNcwcTVgcxmgKBwDKEQSloMEx5KmqKTCqhX1s/Vt0fa7M2BQKBbVmzP5nnfk2wWXtvTezClBix3S0QNCQia0HQYCya0MXmmdhyqYRFE7rYtE2BQGBbpsaEM29klE3aenpke2FMCgR2gDAomwBFZQqOp+ZxODmH46l5FJUpGnpIFhHm68orY6Nt2ubCsdFi20sgaATMGRrJmxO74CSXIrNyYSmTSnCSS3lrYhdmD42ooxEKBAJrEFveNqaoTMHFrCLKFSoc5VJa+7nViS5a4tUCVscns+10OsnZxTri3hIg3NeVoe0DmR4bTmSQfQeqL9uWyDubztS6nadHthcPF4GgkZGSXczzvyWw62wmEtSoTYiKyaQSlCo1AyP8WTShi1g8CgR2hDAobUB9GndVJ1/N5GqMxjT5rtmfzPx1x1Go1FbFVMqkEuRSCQvHRottL4GgkaFWq/n555/p3LkzV0ok3PbsEtr0u4Xscpn+POrnytCoQO7sEy6yuQUCO0QYlLWgvo272hpdr4yNZqodG11N1VgWCASGuXDhAm3btgVAJpOhVCr5+uuvGTNhEqkFFXW+0yMQCGyHMChrSH0bd7baFp43Moo5QyNr3U5dovX4nkknKatY55zwVAgETYeKigpcXV1RKHTjvt3c3Pjtt98YMWJEA41MIBBYizAoa0B9G3fNWWLjs6++YfazC3juhZeYMmmi8FQIBE0ItVqNn58fOTk5OsednZ2Ji4vjhhtuaKCRCQQCaxFZ3layZn+yTYxJgHc2neGH/ckmr0nJLmb+uuM26U/Dy+uOk5JdbP7CBuTYsWNs2bKFt15bSEX6BTauXoGnMh85yoYemkAgsBHz58/XMyYlEgl//vmnMCYFgkaG8FBagVKlRiaVsHTzGZZWKf9niB9m9SG2jR9f77to0CC8u29r7urTijBfV6QSkMsM2/b5JRV4ujjUqs9JPVryzu2Na3L29fXVe9AAxMbGEhcXZ+AOgUDQmFizZg133HGH3vHIyEjOnLHNol0gENQfwkNpBTsTMyy67q6+rWjt52b0/OwhEcy/tRMbjl/hnq/+5aeDlwxeV1yuYH1CWq373Ho6nQkf79H7V1xuv3qVt912m8HjQ4YMqd+BCASCOqFFixZ0795d73haWhrCzyEQND6EQWkhiVcLePLHI2ava+ntwjOjOvDy2mMGz3u7OvDojRGs2Z/M4k2n2Xsui//9lkBWYZnetW9vOM27/5yudZ/ZReUcTsnV+ZeYXmi1mHB90qlTJ4PH58yZU88jETR1GmthgMaK5vN2b9WZVX9uY8XnXwIQEhKCk5MTxcXFFBfbd0iOQCDQR2Q3WMjq+GSLDLBFE7uwOzGTjSeuGjw/OCoAZweZjldSJoEv91xk3qj22mNqtZr1hy+ilDrUuk9DjO4cjJNcZvH19UlFRQVLly41eO7nn3/miSeeqNfxCJoeTakwQGPA1OcN/rR86HPuGdWbyT1CcFcW4OZmfIdHIBDYJ8JDaSHbTqeblQea0iuMbi29eXmdYU8hQPtrD6dTVwq0x5Rq+Hp7AiqVCoA9e/YwYOhw0kvMb/tY0qex+/JLK+zSG1NeXo6Hhwfu7u565w4cONAAIxI0FVKyi5mxMp4RS3eyKj6JJD3jBtRAUnYxq+KTGLF0JzNWxtt9Epu9YsnnDRJk3sF8tz+FMcvjeXlruvi8BYJGiDAoLaCwTEGymQkuyNOJF27uyBt/nyS9QH/7WoO3qyNlFUpKKnSzlfPVzpw9e45t27YxYMAADp1JRiIx7RG1tM/qtAtwo1drX/74L5WLWUUW31dfuLm5cezYMfLz8/H29gZg1apVZGdn89VXXzXo2ASNlzX7kxm+ZAd7z2cBmF0gas7vPZ/F8CU7WGNGkUGgi/i8BYLmhTAoLSApq8jAqlqX18d34WRaPt/vTzHbnqG2JBIJSGWUlVUahioL/jTW9FmVyb3CAFizP4Vyhcqqe+sTiUTC8OHDkcvlTJs2DR8fH+RyEaUhsJ5l2xJ57tcEyhQqqwoRQKWhU6ZQ8dyvCSzbZlppQVCJ+LwFguaHMCgtwJzRNbpzMIOjAnhjwyk8neXafwAOMimeznLk1+Ivc4vLcXaQ4eyg/9H7+HiTm5sLgERtWm/Rmj6rIpdKmNi9JSdS80i4nIej3H6/AkVlCtp0H0ibXkM5eaXALrfnBfZPfWvHNnfE5y0QNE+Eu8cCzBld7YM8cJBJ+f2R/nrnpvUOZ1rvcGatOsCmE1e1sZMdgj05kpKrvS7A3YkAP18mT56Ms7MzC157gxwT0hnW9FmVYR0CCfBw4sNtiUjApLxRQ6AfvN8OhjzOLR/uFskSAqtRqtRMjQnnSl6pjo6rVAL39m/DoEh/ooI88HZx5HJuCf+cuMLyHefIL9VfvFTVjlUoVUa1Yy2hqEzBxayiJleruq4KMfRr50+Yr6tN2xUIBLal8c9g9UBrPzdMRTP+fPAScdfihKqyZlZfNh6/wpd7LnD6aqUhueNMBqUVSib1aKljUE7q2RK1Wo1UKmX8+PGMGzeO3gv/wphPzpo+qzI5JozSCiW/H75MuJ+r3TzEUrKLef63BHadzUQmlRjcJquaLPHVvosMjPBn0YQu4kEjMMrOxAyGtg/UO+7sIOOJYZH88V8qa/ankFNUTnQLLx4dGsGwjkGMWbabsio7E7OHRPDUiCiW7zjHnnOZjOkayh29rStf2hwyy71cHDj96miDhRh6tfJhUs+WRId6ERXkjpNcxoC3tnIpt8RgWxoDvqWvC/klFfUxfIFAUAvsw5qwc9yc5Mzo00qbSBMR6M7ozsFAZfb3pdwSo5PilfxS4i5ka1/nlVTw4dazPDUiitySCnYlZtC1pTdPDI/UScKRSCQ8fXNXDiTn1LpPDYEeTgyODODPhDSKypVM7K7/oG0I1uxPZv664yiuGZHWBu+/MjaaqY2kNrmg/tBoxx5+aaTeudIKJQMXbyO3+LqhEnchm9TcEpZP78noziH8fuQyoK8dC7D3XBYjOwXh5+5kdhzNZbGkKcRgzNDuH+HPgAh/jqfmU1iqoG87P6NtVTXgNXPk/0Z3MJuoKBAIGg5hUFrIwnGdtf+/tWsot3YNBTC5wjbGR9vPUlSuYEafVswc2IbMgnL2nctiSDVPyuSYMCbHhNmkT6j0gsplUn7Yn4JSpebOPg1vhC3blljjeCulSo1Spea5XxPILCxjztBIG49O0JgxpR2rUqNjTGr479quQaiXs/aYQe1YqURPO9YQzWmx9PaG0/yZkGrUoPxgayLvX/NazhzY1qhBaciA35+UQ2wbX4Z1DKqbwQsEglojDEoLSbxawIilO626p/X/1hs999Xei3y196L29ea5gwxeN2NlPHvPZ1mcKWmqz4+3n+Pj7edQKxWUJh8l45wvEYF9LWq3LrB18H6AuxNTGsnDV1D3WKIdW51+7fwBOJN+PVzEoHasSs0fCakmDcrmtlgy93lbWk3RkAGvVKlZtv2sMCgFAjtGGJQWEhnkwcAIf6uMO0uQSSX0a+tHRKDhmKlFE7owfMkOm/WpVqtRq5Tk/rOc1wvj+fPPP83eUxcJBMaSJQDu6deacTeE0srPDTcnGZmF5RxKyuGDrYkkphfqXHtf/9b0bu1HdKgnYb6ulFYocXawzwpAgvpDox3r7Wq+0pSGIE8nnr2pPf9dymXLqXTtcWPasclZxahUaqQGvKDNbbFUk8/bGIYMeIAjybmo1Wqx7S0Q2CnCoLQQtVrNjI4O/HvRcAxUTZFLJSya0MXo+TBfV14ZG81zvybYpD+JREL2Pysoz05j/fr1zJ8/n3HjxtG5c2ccHR2119V1AoGxZAkAH1cHtp/J4GTaOfJKKgj3deWhwe34/ZH+jFm2m/OZ18XYp/duRXGFkr3nshjuKCO9oIyOIZ5Wj0fQtLBEO7YqXi4OfHVPb0DCnO8O6XnTDLWlBipUKpyk+guYjGqFBqzJKp/UoyXv3H6DFaNveKz9vE1hzIBXA+VKld2WjBUImjvCoLSQ9evXM2bMGEY8NJ8z3jE2a3fh2GizgfdTY8LJLCyrlcdDs7LP2fE1hUf/ud7/woUsXLgQuVxOz549+fjrH1iy+0qdJhCYSpYAWLJZ12MZfyGbQ8m5bHlyMOO6tWDJ5uufw/ClO7QP/42PDyKvpIKz6QVGPb6C5oE1gv2eznK+vT+WIE9npn0eR0qObnxyVe3Y0grddtUqFXDdwCkoKMDDwwNVtd+NNVnlW0+nM+HjPTr3S6USFoyJpksLL4vfV31i6wIJxoxTS7fNBQJB/SMMSgvZtWsXUqmUf1a8gu/AaXj0n1brNp8e2d7ibaw5QyPxd3fSBvhb4yWVSSWolUrY/yMFcT8bvEahUHBeEsId3x5H82yoqwQCU8kSxsguKrvWZ7UHuoEhfhuXzIKx0Va1L2haWCrY7+ksZ/UDfQjzcWH65/F626yASe1YZ0cH1q5dyx9//MGmTZuocPYh7cx/egaRNVnl2UXlZBeV69zv4iCjjb8bJeUKXBztb9q2ZYEEUwa8oWINAoHAPrDfMil2xpYtW1BdM2ayd31H0bZPcZBitWEkk0pwkkt5a2IXZg+NsOreqTHhbJ47mH5t/bRtmesLoF9bP3Y8M5zzm78lNzeXjRs34uqq60306jcF1yEPUKawzlgF60ulWZosIZWAo0xKuwA33prYlYyCMp1AfaPtn0k3e42gaWNOOxauG5Phvq7M+OJfjqflG7yuqnZsVW7r0QKVSsX//vc/Vq5cSUpKCm5dhhlsw5qsckPc2jUEdyc5G45fMfOuGgZLPm9LqWrAVyXA3alWYvICgaBusb+lrp1x7Ngx3n77bQ4ePKhzPOvfPyg4e4CRz3/J0YwKo9vDGjTn+7X1q5W+XJivK6vuj70e43gmneQsAzGOfq4MjQrkzj7hOtu/np6ejBw5kpdeeokXXngBlUqFe9eReA+aUaPxVMdcAsG55MskZRfh4+po8HxVTr5yE07XEmzOZRQy9bM40vJKzd6XnFVMUZnCbkTbBfWPm5Oc6bHh2m3k6jquajV8c18s0SGeLFx/ArlUQvcwb+39WUXlJGcXA6a1Yz///HNOnjypvc+5dTerxmkoq9wQU3qFkV9awfId55jQvaXJaxsCNyc54b6u5JfWXoDcWPGHBwa2qXXbAoGg7mj2T1xTGcz33HMPX3/9NTKZfhC4Wq2mR1Qrlk3qQJmTT42Mu9oQGeTBgrHRLCC6RlnYc+fOJSYmhq43dCPA389gZYvq/DCrD7Ft/Ph630WD5dVaeLvw+LBIhkQFGMzG3L17N7c98DguExZa9B4nrtiLo0xKuJ8r9/dvw5qZsUz7PF4v07s6auBiVhHRofYZbyaoH14bfz3ZrbqOK0C3awbkgjH64RE/H0xh3s9Hta+ra8dmFJTx4/YjhIaGMmvWLD799FMkji7IvSyXtTGWVV6ddgFu9Grty+r4JBKvFtrtYmn2kAijhRhKK1T4ujkS28YXgA7BlfPgkPYBZF3b4o+/VozBkAHfLcyb+/sLg1IgsGfsb1aqByzNYK5wqdxaVip1sw27devGihUriI2N1R6rjXFXW9yc5FYbT05OTkRFRbH1RBpTBhmvWKHhrr6tTNb9jgpyZ83MviRnF/Pa+uNkpyYxqZ2UAQMG4OPjw7Jly3jqqadwCI7ExcIxHk+t3II8nJLL5hNX2T5vKM+Mas/MVQfN3Gn7JAFBw1DT39P+/fvpP/o2QmcuN3qNKc1WQxjSjo0I7MWtt95Kv379ePj51y2WtDGXVV6Vyb0qixus2Z9i14slc4UYogLdWT69p849GqM/7nwWUz+L0x43ZMDnl1bg62a+MpFAIGgYmpVBaW0JNKX3jfR7vhf/fjQXRd5V7TVffPEF3bt3N9hHTYy7hqLU0Zs3d5xkyqDOJq9r6e3CM6M68NSPR/hkRi+D1yyZ3I20vBImf7KPcqUKcOKnNx+hPDMZBwcHKioqt8KkFWUG7zdHUbmS8xmFtPF3t+h6WyYJCOoXW0hWPf/886hyUym5cAjn8K5IZLab6gxpx9599904hkTxdrzprWswn1VeFblUwsTuLTmRmkfC5TzAvhdLpgoxxF3ItsqI1xjwms971f2x5m8SCAQNRrN56q7Zn8zwJTvYez4LsDyDOVXlQegDH+PT6xYAnJ2d6dLFuG5kY8LSbOtFE7uwOzGTjSeuGjwf28aX6FAvvthz4ZoxCWqVErduNwFojUkARU4a6hpof/i4OtA+2IOLWUVmr5WASW+qwD5JyS5mxsp4Rizdyar4JJKqGZOgu+AbsXQnM1bGk6KJdczLY+/evTz99NNs3rwZpVJJ9oaPUKuUNfrOGcOYdmzXzp3M3ls1q3zGSsNZ5VUZ1iGQAA8n1hxI0R6z58XSogldbJ6JbU6rVyAQ2AfNwkNZmxJoaiRIHJzwHP4wPsHhdFAlIZc3jY/NkmzrKb3C6NbSm+FLdhi9pve1uKjCMiVf3hNDv7Z+KFRq9p3uxpzJOzh9+rT22ptHDiO0rTNevgGAfqyVg1TKqvtjWfffZS5kFlNaoaStvxv39m+Do1yqrQWsoUsLL1r6VG6iuzvLkUhgRt9WdhljJjBObWpeD1m8hdLd35C6W18SS5F3lZx/PsHv5sdsNlZj2rHmMp2rZpXfuTLeaFZ5VSbHhFFaoeT3w5WSQva+WLJ1IQawTKtXIBA0PE3+qWvLEmjKzrdwx9iONmmrobGkVFqQpxMv3NyRN/4+SXqB8a3qYM9KyZPFk7ryV0Ia9369n0APZ54aGcWuXbt48skneemll9i/fz+jRo3C399fe2/1WKv0gjJOpuVzR0w4Id4uOMmlZBSUEXchi4dWn+NstYScu/u2YlLPMJ1jC8ea3sIX2Be1rXkNEhwG3IOnUkr+vh91zkskEoKKzhGYeZBU/56GG7ECU9qxbk5ybbxjbbLKNQR6ODE4MoA/E9K0lXTC/VztfrFki0IMGqzR6hUIBA2Lfc9MtSQlu9hgNnJtePWv0wxuH9zoV8yWlEp7fXwXTqbl8/3+FJPXaRIRDifn6Hgmzlwt4K/HBvLNN98gkUiIioqqPH4ln5Hv7zLa3v9+s9y7Me/nozrZuKBJlhCVchoDtlnwVX7/fAbfhaooR1sJ6sknn2TRokU4OTlp+6ppYQC5VMLCsdFmjZvnRlcuOGubVQ4wqWdL5DIpP1z7/cmkEoZGGS5Xam/UthCDpZ+3QCCwH5q0QRnm68ojQyJ0SvUZwpQczn39W9O7tR/RoZ6E+boSdz6L539LaPQB4uYC+0d3DmZwVAC3f7IPT2fdr4mDTIqns5ziciUKlZrc4sqqHjvPZOpcdyItnwqFCodqMV9RwZ4MjPA3GrxfUwwlSwjsF6VKzdSYcK7klepIVllT9xqq/UbfuIUdu/dy+8TxvPrqq1pjEio9Z/3b+ZtNzNNQE+3YxKsFjFi60+A5a7PKP95+jo+3n9O+VqrU3Nmn8RhYms978ju/k4ZXvWn1CgSChqHJGpR5xeV4uTqaDcY3J4czvXcriiuU7D2XxTDHSj3KXWczG329aHOB/e2DPHCQSfn9kf5656b1Dmda73BmrTrAphNXTScWGAkqWzShC8OX7LCpQSmC9xsXOxMzGNpe3+NmTd1r0P+Nyn1DmT9/vl41KKh9YQBzRAZ5iMUSaHVoy3PS2P/2XYy/+2E6j3uoXrV6BQJB/dJkDcpPdp7nmZs6mLzGEjmc4Ut3aDXiNj4+CKic3Bt7vWhzCQQ/H7xE3LWM+KqsmdWXjcev8OWeC5y+WmlIbj+dTnG5gsHtA1i554L22s6hnjgYKZUmgvebN4lXC3jyxyMcfmmk3jlr6l6D/m9U5uzB0HF3mOy/toUBTFE3iyUazWIpLi6OoUOHMnToULZv345SqSQy0L1BtXoFAkHd02R/xbvPZvKMmWvMyeEABgWHlSo1286ks4DGa1C6OcmZ0acVJRWVou3Vkwgu5ZZwKdewPt6V/FLirlW1AMgvVfDeP2d48ZZOvDOpK+v+SyXAw4lnRpk26EXwfvPFlGSVtXWvDf1GfzyUxoKWvhaNxdbasXWxWCrft5qwV2+2WXt1SUFBAaWlpfz999/aYydOnCA9PZ3AwMBGpdUrEAgsp0kalIVlCi7lFJu8xhI5HFM0hXrRC8ddz4Y2VNnCGj7ffYGCUgX39m/NmBtCKSpTcimnmCBPZ5P3ieD95oklklXVsbTuNdDgCz5bLJY028a5O74hb9+PXLr0Fi1b2l8d7+pUrW2uYd26dfzzzz8kJSUREBDQAKMSCAR1TeO1hkxgLoPZUjkcU9hzCTRLMZVAYAxTiQU/HEjhhyoCzJvnDrKozfpIlhDYD5ZIVlXH0rrXGuxhwVebxZIENSpFOdn/rNBmre/atYs77jC9ld/Q/PjjjzzxxBMGz40fPx4/P/NlXgUCQePEfksu1AJzGcyWyuHUth97R5NAYEm1HGuQSSUMjPC3KrhekyzxzxODmBHbilZ+rgZiPNVUZKfSySGTzXMHser+WGFMNkIskayqijV1rzVoFnwNzdSYcDbPHUy/tpWGlLnfmuZ88YXDpH3+iNaYBHjwwQf56KOPKCpq+PdljKSkJIP1zKOiovj222+RSpvkI0cgENBEDUpTGcwaOZw3NpzC01mu/QfX5XAsLR1mzyXQLMXeSqVpkiV2zBvKsQWjWP/oAH57uB/rHx3AnKALpH46i79evZesCydsOmZB/WHNQqxq3esZX8SbrHtdm37qEksWSxKglZ8rM2JbcafPBfJ+fx1lvq4ntqCggEcffZSQkBA2b96sc66oTMHx1DwOJ+dwPDWPojJdaaX64umnnyY5OVnPcPT39xfGpEDQxGmSW96mMpitkcMxhb2XQLMUe862rh68/9nFSk0+lUrFwIED8fb2Zt68eTzzjLn0K4E9YelCrGrd6+mfm697XdN+6guLM8vHRvPEfVP55JNPePnll1GprhvGEomEiooKXF1dr0sfnU4nOduAFI+vK0PbBzI9NpzIoLqR4jH0Plq0aKE9//zzz5OQkEBkZGSd9C8QCOyHJmlQujnJaelj2KCxRg7HFI2hBJql2Hu2tVqt5tNPP+WLL77QHquoqCAjI4PU1FSb9iWoe8xJVkHN6l5Xxd4XfOYynf39/XnhhRc4f/48X3/9NUplpRqDs7Mzv23ayfKTCnb9sdNovLEaSMouZlV8El/tu8jACH+bxRubM2SDPeR43fgAE7oE8Prrr9W6P4FA0DhoGhaRAe7r3waonRwOQJcWXrT0cQHA3VmORAK3dAlhcGTTylS052xrlUrFCy+8QEGBvqH/ww8/MH/+fHx8fGzer6BuMCdZZW3da0O/0Rl9WzWJBd+gQYP44osvkEql+Pn5URLagzl/X0V57edp7neqOb/3fBbDl+zglbHRTK3hbzQlu9hs4pwaSCtQ4NnjFrZIZcxYGS8S5wSCZoJEba6UTBPClBzOxTduMVh68Z1JXZnUM6w+hmcXWPLQ0CCTgFKNTb0fxvjtt9+YOHGi3nG5XE5cXBw9e/ass74F9Yem7vXuZ280ek31utdN+TealJREZGQkd955J52nzOOD7RfM32SGeSOjmDPUui3o2tZBr40hKxAIGgdN2qCcsTK+zkqgNfZa3uYwV5quPDsV75LLrH3nqXoplbZhwwZGjx6tc8zR0ZErV64I72QjpCaSVdawee6gJlPCLy8vj79O5/G/32wX5/zWxC4W7yYs25Zok3CYmhiyAoGg8dCkDcqU7GKGL9mhU/e3tjjJpWyeO7hZbeFUD7xX5V2la6f2AKxYsQJ/f386depEx44d62wMeXl5rFmzhpycHP73v/8B0KFDB4MiyoLGgVjwWYZSpUYmlbB08xmWbknUHpdK4N7+bRgU6U9UkAfeLo5czi3hnxNXWL7jHPml+pneLbxdeHxYJEOiAgjwcDIo8VOVNfuTbZqwZ40hKxAIGhf2lQZpYzQZzLakOdaL1iQQdA/3oYWrmi8+Xa4999BDDzFp0iTefvvtOh2Dl5cXDz74IM899xxvvPEGUJmYI2i82Jtklb2yMzHD4HFnBxlPDIvkck4JC/88wb1f/cv3+5O5o3c4Pz/UD6dqWe5RQe78MWcAUUEeLPr7FK//ZXoxlpJdrBcCVFteXneclGzTVcwEAkHjpPFHrZvB3jOYGxMqlYqoqCgyMvQfcEFBQfU2jueee47PP/8cf//KUnwmJVgEdos9S1bZC4lXC3jyxyMcfmmk3rnSCiUDF2/TqXsedyGb1NwSlk/vyejOIfx+5LL23JLJ3UjLK2HyJ/soV1bu2kyNCTMaGuDl4sDpV0freUYBerXyYVLPlkSHehEV5I6TXGY0Rv2+/q3p3dqP6FBPwnxdOWllxr5AIGgcNGkPpYY5QyN5c2IXnORSq6vCyKQSnORS3prYhdlDI+pohI0DqVTKjBkzDJ776quvDBqadcVjLy2iNHoMgxdvo/OCjdzy4W4mLN/LLR/upvOCjQxevI0F646TaIEElKDhmBoTzryRUTZpqyku+FbHJxuds1RqdIxJDf+l5AIQ6uWsPRbbxpfoUC++2HNBa0zKpBK+jUs22HZxuYL1CWlGx9U/wp8BEf6k5pZwKCnX5HuY3rsVLXxc2Hsui8zCMvJKKjhrQT12gUDQuGgWBiXUvARav7Z+bJ47uMk9qGrKq6++ajDu6urVq2zatKnO+0/JLmbGynjeO+VGQXB3kqrp4IGuBt+IpTuZsTJebLPZMWLBZ5xtp9OtjjHt167Sc3+mitHWu40vAIVlSr68J4bTC2/i6MsjGdEx0GAb81btYvFG41viH2xNZMDb23jw24NsPW26tvrwpTsYs2w3z/56lKzCcgCjhqxAIGi8NBuDEiwrgaZWqwn3ceHO2HDWP9JH1IuuxpkzZ6iexxUcHMy///7LtGnT6rTvNfuTGb5kB3uvCdNbq8G3Zr94iNkr1Rd8ErXpRLrmsOArLFPo6G1aQpCnE8/e1J7/LuWy5dR1Qy/Ys9JbuXhSV67ml3Lv1/t54fdjhPu7UVBQSFZWFkqlkt9++43+/fuzdv9Z1Cbk561J5TR07bYzpo1QgUDQ+GiWgWaGSqBlZufy+quvsPm37ynydONwWRnvy2Tk5OSYzYRsTnTo0IHPPvuMkJAQpk+fTl5eHl26dCEmJqZO+62NdInymnbec78mkFlYJqRL7BTNgm//6RRuevR1/LsOptzBU7+koJ8rQ6MCubNPeJORBjJEUlaRnvfdFF4uDnx1T29AwpzvDukYcpo57HByjk7M6pmrBfz12EDeeOND3n77bXJzc5E7uxM6MMQ2b8IIyVnFFJUpRKyzQNCEaPa/ZjcnOd+8v0gnSzkrqxSAtm3bCmOyGs7OzjzwwAMAbN68mZiYGJydnes0MWbN/mSbJFUBvLPpDAHuTk3So9WYKS0t5dNPP6VDhw7Mnj2b7LNniZUn89Nv65ptwlW5FXJnns5yvr0/liBPZ6Z9HkdKjm5yTG5x5VbzzjOZOsdPpOWTeiWdG264gdzcXAAkngF1Pu+pgYtZRSbLTwoEgsZF85iZzdC5c2eDx3v06FHPI2lceIW1p+u9r3LKpx2dF2zU9yT5ujK0fSDTY8OJDKq5JymjoEzv2D39WjPuhlBa+bnh5iQjs7CcQ0k5fLA1kcT0Qu11bfzduCMmnL7t/Gjl64pKreZ8RhGZBWX4ezjVeEwC23LmzBkef/xxnWMpKSlkXU0lOrx5Gv+OcssikjR1z8N8XJj+eTynrugnvBg6pkEiqVRw0L6WOVg/2BpgjcEsEAjsn2YVQ2mMGTNmcO+99+od37p1K5mZmQbuaN5oEmNGLN1JQXB3yh096zQxxlCopI+rA9vPZPDcr0e564t/Wbr5DJ1CPfn9kf609XfTXjcw0p8bOwTy97E0HvnuEE/8cIQLWUXCmLQzIiP1wxCOHTtGq1atWLduXQOMqOFp7edmIoqxEo0xGe7ryowv/uW4EUme7afTKS5XMLh9gM7x6BAPQoICadOmDUuXLsXLywuJWmmjd2AaSw1mgUDQOBAeymsMGzaML7/8UudYdnY2d9xxB//8808Djcr+qFrTFwwbe1WpnhhjTU3fc+mFtAt010sCAliyWVcXL/5CNoeSc9ny5GDGdWvBks2VW+R//JfKN/uSdK7dfiYDb1cHhrYPRCpCGuyC1157zeDx4OBgevXqVc+jsQ/cnOTM6NOKkopKAy8i0J3RnYOByuxvtRq+uS+W6BBPFq4/gVwqoXuYt/b+rKJybVJPfqmC9/45w4u3dOKdSV1Z918qAR5OPD2ysuJVdHQ00dHR3HXXXcx/dRFr67iAmoRKg1kgEDQdhEF5jV27dukdk8vlODg4oFarRSwl9Z8Y88uhSzxzUweL+8guKrvW1/WttBwDOn0ARy/lMaxD/YmxC4yTmZnJokWLDJ574403CA0NrecR2Q8Lx10Px7m1ayi3dq38LAa8tRWAbtcMyAVj9CuC/XwwhXk/H9W+/nz3BQpKFdzbvzVjbgilqEzJpZxigr1ctNf4+PjwwXuLObBoEyV16KgM93NtNrGwAkFzQfyiryGTyQgODqZz585s3ryZwMBAkpKScHZ2Nn9zM6AhEmN2n83kGTNtSSUgl0oJ83Xh2VEdyCgo46eDl8yOoU8bP3KKy/FxdbRi5IK6wN/fn7i4OF544QW2bNmicy47O7uBRmUfJF4tYMTSnUbPt/7feqva++FACj8cSNG+3jx3kMHrnhjRkQPJOYC+Z7S0QoWvmyOx17QtOwRXxkcPaR9AVlE52UXlxF+4/nfr0sKLlj6VRqu7sxyJBGYPbnqaoQJBc0eiNrSf2MwZPHgwCoWCTVt3NNsM06qkZBczfMkOymwYRO8kl7J57mCDGp+5ubns+fcgL8UrOfTSSIOl3zScXngTTg4yAM5lFDJr1UHOZRQavFbDlF5hvHVbV1754zjzRrZvln9Te2TLli0MHz4cgHnz5pGRkcHMmTPp379/A4+sYZmxMp6957OsFjg3hUwqoV9bP1bdH2vVfZryin3a+LJmVl+D18Sdz2LqZ3Ha1+9M6sqknmG1Gq9AILB/hEFZjcSrBbz+404OpJZShHOdZS43JvJLKvB0cTBp2Gn4YVYfYtv48fW+i8xfd1zn3MU3bjHb14EDB5g4cSJXyuREz1nBYTMGZXSoJ44yKeF+rtzfvw0hXs5M+zxeJ9O7KkOiAvhkRk82n0xn9neHWP/oACFd0kBUl5q6fOoIo4YN4YEHHuCzzz5r6OHZDfW9oNNgT4asQCCwf4Rr5hop2cU8/1sCu85mIpNKUKK/1V01c/mrfRcZGOHPogldmnQlHU1N3zt6m0+kuatvK7OB9usT0vh813nta99Ta+nRvhUDBw5k+/btPPXUU6hUKuRBlm2JHU+tzGo9nJLL5hNX2T5vKM+Mas/MVQf1rh0U6c+KO3uy+2wmT/xwGBDSJaBv2NWlJz7xagGr45PZdjqdZL2ymWpaPvQ5wSNjSLxa0GwWbOYI83XllbHROoLktWXh2Giz89aiCV0YvmSHTQ1KuVTCogldbNaeQCCwH4RBiX7msrUl/azJXG5svL3hNH8mpJo1KFt6u/DMqA489eMRPplhPCs3s7CMwym5AKhVSgpO5vHVR4/p6OABoFJYPdaiciXnMwpp4++ud25QpD+fzuhF/IUsHv72EBXKyr9hc5UuMWXY1YUnXm/BZvA3JkHmHcx3By6x6t+UZrFgs5SpMeFkFpbZJI756ZHtLRL2byhDViAQNE6a59O0Csu2JfLcrwmUKVRWr8SVKjVlChXP/ZrAsm2mt4IbK9tOp1v0uSya2IXdiZlsPHHV4rYlUhkubXvpG5NARXaqdQWDqdSmbB/swcWsIp3jA68Zk/svZjNr1UHKlZX9NUfpkqoaoqvik0jS8xLaVkMURA12WzFnaCRvTuyCk1yqrWVuKTKpBCe5lLcmdmH2UMsTYqbGhDNvZJS1QzWIpYasQCBonDRrD6Uo6WeawjIFydnFeLuarpwxpVcY3Vp6M3zJDrNtjrshlCm9wpBI4MzVQr7ee4H3vnRGXVGqveamm27Czc2N1m0rjb3qWaYOUimr7o9l3X+XuZBZTGmFkrb+btzbvw2OcinvV4m37NXKh0/v7EVGQRkfbz9HpxBP7blgL+dmlZDTEJ54UYPdtkyNCad/O38LvL2VaM73a+tXY2/vnKGR+Ls7ab871iy8ZVIJcqmEhWOjm9TcKKg76jMER2Bbmu1fSalSMzUmnCt5pTVONDFU1q+sQqnNOm7sJGUV6XmvqhPk6cQLN3fkjb9Pkm6gRGJVfj9yma2n0knLK8HPzYkpMWG8c3s3/C4t5oWnHmPy5MnIZDLeeOMNwquU26uuv5deUMbJtHzuiAknxNsFJ7mUjIIy4i5k8dDqc5ytkpAzIMIfF0cZYb6ufD+zT40/i8ZOQxh2YsFWN4T5urLq/tjrYQtn0knKLKqsoXgNCZVaj0OjArmzTzgRgbULW2gIQ1bQfKjvEBxB3dBsDcqdiRkMbR9o9jpTiSaasn6/Hr7E0Ut5OMql3Nu3NQOjAgxe39iwJGHl9fFdOJmWz/f7U8xe+8QPR3Rebzh+hc/v6sW8OQ8xpE9P+vatlCFRKpXEx8dz5PwV3jhq+Cv6v98si+tauiXR6IJh89xBtX7QNgYawrBLyS7Wy/KvLS+vO06/dv7COLlGZJAHC8ZGMzevJT4BwQRHdmH93xvrzKtj0JDNKgLqzpAVNG0sia1ujsmwjZVmaVAmXi3gyR+PcPilkSavM5doYqis39ZT6RxfMKpJuOjNJayM7hzM4KgAbv9kH57Ouu/XQSbF01lOcblSu8VqiN8PX2Z4xyCtMQmVIvOxsbHExsLu4rqTLmkODztTnvh7+rVm3A2htPJzw81JRmZhOYeScvhga6Ke7JIlkk9V8XJx4PSro/Ukn6QSuLd/GwZF+hMV5IG3iyOXc0v458QVlu84R37p9WQsQzsA5rzgzZHnnnsOdUUp6acP0d7fCVfXun3QagzZBUTTM7YfyTklbNq8VWxPCqxCJMM2PZrlL391fLJFQe3mEk0MlfWTSSX8eyGboR3Mez/tndZ+bpj6lNoHeeAgk/L7I/rC09N6hzOtdzizVh1gk4lEHXMVLetKumR8ixKbtWfPmPLE+7g6sP1MBifTzpFXUkG4rysPDW7H74/0Z8yy3ZzP1E1u0kg+SaUSuoR6sWCsfrk/MC015ewg44lhkfzxXypr9qeQU1ROdAsvHh0awbCOQYxZtlurt1h9B0AulXBr1xCixJYXUFmyctu2baxYsQKo9Oz/8ssvzJgxo976P7w/DrVaTQvnCgIDG/+cJ6gfRGx106RZGpSWZC5bk2hSFaVKbTaJpbHg5iQn3NeV/FLD9bB/PniJuGuZu1VZM6svG49f4cs9Fzh9tcBkH9NiW5k8XxfSJa4n/2TSax9z8OBBevToYbN27Q1znvglm3U9lvEXsjmUnMuWJwczrlsLlmzWnfCrSj4dTMoxuqVpSmqqtELJwMXbyK2yGIu7kE1qbgnLp/dkdOcQfj9yGTC8A7DrbCZdW3gTFSyMykGDBnHy5EmdY3PmzOHs2bO88sordd7/yy+/jKYuxqeffsqLL75Y530KGj/2FlstkoBsR7P71CzJXLYm0aQ6U3qF0T3chzKFEid540/OmT0kwmhN30u5JVzKNezpu5JfSlyVer6zBrYlMtCdPeeyuJJXgp97ZVJO37Z+ZsdgSw2+nB1fkxz3M1KplHXr1jVpg9JST3xVsosqv+9KA1JOVZGoVSzffJx3p11PdCovL+fLL7/kq2PO+ASGGLxPpUbHmNTw3zVDNdTrekEBQzsASpWa3ecyhUEJeHjofwb5+fn88ssvdW5QHjt2TOsZBfjggw945plncHR0rNN+BY0be4mtFklAdUOzMygtyVy2JtGkKkOiAlg4Lpr1CWm09nNtEiX9JseEMTmmsg5v9WxrY8akIc5lFDK8YxBDOwTi5eJAaYWSE2n5XMkrIdjLxez9tZYukUD6ho/IP/gXAGq1mnfeeYfWrVtz2223GXw4N3Ys1RCVSkAulRLm68KzozqQUVDGTwcv6V1XXfLpy81HmDlzJs888wz79u3jxRdf5NLVTMLm/mj1WPu18wfgTLppjzZAx2BP1Go1EnPxEk2Y4uJiDh8+bPBcbGzdljVcu3Ytd999t86xjIwM7rvvPj755BPc3JqXtqvAcozFVmuIDvXkf6M70j3MG6VKzd5zWbz+1wlScvSfNXf3bc1dfVrR0teF/BLDu2jVEUlAdUuzMyjNZS7XNNGkelm/H2f1palgbU3f1v9br3dsy6l0tpxK176uSU3fmkqXxIR78u9Hc8k7pluOsaioiHvvvZeHHnqILVu20L+/fixoY90OsVRDFODkKzdppa7OZRQy9bM40vJKda4xJPn03t2Dee3yPqKirgtfOwS2sdrQC/J04tmb2vPfpVyd74ghpvQKo287P9LySgixYCHSVHF2duajjz7iueeeIzv7+k6ATCarcy/h33//TV5ent7x1atX8+yzz9KliyitKNDHXBnfdgFurJnZhxNp+cz+/hBOchlPDo/ipwf7cfOHu8guKtdeO3tIBE+NiGL5jnPsSsyga0tv/je6g8m5RyQB1T32/2S0MeYyl2uSaGKorF9TKulnTzV9DUmXJGcZ2LKoIl3iUJJN75eTtfFeVZFIJPj4+OjoXjaF7RBLPPEaJq7Yi6NMSrifK/f3b8OambFM+zxeJ9PbmOTTs08/xftL3iUzMxMAicy6+GEvFwe+uqc3IGHOd4dMFkequgMQ6uXcrA1KqVTKzJkzKSoqYu7cuQAEBQVx5syZOve2y+XGHxvu7vplTwUCMF/Gd+7wKMoVKu7/+gCFZZVqD8cu57HtqSHMGtiWNzecAsDb1YFHb4xgzf5kFm86DcD+pBxi2/gyrGOQwbZFElD90OwMSnOZy9Ymmhgq69dUSvqVlJSQkZFBeHi43dX0rSpdYt6L6MHly5fZsmULM2fOJCVFN5Rh3759hIWFNantEEs0RDUcT80H4HBKLptPXGX7vKE8M6o9M1cdNHmfRvKpV69ebNiwAQC10rKtJwBPZznf3h9LkKcz0z6PM7itpaH6DoChBV9zZPr06VqDcsWKFXh6epq5o/a8//77FBcX89VXX2kXaVKplPfff5+wsLA671/QODEVgiOTShjWIYhfD1/SGpMAl3NLiDufxcjoIK1BOTgqAGcHmU5YjlKlZtn2swYNSntLAmrKNB03moW4OcmZ0acVw6998TSJJqM7B+PsIOVSbglxF7L1/sH1RBNNsoChsn7dw7y5qXNwo9gWNcdLL71EREQEP//8M60Ulyn91/rYOEPYuqavm5Oc6FAvuof7EB3qZfCzl8vljBo1ikWLFgGVnkmpVIparebPP/9scvWma+ohLypXcj6jkDb+5j1Nmt2lV155hffff5+goCAUOWkGPcHV8XSWs/qBPoT5uDBjZTynrhiPnay+A6BQqpvEgs0WBAQE4OHhgZeXF+PHj6+XPmUyGc8//7zO3/mxxx5jzpw5Jr2XguaLJgTHGK18XXFxlHHSwDxw8ko+rX3dcLo2p7W/titUfc44kpyrN/fUVRJQion30pxplr/+heM6a/9fm0STpl7W75dffqGiooLbb78dAFdXV15/6X+8veVCo63pe/PNNyOXy+nUqRObN2/mnXfe4cOtiZRdrpn3ta62Q2obu6nMvWLSE28MH1cH2gd7cCApx+y1E7q3RK1W07t3b3r37s2DDz7IN998w6KjWeBmOMsbrhuT4b6u3LkynuNp+UavNbQD0MrPtUks2GqL5jsS3n0Qvbp3o6hMUW+fS0REBAMHDmTXrl04OTnx8ssv10u/gsaJuRAcb9fKuN+84nK9c3nFFUilEjxdHMgoKMPb1ZGyCiUlFUqd69RAuVKlo65iiySgST1a8s7tN1j3hpspzXJWTrxawIilO626x1CiibGyfo29pN+FCxd47733uHjxos7xmJgY7hvcnpFdwxttTV9fX18OHz5M69atcXd3p/uk2fxgo6382m6H2Cp288iRI7z44ouMnfw/HF0rPY3VJZ8cpFJW3R/Luv8ucyGzmNIKJW393bi3fxsc5VLer/K9Nij51CuMQdVKjDo5OTFz5ky89qcYlZpSq+Gb+2KJDvFk4foTyKUSuod5a9vIKirXejIM7QBIpRJGRwfX6PNtChj8jvR7mO1A5wUb6zW+d+LEiezatYtx48bh4+NTp30JGjeWhuCY3NxQG/yvbj/lFVqDsrjMNklAW0+nM+HjPXr3r34gFlfHZmlCGaVZfhqRQR4MjPC3eUk/tUpJz5YedmtMWuL1Wr16NXfeeafBbLkdO3bw1FNP8d5771mdGGNPn0nnzpUeanvRRLNl7GZFRQV33nknf/75J61bt9Yer+6JTy8o42RaPnfEhBPi7YKTXEpGQRlxF7J4aPU5zlZJyDEk+XQyrYCfD6QwqZd+zJwpqSmAbtcMyAVj9Cvt/HwwhXk/H628vonvAFiDvcX3FpUpaNmlD44hUUya+US9ekcFjQ9zITi51zyT3m76CgVerg6oVGptgY3c4nKcHWQ4O0gprdA1VEtLijl1PIElS5awNc+P4N631DoJKLuoXCfDHMDdSW61xm9zoNnOALbOXFar1aiVCiJz9gNDbdKmLbDW69WtWzd8fHzIzc012F5CwnVvnnWJMfaHqe0QS+tcuzjIePu2rnQK9STI0xmpBL3JxxS2lLJQqVS8/PLLHD9+nDZt2uDgF0bozOVG2/rfb5Z5ZqtLPmnYPHeQ0XtMSU0Z8vYbovoOQE2kppoC9iJ3YmguCbn7PZ7eks0zW+rXOypoXJhLhk3KLqakXEkHA9+bDsEeXMwu0pZk1cROdgj25Mi1gggA/m6OBPj5suTdd/j+++8JffBTJFLDhqw1SUCGGN05uEkULrE1zS4pR4OmpJ+tkEgk5PyzgnXff2mzNmtDSnYxM1bGM2LpTlbFJ5FUzZgEXY/GiKU7mbEyHs+QNuzcuVMvuLlbt278+++/bNq0yWB/liTG2BMaTTRjaOpcP/frUe764l+Wbj5Dp1BPfn+kP239ryeEOMgkSCSwcvcFHl59kJnfHOCXQ5ctSkxZti2R535NoEyhsnpho1SpKVOoeO7XBFqMvB83NzdkMhlvvvmm9pqKrBRKLhxCarGAkGXIpBIGRvib9DovmtAFuY1X8DWVmmrM2Oo7smybfmiOpdR0LhGJCwINbk5yQjyMS4opVWq2nLrKqOhg3ByvG2qhXs70aevHxmNXtMd2nMmgtELJpB4tddqY2MkLlUrF77//jsTRBbm38Thua5KADDGlVxj5pRUUVTFGBc3YoIRKoex5I6PMX2gCjeGQs+NrCo/+w6lTp/jkk08oLzfupSoqU3A8NY/DyTkcT82z+ZeythnLT6/4HajM5tRsfb///vvExMQ0meokb284zbv/nDZ6fsnmRN7fksimE1eJv5DNTwcvMWvVQdyc5Izr1kJ7XX6pgjnfH+a7f5PZlZjJnnNZfLA1kT1n9aWnqmJLKQuHnhORRhiW0cne8BFKheVSPpZgiWFn6wUb1F5qqrFha7mTH2qgRNDU1A8EtaM2z67+PoUM61AZd11dXQVgyeYzuDjK+OLuGIZEBTCqUxBf3BNDTlEFn+2+oG0nr6SCD7eeZVrvcOaNbE9sG19mDmjNvLE9KSgo4I033sCrRTuTzypLk4AM0S7AjV6tffnjv1QuZhVZ/P6bA/btRqoHalPST61UoFYpyf5nBYVH/9Eef+ihh5g3bx4TJkxg1qxZDBgwoN7Esm0h4HrSoztTFn7JikfHc+utt3Ly5En69m06lX/A8rKEVbG0zrVSpebo5VwGRPobPG/r2E21Wo3PiIcoTTqKIu+qzjlpSQ7Sw7+gjrnDZv1ZatjZpAa7Wg0SCU+PbM/tPVuya9cuBgwY0GQWNsZQqtRMjQnnSl6pzra/VAL39m/DoEh/ooI88HZx5HJuCf+cuMLyHefIL9V9wF9845Yaj0GIQQvANsmCxcXFLH54ova1IXWVcxlFTP10H8+N7sjH03ugUKnZdy6LWX8d1Asj+mj7WYrKFczo04qZA9uQUVBGYZkCXy8vxo0bx7fBEcz+/aLZ92ZpElBVJl+LG1+zP4VOIXWv+9qYaPYGJdS8pF+3EFdapO7kj+yTFFa7prCwkFWrVrHnyCn6Pf5hvQTT29KjEVccwMbEfLZv305eXh4ODtZVQLFnrClLaGmda6j8Xrg4yOjZyodJPVqiUKqQy/Q3AcJ8XXlkSARLNuv+rSyN26xOZJAH6x8dgNM7E4mNjUUqlfLHH3/g6empLcNXG+OgKtZqiNa2BruyooLsTSu4qOjCzW8lsHHjRv78809uuaXmhlJjYGdiBkPbB+odd3aQ8cSwSP74L5U1+1PIKSonuoUXjw6NYFjHIMYs262NNdOwPiGNz3edRyqV0CXUiwUWeI6FGLTAVolgZWVlREdHc/HiRQKnLMQ5vCsSmWHT41hqPneujLdofF/tvchXey8ajK1uHdYSuGj0XmuSgKoil0qY2L0lJ1LzSLic16Qq4tkCYVBeoyYl/SpjyEbw0dsLee+995g3b55Om369xyAd/mCNt4usCaav04xlPz+bttvQWFOW0JI61wBjuobw4R09tK9/PJCCOjuJKSMHAJVexLy8PP47mcjgvjEGYyw1cZsn086RV1JBuK8rDw1ux++P9GfMst2cz9TfXpFKYPFtXckpqiDYS4azXwu+Wb4Ef39d72htDbvaaIjWdMHWr60fY0OKmLx4I+/8txGojFXesmVLkzYoE68W8OSPRzj80ki9c6UVSgYu3kZu8fWHXdyFbFJzS1g+vSejO4fw+5HLOvdkFpZx+FrywsGkHLOqC/aifiBoOGqTCHbju1uJlSfjmnaEixcvcujQIbKyKp+B2Rs+IuSBj0Eqs9kug6EQHFsmAVVlWIdAAjyc+HBbYpOpiGdLhEFZjZpkLkskEubMmcP8+fMpKqp86Hv2nYz74LuoVDWwPpje2u0icwKuVflhVh9i2/jx9b6LJh8crf3cCPZytmrsjQFryhJaUucaKgPFxyzbjbuTnO7h3jw0uB07dpzhrrvuwtXVlZ9//pmsrCzaTZzL2V9iDPa1ZLPu3y3+QjaHknPZ8uRgxnVroefRBLh/QFuCvZxZsfMcC8ZE0+f2h2jVqpXB9mtj2NVWfqamC7b163UzwtVqNUuXLkWlUvH000/TokULmhqr45ONSpKo1OgYkxr+u2Ywhpr5vcqkEr6NSzbppTQ1l/Rq5cOkni2JDvUiKsgdJ7nMYEGINv5u3BETTt92frTydUWlVpNeUGZybAL7oLahDgo17Fa1Iu/ELnL3/KNzXlWQQc4/n+B382O2GCpgOATHzUlOuK+rQS+jZpyaJKA3/j5JUXmlSLomCeiLKjGbVZkcE0ZphZLfD18mXBRY0EN8GibQZC5bgpOTExMnTmTVqlX4xtyKx+C7bDIGS7aLNBnLxvS2qnJX31YWraqkEnhzYheyCsubnFFpzTaFpXWu80sVJFzOA2Df+SySs4pZNm0YX6xYxqpVq7TXObfubtVYTcVttvZz5cnhUTy65hDeLpVbNzlyX5Pt1dwTbxusWbBt3bqVMWPG6LWhVqt5//33SU1N5ccfbVMO1J6oSXxvv3aVHukz6fpZq+NuCGVKrzAkEjhztZAf9yVSXFyMq6vuQ1ilUlFcrjQ5l/SP8GdAhD/HU/MpLFXQt53h3YuBkf7c2CGQXw9f4uilPORSCbd2DSFKyAnZNbYIddB4Hr0G3omiIEubX9CrVy9uvvlmwsLCSFBJWXvB8oW9MUyF4MweEmG0wEJphYolm8+wdvYAvrg7huU7zuEklzJ3RJReEpCGQA8nBkcG8GdCGkXlSiZ21w9Jae4Ig9KGvP/++yxZ+j5+vj618hQa0jasUKhwMGIIvb3hNH8mpJo1KFt6u/DMqA489eMRPpnRy+S1Gs/Xp7vO8fKtts3WbWjMbYcYw5o610dSKieyqKjrKgISRxfkXuYnIUvjNt+a2JUtp66y+WS6VkLjSl6pRSLT9qAham7B1qFDB0aMGGFQqqpt27a89dZbescbox5qVayJ79UQ5OnEsze1579LuXp6ob8fuczWU+mk5ZXg5+bElJgwXp3Ui6UfLKN1eEvGjh3Ltm3b+Pjjj1m7di2D5n5IvneE0bnkg62J2ipKMwe2NWpQ/vFfKt/sS9I5tutsJl1beBMVLIxKe8RYIpgGS8oUAtzXvzW9W/sRHepJ2Bu3sGP3Xu67ewZ79uzRxnQD9K2yrV4XITimCixYmwQEMKlnS+QyKT/sT0GpUnNnHxETXJ3GM9M2Anx8fNh2Op2hpp1EgGlPYVVtw5ScSi23id1bMKF7S4PXW+rRWDSxC7sTM9l44qrJ6wx5vpoS5rZDjGFNnevewZU/rcuXLyORSFCr1ci9gy2KG7IkbvOuvq1oH+zB7CWHdI6rgYtZRRZ71sE6T3x9EhoaysaNG/niiy+4//77dc7dfPPNtGnTBrBdyUp7wJr4Xqjcnv7qnt6AhDnfHdLLWn3ihyM6rzccv8Lnd/Vi9sMPEhoayrRp0ygpKUEul6NSqbgi9cfJxFxigbwqADkGtuWVKjW7z2UKg9JOMZYIBpaXKQSY3rsVxRVK9p7LYpijDLlvKB999JGOMQn1E4JjqsACWJcE9PH2c3y8/ZxFOrzNFWFQ2hBTwfRVMecp1GgbVmVXYiaDIgPwc3fSHlOr1Xzz3Q9czHLH10C2WlWm9AqjW0tvhi/ZYfZ9GPJ8lZQrcGlCdUtNbYdYU+d6Wu9wYlr7sisxg7S8UlwcZfRu5cO9/VujVCpZuXIlLVu25O2330Yis8zrZC5us8W178/CP0+QWai/krYmRrQxMHnyZGbOnIlKpaJ37978+++/fP3118x+9mVe33jebsoR2gJr/naeznK+vT+WIE9npn0ep+cpMsbvhy8zvGMQvXr1YsOGDQAoFApkzm4US11wMnN/begY7IlarW7ysk+NDXPPLkvLFAIMX7pDu/DY+PggZM4eRPQwrJNb1yE4tq6IB82zwIKlNB0LwQ4wFUxfFUs9hVVRq5R8/NNGXrp3LKmpqRQUFPDQQw+x50QSofd9aPLeIE8nXri5I2/8fdJsYLwxz1dqXintAsxv9TYWTG2HWFPn+tSVAm7sEMgzozrg4+aAUqXmYmYRhWVK/NydtNVrxowZw7RHnrFobObiNheOi+bM1QI2HEvD07nyJ+x8rbqEm6NMKxTcVHB3d+e9996jffv23HTTTRw5coRhs17mlo/iQFr5vhuqHKGtsTS+19NZzuoH+hDm48L0z+O15egsQWPLqarF5Uo9A6FGwSCWMaVXGH3b+ZGWV0KIl0ud9SOwHlPPLmvLFBryYptLBKurEBxNgYXnfrWszKwlNLcCC9YgDEobYsnWszWeQqiqbRjArImd+f7775k2bRoSiQSJRII8KMJsG6+P78LJtHy+359i8jpTnq8KZdPyeoHp7RBL61wfSs7hgW8OaF8bqzfdv39/Du3ayIj391o1RkNxm+2DPGjp48rR+aP0rl8zq69FZR8bG48//rj2/7tz3PAY9iBKqEx7tgJ7F9y2JL5XY0yG+7py58p4jqflW9XHhO4tKC8v58iRI8hkMtRqNSqVymIPek0YEhXAwnHRrE9II9TLWRiUdoapZ5e5MoUDIvxxkksNyuxo2z+TzgIsi8W3dQiOTQosXMNaHd7mhjAobYQlwfTWeArBkLZhMnfdNxOo3O5Wq9WolabjAEd3DmZwVAC3f7JP683S4CCT4uksp7hciUKlNun5MlXXtLFS39shfp7utPSxbmVrKG7z0e8P6/09BkcF8PCQCN7ZdJp5I9tbP/BGQlMW3N6/fz9RUVHM6NOKkopKGZPq4RhqNXxzXyzRIZ4sXH8CuVRC9zBvbRtZReUkX6uhPWtgWyID3dlzLosreSX4uTsxpVcYg6ICiIuL49SpU5SVlTFv3jxWr15tdi6pKYMi/VlxZ092n83kiR8O8/sjhrc/BQ2DuWeXpWUKM0w805Kzii1KFqwraqXDKwG5TFpjHd7mhDAobYQlwfSWego1GNI2/PW33xh38yitF0qRk2bSI9U+yAMHmdTgJD6tdzjTeocza9UBNp24atLzZUlmc2OjIbZD7utfmUhSm7hNjUh1VTSGqmcjymi2FluUI7RWQcEaarNVd/LkSfr3709SUhILx3XWHq8ejgHQ7ZoBuWCMvsfn54MpzPv5KFCZ0DW8YxBDOwTi5eJAaYWSk2n5/HQghdv79NHe8+233/Lggw/y6Zdfs7tG79w4gyL9+XRGL+IvZPHwt4dQKNVCDNrOsDQRrCZlCquetjZZ0NbUNAmIq2f4/pmJrP70fb5deIZ169aJGGAjNN2nTz1jLpjeGk+hBsPahiN49NFH8fX1ZePGjezbtw9Fbhq4GRaz/vngJeKuVeqpyppZfdl4/Apf7rnA6auVWxmmPF9NlfreDhnfvVKIuzZxm6YY3SW4dm/CjrFFOUJrFRTMYYsMc5VKxf33349SqSQ0NJRZ815mo7y30T5b/2+90XNV2XIqXU9GCGDz3EF6xwYOHMjAgQMZvHib1eoHxhh4zZjcfzGbWasOUq5U0UqIQdsd5p5dNS1TaG0/9YG1SUDuVw7z9JtP0vOLJ7XnVSoVMpms3sfeGBC/bBthLpjeGk+hMY5cygVgyZIlSKVS5s+fT3JyMl9sP0mRS+WDtrrn61JuiV4VCw1X8kuJu5CtfW3I8xXeDIKP67ssobHYTUvjNg3x25HLXM0v1YvdbCrYqhyhMQWFIVEB+LhZnt9c2zrH+/fvZ+fOnWRmZrJr1y727dunve/TdxbSafbHlHq1smk4hia+11SWrDkxaF83R2LbVOqidbgm/zOkfQBZReVkF5UTf20+6dXKh0/v7EVGQRkfbz9HpxBPpFIJo6Ob7oKnsWLu2VXTMoXW9lOfmEsCcpSqmT9/Pi+8+67evU0xRt1WCIPSRpgLprfGU2iMfm0rRYSl0us/zPDwcBbcdd2QMSTgWhts+Dyza+qzLKGQsrCeui5HuP9iDiMtNHZqU+dYk2H+yTPPsH37dhwcHKio0B97H9lFdktb1/t3xJwYdFSgO8un99S557XxlW3Gnc9i6mdxlddH+OPiKCPM15XvZ/ZBYL+Ye3bVtExhVey57rWhJKDDhw/zxhtvGLz+888/58EHHxTb3gYQBqWNcHOSmwymt8ZTaFDbsLUv9/RrbbR/cwKu1bFk20wmlXA1v9TsdU2F6tshf/+XxJUilc7EYYuyhELKwnpsXY4Qqioo+NCzlY9Fbda2zrEmw3z8tGfZvn27QWMS4MsPF/Pu7xN5f19mjfoyhKXfEVNzSdyFbIvmjqVbEnXiXI2pHwgaHnPPLmvLFHZp4UVLn8osfndnORIJzOjbqlGFOnTv3p21a9cyffp0Cgt1w40efvhhtm/fzurVq8XWdzUkauG/rXNMeQovvnGLXunFHuE+PDKkHZ1Dva5rG2YVcyW3hBs7BhlsJyW7mOFLdli09WApTnIpm+cObtKGiikmTJjA2vUb+GN7HKEtw21eyq82xklVnh7ZntlDm26ca2GZgi4LNuLt6sDhl0ZaVNY0yNOJP+cMIDWvlPEf79FLKNBXUEhhZAd/vN2Ny9ms2Z9s00VAxe4vSd39i84xDw8PAgICaNGiBStXrmTjJer9OyLmEoGGqs+uzqGePDe6Iz3CvbVlCl//66RWVUDDO5O6MqlnWEMM1+bExcXRt29fnWMSiQQnJyfOnTtHaGhoA43MPhEGpQ1JvFrAiKU766z9zXMHmfSI2fqB99bELs1WJiE9PZ0WLVqgUChYvHgx8+bNq5N+1tRxPdumwPHUPG75cDc+FhqUXi4OrJnZB393JyYu32Owgoyns5xWfm46CgqHDh6kbVgo4eH6n6dSpUYmlej1bU2GuS5qInydWf/YQJycnIiJiWHUqFG89tprelc2xHdEzCXNi4Z+dtkrly5dIixM1zh+5JFHePHFFwkJCbGpCHtToPm+8zogMsiDgRH+Vm09W4IlwfQgBFxtyVNPPYVCUWkMfPLJJzz11FN1EjNTn7GbjZW6KEdoWEGhD3feeSdTp06lR48e7Nq1i1tvvZUjR46Q7xbG6G76vwdrMsyrIpVIWDylJ/llSgKcoEWLFrz44osGx9oQ3xFbzCWaEouaueT48eO0b98euVw8duyNhn522SsODpXanHK5nK5du3Lo0CEiegzgk/3ZbDt9qsbKDk0V8cu2MQ2dcFHfGctNkW3btvHtt99qX589e5a9e/fSv3/dCDJXj91cuz+R7Aq5zWM3Gyv1UY5Qo6DQokULxowZoz0ulUqR+bQg+vHPDRqU1mSYV+X+AW0J9nLmox3nWTAmmkWLFuHsbDx5qK5rHhuitnOJsqKCrI0fsy3Rk2M/BrBixQpWrFjBgw8+WKtxCeqGhn522SNBQUH8+uuvxMTEoHb15ZZXvuX9s57IzidZrezQHBAGpY2xh4QL4fWqOenp6UyfPh2JRKKVh5DL5Xz22Wd1ZlBq0EhZrFswgyunz3IoMUVspVA/5Qj7XlNQOHv2rM5xlUqFV/fRyIwMoCYZ5q39XHlyeBSPrjmE77UqJJ06dbJonHVV89gYtZlLbg0uYOrif/jl6PXza9euFQalnWIPzy57ZMKECdfCTnagcG8JFiyuDCk7TG0GTprm+YSqY+xh67khPBpNgZkzZ5KWlqZzTKFQ8M033/Doo4/Ss2dPI3fahsTERA4frtRJlBdcIbp90y2jaCnmslCtKUdoTEHh7r6t2LNnD2vXrtXr37VdDEornTamMszfmtiVLaeusvlkOpN61ExQHWxf89gYNZ1LTpw4odfW33//zbBhw3jvvfe44YYb6nzs9oY9x9w99thj7Nq1i2nz3ue7YwXakIWa0lTCpmyl7JBZWMacoZE2Hp19IZJy6hB7S7goKlMQ1rEHHaI789kny+1qMrMXvvvuO6ZPn27w3J9//sktt9xSZ32r1WqGDBnCzp2VwfHPPvssb775Zp311xTQlCPc/eyNRq+pWo7QkILChcwift+4nXefupd+/fpRUlLC1q1bKx+mDs6Ez/0RHzdHm2SY39W3FU8Oj2L4kh1kFpYzqUdL3rn9BkrKFbg4Np7fojnD6OLFi3Tu3JmioiKD9z/22GO8//779TXcBsUW1ZTqgy5dunDs2DEA3LuOxP+mR5DKHezi2dVQiOQ06xAGZR1jSUUNDZrzdRV3ER8fT58+fXB2dqaoqEhHIF1wnV69enH48GFUqspkColEwksvvcQrr7xSp/1+9dVX3HvvvdrXAQEBpKamiiQG6j4LdWGsA1NGD8bJqbJazq+//srdd99NmWsAofd9aJMM8xbeLmx8YhAL/zzBjwdSALQG5bmMQtoFuNfZ+6tvcnJymDx5Mps3b9Y7N2zYMNavX6/9rKtizx48a7Gnud8S3N3ddRYA4R27c8PMNzmaXtEoxm9rhHyW9TTOX2ojwl62ntVqNU8+WVmPtLS0lA0bNnDzzTfbvJ+mwEMPPcTMmTOBSmOyXbt2PP/883Xa54oVK3jsscd0jmVkZPDjjz8ybdq0Ou27MVDXWah3jdcV3J44cSLdunVj1v8WcdbIvdUxl2G+cFw0Z64WsOFYGp7OlVOvs2OlMLKqiZWk8vHx4Z9//mH58uU88sgjOudcXFx0jMnG4sGzBltUU6qvmLvMzEyee+45PW9y8snDXJo3mvW7DhKX6dDswqa8XBw4/epoo4vI6FBP/je6I93DvFGq1Ow9l8Xrf50wqCzRwtuFx4dFMjgqAF8DNdGbCsJD2QAcOnqcPiPG0G/gYD76YGmdr8KXLFnCO++8Q2pqqvaYn58fU6ZMYfHixbi6Ns3VUk0pKCjA39+f8vJyALZv387gwYPrtM/IyEi9hBCozDLOzc3Fw6PpTNQ1pSE8BpZqYFbPMDeUFLT7maG09Glev7Xc3Fx8fX3x8PBg5MiR/Pzzz8hkMi5fvky5g0ej8uBZiq0KFswbGVXnMXfbt29n7NixFBUVaXdkNEgkEu677z4++ugj7QKgKXmQTVFcrmDtkVTu6B1u8DffLsCN3x/pz4m0/GuVg2Q8OTwKLxcHbv5wF9lF5dpro4LcWTOzL8nZxXyx5wJX8kr5YGo3gr2MF1ForDS9b4IdU15eTn5+Pq/Of5GK9Asc3JhBh6DP67x8U05Ojo4xCZCVlcVnn33G66+/LgzKanh4eNCjRw/i4uK48cYb69yYBOjbt69Bg1IikeDmZp81cOubhshCtWWG+aPfH8apmgTS4KgAHh4SQVmFEieHplfGzdvbm/Xr1xMdHU14eDhnzpxhwIABPPDGF5zx6NYoPHjWsGZ/sk2MSaiskBTg7mSTmDtjhqBCoTBY/tPd3Z2dO3fSvXt3neP1lQjW0Ly94TR/JlQalIaYOzyKcoWK+78+QGFZpV7xsct5bHtqCLMGtuXNDae01y6Z3I20vBImf7KPcqUKmVTCih3nWTA2ul7eS30iDMp65Oabb2bLli3a14WFhTg7OxMZGWkwI9JWGPNuRUZG4u3tXWf9NmaGDx9OXFxcvSUOfPXVV2zbto1Lly5pjzk5OfHLL7+IWNcq1LeCgi0zzA9fkxKqisZj2RSNSQ2jR4/W/j8qKorHP/2bz+KvQA08zfacNatUqZkaE86VvFI9j1avVj5M6tmS6FAvooLccZLLjJbkvfiGbRL/LAslCOHPXQeZNKI/ubm5leckEm699VY9Y7I5se10utFFjkwqYViHIH49fElrTAJczi0h7nwWI6ODtAZlbBtfokO9eOqnI5QrK7/vSpWabWfSWYAwKAW1oHfv3joGJVRK0tS1B2rbtm0Gj586dYqKigptNQDB9ZW8Q3AkHuEdaR1RP7I9UqmUmTNnsmDBAq3+5dtvv12nWeWNlfoW7184rrP2/7d2DeXWrpX1ezUZ5t2uGZALxug/IKpmmBtCavviS3bNmv3JlcakDbClB88W7EzMYGj7QIPn+kf4MyDCn+Op+RSWKujbzs9kW+sT0vh813mkUgldQr2s8mZZkgykI8CtUuNy89M47vuW/LQLlJaW0rp1a4v7a2oUlilIzi7G29Xwc7GVrysujjJOGiiccPJKPgMi/HGSSylTqOjdxvdam0q+vCeGfm39UKjUxF3IorhcgWsjUnawhKb1buyc2NhYg8frOunixx9/ZOvWrYwbN0577L777mPq1KnCmMTYSt4P32mL6fLKpnpLCrj77ruZP38+AN27d2f27Nl11ldjpz7F+81lmLf+33qrxl6VHw9eYtagtk0qmcEYtvDguTjIePu2rnQK9STI0xmpBCoUKhwsrKZUVyReLeDJH49w+KWRBs9/sDWR96+955kD25o1KDMLy7Qe7YNJORYnvNQ0GcgxrAtObd/hpX7B7F/zPhMmTDDbV1MlKasIU5+a97ViBHnF5Xrn8oorkEoleLo4kFFQRrBnZWGDxZO68ldCGvd+vZ9AD2fmjYzCUdb0dp6EQVmPLF682ODx9evXM3fu3Drr193dnbFjx9KvXz/27t2Lj48PK1asaPbGpNUr+ToupdWqVSs8PT3Jz8/nyy+/rPPY2sZOVQWFFVuOs2ZHAg6+IYBtS1aKOse2wRYePAeZBIkEVu6+QEpOZSjBxO4tmNC95gLxtmB1fDIyE+7m2qS+yqQSvo1LNuulrFUykERKmULNOzvTmHfPi/TubT+hBPVNuYWhGCb/ptfOaYThDyfn6MR+n7lawF+PDazpEO0WYVDWI7GxsRQVFXHkyBHtsYCAAIN6bHXBtGnT2Lt3L3fddVezNybtTdZDs9XeZcgYUi5eIKJD04uvqSsiAt35581ZpCYksGjxu4yddr/Ns1BFnePaYSsPXn6pgjnfH9Y5tisxkyFRAfi41c88aghTMXc1YdwNoUzpFYZEAmeuFrI+IdXk9faaDNQYcTTj7c695pn0NiD/4+XqgEqlJr+0QufanWcyda47kZZPhVKFQxPzUgqDsh559913AejRoweHDx9m6NChbN26tV76LipTENi+B44hUQwaN42iMkWTlHuwBHsppWVwq73THUg6QecFGxul/l5D8N5775GQULn6z8tMr5MsVFHnuHbUtQdv/8UcRkYH17yRWmAu5s5afj9yma2n0knLK8HPzYkpMWE8d1NH7SKpOinZxcxfd9wmfWt4ed1x+rXzbzbfz6qYU3ZIyi6mpFxJBwNzcodgDy5mF2mlzU4ZiLOEyp0TU7+HxkrztCgamKlTp3L48GGeeeaZOu3HkMEScvd7PLkpA8mm5mmw2MNK3t622hsrn332Ga+88gqXL1/WHque9GZL6jvDvClhaw8eVD6QXRxk9GzlQ89WPjVup7baiuZi7qzliR+O6LzecPwKn9/Vi6FR/nr1tZVKJZ7O8loLcLfxd+OOmHD6tvOjla8rKrWa9IIyG76rxoObk5xwX1etl7E6SpWaLaeuMio6mDf+PklReaUCRKiXM33a+vHF7gvaa7efTqe4XMHg9gGs3HP9+LCOgUhrUSfdXhEGZT1TVKbAr90NOIZE4doiqk48hcJgMYxmJd8pxJN5I9vTPtgDPzdHSiuUnM8s4pt9Sfx+5LLOPeYmY2tX8va21d6YSUxM1DEmAQ4cOMCoUaP45ZdfcHe3fSnD+s4wbwrY2oMHMKZrCB/e0UP7+scDKdzSJcTiudSW1XksjbmrDb8fvszwjkEsWLCAW265hYSEBCZPnszhhONckoUY1UtsF+DGmpl9OJGWz+zvD2kFuH96sJ+OAPfASH9u7BDIr4cvcfRSHnKphFu7hhDVTBwN1Zk9JIIDyTmAvlRYaYWKJZvPsHb2AL64O+aasLmUuSOiyCmq4LMqBmV+qYL3/jnDi7d04p1JXVn3XypBns68eHPHBnlfdY0wKOsBY57Cu747iYSTNvUUCoPFOM//loBCpcbTWU5aXgnr/kvlan4pLo4yxncLZemUbrT0cWHZtkqBcUsmY4VKzfO/JbDqfsMZ/FWxl632poBarWbNmjUGz+3fv79OE5qqZ5irVUokUuP91SbDvClgaw8ewI4zGYxZtht3Jzndw715aHA7i4z7ulhsyyR1X2xO48zat28fr7zyCgAzZ87E68YHCB8wodYC3H/8l8o3+5J07t11NpOuLbyJCm5+RuXkmDAmx4QB+lJhl3JLOJdRxNRP9/Hc6I58PL0HCpWafeeymPXXQZ0qOQCf775AQamCe/u3ZswNoRSVKZE2we1uEAZlnVLfnkJhsBgn8WoBu85WBkbHXcgm7kK2zvmtp9IJ83Hljt7hWoPSkslYqVKz62wmZ9MLTGbr2sNWe1NCoVDQrVs3UlJS9M6NHz8eF5e6LWumyTCfeO9stl9SEDFoHBnF6mZT59ga6sKDl1+qIOFyHgD7zmeRnFXMsmk9TN5TV4vtz5e8gdqxbqtpTejegvLycg4ePKg9plKpcGnXC4mRwgfWCHDnFOtv7ypVanafy2yWBiXAjJXxJpUdjqXmc+fKeIva+uFACj8cSNEqO1jigGiMCIOyjqhvT6EwWEyjSQow9XfILi7Hz70yU9SaydicrIcImrc9Dg4OrFu3jlGjRrFp0ybt8cDAQKKiouplDJs2beK3rz4G4OXHxzB0xE3Nos6xtZjLmrUFRy7lmjxfV4vtb7/9lsSTxxg1YRRevgGA4S1SXzdHYq+JXHe4ZqANaR9AVlE52UXlxF9b4M4a2JbIQHf2nMviSl4Jfu5OTOkVxqCoAObPn09hYaG2b4mjC3LvEKPjtkaA2xgdgz314jabC0LZwXrEbFcH1LenUBgs5jGUFCCRgFQiwcvFgZu7hDAoMkD7OVozGZsrpfX8bwlEBrnz5HDzcZumyq6dSy9k2JIdAFZttTdlhg0bpjUon3nmGd5666067/O9997jxx9/5NChQ9pjBw8e5NZbb20WdY6txZJ66LWlb9tKmaGSkhId77RareaHAyk2XWyvXfMtbdRpFBQU8OOPP3Lu3DmdyjKGtkijAt1ZPr2nTluvja80LOLOZzH1szgAzmUUMrxjEEM7BOLl4kBphZITafm8/dNObrvtNubPn89nn33GnDlzkPu1MGnoWSPAbYgpvcLo286PtLwSQrzq1uNvjwhlB+sRBqWNaQhPoSY2sDpTeoXx1m1dKSpTEL1go/a4JUZLUzJYNEkB1XltXGemx7YCoEyh5JU/jvPdv8mA9ZNxUmYRF1JSaRMWqnPtziNn2HU2kz5tfC2K25zw8R69/rqFeTN/TDQbT1wvWWfpVntTp1OnTgC0bNmSRYsW1Uuf+/btIz5ed6tr+fLldOnShYkTJ9bLGBoT5uqhW+PBm9Y7nJjWvuxKzCAtr/J31Lu1L3f3bcWePXuYMWMGsbGxnD9/nvPnz1MicyP0gY9t9l7UajWnPW5g55efUZ6dBkCbNm1w8AsjdOZyo/fFXci2qKLSllPpbDmVrnd889xB2t/5gw8+SExMDBMesKwYhiUC3NUZEhXAwnHRrE9II9TLuVkalCCUHaxFGJQ2xJin0JhhB7XPIq4aG1iVIE8nXri5I1fySvFw1v0zW2K0NCWDxVhSwEfbzrJmfwp+7o4M7xDEK2M74+Io57Nd57XXWDwZSyT0GjKaZa89x8iRI/n5559ZtWoVJ1yi8ehxi8Vxm5pya1WZ1jsclarS01IVSytoNDWqyrxcLpYgcXDm559/rpfKQnl5eezcqV+G8erVqzzxxBPCoDSCqXro1njwTl0p4MYOgTwzqgM+bg4oVWouZBbx3ur1vD77DkpKSsjIyOCll16iW7du9OzTHz9PN4OSOpaWe6yKRCIhMtibxCvJODnI6dWrFwcPHqQiK4WSC4dwDu+KRGa7x6qxako9evTgh+9XM/Wr/4zea40Ad1UGRfqz4s6e7D6byRM/HOb3R/rX8l00bo7/+B5eV6G4460oVGrUVvjbm5uygzAobYghT6Epw84WWcTGYgNfH9+F+AvZ5JWUM7qzbpyNpUZLUzFYjCUFpOaVkppXCsD20xkAPDOqPb8culSjybiwpFSnLrtUKiV45t0mM4Crxm0aws1Rxs1dQoi/kE1Slq6X1dxWe1PClMxL+JM/8fTOYm68erzONVWPHTtGerq+Bwnggw8+qLN+Gzvm6qFb6sE7lJzDA98c0Dt++bM5KEoqDUE/Pz9mzZrF0ROn2HQqizt6uxlsy9Jyj1WRSmDx5O7kFCsI9pLj4eHBqlWrcHFx4XJeGR+claGwYdK3qZi7Lq2DkWDcoLRGgFvDoEh/Pp3Ri/gLWTz87SEUSjWt/Qx/fs2FAwcOcPTAAeRbf8P3ptm4tOlhNh6/uSo7NK26Pw2IxlNozLDbfTZD756qWcTbT2ew8fgV7vt6P75ujswa2BbQ9RRWJyMjg5/2nNDrc3y3FsS28eWltccsGrsxo0VjsDR2LE0K+O9SLg4yKeG+rjWajNVKXQNTLXfSC5qXSConG183R+7s04pBkQGs2HHO6JjG3BCKm5OcNQeSDZ5PziqmqErSUFMjJbuYGSvjGbF0J6vik0iqZkwCIJGQfE0pYcTSncxYGU+KgRAHW9C/f3/Onj1r0Bva3MuZmkJTD93W1UHUSgVlSUdo5+9G27aVc2ZSUhI+Pj6Mn/8l72w8afTeD7YmMuDtbTz47UG2nrZsnrt/QFuCvZxZvr3S27ls2TLuvPNObrvtNh67bxqvTeha+zdVBVMxdxoBbmNUFeB2c7z+fdUIcG88dkXn+oHXjMn9F7OZteog5UoV4X6uzT6xTKWqnOcVeVdJ/+FlUj97GLfUg7TwdNDzVUqAVn6uzIhtxea5g1h1f2yzMSZBGJQ2w1BpMVOGnSaLeMPxK0aziDWoVUruXfSltrxceXk5S5YsoW37ThRKdGNb/NwcefnWTry18TRX8kstGrspo6UpGCyWJgX0aeuHUqUmObvY6slYrVajyEnTOSb3DtYLmn9tXGfOvX4zh14cwUu3dNSJ2zTElF5h5JVUsKFaf9p+gYtZRRa8u8bHmv3JDF+yg73nswDrlRLW7Df+udaGdu3a0a5dO+3rF154gVWrVjFw4MA66a+psGhCF+Q2NiidHR2I//AJTp06xdmzZ5k9e7b2nGtEb1QmfvnWlnts7efKk8OjeGntMYrKK42M6Gjd3YGpMeHMG2kblQFLYu5mD4lgRKfKeFRNbOrozsE4O1Q+2pdsPoOLo4wv7o5hSFQAozoF8cU9MXoC3L1a+fDpnb3IKCjj4+3n6BTiSc9WPsy4FmPeXCkpKeHixYs6xyqyUkj46mXuDUjm2IJRrH90AL893I/1jw7g2IJR7Jg3lAVjoxt9qFhNaN5LDxtSPYvYnGFnTRaxRCrjQqkLXbt2pXPnzmRkZJCeno48oLWewfLquM6czyjk27gkvXaNYcpo0RgsjTl7VbOST7rmtVo0oQuFpQr+u5RLZmEZPq6O3NIlhDE3hLJixzmtMK2l1RAA5CU5fPzBEm677TZ++uknnnrqKSSOznpjsSRuU0NkoDvdw334et9Fk9Ie9VGpo76xd01Vubxy6pw5cyavvfaazdtvitRJ1uy4zoRf25KVSCR88MEHlJWVsfKb1ci9gszcbR1vTezKllNX2XwynUk9WgJQUq7AxVH3MVqf1ZRsJcA9IMIfF0cZYb6ufD+zj8XjbcqcOHGC2267jexs3dh3Z2dnPv74Y+655x4kEkmjfjbaGmFQ2gBDWcTmDDtrs4hl3iFIHJw5duy6t1Mi091iuyk6mGEdA7nlw90Wj90So6UpGCxD2weyKj4JpUrN4eQcJvVsyW09WuDp4kBxuZKTafk88cMRHQkfSydjmQRmDOvBQ9diTR955BFGjx7NtEeeIa3aOEzFbVavsDDl2oPih/364t1VqQ+dv/rEHjVVq9d7DghpiXdqKitWrLDJOJsLdZ01K5VK+eSTTwhs34PVWbbzht7VtxXtgz2YveSQzvHUvFLaBeiX+KxeTakuY+5sIcC9dEuiTtJSUxfgNsfBgwfp378/FRW6YUwSiYRDhw7RsWPTLJ1YW4RBaQOqZxFbY9hZmkUskUiQ+4RQkX7dM1Y1Zs/VUcar46L5em8S6fmleF5LAHKQVRobns5yKpRqrXSHBkuMlqZgsEyPDeerfRcB+OngJX46eMmi+yyZjJVquLOP7oOtTZs2bPp1NV0WbgIT227/Xcrlzj6tCPd11TEoHWQSJnRrwdFLuZxIyzd6vwSaVNC8PWmqmkoEotejhPUuZ+GfJ+s8EaipUdcePKlUyqTJU1m9fK9NxtvC24VnRnVg4Z8nyCzUXfRVKI0vtjXVlLTfozPpJGcZqBtey2pKQoC79lRfMLp4ehMZGanjwAHw8PAQxqQJhEFpA6p68Cw17GqSRSyROdCxY0eioqLYsGEDiryr2ioGvq6OBHg4M2tQW2YNaqvX5tH5o9h0/Aqzvr1eussSo6WpGCyapABTK/maYEzWA8DDxZFWvm7arXZDVI3brMrwjkH4uTuxZLNpT05TC5p//rcEYlr7MvaGUHqG+xDi7Ux+iYKEy7m8vyWRY6m631NzsltgvQi8JSVTkUjIVzvZpGRqc6SuPXi2XAQvHBfNmasFbDiWpp3Pna/FVTtZ0E9kkAcLxkazgGg9w8UW1ZSEAHfNMLVglABhd33ALYXJbProJSqyKh0u9SFN1phpOk+iBqTq5GWpYffwd4esziJeuOBlnn7gDqRSKdnZ2XzxxRd8eDEDPALJKCxj6qf79Np6eEg7Ytv4cc+X/5JdbXvdEqOlKRksDbGS12y1vzqus0Vxmxqm9AqjpFzJ2iOpRtuWSSUMjQq02XtpaDRKCR9N64GPqwNf7r1AYnohvm6OzBzYlt8e6c9dX/zLvmtJOpbIboF1mqr1XTK1OWPIg1ddGqumHjxbVudpH+RBSx9Xjs4fpXeujb/+drcp3JzkdRJzJwS4LceSBaMaSM4uRoofoTOX086tgvM/vI6zolC/QYGWpmEpNDCayUsNFht2VbOI3/j7JEXllVvRmiziL6olfUiAOXdPQSqtNF59fX2ZN28e+WsTWB2fTJlCpSecDTCpZ0uUKrXBc+aMlqZisJSWlpKSkkJkZGS9r+Q1W+2Wxm0ChHg5MzAygN+PXKbARIa9UqXW22pvzGiUEl5ee4ysagb2jjMZ7Jg3hNlDI7QGZVXZLY1SwrHLeWx7agizBrbV1loHyzRV7T0RqKlS1YP38sLXefOjlcx75jmm3zGlxh48TSKeIeFua3n0+8N6nsjBUQE8PCSi1m3bklqFEkhALpM2eQFuaxeMGpWAiyWOOI5fyPOjbZPB31QRBqUNqJpFbI1hZ00WsTFP4Yw+rfkmznp5FEuMlqZisLz55pu8+uqrvP3221y4cIHcw5l4D5pR63YtWclrttp/PXzZ4rjNtLxS2r3wl8lrTG21N1Y0SgnVjUmA4nIliemFhHhVZs5rZLd+PXzJqOxWVYPSnAi8PSYCNTfUajWrvvycivSL/P3tchY9NatW7c0eEsGB5BygduUeDRWCMKX/2JDUNJRAmXqSTW/NpF1Q081YtsWC8aU/TpFXphILRiM0/mwLO2Fo+0CrRXs1WcQVKjUfT+/B4ttvICmrmMmf7tPNIjbhKTQnGDzv56N65R7hutHy1E+GKy3IpBIGRvg3CYNl7dq1qFQq5s2bx0cffUTe3h9YcHMkTnKp1X8zmVSCk1zKWxO7MHuoZR6KutDfa2pB88bqrWvwcJLTOdSLxKuVW07mZLda+7rpeZWMaarWVSJQXYmrN1U2bNig1fw7cuQI+/fvr1V7k2PCePu2SqHxW7uGsnx6T5ZP74m/W2VlKk25x+XTe3LbNRmg18Z3Yfn0nswdbtoTZcOoGZujCSX454lBzIhtRSs/V5MC3L77PiLp66e5sXdXjh49ypdffsnRo0cbYuh1hq0XjD/UkcZtY0d4KG1E1SxiQ8z7+Sjzftb/kVqURWzGU1gXsYFS1HQq/g9ovLIRu3fv5o033uDIkSM6x318fLitWwjDolvWi6yHCJo3j7F66xoWjuuMi6OMZdsqpU2sld0C45qqz/5yxOJEoItv3GJ0jOfSCxm2ZAdgfSJQc0etVvP8888jkUhQq9VIpVIWLlzIH3/8Uat2TUnqWFrusToyqYSrFhaNaEgsTQZyPDaAwzv+Jjk5mRtuuAGA++67j5UrVzbk8G2GPSlHNHWEQWkjGiKLWENdGCyZGz7m+UN/cfdttxIaGmqzdusLlUrF2LFjycnJ0TuXk5ND//79OXz4cL3IeoCNgubVapBIeHpke6LkWSQnQ3h409hWNaV1+uSIKCZ0b8HL647pZXlbKrul4dPPv+C9Fx7j0qVL/PHHH/y4YSfJXe62OBFowsd79NrsFubN/DHRbDxxvTCANYlAAmjZsiWpqddjuVUqFX/++SeDBw9mx44dNW5XSOpUYiwZSK1Wc+mSfijO33//zdWrVwkKsq04fEPg5eLA6VdHs3TzGR2tTQ2WKEWA6cWkoBJhUNqQ18ZFM/L9XQ0yedkyyy9nx9fkH6qM4fv777+5//77a92mrTEnvyGVSvnpp58YPXq0njgtQEhICAqFAplMVueyHhpqEzQvBRSKcrzPbuSKPJCer7/OxIkT+fnnn20ytobGmMzL48MieezGSN7eeIpv9l0vElAT2S2A5R99yKdvPE9paSkSiQSf4bNwVyktTgQyFE83rXc4KpWaHw7oarlakggkqCQ/37BsWfWyd9YidgdM8+abb7J8+XK942lpaQwfPlxb7rexUlyuYH1CGnf0NrzwtlQpQsP6hDQ+r1LV7IOp3QjzbfyyerZCGJQ24vTp0/To0YPbnn6XnYowm7VrzeRVW8FgiVrF1fUfUHj0H+3xxYsXM2TIEJ3axQ2FOd2wcF9XhrYP1ApNDxs2DDc3N3Jzc7XXyeVyDh48SNeuXQ32UVeyHhpqGjTfP8KfrW/PJOFMAglrK8/t26evJtBYqaqUoOHxYZHMHR7Fks1n+Hj7OZ3rk7KLrZbd0tRbr6go1b52btsTiVRmUSKQIdwcZdzcJYT4C9l6kjfmEoEE1+nduzdbt27VO96vX79aty0kdYxz44034uHhQUGBbiyyk5MTr776agONyna8veE0fyakGjUorVGKAMgsLNMuKmVSCSt3XxQLxiqIpBwbsW3bNoqLi1n1ysMoDv1mkzZrMnlNjQln89zB9GvrB2A26URzPsJDRdLHD+gYk1BpKEdERNC/f3+2b9+ud39RmYLjqXkcTs7heGqewaSH2pKSXcyMlfGMWLqTVfFJJFWvWkKlIZKUXcyq+CRGLN3JjJXxfLduE7m5ucjlcu3W8IgRI4wak/WFtUHzm+cO4tEuEgqv6JbxTE1N5emnnyYrK6vexl5XaJQSNDx6YwRzh0fxwdZE3jewTVVVdsvN8brYsEZ2a6OBuvSKnDTUFddj3ySOLsi9Q4yOqXoikCHG3BCKm5OcNQcMB+kbSwQS6LJlyxaGDBmCRFL5S5BKpcycOZPvv//eJu3PGRrJmxO71FsiXmMhNjaWpUuX6h3v1asX48ePr/fx2BqNcoQhNEoRG45fMaoUYQrNglFwHeGhtBH79u1DKpWiUqm4vGkl/rkZ+Ix4EKXavNZVVSwpLWaOmpT8UuWmMXtLF7ZsSUdtIDBt7969rFmzhiFDhljtKawNtRGa3nW6nN53zGXXV2+iUql48cUXuemmm2o1Hlti6VZ7fn4+nQcNoqysTK+Nd999l48++ojDhw/Tvn37+n4LNkUjAn9vv9Y8NaI920+ns+1UOt3DvHWu03gIrJHdQq1iYIQvH2VmsmvXLu6++24q3IK0BowhqicCGWJKrzDySirYYMCABeOJQAJ9FixYwJAhQ4DKUrMvvfSSTduvz/rajYkePXrg5+dHv3792LhxI+Xl5Zw8eVLvuroMB6oLNMoR3q4OBs+bU4oYEOGPk1yqs9Mx7oZQpvQKQyKBM1cL+WbfRYrKFHb9OdQn4lOoJYWFhaxcuZLVq1ejUl3/4mXt/4OylKMMefoTjqZXNMjkZVVsYKAH//zzD5cuXeLBBx/kr790dRDHjRvHvPlvMGNlvNkKAxpPYW1L0tVWNwyZA1dbDePTPUnMGRrJO++8U6O26gNTW+2enp68++67LFiwgMzMTJ1zarWa6OhogoODdY43tsn/5MmTTOgawFf7LjK8Y6VnYEj7QIa015fL0mTmamS3nhvdkY+n90ChUrPvXBaz/jqoF/uERMprd4/Ez8+D8ePHk5CQwIQH5mLMt2sqEUhDZKA73cN9+HrfRb3t9aqYSjgSXGfw4MG0bNmSS5cuMWnSJMLCbBc6pMFwdZ4iqLJHYKtEvMZCt27dtPPK+fPn6dy5M7m5ueTn53O1RFJvzgNbY045wlqliN+PXGbrqXTS8krwc3NiSkwYiyfdQEZBqV3PrfWJRG3IHSXQYurBvGbNGh566CHy8/P1vHoSiQRXV1fWrl1LeOfedZ5FbEtOnz5Nhw4ddI49/sGP/J3uXqPYTLlUYnVJujX7k20aSP/WxC6NPvaptLSUdu3a6WTD+vj4cOXKFRwdHevVc2xLrly5Qnh4OL1796bV3YuJu5hTJ0oJ1SV8jqZkM/Zj/ThUTezm2xtP6cVuVuXFWzrywIC23PzBLk6kGTY6AdY/OkB4KC3kySefZMmSJcTFxREbWz+SS7ffcSdrt+5l0+atBPj52P3iq65JSUmhQ8/+9J69hAulzhY7Q+ytnv3h5BwmLN+Lj6sDh18aqZfl3SPch18f7sec7w7xZ0Kazr2PDG7HMzd1IOb1zWQU6u8Mafj8rl4M6xBocqejOdF8fzUmsPTBXH4xnby8PL37HR0dee2113jwwQfx9PQEqJcsYlsRFRVFeHg4ycnJzJ07l0THdvye6gpY72mpSUk6jW5YpxBP5o1sT/tgD/zcHCmtUHI+s4hv9iXplCvs1cqHST1bEh3qRVSQO05yGQPe2sql3OuyD01BN8zZ2ZnRo0ezcuVKHBwcUCgU5ObmEn/8LJ8eKqg3z7GtWbFiBUqlkn379qFweg1lz5kgM7xNVROMKSW0C/S0KhGoKg4yCRO6teDopVyTxqSEyoQjgXmKyhRExAzBMWQ9Ss+QetlKLCsr4691v1FRXMzBTb/w1FNP1Wl/jYE9V9SEzlxO8jU7qrHWszemHKGhpkoRVfn98GXtjopAGJQ6WFo0XvNgVqraMXThL+x69xEUeVeBSs/k66+/zrx58wz2UddZxLZAIpGwZMkSMjIy8Ow+ml9/s42n0NKSdM//loBCpcbTWU5aXgnr/kvlan4pLo4yxncLZemUbrT0cWHZtrMA9I/wZ0CEP8dT8yksVdC3nZ9em01FaHrSpEmcPXuW5cuXExISQs/bH+XuHxKRXDPAGnryt3bBdOnSJd59911tuEj81r/o5t2anKibbTYmY0oJVUumgvlEoKoM7xiEn7sTSzabDskwVjJVUIn+4l1GyN3vMe2bBCQk1LlX/ZNPPqG4uPLv/8477/DYY4/h4GC7xUxjw97q2dfGAVO5kDM+H9ZEKaI6wjGpi5jprlHT5I+LJU6EPPAxhdu/IO/w36hUKptIXTQ0EydOJCW7mOFL9EWFp/QK463bulJUptAr6yiXSri7X2tu79mS1n5ulCtUJKYX8vpfJzmUnGPWU5h4tdLTBpWVLKrXRd96Kp0wH1fu6B2uNSirGgAzB7Y1aFA2FaHpm266SZtYtGxbIspeUytPWLlFbMvJ39qt9osXL/L666+zfft2zp49q9fef78tZ/bHN/NHkt4pqzGnlGBtIpCGKb3CKClXsvZIKsYwVTK1uWPt4r0uvOr5+fnMnz9f+/rKlSusWbOGGTNm2KT9xoa91LO3VejO+TMnUeRcAVfDY6iqFPHG3ycpKlcC15Uivqie2GeAabGtrHlrTR5hUFK7VZlKDVIHRzxHPExYZCfO/fEx3bt3t/EIGwaNp7AqQZ5OvHBzR67kleLhrPv1kUrgkxk9iWnly4qd5ziUlIOLo5wuLTxxvSbtYs5TuDo+2WzMTnZxOX7uTtrXlkYBNyWhaXuY/GtqFPSWnufzzz832q5arebXV2fx7u/7aqypaqlSgqZkqqWJQAAhXs4MjAzg9yOXKTAhCWSuZGpzpTbKDbbyqicnJ9O9e3cdjVqAhx56CC8vL8aOHVur9hsb9lCe0JaLDIVCwYoVKxje4gb8OwQAEBHozujOlcmL206nU1qhslgpYtbAtkQGurPnXBZX8krwc69MyunbVt950Zxp9galbR7MlX7vvNaDWbruHlxcXGo/sAamqqewKq+P70L8hWzySsoZ3VlXw++efq0ZEhXIpBV7dTw6205f1+oy5SlMSUnh+50JKB10j0skIJVI8HJx4OYuIQyKDKjR5NdUhKbtYfKvjVHwr9Sbofe/wPYvFukls8XGxjJkyBDGjx9Pn3qQedGUTJ2+Mt5iozUtr5R2L/xl8hpLSqY2R+xlS7WoqIjs7Gy948XFxfzxxx/NzqAM83XlkSERBkM4LClN6OIg4+3butIp1JMgT2ekEriUU0L8hSyLfoe2XmQsXryYp59+mtatW2uP3do1lFu7VpYR1sTYW6oUcS6jkOEdgxjaIRAvFwdKK5ScSMvnSl4JwV6N/3lvK5q1QVkXD+bF25IY1a21XSQ71AZDnsLx3VoQ28aXEUt2Mm9klN499/Zrw78Xsg2Wp6uKWqVk5turWP7AjXTo0IGysjKWLFnCwkVvEfDIKj2R79fGdWb6ta2FMoWSV/44znf/GhaSNodGaLoxx7VpPMeWJi2B+VAEa2JMbWEUnA/oi0ef28nf96P23KpVq7jzzjt1rq+Jpqq1Rpyo91w/2INXXYNcLjdYIQagVavmtY2ZV1yOl6ujQf1hS0sTOsgkSCSwcvcFUnKKUanU9G7jx8OD21FcrsDV0fh8W/v5RMVzvybw0cpVuCft5vLlyyQkJPD8888DEDhlIc7hXZHIDI/hWGo+d66MN9nPllPpbDl13TFiTDmiudN4n6o2wNCWLhiPEbQkm7ipJH9UrzDg5+bIy7d24q2Np7mSX6p3fYiXM2G+rmw+dZWnR7Zncq8wfFwdOJ9ZxCc7z/HLoesGjkQq40yeAx07dqRLly5cvXqV9PR0HALbGJRf+GjbWdbsT8HP3ZHhHYJ4ZWxnXBzlfFalpqqlNHah6aqeY0uTliwJRbA0xtSWRoHP4LtwlylJ3f0LwcHBTJkyxei1dVlvXdR7rnuqLt7dHGU8emMknUI9iQ7xxM/dSU/SRYMp71htlBsiIyM5cuQIEREROobUBx98wJw5c2r+Rhshn+w8zzM3dTB4ztLShPmlCuZ8f1jn3j3nsnB2kPLgIONle225Q5ji042sfTsorFJ/XCKRkL/5E5zu+QCkMpvJ+4gFo2GarUFpbEvXVIygJdnETSH5Q1NhoCqvjuvM+YxCvo0znCkR7FlZ7/i2Hi25klfK/HXHKChTMDUmnHdv74aDTMqa/Sna6+XeIUgcnEmo+uM3IhWTmldKal6lEbv9dAYAz4xqzy+HLukLWFtAYxaaruo5tjRpyZJQBDAfY5qSXczfCWm8fVtXeob7EOLtTH6JgoTLuby/JVFHANySxReA26B78Th3kGefedzi7Nq6UEoQ9Z7rlqqLdx9XR6b1DudkWj6bTlw1WmfZnHcsr6SiVov3tm3bMmnSJH766ScAIiIiePjhh5udpuDus5k8Y+C4pjThr4cvGS1NWL3WdXUyC43Pz0qVmqkx4VzJK7V6MWEItVpN7zuf5q/H/sDJyYlbb72VoKAgvLy8uOqSxh5Fa5NjtQaxYDRMs63lrXkwV0cTI7j7bIbeuQ+2JjLg7W08+O1BtlZ7GFdF82BurFSvMHBTdDDDOgbynAn5IM0k7CSXcu9X+/nr2BV2JWYy+7tDJFzO47EbI/Wul/voxmCqlaY1vzT8dykXB5lUp/azNZjTJ7NnTNWm1ZBdXK5zjaWhCOZq0z7/WwJTYsJp6ePCl3svcO9X+3nlz+P4uTvx2yP9dQLUNYuv1NwSDiUZ71eJhFsXrObxxx83Obb6QNR7rhs0i3fNd/JSbgldF25iymdxvL3RuEFS1Tu2/XQGG49f4b6v9+Pr5sisgW11Fu815dlnn9X+f/HixcjlzcvHUlim4FJOscFz5koTtvZ1w8nAXCqTSnB3kjM4KoCZA9qw9shlg/XsdybqP2M1aBYTDjIJs78/xNO/HKWNvxs/PdgPXwO6kZp+F0/uSXZRpYDmmjVrWLlyJe+99x6rX51tMEyrJogFo3Ea75O1lhh6MGtiBF9ae8zgPZZmEzf2ovFVPXiujjJeHRfN13uTSM8vxdNZjqezHAdZ5VfH01mOi4NMKxJ7PqOIy9W8UDvPZBDq7YJftYlAInNg5MiRvPzyy0RGRqLISTMYx1OdPm39UKrUel5US2jMQtOGPMdQmbQkk0rwdXPkzj6tGBQZwIodlaLcmlCEU1fzeXpke/Y/P5yzr41m0xODuK1HC722kjKLSEnT/e6q1Wp+2xrHrrOZvLT2GNM+j+fb+GTiL2Tz97Er3Lkyntzich1DytLFl1KlZu+FHM5lFNb0Y7EpU2PC2Tx3MP2uGcfmDEuJuvK30q+tH5vnDhYPGgMYW7ybQuMd23D8ilHvmOa62izee/bsibOzM46OjowbN67G7TRWTJUntLQ0YVXGdA3h3Os3c2zBKL6+tzfbz2Tw5E//kZiWq70mOzub15d9wZM/HjE6LnOLCUPcP6AtId4ufLKncifM3d1d57xYMNY9zWs5dg1DD2ZzMYLW0piTP6p68HxdHQnwcGbWoLbMGqT/Qz46fxSbjl/h4e8OUVxuWEJFs4OkqmYsvr/kPR6acgsACxYsYNeuXcxcl0rZtSzvRRO6UFiq4L9LuWQWluHj6sgtXUIYc0MoK3ac0253+7o5EtvGF6gUpAUY0j6ArKJysovKia+yLdyYhaaNTf6mkpasDUVAIqHbwBG8++Jcxo8fz3fffcfy5cu5HNwPjx63kGUgxKC4XElieiEhXs7aY9YUdLU3OSdLE4Ecy/PIPLqTH16fw+Du7bl48SL41l7MualhiVe9Oua8YwMi/HGSSylTqGql3FBUpqDn8HG4uHlwIi3fLiuX1SWWhP+Y/C1XO7fjTAZjlu3G3UlO93BvHhrcDh9XByZNvYP7x91IXFwcf/31Fx5D7iN8QKjBJmuy1d7az5Unh0fx6JpDeLsY//tNrQfliOZM8/nlVMHQg9lcjKC1NObkj9Z+btqSdBmFZUz9VL/e8cND2hHbxo97vvxXu8X6z4mrjO4cQktvF51YucFRAVzMKiKn+PqWtgSYMX7U9dcSCYMGDeKO3OPXqhCpOZycw6SeLbmtRws8XRwoLldyMi2fJ344opPFHBXozvLpPXXG99r4yoDpuPNZTP0sDmj8QtPGJn9TSUvVQxE03uNdiZmEzxnAYzdG6hqUQGFxKffeey/33nsvUPm3Cen/GBKpzGD/Hk5yOod6sfdcVo3el73KOZlLBHrw/ntYvXk1N+/4AmdnZwoKCkhJSaFly5YNPXS7wZhX3RyWescyCsqsXrzrCWd3rhQyv+XD3XZd874uMBX+U5PShPmlChIuV5Yj3nc+i+SsYpZN60H3Du20WdcALu16IZEa7tuaxYSGtyZ2Zcupq2w+mc6kHqZ/f/WhHNFcaZYGZfUHsyZG8JYPd9dpP42FqiXpyhQqvcQPgEk9W2oTQzS8+88ZhrQP5Ot7e7N0y5lKT1ivcDoGezL7+0M69xvzFGqEpgF+OniJnw5eMjveuAvZOsLTxmjsQtPGJn9TSUvmQhFmD43Az81Rx/OoF8vq4IzcWzfetSoLx3XGxVHGsm2myxWawt49+lUTgQoLC3nj1QX8/vvvAFRUVFBRUfmZeXiIB09VTG2pWoIl3jFLF+/2UJ3H3tA4Dwxhi9KERy7lAtAu1F97TOLoYnI+sWYxAXBX31a0D/Zg9hLdZ0xJuQIXE3JFdakc0VxpljGUVR/MlsYI1rafxsbQ9oFWx5kkZxdz+yd7uZhdxKIJXVgxvSeBnk48sOoAfx+7or3OlKdQIzRtbd/mkEklDIzwb9QrTVOTf1WqJi0lZRdbFYqgVqtR5l5Bes17IJFIkHsHG818fXJEFBO6t+DV9Sd0srytRWMUNAa2b9/O66+/TlGR/niTkmyzw9FUqOmi2lrvmLl+1uxPZviSHew9X+lFt1Y4e83+xptkaQo3JzktfQwby1VLE7o5Xn8GakoTbqwypxtDk6jn6e5Kx44dAUzOJ1WxZDHRwtuFZ0Z1YNHfp/QyyjWLbEvQLBi7h/sQHeoljMka0ngtnlpQ9cFcNUbw6PxR2n/jurXAzUnO0fmjeH9KN6v7aMzJH1DpKTQ16c77+aheHW+AM1cLuf/rA3R5ZRMdXt7AxOV72XpKNynDnKdw0YQuyG1sUDYF3TCN59gcVZOWNKEI7QLcaemtW9HBUCiCtCiL9999m8zMTI4dO0a/fv2Myjk9PiySx26M5O2Np/hmX+0Nqcbi0b/lllt0tu+qMnDgQE6ePFnPI7JfarqottY7lpVx1Whby7Yl8tyvCZQpVFbHcipVasoUlcLZtfHA2zP39W8DXC9NOLpzMM4OlX+3JZvP4OIo44u7YxgSFcCoTkF8cU+MXmnCab3DWTK5GxO7t6BvWz9u7BDIczd1YOHYziRlFvL8889z7NgxPvzwQ5xc3Q2OQ4M1i4mF46I5c7WADcfStM4g5/+3d+cBUZXdH8C/d2aYgWGRRUEQRlEBFXBJEXcl91SSstTU0lzeyqwsezP7VWplWpZmWvaWZaWFZVoulUoi7kjuoiIgsiiLgOzrzNzfH+OMM8zOzMAs5/NX3blz70WYe888z3nOuR/8Ss3YqIAYxiHDcOUpXUNzBI1ly4s/gAcjhSdvlpi1g4ghLemo0LR2MWG+ihxTQxctGZqKwGGAWaP74sXYCACAl5cXjh07hjX/247Nt1Sv4+WRIVg8KhTrEm7giyOZZvnZbGVEn2EYfPDBB1i7di0aGlTvDfX19cjNzVWMxjg65XxsYyiPjn341zVUN0gAPBgd+1YpmGFZFvOmPopTx47A3191KtWauvNYq8l9ZNUeTGlNeL2gEg9388V/x3aDl6sTJFIWt4qrselIBuJ6y47J4XDw4osvIix6JObv0t6UwpgvE2F+7gj0EuLSu2PV9rX3/FdrZLsRj4nkD2ZjcgQNXU1s64s/5FqzJR0VmtZMOcfU0EVL8lSEN8Z1w6q4SDhxObiaX4F5P/6rMnosZYFZA1TbzjEMg0Wzp+Gr5QcUQcGih7ti8ahQbDicjs80FCRuDlsb0S8vL1cLJgcOHIgDBw5QHqUS5S/vykaEtoMLnwu3+1+65aNjgGxVeF2jFOsSbuCPhUPw7TNR+DIpEwIeB4tHh6qNjonv5SP/Zjp69eqFJ554AsXFxcjMzEROSTVcn1wNcMz3mDOlO481m7UlWevggSGtCc/l3MO8H/5V2SYfPFgyJkxl+6CeIWB0BJTGfJlY9PN5tVqYw0Pb4fkRXVHfKIGgmelqpHkcNqBUfjAbytDVxLa++EOutUcKX4wJQVs3Ad7dkwrx/R7QhuJyGPA4DFbGhttNMAmojhwbumgJeJCKoI2ukWPloGDekGC8NjoMR9KKkHi9CH2CPFX2lRdPN6aUE2B7I/pubm5YsGABevTogTt37uCjjz6CVCqFu7s7Jfg3oTyqLvf+5AiV3L3mjo6xUglqb/4LlmVx9+5dfPHFF+BwOJBKpfCduhIswzG41eOtDydo/Rkyi6owcl2S3bTWbaolBw9cBTzMGtARtY2yQNGULxOamjXI/64omGx5DGtIJWk7petbWXPZY9P4jYnpZhspbE5RWENWZ8rJX7fn1Zm5pTUYtS5J7wpLYwh4HCQsHq7132v5Hlk5p+1zozGgs3rLUTn5avsBwd6IXzBQ4z7KX74A2e9sVnRHq6lD2RxRo2JR6dcLfr0flpWiUXrN0UrRNJVeWInR649a7PgFWxai/q5qDq+TTxAC5n8JAAj0dMGfLw3FtfwK3CyuxvT+Io0BZdMvRwDQO8gT704KxxdHMvDRgTTF9oTFw2x6gZ8m8Sk5Zh08WPNYpNFf5pXbs0YEeGDp+O54SOSp+DLxwZ/X9JaherJvID6a0qvZ102az6EDytZ4MNuq+JScVh8pVK4bll2ielNxtLphLX3zt3RQYKsPaOUvOwwrBctozwN1hC872ljiyzukErSpL8IjLpnw9PTEunXrUFxcDIlEAq9RC+D+0AS12qleQiecf3uMxoBSk48f74nHHwpEzKdHFPcce/gCpE1LDR7Q/cQ+2UYWvIXIp3TNyV4WfzRlbEs6+evmbEknrxuWtCQGA/N+xZ1vF2GC01XsXzQEV5aPRdKSGCyPDXeIG8m0KFGL9qalck7qmpai0RVMAo5TikYTS1RuEPCdsO+dp/Dhhx/ijTfewJkzZ+Dn5wculwthlyithfgN5crn4pFIfyRnlap8gbX11rq6tFR7Qrqf2CeHDiiBln8w2zJ5h4FDrwzDrOiO6OgjVKuLyADo6CPErOiOSFg8DD/OjTZ7gF1VVYU9u35FY1EWDv/6LXr4ezhkjlpL96alck4PUCka47TEl3eRSISkpCR4+fqD69ne5ONP6hUAVwEP8f+qB/7yQvz2qKUGD+h+Yn8c7ymsAS3+ME7TDgP+oT0hYRmcOXUSndpafgHCJ598gtpaWZ7N9evXceLECQwZMsSi57RWLdmbtrUXaVkLKkVjvE8//RR//fUXnv3P+/j2bLGsarUBxa210fblvWvXrti6cx8W7jVssZouU/sFoby2EX9rKOBty611DdG0PeGvJ1JRzQhVfmemphnR/cT+UEB5HzWNb55zZ06hMkdWyLnoxjmEd4ix6PnS09OxevVqyFN/uVwuVq9ejX379ln0vNasJXvTOno5p9zSGry7J9Wsx7TXUjTKdu/ejePHjyMpKQkuESPhNeo/4DrxLfLlPSBQBMC0gDLE1w19RF74/tQtrTn2tlKI3xTywYPPnhkCvtAdh1Mum7V6gaPfT+wNBZRKqGm8cViWxZtvvqn4/5UrVyImxnIBZU1NDbp16wap9MGNXCKRYP/+/ZgxYwa2b99usXPbgqYjx6+8/QF+2PYTfvjuW0wcEW22kWNHHtFftvsyxFIWAzv7IK5PB/QVecHf0xkVtWJcvl2Gz/5JV2tByeMweGZQJzzRNxCdfFzRIJYivagKH/x5Dedy7tltKRpl8u5BjY2NaDz/N0T8WnR/ZiXO5FSa/cu7OQrkT40KAgDsSMm16HlswW+//YaysjIw5eXo4i2As7OzWY/vyPcTe0MBpQbKD+bf9/+FJ59diOUr38ejkyY4fE05uUuXLmHhwoU4ceKEYtuRI0cQFxeHTz75BJ07dzb7ORsaGlSCSWVpaWkatzsqIZ+Lv3/+Bg35edj745eYOnawWY/viCP66YWVOJZRDACYOaAjvIRO+O5kFtKLquDtysf8oZ2x+4XBePrbMzh1f6EOhwG+mtUXUR29sfloJs5l34MLn4fIDh4Q3m8RJ5GyOJZRjIyiSrv7glpWVoaVK1eipKREZXvqmaPIS3sUvx8+jcRcsVm/vDe3O4+cE5dBXO8OuJRXhqv5mvvT21oh/uYqLS3Ff/7zHwCyAYS9e/fiiSeeMPt5HPF+Yo8oMtLjyw3r0ViUhYQd32DZf55q7cuxGllZWTh+/Lja9t9//x3z58+3SEDp5uaGZ599Ft9++63Kdj6fj4ULF5r9fLYsMTEReXmyab9ffvkFH3/8sVpbOlM52oj+9uQcxYPsnT+uoKRatVNO0o27SFoyAgtjuioCytmDOmFEqC+mbD6pUoQ5MU11lTCXw2Db6Ry7KkVz5MgRTJ48GZWVlWqvsSyLLl26ILJjOwzv460YVTdHQXht3XkMNaq7H3zcBFiXoH0a1tYK8TfH9OnTsXv3btTX1yu2LV++HB06dMCgQYPMfr6m95PtRy6gkd/GrHmbxLLs+xNhgqioKJw/fx4Siayaf2JiIjw9PTFkyBCHzteTY3Qk1AcEBFjknDweD//73//wzz//IDv7QSHjdevWYc6cORY5py1iWRZvv/02GIYBy7KQSCRYs2YN1q9fb5HzKY/on714BQPHxCK4awh2/fqLXY3oJ6YVKUZNmgaTAFDTIEF6URX82zyYEpwzKBhnsko1dvRQJi9Fsxy2FVDqCgLr6upQU6Me1PH5fGzbtg1TpkxRuY+4CnhmW+TStDuPIa0e5ab2C0JtgwR/XLij8dj20lpXn6KiIpVgEgCuXr2KcePGoaJC88itqeLj47F69WqIRCJk7N0LJxc3fPvrXgQEiuDXzseu7if2iH4zWgQGBuLff1Vb1ZWXl4PLpXZOAODl5YXg4GBkZWWpbA8ICEBjY6PFzsvlcrF06VI8//zzAIBOnTph/vz5FjufLVqyZAlOnjyp+H+pVIqNGzeib9++mDVrlkXP/eF7y9FYlIWM4my049XDVWAfq2Cr6sV6O3S4C3iICGiDk5my0Un/Ns4I8hYi4XohXh8Thif7BcFL6ISbxdX46mgmfjt3W+X98lI01v7AVIxIpxXp6Qo0GOfPn0f//v0VgSWHw8HUqVMtMm2qrGlrXUNaPQKy39nQkHb4/cJtVGopC2QvrXV1kUgkOH/+vMbXRo0aZbHzFhcX4+LFi7h48SIAoLG2CrMmxoDL5eLq1atwDTBPiT9iGQ7dKUeX3377DVOmTFHbfvToUQwdOrQVrsj6NDY2onPnzoqp1aioKCQnJ+scvTSH2tpauLu7QyKR4JdffrH4w8nW8Hg8xci6sg4dOih+V5Zw4cIF9OnTB4BsBHvJkiX46KOPLHa+lpR6pxwTPldP8VC27snemNjTH3FfnMCVOxXoE+SJ3S8MRkVdIwrK67A+4QYq68WYFiXChEh/LN11CfFNFn3sXzTEakvRNKcFalSgG/5c+TR4dWWorKwEy7J477338H//938Wv15qrdt8YrEY8+fPx7Zt2yAWqwbWkyZNwp49eyxy3vz8fLUZLoZhEB4ejrNnz4LP51vkvMQ8HGOZWjP8/PPPGrcnJCS08JVYLycnJ7z11luK///www8tHkwCgIuLC8LDw+Hk5KQx6Hd0bm5uGrcHBgZa9Lxvv/02eDzZ6BrLsti4caPaYgxbpa9EzKujQxHXpwPe239Vscpb/lkQ8DiYszUFf14pwLH0Yiz86Rwu3y7HSw+HGH2e1tK0K5C+IE3++tnbVfCdvQHr957BiRMnMHToUIwbN87i1wtQ4WxT8Hg8fPfdd3j11VdVtm3ZsgWfffaZxc5bW1ur8RkSHx9PwaQNoIBSC00LTgBQ/mQTs2fPBsMwEAqFGDlyZIucs7pejD4xk9BtyHhcza+w244VzXXr1i2VoJJhGPTs2ROnTp2y2DmnTZuGffv2qYxm1NbWIjIyUi0PyxbpKhHz8sgQvPRwCD46cB0/nHqQ21tWI8uzvHm3GrfvT6nKHb1xFwGeLvBxVX1IWmMpGlO6AklZgOXwsOKvDJyta4ujR4+iX79+FrpSVdRa13TKKTLvvvsunn32WQQHB1vkXBKJBDNnzlTbzrIs2rSxzlF7osr67l5WIjMzE3l5eYqVsTExMbh8+TIOHTrUyldmXSQMD12jRmD0tPlIvVNuseAuvbASy/ekYvjHiYhYfgBHXAaiInoBJnx+HBHLD2D4x4lYvicV6YXqK0odjaenJ1577TXF/7Msi/fff9+io8fa8q0KCgq0lnqyJfJSNE29PDIEi0eFYl3CDXxxJFPltezSGtQ0aP48yH8VUqWMI2ssRWPurkA7Wrh/ObXWNU1ERAR4PB6cnJzwxhtvWPRcOTk5SE5OhqYsvJ07d1r03MQ8rDv7uxW5urrC1dUVU6dOxfr167FixQpERES09mVZBbWk/IdfwwUAEz4/3iQpX4QQP9PKOhiSt8VC9vD+MTkbW0/dwtCubR2+Ntkrr7yCVatWobGxEV27dsXEiRMter4333wT8+bNU8vdfOSRRyAQCCx67pagqRTNooe7YvGoUGw4nI7P/lHvyS2Rsjh0tRDjI/wR6OmiWPgBAMND2+FWSTXu1TxYwGZtpWjspSsQFc42nvLq/Q7h0RgZ3RNOTk4WPWdwcDBu3bqFq1evYtKkSWhsbERMTAxycnK0pvEQ60KLcnSorhfju5378NrrbyDxn0Po1TnAqm74La05SfmmBHfxKTkmPQRWxIZjmgM9BJoaOXIkDh8+jA0bNmDRokUWP9/LL7+MjRs3KkYku3TpgrS0NLupjLB8T6qiFM28IcH4vwk9cCStSGMwKS8TJPIWYu+LQ1BcWY/1/9xflNNPhDE9/LDw53P4636faC6HwazojlZVh1J5UYsrn4tFD4egR4AHwv094OMmwPqEG1jf5Gfv19ELU/oGIjygDUL93CDgcVVWUbfmohZj7l8cRjZd71KejQPvPQORlY0cW4Ku1fsA0NGMAwWaKAexs2Y8hTacepxIOmz28xDLoYCyCcNLYljmQ2WtWjq425iYbpaptiVjQvFijPriB3tXXS/GNzv+wH+XLsOBv/Yjqlsni38Zun37Njp27KgYpfz5558xbdo0i56zJaUXVmL0+qMAgPj5AzCgs4/WfTu9uV/x36F+bnhjXDf07+QNJy4HV/MrsDExA4evqxY3T1g8zGoKNSv/rAAQ6OmCP18aimv5FbhZXI3p/UUaA8qXR4bgib6BSL1TAQ9nJwzs4qMSUMq15s9qaCH+tc89iur8TIwZMwYTJ07E33//je3bt8PT07NVrttSWnqgQJnuIJZFR29Xh3ze2ioKKO9rzQ+VtWvp4C4+JQdLd102+Xxyax6LdIjpKmv4MjR9+nTEx8fD29sbd+/eBYdjX2najlKKRnk0tikvoRPOvz1GY0DJMID8iTJ/aGe89Uh3tYDSmkZjdRVm7927t6IeolxycjL69+/fGpdqEa01C0TPW/vkuPO3SpQ/VIDhJTFO3izBqHVJdj21au6k/HZuAp3BXW5pDX4+k4Nvn4lCWHt3+LjyUdcowc3iavxwKhu/X5AVg+YwwJzBwRgW0hahfu7wdOHjdlktDl0twJdJmaioe7AYojXytlqSNeWZLly4EPHx8Xj88cftLpgEZKVoRq1LMmtAaY2laJS7AhnDkOEJa+oKpK07T2JiIm7evKm2ff369di6datdlLAxZaBAcj8AXbrrMoqr6o2aBaLnrf2yvzu+kUwpiSGRsqgXS7F012VsTFTPo7J1lkrKz9XRcWTZ7stwFfCQX16Ljw+kYc7WFLz660Xk3avB+qm98WJMVwCAsxMXr4wMwe17tVi57yrmbD2Dn1NyML2/CDufGwSBUvkVsZTFst3mG/G0Js2tDyi/OcebcdVtdb0YEg9/8P1D8dDIR+2ynJMjlKIxpCuQqeRdgaxRY2MjYmNjNfYg//nnn7Fy5cpWuCrzaq3V+/S8tW8OPULZ0qNvtmbZ7suKb5HKpvYLwprHe6K6Xozw5QcU29dO6YkpfYPU9s8sqsLIdUkAHgR3mqb30gsrcSyjGAAU7evkDl8vQpCXENP7i7AxMQN1jRIM/TgRZUqrZE9nleJOWS2+nNEX4yP8FaOZEimLYxnFyCiqtJocNXNorREGZZqm2f2f+RSrLwBrLhywy5zjaVEiFFfVm+XeYY2laLJLqtUWZJgbC+BWSbVVdgVycnLCrl27MHHiRDQ0qPZsj46Oxty5c1vpysyjtVbv0/PW/jlsQKntQ6UpWDJ0etWeplaVgztlfh4CvPVIdxSU18HdWf3Pp7ZBgqe+Oa2yra7xQSkZXcHd9uQccBlAouVpVlrTAB83WQkaKQuVYFLu4v3VtQFtnFW2czkMtp3OsYq8LXNo7ZuzNU2ztwZ7LkXTUt16rLUrEACMHj0aEyZMwO7du1W2v/XWWxYr7N1StA0UyAn5XCwZE4YJkf7wdHFC5t0qfJmUib2X8rW+R9dAAWA/JaiIbg4bUGr6UGkLluTTq3sv3kF8Si7uVTcgvEMbLIrpipHd/TBp43HUi6V6P1S2ZHtyjsZA4YPJkUjOKkV5bQPGR/irvU/KsoqSKdpoCu5yc3MRf/QyJE4PgkyGATgMgzYuTngk0h/DQtrpvSkN6tIWAHCjSHW6yprytkzV2jdnyoGSmRYlwuAubQ0vRQMWUsgW4FhzYN1S3XqssSuQsqFDhyI/Px9RUVH4/PPPAQDnzp3DpEmTFPvoWtRjjbQNFCjbPLMvegV6Ys3f15FVXI3YXgH4fPpDYJjz2HPxjsb36JsF0hXEapvZkov74oTGZ4o9PW/thfX+5VuQtg+VtmDJ0OlVe5pa1ZSUP7l3B0QHe2P0uqMmdZ+QSFnsOn0dCwf6wtnZGWvWrMHa9Z/D78XtKt1I3n80AjOiOwIA6sUSrNibip/OaM/V8fMQ4I1xYbiYV4Z/mpRkAR7kbVnzDd8Q8ptzD38PLBkTpnPxEmB6KoIya5hmtyZB3kL8ODdabykap/pySG9fxsHPl1n9vUHeFciS097W2BWoqcWLF2Px4sUAZNULhg4diuPHj1tFNYXm0jZQIDcirB2GhbTDS/EPgsdTN0vQwcsFy8Z3x75Ld6DtO5O2WSB9QeyGwxnYnqx+X//m6X5okEhxMa9M4/vs6XlrL2z7ydpMmj5UuoIlY6ZX7WFqVVNSvo8rH+9M7IE1B9JQUFGn9b3OTlykLBsJb1cBiirrcPBqIT49dAPltar/fuVSAfyDOgHiekgkEjj5Bqu1BtyUmIH4lFz4uPExqpsfVsRGwIXPw9fH1FdftnFxwtbZ/QEwePGncxpXm1pz3pahlG/OHs6yxUt7Lt5BYUUdXPhcTO4dgPVTeyPQywUbEzMU7zMlFUGutafZrVmInzuWx4ZjOcI1jlrFTXoEhw4dwpL6awCAkpISJCUlWeVKeE1dgczN2roC6TNw4EB8/MW3WHv0NkavP2qzaR76Vu+P7dEeVfVi7L+sOr2982weNkzrg95BXjiXc0/jeyVSFolp6rNA25KzFYXiNckprVF73kQHe8PHTYANh9O1vg+wj+etPbGdT7QZNf1QGRosNaVpetUeplY1JeW/92gEbt6twrbT2Vrfdy2/EtfyryHtfj/t6GBvzB0SjMFd2iJ203HUNDwIYBiGAaeNHxqLsmT/z1Vv63WnvA53ymW/jyNpdwEA/x0bht/O5aG0+kGyvIczD9vmRsPPwxlPfXMaufdq1Y4lZ815W4ZQ/jJ0OqsUp7NKVV5vunhJrrmpCHLyafaBnX0Q16cD+oq84O/pjIpaMS7fLsNn/6Tjyp0KAI6Zc6xMuRRNaWkpvv5yIy5cuAAA+OOPPwAAbm5uFu2tbqqYMF+1OpQjQtvBhc+F2/1AsKuvG8ZHtAcgu6fWNUrh7cpHdLA3AKBbe9kXkxFh7VBS3YDS6gYkZ5WCy2EQE+rbwj+RaeJTcrA5tx2cRT6QsLaZ5mHI6v2w9u7IKKpS+/mu5cs+22F+bloDSkD27Ni1dz/iJj4CqVSK3bt348djNZAKtTcB0OTJfkGQSln88m+uzv3s4XlrTxwuoNT0oTIkWGpK1/SqrU+tNg26xoW3x8juvpjw+XGd79tyIkvl/49nFCP1TgU2z+yL6VEitdcZrhOcnZ1RV1cHDvQHehfzyjBzQEeIvIWKgNLDmYft8wYgyMsFM75JxvUC9VIfyqw9b0sfQ+oDKi9eMoaum7N8mn3mgI7wEjrhu5NZSC+qgrcrH/OHdsbuFwbj6W/P4NTNEofMOdZm7dq1+PDDD9W2+/n5WXVAOSNahK2nbqlse39yBAK9HgT/E3sGYGLPAABQFC8P9XXDlzP6NnmfrMbm6ZslmPb1aUikLGYOsJ2RaXtJ8zBk9b6n0EljWbey+zNMXkI99TcZBtPmLUJ7wfOoq6tDcXkVghb/AmP+0t0FPDwS4Y8TmcXI0zE4IGfrz1t74nC/gaYfKkODJWX6pldtfWpVOegS8rl479FwfH8yG0UVdfC4v1jJiSvbx8OZh0YJi1ql6VNlB64WoLpejD4iT+CE6mvxP23Do8P64uDBg/jo08+QybI6H7IDOvtAImUVXwjkwaTIW4iZW5KRev9btDa2kLeli7YRBkMWLxmaipCt4easPM3+zh9XUFKtWkol6cZdJC0ZgYUxXXHqZolD5hxr89prr2H37t24fv26yvabN29i//79mDBhQitdmW4hfu4Y2rWtSlegIR8l6n3f6axSlbaTTcm7AtnK79ue0jwMnZ3RVZzekLxahuuE3FzZ4IGmVCZ9YnsFwIXP1Ts6qXxNtvy8tScOF1Aqf6iaEywZOr1qy1Orykn53kI+2rk7Y8GwzlgwrLPavpfeHYuDqQVYsO2s1uMxjGzKVWUbgDED+4DD4WDcuHEYN24cBn5wAPlVYqyKi0RVnRgX88pQXFUPLyEfEyL9MalXADYnZaK0ugECHgc/PBuNcH8PrNx/FTwOgz5Bnorjl1Q3qAVftpa31ZS2EQZ9i5eMSUUAgGdfegNfrFoGb29vpKSk4LWfToMVdALD4aoFkwBQ0yBBelEV/O/nEjtazrEuPj4+2LVrF3r06KGynWVZxMXFIS0tzWrL0DhKVyBtWruagrkZMjtTVtMITw2jkJ4uTvdfV//8N8VKGsHlciGRSMB1Mn6m5MmoIJRWN+BAaqHB77Hl5609sd2nazMpf6iMDZaMmV615alV5aT8u1X1mPa/U2r7PD+iC6KDfTD7uzMo1XGTeSTCH0I+D+dzylS2awruxkYG4sfkbJzPuYcpfQPx+EMd4OHihJoGCa7lV+CVHRcUq5fbuQnQ+34AuXySejCy82wuluy8pPh/W8zbakrbTVPf4iVjUxH27P8Tf3y/Cd7e3sjPz0eH/3wNngtX63W5C3iICGijVoy+KXvNOdanpET930UoFOLJJ5+Ej49xuWUtSd4VaOku83WZsrauQLrI0zxc+VwsejgEPQI8EO7vAR83gcY+5oAsYH5mUCc80TcQnXxc0SCWIr2oCh/8eQ3ncu61apqHIav3rxdUIrZXgNqiI3k+bFphle6TsCy+/nQVZkydgpSUFLz49mroviuo6tbeHb0CPfHtiSw0SAwPEm35eWtPHC6gVP5QGRMsGTO9autTq8CDpPx6sVRt4QcATOkbqFgYAgAdPF3w2dTe2HspXzGSFh3sjWcHByOtoBLxKQ+mL7QFd/K8rV/P5uHXs3k6ry+vrFbn1FpTtpa3pYm2m6ahi5eU6UpFkDTWo7G+Hvn5+WD4LuB6ttd5XSsfjYALn6uzHZo95xzrU1oq+4y0b98eRUVFkEqluHDhAkJCrLts0tatW8EwDF4bPQifHLohmws1Ie/TGrsCaaOc5uEl5OOp/iJcy6/AwauFmN5f88/AYYCvZvVFVEdvbD6aiXPZ9+DC5yGygweEfNkXstZM8zBk9f7B1AI81V+E8eHtsU9ppffjDwWioLwOF3K1L8gBgI5tXfHMjIkAZCvjk/btRMSKA4CBWZRT+8nKmxnTEtYenrf2wj7v4Doof6gMDZaMnV619alVQHNSvi6VdY0ormrAvCHBaOsmAIcD3C6rxdaTt7ApMUMlbUBbcKcpb8scbC1vSxtD6wNqWrykiaZUBJZlISkrUPw/z7O9zhyoV0eHIq5PB7yz54pilXdT9p5zrM/EiRORm5uLDh06YMuWLZg/fz7y8vIQIAq26qLYb7zxBoqKijBkyBBU1nvCfcRccJ34dtUVSBvlagp5ZbXoufIgAMBL6KQ1oJw9qBNGhPpiyuaTKhUVEtNUv0C1ZppHEK8CeQxPazeyIzfu4mj6Xbw/OQJuzjxkl9RgUq8AjAjzxcs7zust4dN0oMDN2QkdvV0NKkHF53IwuU8HXMi9hxv6RkKV2MPz1l445G9BU0kMXYyZXrWHqVVAf3C3ZOcllSnlijoxntuuPY9STl9wZ4m8LXFDPUZ76e4OYQsMrQ/YdPGSJtpSETjVxVj38WrMmDEDR44cwcJ312o9xssjQ/DSwyH46MB1/HBKc4UER8g51ofD4SAwMBAAMHTiE+jyZCZeS6zEvYMHrLYodnl5OYqKZIHQ8eOyBYtPjx2A4k6jDOoKJH/d2rsCaWNINYWm5gwKxpmsUr3luVorzSMxMRG/fLAIAfO/1Lnfc9vO4vUxYXh1VCjaCJ1w8241Fv18TmfrRUD7QIGhz9sxPfzgJeRjzd/Xde6nzF6et/bCIQNKfaNvTYMlY6ZX7WFqFQA+/vhjOOUUgef5cIsm5Vsib6v04Jc4VOCHpx+zzhW1xlC+ORuyeMmYVAQOA8wa3Q8vxUYAAB5//HEE9RyIJ789r3YdL48MweJRoViXcANfHMnUeK2OknNsCJXe512HorTReotiFxUVYdGiRWrb17//f3j33Ua888prOrsCiXyEiAn1xcwBIpucFTCkXmNT/m2cEeQtRML1Qrw+JgxP9guCl9AJN4ur8dXRTPx27rbK/qakeTSn3SPLsli2bBkk926jNus8XDr1AhjNn7maBglW7LuKFfuuGnxNugYKDJ3tejIqCNX1YuzV0t5RE3t53toLhwwoaWpVN6lUijVr1qCkpAT9pjbgbvAYsx3bkKT8aVEiFFfVm1au436+172k71F16RD25XhCKpVaZWcSYyjfnA1ZvGRMKoKUBWYN6KhyvnCRr9o0+6KHu2LxqFBsOJyOzzQsTAAcL+dYF1vqfb5z507MmjULDQ2aUyW++uorvPXWWzq7Atn69KMh9Rqbau8hq1wgzzV8d88VVNaLMS1KhE+e6A0nLkfly5uxaR6mtHtkWRbbtm3D6dOyTlmlf2+E/7wvwHHiw9DcRn10DRQY+rx9+tszRp3TXp639sS2P/kmsMTUKqQS/Lv5NdTP/AcCgfHlEqzFpUuXFCtT/92xAR4DC+A1/GmTj2tMUv6LMSFo6yZQPIiN+T0xYCERN+Deoc2ounQIAFBWVoannnoKy5YtQ8+ePZt1/daAU1UEX2kJSrg+Bi1eMjUVoek0+7whwXhtdBiOpBUh8XqRSi4xAJzPLXPInGNtrLEotq4gUCqVorGxEWyTRFcOh4OlS5diyZIlcHJ60NVKuSuQvWhO+oU8z1jA42DO1hTcLpOldhxLL4boxSF46eEQlYDS0POojGwb0e7xteEd8L9PV+Hs2bNITU1FdXW1Yn9xeSHuHfoKPo+8ZPTPqY2+gQJHL0HlKOzzLm4AS0ytFv35OaounUBSUhLGjDHfqF5LamxsxCeffKKyreLUL/BxdQIv+imD2o4pMyUpf1qUCIO7tNV7Q1U+l0TKoj7nEu7u3wBxuWods19//RU7duxAr169sHv3brX6f7Yw2rJ69Wqc/3UvAv+zGeCot6tsLl03Z+Vp9lHd/QAAI8J8MSJMPXep05v7HTLnWBNrKopt8AjX8PE4efIkBg4cqAgqORwOFi5ciA8++MD0H8QGNCf9Ql6f8ebdakUwKXf0xl0sjOkKH1e+Sh1XcYPuNr+mjGwnZxUj/0Qmqi5pHvWruZIAjqtniw0UOHoJKkdhXU/LFmaWqdX75FOrXC4Xe/futbqAUl+wdPPmTWzevBlbtmxRlDlRlpWwHY94c+A9ZmGLJuUHeQvx49zoBw9EA/K2XBp744cIBl9++SVycx+MCkilUjAMg7S0NNTX1wMwbSqppdXV1SE+Ph7iqioUH9gMn/HqeW7NpevmrDzNPu3r03qP5Yg5x00Z0/scANZO6YkpfYPUjpNZVIWR65IANK8odnNGuCLb8sBxbwdBQwVqa2shlUrRv39/4/8RbJSh1RSUZZfWoKZBrPE1eZEE5YoKLMvi1fmzcOivfXB2dlZ7j8kj2wB8HnkJXDcvlJ/cofJ6WFgY+vXrh4iICLj3DsCGEwVGzwI1Z6DAnM9bWypB5UgcOqAETJta5XIYSMWNKP57k2JqVSKRYPPmzQgMDMSsWbMQEBBgqUvXy5hgaca0aUhJSdF4nDZt2mD27Nl4+eWXERwcbFRwZ678lhA/dyPyttzx5ptvYunSpejRo4dK2ztXV1ccPnwYrr4izNqSbPRUkjkXSRg7Ivr111+jqkpWTqPq4gFwhG1aZISBco6NZ0zvc7naBgme+kY1YK9TynE1tih2c0e4rtxtQOCCzXj/sd5A5gl8+OGHGDp0qEHntAeGVlNQJpGyOHS1EOMj/BHo6YI8pVHK4aHtcKukGveUukeJ7+Xj5NFETJo0CStXrkRBQQHy8vJw584dePWbgC/+LTfLz+I5bBYkVaWounQIDMNgxYoVePvtt1X2ie2v/0uHnKkDBaY+b22xBJUjYdimyTIOypBv8nLy18PasDi8eh4kFUUac45YlsWMGTPw448/qrxm6anV5vwsPds54fi6hSi7nanyszz//PNYt26d1pxQa58mfu+997BixQoAst+JQCDA5kOXsHL/9Wbf0ExZJGHsiOj58+exY8cO/Pbbb8jIyFA7nlvPMfB9ZCHA4Vn05pxbWoNR65JQb8byPgIeBwmLh9vdtFV6YSVGrz8KAGrTnICs5WvSkhFIK6zCzC3JAGQjlOMj/BG+/IDe4ycsHqY3CDdlhEvZkjGhZsvdtCXL96SqlLoZEdoOLnwu3AQ8fDylF/ZduoP99wt/J6YVoa5RCpG3EHtfHILiynqs/+eGbFFOPxHG9PDDwp/P4a8rsvqurFSCynP7cS/hfyrnZBgGXA9fiJ7/GhKoT7sb07HnARasuBF3vn4ebkw9cnJy4O6u+W+nJQcKmvOMaq2qB8RwFFA2YcyHqnNbV+zatQtbt27Fn3/+qRZUAsDUqVMRHx/fYlOryqMSxgYYHFaKgv2fo+rSQcX227dvt+ooq6nOnj2Lfv36ITQ0FHv37sWmI5n4I8v0oMjYB21zbqCDu/hgz9vTUFWgucYjALi5uWHRm8uR6zfE4jfn+JQcs+ZAvTKwLfKO/or33nsPLi4uZjtua2sajGjy0zxZbc6Rn8qmsw0NKLkcBrOiO+osim3u39OaxyIdbkRI+UsBABz/bwwCvTR/VoasOawYkQz1c8Mb47qhfydvOHE5uJpfgY2JGTjcpDvU7a+fg7hEfUGd79SVcOv8kMbC44GeLvjzpaG4ll+Bm8XVmN5fZEBACXDAojrrPJb0dcbrr7+u70cH0HIDBa0x20UshwJKHYz5UJ04cQJDhgxR2TZlyhSs2fQN3t17vUW+iZlrVIJ7ZT9u7vsS3bt3x9Wrhtcis0Ysy2LXrl2IiYnBwcyqVnnQmhLkM6wUhU2CfEBWI/KFF17A0KFDFatuW+LmbPrfGAuAQS8mGwmfvY6amhr89ddfGDdunAnHtC7DP07UOV3qLuDhxBsP42RmiWIF/topPRHXJxCl1fXwdhWgqLIOB68W4tNDN1Be26jy/o4+QiQtidF4bBpJNp9ZW5LNnubBSsSoy7mEoh3vqL3m5BOkt+i4nJfQCeffHmNQQCl38OWhCG3vYdT1tiRrn+0i+lFAaSYsyyI4OBjZ2bLRJCcnJwyatQT5AUNbZGrV3KMSAXmJmDWoC55//nmzHbM15ZbW4MWfz+HlkaEIa+8OH1c+6holuFlcjR9OZSvqNgKyFmqP9gpARx9XuAq4KK5qwLnse9hwOB3pRQ9aghnyoDVXkH8v6QdUnPoFAODv74+8vDydNTUteXM2JUDmcRgU/vk5ys/9JdvG5WLZsmVYuXKlWa6ttVXVixG5/IDOBR3rnuyNiT39EffFCcXCnLmDZRUH0gplxd+jg70xd0gw7pTVIXbTcdQ0SJSOwOLKu2Ph5qy+yl8eBDnzOHqnRzkMMGdwMIaFtEWonzs8Xfi4XVaLQ1cL8GVSJirqZItM5LmuhuZu2gtLBOc8hsXyKC56hwTB398fzz77LPbt2wepVAqvUQvQpt8ksAbUhjQ2oDRkZJsQU9l2lWcrwjAM4uLiAADLli3Dsu1Hcct3MOrFUqO/4UqkLOrFUizddRkbE/XfLOQrSpua2i8Itz6cgNTlY3W+f8eCAbj14QSsULrZlHQaiYlTnzHquq3Zst2X4SrgIb+8Fh8fSMOcrSl49deLyLtXg/VTe+PFmK6Kfb2ETjhy4y6W7rqEp789g/UJN9AjwAO/vzAYnds+KMAtXyShjTnLxngNfxpuPUeDYRjMnj1bb4F2eX3APiIvhAe0Mes3/WlRIiQsHo5BnX0AyB5Wushfj+7kie5ZvymCSUC2iG3Dhg3Yu3cvpFLbb7+oryi2vPf5e/uvqqzy3nIiC1tOZOF4RjGOZxTjk0M38OovF9HV1w3T1b5UMpgwbTby8x+0wsvKysKbqz/DsYxiSKQsvIR8PNVfBAGXg4NXC6GJsxMXr4wMwe17tVi57yrmbD2Dn1NyML2/CDufGwTB/fI5EimLYxnFyCjS3unIHslL3ZjTB3E9MTNuPCIiIuDj44NffvkFI0aMAAAIu0YZFEw2h7zdIyGWROPJZvTOO+9g7NixKPPpYbbRQkPqz8lXlCrz8xDgrUe6o6C8Du7O2n/NTw/sqLFLibErSq1ZemEljmXIenmfzCxRee3w9SIEeQkxvb8IGxNli17WJagG8clZpTiXU4Z/Xh2OR3t3wLoEWZCo/KBtOoWsLcg3RbvxL6Lxdiqeftr0ld2mak45p4Rd2/H89i1qxyovL0dsbCy6dOmCP//8E6GhoS32c5ibrmLVhvQ+V3bgagGq68XoI/IETqi+lnL2PMLCwhAbG4srV67g4sWL8B71H7g9FAyGw0VeWS16rpSlSXgJnTC9v/r9o65RgqEfJ6JMafXx6axS3CmrxZcz+mJ8hL9i5J7LYbDtdI7DjXBZutSNQCDAnj178EhsHLLbtDf5HLqY0u6REEPQX5YZeXl5Ibz/MIy6Xzeuqan9grDm8Z6orherJN/rm2LVVX9OOVhS9sHkSCRnlaK8tgHjI/w1Xk+gpwv+O7YbXvvlAr6a1U/lNV3Bkq3ZnpyjM3+1tKYBPm66OxuVVsvqVkqajKJpe9DKg/we/h5YMiZM7zR7UzsWDEB0sA++P3VLEZgyXB4efX8HunXrpvdnbinGlHPq8MwzqK2txccff6wyugbIRvgLCgogFqvW8rO1vCptRbEN6X2uCcOo1i+UEzfUobayEtu3b1dsc+7SFwyHa/CxpSxUgkm5i7llAICANg/qI8pHuJbDsQJKwPKlblxdXfHFj79iwufHzXXJGhnb7pEQY1nvndlGaRotBHSPGMqnWK/lZ6K8thEibyGeG94Fv78wGJM2Hkf2/RXCmkYLNQVLk3t3QHSwN0avO4olY7SP9qx6LBLH04txQMuUmL2MSiSmFan8+zAMwGEYtHFxwiOR/hgW0k7jaCKHAXgcDoK8XfDG2G64W1mv1upQ04NWOcj3cJZNs++5eAeFFXVw4XMxuXcA1k/tjUAvF8WoqDJto8YSKYvk7HKrDfL1teFzcXHB4sWLsWjRIkRERCAtLU3xmlAoxL///otu3brZVLH5pjQVxTak97kmj0T4Q8jn4XxOmcp2lmUhvtckIOe7gOep+YujsQZ1aQsAuNFkituRR7iadu0CKwUY7WknxtZrbE67x+ZoqfMQx+R4dwYL0jZaCOgeMTRkilXbaOHB1NsqwZKPKx/vTOyBNQfSUFChvbXX1H5B6B3oqXU0FbCPUYmqerFK32gAeP/RCMyI7ggAqBdLsGJvKn46k6P23msrxkHgJBvxybxbhWlfn0Z+ufq/abbSg1YikWDVr8cUD5zTWaU4naXaeUjTNLucrlFjwD6CfB6Ph7i4OKxZswYsy4LD4UAqlaK0nmn1YvOmak7v8w6eLvhsam/svZSvyMGMDvbGs4ODkVZQqdYDWnwvH0I+F8NHP4Lz58+joKAAPM/2in7SpvDzEOCNcWG4mFeGf5qUunH0ES55mseuf05h3uqt6Dx4IkrqOWapptCcdo/N0VLnIY6JAkoz0ja1auiIoTK1KVapBEu+2oMfXp4EDw8PVFVV4f3VH+O2OErlQfLeoxG4ebcK205rz9GSj5Z++Nc1FFXW67wOWx+V0LRIYlNiBuJTcuHjxseobn5YERsBFz4PXx+7qbLfY5tPgs/lQOQjxNzBwYifH42nvklWWekt9+jMeejdsS1+/vlnYNJyOHnprt2pbZpd36ixPQT5ADBy5EisXr0aS5YswRtvvIGRC97GMzvSIWUeLATRRblv8ah1SSYVmzenu3fvQpJ3CVzXrpCwMKj3eWVdI4qrGjBvSDDaugnA4QC3y2qx9eQtbErMQK1StxywUowKD8D/SkogEAhQW1uLN998E1/+8pfasY3VxsUJW2f3B8DgxZ/OQVP9D0cf4aqtrcV/psXiXnEx1r41HVEDh5glJaM57R6Nxdw/DyGWYptRgpVqOrUKGD5iCOiZYuVwkZJXAz8/PwwZMgTnzp1DNd8L7Wc/6LE7Lrw9Rnb31ZuL88HkSFzLr8DPTUY+NLH1UQlND8A75XW4c3+k8UjaXQDAf8eG4bdzeShV6mqSen8V7vncMiRcLcSRJTH479gwzP/xrNoxj504hX923gDDd0GQhqlHQ6bZDRk1Bmw/yAeAUaNGKYrmb0xMR3nYRNkfm5FVzCT3c9qW7rqM4qp6s3V1aW7u5sqVK3Hm5z8U9QQN6X1eUSdW1KPUi+Hg7WnDFJ2rXFxcsH79evQaMQErkhv0vFk7D2cets2VFVt/6pvTyL1Xq3E/Rx7hkkgkmDZtGoqLZbNQt27dwogRI8xybzS03aNyxx4A6OrrhvERssU88o492oh8hDZ9zyDWj/66zETT1Cpg2IihnL4pVp6XP+olQEJCAgCA799W8ZqQz8V7j4bj+5PZKKqog8f9PE0nruwB4OHMQ6OExYiwdhge2g5PfHVKsY+cE5cDD2ceahokKnmgtjwqYcgD8GJeGWYO6AiRt1AloFRW3SDBzbtVCG7rpvF1ViJb3KBt6lHfNLsxo8a2HuTLBQQEmLW0kiEVEXQxNXczKysLmzdvhlgsRm3WObh07AUYsUhGH129z58cH4OVybrrX2rj4czD9nkDEOTlghnfJON6gebyQI48wrV8+XLs2rULly/LqncwDIOzZ89i9uzZZjtHTJiv3g5L70+OUOnYM7FnACb2lM2GKHfsaYrLYRATqj5CTog5UUBpJpqmVg0dMZTTN8XKMAx4Xv5oLMqS/T/7YCrMW8hHO3dnLBjWGQuGdVY79qV3x+JgagGu5lfAicvB7y8MVtvnqf4iPNVfhAU//qtSu86WRyUMmUoa0NkHEimr8QuBnJfQCWHt3fFv9j31F1kWf2z7BiePJuKTrb9pfL++aXZjRo0B2w7y5eSllQZ29kFcnw7oK/KCv6czKmrFuHy7DJ/9k65Sq9GQgvO6KiLoug59bTG15W62d3dCRkYGrl+/jpUrVypWqZf+vQn+874Ax4wBJY/DYFVcpMbXDB3hakoeTIq8hZi5JRmp+RVa93XkEa5NmzYpRiYB2cKo33//HUuWLEHHjh3Nco4Z0SJsPXVL5z5DPkps1rElUhYzB7R+Sgixb455d7CApg94Q0cMlfOjDJliHTo8Bps/OIDKykp8+vkmHGNZMAyDu1X1mPa/U2rX9fyILogO9sHs786gtKYBNfUSnL5ZorZf/IKBOJBagO9OZCm6dQC2Pyqh/KBdFReJqjoxLuaVobiqHl5CPiZE+mNSrwBsTspEaXUD3AU8/Dg3Gnsu3kZWcQ3qGiXo3NYVcwYHg8/jaFyl27GtK8aPjsH40Q9jwPgpWLhXvUevrmn26GBvo0eNbTnIl5NXRJg5oCO8hE747mQW0ouq4O3Kx/yhnbH7hcF4+tszOHX/71VfNYSbxdVG109V7voDGJe7GbP2MIr+2oTKC3+r7ScuL0TZP1/De9yLxvyT6LQyNlxnoNx0hEvf9CjLAj88G41wfw+s3H8VPA6jsmiopLpB8SXLkUe4kpKSVIJJuby8PDz33HP46y/T81cBWQmuoV3bmr3do66RbULMiQJKM2n6gDd0xHDBNs25U9qmWDes/xQh96c6t323BYNXJ+B2eT3qxVK11cQAMKVvICRSVuU1bdMiBRV1asewh1EJ+YP2fM49TOkbiMcf6gAPFyfUNEhwLb8Cr+y4oKgJWS+W4lp+BaZHieDv6QIBj4O7lfU4nVWC57ZnIqPJgpymD9oRfcPB7M3TO/WoPM0e5udu1KixrQf5gGpFhHf+uIKSJqkGSTfuImnJCCyM6aoIKA2phmBM/VRT2mLKHvgMvMe9CMbFQ9EWU47H46Hywt9gXDzgNdz0QvSaimI31XSES9/0KAD0vh9ALp+kvshr59lcLNl5CYBjj3B169YN0dHRSE5OVnttwYIFZj3XqrhIjFqXZNaAUtfINiHmZNuRghVpOrVq6IihNpqmWDUFEqN7+OvNu2kuexmVkD9ofz2bp1ZHsqkGiRRv6min2FTTB62hU4/K0+w7z+YZNWpsD0G+ckWEpsEkANQ0SJBeVAV/peLammgqOG9IaSVzt8WUVt9D1aVDAIAOHTrgmWeeQffu3dG9e3fckLTD8r2WKYqtrOkIlyHTo53e3G/QdTjyCJefnx8++eQTDBkyRLGNYRi0adMGXbp0Meu55O0ezdVpDdA/sk2Iudj2U8mKNA0kDB0xNGaKVVMgoS/vZsnOS4pRBl00PVjsZVSipaeSlKceDZlmL4Xho8b2EuRrqoigzF3AQ0RAG7VWmYD+gvP6SiuZuy0my7LwGv0c6rIvQVp5F4mJiQgJebDavC+AIV3b6s3TlDO2KLYyGuGyjN69e6v8/6+//orHH3/cIueydLtHQiyFAkozMmSVXlOGTrFqCyQo78YwLfmgVQ7yDZlmN4Y9BPnaKiIoW/loBFz4XGxMVM9ZNaTgfHZJtdbSSst2X0ZUJ2/E9grQuxCoKY0tMRkG4PLgPW4hJrfJUwkm5ZrT+7w5nz0a4bIMV1dX8Pl8NDQ0YOPGjRYLJuUs3e6REEtgWNbIwm9Eq/TCSoxef9Rix09YPEzjQya3tAaj1iWh3owrfwU8DhIWD7erB0l8So5ZH7RrHovUesOetSXZYkG+oQtOrFXqnXKdlQ9eHR2Klx4OwTt7ruCHU+rltsIDPFSqIfi3cdZYcD6qJAHfffoe3Nxkeci5ubnYsvNPbC0KxKanHoKX0Al/Xs5XWQgU2aGNykIgZU8P7IiFI7rCz8NZJaBUtv2pbhgcadg0qCX7lJuSH6rs9TFhWBjT1QxXZFs0/W4CfH3Qvn17lZahlqZcgYCVSnT2apePbFtb9yjiOCigNLPWCiRaMliyZS31oKUgX7vzOfcQ9+VJja+9PDIEi0eF4qMD1/HFkUy9x3Llc3FkSQwu5N5TKzhf8MNraMepxqRJk3Dy5ElcvHgRXqMWwP2hCWjr7qKWuynkc5G0ZATSCqswc4vqAoxATxf8/cowRUtMTQEll8NgVnRHq2mLqbyC3Zj7ESuVQODEw6KBvvj3l88xf/58lfxBe6WvDmnDvXyMDvfHW08Oa/Ee8r2GjUOeoBPCxzyJ3NJas49sE2IONOVtZq2Vw0R5N4ZpqakkmnrUTlvJI3kwuS7hhkHBJKC74LxU3IC8ojx8+eWXim0uXfqB4XCNXgikryUmYH1tMadFiTC4i/G5mw25V1BwYCMWry6CRCJRdOeyV4bWIXXy8sexAgaj1x9t0VHAzZs349KxAwCAhP0b0MhyLDayTYgpbL+YnZWRBxLmZGgg8WJMCFY/FgkBjwMuR71biy5cDgMBj4M1j0Xa/RTXtCgREhYPx6DOPgCg999K/vqgzj5IWDzc4GB7WpTI4N7t+thTkC+viKBs0cNdsXhUKDYcTtdY61MbeTWEWyXVKttZloX4Xr7KNobvAp6Gtphy8oVA6YWqU+fylpjv7Lmi93rkbTGthTx389ArwzAruiM6+gjV/u0ZAB19hJgV3REro51Q+tsKNJTmQyKR1cjNz89XO669iE/Jwah1STh5P8XB2B7y8Sk5Ovc3xdixY9GzZ088//zzim3Xr1+Hq4CH8IA26CPyQnhAGwomidWgv0QLaM3RwuaOSjRnRakta6lFEpRcr65pRYR5Q4Lx2ugwHEkrQuL1IpXi2oCs0L+xBeclZfkYO3IEBgwYgO3btyMzMxNcLW0x5TQtBDKmJSZgvW0xQ/zcsTw2HMsRrjV3c9OmTXjmRfVC7Dt37sSMGTMwbty4VrhyyzG1Dqklesgru3DhAoqKilS2vfbaa9iwYQO6d+9u9vMRYirKobSg5uYwmSuQsHSwZG8suUjCkGk1OUdIrl++J1VRESF+/gAMuD9arEmnN/eDz+VgRWw4+nX0UquG8MUR1YLzHLCY1q8DVj3eBwBQV1eH//73v/hq5wH4P/OpxnNoWwj0zdP94C7gYerXpxXbbn04QeuiHADY/fwg9BF5GfXvYQ1SUlIwefJk5OfnQ9NjYd68efj6669b4crMz9pzzv/9919ER0dDKlXPwZ47dy6++eYbs52LEHOhgNLCrCWQsGSwRAxHQb5Ma1RE2LxjP1ZfUN9X20Kg8RHtsWFaHzzx1SncvPsgYL307lj8dCYHq/+6ptYSEwD2LxpidSOUhqqursb06dOxd+9etdcmTJiAvXv36hzltQW2sGDu+eefx+bNm9W2u7i4IC8vD97e3mY5DyHmRAFlC6FAgjTl6EF+S1dEqK4XI2L5AZXPnvJCoKbT5q+MDMEro3TnwCq3xARkn+Ury8fa9O/x6NGjGD58uMq277//HrNmzVIEk7b8t6v8d+fK52LRwyHoEeCBcH8P+LgJsD7hBtY3+VtYO6UnpvQNUjtWZlEVRq5LMntJr/r6eqxevRrLly9X2d6mTRuUlZWZ5RyEmJtt3AHsgCE5TMSxyJPrHVVLV0RomrupbyGQsS0xAftoi9muXTsAsoLtnTt3RmZmJiQSCTKKqnSW1RF5CxET5osZ0aIWL6tjKOUe8gDgJeTjqf4iXMuvwMGrhZjeX/u0dW2DBE99c1plW12jbOGSMT3kDSEQCDBnzhxFQOnm5oZXXnkFXl62l0pBHIdt3/lslKMHEoQArVNaSd7Nas6gTnoXAuWV1RrcEhOwn7aYoaGheOeddzBx4kRERUVh+rwX8cm5eqy4cVRnWZ3s0hr8mJyNraduWW3+r3IPeUDW8rTnyoMAZBUDdAWUUpbF+dwyra8b0kPeGEFBD0ZEjxw5gr59+5rluIRYCgWUhJBW09IVEeRtMUd19wMAjAjzxYgw9SBQU297feyhLSYAcLlcrFixAoBs8co5/wmyPFEDFhc2LauzIjYc06yoQoG+HvKmMLUOadOZK09uIxiGwdy5cymYJDaBAkpCSKtqydJKIX7uGNq1LWZsSW52YKEp2JTn0NlT/rO1l9UxliE95HVxduIiZdlIeLsKUFRZh4NXC/HpoRsor21U7COvQ2po2oOu7jwAEPj8N2gzJBzphZVWm0ZAiBwFlISQVteS9VNbq5uVLYlPyTHLqDEArD14A+3cBK1eSzW7pFotYDPUtfxKXMu/psiZjQ72xtwhwRjcpS1iNx1HTYMsl9LQOqSGVv/gePhh95US7LzUst15CGkOCigJIVahpYrNU1tM3XJLaxQ1Ng1dBT17UCc82isAHX1c4SrgoriqAeey72HD4XSkF1XhnT2pGNSlbav+GzWYUCZoy4kslf8/nlGM1DsV2DyzL6ZHiVRe13ce5frEgPHdeawtjYAQOQooCSFWpSUqIrRmNytrt2z3ZUWwY+gqaC+hE47cuItr+Zkor22EyFuI54Z3we8vDMakjceRfX9EzlxldZpDWw/55jpwtQDV9WL0EXkCJx5sP382BX1EYzS+x97SCAhRRgElIcRqWbIiArXFVNe0rI6hq6DXJaiOWCZnleJcThn+eXU4Hu3dAesSbphcVsfULxdBns7NOq8uDCNb/S3HsiwWPv0kOv2xCw8//LDKvvaYRkCIMgooCSEOqyVzN21B07I6piitlvU+l9xvH9icsjq6Fq0YW/vyvXf/D42VoXDyCjD2R9HokQh/CPk8nM8pU2wT38tHfXUFxo0bh9mzZ4NlWaSnpyM9vxS82BVgeHy14wzs7IO4Ph3QV+QFf09nVNSKcfl2GT77Jx1X7lRoPb81pBEQoowCSkKIQ2up3E1bYGpZHQ4D8DgcBHm74I2x3XC3sh6/ns0DYFxZHUMWrRhT+/Kff/7B2rVr4TVqAZwemgBwuIrXRoS2gwufC7f7o51dfd0wPqI9ANm/h4+rAJ9N7Y29l/IVC3uig73x7OBgpBVUIj4lV3Y9Uglqb/4LlmXR2NiIr7/+GhwOB1KpFL5TV4KndE5lMwd0hJfQCd+dzEJ6URW8XfmYP7Qzdr8wGE9/ewanNBTXBwCxlG31NAJClFFASQghoG5WppbVAYBrK8ZB4CQLnDLvVmHa16eRX16neN2QsjrmWLQyOdIX9fX1aGhoQGFhIaZOnSr7Gc//BY9+sSrvf39yBAK9HgShE3sGYGJP2SjmkDWHUVHXiOKqBswbEoy2bgJwOMDtslpsPXkLmxIzUHu/Ww7D4aLy/J8qx5ZKpXDyCYJL8ENar/+dP66gpLpBZVvSjbtIWjICC2O6ag0ozd2dhxBT2fcdkhBCmsERu1mZUlZH7rHNJ8HnciDyEWLu4GDEz4/GU98kI72oCoD+sjrmWrTyn5d/QMWpX9T2aSzJRW3WObh07KUYpRzyUaLeYz+3/azO11mJGJL8a3ioSwC6jBmKkydPIjs7GwDg1mc8WKkEjJYRyqbBJADUNEiQXlQF/za68z7N3Z2HEFOYd9kbIYQQm2RKWR251DsVOJ9bhj8u3MH0r08DYPDfsWEq+xQVl2p8rzkXrXgNfxpuPUdrfK30702QSsSAyeHzA84CPk599hKSk5Px008/ITU1FYMHDwaXy4VLl35ag0lt3AU8RAS0QXphlc795GkEhFgDCigJIYSYvaxOdYMEN+9WIbitm8r2eXNmK0bvAKCqqgq/JxzD/+2+BFc+F0vHdcMPz/bH2bdG4daHE/DKSP3lcXYsGIBbH07ACvlIHcvCa/Rz4LXxU9tXXF6Ie4e+giwz1jya1iF1dXXF33//jX4Dh4Dn6W/88R6NgAufi42J6Xr3lacRENLaKKAkhBCCTj6uZgyxZGWGwtq741ZJtWIby7LIunwGPXr0wNixYxEcHAwPDw/855sjaBRLFHUvBVwODl4tNOg8Tw/siE4+rqobGQYMhwvvcQsBAE5OTjh+/DiqqqrQ0NCAigt/Y8mYULP8nNrqkLq5ueHz734Gwxj3r/rq6FDE9emA9/Zf1bnKW06eRkBIa6McSkIIIXAV8CDyFiK7ycIcfaugnTgc/Dg3Gnsu3kZWcQ3qGiXo3NYVcwYHg8/j4DOlrjrie/lgG+tQ0wgcPCirb6m8aMXQupdygZ4u+O/Ybnjtlwv4alY/ldcYLg8uwQ+B5xOIte+8jsGDB6u83hJ1SHl842pfvjwyBC89HIKPDlzHD6ey9b/hPnOkKxBiKgooCSGEAABiwnzxY3K2SnClbxV0UWU9ruVXYHqUCP6eLhDwOLhbWY/TWSV4bnsmMuQLcu6X1WlK36IVXVY9Fonj6cU4oGU0k5VKEP7oc1i0aJHG1y1dh9SYNIKXR4Zg8ahQrEu4gS+OZBr8PmPPQ4ilUEBJCCEEADAjWoStp26pbDNkFfSbu/X3RWc4XPz3sYEYvXoB0tLS8Mwzz0AqlTZr0QoATO0XhN6Bnhi1LknnOT26DdQ57WzJOqTyNAJ9Y5+LHu6KxaNCseFwusqIriGY++chpLVRQEkIIQSArBbn0K5tcfJmiVm65chxOQwGdfbB0rkTAAB9+/aFn58fYh97olmLVvw8BHjrke748K9rKKqs17lvbmmt3tqXgGXqkGpLI1A2b0gwXhsdhiNpRUi8XoQ+QZ4qr5/PLdN5DpGP0O5rpBLbQH+FhBBCFFbFRWLUuiSzBpQ8DoNVcZEq20aOHImtv+3H6/9oLiOkyweTI3EtvwI/3+9So4u+2peamLMOqaY0AmWjustWoo8I88WIMF+11zu9uV/rsbkcBjGh6u8hpDVQQEkIIUQhyFuIFbHhWLpL/zS2oZqW1ZHrGtoN+OekUccaH9Eew0Pb4YmvTsHDWfUR5sTlwMOZh5oGiaLTDtC6i1Y0pREom/b16WYfWyJlMXOA7oVLhLQUCigJIYSomBYlQnFVvVkKjWsrqwM0bzFJmJ87nLgc/P7CYLXXnuovwlP9RVjw478qZYdac9GKpdMIqO0isRYUUBJCCFHTEmV1DF20omzn2Tyc1tDfOn7BQBxILcB3J7KQVlip2G4Ni1ZaKo2AkNZEASUhhBCNLF1WR9OiFX11L/PKapFXVqvxeAUVdTidpZqTaQ2LVloyjYCQ1kIBJSGEEK0sWVYHUF+0oq/upbZgUhNrWrTSUmkEhLQWhmVZ843BE0IIsXvmKqsDAOmFlRi9/qiZr/CBhMXDrCrPMD4lx6JpBIS0FgooCSGEtKpZW5Ittmjlx7nRZjumueSW1hicRiDvIjS4iw+md2ExZnBf8Pn8FrxaQgxDASUhhJBWlVtag1HrklBvxvI+Ah4HCYuHW3Weob40gkAvZ6Qe+gXSG0lgKgpRVlaG/fv345FHHmmtSyZEKwooCSGEtLr4lByzLlpZ81ikTU0NK6cROHEY/PnL9/j2f18iLS1NZb/jx49j8GD1kkmEtDYKKAkhhFiFjYnpZlu0sjCmqxmuqHXk5uaiU6dOkErVR2yvXbuGbt26tcJVEaJb61V7JYQQQpS8GBOC1Y9FQsDjgMthjHovl8NAwONgzWORNh1MAkBQUBB27NgBLper9tqcOXNQXl7eCldFiG40QkkIIcSqGLNoRf760K5tDap9aUveeecdvPfee2rbo6Ojcfp081s2EmIJVIeSEEKIVbF07Utb0a5dO7VtLi4uGDRoEFiWBcMYN4pLiCVRQEkIIcQqhfi5Y3lsOJYj3Ky1L21Ffn4+AIBhGLAsC4FAgOLiYgiFQof89yDWjaa8CSGEECuUmpqKw4cP47HHHsM333yD1V9uxcuf78SpWxXIKdUwYustREyYL2ZEixDiZ38jtsS6UUBJCCGEWLHc0hq8/ut5nL5VBi4DSHQ8te05p5RYNwooCSGEECtlaqvGFbHhmGZD9TiJ7aKAkhBCCLFC5qrLuWRMKF6MCTHDFRGiHdWhJIQQQqxMfEqOWYJJAFh78AZ2pOSY5ViEaEMBJSGEEGJFcktr8O6eVLMe8509qcgtrTHrMQlRRlPehBBCiBWZtSUZJ2+WaMyZ7OHvgSVjwhDW3h0+rnzUNUpws7gaP5zKxu8Xbms9JpfDYFBnH/w4N9qSl04cGBWtIoQQQqxEemEljmUUa33dw5mH/PJa7Ll4B4UVdXDhczG5dwDWT+2NQC8XbEzM0Pg+iZTFsYxiZBRV2mUReNL6KKAkhBBCrMT25Byd7SZPZ5XidFapyrbD14sQ5CXE9P4irQElIBul3HY6B8tjw816zYQAlENJCCGEWI3EtCKjygPJldY06H2fRMoi8UZRcy+NEJ0ooCSEEEKsQFW9GDkGLpxhGNmIo7crHzMHdMSwkHbYnJSp9305JTWorhebeqmEqKEpb0IIIcQKZJdUw9CxyfcfjcCM6I4AgHqxBCv2puKnM/pLA7EAbpVUIzygTfMvlBANKKAkhBBCrECDWGrwvpsSMxCfkgsfNz5GdfPDitgIuPB5+PrYTbOehxBDUUBJCCGEWAE+z/AstDvldbhTXgcAOJJ2FwDw37Fh+O1cHkqrG8x2HkIMRX9VhBBCiBXo5OMKppnvvZhXBicuByJvoc79mPvnIcTcKKAkhBBCrICrgKc3INRmQGcfSKSs3kU9Ih8hXAU0OUnMj/6qCCGEECsRE+aLH5OztZYAWhUXiao6MS7mlaG4qh5eQj4mRPpjUq8AbE7K1DndzeUwiAn1tdSlEwdHrRcJIYQQK5FeWInR649qff2JvoGY0jcQXdu5wcPFCTUNElzLr0B8Sq7O1otyCYuHUaccYhEUUBJCCCFWRFcv7+aiXt7E0iiHkhBCCLEiq+IiweM0d3mOZjwOg1VxkWY9JiHKKKAkhBBCrEiQtxArzNxve2VsOIKaueCHEENQQEkIIYRYmWlRIiwZE2qWY70+JgxTo0RmORYh2lAOJSGEEGKl4lNy8O6eVIilrHE5lawUTlwO3p8cScEkaRE0QkkIIYRYqWlRIiQsHo5BnX0AyBbX6MJKJQCA2lsXEMu7SMEkaTFUh5IQQgixYkHeQvw4NxrphZXYnpyDxBtFyCmpgfJ4JcuyEN/LR+3Nf1F5/k9ISm+j66ZNrXbNxPHQlDchhBBiY6rrxbhVUo0GsRT/t2wp/vrlB7CNdSr77Ny5E48//ngrXSFxNDTlTQghhNgYVwEP4QFt0EfkhT+2bsLcZ2aq7XPw4EHQmBFpKTRCSQghhNg4lmUxZ84cfP/99yrbX3jhBWzYsAFcLreVrow4ChqhJIQQQmwcwzAYP3682vYvvvgCc+bMaYUrIo6GFuUQQgghdqCoqAgcDgdSqRQAFP9dVdeI1DvlaBBLwedx0MnHFa4CevwT86K/KEIIIcQOFBUVKYJJfruOCBk/Bx5hA3G+shETPj+u2I8BIPIWIibMFzOiRQjxc2+lKyb2hHIoCSGEEDuwb98+bNwaD+lDT+JGJRdcDqOzGLr89aFd22JVXCS1ZiQmoRxKQgghxA5U+fVEVvcZyKyWTT7q66wjf/3kzRKMWpeE+JQci18jsV80QkkIIYTYuI2J6Vh78IbJx1kyJhQvxoSY4YqIo6ERSkIIIcSGxafkmCWYBIC1B29gB41UkmaggJIQQgixUbmlNXh3T6rB+0/tF4RbH05A6vKxWvd5Z08qcktrzHF5xIFQQEkIIYTYqGW7L0OsJ1dSzs9DgLce6Y6C8jqd+4mlLJbtvmyOyyMOhAJKQgghxAalF1biWEax3sU3ch9MjkRyVimOZ9zVuZ9EyuJYRjEyiirNcZnEQVBASQghhNig7ck54HIYg/ad3LsDooO98fYfVwzan8thsO005VISw1FASQghhNigxLQig0YnfVz5eGdiD6w5kIaCCt3T3XISKYvEG0WmXiJxIBRQEkIIITamql6MHAMXzrz3aARu3q3CttPZRp0jp6QG1fXi5lwecUAUUBJCCCE2JrukGoZkTo4Lb4+R3X2xtBmLbFgAt0qqjX4fcUzUy5sQQgixMQ1iqd59hHwu3ns0HN+fzEZRRR08nGWPfCeubCzJw5mHRgmL2kaJSechBKCAkhBCCLE5fJ7+CUZvIR/t3J2xYFhnLBjWWe31S++OxcHUAizYdtak8xACUEBJCCGE2JxOPq5gAJ3T3ner6jHtf6fUtj8/oguig30w+7szKK1p0Pp+5v55CDEEBZSEEEKIjXEV8CDyFiJbx8KcerEUp7NK1bZP6RsIiZTV+JoykY8QrgIKE4hhaCybEEIIsUExYb4G16E0FpfDICbU1yLHJvaJYVnWsBL7hBBCCLEa6YWVGL3+qMWOn7B4GLr6ulvs+MS+0AglIYQQYoNC/NwxtGtbs49ScjkMhnZtS8EkMQoFlIQQQoiNWhUXCZ6ZA0oeh8GquEizHpPYPwooCSGEEBsV5C3Eithwsx5zZWw4gryFZj0msX8UUBJCCCE2bFqUCEvGhJp0DPlyitfHhGFqlMgcl0UcDC3KIYQQQuxAfEoO3t2TCrGUhURq+KOdlYjBSiVYERuOOcPCLHiFxJ5RQEkIIYTYidzSGizbfRnHMorB5TA6A0tWKgHD4aI26xxK/96E2uI88HhUd5I0DwWUhBBCiJ1JL6zE9uQcJN4oQk5JjVpHHUlZPmoyz6Li3D6IS2SBZGNjY6tcK7EPFFASQgghdqy6XoxbJdVoEEvB53HQyccVuVkZGD9+PG7duqXY76233sLKlSvB4dDyCmI8CigJIYQQB1RQUAB/f3+VbZMnT8a2bdvg6ko9vIlxKKAkhBBCHFBJSQnatm2rso3D4aBHjx745+hx3K2Fyqgm9fUmulBASQghhDig7OxsdOrUSfH/Tm1FcOs9Du5hA8Bx91XJu2QAiLyFiAnzxYxoEUL8qIsOUUUBJSGEEOKArly5gsjISPA828N77AtwCX4IHLCQQnvnHfnK8aFd22JVXCQVQCcKFFASQgghDigvLw99piyE2/BnwXB5MKJ0JbgcBjwOgxWx4ZhGhdAJqFMOIYQQ4pB+T6+Fa8wCsBzjgkkAkEhZ1IulWLrrMjYmplvmAolNoYCSEEIIcTDxKTlYe/CGWY619uAN7EjJMcuxiO2iKW9CCCHEgeSW1mDUuiTUi6Vqrw0I9kb8goEa3xf3xQmczy3T+JqAx0HC4uGUU+nAqAYAIYQQ4kCW7b4MsZ457o/+vo5TN0tUtqUVVmrdXyxlsWz3Zfw4N9os10hsDwWUhBBCiINIL6zEsYxivftllVRrHY3URCJlcSyjGBlFlejqSyWFHBHlUBJCCCEOYntyDrgc7WWBTMHlMNh2mnIpHRUFlIQQQoiDSEwrgsSAJd0rYyOQ8f54XH53DH6Y0x/9OnrpfY9EyiLxRpE5LpPYIJryJoQQQhxAVb0YOaU1OveprBPj2xNZOH2zBPdqGtDJxxULhnZG/PwBePb7FBxN1z1dnlNSg+p6MbVpdEC0ypsQQghxAKl3yjHh8+NGv8/DmYe/Xx6G8tpGjN9wTO/++xcNQXhAm+ZcIrFhNOVNCCGEOIAGDWWCDFFRJ8bh60Xo7u8BAU9/2NDc8xDbRgElIYQQ4gD4BgSD2jBGrOMx5TzEdtFvnRBCCHEAnXxc0Zz13R7OPDzczRepd8o1FkNXxtw/D3E8lDVLCCGEOABXAQ8ibyGydSzM+Wxqb9wpq8Wl2+W4V92ATm1dMX9IZ7R1E2DJrxf1nkPkI6QFOQ6KfuuEEEKIg4gJ88WPydlaSwddL6jExJ7+mBHdEUI+F2W1jfj31j0s/vUCLuWV6zw2l8MgJtTXEpdNbACt8iaEEEIcRHphJUavP2qx4ycsHkadchwU5VASQgghDiLEzx1Du7Y1e7ccLofB0K5tKZh0YBRQEkIIIQ5kVVwkeGYOKHkcBqviIs16TGJbKKAkhBBCHEiQtxArYsPNesyVseEI8haa9ZjEtlBASQghhDiYaVEiLBkTauJRZEswXh8ThqlRItMvitg0WpRDCCGEOKj4lBy8uycVYimrdeW3JqxEDD6Pi/fjelIwSQDQCCUhhBDisKZFiZCweDgGdfYBAL2LdVipBABQl3MJ/9eXoWCSKNAIJSGEEEKQXliJ7ck5SLxRhJySGigHBwwAZ3EVCi8cRuX5PyEuycP8+fPx1VdfgTGmLyOxWxRQEkIIIURFdb0Yt0qq0SCWgs/joJOPK1wFPCxduhRr1qxR7BcXF4etW7eCKxBq3J84DgooCSGEEGKQI0eOICYmBgDg5BME94cmwD0sGnBrp7IfA0DkLURMmC9mRIsQ4kf1Ke0dBZSEEEIIMUhCQgLGT5kJ73EL4RL8EFipBAyHq3V/LoeBRMpiaNe2WBUXSaWF7BgFlIQQQggxyP999yd+SK0Dw+GC4Ro+pc3lMOBxGKyIDcc0Wshjl2iVNyGEEEL02piYjm03WDA8vlHBJABIpCzqxVIs3XUZGxPTLXSFpDVRQEkIIYQQneJTcrD24A0AMHlV99qDN7AjJcccl0WsCAWUhBBCCNEqt7QG7+5JNesx39mTitzSGrMek7QuyqEkhBBCiFaztiTj5M0SnZ10+nX0wsKYrnhI5AUBj4P88jrsOp+Hzw9naNyfy2EwqLMPfpwbbanLJi2MikQRQgghRKP0wkocyyjWuU9srwCse7I39l++g1d/uYCaBglE3kL4eQi0vkciZXEsoxgZRZXo6kslhewBBZSEEEII0Wh7co6i9I8mfh4CfBgXiZ/O5ODtP64otp+6WaL32FwOg22nc7A8Ntxs10taD+VQEkIIIUSjxLQinVPd06JEcBXwsDkp0+hjS6QsEm8UmXJ5xIrQCCUhhBBC1FTVi5GjZ+FM/07euFfTgC7tXPH1rL4I9XNHWW0jDqQW4MO/rqOqXqzz/TklNaiuF1ObRjtAI5SEEEIIUZNdUg19q3bbezjDxYmLTU89hH2X8jFzSzL+d/QmHusTiO9mR+k9BwvgVkm1Wa6XtC76SkAIIYQQNQ1iqd59GA7g7MTFZ/+k48v7096ns0rRKJHi3UnhGNzFBycydedTGnIeYv1ohJIQQgghavg8/SFCWU0jAODojbsq24/c//+IDm3Mch5i/ei3SAghhBA1nXxcoa8nzvX8Co3b5e/TsZ5HsV8nH1djL41YIQooCSGEEKLGVcCDyFuoc5+/UgsAAMPD2qlsjwnzBQCcz7mn8/0iHyEtyLET9FskhBBCiEYxYb74MTlba+mgY+nFOHS1EC8/HAIOw+B8zj30DPTEyyNDkHCtEP9maw8ouRwGMaG+lrp00sKo9SIhhBBCNEovrMTo9Ud17iPgcfDKyBDE9u4AX3cBCivq8MeFO/jsn3Q0SHQvuElYPIw65dgJCigJIYQQopUhvbyNRb287Q/lUBJCCCFEq1VxkeBx9C3PMQ6Pw2BVXKRZj0laFwWUhBBCCNEqyFuIFWbut70yNhxBehb8ENtCASUhhBBCdJoWJcKSMaFmOdbrY8IwNUpklmMR60E5lIQQQggxSHxKDt7dkwqxlDUqp5LLYcDjMFgZG07BpJ2igJIQQgghBsstrcGy3ZdxLKMYXA6jM7CUvz60a1usioukaW47RgElIYQQQoyWXliJ7ck5SLxRhJySGigHEwxkRctjQn0xc4CISgM5AAooCSGEEGKS6noxbpVUo0EsBZ/HQScfV+qA42AooCSEEEIIISahVd6EEEIIIcQkFFASQgghhBCTUEBJCCGEEEJMQgElIYQQQggxCQWUhBBCCCHEJBRQEkIIIYQQk1BASQghhBBCTEIBJSGEEEIIMQkFlIQQQgghxCQUUBJCCCGEEJNQQEkIIYQQQkxCASUhhBBCCDEJBZSEEEIIIcQkFFASQgghhBCTUEBJCCGEEEJMQgElIYQQQggxCQWUhBBCCCHEJBRQEkIIIYQQk1BASQghhBBCTEIBJSGEEEIIMQkFlIQQQgghxCQUUBJCCCGEEJNQQEkIIYQQQkxCASUhhBBCCDEJBZSEEEIIIcQkFFASQgghhBCTUEBJCCGEEEJMQgElIYQQQggxCQWUhBBCCCHEJBRQEkIIIYQQk1BASQghhBBCTEIBJSGEEEIIMQkFlIQQQgghxCQUUBJCCCGEEJNQQEkIIYQQQkxCASUhhBBCCDEJBZSEEEIIIcQk/w/SM4adLXV0RQAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import networkx as nx\n", - "# access and visualize the device topology\n", - "print(aspen_m.properties.paradigm.connectivity.connectivityGraph)\n", - "nx.draw_kamada_kawai(aspen_m.topology_graph, with_labels=True, font_color=\"white\")" - ] - }, - { - "cell_type": "markdown", - "id": "9fa09f83a0747394", - "metadata": {}, - "source": [ - "Now we can submit a quantum task of the above program with verbatim box." - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "id": "b5e7c89c1c9f8879", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:56.299544Z", - "start_time": "2023-11-21T08:32:56.297194Z" - }, - "scrolled": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "DECLARE ro BIT[2]\n", - "PRAGMA INITIAL_REWIRING \"NAIVE\"\n", - "RESET\n", - "RX(pi) 0\n", - "RX(pi) 0\n", - "CZ 0 1\n", - "MEASURE 1 ro[1]\n", - "MEASURE 0 ro[0]\n" - ] - } - ], - "source": [ - "verbatim_task = aspen_m.run(OpenQASMProgram(source=program_with_verbatim_box), shots = 10)\n", - "verbatim_result = verbatim_task.result()\n", - "meta = verbatim_result.additional_metadata.rigettiMetadata\n", - "print(meta.compiledProgram)" - ] - }, - { - "cell_type": "markdown", - "id": "bcd27bc239db889d", - "metadata": {}, - "source": [ - "As shown above, the two consecutive `rx` $\\pi$-rotation gates did not get optimized and we confirm that our program was indeed executed verbatim." - ] - }, - { - "cell_type": "markdown", - "id": "b4768a96f7b1b3b6", - "metadata": {}, - "source": [ - "## Requesting Result Types with OpenQASM\n", - "\n", - "Braket provides [a rich library of result types](https://docs.aws.amazon.com/braket/latest/developerguide/braket-result-types.html) for circuit executions. With OpenQASM, requesting different result types for our quantum tasks is easier than ever using the `result` pragma. Next, we give an example of requesting result types for our Bell state program submitted to SV1. Before doing that, let's see what result types are supported on SV1:" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "id": "b17d21060cda7fa7", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:56.304110Z", - "start_time": "2023-11-21T08:32:56.300283Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "name='Sample' observables=['x', 'y', 'z', 'h', 'i', 'hermitian'] minShots=1 maxShots=100000\n", - "name='Expectation' observables=['x', 'y', 'z', 'h', 'i', 'hermitian'] minShots=0 maxShots=100000\n", - "name='Variance' observables=['x', 'y', 'z', 'h', 'i', 'hermitian'] minShots=0 maxShots=100000\n", - "name='Probability' observables=None minShots=1 maxShots=100000\n", - "name='Amplitude' observables=None minShots=0 maxShots=0\n", - "name='AdjointGradient' observables=['x', 'y', 'z', 'h', 'i'] minShots=0 maxShots=0\n" - ] - } - ], - "source": [ - "# print the result types supported by SV1\n", - "for iter in sv1.properties.action['braket.ir.openqasm.program'].supportedResultTypes:\n", - " print(iter)" - ] - }, - { - "cell_type": "markdown", - "id": "bbc02495939691c9", - "metadata": {}, - "source": [ - "With knowing the supported result types on SV1, we choose to request the `Expectation` of $X \\otimes Z$ observable on `q[0]` and `q[1]` and the `Amplitude` result type for a `shots=0` quantum task of our bell program:" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "id": "6e3b521b7356b4bd", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:56.305634Z", - "start_time": "2023-11-21T08:32:56.302835Z" - } - }, - "outputs": [], - "source": [ - "bell_with_result_type = \"\"\"\n", - "OPENQASM 3;\n", - "\n", - "qubit[2] q;\n", - "\n", - "#pragma braket result expectation x(q[0]) @ z(q[1])\n", - "#pragma braket result amplitude \"00\", \"11\"\n", - "h q[0];\n", - "cnot q[0], q[1];\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "id": "6435b34ab2525039", - "metadata": {}, - "source": [ - "The location of the `result` pragma is very flexible as long as it's after the qubit register definition (if you use physical qubits, you can put `result` pragmas anywhere after the program header).\n", - "\n", - "We can submit the above program and receive the results for our requested result types." - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "id": "a42b0ebc71b59136", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:59.113501Z", - "start_time": "2023-11-21T08:32:56.306452Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[0.0, {'00': (0.7071067811865475+0j), '11': (0.7071067811865475+0j)}]\n" - ] - } - ], - "source": [ - "bell_result_types_task = sv1.run(OpenQASMProgram(source=bell_with_result_type), shots = 0)\n", - "bell_result = bell_result_types_task.result()\n", - "values = bell_result.values\n", - "print(values)" - ] - }, - { - "cell_type": "markdown", - "id": "38675f5678613895", - "metadata": {}, - "source": [ - "At last, we want to remind our Braket OpenQASM users that there are two requirements when requesting result types:\n", - "1. For `shots=0` quantum tasks, requesting non-simultaneously measurable result types is allowed, but for `shots>0` quantum tasks, it is not allowed. For example, we can write the following OpenQASM program in a `shots=0` quantum task but not in a `shots>0` quantum task, since the two result types are not simultaneously measurable:" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "id": "45277f89209faec7", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:59.115339Z", - "start_time": "2023-11-21T08:32:59.112696Z" - } - }, - "outputs": [], - "source": [ - "program_with_non_simultaneously_measurable_result_types = \"\"\"\n", - "OPENQASM 3;\n", - "\n", - "qubit[2] q;\n", - "\n", - "h q[0];\n", - "cnot q[0], q[1];\n", - "\n", - "#pragma braket result expectation x(q[0]) @ z(q[1])\n", - "#pragma braket result expectation hermitian([[0, -1im], [1im, 0]]) q[0]\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "id": "a9af8819fba31a90", - "metadata": {}, - "source": [ - "2. Do not use measurement instructions and request result types in the same OpenQASM program, otherwise a validation error will be raised. Since measurement instructions are basically equivalent to `#pragma braket result sample z(qubit)`, we encourage users to adapt a consistent style of requesting result types in the same program." - ] - }, - { - "cell_type": "markdown", - "id": "db79ad324a5f6478", - "metadata": { - "collapsed": false - }, - "source": [ - "Circuits constructed with `from_ir` will have the correct result types:" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "id": "f3c438da3a351153", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:59.127212Z", - "start_time": "2023-11-21T08:32:59.124909Z" - }, - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "bell_with_result_type:\n", - "T : |0|1| Result Types |\n", - " \n", - "q0 : -H-C-Expectation(X@Z)-\n", - " | | \n", - "q1 : ---X-Expectation(X@Z)-\n", - "\n", - "T : |0|1| Result Types |\n", - "\n", - "Additional result types: Amplitude(00,11)\n" - ] - } - ], - "source": [ - "print(\"bell_with_result_type:\")\n", - "print(Circuit.from_ir(bell_with_result_type))" - ] - }, - { - "cell_type": "markdown", - "id": "c371de3097c0598a", - "metadata": { - "collapsed": false - }, - "source": [ - "## Advanced OpenQASM features\n", - "\n", - "OpenQASM has features beyond what is natively supported by the `Circuit` class. You can run OpenQASM tasks directly on the Local Simulator or use Circuit.from_ir to convert an OpenQASM program to a Circuit object, which is supported by all circuit-based Braket devices. The following OpenQASM program is a GHZ state written with classical control flow and subroutines:\n" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "id": "5acb72003cd0a0f5", - "metadata": { - "ExecuteTime": { - "end_time": "2023-12-04T04:04:08.355878Z", - "start_time": "2023-12-04T04:04:08.353679Z" - }, - "collapsed": false - }, - "outputs": [], - "source": [ - "ghz_with_advanced_features = \"\"\"\n", - "OPENQASM 3.0;\n", - "\n", - "def ghz(int[32] n) {\n", - " h q[0];\n", - " for int i in [0:n - 1] {\n", - " cnot q[i], q[i + 1];\n", - " }\n", - "}\n", - "\n", - "int[32] n = 5;\n", - "bit[n + 1] c;\n", - "qubit[n + 1] q;\n", - "\n", - "ghz(n);\n", - "\n", - "c = measure q;\n", - "\"\"\"\n", - "qasm_program = OpenQASMProgram(source=ghz_with_advanced_features)" - ] - }, - { - "cell_type": "markdown", - "id": "f5d32bd10c64543", - "metadata": { - "collapsed": false - }, - "source": [ - "The local simulator supports these features:" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "id": "c82bee530da348f6", - "metadata": { - "ExecuteTime": { - "end_time": "2023-12-04T04:04:13.932270Z", - "start_time": "2023-12-04T04:04:13.863203Z" - }, - "collapsed": false - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "This program uses OpenQASM language features that may not be supported on QPUs or on-demand simulators.\n" - ] - }, - { - "data": { - "text/plain": [ - "Counter({'000000': 480, '111111': 520})" - ] - }, - "execution_count": 36, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from braket.devices import LocalSimulator\n", - "LocalSimulator().run(qasm_program, shots=1000).result().measurement_counts" - ] - }, - { - "cell_type": "markdown", - "id": "96fca192b4f51797", - "metadata": { - "collapsed": false - }, - "source": [ - "but SV1 does not. However, `from_ir` will \"unroll\" the subroutine and loop to create a `Circuit` object that _can_ run on SV1:" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "id": "b0886dfc74978bfa", - "metadata": { - "ExecuteTime": { - "end_time": "2023-12-04T04:04:19.974386Z", - "start_time": "2023-12-04T04:04:16.705969Z" - }, - "collapsed": false - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "This program uses OpenQASM language features that may not be supported on QPUs or on-demand simulators.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "T : |0|1|2|3|4|5|\n", - " \n", - "q0 : -H-C---------\n", - " | \n", - "q1 : ---X-C-------\n", - " | \n", - "q2 : -----X-C-----\n", - " | \n", - "q3 : -------X-C---\n", - " | \n", - "q4 : ---------X-C-\n", - " | \n", - "q5 : -----------X-\n", - "\n", - "T : |0|1|2|3|4|5|\n", - "Counter({'000000': 503, '111111': 497})\n" - ] - } - ], - "source": [ - "circuit = Circuit.from_ir(qasm_program)\n", - "print(circuit)\n", - "print(sv1.run(circuit, shots=1000).result().measurement_counts)" - ] - }, - { - "cell_type": "markdown", - "id": "a329fa3df47ffee4", - "metadata": { - "collapsed": false - }, - "source": [ - "For an in-depth exploration of advanced OpenQASM features, see [Simulating Advanced OpenQASM Programs with the Local Simulator](https://github.com/amazon-braket/amazon-braket-examples/blob/main/examples/braket_features/Simulating_Advanced_OpenQASM_Programs_with_the_Local_Simulator.ipynb)." - ] - }, - { - "cell_type": "markdown", - "id": "9e4c7a48a2b83ce1", - "metadata": {}, - "source": [ - "# Conclusion\n", - "\n", - "In this notebook, you learned how to submit OpenQASM quantum tasks and use OpenQASM features on Braket. Hope you enjoyed it! You can find more information about OpenQASM3.0 in its [live specification](https://openqasm.com/), and you can learn more about OpenQASM support on Braket in the [Amazon Braket documentation](https://docs.aws.amazon.com/braket/latest/developerguide/)." - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "id": "3f5bc3dfad520f14", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-21T08:32:59.624204Z", - "start_time": "2023-11-21T08:32:59.127772Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Quantum Task Summary\n", - "{'arn:aws:braket:::device/quantum-simulator/amazon/sv1': {'shots': 120, 'tasks': {'CREATED': 1, 'COMPLETED': 3}, 'execution_duration': datetime.timedelta(microseconds=20000), 'billed_execution_duration': datetime.timedelta(seconds=9)}, 'arn:aws:braket:::device/quantum-simulator/amazon/dm1': {'shots': 30, 'tasks': {'COMPLETED': 3}, 'execution_duration': datetime.timedelta(microseconds=12000), 'billed_execution_duration': datetime.timedelta(seconds=9)}}\n", - "Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\n", - "Estimated cost to run this example: 0.02 USD\n" - ] - } - ], - "source": [ - "print(\"Quantum Task Summary\")\n", - "print(t.quantum_tasks_statistics())\n", - "print('Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).')\n", - "print(f\"Estimated cost to run this example: {t.qpu_tasks_cost() + t.simulator_tasks_cost():.2f} USD\")" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.6" - } - }, - "nbformat": 4, - "nbformat_minor": 5 + "nbformat": 4, + "nbformat_minor": 5 } diff --git a/examples/braket_features/Noise_models/Noise_models_on_Rigetti.ipynb b/examples/braket_features/Noise_models/Noise_models_on_Rigetti.ipynb index 0df61d783..5b00a60a7 100644 --- a/examples/braket_features/Noise_models/Noise_models_on_Rigetti.ipynb +++ b/examples/braket_features/Noise_models/Noise_models_on_Rigetti.ipynb @@ -1,1053 +1,997 @@ { - "cells": [ - { - "cell_type": "markdown", - "id": "74154c03-d48f-4f41-867b-5e30254ce31a", - "metadata": {}, - "source": [ - "# Noise models on Rigetti\n", - "\n", - "This notebook shows how to construct a noise model from device calibration data for Rigetti Aspen-M-3. We compare the measurement outcomes of circuits run on a noisy simulator with the same circuits run on quantum processing units (QPUs), to show that simulating circuits with noise models more closely mimics QPUs.\n", - "\n", - "**Before you begin**: We recommend being familiar with [Noise models on Amazon Braket.](https://github.com/amazon-braket/amazon-braket-examples/blob/main/examples/braket_features/Noise_models/Noise_models_on_Amazon_Braket.ipynb)\n", - "Additionally, users should be familiar with [Running quantum circuits on QPU devices](https://github.com/amazon-braket/amazon-braket-examples/blob/main/examples/getting_started/2_Running_quantum_circuits_on_QPU_devices/2_Running_quantum_circuits_on_QPU_devices.ipynb). \n", - "\n", - "### Table of Contents\n", - "\n", - "- Noise model for Rigetti\n", - " - Loading device calibration data\n", - " - Comparing noisy simulator results to QPU results\n", - " - Smaller noise models compared to QPU results" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "e5e15fcd-55a2-4168-acc6-a38100f94511", - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np\n", - "import pandas as pd\n", - "from braket.aws import AwsDevice\n", - "from braket.circuits import Circuit, Gate\n", - "from braket.circuits.noise_model import GateCriteria, NoiseModel, ObservableCriteria\n", - "from braket.circuits.noises import AmplitudeDamping, BitFlip, Depolarizing, PhaseDamping, TwoQubitDepolarizing\n", - "from braket.devices import Devices, LocalSimulator" - ] - }, - { - "cell_type": "markdown", - "id": "d4da3e37-e93c-4273-98bc-d67b26b8c822", - "metadata": {}, - "source": [ - "Braket provides access to hardware providers' reported calibration data. \n", - "This can be used to construct noise models to approximate the behavior of the QPU when running circuits on a noisy simulator.\n", - "In this tutorial, we focus on local noise models with no crosstalk interactions. Real devices can have crosstalk and unexpected effects that can further degrade the results.\n", - "\n", - "The Aspen-M-3 calibration data is available on the Braket devices page. Under qubit specs, the calibration data include the qubit index, with corresponding values for the $T_1$, $T_2$, fidelity from randomized benchmarking (fRB), fidelity from simultaneous randomized benchmarking (fsRB), readout fidelity (fRO), and active reset fidelity.\n", - "Under \"edge specs\", the data includes the RB fidelity for C-Phase, XY, and CZ gates for each connected edge in the device topology." - ] - }, - { - "cell_type": "markdown", - "id": "38001b96-faf7-49f0-b5a5-2d52820fcfc9", - "metadata": {}, - "source": [ - "**One-qubit calibration data (Qubit specs)**\n", - "
\n", - "\n", - "\n", - "**Two-qubit calibration data (Edge specs)**\n", - "
" - ] - }, - { - "cell_type": "markdown", - "id": "276d680f-887d-4929-bcaa-e276a6303496", - "metadata": {}, - "source": [ - "We can programmatically access all the calibration data with the Braket SDK. First we load the AwsDevice using the ARN for Rigetti Aspen-M-3." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "a55ea9d5-05f3-4da5-a305-a391e914d012", - "metadata": {}, - "outputs": [], - "source": [ - "aspen_m = AwsDevice(Devices.Rigetti.AspenM3)" - ] - }, - { - "cell_type": "markdown", - "id": "a8a42ae1-51ac-4bf1-bd6a-81ffd982b5f8", - "metadata": {}, - "source": [ - "The properties dictionary contains keys \"provider\" and \"specs\", with \"1Q\" and \"2Q\" keys for the one- and two-qubit calibration data. " - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "153b5b63-8205-4a7e-bb18-0305ef428f36", - "metadata": {}, - "outputs": [], - "source": [ - "aspen_m_specs = aspen_m.properties.dict()[\"provider\"][\"specs\"]\n", - "\n", - "one_qubit_data = aspen_m_specs[\"1Q\"]\n", - "two_qubit_data = aspen_m_specs[\"2Q\"]" - ] - }, - { - "cell_type": "markdown", - "id": "661cca17-01fa-40be-bd3e-741bacc74ce4", - "metadata": {}, - "source": [ - "The keys of the \"1Q\" dictionary is the qubit number. \n", - "For Aspen-M-3, there are 79 qubits indexed by the first digit representing the octagon (0 to 4, and 10 to 14)\n", - "and the second representing the qubit in that octagon (0 to 7). We can get all qubit indices with `one_qubit_data.keys()` or with `aspen_m.topology_graph.nodes`.\n", - "\n", - "The keys of the \"2Q\" dictionary are the connected qubit pairs separated by a hyphen. \n", - "For example, if qubit 0 and 1 are connected the key is \"0-1\".\n", - "\n", - "\n", - "#### One-qubit noise \n", - "\n", - "Let's look at the one qubit calibration data for qubit 0." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "8d4ecc35-f4dc-49d8-b6ff-adaee560ac4b", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'T1': 2.4443429874176914e-05,\n", - " 'T2': 1.627681336532139e-05,\n", - " 'f1QRB': 0.9985669301541129,\n", - " 'f1QRB_std_err': 0.0004092835114091019,\n", - " 'f1Q_simultaneous_RB': 0.9977676229871197,\n", - " 'f1Q_simultaneous_RB_std_err': 0.00021522363993495725,\n", - " 'fActiveReset': 0.9905000000000002,\n", - " 'fRO': 0.9795}" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "one_qubit_data[\"0\"]" - ] - }, - { - "cell_type": "markdown", - "id": "4b676762-e642-4a98-89e3-86d79367071a", - "metadata": {}, - "source": [ - "For each qubit, there are various metrics of the quality:\n", - "\n", - "- **T1**: Thermal relaxation time is related to the time it takes for the excited state, |1⟩, to decay into the ground state, |0⟩. The probability of remaining in the excited state is $p(|1⟩)\\sim e^{-t/T_1}$\n", - "\n", - "- **T2**: The dephasing time, is the decay constant for the scale for a |+⟩ state to decohere into the completely mixed state. $p(|+⟩)\\sim e^{-t/T_2}$ \n", - "\n", - "- **Fidelity (RB)**: Single-qubit randomized benchmarking fidelities. RB fidelity quantifies the average gate fidelity where the average is over all Clifford gates. RB describes an *effective* noise model with gate-independent depolarizing noise on each Clifford gate.\n", - "\n", - "- **Fidelity (sRB)**: Single-qubit simultaneous randomized benchmarking fidelities. These are extracted by running single-qubit RB on all qubits simultaneously. Note that we expect the sRB fidelity to be lower than standard RB fidelity due to non-local crosstalk type noise on the device. \n", - "\n", - "- **Active reset fidelity**: Single-qubit active reset fidelities represents the accuracy to which qubits are reinitalized into the ground state |0⟩.\n", - "\n", - "- **Readout fidelity**: Single-qubit readout fidelities describes the probability of a bit flip error before readout in the computational basis. The readout fidelity is related to the probability of correctly measuring the ground state and excited states respectively, e.g. $f_{RO} =\\frac{p(0|0)+p(1|1)}{2}$" - ] - }, - { - "cell_type": "markdown", - "id": "296708a3-771e-42b4-9ba8-f3db1a02970b", - "metadata": {}, - "source": [ - "Now that we know how to extract and use the calibration data, we can build a simple noise model. For every qubit we will add:\n", - "- amplitude dampening noise with probability $p= 1-e^{-t/T_1}$ for every gate\n", - "- phase dampening noise with probability $p= 0.5(1-e^{-t/T_2})$ for every gate\n", - "- depolarizing noise with probability $p=1-f_{sRB}$ (from simultaneous RB fidelity) for every gate\n", - "- readout bit flip noise with probability $p=1-f_{RO}$ to measurements \n", - "\n", - "Technically, the sRB fidelity already includes effects from $T_1$/$T_2$, however to be explicit we add these as separate terms. In a sense, this model might overestimate the noise on the QPU. \n", - "\n", - "For the dampening noises, we first need the gate times to model $T_1$ and $T_2$ errors.\n", - "From the Braket Aspen-M-3 device page: \"These gates offer fast (40ns and 180ns) 1Q and 2Q gate times.\"" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "cd27adfb-f7d6-4583-b854-794e38152c90", - "metadata": {}, - "outputs": [], - "source": [ - "# median 1q and 2q gate times\n", - "gate_time_1_qubit = 40e-9\n", - "gate_time_2_qubit = 240e-09" - ] - }, - { - "cell_type": "markdown", - "id": "5769f2f4-de1c-4b47-9e4e-fd8d39b9e975", - "metadata": {}, - "source": [ - "To create the noise model, we iterate over all qubits keys in `one_qubit_data`" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "508070bc-b1d2-4737-a2fc-d7711e419996", - "metadata": {}, - "outputs": [], - "source": [ - "noise_model = NoiseModel()\n", - "\n", - "# Single-qubit noise\n", - "for q, data in one_qubit_data.items(): # iterate over qubits\n", - "\n", - " # T1 dampening\n", - " t1 = data[\"T1\"]\n", - " damping_prob = 1 - np.exp(-(gate_time_1_qubit / t1))\n", - " noise_model.add_noise(AmplitudeDamping(damping_prob), GateCriteria(qubits=int(q)))\n", - "\n", - " # T2 phase flip\n", - " t2 = data[\"T2\"]\n", - " dephasing_prob = 0.5 * (1 - np.exp(-(gate_time_1_qubit / t2)))\n", - " noise_model.add_noise(PhaseDamping(dephasing_prob), GateCriteria(qubits=int(q)))\n", - "\n", - " # 1q RB depolarizing rate from simultaneous RB\n", - " depolar_rate = 1 - data[\"f1Q_simultaneous_RB\"]\n", - " noise_model.add_noise(Depolarizing(depolar_rate), GateCriteria(qubits=int(q)))\n", - "\n", - " # 1q RB readout\n", - " readout_value = 1 - data[\"fRO\"]\n", - " noise_model.add_noise(BitFlip(readout_value), ObservableCriteria(qubits=int(q)))" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "9d20d24c-17e2-4bba-b317-fb2d156bedb0", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Number of terms in noise model is: 320\n", - "Number of parameters in noise model is: 320\n" - ] - } - ], - "source": [ - "num_params = sum(len(item.noise.parameters) for item in noise_model.instructions)\n", - "print(f\"Number of terms in noise model is: {len(noise_model.instructions)}\")\n", - "print(f\"Number of parameters in noise model is: {num_params}\")" - ] - }, - { - "cell_type": "markdown", - "id": "790c62f7-776a-4e4c-9405-7b7a14eee5b0", - "metadata": {}, - "source": [ - "#### Two-qubit noise \n", - "Next we consider adding two-qubit noise to the model. \n", - "\n", - "Let's first look at the data provided in the Aspen-M-3 device calibration data. On the first connect, \"0-1\", the properties are:" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "626cbe56-3649-48eb-a2a1-f669eb790b47", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'fCPHASE': 0.8991973184700036,\n", - " 'fCPHASE_std_err': 0.019391126441846068,\n", - " 'fCZ': 0.9406104552003762,\n", - " 'fCZ_std_err': 0.011069113247524152,\n", - " 'fXY': 0.8365560014004874,\n", - " 'fXY_std_err': 0.014585224789608713}" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "two_qubit_data[\"0-1\"]" - ] - }, - { - "cell_type": "markdown", - "id": "4bcd3be4-a6e4-4cf3-841e-1a451e01803a", - "metadata": {}, - "source": [ - "Here, we see the fidelity per gate (CPhase, CZ, or XY) and the associated standard error. \n", - "\n", - "Next we loop over the entries in the `two_qubit_data` dictionary and add two-qubit depolarizing noise to the model. Notice that Aspen-M-3 has symmetric connections (\"0-1\" and \"1-0\") so we need to add noise in both directions." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "80f57550-6549-46b6-9a6d-ff7f0f03e90d", - "metadata": {}, - "outputs": [], - "source": [ - "# Two-qubit noise\n", - "for pair, data in two_qubit_data.items(): # iterate over qubit connections\n", - "\n", - " # parse strings \"0-1\" to integers [0, 1]\n", - " q0, q1 = (int(s) for s in pair.split(\"-\"))\n", - "\n", - " if \"fCPHASE\" in data:\n", - " phase_rate = 1 - data[\"fCPHASE\"]\n", - " noise_model.add_noise(\n", - " TwoQubitDepolarizing(phase_rate),\n", - " GateCriteria(\n", - " Gate.CPhaseShift, [(q0, q1), (q1, q0)]\n", - " ), # symmetric connections\n", - " )\n", - "\n", - " if \"fXY\" in data:\n", - " xy_rate = 1 - data[\"fXY\"]\n", - " noise_model.add_noise(\n", - " TwoQubitDepolarizing(xy_rate), GateCriteria(Gate.XY, [(q0, q1), (q1, q0)])\n", - " )\n", - "\n", - " if \"fCZ\" in data:\n", - " cz_rate = 1 - data[\"fCZ\"]\n", - " noise_model.add_noise(\n", - " TwoQubitDepolarizing(cz_rate), GateCriteria(Gate.CZ, [(q0, q1), (q1, q0)])\n", - " )" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "82376d08-84bc-4249-9c8d-d7aacdb73113", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Number of terms in noise model is: 612\n", - "Number of parameters in noise model is: 612\n" - ] - } - ], - "source": [ - "num_params = sum(len(item.noise.parameters) for item in noise_model.instructions)\n", - "print(f\"Number of terms in noise model is: {len(noise_model.instructions)}\")\n", - "print(f\"Number of parameters in noise model is: {num_params}\")" - ] - }, - { - "cell_type": "markdown", - "id": "5913a8a2-a9de-4e32-a35d-c48191891b1f", - "metadata": {}, - "source": [ - "### Compare circuits run on device vs simulator with a noise model\n", - "\n", - "Let's just look at the first 5 qubits. Note that to ensure the noise model applied T1 and T2 noise during the time between gate, we manually add identity gates to each moment." - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "6fabbd05-b480-43c6-b43a-d396d81bd687", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "T : | 0 | 1 |2|\n", - " \n", - "q0 : -Rx(0.50)-Rx(3.14)-C-\n", - " | \n", - "q1 : -Rz(0.50)-Rx(3.14)-Z-\n", - " \n", - "q2 : -Rz(0.50)-Rx(3.14)---\n", - "\n", - "T : | 0 | 1 |2|\n" - ] - } - ], - "source": [ - "np.random.seed(42)\n", - "\n", - "circ = Circuit().rx(0, 0.5).rz(1, 0.5).rz(2, 0.5).rx(0, np.pi).rx(1, np.pi).rx(2, np.pi).cz(0, 1)\n", - "print(circ)" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "e2af07ed-33de-4709-9e7c-5e3c3caaa751", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "T : | 0 | 1 | 2 |\n", - " \n", - "q0 : -Rx(0.50)-AD(0.0016)--PD(0.0012)-DEPO(0.0022)-Rx(3.14)-AD(0.0016)--PD(0.0012)-DEPO(0.0022)-C-DEPO(0.059)-\n", - " | | \n", - "q1 : -Rz(0.50)-AD(0.00086)-PD(0.0015)-DEPO(0.025)--Rx(3.14)-AD(0.00086)-PD(0.0015)-DEPO(0.025)--Z-DEPO(0.059)-\n", - " \n", - "q2 : -Rz(0.50)-AD(0.0018)--PD(0.0011)-DEPO(0.0041)-Rx(3.14)-AD(0.0018)--PD(0.0011)-DEPO(0.0041)---------------\n", - "\n", - "T : | 0 | 1 | 2 |\n" - ] - } - ], - "source": [ - "noisy_circ = noise_model.apply(circ)\n", - "\n", - "print(noisy_circ)" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "9304dcf1-a1e8-4e41-a6b5-769841f4eefe", - "metadata": {}, - "outputs": [], - "source": [ - "simulator = LocalSimulator() # noise free simulator\n", - "task = simulator.run(circ, shots=100_000)\n", - "free_probs = task.result().measurement_probabilities" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "0e1d9cfe-03d6-406b-b4ab-89166a907681", - "metadata": {}, - "outputs": [], - "source": [ - "noisy_simulator = LocalSimulator(\"braket_dm\")\n", - "noisy_task = noisy_simulator.run(noisy_circ, shots=100_000)\n", - "noisy_probs = noisy_task.result().measurement_probabilities" - ] - }, - { - "cell_type": "markdown", - "id": "b3f370bd-a8b3-4d5b-a724-da549fc4c81f", - "metadata": {}, - "source": [ - "
\n", - "Note: The below section runs tasks on the Rigetti Aspen-M-3 device. When you run this notebook, make sure the device is currently available. You can find QPU availability windows on the Devices page in the Amazon Braket Console.\n", - "
\n", - "\n", - "
\n", - "Note: Running the circuit below will result in charges on your AWS account.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "c8f4664a-0527-46fb-87f2-2a0c85f0bd79", - "metadata": {}, - "outputs": [], - "source": [ - "aspen_m_task = aspen_m.run(circ, shots=100_000, disable_qubit_rewiring=True)\n", - "aspen_m_result = aspen_m_task.result()\n", - "aspen_m_probs = aspen_m_result.measurement_probabilities" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "1676a45c-5ef8-49cc-b227-69f69fa2004a", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
aspen-mnoisy_simfree_sim
0000.001360.00016NaN
1110.683400.857210.93927
1100.076190.00635NaN
0110.129670.074110.06073
1010.073660.04401NaN
1000.007770.00023NaN
0100.013030.00045NaN
0010.014920.01748NaN
\n", - "
" - ], - "text/plain": [ - " aspen-m noisy_sim free_sim\n", - "000 0.00136 0.00016 NaN\n", - "111 0.68340 0.85721 0.93927\n", - "110 0.07619 0.00635 NaN\n", - "011 0.12967 0.07411 0.06073\n", - "101 0.07366 0.04401 NaN\n", - "100 0.00777 0.00023 NaN\n", - "010 0.01303 0.00045 NaN\n", - "001 0.01492 0.01748 NaN" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "free_sim = pd.DataFrame.from_dict(free_probs, orient=\"index\").rename(\n", - " columns={0: \"free_sim\"}\n", - ")\n", - "noisy_sim = pd.DataFrame.from_dict(noisy_probs, orient=\"index\").rename(\n", - " columns={0: \"noisy_sim\"}\n", - ")\n", - "aspenm = pd.DataFrame.from_dict(aspen_m_probs, orient=\"index\").rename(\n", - " columns={0: \"aspen-m\"}\n", - ")\n", - "df = aspenm.join(noisy_sim).join(free_sim)\n", - "df" - ] - }, - { - "cell_type": "markdown", - "id": "472e6850-2603-4174-bf92-b04eb0c38c2f", - "metadata": {}, - "source": [ - "We can compute the fidelity between the free simulation and Rigetti, as well as the noisy simulation and Rigetti. " - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "5b7d1740-cb46-433e-8c2b-7e8b7c10fb4e", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Total fidelity between Aspen-M and noise-free simulator is 0.8899252242353248\n", - "\n", - "Total fidelity between Aspen-M and noisy simulator is 0.9627231692802513\n" - ] - } - ], - "source": [ - "def fidelity(p, q):\n", - " return np.sum(np.sqrt(p * q))\n", - "\n", - "\n", - "f_free_aspen = fidelity(df[\"free_sim\"], df[\"aspen-m\"])\n", - "f_noisy_aspen = fidelity(df[\"noisy_sim\"], df[\"aspen-m\"])\n", - "\n", - "print(f\"\\nTotal fidelity between Aspen-M and noise-free simulator is {f_free_aspen}\")\n", - "print(f\"\\nTotal fidelity between Aspen-M and noisy simulator is {f_noisy_aspen}\")" - ] - }, - { - "cell_type": "markdown", - "id": "fd4d88b7-015e-445b-ba26-1bdbc6a2bd16", - "metadata": {}, - "source": [ - "To better visualize, we can also plot the output probability distributions from each circuit:" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "9329ed72-2f30-4383-b48f-0d50e1a5dd11", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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AwcOJLud0vPPPx9a/7rrrpMkTZ8+XXfccUdoX7fddps6dOigevXqacmSJbrxxhvVuHFjDR48OFfagyAMAAAQIN9//71uv/12rVu3TmXKlNHcuXM1aNAgTZgwQWvWrFHz5s318MMPJ1tn3759euedd7Ru3TqtWbNGo0ePVsmSJRUbG6sPPvhAkjR79mz169dPRYoUSXO/48eP1+rVq7VmzRpNmTIlzWV++eUXLV26VM8++6z69Omju+++W+vWrdPatWsVFxcX0XaQCMIAAACBUrduXbVs2VKS9Lvf/U6bNm3S/v371aVLF0nSDTfcoM8++yzZOqVLl1ZMTIxuuukmvf322ypWrJgkaejQoZo2bZokadq0aRoyZEi6+23RooUGDBigV155RYULpz06t3fv3jIzNW/eXJUrV1bz5s0VFRWlpk2basuWLad5z1MjCAMAAARIdHR06P9ChQpp//79ma5TuHBhLV++XFdffbXmz5+vHj16SJI6deqkLVu2aMmSJTp16pSaNWuW7jY++OAD3X777Vq1apXatm2rkydPpltbVFRUsjqjoqLSXP50EYQBAAACrHTp0ipbtqw+//xzSdKsWbNCvcNJDh06pISEBF1++eV69tln9e2334bmDRo0SNdff32GvcGJiYnavn27Lr74Yk2YMEEJCQk6dOhQ7tyhbOCqEQAAAPkhFy53llMzZszQsGHDdOTIEdWrVy803CHJwYMH1bdvXx09elTOOT3zzDOheQMGDNDo0aPVv3//dLd/6tQp/fGPf1RCQoKcc7rrrrtUpkyZ3Lo7WWbOuXzZcZs2bdyKFSvyZd84MzWf0TxH6629YW2EKwEAIPLi4+PVuHHj/C4j4t566y299957mjVrVn6XIintdjazlc65NimXpUcYAAAAOXLnnXfqww8/1IIFC/K7lBwhCAMAACBHJk2alGra7bffri+//DLZtOHDh2c4hji/EIQBAAAQMZMnT87vErKMq0YAAAAgkAjCAAAACCSCMAAAAAKJMcIAAAD5IKeXDU0PlxPNPnqEAQAAAuT5559X48aNNWDAgDzbZ8eOHfNsX9lBjzAib2zpnK1Xt1Zk6wAAAKm8+OKL+vjjj1WjRo3QtJMnT6pw4dyLhV999VWubft00CMMAAAQEMOGDdPmzZvVs2dPlS5dWgMHDlSnTp00cOBA7d27V1dddZXa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DpUkNW/eXIcPH9bQoUM1ZswYFS5cWOeee64+/fRTHT58WAcOHFDVqlV17bXXql69eqe1bwAAMkMQxlmjdevWeuONN1S7du00v+YvWbKkqlWrpk2bNmnQoEHZ3v6KFSt0/PhxPfvssypUyLvk2/z581MtV6FCBQ0cOFADBw5Uz5491b9/f02ZMkXR0dGSpGXLlunGG28MLb9s2TI1btw4dB9ef/11VahQQWXKlMl2jRk5naERdevWVZUqVfSvf/1Lbdu2lSQdPXpUn3/+uZ588sl01zty5EiorZIUKlQozR744sWLq3jx4vrll1/00Ucf6YknnjitfQMAkBmCMM4at99+u/7xj3/o2muv1f3336+KFStq8+bNeuONN/T000+rZMmSevjhh3XnnXeqTJkyuvzyy3XixAmtWrVKO3fu1KhRozLcfoMGDZSYmKiJEyeqX79+WrZsWbIrQkjeOOXWrVuradOmOnnypN5++23Vq1cvFIIl6e2331bbtm0VGxurt956S4sXLw5dRWHAgAF66qmn1LdvX40bN061atXS9u3b9d5772nYsGFq0KBBjtvndIZGmJlGjBihxx57TI0aNdJ5552nv/3tbypRooSuv/760HKXXnqp2rVrp8cff1yS1Lt3bz3zzDNq06ZNaGjEQw89pCuuuEKFC3svPx999JESExPVqFEjbdy4Uffee68aNWqkIUOGZGvfAABkF0EYZ41q1arpyy+/1KhRo9SjRw8dPXpUtWrVUrdu3UJBdOjQoSpevLiefPJJjRo1SkWLFlXTpk2zdKJcixYt9Nxzz2nChAkaPXq0OnbsqKeeekrXXnttaJno6Gg9+OCD+t///qeYmBh16NBB77//frLtjB07VnPnztVdd92lihUratq0aaGezmLFiumzzz7TyJEjdc011yghIUHVqlXTxRdfrLJly0awtbLvvvvu06+//qrbb79dv/zyi9q3b69FixYlG8+8adMm1axZM3R79OjRMjM99NBD2rFjhypUqKDevXvr0UcfDS2TkJCgUaNGaceOHSpXrpyuuuoqPfroo8l6qLOybwAAssuyepJQpLVp08YlXTIKZ6Y6Iz/I0XpbYnLWS9e8bq3MF0rD2hvW5mi9/GBmevPNN0NXrQAAALnPzFY659qknM51hAEAABBIDI1AvtqWkKgmkw9Jkn6NWp9qfv3H6uuc8ufkSS2vvvpq6Pq+KWV0RQUAAFAwEYSRr6qVNMUN8677e3mNqqnmp/wRjdzUp08ftW/fPs15GV1RITvyaygSAABIjSCMfFU4ylS/nPcLatGVozNZOneVLFmSk68AAAgQxggjzyU6p1vf/1Xlnzgoe/iAlmw5mev7XLJkicxMP/30U67vKy+tWLFCZqYtW7ZkeZ3BgwfriiuuyL2iAAAoIAjCyHMLvj+paXEn9H7/otp1Twl1rFko85VOU8eOHbVr1y6VL18+1/eFs8fcuXPVpEkTRUdHq0mTJnrnnXcyXeeNN95Qy5YtVaxYMdWuXTvNH/04fvy4xowZo7p16yo6Olq1atXS888/H5r/5ptvqk2bNipTpoyKFy+uli1basaMGRG9bwAAhkYgH2z8OVFVS5o61sy7w++cc87h53iRLUuXLtW1116rhx9+WP369dPbb7+ta665Rl9++WW6Y8k//PBDXX/99Xr++efVo0cPxcfH6+abb1bRokWTXav6uuuu044dO/Tyyy+rQYMG2rNnj3799dfQ/PLly2v06NFq1KiRihQpovnz5+umm25SxYoVdfnll+f6fQeAoKBHGHlq8Lu/6u6PjmlbgpM9fEB1Jh7MdJ3Nj2/WDzN/0O63div+jnjF3xmvXbN3ySX+duLZL7/8ohtuuEFly5ZV0aJF1bVr12RXeUg5NCIhIUEDBw5UpUqVFBMTo3r16iX7lbiEhATdcsstqlSpkkqWLKkuXbooq9e9nj59ukqUKKEPP/xQjRo1UrFixdSnTx8lJCTorbfeUoMGDVS6dGkNHDgwWfg5duyYRowYocqVK4d+jOOLL75Itu2FCxeqUaNGiomJ0UUXXaT//ve/qfb/1VdfqUuXLipWrJiqV6+u2267TQcOHMhS7SktXLhQF110kcqWLaty5cqpe/fuio+PT7bMuHHjVLt2bUVHR6tKlSrJfr46NjZWw4YN0/Dhw1W2bFmVLVtW9957rxITE0PLHD9+XPfff79q1KihYsWKqW3btvroo49C85Meu8WLF6t9+/YqVqyY2rRpo1WrVuXoPmXVxIkTdfHFF+vBBx9U48aN9eCDDyo2NjbVrwmGmzVrlnr37q0//elPqlevnnr16qVRo0ZpwoQJoRMlFy1apMWLF2vBggW67LLLVKdOHbVv316xsbGh7VxyySW68sor1ahRI5177rkaPny4WrRooc8//zxX7zMABA1BGHnquR4xGtP5HNUoZdp1Twl9c3PxLK23f+l+WZSp3uh6qjawmvYt2qeE5Qmh+YMHD9bXX3+t9957T8uXL1exYsXUo0ePZEEz3OjRo7V27VrNnz9fGzZs0NSpU1W9enVJ3pUdevXqpZ07d2r+/PlavXq1OnfurEsuuUS7du3KUr3Hjh3T008/rVdffVWLFy/WihUrdNVVV2nGjBmaO3eu3n33Xc2fP18vvvhiaJ377rtPc+bM0dSpU7V69Wo1b95cPXr0CO1z+/btuvLKK3XZZZcpLi5Od955p+67775k+127dq26deumPn366Ntvv9Xbb7+tuLg43XjjjVmqO6XDhw9rxIgRWr58uZYsWaLSpUurd+/eOn78uCRv6MBTTz2lF198Ud9//73mz5+vdu3aJdvGq6++qsTERC1dulQvvfSSXn755WRhcsiQIfr000/12muv6bvvvtMNN9yg3r1769tvv022nVGjRmn8+PFatWqVypcvrwEDBmR4FY5hw4apRIkSGf5t27Yt3fWXLl2qbt26JZvWvXt3ffXVV+muc+zYMcXExCSbVrRoUe3YsUNbt26VJL377rtq27atnnnmGdWoUUMNGjTQXXfdpUOHDqW5TeecFi9erA0bNqhz587p7hsAkH0MjUCeKh1jKhltKmRSlRJZ/xwWXS1alftV9v6vEq2fP/1Zh9cfVpkOZfT9999r3rx5+vTTT0NBYdasWapVq5ZeffVVDR06NNX2tm7dqtatW4dCW+3atUPzPvnkE8XFxWnv3r0qWrSoJOmRRx7R+++/r1mzZqUKn2k5efKkJk+erIYNG0qSrr/+ej377LPas2ePKlSoIEnq27evPvnkE91zzz06fPiw/v73v+uf//ynevXqJUmaMmWK/v3vf2vy5Mn629/+pr///e+hsaRmpkaNGum///2vHnroodB+n3zySV177bW65557QtP+/ve/q1WrVvrxxx9VqVKlLLe5JF111VXJbk+bNk2lSpXS8uXLdeGFF2rr1q2qWrWqunXrpiJFiqhWrVpq0yb5D/dUrVo1Vc3PPPOM/vznP2vTpk16/fXXtWXLFtWq5f2y4B133KGPP/5YL730UrIPCo888oguvvhiSdKYMWN04YUXaufOnapRo0aatY8bN05/+ctfMrx/1apVS3fe7t27Vbly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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "import matplotlib.pyplot as plt\n", - "\n", - "%matplotlib inline\n", - "\n", - "df.plot.bar(\n", - " title=\"Comparing noise-free simulator, noisy simulator, and Aspen-M\",\n", - " figsize=(12, 6),\n", - ")\n", - "\n", - "text = f\"f_free_aspen = {f_free_aspen:.3f} \\nf_noise_model_aspen = {f_noisy_aspen:.3f}\"\n", - "plt.text(1, 0.5, text, fontsize=14)\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "id": "aa8ffab8-e062-4c33-9c9d-4a312cd76b63", - "metadata": {}, - "source": [ - "We confirm that the simulator with a noise model is closer to the distribution produced by Aspen-M-3." - ] - }, - { - "cell_type": "markdown", - "id": "c4571a5e-2f8d-4767-b28e-a527d2490830", - "metadata": {}, - "source": [ - "### Smaller, reduced noise models\n", - "\n", - "The full Rigetti Aspen-M-3 noise model contains due to non-uniform qubit noise. We can obtain simpler, smaller noise models by coarse graining the model above.\n", - "\n", - "Here, we consider taking the average over all qubits for the $T_1$, $T_2$, depolarizing, and readout depolarizing rates. This is a substantially smaller noise model, but may be less accurate. \n", - "\n", - "We use the `from_filter` function to extract all instructions with amplitude dampening noise in the model. We then compute the mean of the error probabilities. " - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "eac8479f-4b29-42d8-a15a-ba10aae82d3f", - "metadata": {}, - "outputs": [], - "source": [ - "avg_t1 = np.mean(\n", - " [\n", - " n.noise.parameters\n", - " for n in noise_model.from_filter(noise=AmplitudeDamping).instructions\n", - " ]\n", - ")\n", - "avg_t2 = np.mean(\n", - " [\n", - " n.noise.parameters\n", - " for n in noise_model.from_filter(noise=PhaseDamping).instructions\n", - " ]\n", - ")\n", - "avg_depo = np.mean(\n", - " [\n", - " n.noise.parameters\n", - " for n in noise_model.from_filter(noise=Depolarizing).instructions\n", - " ]\n", - ")\n", - "avg_readout = np.mean(\n", - " [n.noise.parameters for n in noise_model.from_filter(noise=BitFlip).instructions]\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "d1a64cae-226c-45d2-9af3-4b5b7a36c7a4", - "metadata": {}, - "source": [ - "Now we construct a new noise model with the mean values above:" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "e49eb24c-5f24-4084-9d4c-c2e7e82fc259", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Gate Noise:\n", - " AmplitudeDamping(0.0019483910859341453), GateCriteria(None, None)\n", - " PhaseDamping(0.0018677309884621795), GateCriteria(None, None)\n", - " Depolarizing(0.007153677053977023), GateCriteria(None, None)\n", - "Readout Noise:\n", - " BitFlip(0.053481250000000015), ObservableCriteria(None, None)\n" - ] - } - ], - "source": [ - "simple_noise_model = NoiseModel()\n", - "simple_noise_model.add_noise(AmplitudeDamping(avg_t1), GateCriteria())\n", - "simple_noise_model.add_noise(PhaseDamping(avg_t2), GateCriteria())\n", - "simple_noise_model.add_noise(Depolarizing(avg_depo), GateCriteria())\n", - "simple_noise_model.add_noise(BitFlip(avg_readout), ObservableCriteria())\n", - "\n", - "print(simple_noise_model)" - ] - }, - { - "cell_type": "markdown", - "id": "b44bbbd1-fb65-4b8f-8dfa-0ea5aa7979b2", - "metadata": {}, - "source": [ - "We can see the resultant circuits contain qubit-independent noise:" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "c83e96f6-54b0-445b-bcdd-8a7a16691b62", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "T : | 0 | 1 | 2 |\n", - " \n", - "q0 : -Rx(0.75)-AD(0.0019)-PD(0.0019)-DEPO(0.0072)-C-AD(0.0019)-PD(0.0019)-DEPO(0.0072)-I--------AD(0.0019)-PD(0.0019)-DEPO(0.0072)-\n", - " | \n", - "q1 : -I--------AD(0.0019)-PD(0.0019)-DEPO(0.0072)-Z-AD(0.0019)-PD(0.0019)-DEPO(0.0072)-Rx(0.50)-AD(0.0019)-PD(0.0019)-DEPO(0.0072)-\n", - " \n", - "q2 : -Rz(0.50)-AD(0.0019)-PD(0.0019)-DEPO(0.0072)-I-AD(0.0019)-PD(0.0019)-DEPO(0.0072)-I--------AD(0.0019)-PD(0.0019)-DEPO(0.0072)-\n", - "\n", - "T : | 0 | 1 | 2 |\n" - ] - } - ], - "source": [ - "simple_noisy_circ = simple_noise_model.apply(circ)\n", - "print(simple_noisy_circ)" - ] - }, - { - "cell_type": "markdown", - "id": "e2c20b79-cbf2-4897-80b3-452c78d56a03", - "metadata": {}, - "source": [ - "We run the circuit on a noisy simulator below" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "a1bb19e8-6824-4a50-b9fb-ae06c14359b6", - "metadata": {}, - "outputs": [], - "source": [ - "simple_noisy_task = noisy_simulator.run(simple_noisy_circ, shots=100_000)\n", - "simple_noisy_probs = simple_noisy_task.result().measurement_probabilities" - ] - }, - { - "cell_type": "markdown", - "id": "76418e5c-be5b-4b3a-8916-c0f56f003cd7", - "metadata": {}, - "source": [ - "and add it to the previous dataframe" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "b4d27a95-612d-4dea-9f6a-98d4525b0a70", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
aspen-mnoisy_simfree_simsimple_noisy_sim
0000.533020.745440.813800.78149
1000.117480.131510.124860.13176
0100.246810.087060.053380.06130
1100.056870.027420.007960.01061
0110.018190.00055NaN0.00096
1110.004770.00021NaN0.00015
0010.018920.00650NaN0.01179
1010.003940.00131NaN0.00194
\n", - "
" - ], - "text/plain": [ - " aspen-m noisy_sim free_sim simple_noisy_sim\n", - "000 0.53302 0.74544 0.81380 0.78149\n", - "100 0.11748 0.13151 0.12486 0.13176\n", - "010 0.24681 0.08706 0.05338 0.06130\n", - "110 0.05687 0.02742 0.00796 0.01061\n", - "011 0.01819 0.00055 NaN 0.00096\n", - "111 0.00477 0.00021 NaN 0.00015\n", - "001 0.01892 0.00650 NaN 0.01179\n", - "101 0.00394 0.00131 NaN 0.00194" - ] - }, - "execution_count": 22, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "simple_noisy_sim = pd.DataFrame.from_dict(simple_noisy_probs, orient=\"index\").rename(\n", - " columns={0: \"simple_noisy_sim\"}\n", - ")\n", - "df = df.join(simple_noisy_sim)\n", - "df" - ] - }, - { - "cell_type": "markdown", - "id": "b1699bc2-712f-4a99-b9d6-0a0920114a13", - "metadata": {}, - "source": [ - "We compute the fidelity between the simple noise model and the QPU:" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "d7710e0b-29ac-4968-aa00-e23cb8b32269", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Total fidelity between Aspen-M and full noise model is: 0.9582415634979304\n", - "\n", - "Total fidelity between Aspen-M and simple noise model is: 0.9401126418474742\n", - "\n", - "Total fidelity between Aspen-M and noise-free is: 0.915784824249657\n" - ] - } - ], - "source": [ - "f_simple = fidelity(df[\"simple_noisy_sim\"], df[\"aspen-m\"])\n", - "\n", - "print(f\"\\nTotal fidelity between Aspen-M and full noise model is: {f_noisy_aspen}\")\n", - "print(f\"\\nTotal fidelity between Aspen-M and simple noise model is: {f_simple}\")\n", - "print(f\"\\nTotal fidelity between Aspen-M and noise-free is: {f_free_aspen}\")" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "e36e19d0-664a-4cb4-a2e3-0061cd60a6c1", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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ERERyQR58+b1/Z4rVy4OHDhwzmVCQ0NZuXIlt9xyCx9//DHt2rUDoEWLFiQkJLBkyRJOnz5NnTp10lzHggULGDBgAD/88AONGzfm1KlTadYWEhKSrM6QkJBU2+cUCsIiIiIiWSA8PJwiRYqwbNkyAKZPn+7rHT7jr7/+4uDBg9xwww288sorrF271jevd+/e9OjRI93e4MTERHbs2ME111zD888/z8GDB/nrr78yZoeyId01QkRERIJPgG93dqGmTZtGv379OHr0KFWqVPENdzjj8OHDdO7cmWPHjuGc4+WXX/bN69mzJyNGjKB79+5prv/06dPccccdHDx4EOccDzzwAIULF86o3cl2LKueexEdHe1iY2OzZNvnI2palF/tZj3n/9cGkT/GX2g5IiIicgHi4+OJjMxZd26aPXs2c+fOZfr06VldyiUltb+1ma12zkWnbKseYREREZFsZtCgQXzyyScsXLjw3I0lTQrCIiIiItnMhAkTzpo2YMAAli9fnmzagw8+mO4Y4mCnICwiIiKSA0ycODGrS8h2dNcIEREREQlKCsIiIiIiEpQUhEVEREQkKGmMsIiIiAQdf2+P6q/1fdYHdH2SOYIzCD8V7n/biIoZV4eIiIgEjfHjx/PGG2/QsGFDZsyYkSnbbN68Od9++22mbCs7Cs4gLCIiIpLJXn/9dT7//HPKly/vm3bq1ClCQzMujikEp09jhEVEREQyWL9+/di2bRvt27cnPDycXr160aJFC3r16sXevXu5+eabady4MY0bN/bdC/jIkSPcddddNGnShAYNGjB37tw0179x40aaNGlC/fr1qVu3Lps3bwagYMGCACxZsoSWLVvSuXNnqlSpwvDhw5kxYwZNmjQhKiqKrVu3ZvxBuASpR1hEREQkg02aNIlPP/2Ur776itdee4358+fzzTffkC9fPnr06MGQIUO48sor2b59O23btiU+Pp7Ro0dz7bXXMnnyZA4cOECTJk1o3bo1BQoUSHX9Dz74ID179uTEiROcPn36rDZr164lPj6eokWLUqVKFfr27cvKlSt59dVXmTBhAuPGjcuEI3FpURAWERERyWSdOnUiX758AHz++eds2rTJN+/QoUP89ddfLF68mHnz5vHSSy8BcOzYMbZv305kZORZ62vWrBmjR49m586ddO3alWrVqp3VpnHjxpQpUwaAyy+/nDZt2gAQFRXFV199FfB9zA4UhEVEREQyWdJe3cTERL777jvCwsKStXHOMWfOHGrUqHHO9fXo0YMrrriCBQsWcMMNN/Dmm29y7bXXJmuTN29e3+8hISG+1yEhIZw6depidifbUhAWERGRoHMp3e6sTZs2TJgwgaFDhwIQFxdH/fr1adu2LRMmTGDChAmYGWvWrKFBgwaprmPbtm1UqVKFBx54gO3bt7Nu3bqzgrCcTRfLiYiIiGSh8ePHExsbS926dalVqxaTJk0C4IknnuDkyZPUrVuX2rVr88QTT6S5jlmzZlGnTh3q16/Phg0b6N27d2aVn62Zcy5LNhwdHe1iY2OzZNvncx/hKD/vIzzrOf+/Uoj8Md7vtiIiInLx4uPjUx1bKzlPan9rM1vtnItO2VY9wiIiIiISlDRGWERERCSbWLRoEcOGDUs2LSIigg8//DCLKsreFIRFREREsom2bdvStm3brC4jx9DQCBEREREJSgrCIiIiIhKU/ArCZtbOzH4ysy1mNjyV+a+YWZz3539mdiDglYqIiIiIBNA5xwibWS5gInA9sBNYZWbznHO+ZwE654YkaT8ISP1uzyIiIiKXgPiagb2Vmm6Nmj350yPcBNjinNvmnDsBvA90Tqd9d+C9QBQnIiIiklP17duXTZs2nbuhHwoWLBiQ9ZzLyJEj+fzzzzNs/fPmzWPMmDEZtv6U/LlrRDlgR5LXO4ErUmtoZpWACODLNObfC9wLULGifw+qEBEREcmJ3n777awu4byNGjUqQ9ffqVMnOnXqlKHbSCrQF8t1A2Y7506nNtM595ZzLto5F12iRIkAb1pERETk0nTkyBE6dOhAvXr1qFOnDjNnzqRVq1acecpuwYIFGTp0KLVr16Z169asXLmSVq1aUaVKFebNmwfA1KlT6dy5M61ataJatWo8/fTTqW7rxRdfpHHjxtStW5cnn3wyzZoSEhKIjIzknnvuoXbt2rRp04a///4bgLi4OJo2bUrdunXp0qULf/75JwAxMTHMnj0bgOHDh1OrVi3q1q3Lww8/zOHDh4mIiODkyZMAHDp0KNnrlMaPH+9bvlu3br59HDhwoG9b/fv3p2nTplSpUoUlS5Zw1113ERkZSUxMzPkc/jT5E4R3ARWSvC7vnZaabmhYhIiIiEgyn376KWXLlmXt2rVs2LCBdu3aJZt/5MgRrr32WjZu3EihQoUYMWIEn332GR9++CEjR470tVu5ciVz5sxh3bp1/Pe///UF6TMWL17M5s2bWblyJXFxcaxevZqlS5emWdfmzZsZMGAAGzdupHDhwsyZMweA3r178/zzz7Nu3TqioqLOCt379+/nww8/ZOPGjaxbt44RI0ZQqFAhWrVqxYIFCwB4//336dq1K7lz505122PGjGHNmjWsW7eOSZMmpdrmzz//ZMWKFbzyyit06tSJIUOGsHHjRtavX09cXFya++Uvf4LwKqCamUWYWR48YXdeykZmVhMoAqy46KpEREREcpCoqCg+++wzhg0bxrJlywgPD082P0+ePL5wHBUVRcuWLcmdOzdRUVEkJCT42l1//fUUK1aMfPny0bVrV7755ptk61m8eDGLFy+mQYMGNGzYkB9//JHNmzenWVdERAT169cHoFGjRiQkJHDw4EEOHDhAy5YtAejTp89ZYTo8PJywsDDuvvtuPvjgA/Lnzw94xj1PmTIFgClTpnDnnXemue26devSs2dP3n33XUJDUx+t27FjR8yMqKgoSpUqRVRUFCEhIdSuXTvZcblQ5wzCzrlTwEBgERAPzHLObTSzUWaWdBBHN+B955y76KpEREREcpDq1avzww8/EBUVxYgRI84aa5s7d27MDICQkBDy5s3r+/3UqVO+dmfapPXaOcejjz5KXFwccXFxbNmyhbvvvjvNus5sByBXrlzJtpWe0NBQVq5cyS233MLHH3/sC/EtWrQgISGBJUuWcPr0aerUqZPmOhYsWMCAAQP44YcfaNy4carbTnocktaa8rhcKL8eseycWwgsTDFtZIrXT110NSIiIiKZILNvd/brr79StGhR7rjjDgoXLnzBF8p99tln/PHHH+TLl4+PPvqIyZMnJ5vftm1bnnjiCXr27EnBggXZtWsXuXPnpmTJkn5vIzw8nCJFirBs2TKuuuoqpk+f7usdPuOvv/7i6NGj3HDDDbRo0YIqVar45vXu3ZsePXrwxBNPpLmNxMREduzYwTXXXMOVV17J+++/z19//eV3jYHiVxAWERERkQu3fv16hg4dSkhICLlz5+aNN97g4YcfPu/1NGnShJtvvpmdO3dyxx13EB0dnWx+mzZtiI+Pp1mzZoDnIrx33333vIIwwLRp0+jXrx9Hjx6lSpUqvuEOZxw+fJjOnTtz7NgxnHO8/PLLvnk9e/ZkxIgRdO/ePc31nz59mjvuuIODBw/inOOBBx6gcOHC51VjIFhWjWSIjo52KQd4Z5qnws/dxisqwr/bvM16zv/ued10W0REJHPFx8cTGRnYh2hktqlTpxIbG8trr72W1aWka/bs2cydO5fp06dnyfZT+1ub2WrnXHTKtuoRFhEREZGAGDRoEJ988gkLFy48d+NLgIKwiIiISDYQExNzQffP3b9/P9ddd91Z07/44guKFSsWgMr+34QJE86aNmDAAJYvX55s2oMPPpjuHSUyi4KwiIiIBAXn3Fl3WQgGxYoVC8g9dy/UxIkTM21b5zvkN9BPlhMRERG55ISFhbF///7zDkqSfTjn2L9/P2FhYX4vox5hERERyfHKly/Pzp072bt3b1aXIhkoLCyM8uXL+91eQVhERERyvNy5cxMREZHVZcglRkMjRERERCQoKQiLiIiISFBSEBYRERGRoKQgLCIiIiJBSUFYRERERIKSgrCIiIiIBCUFYREREREJSgrCIiIiIhKUFIRFREREJCgpCIuIiIhIUFIQFhEREZGgpCAsIiIiIkFJQVhEREREgpKCsIiIiIgEJQVhEREREQlKCsIiIiIiEpQUhEVEREQkKCkIi4iIiEhQUhAWERERkaCkICwiIiIiQUlBWDJdYmIi9913H8WKFcPMWLJkSUDbi4iIiPjDryBsZu3M7Ccz22Jmw9Noc5uZbTKzjWb2n8CWKTnJwoULmTJlCvPnz2f37t00b948oO0vRdu3b6djx44UKFCA4sWL88ADD3DixIl0l9m6dStdunShRIkSXHbZZdx222389ttvydqMHj2aFi1aUKBAAcwszXW9++671K9fn7CwMIoXL07v3r0Dsl8iIiLZ2TmDsJnlAiYC7YFaQHczq5WiTTXgUaCFc642MDjwpUpOsWXLFsqUKUPz5s0pXbo0efLkuej25wqVWen06dN06NCBw4cPs2zZMt577z1mz57NQw89lOYyR44coU2bNjjn+PLLL1m+fDknTpygY8eOJCYm+todP36crl27Mnjw4DTXNX78eIYOHcrDDz/Mhg0b+Oqrr+jcuXMgd1FERCRbCvWjTRNgi3NuG4CZvQ90BjYlaXMPMNE59yeAc+73QBcqOUNMTAzTpk0DwMyoVKkSCQkJ592+VatWREZGUqBAAaZNm0blypVZtWoVmzZtYujQ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zCyAFWYfRYsWpVChQlldRlD4+eefueGGG2jevDlr1qzh0UcfZdCgQcyZMyfNZdauXcsNN9zA9ddfz5o1a5g5cybz5s1j+PDhZ7U9ceIE3bp14+qrrw7ItkVE5NwUhCVTxcTEMGTIELZv346ZUbly5XMus3TpUpo2bUrBggUJDw+nSZMmbNiwATh7aMTUqVMpWLAgn3zyCTVr1iR//vx06tSJgwcPMnv2bKpVq0Z4eDi9evXi77//9m2jVatW9OvXjwcffJAiRYpQpEgRhg4dSmJiYpp1nThxgmHDhlG+fHny589P48aNWbRokV/H4UzdX3zxBVdccQX58+cnOjqaH374IVm7Dz74gKioKPLmzUuFChUYPXo0Se/9nXJoxAcffEDdunXJly8fRYsWpWXLlvz222+++fPnz/f1KkZERPD4449z4sQJv2quXLkyo0aNIiYmhkKFClGhQgVmzpzJgQMH6NatGwULFqRatWosXrw42XJLly7liiuuICwsjFKlSjFkyJBk2zx69CgxMTEULFiQUqVK8eyzz5617Ys51oEyadIkypYty4QJE4iMjOSee+6hT58+Zz3kJKmZM2dSq1Ytnn76aapWrUrLli154YUXmDhxIocPH07WdtiwYdStW5dbb701INsWEZFzUxCWTPXqq68ycuRIypcvz+7du1m1alW67U+dOkXnzp258sorWbt2Ld9//z2DBw8mV65caS5z/Phxxo4dy4wZM/jiiy+IjY3l5ptvZtq0acyZM4ePPvqIjz/+mNdffz3ZcjNmzCAxMZEVK1bw5ptv8tZbbzFu3Lg0t3PnnXfy9ddf85///IcNGzbQp08fOnbsyNq1a/0+Ho8++ihjxozhhx9+oFixYvTs2dMXdFevXs2tt95K165dWb9+PWPGjOG5557jtddeS3Vde/bsoVu3bvTp04f4+HiWLl1Kr169fPMXLVpEz549GThwIBs3bmTy5MnMnj2bxx57zO96x40bR5MmTfjhhx+47bbb6NOnDz169OCGG24gLi6Oq6++mjvuuINjx44BsGvXLtq3b0+DBg1Ys2YN//73v3nvvfeSPc764Ycf5rPPPmPOnDl88cUXrFmzhqVLlwb8WD/77LPp3qqvYMGCLFu2LM3lV6xYQZs2bZJNa9u2LbGxsZw8eTLVZY4fP05YWFiyafny5ePYsWOsXr3aN23BggV8/PHHTJgwIWDbFhERPzjnsuSnUaNGLss8eZnfP3Wm1vHrZ1ONmn7/BLsXX3zRVapUya+2+/fvd4BbsmRJqvO/+uorB7i9e/c655ybMmWKA9yPP/7oa/PQQw+5kJAQXxvnnOvTp4/r0KGD73XLli1dtWrVXGJiom/aM88848qVK5eszYABA5xzzm3ZssWZmfvll1+S1dO5c2fXv3//c+7Xmbo//fRT37RvvvnGAW7Hjh3OOed69OjhrrnmmmTLPfnkk2nWtHr1age4hISEVLd51VVXuVGjRiWb9uGHH7oCBQok2++0VKpUyXXr1s33+vDhww5wgwYN8k37+eefHeBWrVrlnHPusccec1WrVnWnT5/2tZkyZYrLkyePO3LkiDt8+LDLkyePe/fdd5OtNzw83PXp08c559+xTrnd1Ozfv99t3rw53Z+jR4+muXy1atXc008/nWza119/7QD366+/prrMokWLnJm56dOnu5MnT7qdO3e6q666ygHuP//5j3POuV27drkyZcq47777znd8ChQocNHbFhGR/wfEulTyqHqE5ZJWtGhRYmJiaNu2LR06dODll18+50M28ubNS40aNXyvS5UqRenSpSlevHiyab///nuy5Zo2bZpsrHGzZs3YtWsXhw4dOmsbP/zwA845atWqlaxHccGCBWzdutXv/atbt67v9zP3TD5TV3x8PC1atEjW/sorr0yzpnr16tG6dWvq1KnDzTffzBtvvMHevXt981evXs3o0aOT1dujRw+OHDnCnj17zrveggULkj9/fqKionzTSpUqddY+NG3alJCQ//+v5sorr+TEiRNs2bKFrVu3cuLECZo1a5ZsvUnXGahjXbRoUapWrZruT758+fxenz/atGnDSy+9xIABAwgLC6N69erccMMNAL5j0qtXL/r3788VV1wR0G2LiMi5KQjLJW/KlCl8//33XH311cybN48aNWqkOz40NDT57bHNjNy5c581Lb3xv+eSmJiImbFq1Sri4uJ8P/Hx8UyePNnv9SSt60wI96eu1C4OzJUrF4sXL2bx4sXUrVuXf//731SrVs03fCAxMZEnn3wyWb3r1q1j8+bNlChR4rzrPVNHIPchNYE61hc7NKJ06dLJxlsD/Pbbb4SGhib7kJXSP/7xDw4cOMD27dvZt28fnTt3BqBKlSoAfPnllzz99NOEhoYS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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "df.plot.bar(title=\"Comparing simulators and Aspen-M\", figsize=(12, 6))\n", - "text = f\"f_free = {f_free_aspen:.3f} \\nf_simple_noise_model = {f_simple:.3f} \\nf_noise_model = {f_noisy_aspen:.3f}\"\n", - "plt.text(1, 0.5, text, fontsize=14)\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "id": "6da72e22-a594-41e7-a4e2-cb82cfe0726a", - "metadata": {}, - "source": [ - "We see that compared to the full noise model, the simple model is less accurate, however, it is still a significant improvement over the noise-free case and has far fewer parameters in the model. " - ] - }, - { - "cell_type": "markdown", - "id": "b2c6b2ba-cb54-43f6-9a89-e29066b5192a", - "metadata": {}, - "source": [ - "## Summary\n", - "\n", - "In this notebook, we showed how to construct a noise model for Rigetti Aspen-M-3 based only on the available calibration data.\n", - "We used a coarse assumption of gate-independent single-qubit depolarizing noise and gate-dependant two-qubit noise. Our qubit-dependent model could be improved in many ways. We could add gate-dependence noise, or change the depolarizing channel to Pauli channels. " - ] - } - ], - "metadata": { - "interpreter": { - "hash": "a86a9ff96c3b20b9c94872c880ce00e370ced2a9959f9303c435918fb220e358" - }, - "kernelspec": { - "display_name": "conda_braket", - "language": "python", - "name": "conda_braket" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.5" - }, - "toc-autonumbering": false, - "toc-showcode": false, - "toc-showmarkdowntxt": false, - "toc-showtags": true - }, - "nbformat": 4, - "nbformat_minor": 5 + "cells": [ + { + "cell_type": "markdown", + "id": "74154c03-d48f-4f41-867b-5e30254ce31a", + "metadata": {}, + "source": [ + "# Noise models on Rigetti\n", + "\n", + "This notebook shows how to construct a noise model from device calibration data for Rigetti Ankaa-2. We compare the measurement outcomes of circuits run on a noisy simulator with the same circuits run on quantum processing units (QPUs), to show that simulating circuits with noise models more closely mimics QPUs.\n", + "\n", + "**Before you begin**: We recommend being familiar with [Noise models on Amazon Braket.](https://github.com/amazon-braket/amazon-braket-examples/blob/main/examples/braket_features/Noise_models/Noise_models_on_Amazon_Braket.ipynb)\n", + "Additionally, users should be familiar with [Running quantum circuits on QPU devices](https://github.com/amazon-braket/amazon-braket-examples/blob/main/examples/getting_started/2_Running_quantum_circuits_on_QPU_devices/2_Running_quantum_circuits_on_QPU_devices.ipynb). \n", + "\n", + "### Table of Contents\n", + "\n", + "- Noise model for Rigetti\n", + " - Loading device calibration data\n", + " - Comparing noisy simulator results to QPU results\n", + " - Smaller noise models compared to QPU results" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "e5e15fcd-55a2-4168-acc6-a38100f94511", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "from braket.aws import AwsDevice\n", + "from braket.circuits import Circuit, Gate, Observable\n", + "from braket.circuits.noise_model import GateCriteria, NoiseModel, ObservableCriteria\n", + "from braket.circuits.noises import AmplitudeDamping, BitFlip, Depolarizing, PhaseDamping, TwoQubitDepolarizing\n", + "from braket.devices import Devices, LocalSimulator" + ] + }, + { + "cell_type": "markdown", + "id": "d4da3e37-e93c-4273-98bc-d67b26b8c822", + "metadata": {}, + "source": [ + "Braket provides access to hardware providers' reported calibration data. \n", + "This can be used to construct noise models to approximate the behavior of the QPU when running circuits on a noisy simulator.\n", + "In this tutorial, we focus on local noise models with no crosstalk interactions. Real devices can have crosstalk and unexpected effects that can further degrade the results.\n", + "\n", + "The Ankaa-2 calibration data is available on the Braket devices page. Under qubit specs, the calibration data include the qubit index, with corresponding values for the $T_1$, $T_2$, fidelity from randomized benchmarking (fRB), fidelity from simultaneous randomized benchmarking (fsRB), and readout fidelity (fRO).\n", + "Under \"edge specs\", the data includes the RB fidelity for two qubit gates for each connected edge in the device topology." + ] + }, + { + "cell_type": "markdown", + "id": "38001b96-faf7-49f0-b5a5-2d52820fcfc9", + "metadata": {}, + "source": [ + "**One-qubit calibration data (Qubit specs)**\n", + "
\n", + "\n", + "\n", + "**Two-qubit calibration data (Edge specs)**\n", + "
" + ] + }, + { + "cell_type": "markdown", + "id": "276d680f-887d-4929-bcaa-e276a6303496", + "metadata": {}, + "source": [ + "We can programmatically access all the calibration data with the Braket SDK. First we load the AwsDevice using the ARN for Rigetti Ankaa-2." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "a55ea9d5-05f3-4da5-a305-a391e914d012", + "metadata": {}, + "outputs": [], + "source": [ + "rigetti = AwsDevice(Devices.Rigetti.Ankaa2)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "66d8f3bf", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "a8a42ae1-51ac-4bf1-bd6a-81ffd982b5f8", + "metadata": {}, + "source": [ + "The properties dictionary contains one- and two-qubit calibration data. " + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "153b5b63-8205-4a7e-bb18-0305ef428f36", + "metadata": {}, + "outputs": [], + "source": [ + "one_qubit_data = rigetti.properties.standardized.oneQubitProperties\n", + "two_qubit_data = rigetti.properties.standardized.twoQubitProperties" + ] + }, + { + "cell_type": "markdown", + "id": "661cca17-01fa-40be-bd3e-741bacc74ce4", + "metadata": {}, + "source": [ + "For Ankaa-2, we can get all qubit indices with `one_qubit_data.keys()` or with `rigetti.topology_graph.nodes`.\n", + "\n", + "The keys of the two qubit dictionary are the connected qubit pairs separated by a hyphen. \n", + "For example, if qubit 0 and 1 are connected the key is \"0-1\".\n", + "\n", + "\n", + "#### One-qubit noise \n", + "\n", + "Let's look at the one qubit calibration data for qubit 0." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "8d4ecc35-f4dc-49d8-b6ff-adaee560ac4b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "OneQubitProperties(T1=CoherenceTime(value=8.645474408067754e-06, standardError=None, unit='S'), T2=CoherenceTime(value=1.2710111632672265e-05, standardError=None, unit='S'), oneQubitFidelity=[Fidelity1Q(fidelityType=FidelityType(name='RANDOMIZED_BENCHMARKING', description=None), fidelity=0.998913376867117, standardError=2.7016428586132974e-05), Fidelity1Q(fidelityType=FidelityType(name='SIMULTANEOUS_RANDOMIZED_BENCHMARKING', description=None), fidelity=0.9975435377199546, standardError=0.00015343141167926104), Fidelity1Q(fidelityType=FidelityType(name='READOUT', description=None), fidelity=0.9219999999999999, standardError=None)])" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "one_qubit_data[\"0\"]" + ] + }, + { + "cell_type": "markdown", + "id": "4b676762-e642-4a98-89e3-86d79367071a", + "metadata": {}, + "source": [ + "For each qubit, there are various metrics of the quality:\n", + "\n", + "- **T1**: Thermal relaxation time is related to the time it takes for the excited state, |1⟩, to decay into the ground state, |0⟩. The probability of remaining in the excited state is $p(|1⟩)\\sim e^{-t/T_1}$\n", + "\n", + "- **T2**: The dephasing time, is the decay constant for the scale for a |+⟩ state to decohere into the completely mixed state. $p(|+⟩)\\sim e^{-t/T_2}$ \n", + "\n", + "- **Fidelity (RB)**: Single-qubit randomized benchmarking fidelities. RB fidelity quantifies the average gate fidelity where the average is over all Clifford gates. RB describes an *effective* noise model with gate-independent depolarizing noise on each Clifford gate.\n", + "\n", + "- **Fidelity (sRB)**: Single-qubit simultaneous randomized benchmarking fidelities. These are extracted by running single-qubit RB on all qubits simultaneously. Note that we expect the sRB fidelity to be lower than standard RB fidelity due to non-local crosstalk type noise on the device. \n", + "\n", + "- **Readout fidelity**: Single-qubit readout fidelities describes the probability of a bit flip error before readout in the computational basis. The readout fidelity is related to the probability of correctly measuring the ground state and excited states respectively, e.g. $f_{RO} =\\frac{p(0|0)+p(1|1)}{2}$" + ] + }, + { + "cell_type": "markdown", + "id": "296708a3-771e-42b4-9ba8-f3db1a02970b", + "metadata": {}, + "source": [ + "Now that we know how to extract and use the calibration data, we can build a simple noise model. For every qubit we will add:\n", + "- amplitude dampening noise with probability $p= 1-e^{-t/T_1}$ for every gate\n", + "- phase dampening noise with probability $p= 0.5(1-e^{-t/T_2})$ for every gate\n", + "- depolarizing noise with probability $p=1-f_{sRB}$ (from simultaneous RB fidelity) for every gate\n", + "- readout bit flip noise with probability $p=1-f_{RO}$ to measurements \n", + "\n", + "Technically, the sRB fidelity already includes effects from $T_1$/$T_2$, however to be explicit we add these as separate terms. In a sense, this model might overestimate the noise on the QPU. " + ] + }, + { + "cell_type": "markdown", + "id": "5769f2f4-de1c-4b47-9e4e-fd8d39b9e975", + "metadata": {}, + "source": [ + "To create the noise model, we iterate over all qubits keys in `one_qubit_data`" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "7442cd27", + "metadata": {}, + "outputs": [], + "source": [ + "noise_model = NoiseModel()\n", + "\n", + "# Readout Noise Model\n", + "for q, data in rigetti.properties.standardized.oneQubitProperties.items():\n", + " try:\n", + " readout_error = 1 - data.oneQubitFidelity[2].fidelity # readout\n", + " noise_model.add_noise(BitFlip(readout_error), ObservableCriteria(qubits=int(q)))\n", + " \n", + " depolarizing_rate = 1 - data.oneQubitFidelity[1].fidelity # SIMULTANEOUS_RANDOMIZED_BENCHMARKING\n", + " noise_model.add_noise(Depolarizing(probability=depolarizing_rate), GateCriteria(qubits=q))\n", + " except:\n", + " pass" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "9d20d24c-17e2-4bba-b317-fb2d156bedb0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of terms in noise model is: 167\n", + "Number of parameters in noise model is: 167\n" + ] + } + ], + "source": [ + "num_params = sum(len(item.noise.parameters) for item in noise_model.instructions)\n", + "print(f\"Number of terms in noise model is: {len(noise_model.instructions)}\")\n", + "print(f\"Number of parameters in noise model is: {num_params}\")" + ] + }, + { + "cell_type": "markdown", + "id": "790c62f7-776a-4e4c-9405-7b7a14eee5b0", + "metadata": {}, + "source": [ + "#### Two-qubit noise \n", + "Next we consider adding two-qubit noise to the model. \n", + "\n", + "Let's first look at the data provided in the Ankaa-2 device calibration data. On the first connect, \"0-1\", the properties are:" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "626cbe56-3649-48eb-a2a1-f669eb790b47", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "TwoQubitProperties(twoQubitGateFidelity=[GateFidelity2Q(direction=None, gateName='ISWAP', fidelity=0.9773180863130815, standardError=0.00408287380553746, fidelityType=FidelityType(name='INTERLEAVED_RANDOMIZED_BENCHMARKING', description=None))])" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "two_qubit_data[\"0-1\"]" + ] + }, + { + "cell_type": "markdown", + "id": "4bcd3be4-a6e4-4cf3-841e-1a451e01803a", + "metadata": {}, + "source": [ + "Here, we see the fidelity per gate (ISWAP or CZ) and the associated standard error. \n", + "\n", + "Next we loop over the entries in the `two_qubit_data` dictionary and add two-qubit depolarizing noise to the model. Notice that Ankaa-2 has symmetric connections (\"0-1\" and \"1-0\") so we need to add noise in both directions." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "80f57550-6549-46b6-9a6d-ff7f0f03e90d", + "metadata": {}, + "outputs": [], + "source": [ + "# Two-qubit noise\n", + "for pair, data in two_qubit_data.items(): # iterate over qubit connections\n", + "\n", + " # parse strings \"0-1\" to integers [0, 1]\n", + " q0, q1 = (int(s) for s in pair.split(\"-\"))\n", + " try:\n", + " if data.twoQubitGateFidelity[0].gateName == \"ISWAP\":\n", + " phase_rate = 1 - data.twoQubitGateFidelity[0].fidelity\n", + " noise_model.add_noise(\n", + " TwoQubitDepolarizing(phase_rate),\n", + " GateCriteria(\n", + " Gate.ISwap, [(q0, q1), (q1, q0)]\n", + " ), # symmetric connections\n", + " )\n", + " except:\n", + " pass" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "82376d08-84bc-4249-9c8d-d7aacdb73113", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of terms in noise model is: 274\n", + "Number of parameters in noise model is: 274\n" + ] + } + ], + "source": [ + "num_params = sum(len(item.noise.parameters) for item in noise_model.instructions)\n", + "print(f\"Number of terms in noise model is: {len(noise_model.instructions)}\")\n", + "print(f\"Number of parameters in noise model is: {num_params}\")" + ] + }, + { + "cell_type": "markdown", + "id": "5913a8a2-a9de-4e32-a35d-c48191891b1f", + "metadata": {}, + "source": [ + "### Compare circuits run on device vs simulator with a noise model\n", + "\n", + "Let's just look at the first 5 qubits. Note that to ensure the noise model applied T1 and T2 noise during the time between gate, we manually add identity gates to each moment." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "6fabbd05-b480-43c6-b43a-d396d81bd687", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T : │ 0 │ 1 │ 2 │\n", + " ┌──────────┐ ┌──────────┐ ┌───────┐ \n", + "q0 : ─┤ Rx(0.50) ├─┤ Rx(3.14) ├─┤ ISWAP ├─\n", + " └──────────┘ └──────────┘ └───┬───┘ \n", + " ┌──────────┐ ┌──────────┐ ┌───┴───┐ \n", + "q1 : ─┤ Rz(0.50) ├─┤ Rx(3.14) ├─┤ ISWAP ├─\n", + " └──────────┘ └──────────┘ └───────┘ \n", + " ┌──────────┐ ┌──────────┐ \n", + "q2 : ─┤ Rz(0.50) ├─┤ Rx(3.14) ├───────────\n", + " └──────────┘ └──────────┘ \n", + "T : │ 0 │ 1 │ 2 │\n" + ] + } + ], + "source": [ + "np.random.seed(42)\n", + "\n", + "circ = Circuit().rx(0, 0.5).rz(1, 0.5).rz(2, 0.5).rx(0, np.pi).rx(1, np.pi).rx(2, np.pi).iswap(0, 1)\n", + "print(circ)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "e2af07ed-33de-4709-9e7c-5e3c3caaa751", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T : │ 0 │ 1 │ 2 │\n", + " ┌──────────┐ ┌──────────┐ ┌───────┐ ┌─────────────┐ \n", + "q0 : ─┤ Rx(0.50) ├─┤ Rx(3.14) ├─┤ ISWAP ├─┤ DEPO(0.023) ├─\n", + " └──────────┘ └──────────┘ └───┬───┘ └──────┬──────┘ \n", + " ┌──────────┐ ┌──────────┐ ┌───┴───┐ ┌──────┴──────┐ \n", + "q1 : ─┤ Rz(0.50) ├─┤ Rx(3.14) ├─┤ ISWAP ├─┤ DEPO(0.023) ├─\n", + " └──────────┘ └──────────┘ └───────┘ └─────────────┘ \n", + " ┌──────────┐ ┌──────────┐ \n", + "q2 : ─┤ Rz(0.50) ├─┤ Rx(3.14) ├───────────────────────────\n", + " └──────────┘ └──────────┘ \n", + "T : │ 0 │ 1 │ 2 │\n" + ] + } + ], + "source": [ + "noisy_circ = noise_model.apply(circ)\n", + "\n", + "print(noisy_circ)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "9304dcf1-a1e8-4e41-a6b5-769841f4eefe", + "metadata": {}, + "outputs": [], + "source": [ + "simulator = LocalSimulator() # noise free simulator\n", + "task = simulator.run(circ, shots=10_000)\n", + "free_probs = task.result().measurement_probabilities" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "0e1d9cfe-03d6-406b-b4ab-89166a907681", + "metadata": {}, + "outputs": [], + "source": [ + "noisy_simulator = LocalSimulator(\"braket_dm\")\n", + "noisy_task = noisy_simulator.run(noisy_circ, shots=10_000)\n", + "noisy_probs = noisy_task.result().measurement_probabilities" + ] + }, + { + "cell_type": "markdown", + "id": "b3f370bd-a8b3-4d5b-a724-da549fc4c81f", + "metadata": {}, + "source": [ + "
\n", + "Note: The below section runs tasks on the Rigetti Ankaa-2 device. When you run this notebook, make sure the device is currently available. You can find QPU availability windows on the Devices page in the Amazon Braket Console.\n", + "
\n", + "\n", + "
\n", + "Note: Running the circuit below will result in charges on your AWS account.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "c8f4664a-0527-46fb-87f2-2a0c85f0bd79", + "metadata": {}, + "outputs": [], + "source": [ + "rigetti_task = rigetti.run(circ, shots=10_000, disable_qubit_rewiring=True)\n", + "rigetti_result = rigetti_task.result()\n", + "rigetti_probs = rigetti_result.measurement_probabilities" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "1676a45c-5ef8-49cc-b227-69f69fa2004a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Ankaa-2noisy_simfree_sim
1100.1866NaNNaN
0110.09960.0061NaN
0010.05280.0055NaN
1110.45550.92140.9384
1010.12540.06700.0616
0100.0229NaNNaN
1000.0443NaNNaN
0000.0129NaNNaN
\n", + "
" + ], + "text/plain": [ + " Ankaa-2 noisy_sim free_sim\n", + "110 0.1866 NaN NaN\n", + "011 0.0996 0.0061 NaN\n", + "001 0.0528 0.0055 NaN\n", + "111 0.4555 0.9214 0.9384\n", + "101 0.1254 0.0670 0.0616\n", + "010 0.0229 NaN NaN\n", + "100 0.0443 NaN NaN\n", + "000 0.0129 NaN NaN" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "free_sim = pd.DataFrame.from_dict(free_probs, orient=\"index\").rename(\n", + " columns={0: \"free_sim\"}\n", + ")\n", + "noisy_sim = pd.DataFrame.from_dict(noisy_probs, orient=\"index\").rename(\n", + " columns={0: \"noisy_sim\"}\n", + ")\n", + "Ankaa = pd.DataFrame.from_dict(rigetti_probs, orient=\"index\").rename(\n", + " columns={0: \"Ankaa-2\"}\n", + ")\n", + "df = Ankaa.join(noisy_sim).join(free_sim)\n", + "df" + ] + }, + { + "cell_type": "markdown", + "id": "472e6850-2603-4174-bf92-b04eb0c38c2f", + "metadata": {}, + "source": [ + "We can compute the fidelity between the free simulation and Rigetti, as well as the noisy simulation and Rigetti. " + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "5b7d1740-cb46-433e-8c2b-7e8b7c10fb4e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Total fidelity between Ankaa-2 and noise-free simulator is 0.7416798056649024\n", + "\n", + "Total fidelity between Ankaa-2 and noisy simulator is 0.7811919904651835\n" + ] + } + ], + "source": [ + "def fidelity(p, q):\n", + " return np.sum(np.sqrt(p * q))\n", + "\n", + "\n", + "f_free_Ankaa = fidelity(df[\"free_sim\"], df[\"Ankaa-2\"])\n", + "f_noisy_Ankaa = fidelity(df[\"noisy_sim\"], df[\"Ankaa-2\"])\n", + "\n", + "print(f\"\\nTotal fidelity between Ankaa-2 and noise-free simulator is {f_free_Ankaa}\")\n", + "print(f\"\\nTotal fidelity between Ankaa-2 and noisy simulator is {f_noisy_Ankaa}\")" + ] + }, + { + "cell_type": "markdown", + "id": "fd4d88b7-015e-445b-ba26-1bdbc6a2bd16", + "metadata": {}, + "source": [ + "To better visualize, we can also plot the output probability distributions from each circuit:" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "9329ed72-2f30-4383-b48f-0d50e1a5dd11", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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/f31zjvv3PeYdbfp06cre/bsatCggV566SVNnz49RZ3k48SIESM0YcIE6/+Bzz33nP7888/7LmPHjh3y8/NTzZo1deXKFUlp/79rypQpql27tvz9/eXq6qoSJUro66+/TtO65cqVyyZQJ3vxxRclKcUxAUDG40w18B+wYMECFSpUSFWqVElT/U6dOmnq1Kl66aWX9O6772rTpk0aOnSo9uzZo59//tmm7sGDB9W6dWu98cYbeu211zRixAg1atRI48eP1/vvv69u3bpJkoYOHaoWLVpo3759Nmcvb926pXr16qlSpUoaPny4lixZosjISCUmJmrQoEHWemPGjFHjxo316quvKiEhQTNnztTLL7+shQsXqkGDBjZ9WrFihX788Uf16NFDuXLluu/APy1atFDBggU1dOhQbdu2Td9++638/f01bNgwa5127drpxx9/VJs2bVSpUiWtXr06xXLv59NPP5WTk5N69+6t2NhYDR8+XK+++qo2bdpkrRMdHa327dvrueee09ChQxUTE6MxY8Zo3bp12r59u3x9fe22vXv3bjVs2FBlypTRoEGD5OrqqoMHD9qE16SkJDVu3Fhr167V66+/ruLFi2vnzp36/PPPtX///nvej1m8eHF99913euedd5QvXz69++67kiQ/Pz9rWBg8eLBcXFzUu3dvxcfHy8XFRStWrFD9+vUVEhKiyMhIOTk5Wb88/vHHH6pQoYIkKSYmRpUqVbIGNz8/Py1evFgdO3ZUXFzcPQdES8u6p+bWrVuqX7++atSooeHDh2v69Onq0aOHPD099cEHH+jVV19Vs2bNNH78eLVt21aVK1dWwYIF79vu/cTFxenbb79Vq1at1LlzZ12+fFmTJk1SeHi4Nm/erLJly8rPz09ff/21unbtqhdffFHNmjWTJJUpU0aS9Pvvv6t+/foqVKiQoqKidP36dY0dO1ZVq1bVtm3bUrzvX375ZRUpUkRDhgxJ8aNVWq1du1Zz585Vt27dlC1bNn3xxRdq3ry5jh8/rpw5c0q6vT+qV68ub29v9enTR1mzZtU333yjmjVravXq1anez5qQkKDw8HDFx8erZ8+eCgwM1MmTJ7Vw4UJdunRJPj4+atOmjTp37qxdu3apVKlS1nn//PNP7d+/Xx9++GGqfT9z5ozq1q0rPz8/9evXT76+vjp69Kjmzp2bpnVv2bKlihcvrk8//VSLFi3Sxx9/rBw5cuibb75R7dq1NWzYME2fPl29e/fWc889pxo1aqRjy6YuLce+7777Tp06dVKFChX0+uuvS5IKFy4sKf37o1u3bvLz89OAAQN09erVdPc3OjpaXl5e6tWrl7y8vLRixQoNGDBAcXFx+uyzz2zqXrx4UfXq1VOzZs3UokULzZkzR3379lXp0qVVv359Sbd/0KxTp46OHz+uN998U3ny5NF3332nFStWpKtf06dPV7NmzeTi4qJWrVrp66+/1p9//qnnnnsuRd0ZM2bo8uXLeuONN2SxWDR8+HA1a9ZMhw8fTvUWkj///FPh4eEqX768fvnlF7m7u0tK+/9dX3/9tUqWLKnGjRsrS5YsWrBggbp166akpCR17949Xeua7PTp05Juh24AD5kBIFOLjY01JBlNmjRJU/0dO3YYkoxOnTrZlPfu3duQZKxYscJaFhQUZEgy1q9fby1bunSpIclwd3c3jh07Zi3/5ptvDEnGypUrrWURERGGJKNnz57WsqSkJKNBgwaGi4uLcfbsWWv5tWvXbPqTkJBglCpVyqhdu7ZNuSTDycnJ2L17d4p1k2RERkZa/46MjDQkGR06dLCp9+KLLxo5c+a0/r1161ZDkvH222/b1GvXrl2KNu1ZuXKlIckoXry4ER8fby0fM2aMIcnYuXOndZ38/f2NUqVKGdevX7fWW7hwoSHJGDBgQIq+J/v8888NSTbb7G7fffed4eTkZPzxxx825ePHjzckGevWrbvnehjG7X3eoEEDu+tXqFAhm/2UlJRkFClSxAgPDzeSkpKs5deuXTMKFixoPP/889ayjh07Grlz5zbOnTtn0/Yrr7xi+Pj4pNj/d0rLuh85csSQZEyZMsValvz+GzJkiLXs4sWLhru7u2GxWIyZM2day/fu3Zvq++duU6ZMMSQZR44csZaFhoYaoaGh1r8TExNt3gvJyw4ICLB5P549ezbV91jZsmUNf39/4/z589ayv/76y3BycjLatm2bop+tWrWyu23SSpLh4uJiHDx40GZ5koyxY8day5o2bWq4uLgYhw4dspadOnXKyJYtm1GjRg1rWfL7JvmYsH37dkOSMXv27FT7cOnSJcPNzc3o27evTfmbb75peHp6GleuXEl13p9//tmQZPz555/3XU97+/n111+3liUmJhr58uUzLBaL8emn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M4Fp1bRpUwUHB2vgwIEKCgqyDsJ1dzCfPXu2li1bpoYNG6pbt26Ki4uTJMXHx6tevXpatWqVypYtq44dO+rmzZtatGiRmjRporFjx9qcTUxv/fRKDtBt27bVc889p0KFCunHH3/UmDFj5OXlZXee+fPna9GiRWrUqJGqVKmiNWvWaNq0aTp06NB9Q+Lly5fVtGlTrVy5UiNHjlSvXr0kSRcuXNDbb7+t6tWr64UXXlD27Nl1+PBhzZ8/X4sXL9aaNWv03HPPWdvZs2ePBgwYoFq1aunFF1+Up6en9u7dqxkzZmjRokXatm2bgoKCTG+XjLBq1SpJUt26dVNMCw8PV3R0tFavXm36iofo6GjdunVLbdu2VdasWe3Wef/993X8+HEtXLhQFovF1HKS286Shf+iAADA449vLMBDVLNmTdWsWVPR0dGSlOoltffStGlTNW3aVAMHDlRwcHCqbSxZskRLly5VWFiYTfmgQYO0atUqffTRRxo4cKA16Fy+fFm1a9fWu+++q2bNmilPnjym6qfH+fPn9csvv6hYsWLWwPraa69p0KBBmjVrlvXM9d0WLFigVatWWe8HvnXrlsLCwrRq1Spt3LhRlSpVsjtfTEyM6tevr127dmnatGl67bXXrNOyZ8+u48ePK2/evDbz7N69W5UqVdL777+v3377zVpevHhx/fvvv8qRI4dN/ZUrVyosLEwff/yxJk6cmKbtMHr0aF26dClNdaXb74GyZcvet96BAwfk5eVldwC7IkWKWOuYYRiGJk+eLCn1S7/XrFmjMWPGaNSoUSpcuLCp5Rw/fly///67cufOrdKlS5tqAwAA4FEiVAOZRJMmTVIE6qSkJH399dcqXLiwTUCWpGzZsmnAgAFq3Lix5s6dqx49eqS7fnp99913SkhIUJs2baxlbdu21aBBgzRp0qRUQ3Xr1q1tBthydnZWRESEVq1apT///NNuqD506JDCw8P177//av78+apXr57NdFdX1xSBWpJKliypWrVqaenSpbp586b1rOmdl1PfqVatWipZsqR+//33+2+A/2/06NE6duxYmusHBwenKVTHxsbK39/f7jRvb29rHTNWr16tQ4cOqVq1anr66adTTL969arat2+vypUrq2fPnqaWcfPmTbVp00bx8fEaNmzYfUcYBwAAeBwQqoFMokKFCinK9u3bp4sXLypPnjwaOHBgiulnz56VJO3du9dU/fSaNGmSLBaLzRnjwoULq0qVKlq/fr327Nmj4sWLp5gvJCQkRVm+fPkkye4Z371796pq1apKTEzUihUrVLFiRbv92bFjh4YPH661a9fq9OnTunnzps30c+fOKXfu3Na/V61apdGjR2vTpk06d+6cEhMTrdPSMwjd0aNH01z3cZF82X5qP3z07t3bes/1/QZCsycpKUnt2rXTmjVr1LlzZ5sfXgAAAB5nhGogkwgICEhRduHCBUm3L2nevXt3qvNevXrVVP302LRpk3bt2qVatWqpQIECNtPatm2r9evXa/LkyXafW518lvVOyffb3rp1K8W0/fv36+LFi6pSpYpKlSpltz/r169X7dq1Jd2+B7lIkSLy8vKSxWLRvHnz9Ndffyk+Pt5af/bs2WrZsqW8vLwUHh6u4OBgeXh4WAdSS8+Z54fFx8cn1TPRyffYp3bG/V5iY2P1008/ydvbWy1atEgxfdWqVRo/frw+++wzFS1aNN3tJyUlqUOHDpoxY4Zee+01jR8/Pt1tAAAAOAqhGsgk7A0KlRxGmzdvrjlz5ty3jfTWT4/kM50rV65MdQCradOmaciQIakOgpVWjRs3VsGCBRUVFaUXXnhBv/76qzw9PW3qfPLJJ4qPj9cff/yhatWq2UzbuHGj/vrrL5uyqKgoubm5aevWrdb7k5PNnDkzXf17WPdUFylSRBs2bNDp06dT3FedfC/13X1Pi+nTp+v69etq27atPDw8UkzfsWOHJOm9996z+8zxffv2yWKxyMfHJ8V6JyUlqX379po2bZpatWql6OhoU2e6AQAAHIVQDWRixYsXl7e3t7Zs2WJzf3BG1U+rq1evaubMmfLw8FCrVq3s1vnzzz/1999/a+HChXrxxRcfeJmRkZFydnbWRx99pPr16+vXX3+1GV380KFDypEjR4pAfe3aNW3bti1Fe4cOHVLJkiVThNJ///1Xhw8fTlffHtY91aGhodqwYYOWLVumtm3b2kxbunSptU56Jf8gktoAZaVKlUr1svBJkybJx8dHL730UopAfmegbtmypb777jvuowYAAE8cQjWQiWXJkkVdu3bVsGHD1Lt3b40YMSJFUN61a5f8/f3l7++f7vppNXv2bF2+fFlt27bVt99+a7fOsmXLFB4erkmTJmVIqJakDz/8UE5OTvrggw9U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KQK1JD399NP64osvVLNmzUffMZgSHx+vrl27qnTp0nanHzt2TAMHDnzEvYJZpUqVUsWKFdW1a1e703fs2MEXgSeMr6+vLBZLqtMNw7jndDxe+CEzc2nYsKFef/11TZo0SeXKlbOZtn37dnXt2lWNGjVyUO9gBj+UZB41a9ZU7969NX36dOXKlctm2rlz59S3b18yiwjVDuPq6nrPMyeXL1+Wq6vrI+wRHkTZsmWVP39+RURE2J3+119/EaqfIFWrVtW+fftSnZ4tWzbu1XzCZMuWTR988IEqVqxod/qBAwf0xhtvPOJewSx+yMxcxo0bp9atWyskJETZs2e33vp25swZXbp0SeHh4Ro3bpyDe4n04IeSzGP8+PF64YUXlDt3bpUuXdrmltWdO3eqRIkSWrhwoYN76XiEagdp2bKlIiIi9Pnnn6tOnTry9vaWdPsSxeXLl6tXr15q1aqVg3uJtGrQoIEuXbqU6vQcOXIwANITZMyYMfecXrhwYa1cufIR9QYZIfk++dDQULvTfX19xRAjTw5+yMxcsmfPrsWLF2vv3r12B28tVqyYg3uI9OKHkswjf/78+uuvv7R06VJt3LjR+vmsUKGChgwZorp16/7nR/6WGKjMYeLj4/X2229r8uTJSkxMtF4ik5CQoCxZsqhjx476/PPPOVsNABlg4sSJun79ut58802702NiYjR+/HhFRkY+4p7BjCFDhujmzZup7q8TJ05owIABmjJlyiPuGYA77dmzxyaI8UMJMitCtYPFxcVp69atNgebkJAQ65lrAI7DI+8AwPF45B3gePa+E1WpUkXPPfecg3v2eCBUA48AXwieLDzyDgAeHzwi7cmUkJCgefPm2Q1iTZo0uedAZnh88J0obQjVj6mYmBh98803GjBggKO7ggzAF4Iny0svvaRTp05pypQpqT7yLk+ePDzyLhPhmPvk4Qt75nG/R979/fffCg0N5f/QJ8jBgwcVHh6uU6dOqWLFijZBbNOmTcqXL58WL16sp556ysE9xf3wnShtCNWPKULYk4UvBJlLtmzZtGbNmhQjlibbunWratasybONMxGOuU8WvrBnLk5OTml65B2fzyfH888/L09PT02bNi3FLY1xcXFq27atrl+/rqVLlzqoh0grvhOlDaN/O8jff/99z+n3epwPHj88Azdz4ZF3mQ/H3Mwl+XFa27dvT/ULe/fu3fnC/oTgkXeZz7p167R582a7YwR5e3tr8ODBqe5vPF74TpQ2hGoHKVu2rCwWi91HuCSXE8KeHHwhyFx45F3mwzE3c+ELe+bCI+8yH19fXx09elSlSpWyO/3o0aPy9fV9tJ2CKXwnShtCtYPkyJFDw4cPV506dexO3717txo1avSIewWz+EKQuYwaNUpJSUl65ZVXUn3k3YgRIxzcS6QHx9zMhS/smUvr1q117dq1VKcHBgbyuLsnTKdOndS2bVt99NFHqlOnjs0tGsuXL9fHH3+snj17OriXSAu+E6UNodpBQkJCdOrUKQUFBdmdfunSJULYE4QvBJmLq6urvv76aw0bNoxH3mUSHHMzF76wZy6dO3e+5/SAgAD+D33CDBo0SJ6envrss8/07rvvWq8EMgxDgYGB6tu3r/r06ePgXiIt+E6UNgxU5iA///yzrl69qtdee83u9IsXL2r+/PmKiIh4xD0DIEnnzp3T5MmT7Y4s3K5dO/n5+Tm4h0gPjrmZz7BhwzRmzBidPn06xRf2t99+my/sTxiOuZnXkSNHbPZpwYIFHdwjpBefz/sjVAMZhANO5vHnn38qPDxcHh4eCgsLS3EW7Nq1a1q6dKnKly/v4J4C4Av7k49j7n/PiRMnFBkZqcmTJzu6K7gPPp9pQ6h+THGwebJwwMlcKlWqpGeeeUbjx49PMXiVYRjq0qWL/v77b23YsMFBPURG45ibubA/nywcc/97eIzhk4PPZ9oQqh9THGyeLBxwMhd3d3dt375dxYoVszt97969KleunK5fv/6Ie4aHhWNu5sL+fLJwzM185s+ff8/phw8f1rvvvstn9AnA5zNtGKjMQdJysMGT46+//lJ0dLTdR/JYLBa98847KleunAN6BjMCAwO1efPmVP8D2bx5s/VqBDwZOOZmLuzPzIVjbubTtGnTVB9jmIzHGD4Z+HymDaHaQTjYZC4ccDKX3r176/XXX9fWrVvtjiw8ceJEHh/xhOGYm7mwPzMXjrmZT+7cufXVV1+pSZMmdqfv2LFDISEhj7hXMIPPZ9oQqh2Eg03mwgEnc+nevbty5cqlzz//XF999ZX18jRnZ2eFhIQoOjpaLVq0cHAvkR4cczMX9mfmwjE38wkJCdHWrVtT/Yze70cxPD74fKYN91Q7SOPGjVW2bFkNGjTI7vS//vpL5cqVU1JS0iPuGcyaNWuWPv/8c23dujXFAadXr14ccJ5QN2/e1Llz5yRJuXLlUtasWR3cI5jBMTdzYX9mXhxzM4c//vhDV69eVb169exOv3r1qrZs2aLQ0NBH3DM8CD6fqSNUOwgHm8yLAw7w+OGYm7mwPwEAjxNCNQAAAAAAJjk5ugMAAAAAADypCNUAAAAAAJhEqAYAAAAAwCRCNQAAAAAAJhGqAQAAAAAwiVANAAAAAIBJhGoAAAAAAEz6fzSHt11n6r/FAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "\n", + "%matplotlib inline\n", + "\n", + "df.plot.bar(\n", + " title=\"Comparing noise-free simulator, noisy simulator, and Ankaa-2\",\n", + " figsize=(12, 6),\n", + ")\n", + "\n", + "text = f\"f_free_Ankaa = {f_free_Ankaa:.3f} \\nf_noise_model_Ankaa = {f_noisy_Ankaa:.3f}\"\n", + "plt.text(1, 0.5, text, fontsize=14)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "aa8ffab8-e062-4c33-9c9d-4a312cd76b63", + "metadata": {}, + "source": [ + "We confirm that the simulator with a noise model is closer to the distribution produced by Ankaa-2." + ] + }, + { + "cell_type": "markdown", + "id": "c4571a5e-2f8d-4767-b28e-a527d2490830", + "metadata": {}, + "source": [ + "### Smaller, reduced noise models\n", + "\n", + "The full Rigetti Ankaa-2 noise model contains due to non-uniform qubit noise. We can obtain simpler, smaller noise models by coarse graining the model above.\n", + "\n", + "Here, we consider taking the average over all qubits for the $T_1$, $T_2$, depolarizing, and readout depolarizing rates. This is a substantially smaller noise model, but may be less accurate. \n", + "\n", + "We use the `from_filter` function to extract all instructions with amplitude dampening noise in the model. We then compute the mean of the error probabilities. " + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "eac8479f-4b29-42d8-a15a-ba10aae82d3f", + "metadata": {}, + "outputs": [], + "source": [ + "avg_depo = np.mean(\n", + " [\n", + " n.noise.parameters\n", + " for n in noise_model.from_filter(noise=Depolarizing).instructions\n", + " ]\n", + ")\n", + "avg_readout = np.mean(\n", + " [n.noise.parameters for n in noise_model.from_filter(noise=BitFlip).instructions]\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "d1a64cae-226c-45d2-9af3-4b5b7a36c7a4", + "metadata": {}, + "source": [ + "Now we construct a new noise model with the mean values above:" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "e49eb24c-5f24-4084-9d4c-c2e7e82fc259", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Gate Noise:\n", + " Depolarizing(0.010099107504894678), GateCriteria(None, None)\n", + "Readout Noise:\n", + " BitFlip(0.06397619047619048), ObservableCriteria(None, None)\n" + ] + } + ], + "source": [ + "simple_noise_model = NoiseModel()\n", + "simple_noise_model.add_noise(Depolarizing(avg_depo), GateCriteria())\n", + "simple_noise_model.add_noise(BitFlip(avg_readout), ObservableCriteria())\n", + "\n", + "print(simple_noise_model)" + ] + }, + { + "cell_type": "markdown", + "id": "b44bbbd1-fb65-4b8f-8dfa-0ea5aa7979b2", + "metadata": {}, + "source": [ + "We can see the resultant circuits contain qubit-independent noise:" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "c83e96f6-54b0-445b-bcdd-8a7a16691b62", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T : │ 0 │ 1 │ 2 │\n", + " ┌──────────┐ ┌────────────┐ ┌──────────┐ ┌────────────┐ ┌───────┐ ┌────────────┐ \n", + "q0 : ─┤ Rx(0.50) ├─┤ DEPO(0.01) ├─┤ Rx(3.14) ├─┤ DEPO(0.01) ├─┤ ISWAP ├─┤ DEPO(0.01) ├─\n", + " └──────────┘ └────────────┘ └──────────┘ └────────────┘ └───┬───┘ └────────────┘ \n", + " ┌──────────┐ ┌────────────┐ ┌──────────┐ ┌────────────┐ ┌───┴───┐ ┌────────────┐ \n", + "q1 : ─┤ Rz(0.50) ├─┤ DEPO(0.01) ├─┤ Rx(3.14) ├─┤ DEPO(0.01) ├─┤ ISWAP ├─┤ DEPO(0.01) ├─\n", + " └──────────┘ └────────────┘ └──────────┘ └────────────┘ └───────┘ └────────────┘ \n", + " ┌──────────┐ ┌────────────┐ ┌──────────┐ ┌────────────┐ \n", + "q2 : ─┤ Rz(0.50) ├─┤ DEPO(0.01) ├─┤ Rx(3.14) ├─┤ DEPO(0.01) ├──────────────────────────\n", + " └──────────┘ └────────────┘ └──────────┘ └────────────┘ \n", + "T : │ 0 │ 1 │ 2 │\n" + ] + } + ], + "source": [ + "simple_noisy_circ = simple_noise_model.apply(circ)\n", + "print(simple_noisy_circ)" + ] + }, + { + "cell_type": "markdown", + "id": "e2c20b79-cbf2-4897-80b3-452c78d56a03", + "metadata": {}, + "source": [ + "We run the circuit on a noisy simulator below" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "a1bb19e8-6824-4a50-b9fb-ae06c14359b6", + "metadata": {}, + "outputs": [], + "source": [ + "simple_noisy_task = noisy_simulator.run(simple_noisy_circ, shots=100_000)\n", + "simple_noisy_probs = simple_noisy_task.result().measurement_probabilities" + ] + }, + { + "cell_type": "markdown", + "id": "76418e5c-be5b-4b3a-8916-c0f56f003cd7", + "metadata": {}, + "source": [ + "and add it to the previous dataframe" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "b4d27a95-612d-4dea-9f6a-98d4525b0a70", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Ankaa-2noisy_simfree_simsimple_noisy_sim
1100.1866NaNNaN0.01230
0110.09960.0061NaN0.01795
0010.05280.0055NaN0.00156
1110.45550.92140.93840.89030
1010.12540.06700.06160.07659
0100.0229NaNNaN0.00019
1000.0443NaNNaN0.00108
0000.0129NaNNaN0.00003
\n", + "
" + ], + "text/plain": [ + " Ankaa-2 noisy_sim free_sim simple_noisy_sim\n", + "110 0.1866 NaN NaN 0.01230\n", + "011 0.0996 0.0061 NaN 0.01795\n", + "001 0.0528 0.0055 NaN 0.00156\n", + "111 0.4555 0.9214 0.9384 0.89030\n", + "101 0.1254 0.0670 0.0616 0.07659\n", + "010 0.0229 NaN NaN 0.00019\n", + "100 0.0443 NaN NaN 0.00108\n", + "000 0.0129 NaN NaN 0.00003" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "simple_noisy_sim = pd.DataFrame.from_dict(simple_noisy_probs, orient=\"index\").rename(\n", + " columns={0: \"simple_noisy_sim\"}\n", + ")\n", + "df = df.join(simple_noisy_sim)\n", + "df" + ] + }, + { + "cell_type": "markdown", + "id": "b1699bc2-712f-4a99-b9d6-0a0920114a13", + "metadata": {}, + "source": [ + "We compute the fidelity between the simple noise model and the QPU:" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "d7710e0b-29ac-4968-aa00-e23cb8b32269", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Total fidelity between Ankaa-2 and full noise model is: 0.7811919904651835\n", + "\n", + "Total fidelity between Ankaa-2 and simple noise model is: 0.8437069124308016\n", + "\n", + "Total fidelity between Ankaa-2 and noise-free is: 0.7416798056649024\n" + ] + } + ], + "source": [ + "f_simple = fidelity(df[\"simple_noisy_sim\"], df[\"Ankaa-2\"])\n", + "\n", + "print(f\"\\nTotal fidelity between Ankaa-2 and full noise model is: {f_noisy_Ankaa}\")\n", + "print(f\"\\nTotal fidelity between Ankaa-2 and simple noise model is: {f_simple}\")\n", + "print(f\"\\nTotal fidelity between Ankaa-2 and noise-free is: {f_free_Ankaa}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "e36e19d0-664a-4cb4-a2e3-0061cd60a6c1", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9UAAAIcCAYAAAD42o3XAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAAB7xUlEQVR4nO3dd3xO5//H8fedyF5GCCESI7W3UrREpaJ21ShKzNq0qlSHWbP4Wi2tmi2lVdSoVRVtUbNqa42gRYySECPI+f3hl7vuZh8ho6/n45FH5ZzrnPM55+S+e7/vc53rWAzDMAQAAAAAAFLNLr0LAAAAAAAgsyJUAwAAAABgEqEaAAAAAACTCNUAAAAAAJhEqAYAAAAAwCRCNQAAAAAAJhGqAQAAAAAwiVANAAAAAIBJhGoAAAAAAEwiVAMAMjyLxaJhw4aldxkJmjdvniwWi8LDw9Nl+xn52GRkYWFhslgsCgsLS5ftd+jQQe7u7umybQBA2iJUA0AmcOLECXXr1k2FCxeWs7OzPD09VaNGDU2ZMkW3bt1K7/KQCR0+fFjDhg1Lty8DMqOPP/5YFotFVatWTe9S0tTNmzf10UcfqW7dusqXL588PDxUoUIFzZgxQ/fv30/v8gAgw8uW3gUAAJK2Zs0atWjRQk5OTmrfvr1Kly6tmJgY/fzzz3rrrbd06NAhffrpp+ld5mN169YtZcuWMf+X1a5dO73yyitycnJK71JS5fDhwxo+fLiCgoIUEBCQ3uVkCgsXLlRAQIB27typ48ePq2jRouldUpo4efKk+vTpozp16qh///7y9PTU+vXr1bNnT/3yyy+aP39+epcIABlaxvyEAgCQJJ06dUqvvPKK/P399cMPPyhfvnzWeb169dLx48e1Zs2adKzw8YmNjVVMTIycnZ3l7Oyc3uUkyt7eXvb29uldRoZx8+ZNubq6pncZae7UqVPatm2bli1bpm7dumnhwoUaOnRoepeVJvLmzasDBw6oVKlS1mndunVTp06dNHfuXL3//vtZ5gsEAHgc6P4NABnY+PHjdePGDc2ePdsmUMcpWrSo+vXrZ/393r17GjlypIoUKSInJycFBATonXfe0Z07d2yWCwgIUMOGDRUWFqbKlSvLxcVFZcqUsd5fumzZMpUpU0bOzs6qVKmSfv31V5vl4+4HPXnypEJCQuTm5iZfX1+NGDFChmHYtJ0wYYKqV6+uXLlyycXFRZUqVdLSpUvj7YvFYlHv3r21cOFClSpVSk5OTlq3bp113sP3DQ8bNkwWi0XHjx9Xhw4dlD17dnl5ealjx466efOmzXpv3bqlvn37ytvbWx4eHmrcuLH++uuvFN+LPG3aNJUqVUqurq7KkSOHKleurEWLFlnnJ3RP9aMe36CgIAUFBcWrpUOHDsleVT59+rR69uypYsWKycXFRbly5VKLFi1s6ps3b55atGghSapdu7YsFku8+4s//vhj63nw9fVVr169dO3atXh1li5dWnv27FHNmjXl6uqqd955R5K0e/duhYSEyNvbWy4uLipUqJA6deqUZO2S9O2336pBgwby9fWVk5OTihQpopEjR8brhhy37cOHD6t27dpydXVV/vz5NX78+Hjr/PPPP9W0aVO5ubkpT548euONN+K9JpKzcOFC5ciRQw0aNFDz5s21cOHCeG3Cw8NlsVg0YcIEffrpp9bX4dNPP61du3Ylu419+/Ypd+7cCgoK0o0bNySl/PUzd+5cPf/888qTJ4+cnJxUsmRJzZgxI0X75u3tbROo47z00kuSpCNHjqRoPQDwX8WVagDIwFatWqXChQurevXqKWrfpUsXzZ8/X82bN9ebb76pHTt2aMyYMTpy5IiWL19u0/b48eNq06aNunXrpldffVUTJkxQo0aNNHPmTL3zzjvq2bOnJGnMmDFq2bKljh07Jju7f76LvX//vurVq6dnnnlG48eP17p16zR06FDdu3dPI0aMsLabMmWKGjdurLZt2yomJkaLFy9WixYttHr1ajVo0MCmph9++EFfffWVevfuLW9v72QDZMuWLVWoUCGNGTNGe/fu1WeffaY8efJo3Lhx1jYdOnTQV199pXbt2umZZ57Rli1b4m03MbNmzVLfvn3VvHlz9evXT7dv39b+/fu1Y8cOtWnTJsllH/X4mrVr1y5t27ZNr7zyigoUKKDw8HDNmDFDQUFBOnz4sFxdXVWzZk317dtXU6dO1TvvvKMSJUpIkvW/w4YN0/DhwxUcHKwePXro2LFjmjFjhnbt2qWtW7fKwcHBur0rV67oxRdf1CuvvKJXX31VPj4+unjxourWravcuXPr7bffVvbs2RUeHq5ly5YlW/+8efPk7u6u/v37y93dXT/88IOGDBmiqKgoffjhhzZtr169qnr16qlZs2Zq2bKlli5dqkGDBqlMmTJ68cUXJT34UqVOnTo6c+aM+vbtK19fX33++ef64YcfUnVcFy5cqGbNmsnR0VGtW7e2Ho+nn346XttFixbp+vXr6tatmywWi8aPH69mzZrp5MmTNsfuYbt27VJISIgqV66sb7/9Vi4uLpJS/vqZMWOGSpUqpcaNGytbtmxatWqVevbsqdjYWPXq1StV+xrnwoULkh6EbgBAEgwAQIYUGRlpSDKaNGmSovb79u0zJBldunSxmT5gwABDkvHDDz9Yp/n7+xuSjG3btlmnrV+/3pBkuLi4GKdPn7ZO/+STTwxJxubNm63TQkNDDUlGnz59rNNiY2ONBg0aGI6OjsalS5es02/evGlTT0xMjFG6dGnj+eeft5kuybCzszMOHToUb98kGUOHDrX+PnToUEOS0alTJ5t2L730kpErVy7r73v27DEkGa+//rpNuw4dOsRbZ0KaNGlilCpVKsk2c+fONSQZp06dsk571ONbq1Yto1atWvG2FRoaavj7+9tM+/d+/Pt4G4ZhbN++3ZBkLFiwwDrt66+/jrddwzCMixcvGo6OjkbdunWN+/fvW6dPnz7dkGTMmTPHpk5JxsyZM23WsXz5ckOSsWvXrni1JCeh+rt162a4uroat2/fjrfth/fpzp07Rt68eY2XX37ZOm3y5MmGJOOrr76yTouOjjaKFi2a4P4nZPfu3YYkY+PGjYZhPPhbL1CggNGvXz+bdqdOnTIkGbly5TL+/vtv6/Rvv/3WkGSsWrXKOi00NNRwc3MzDMMwfv75Z8PT09No0KCBzT4mdDwSe/0kdNxCQkKMwoULJ7t/Cblz545RsmRJo1ChQsbdu3dNrQMA/ivo/g0AGVRUVJQkycPDI0Xtv/vuO0lS//79baa/+eabkhTv3uuSJUuqWrVq1t/jRjR+/vnnVbBgwXjTT548GW+bvXv3tv47rvt2TEyMvv/+e+v0uCtu0oMri5GRkXruuee0d+/eeOurVauWSpYsmcye/qN79+42vz/33HO6cuWK9djFdR+Puyocp0+fPilaf/bs2fXnn3+mqOvuv6XF8TXj4eN99+5dXblyRUWLFlX27NkTPOb/9v333ysmJkavv/66zZXzrl27ytPTM97fkZOTkzp27GgzLXv27JKk1atX6+7du6brv379ui5fvqznnntON2/e1NGjR23auru769VXX7X+7ujoqCpVqtgcy++++0758uVT8+bNrdNcXV312muvpbimhQsXysfHR7Vr15b04G+9VatWWrx4cYKjY7dq1Uo5cuSw/v7cc89JSvgcb968WSEhIapTp46WLVsWb8C7lL5+Hm4XGRmpy5cvq1atWjp58qQiIyNTvK9xevfurcOHD2v69OkZdpBAAMgoCNUAkEF5enpKehAsUuL06dOys7OLN6BQ3rx5lT17dp0+fdpm+sPBTpK8vLwkSX5+fglOv3r1qs10Ozs7FS5c2GbaU089JUk29++uXr1azzzzjJydnZUzZ07lzp1bM2bMSPCDfqFChZLbzST3IS7IxNUad0z+vd6UDro0aNAgubu7q0qVKgoMDFSvXr20detWU7Wl9viadevWLQ0ZMkR+fn5ycnKSt7e3cufOrWvXrqUoXMX9nRQrVsxmuqOjowoXLhzv7yh//vxydHS0mVarVi29/PLLGj58uLy9vdWkSRPNnTs3RfcxHzp0SC+99JK8vLzk6emp3LlzW4Pzv+svUKCALBaLzbQcOXLYHMvTp0+raNGi8dr9e/8Sc//+fS1evFi1a9fWqVOndPz4cR0/flxVq1ZVRESENm3aFG+Z5P4u49y+fVsNGjRQhQoV9NVXX8U7jlLKXz9bt25VcHCw3NzclD17duXOndt6f3tc28jISF24cMH68/fffye4zx9++KFmzZqlkSNHqn79+ik6TgDwX0aoBoAMytPTU76+vjp48GCqlvt3eEhMYiNWJzbd+NcAZCnx008/qXHjxnJ2dtbHH3+s7777Ths3blSbNm0SXN/DV9tSIi1rTUiJEiV07NgxLV68WM8++6y++eYbPfvssyka9flRjm9i5zAlzwzu06ePRo0apZYtW+qrr77Shg0btHHjRuXKlUuxsbHJLp9aCZ0zi8WipUuXavv27erdu7f++usvderUSZUqVbIOwJWQa9euqVatWvrtt980YsQIrVq1Shs3brTeI//v+h/3+Zce3Od//vx5LV68WIGBgdafli1bSlKCA5altC4nJyc1aNBAO3bssPaqeFhKXz8nTpxQnTp1dPnyZU2aNElr1qzRxo0b9cYbb0j657j169dP+fLls/40a9Ys3jbnzZunQYMGqXv37nrvvfdSeJQA4L+N/jwAkIE1bNhQn376qbZv327TlTgh/v7+io2N1R9//GEdcEqSIiIidO3aNfn7+6dpbbGxsTp58qT16rQk/f7775JkHWDsm2++kbOzs9avX2/TrXXu3LlpWkti4o7JqVOnFBgYaJ1+/PjxFK/Dzc1NrVq1UqtWrRQTE6NmzZpp1KhRGjx48GN71FeOHDkS7Cr876vECVm6dKlCQ0M1ceJE67Tbt2/HG7k7seAe93dy7Ngxm54IMTExOnXqlIKDg1OyC5KkZ555Rs8884xGjRqlRYsWqW3btlq8eLG6dOmSYPuwsDBduXJFy5YtU82aNa3TT506leJt/pu/v78OHjwowzBs9vnYsWMpWn7hwoXKkyePPvroo3jzli1bpuXLl2vmzJmp/kJIenAOFi5cqCZNmqhFixZau3atzajvKX39rFq1Snfu3NHKlSttrpJv3rzZpt3AgQNtuss/3EVdejDyepcuXdSsWbME9xcAkDCuVANABjZw4EC5ubmpS5cuioiIiDf/xIkTmjJliiRZu2lOnjzZps2kSZMkKcUjXqfG9OnTrf82DEPTp0+Xg4OD6tSpI+nBFTuLxWJzhTU8PFwrVqxI81oSEhISIunB46EeNm3atBQtf+XKFZvfHR0dVbJkSRmGkep7hVOjSJEiOnr0qC5dumSd9ttvv6Wo67m9vX28K6LTpk2Ld5Xbzc1NkuKF7eDgYDk6Omrq1Kk265k9e7YiIyNT9Hd09erVeDWUL19ekpLsAh53hffhZWNiYuKdv9SoX7++zp07Z/MYqps3b+rTTz9Ndtlbt25p2bJlatiwoZo3bx7vp3fv3rp+/bpWrlxpuj5HR0ctW7ZMTz/9tBo1aqSdO3da56X09ZPQcYuMjIwXvkuWLKng4GDrT6VKlazzfvzxR73yyiuqWbOmFi5cmCYj0QPAfwVXqgEgAytSpIgWLVqkVq1aqUSJEmrfvr1Kly6tmJgYbdu2TV9//bU6dOggSSpXrpxCQ0P16aefWrvR7ty5U/Pnz1fTpk2tgyylFWdnZ61bt06hoaGqWrWq1q5dqzVr1uidd95R7ty5JT0I8pMmTVK9evXUpk0bXbx4UR999JGKFi2q/fv3p2k9CalUqZJefvllTZ48WVeuXLE+UivuinpyXeXr1q2rvHnzqkaNGvLx8dGRI0c0ffp0NWjQIMUDyJnRqVMnTZo0SSEhIercubMuXryomTNnqlSpUtZB2BLTsGFDff755/Ly8lLJkiW1fft2ff/998qVK5dNu/Lly8ve3l7jxo1TZGSknJycrM85Hjx4sIYPH6569eqpcePGOnbsmD7++GM9/fTTNlc6EzN//nx9/PHHeumll1SkSBFdv35ds2bNkqenZ5L36FavXl05cuRQaGio+vbtK4vFos8///yRunN37dpV06dPV/v27bVnzx7ly5dPn3/+uVxdXZNdduXKlbp+/boaN26c4PxnnnlGuXPn1sKFC9WqVSvTNbq4uGj16tV6/vnn9eKLL2rLli0qXbp0il8/devWlaOjoxo1aqRu3brpxo0bmjVrlvLkyaPz588nu/3Tp0+rcePGslgsat68ub7++mub+WXLllXZsmVN7x8AZHlPfsBxAEBq/f7770bXrl2NgIAAw9HR0fDw8DBq1KhhTJs2zeYRPHfv3jWGDx9uFCpUyHBwcDD8/PyMwYMHx3tMj7+/v9GgQYN425Fk9OrVy2Za3GOCPvzwQ+u0uMcBnThxwqhbt67h6upq+Pj4GEOHDrV5DJNhGMbs2bONwMBAw8nJyShevLgxd+5c6yOxktv2w/MSeqTWw4/uMoyEH28VHR1t9OrVy8iZM6fh7u5uNG3a1Dh27JghyRg7dmyC24vzySefGDVr1jRy5cplODk5GUWKFDHeeustIzIyMsltPurxNQzD+OKLL4zChQsbjo6ORvny5Y3169en6JFaV69eNTp27Gh4e3sb7u7uRkhIiHH06FHD39/fCA0NtVl21qxZRuHChQ17e/t4j5eaPn26Ubx4ccPBwcHw8fExevToYVy9etVm+Vq1aiX4yLG9e/carVu3NgoWLGg4OTkZefLkMRo2bGjs3r07Xtt/27p1q/HMM88YLi4uhq+vrzFw4EDr48j+/dixhLad0DE6ffq00bhxY8PV1dXw9vY2+vXrZ6xbty7ZR2o1atTIcHZ2NqKjoxNt06FDB8PBwcG4fPlyoufSMOKfp4cfqRXn8uXLRsmSJY28efMaf/zxh2EYKX/9rFy50ihbtqzh7OxsBAQEGOPGjTPmzJkT728zIZs3bzYkJfqT3KPnAOC/zmIYaTiaBwDgP6FDhw5aunRpkoNOZWT79u1ThQoV9MUXX6ht27bpXQ4AAMjEuGEGAJCl3bp1K960yZMny87OzmYwLAAAADO4pxoAkKWNHz9ee/bsUe3atZUtWzatXbtWa9eu1WuvvRbvmdEAAACpRagGAGRp1atX18aNGzVy5EjduHFDBQsW1LBhw/Tuu++md2kAACAL4J5qAAAAAABM4p5qAAAAAABMIlQDAAAAAGBSprinOjY2VufOnZOHh4csFkt6lwMAAAAAyOIMw9D169fl6+srO7vEr0dnilB97tw5RmgFAAAAADxxZ8+eVYECBRKdnylCtYeHh6QHO+Pp6ZnO1QAAAAAAsrqoqCj5+flZ82hiMkWojuvy7enpSagGAAAAADwxyd2CzEBlAAAAAACYRKgGAAAAAMAkQjUAAAAAACZlinuqAQAAAGQ+hmHo3r17un//fnqXAsRjb2+vbNmyPfJjmwnVAAAAANJcTEyMzp8/r5s3b6Z3KUCiXF1dlS9fPjk6OppeB6EaAAAAQJqKjY3VqVOnZG9vL19fXzk6Oj7y1UAgLRmGoZiYGF26dEmnTp1SYGCg7OzM3R1NqAYAAACQpmJiYhQbGys/Pz+5urqmdzlAglxcXOTg4KDTp08rJiZGzs7OptbDQGUAAAAAHguzV/6AJyUt/kb5KwcAAAAAwCRCNQAAAAAAJnFPNQAAAIAnJuDtNU9sW+FjGzyxbT1s2LBhWrFihfbt25cu28eTxZVqAAAAAPiX7du3y97eXg0apE8wN2PZsmV64YUXlDt3bnl6eqpatWpav359epeV5RGqAQAAAOBfZs+erT59+ujHH3/UuXPn0rucFPnxxx/1wgsv6LvvvtOePXtUu3ZtNWrUSL/++mt6l5alEaoBAAAA4CE3btzQkiVL1KNHDzVo0EDz5s2zzgsLC5PFYtGmTZtUuXJlubq6qnr16jp27Fii6ztx4oQKFy6s3r17yzAM7dq1Sy+88IK8vb3l5eWlWrVqae/evTbLTJo0SWXKlJGbm5v8/PzUs2dP3bhxI8m6J0+erIEDB+rpp59WYGCgRo8ercDAQK1ateqRjgeSRqgGAAAAgId89dVXKl68uIoVK6ZXX31Vc+bMkWEYNm3effddTZw4Ubt371a2bNnUqVOnBNe1f/9+Pfvss2rTpo2mT58ui8Wi69evKzQ0VD///LN++eUXBQYGqn79+rp+/bp1OTs7O02dOlWHDh3S/Pnz9cMPP2jgwIGp2o/Y2Fhdv35dOXPmTP1BQIoxUBkAAAAAPGT27Nl69dVXJUn16tVTZGSktmzZoqCgIGubUaNGqVatWpKkt99+Ww0aNNDt27fl7OxsbbNt2zY1bNhQ7777rt58803r9Oeff95me59++qmyZ8+uLVu2qGHDhpKk119/3To/ICBAH3zwgbp3766PP/44xfsxYcIE3bhxQy1btkzxMkg9rlQDAAAAwP87duyYdu7cqdatW0uSsmXLplatWmn27Nk27cqWLWv9d758+SRJFy9etE47c+aMXnjhBQ0ZMsQmUEtSRESEunbtqsDAQHl5ecnT01M3btzQmTNnrG2+//571alTR/nz55eHh4fatWunK1eu6ObNm5Ikd3d360/37t3j7ceiRYs0fPhwffXVV8qTJ88jHhUkhSvVAAAAAPD/Zs+erXv37snX19c6zTAMOTk5afr06dZpDg4O1n9bLBZJD7pbx8mdO7d8fX315ZdfqlOnTvL09LTOCw0N1ZUrVzRlyhT5+/vLyclJ1apVU0xMjCQpPDxcDRs2VI8ePTRq1CjlzJlTP//8szp37qyYmBi5urraPK7r4XVL0uLFi9WlSxd9/fXXCg4OTpsDg0QRqgEAAABA0r1797RgwQJNnDhRdevWtZnXtGlTffnllypevHiK1uXi4qLVq1erfv36CgkJ0YYNG+Th4SFJ2rp1qz7++GPVr19fknT27FldvnzZuuyePXsUGxuriRMnys7uQefir776ymb9RYsWTXC7cSF+8eLFmepxYJkZoRoA8J9VZn4ZU8sdCD2QxpUAADKC1atX6+rVq+rcubO8vLxs5r388suaPXu2PvzwwxSvz83NTWvWrNGLL76oF198UevWrZO7u7sCAwP1+eefq3LlyoqKitJbb70lFxcX63JFixbV3bt3NW3aNDVq1Ehbt27VzJkzk93eokWLFBoaqilTpqhq1aq6cOGCpAcB/9/7g7RDqAYAAADwxISPzbhXT2fPnq3g4OAEA+jLL7+s8ePHa//+/alap7u7u9auXauQkBA1aNBA3333nWbPnq3XXntNFStWlJ+fn0aPHq0BAwZYlylXrpwmTZqkcePGafDgwapZs6bGjBmj9u3bJ7mtTz/9VPfu3VOvXr3Uq1cv6/TQ0FCbx4IhbVmMf48NnwFFRUXJy8tLkZGR8e4XAADALK5UA8Djcfv2bZ06dUqFChWyGQ0byGiS+ltNaQ5l9G8AAAAAAEwiVAMAAAAAYBKhGgAAAAAAkwjVAAAAAACYRKgGAAAAAMAkHqkFAMjchj3CczcLFUy7OgAAwH8SV6oBAAAAADCJUA0AAAAAgEmEagAAAAAATOKeagAAAABPzqOMhZHqbUU+uW3FbXLYMK1YsUL79u174tuOEx4erkKFCunXX39V+fLl062O/wquVAMAAABAGhkwYIA2bdqUrjX4+fnp/PnzKl26dLrW8V/BlWoAAAAASCPu7u5yd3dP1xrs7e2VN2/edK3hv4Qr1QAAAADw/4KCgtS3b18NHDhQOXPmVN68eTVs2DDr/DNnzqhJkyZyd3eXp6enWrZsqYiICOv8YcOG2XS5DgsLU5UqVeTm5qbs2bOrRo0aOn36tMLDw2VnZ6fdu3fbbH/y5Mny9/dXbGxsknVevXpVbdu2Ve7cueXi4qLAwEDNnTtX0oPu3xaLxdoFPSwsTBaLRevXr1eFChXk4uKi559/XhcvXtTatWtVokQJeXp6qk2bNrp58+ajHcD/IEI1AAAAADxk/vz5cnNz044dOzR+/HiNGDFCGzduVGxsrJo0aaK///5bW7Zs0caNG3Xy5Em1atUqwfXcu3dPTZs2Va1atbR//35t375dr732miwWiwICAhQcHGwNwnHmzp2rDh06yM4u6aj2/vvv6/Dhw1q7dq2OHDmiGTNmyNvbO8llhg0bpunTp2vbtm06e/asWrZsqcmTJ2vRokVas2aNNmzYoGnTpqXuYIHu3wAAAADwsLJly2ro0KGSpMDAQE2fPt16n/SBAwd06tQp+fn5SZIWLFigUqVKadeuXXr66adt1hMVFaXIyEg1bNhQRYoUkSSVKFHCOr9Lly7q3r27Jk2aJCcnJ+3du1cHDhzQt99+m2yNZ86cUYUKFVS5cmVJUkBAQLLLfPDBB6pRo4YkqXPnzho8eLBOnDihwoULS5KaN2+uzZs3a9CgQcmuC//gSjUAAAAAPKRs2bI2v+fLl08XL17UkSNH5OfnZw3UklSyZEllz55dR44cibeenDlzqkOHDgoJCVGjRo00ZcoUnT9/3jq/adOmsre31/LlyyVJ8+bNU+3atVMUkHv06KHFixerfPnyGjhwoLZt25aq/fLx8ZGrq6s1UMdNu3jxYrLrgS1CNQAAAAA8xMHBweZ3i8WS7D3OiZk7d662b9+u6tWra8mSJXrqqaf0yy+/SJIcHR3Vvn17zZ07VzExMVq0aJE6deqUovW++OKLOn36tN544w2dO3dOderU0YABA1K8XxaLJU3387+MUA0AAAAAKVCiRAmdPXtWZ8+etU47fPiwrl27ppIlSya6XIUKFTR48GBt27ZNpUuX1qJFi6zzunTpou+//14ff/yx7t27p2bNmqW4nty5cys0NFRffPGFJk+erE8//dTcjuGRcE81AAAAAKRAcHCwypQpo7Zt22ry5Mm6d++eevbsqVq1alnvbX7YqVOn9Omnn6px48by9fXVsWPH9Mcff6h9+/bWNiVKlNAzzzyjQYMGqVOnTnJxcUlRLUOGDFGlSpVUqlQp3blzR6tXr7a5XxtPDqEaAIBUOlLc/IeWEkfj33MHAP8pwyLTuwLTLBaLvv32W/Xp00c1a9aUnZ2d6tWrl+iI2a6urjp69Kjmz5+vK1euKF++fOrVq5e6detm065z587atm1birt+Sw+6jg8ePFjh4eFycXHRc889p8WLFz/S/sEci2EYRnoXkZyoqCh5eXkpMjJSnp6e6V0OACAjGeZletEyhQqaWu6rMfdMb5NQDeC/4Pbt2zp16pQKFSokZ2fn9C4nwxs5cqS+/vpr7d+/P71L+c9J6m81pTmUe6oBAAAAIB3cuHFDBw8e1PTp09WnT5/0LgcmEaoBAAAAIB307t1blSpVUlBQULyu3927d5e7u3uCP927d0+nipEQ7qkGAAAAgHQwb948zZs3L8F5I0aMSPQRWdwSm7EQqgEAAAAgg8mTJ4/y5MmT3mUgBej+DQAAAACASYRqAAAAAABMIlQDAAAAAGASoRoAAAAAAJMI1QAAAAAAmMTo3wAAAACemDLzyzyxbR0IPZDqZQzDULdu3bR06VJdvXpVv/76q8qXL5/2xZkUHh6uQoUKZbi6/ssI1QAAAADw/9atW6d58+YpLCxMhQsXlre3d3qXZMPPz0/nz5/PcHX9lxGqAQAAAOD/nThxQvny5VP16tUTnB8TEyNHR8cnXNU/7O3tlTdv3nTbPuLjnmoAAAAAkNShQwf16dNHZ86ckcViUUBAgIKCgtS7d2+9/vrr8vb2VkhIiCTp4MGDevHFF+Xu7i4fHx+1a9dOly9ftq4rNjZWY8aMUaFCheTi4qJy5cpp6dKlKarj6tWratu2rXLnzi0XFxcFBgZq7ty5kh50/7ZYLNq3b58kKSwsTBaLRevXr1eFChXk4uKi559/XhcvXtTatWtVokQJeXp6qk2bNrp582baHjBIIlQDAAAAgCRpypQpGjFihAoUKKDz589r165dkqT58+fL0dFRW7du1cyZM3Xt2jU9//zzqlChgnbv3q1169YpIiJCLVu2tK5rzJgxWrBggWbOnKlDhw7pjTfe0KuvvqotW7YkW8f777+vw4cPa+3atTpy5IhmzJiRbHfvYcOGafr06dq2bZvOnj2rli1bavLkyVq0aJHWrFmjDRs2aNq0aY92gJAgun8DAAAAgCQvLy95eHjE62IdGBio8ePHW3//4IMPVKFCBY0ePdo6bc6cOfLz89Pvv/8uf39/jR49Wt9//72qVasmSSpcuLB+/vlnffLJJ6pVq1aSdZw5c0YVKlRQ5cqVJUkBAQHJ1v7BBx+oRo0akqTOnTtr8ODBOnHihAoXLixJat68uTZv3qxBgwal7GAgxQjVAAAAAJCESpUq2fz+22+/afPmzXJ3d4/X9sSJE7p7965u3rypF154wWZeTEyMKlSokOz2evTooZdffll79+5V3bp11bRp00Tv8Y5TtmxZ6799fHzk6upqDdRx03bu3JnstpF6hGoAAAAASIKbm5vN7zdu3FCjRo00bty4eG3z5cungwcPSpLWrFmj/Pnz28x3cnJKdnsvvviiTp8+re+++04bN25UnTp11KtXL02YMCHRZRwcHKz/tlgsNr/HTYuNjU1220g9QjUAAAAApELFihX1zTffKCAgQNmyxY9UJUuWlJOTk86cOZNsV+/E5M6dW6GhoQoNDdVzzz2nt956K8lQjfRDqAYAAACAVOjVq5dmzZql1q1ba+DAgcqZM6eOHz+uxYsX67PPPpOHh4cGDBigN954Q7GxsXr22WcVGRmprVu3ytPTU6GhoUmuf8iQIapUqZJKlSqlO3fuaPXq1SpRosQT2jukFqEaAAAAwBNzIPRAepfwyHx9fbV161YNGjRIdevW1Z07d+Tv76969erJzu7BA5ZGjhyp3Llza8yYMTp58qSyZ8+uihUr6p133kl2/Y6Ojho8eLDCw8Pl4uKi5557TosXL37cuwWTLIZhGOldRHKioqLk5eWlyMhIeXp6pnc5AICMZJiX6UXLFCpoarmvxtwzvc0SR4+YXhYAMovbt2/r1KlTKlSokJydndO7HCBRSf2tpjSH8pxqAAAAAABMIlQDAAAAwBPUvXt3ubu7J/jTvXv39C4PqcQ91QAAAADwBI0YMUIDBgxIcB63u2Y+hGoAAAAAeILy5MmjPHnypHcZSCN0/wYAAAAAwCRCNQAAAAAAJhGqAQAAAAAwiVANAAAAAIBJhGoAAAAAAEwiVAMAAABAMjp06KCmTZs+9u3MmzdP2bNnf+zbSY2goCC9/vrr6VpDRjwucXikFgAAAIAn5kjxEk9sWyWOHkmzdU2ZMkWGYaTZ+jKTZcuWycHBIV1raNWqlerXr5+uNSSGUA0AAAAAyfDy8krvEtJNzpw507sEubi4yMXFJb3LSBDdvwEAAADg/y1dulRlypSRi4uLcuXKpeDgYEVHR8fr/h0UFKQ+ffro9ddfV44cOeTj46NZs2YpOjpaHTt2lIeHh4oWLaq1a9dalwkLC5PFYtGaNWtUtmxZOTs765lnntHBgweTrOnbb79VxYoV5ezsrMKFC2v48OG6d+9eivbHYrHos88+00svvSRXV1cFBgZq5cqVNm22bNmiKlWqyMnJSfny5dPbb79ts/5/d//++OOPFRgYKGdnZ/n4+Kh58+aSpAULFihXrly6c+eOzfqbNm2qdu3aJVvrb7/9ptq1a8vDw0Oenp6qVKmSdu/eLSl+9+9hw4apfPnymjNnjgoWLCh3d3f17NlT9+/f1/jx45U3b17lyZNHo0aNStFxehSEagAAAACQdP78ebVu3VqdOnXSkSNHFBYWpmbNmiXa7Xv+/Pny9vbWzp071adPH/Xo0UMtWrRQ9erVtXfvXtWtW1ft2rXTzZs3bZZ76623NHHiRO3atUu5c+dWo0aNdPfu3QS38dNPP6l9+/bq16+fDh8+rE8++UTz5s1LVVgcPny4WrZsqf3796t+/fpq27at/v77b0nSX3/9pfr16+vpp5/Wb7/9phkzZmj27Nn64IMPElzX7t271bdvX40YMULHjh3TunXrVLNmTUlSixYtdP/+fZvQfvHiRa1Zs0adOnVKts62bduqQIEC2rVrl/bs2aO33347yW7nJ06c0Nq1a7Vu3Tp9+eWXmj17tho0aKA///xTW7Zs0bhx4/Tee+9px44dKT5WZhCqAQAAAEAPQvW9e/fUrFkzBQQEqEyZMurZs6fc3d0TbF+uXDm99957CgwM1ODBg+Xs7Cxvb2917dpVgYGBGjJkiK5cuaL9+/fbLDd06FC98MILKlOmjObPn6+IiAgtX748wW0MHz5cb7/9tkJDQ1W4cGG98MILGjlypD755JMU71eHDh3UunVrFS1aVKNHj9aNGze0c+dOSQ+uOvv5+Wn69OkqXry4mjZtquHDh2vixImKjY2Nt64zZ87Izc1NDRs2lL+/vypUqKC+fftKetBFu02bNpo7d661/RdffKGCBQsqKCgo2TrPnDmj4OBgFS9eXIGBgWrRooXKlSuXaPvY2FjNmTNHJUuWVKNGjVS7dm0dO3ZMkydPVrFixdSxY0cVK1ZMmzdvTvGxMoNQDQAAAAB6EJLr1KmjMmXKqEWLFpo1a5auXr2aaPuyZcta/21vb69cuXKpTJky1mk+Pj6SHlytfVi1atWs/86ZM6eKFSumI0cSHlTtt99+04gRI+Tu7m796dq1q86fPx/vCnhK6nRzc5Onp6e1piNHjqhatWqyWCzWNjVq1NCNGzf0559/xlvXCy+8IH9/fxUuXFjt2rXTwoULbero2rWrNmzYoL/++kvSg27bHTp0sFl/Yvr3768uXbooODhYY8eO1YkTJ5JsHxAQIA8PD+vvPj4+KlmypOzs7Gym/fv4pzVTofqjjz5SQECAnJ2dVbVqVeu3HImJ+6bAxcVFfn5+euONN3T79m1TBQMAAADA42Bvb6+NGzdq7dq1KlmypKZNm6ZixYrp1KlTCbb/d9dki8ViMy0uSCZ0xTelbty4oeHDh2vfvn3WnwMHDuiPP/6Qs7NzitaRUJ1ma/Lw8NDevXv15ZdfKl++fBoyZIjKlSuna9euSZIqVKigcuXKacGCBdqzZ48OHTqkDh06pGjdw4YN06FDh9SgQQP98MMPKlmyZKJX8BPbr7Tc15RKdahesmSJ+vfvr6FDh2rv3r0qV66cQkJCEk3/ixYt0ttvv62hQ4fqyJEjmj17tpYsWaJ33nnnkYsHAAAAgLRksVhUo0YNDR8+XL/++qscHR2TDHZm/PLLL9Z/X716Vb///rtKlEj4UWMVK1bUsWPHVLRo0Xg/D1+RNatEiRLavn27zX3jW7dulYeHhwoUKJDgMtmyZVNwcLDGjx+v/fv3Kzw8XD/88IN1fpcuXTRv3jzNnTtXwcHB8vPzS3E9Tz31lN544w1t2LBBzZo1s+lKnlGl+ixMmjRJXbt2VceOHVWyZEnNnDlTrq6umjNnToLtt23bpho1aqhNmzYKCAhQ3bp11bp162SvbgMAAADAk7Rjxw6NHj1au3fv1pkzZ7Rs2TJdunQp0cBr1ogRI7Rp0yYdPHhQHTp0kLe3t83I4g8bMmSIFixYoOHDh+vQoUM6cuSIFi9erPfeey9NaunZs6fOnj2rPn366OjRo/r22281dOhQ9e/fP8HQvnr1ak2dOlX79u3T6dOntWDBAsXGxqpYsWLWNm3atNGff/6pWbNmpWiAMkm6deuWevfurbCwMJ0+fVpbt27Vrl270vzYPw6pek51TEyM9uzZo8GDB1un2dnZKTg4WNu3b09wmerVq+uLL77Qzp07VaVKFZ08eVLfffddkkOq37lzx2YY9qioqNSUCQAAACCDKnE04XuHMwJPT0/9+OOPmjx5sqKiouTv76+JEyfqxRdf1JIlS9JsO2PHjlW/fv30xx9/qHz58lq1apUcHR0TbBsSEqLVq1drxIgRGjdunBwcHFS8eHF16dIlTWrJnz+/vvvuO7311lsqV66ccubMqc6dOyca2rNnz65ly5Zp2LBhun37tgIDA/Xll1+qVKlS1jZeXl56+eWXtWbNmkS/LPg3e3t7XblyRe3bt1dERIS8vb3VrFkzDR8+PC1287GyGImND5+Ac+fOKX/+/Nq2bZvNzfUDBw7Uli1bEh2qfOrUqRowYIAMw9C9e/fUvXt3zZgxI9HtDBs2LMGDFxkZKU9Pz5SWCwD4LxjmZXrRMoUKmlruqzEpezZoQjLyh0kASCu3b9/WqVOnVKhQoRTf9/tfEBYWptq1a+vq1as2z1zOiurUqaNSpUpp6tSp6V1KkpL6W42KipKXl1eyOfSxj/4dFham0aNH6+OPP9bevXu1bNkyrVmzRiNHjkx0mcGDBysyMtL6c/bs2cddJgAAAADgEV29elXLly9XWFiYevXqld7lPBGp6v7t7e0te3t7RURE2EyPiIhQ3rx5E1zm/fffV7t27azdE8qUKaPo6Gi99tprevfddxPsp+/k5CQnJ6fUlAYAAAAA/ykLFy5Ut27dEpzn7++vQ4cOPeGKHoz+ffXqVY0bN87mPmtJKlWqlE6fPp3gcp988onatm37JEpMc6kK1Y6OjqpUqZI2bdpk7RsfGxurTZs2qXfv3gkuc/PmzXjB2d7eXpKUip7nAAAAAJCpBQUFpWkGaty4sapWrZrgvH8/WupJCQ8PT3Ted999p7t37yY4L+6Z3plRqkK19OCB3KGhoapcubKqVKmiyZMnKzo6Wh07dpQktW/fXvnz59eYMWMkSY0aNdKkSZNUoUIFVa1aVcePH9f777+vRo0aWcM1AAAAACB1PDw85OHhkd5lpJi/v396l/BYpDpUt2rVSpcuXdKQIUN04cIFlS9fXuvWrbN+s3DmzBmbK9PvvfeeLBaL3nvvPf3111/KnTu3GjVqpFGjRqXdXgAAAADIcOiZiowuLf5GUzX6d3pJ6ahrAID/IEb/BoAM5/79+/r999+VJ08e5cqVK73LARJ15coVXbx4UU899VS8ntQpzaGpvlINAAAAAEmxt7dX9uzZdfHiRUmSq6urLBZLOlcF/MMwDN28eVMXL15U9uzZH+nWZEI1AAAAgDQX93SguGANZETZs2dP9ElWKUWoBgAAAJDmLBaL8uXLpzx58iQ64jOQnhwcHNJk8GxCNQAAAIDHxt7enqf+IEuzS74JAAAAAABICKEaAAAAAACTCNUAAAAAAJhEqAYAAAAAwCRCNQAAAAAAJhGqAQAAAAAwiVANAAAAAIBJhGoAAAAAAEwiVAMAAAAAYBKhGgAAAAAAkwjVAAAAAACYRKgGAAAAAMAkQjUAAAAAACYRqgEAAAAAMIlQDQAAAACASYRqAAAAAABMIlQDAAAAAGASoRoAAAAAAJMI1QAAAAAAmESoBgAAAADAJEI1AAAAAAAmEaoBAAAAADCJUA0AAAAAgEmEagAAAAAATCJUAwAAAABgEqEaAAAAAACTCNUAAAAAAJhEqAYAAAAAwCRCNQAAAAAAJhGqAQAAAAAwiVANAAAAAIBJhGoAAAAAAEwiVAMAAAAAYBKhGgAAAAAAkwjVAAAAAACYRKgGAAAAAMAkQjUAAAAAACYRqgEAAAAAMIlQDQAAAACASYRqAAAAAABMIlQDAAAAAGASoRoAAAAAAJMI1QAAAAAAmESoBgAAAADAJEI1AAAAAAAmEaoBAAAAADCJUA0AAAAAgEmEagAAAAAATCJUAwAAAABgEqEaAAAAAACTCNUAAAAAAJhEqAYAAAAAwCRCNQAAAAAAJhGqAQAAAAAwiVANAAAAAIBJhGoAAAAAAEwiVAMAAAAAYBKhGgAAAAAAkwjVAAAAAACYRKgGAAAAAMAkQjUAAAAAACYRqgEAAAAAMIlQDQAAAACASYRqAAAAAABMIlQDAAAAAGASoRoAAAAAAJMI1QAAAAAAmESoBgAAAADAJEI1AAAAAAAmEaqBJ+Du3bsaNmyYAgMD5eTkJIvFohUrVqRqHVFRUerXr58KFSokBwcHWSwW7du377HUCwAAACBlCNXAEzBx4kQNHz5cvr6+GjBggIYOHarixYunah0DBw7U1KlTVbp0ab399tsaOnSo8ubN+5gqzvhiY2M1bdo0lSlTRi4uLsqdO7dat26tkydPpngdYWFhslgsSf4UKVIkyXVcvXpV+fPnl8ViUb169eLN/+OPPzR69GjVrFlTvr6+cnR0lJ+fn9q3b6+jR4+mer8BAACQsWRL7wKA/4LVq1fL3d1dGzdulKOjo+l1PPXUU1q1alUaV5c5devWTZ999plKlSqlvn376ty5c/rqq6+0YcMG/fLLLwoMDEx2HQEBARo6dGiC877//ntt3bpVISEhSa6jd+/eioyMTHT++++/ryVLlqh06dJq0qSJPD09deDAAX3++edaunSp1q1bp5o1ayZbKwAAADImQjXwBJw7d065cuUyHajj1kH4emDz5s367LPPVLNmTZsvKtq0aaP69eurd+/eWr9+fbLrCQgI0LBhwxKc980330iSunTpkujy33zzjRYtWqTp06erd+/eCbapV6+eBg0apAoVKthMX7x4sVq3bq0ePXro0KFDydYKAACAjInu38BjNGzYMFksFp06dUqnT5+2dikOCAhI8To6dOggi8UiwzC0ZcsW6zqCgoIkSfPmzZPFYtG8efO0atUq1ahRQx4eHjbbiImJ0aRJk1SxYkW5ubnJw8NDzz33nFauXJngNlPb/kmbNWuWJGnkyJE2X1S8+OKLCgoK0oYNG3TmzBnT69+5c6cOHjyo8uXLq2LFigm2uXTpknr06KF27dqpQYMGia6rQ4cO8QK1JL3yyit66qmndPjwYV2+fNl0rQAAAEhfXKkGHqO44Dt58mRJ0uuvvy5Jyp49e4rX0bRpUwUEBGj48OHy9/dXhw4dJCleMP/666+1YcMGNWzYUD179lRUVJQk6c6dO6pXr57CwsJUvnx5de7cWXfv3tWaNWvUpEkTTZs2zeYqa2rbp4ewsDC5ubmpRo0a8eaFhIQoLCxMW7ZsUbt27Uyt/7PPPpOU9FXq7t27y97eXlOmTEmy+3dSHBwcJEnZsvFWDAAAkFnxSQ54jIKCghQUFKR58+ZJUqJdjZPStGlTNW3aVMOHD0+yu/K6deu0fv16BQcH20wfMWKEwsLC9P7772v48OGyWCySpOvXr+v555/Xm2++qWbNmsnX19dU+6Skdn87dOiQ7FX86OhonT9/XqVLl5a9vX28+XH3Uv/xxx+p2vbD61+8eLFcXFzUtm3bBNt88cUXWrZsmVasWKEcOXKYCtU7d+7UoUOH9PTTT6fqSxYAAABkLIRqIIto0qRJvEAdGxurGTNmqEiRIjYBWZI8PDw0ZMgQNW7cWMuWLVPv3r1T3T45w4cPT9U+BAUFJRuq4wKsl5dXgvM9PT1t2qXW119/revXr+vVV19NMOyeO3dOffv2VevWrdWkSRNT24iMjFRoaKjs7Ow0fvx4U+sAAABAxkCoBrKIKlWqxJt27NgxXb16Vb6+vgkG3EuXLkmS9dFOqW2fHMMwUlx/RjF79mxJUufOnROc36VLFzk4OGjq1Kmm1n/r1i299NJLOnr0qEaNGmW9RQAAAACZE6EayCJ8fHziTfv7778lSYcOHUpyhOno6GhT7dND3BXqxK5Ex91LntiV7KQcO3ZMP//8s4oWLZpg2J0/f77Wrl2rr7/+Wt7e3qle/+3bt9WkSRNt3rxZgwcP1jvvvJPqdQAAACBjMRWqP/roI3344Ye6cOGCypUrp2nTpiV4lSzOtWvX9O6772rZsmX6+++/5e/vr8mTJ6t+/fqmCwdg6+Gu2nHiukK//PLLWrp0abLrSG375DyOe6rd3NyUL18+nTp1Svfv3493X3XcvdQpeU71vyV3lfrXX3+VJLVo0SLB+evXr5fFYlG5cuW0b98+m3m3bt1SkyZNtHHjRg0cOFCjR49OdX0AAADIeFIdqpcsWaL+/ftr5syZqlq1qiZPnqyQkBAdO3ZMefLkidc+JiZGL7zwgvLkyaOlS5cqf/78On36NAPzAE9AiRIl5Onpqd27d+vu3bvW0abTqn1yHsc91ZJUq1YtLV68WFu3bo337O6451On9pne9+7d04IFC5QtWzbrCOv/Vq1aNd24cSPe9Bs3bmjJkiUqUKCAQkJCVLBgQZv5DwfqAQMGaNy4camqDQAAABlXqkP1pEmT1LVrV3Xs2FGSNHPmTK1Zs0Zz5szR22+/Ha/9nDlz9Pfff2vbtm3WD+jJfWi+c+eO7ty5Y/09rjsngNTJli2bevTooXHjxmnAgAGaMGFCvKB88OBB5cmTR3ny5El1++Q8rnuqX3vtNS1evFjvv/++Nm7caH1W9dq1axUWFqa6devK39/fZpm4+8CLFy+e4DpXr16tiIgINW7cWHnz5k2wTatWrdSqVat408PDw7VkyRKVKlXK+jiuOHFdvjdu3Kj+/fvrww8/TPX+AgAAIONKVaiOiYnRnj17NHjwYOs0Ozs7BQcHa/v27Qkus3LlSlWrVk29evXSt99+q9y5c6tNmzYaNGhQgo/DkaQxY8ak+goXgIQNHz5ce/fu1dSpU7VmzRrVrFlTefLk0V9//aUDBw7ot99+0/bt260hObXt00Pt2rXVpUsXffbZZ6pYsaIaNGig8+fPa8mSJcqZM6emTZsWb5kSJUpISjzox3X9TurZ1GZ0795dGzduVN68eeXh4ZFgl/iUdHsHAABAxpSqUH358mXdv38/3oBIPj4+iY4GfPLkSf3www9q27atvvvuOx0/flw9e/bU3bt3NXTo0ASXGTx4sPr372/9PSoqSn5+fqkpFcD/c3Jy0tq1azV79mwtWLBA33zzje7cuSMfHx+VLFlS3bt3V5kyZUy3Ty+ffPKJypQpo08//VRTpkyRu7u7XnrpJY0aNUpFihRJ1brOnTuntWvXytfXN83HeggPD5ckXbhwIdEvC1Pa7R0AAAAZj8VIRf/Mc+fOKX/+/Nq2bZuqVatmnT5w4EBt2bJFO3bsiLfMU089pdu3b+vUqVPWK9OTJk3Shx9+qPPnz6dou1FRUfLy8lJkZKR1ICUAACRJw1I/0nucMoUKJt8oAV+NuWd6myWOHjG9LAAAeHJSmkNTdaXa29tb9vb2ioiIsJkeERGR6D2I+fLlk4ODg01X7xIlSujChQuKiYmx3gsJAAAAAEBmY5eaxo6OjqpUqZI2bdpknRYbG6tNmzbZXLl+WI0aNXT8+HHFxsZap/3+++/Kly8fgRoAAAAAkKmlevTv/v37KzQ0VJUrV1aVKlU0efJkRUdHW0cDb9++vfLnz68xY8ZIknr06KHp06erX79+6tOnj/744w+NHj1affv2Tds9ATKRa9euafLkySlqm9pnPQMAAAB4clIdqlu1aqVLly5pyJAhunDhgsqXL69169ZZBy87c+aM7Oz+uQDu5+en9evX64033lDZsmWVP39+9evXT4MGDUq7vQAymWvXrqV4hHtCNQAAAJBxpWqgsvTCQGUAgEQxUBkAAHgMUppDU3VPNQAAAAAA+AehGgAAAAAAkwjVwBNw9+5dDRs2TIGBgXJycpLFYtGKFSvSfDvh4eGyWCzq0KFDmq/brHnz5slisWjevHnpXUqaCAoKksViSe8yMoW0OvcWi0VBQUFpUhMAAEBaI1QDT8DEiRM1fPhw+fr6asCAARo6dKiKFy+e3mUBSCUj1tCVjVfU5NQpVfj9mGoc/0MDzv2lszExqV7X5s2bVb9+ffn5+cnFxUVFihRRmzZt9NtvvyW77NWrV5U/f35ZLBbVq1cvRdvr0aOHLBaLLBaLLly4kOp6AQBAwlI9+jeA1Fu9erXc3d21cePGx/p89vz58+vIkSPy8jI/cBOStmDBAt28eTO9y0A6OTfvnK7+eFVFHR31ao4cunjvntZdv66t0dH60j9AASl8fU+bNk19+/ZV9uzZ1axZM+XOnVu///67vv76ay1dulTfffedgoODE12+d+/eioyMTHHdGzdu1MyZM+Xm5qbo6OgULwcAAJJHqAaegHPnzilXrlyPNVBLkoODA1fAH7OCBc2NFo3M78aRG7r641W5FnPVUsNPjv9/G0ADjxvq/tefGhURoVl+fsmu5+7du3rvvffk6emp/fv3y++hZZYvX65mzZpp9OjRiYbqb775RosWLdL06dPVu3fvZLcXGRmpTp06qXnz5rp06ZK2bNmSwj0GAAApQfdv4DEaNmyYLBaLTp06pdOnT1u7XgYEBKRqPbGxsfrss89UpUoV5cyZUy4uLipQoIAaNWqksLAwa7vE7qmOuw/4zp07euedd1SwYEG5uLioUqVK+v777yU9+ODdq1cv+fr6ytnZWdWqVdPOnTvj1RIQEKCAgABdu3ZN3bp1U968eeXs7KwKFSroyy+/TNV+nTp1Sl26dFHBggXl5OSkfPnyqUOHDjp9+nSq1pPQ/h8/flwvvfSScuTIITc3NwUHByfarfbgwYNq2bKl8uTJIycnJxUqVEivv/66rly5Eq9tQvdUp/T8xPnxxx/VqFEjeXt7y8nJSYGBgXrvvfdMXwF/+N7lVatWqWrVqnJ1dVX+/Pn1/vvvKzY2VpI0f/58lStXTi4uLipYsKA+/PDDBNcXHR1tvUXB2dlZOXPmVIMGDbR169YE2//999/q3r27fHx85OrqqqefflrLly9Psub9+/frlVdeUb58+eTo6Ch/f3/16dMnwWOeUVzdclWS5NPMxxqoJammu7uquLhq681onbt7N9n1XLlyRVFRUSpdurRNoJakBg0ayGKx6NKlSwkue+nSJfXo0UPt2rVTgwYNUlR3v379dOvWLX300Ucpag8AAFKHK9XAYxQ3uNLkyZMlSa+//rokKXv27Klaz+DBgzV+/HjrPZceHh7666+/9PPPP+v7779P8SBOrVq10oEDB9S4cWPdunVLCxcuVMOGDbV161a99tpriomJUYsWLXTp0iUtWbJE9erV06lTp+J1J4+JiVFwcLBu3Lihdu3aKTo6Wl999ZXatGmjy5cvq0+fPsnWsmPHDoWEhCg6OloNGzZUYGCgwsPDtXDhQq1du1bbt29X4cKFU3Wc4oSHh+uZZ55RqVKl1KlTJ504cULffvutateurSNHjsjHx8fa9ueff1ZISIhiYmLUvHlzBQQEaPv27ZoyZYpWr16tX375Rd7e3kluLzXnZ8aMGerVq5eyZ8+uRo0aKU+ePNq9e7dGjRqlzZs3a/PmzaZ7NCxfvlwbNmxQ06ZNVaNGDa1Zs0YffPCBDMOQl5eXPvjgAzVp0kRBQUH65ptvNHDgQPn4+Kh9+/bWddy+fVvPP/+8du7cqYoVK+r1119XRESElixZovXr1+vLL79UixYtrO1v3rypoKAgHThwQNWqVVOtWrV09uxZtWrVSnXr1k2wzpUrV6ply5ays7NTkyZN5Ofnp8OHD2v69Olav369duzYoRw5cpg6Bo9T9NFo2TnZyTXQVdJ9m3k13Ny089ZN7b55U42Tuf3Cx8dH3t7eOnjwoM6ePWsTrNesWSPDMFSnTp0El+3evbvs7e01ZcqUFHX/XrVqlebPn69FixYpT548ye8kAABIPSMTiIyMNCQZkZGR6V0KYIq/v7/h7+9vevmcOXMavr6+RnR0dLx5V65csf771KlThiQjNDTUpk2tWrUMScazzz5r3Lhxwzp9yZIlhiQje/bsRosWLYy7d+9a540bN86QZEycODHevkgyatasady5c8c6/ezZs4a3t7fh5ORk/Pnnn9bpc+fONSQZc+fOtU6LiYkxAgICDA8PD2Pv3r026//pp58Me3t7o2HDhik7OA+J239JxtixY23mvffee4YkY8yYMdZp9+/fN4oUKWJIMtatW2fT/q233jIkGZ06dbKZHncsH5bS83Po0CEjW7ZsRrly5YzLly/btBszZowhyZgwYULqdtr45xg7ODgYO3futE6Piooy8uTJY7i6uhp58+Y1Tpw4YZ135swZw9HR0ShTpozNuoYPH25IMtq2bWvExsZap+/du9dwdHQ0smfPbkRFRVmnDx061JBkdO3a1WY969ats56Lh8/95cuXDU9PTyN//vxGeHi4zTJffvmlIcno3bu3zXRJRq1atRI/AEM9bX6G1nJM8U/uJrmNpz58yig9r3SSPyU/KWlIMpwKOBml55U2DhcrbvMz2dfXkGT0yJUr3rx//xjGg9eeg4ODkT17dqNTp07GoEGDjJdeeslwcHAwWrRoYVy/fj3ebn7++eeGJGPFihWGYfzz9x4SEpLgYbl8+bLh4+NjNG3a1Dot7u/3/PnziR9PAABgGEbKcyjdv4FMwtHRUfb29vGm58yZM8XrGDVqlNzc3Ky/N2/eXA4ODrp27ZomTJigbNn+6bzSunVrSUq0y/To0aNtrqgWKFBA/fr10507d7R48eIk61i9erXCw8P11ltvqUKFCjbznn32WTVp0kTfffedoqKiUrxvDytUqJDeeustm2mdO3eWJO3atcs6bevWrTpx4oRefPFFhYSE2LQfMmSIcubMqUWLFikmBSM7p+T8fPLJJ7p3756mTZumXLly2bQbOHCgcufOneou9A979dVX9fTTT1t/9/DwUMOGDXXz5k316NHD5sq/n5+fnn32WR0+fFj37t2zTp8/f74cHBw0duxYm27uFSpUUGhoqK5du2bzOLgFCxbI0dFRI0aMsKklJCQkwautCxYsUFRUlMaMGSN/f3+bea+88ooqVqyY7N9PcoZviUnxz6VvLynmcvLn9/7NB1em7V3in2NJcrd7MP36/dgU1diyZUutX79eTk5OmjNnjsaNG6fly5erePHiat++vdzd3W3anzt3Tn379lXr1q3VpEmTFG2jZ8+eiomJ0YwZM1LUHgAAmEP3byATeOWVV/Txxx+rdOnSeuWVV1S7dm1Vq1ZNLi4uqVpP+fLlbX63s7NTnjx5dPPmzXgDcOXLl0/Sgw/z/5YtWzZVq1Yt3vTnnntOkvTrr78mWccvv/wiSTp27JiGDRsWb/6FCxcUGxur33//XZUrV05yXQkpX7687OxsvzMsUKCAJOnatWvWaXF1JtR93t3dXZUrV9aGDRt07NgxlSlTJtHtpfT8xO33+vXrtWnTpnjrcXBw0NGjR1O0jwn59/mV/jmPic27f/++IiIilD9/fkVFRenkyZMqUaKE9Xg9rHbt2po1a5b27dundu3aKSoqSqdOnVLJkiWVN2/eeO2fe+65ePsZdwx27NihEydOxFvm9u3bunz5si5fvpxst/vEGEM9U9y2TKH0GXhu9uzZ6tmzp3r16qXevXsrb968Onr0qAYPHqxGjRrpo48+Us+ePa3tu3TpIgcHB02dOjVF61+yZIm++uorLViwIMFzAwAA0g6hGsgEpkyZokKFCmnu3Ln64IMP9MEHH8jZ2VktW7bUxIkTUxw+PD3jh41s2bIlOl16MFLxv3l7e8cLrZKs9yond6/n33//LUlauHBhku3MPvonqf25f/+fe2HjroQ/fI/1w+ICaXJXzFN6fuL2e9SoUanco5RJar9Tco5Tezzi/pvYvboJrSfuGCQ3aFZ0dLTpUP042Ls+uBJ9/9b9BOffiH0w3cM++Q5gR48eVffu3dWoUSNNmjTJOr1ixYpavny5nnrqKb399tvq1KmTnJ2dNX/+fK1du1Zff/11io7J33//rV69eqlBgwZq165dSnYPAAA8AkI1kAlky5ZNAwYM0IABA3Tu3Dlt2bJFc+fO1YIFC3ThwgWtX7/+idZz+fJlxcbGxgvWERERkpTsc7LjAt6qVavUsGHDx1NkCsTVEVf3v124cMGmXWJSen7i1hMVFSUPD4+02o00k9rjEfffixcvJtg+ofXELXPgwAGVLl360QpOxLCw2yluG7EvQjmezSHH3EkPDmfnZKds2bPp7qW7MmKNePNPxzz4YsLfIflB5jZu3Kh79+6pdu3a8ea5urqqSpUqWr58uY4fP67SpUtbe1Q8PEDcw9avXy+LxaJy5cpp3759OnPmjK5cuaI1a9bEG6k+TtwXJL/++muCvRgAAEDKEaqBTMbX11etW7dWq1atVKxYMX3//fe6detWqruCP4p79+5p+/btqlGjhs30n376SZLi3Sf9b1WrVpUkbd++PV1DdVydYWFhGjhwoM286Oho7d69Wy4uLipWrFiK15nU+alatar27t2rX375RS+88EKa7kta8PT0VOHChXX8+HH99ddfyp8/v838uMeDxYUwT09PFSpUSMePH9eFCxfidTOO+3t4WNWqVbVs2TJt3779sYXq4VuSv0f6H5fkVtwt2VAt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G6c333xTZcuWVcuWLeXm5qZVq1bp2LFjatKkiV599dUk17Fv3z41a9ZMVapUUcmSJZU3b1799ddfWrFihezs7PTGG29Y23br1k2//PKL5s+fr61btyo4OFi+vr6KiIjQ0aNHtWPHDi1atEgBAQGPec8TN2PGDD377LPq2rWrVq1apZIlS+rQoUNauXKlcufOrRkzZti0/+ijj1SjRg21b99eK1assD6neteuXdYRqx9Wr149vf/++xo5cqSKFi2qevXqyd/fX1euXNHx48f1008/6YMPPlCJEiWe5G6nyMCBA/Xtt99q3Lhx+vXXX1WxYkXt3btXGzZs0NNPP219vnqcnTt3qnbt2qpVq1a8AdukB1/efPHFF3J0dFT79u0T3W6BAgU0aNAgjR49Wk8//bReeukl+fv7Kzw8XCtWrFBMTIymTp0a71aFh78QOn/+/INpK25Zp739rKOKe9un/kAAAACYQKgGsqj+/furaNGimjRpkr744gvFxMToqaee0sSJE9W3b994o2D/W+XKlTVo0CCFhYVpzZo1unbtmvLmzavg4GC99dZbNl16LRaL5s2bp/r162vWrFlavXq1bty4oTx58igwMFATJkxQcHDw497lJBUrVky7d+/W8OHDtW7dOq1Zs0a5c+dWx44dNXTo0Hj3npcuXVpbt27VoEGDtG7dOq1fv17PPvustm7dqgkTJsQL1ZI0YsQI1axZU1OnTtWmTZt07do15cqVS4UKFdKwYcPiPZ4ro3Bzc9OWLVusg9Jt3rxZ+fLl05tvvqmhQ4cm+Fi1pKxYsUJXrlxRy5YtlStXriTbjho1SmXLltUnn3yi9evX6/r16/Ly8lLt2rXVr18/vfjii/GWmT9/fvxpv/0zMF2H8g4q7p2qkgEAAEyzGJngGS1RUVHy8vJSZGRkigZXAgD8hwxL/cjkccoUMjcA2ldj7pneZomj5m8DAAAAT05Kcyj3VAMAAAAAYBKhGgAAAAAAk7inGkgH165d0+TJk1PUNiWPRcos9u3bpxUrViTbLiAgINnRyQEAAICMgFANpINr166l+JnDWS1Up2S/a9WqRagGAABApkD3byAdBAQEpOmzhjOLDh06pGifE3pMEwAAAJAREaoBAAAAADCJUA0AAAAAgEmEagAAAAAATCJUAwAAAABgEqEaAAAAAACTCNUAAAAAAJhEqAYA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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df.plot.bar(title=\"Comparing simulators and Ankaa-2\", figsize=(12, 6))\n", + "text = f\"f_free = {f_free_Ankaa:.3f} \\nf_simple_noise_model = {f_simple:.3f} \\nf_noise_model = {f_noisy_Ankaa:.3f}\"\n", + "plt.text(1, 0.5, text, fontsize=14)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "6da72e22-a594-41e7-a4e2-cb82cfe0726a", + "metadata": {}, + "source": [ + "We see that compared to the full noise model, the simple model is less accurate, however, it is still a significant improvement over the noise-free case and has far fewer parameters in the model. " + ] + }, + { + "cell_type": "markdown", + "id": "b2c6b2ba-cb54-43f6-9a89-e29066b5192a", + "metadata": {}, + "source": [ + "## Summary\n", + "\n", + "In this notebook, we showed how to construct a noise model for Rigetti Ankaa-2 based only on the available calibration data.\n", + "We used a coarse assumption of gate-independent single-qubit depolarizing noise and gate-dependant two-qubit noise. Our qubit-dependent model could be improved in many ways. We could add gate-dependence noise, or change the depolarizing channel to Pauli channels. " + ] + }, + { + "cell_type": "markdown", + "id": "98989c13", + "metadata": {}, + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "braket", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.10" + }, + "toc-autonumbering": false, + "toc-showcode": false, + "toc-showmarkdowntxt": false, + "toc-showtags": true + }, + "nbformat": 4, + "nbformat_minor": 5 } diff --git a/examples/braket_features/Noise_models/ankaa2_edge_specs.png b/examples/braket_features/Noise_models/ankaa2_edge_specs.png new file mode 100644 index 000000000..f7638a189 Binary files /dev/null and b/examples/braket_features/Noise_models/ankaa2_edge_specs.png differ diff --git a/examples/braket_features/Noise_models/ankaa2_qubit_specs.png b/examples/braket_features/Noise_models/ankaa2_qubit_specs.png new file mode 100644 index 000000000..a6f501193 Binary files /dev/null and b/examples/braket_features/Noise_models/ankaa2_qubit_specs.png differ diff --git a/examples/braket_features/Noise_models/aspenm_edge_specs.png b/examples/braket_features/Noise_models/aspenm_edge_specs.png deleted file mode 100644 index e8b1e15dc..000000000 Binary files a/examples/braket_features/Noise_models/aspenm_edge_specs.png and /dev/null differ diff --git a/examples/braket_features/Noise_models/aspenm_qubit_specs.png b/examples/braket_features/Noise_models/aspenm_qubit_specs.png deleted file mode 100644 index a88a337c5..000000000 Binary files a/examples/braket_features/Noise_models/aspenm_qubit_specs.png and /dev/null differ diff --git a/examples/braket_features/Verbatim_Compilation.ipynb b/examples/braket_features/Verbatim_Compilation.ipynb index bb1e821c6..0ef75f7b1 100644 --- a/examples/braket_features/Verbatim_Compilation.ipynb +++ b/examples/braket_features/Verbatim_Compilation.ipynb @@ -1,956 +1,948 @@ { - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Verbatim compilation" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "# Use Braket SDK Cost Tracking to estimate the cost to run this example\n", - "from braket.tracking import Tracker\n", - "t = Tracker().start()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Usually, when you run a circuit on a QPU, behind the scenes, Amazon Braket will do a series of compilation steps to optimize your circuit and map the abstract circuit to the physical qubits on the QPU. However, in many situations, such as for error mitigation or benchmarking experiments, researchers require full control of the qubits and the gates that are being applied. In a [previous notebook](https://github.com/amazon-braket/amazon-braket-examples/blob/main/examples/braket_features/Allocating_Qubits_on_QPU_Devices.ipynb), we showed you how to manually allocate the qubits of your circuit, i.e., how you can exactly define which logical qubit maps to which physical qubit. In this notebook, you will learn how to use _verbatim compilation_ to run your circuits exactly as defined without any modification during the compilation process.\n", - "\n", - "### Table of contents:\n", - "\n", - "* [Recap: Running circuits on Amazon Braket](#Recap)\n", - "* [Using verbatim compilation to run circuits without further compilation](#Verbatim)\n", - "* [Programming verbatim circuits onto the Rigetti device](#Rigetti)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Recap: Running circuits on Amazon Braket " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us begin with importing the usual dependencies. Verbatim compilation is supported by all Rigetti devices, and we will use the Ankaa-2 device for this demonstration." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "# general imports\n", - "from braket.aws import AwsDevice\n", - "from braket.circuits import Circuit\n", - "from braket.devices import Devices\n", - "from math import pi\n", - "import networkx as nx\n", - "%matplotlib inline" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "When you run a circuit on Amazon Braket, different compilation and optimization steps occur before the circuit is executed on the selected QPU. First, the gates of your circuit are decomposed into the _native gates_ of the QPU. Let's first remember what the native gates of the Ankaa-2 device are:" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The native gates for the Ankaa-2 device are:\n", - "rx\n", - "rz\n", - "cz\n", - "iswap\n" - ] - } - ], - "source": [ - "# set up the Rigetti Ankaa-2 device\n", - "device = AwsDevice(Devices.Rigetti.Ankaa2)\n", - "\n", - "# list the native gate set\n", - "print(\"The native gates for the\", device.name, \"device are:\")\n", - "for gate in device.properties.paradigm.nativeGateSet:\n", - " print(gate)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "If we create a circuit with gates that are not part of that list, the gates will automatically be decomposed into a gate set that can be executed on the device." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - " Note: This notebook uses the Rigetti Ankaa-2 device. When you run this notebook, make sure the device is currently available. You can find QPU availability windows on the Devices page in the Amazon Braket Console\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "T : │ 0 │ 1 │\n", - " ┌───┐ \n", - "q0 : ─┤ H ├───●───\n", - " └───┘ │ \n", - " ┌─┴─┐ \n", - "q1 : ───────┤ X ├─\n", - " └───┘ \n", - "T : │ 0 │ 1 │\n", - "Counter({'11': 475, '00': 450, '10': 56, '01': 19})\n" - ] - } - ], - "source": [ - "bell = Circuit().h(0).cnot(0,1)\n", - "print(bell)\n", - "result = device.run(bell, shots=1000).result()\n", - "print(result.measurement_counts)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's have a look at the circuit that was actually executed. " - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PRAGMA INITIAL_REWIRING \"NAIVE\"\n", - "DECLARE ro BIT[2]\n", - "PRAGMA PRESERVE_BLOCK\n", - "RX(1.5707963267948966) 5\n", - "RZ(3.141592653589793) 5\n", - "ISWAP 5 6\n", - "RZ(1.5707963267948966) 5\n", - "RX(1.5707963267948966) 5\n", - "RZ(4.71238898038469) 5\n", - "ISWAP 5 6\n", - "RZ(3.141592653589793) 6\n", - "RX(1.5707963267948966) 6\n", - "PRAGMA END_PRESERVE_BLOCK\n", - "MEASURE 5 ro[0]\n", - "MEASURE 6 ro[1]\n" - ] - } - ], - "source": [ - "meta = result.additional_metadata.rigettiMetadata\n", - "print(meta.compiledProgram)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As you can see, the original gates, `h` and `cnot`, were decomposed into the native `rz`, `rx`, and `iswap`. You will also note that the abstract qubit indices 0 and 1 (which were chosen as an example) were remapped to qubits that actually exist on the device, in this case, 5 and 6, respectively. At the time when you run this notebook, you might see a different remapping, as the compiler takes into account the latest calibration of the device and tries to map to the qubits that yield the best results. \n", - "\n", - "The compiler further performs circuit optimizations to minimize the number of operations, e.g., by removing redundant gates. Let's have a look at a single-qubit circuit containing two subsequent `x` gates:" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "identity = Circuit().x(0).x(0)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Of course, if you do the math, two consecutive `x` gates just cancel each other out, and we are left with an empty circuit after compilation." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PRAGMA INITIAL_REWIRING \"NAIVE\"\n", - "DECLARE ro BIT[1]\n", - "PRAGMA PRESERVE_BLOCK\n", - "PRAGMA END_PRESERVE_BLOCK\n", - "MEASURE 0 ro[0]\n", - "Counter({'0': 985, '1': 15})\n" - ] - } - ], - "source": [ - "result = device.run(identity, shots=1000).result()\n", - "compiled_program = result.additional_metadata.rigettiMetadata.compiledProgram\n", - "print(compiled_program)\n", - "print(result.measurement_counts)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Using verbatim compilation to run circuits without further compilation " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In some cases, however, you may need to run circuits exactly as defined, without any further modifications by the compiler. For instance, if you want to benchmark device performance you may want to control exactly which gates are executed on the hardware. Similarly, [certain error mitigation protocols](https://arxiv.org/pdf/2005.10921.pdf) require insertion of additional, redundant operations that would normally be removed by the compiler but are essential for the protocol to work. To prevent circuits (or parts of circuits) from further compiler optimizations, you can use the `add_verbatim_box` function in the Amazon Braket SDK." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - " Note: add_verbatim_box is currently supported on Rigetti, IonQ, and IQM devices.\n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "When you define a (sub-)circuit in a verbatim box, you need to make sure that everything inside the verbatim box can be executed on the device _exactly_ as you defined it. This means that\n", - "1. The circuit can only use qubit indices that exist on the device\n", - "2. All gates of the circuit have to be part of the native gate set of the device\n", - "3. All multi-qubit gates have to be between qubits that are connected according to the connectivity graph of the device " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Getting started with a minimal example\n", - "Let's have a look at the simple example from before of an identify circuit. " - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "identity = Circuit().rx(0,pi).rx(0,pi)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Here, we have chosen the Rigetti-native `rx` gate, which is identical to `x` if we choose the angle to be $\\pi$. Next, we wrap this circuit in a verbatim box to prevent the compiler from collapsing the two gates. You can see the circuit diagram indicates the start and end of the verbatim box." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "T : │ 0 │ 1 │ 2 │ 3 │\n", - " ┌──────────┐ ┌──────────┐ \n", - "q0 : ───StartVerbatim───┤ Rx(3.14) ├─┤ Rx(3.14) ├───EndVerbatim───\n", - " └──────────┘ └──────────┘ \n", - "T : │ 0 │ 1 │ 2 │ 3 │\n" - ] - } - ], - "source": [ - "circ = Circuit().add_verbatim_box(identity)\n", - "print(circ)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "When we run the circuit, both gates will be executed on the device." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - " Note: To run a circuit that contains a verbatim box the disable_qubit_rewiring flag must be set to True \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PRAGMA INITIAL_REWIRING \"NAIVE\"\n", - "DECLARE ro BIT[1]\n", - "PRAGMA PRESERVE_BLOCK\n", - "RX(3.141592653589793) 0\n", - "RX(3.141592653589793) 0\n", - "PRAGMA END_PRESERVE_BLOCK\n", - "MEASURE 0 ro[0]\n", - "Counter({'0': 975, '1': 25})\n" - ] - } - ], - "source": [ - "result = device.run(circ, shots=1000, disable_qubit_rewiring=True).result()\n", - "compiled_program = result.additional_metadata.rigettiMetadata.compiledProgram\n", - "print(compiled_program)\n", - "print(result.measurement_counts)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Programming verbatim circuits onto the Rigetti device " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As we have mentioned above, to build circuits with multi-qubit gates, you need to take into consideration the connectivity graph of the device. When a circuit contains a verbatim box, automatic qubit rewiring has to be disables, and you have manually allocate the qubits on the device that you want to use for your circuit.\n", - "You can access the connectivity graph on the [device detail page](https://console.aws.amazon.com/braket/home?region=us-west-1#/devices/arn:aws:braket:us-west-2::device/qpu/rigetti/Aspen-M-3) in the Amazon Braket Console, or by using the code below." - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'0': ['1', '7'], '1': ['0', '2', '8'], '2': ['1', '3', '9'], '3': ['2', '4', '10'], '4': ['3', '5', '11'], '5': ['4', '6', '12'], '6': ['5', '13'], '7': ['0', '8', '14'], '8': ['1', '7', '9', '15'], '9': ['2', '8', '10', '16'], '10': ['3', '9', '11', '17'], '11': ['4', '10', '12', '18'], '12': ['5', '11', '13', '19'], '13': ['6', '12', '20'], '14': ['7', '15', '21'], '15': ['8', '14', '22'], '16': ['9', '17', '23'], '17': ['10', '16', '18', '24'], '18': ['11', '17', '19', '25'], '19': ['12', '18', '20', '26'], '20': ['13', '19', '27'], '21': ['14', '22', '28'], '22': ['15', '21', '23', '29'], '23': ['16', '22', '24', '30'], '24': ['17', '23', '25', '31'], '25': ['18', '24', '26', '32'], '26': ['19', '25', '33'], '27': ['20', '34'], '28': ['21', '29', '35'], '29': ['22', '28', '30', '36'], '30': ['23', '29', '31', '37'], '31': ['24', '30', '32', '38'], '32': ['25', '31', '33', '39'], '33': ['26', '32', '34', '40'], '34': ['27', '33', '41'], '35': ['28', '36', '42'], '36': ['29', '35', '37', '43'], '37': ['30', '36', '38', '44'], '38': ['31', '37', '39', '45'], '39': ['32', '38', '40', '46'], '40': ['33', '39', '41', '47'], '41': ['34', '40', '48'], '42': ['35', '43', '49'], '43': ['36', '42', '44', '50'], '44': ['37', '43', '45', '51'], '45': ['38', '44', '46', '52'], '46': ['39', '45', '47', '53'], '47': ['40', '46', '48', '54'], '48': ['41', '47', '55'], '49': ['42', '56'], '50': ['43', '51', '57'], '51': ['44', '50', '52', '58'], '52': ['45', '51', '53', '59'], '53': ['46', '52', '54'], '54': ['47', '53', '55', '61'], '55': ['48', '54', '62'], '56': ['49', '57', '63'], '57': ['50', '56', '58', '64'], '58': ['51', '57', '59', '65'], '59': ['52', '58', '60', '66'], '60': ['59'], '61': ['54', '62', '68'], '62': ['55', '61', '69'], '63': ['56', '64', '70'], '64': ['57', '63', '65', '71'], '65': ['58', '64', '66', '72'], '66': ['59', '65', '67'], '67': ['66', '68', '74'], '68': ['61', '67', '69', '75'], '69': ['62', '68', '76'], '70': ['63', '71', '77'], '71': ['64', '70', '72', '78'], '72': ['65', '71', '73', '79'], '73': ['72', '74', '80'], '74': ['67', '73', '75', '81'], '75': ['68', '74', '76', '82'], '76': ['69', '75', '83'], '77': ['70', '78'], '78': ['71', '77', '79'], '79': ['72', '78', '80'], '80': ['73', '79', '81'], '81': ['74', '80', '82'], '82': ['75', '81', '83'], '83': ['76', '82']}\n" - ] + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Verbatim compilation" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "# Use Braket SDK Cost Tracking to estimate the cost to run this example\n", + "from braket.tracking import Tracker\n", + "t = Tracker().start()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Usually, when you run a circuit on a QPU, behind the scenes, Amazon Braket will do a series of compilation steps to optimize your circuit and map the abstract circuit to the physical qubits on the QPU. However, in many situations, such as for error mitigation or benchmarking experiments, researchers require full control of the qubits and the gates that are being applied. In a [previous notebook](https://github.com/amazon-braket/amazon-braket-examples/blob/main/examples/braket_features/Allocating_Qubits_on_QPU_Devices.ipynb), we showed you how to manually allocate the qubits of your circuit, i.e., how you can exactly define which logical qubit maps to which physical qubit. In this notebook, you will learn how to use _verbatim compilation_ to run your circuits exactly as defined without any modification during the compilation process.\n", + "\n", + "### Table of contents:\n", + "\n", + "* [Recap: Running circuits on Amazon Braket](#Recap)\n", + "* [Using verbatim compilation to run circuits without further compilation](#Verbatim)\n", + "* [Programming verbatim circuits onto the Rigetti device](#Rigetti)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Recap: Running circuits on Amazon Braket " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us begin with importing the usual dependencies. Verbatim compilation is supported by all Rigetti devices, and we will use the Ankaa-2 device for this demonstration." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# general imports\n", + "from braket.aws import AwsDevice\n", + "from braket.circuits import Circuit\n", + "from braket.devices import Devices\n", + "from math import pi\n", + "import networkx as nx\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "When you run a circuit on Amazon Braket, different compilation and optimization steps occur before the circuit is executed on the selected QPU. First, the gates of your circuit are decomposed into the _native gates_ of the QPU. Let's first remember what the native gates of the Ankaa-2 device are:" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The native gates for the Ankaa-2 device are:\n", + "rx\n", + "rz\n", + "cz\n", + "iswap\n" + ] + } + ], + "source": [ + "# set up the Rigetti Ankaa-2 device\n", + "device = AwsDevice(Devices.Rigetti.Ankaa2)\n", + "\n", + "# list the native gate set\n", + "print(\"The native gates for the\", device.name, \"device are:\")\n", + "for gate in device.properties.paradigm.nativeGateSet:\n", + " print(gate)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If we create a circuit with gates that are not part of that list, the gates will automatically be decomposed into a gate set that can be executed on the device." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T : │ 0 │ 1 │\n", + " ┌───┐ \n", + "q0 : ─┤ H ├───●───\n", + " └───┘ │ \n", + " ┌─┴─┐ \n", + "q1 : ───────┤ X ├─\n", + " └───┘ \n", + "T : │ 0 │ 1 │\n", + "Counter({'00': 482, '11': 423, '10': 54, '01': 41})\n" + ] + } + ], + "source": [ + "bell = Circuit().h(0).cnot(0,1)\n", + "print(bell)\n", + "result = device.run(bell, shots=1000).result()\n", + "print(result.measurement_counts)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's have a look at the circuit that was actually executed. " + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "PRAGMA INITIAL_REWIRING \"NAIVE\"\n", + "DECLARE ro BIT[2]\n", + "PRAGMA PRESERVE_BLOCK\n", + "RX(1.5707963267948966) 76\n", + "RZ(3.141592653589793) 76\n", + "ISWAP 76 75\n", + "RZ(1.5707963267948966) 76\n", + "RX(1.5707963267948966) 76\n", + "RZ(4.71238898038469) 76\n", + "ISWAP 76 75\n", + "RZ(3.141592653589793) 75\n", + "RX(1.5707963267948966) 75\n", + "PRAGMA END_PRESERVE_BLOCK\n", + "MEASURE 76 ro[0]\n", + "MEASURE 75 ro[1]\n" + ] + } + ], + "source": [ + "meta = result.additional_metadata.rigettiMetadata\n", + "print(meta.compiledProgram)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As you can see, the original gates, `h` and `cnot`, were decomposed into the native `rz`, `rx`, and `iswap`. You will also note that the abstract qubit indices 0 and 1 (which were chosen as an example) were remapped to qubits that actually exist on the device, in this case, 5 and 6, respectively. At the time when you run this notebook, you might see a different remapping, as the compiler takes into account the latest calibration of the device and tries to map to the qubits that yield the best results. \n", + "\n", + "The compiler further performs circuit optimizations to minimize the number of operations, e.g., by removing redundant gates. Let's have a look at a single-qubit circuit containing two subsequent `x` gates:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "identity = Circuit().x(0).x(0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Of course, if you do the math, two consecutive `x` gates just cancel each other out, and we are left with an empty circuit after compilation." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "PRAGMA INITIAL_REWIRING \"NAIVE\"\n", + "DECLARE ro BIT[1]\n", + "PRAGMA PRESERVE_BLOCK\n", + "PRAGMA END_PRESERVE_BLOCK\n", + "MEASURE 0 ro[0]\n", + "Counter({'0': 918, '1': 82})\n" + ] + } + ], + "source": [ + "result = device.run(identity, shots=1000).result()\n", + "compiled_program = result.additional_metadata.rigettiMetadata.compiledProgram\n", + "print(compiled_program)\n", + "print(result.measurement_counts)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Using verbatim compilation to run circuits without further compilation " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In some cases, however, you may need to run circuits exactly as defined, without any further modifications by the compiler. For instance, if you want to benchmark device performance you may want to control exactly which gates are executed on the hardware. Similarly, [certain error mitigation protocols](https://arxiv.org/pdf/2005.10921.pdf) require insertion of additional, redundant operations that would normally be removed by the compiler but are essential for the protocol to work. To prevent circuits (or parts of circuits) from further compiler optimizations, you can use the `add_verbatim_box` function in the Amazon Braket SDK." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Note: add_verbatim_box is currently supported on Rigetti, IonQ, and IQM devices.\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "When you define a (sub-)circuit in a verbatim box, you need to make sure that everything inside the verbatim box can be executed on the device _exactly_ as you defined it. This means that\n", + "1. The circuit can only use qubit indices that exist on the device\n", + "2. All gates of the circuit have to be part of the native gate set of the device\n", + "3. All multi-qubit gates have to be between qubits that are connected according to the connectivity graph of the device " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Getting started with a minimal example\n", + "Let's have a look at the simple example from before of an identify circuit. " + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "identity = Circuit().rx(0,pi).rx(0,pi)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here, we have chosen the Rigetti-native `rx` gate, which is identical to `x` if we choose the angle to be $\\pi$. Next, we wrap this circuit in a verbatim box to prevent the compiler from collapsing the two gates. You can see the circuit diagram indicates the start and end of the verbatim box." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T : │ 0 │ 1 │ 2 │ 3 │\n", + " ┌──────────┐ ┌──────────┐ \n", + "q0 : ───StartVerbatim───┤ Rx(3.14) ├─┤ Rx(3.14) ├───EndVerbatim───\n", + " └──────────┘ └──────────┘ \n", + "T : │ 0 │ 1 │ 2 │ 3 │\n" + ] + } + ], + "source": [ + "circ = Circuit().add_verbatim_box(identity)\n", + "print(circ)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "When we run the circuit, both gates will be executed on the device." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Note: To run a circuit that contains a verbatim box the disable_qubit_rewiring flag must be set to True \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "PRAGMA INITIAL_REWIRING \"NAIVE\"\n", + "DECLARE ro BIT[1]\n", + "PRAGMA PRESERVE_BLOCK\n", + "RX(3.141592653589793) 0\n", + "RX(3.141592653589793) 0\n", + "PRAGMA END_PRESERVE_BLOCK\n", + "MEASURE 0 ro[0]\n", + "Counter({'0': 909, '1': 91})\n" + ] + } + ], + "source": [ + "result = device.run(circ, shots=1000, disable_qubit_rewiring=True).result()\n", + "compiled_program = result.additional_metadata.rigettiMetadata.compiledProgram\n", + "print(compiled_program)\n", + "print(result.measurement_counts)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Programming verbatim circuits onto the Rigetti device " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As we have mentioned above, to build circuits with multi-qubit gates, you need to take into consideration the connectivity graph of the device. When a circuit contains a verbatim box, automatic qubit rewiring has to be disables, and you have manually allocate the qubits on the device that you want to use for your circuit.\n", + "You can access the connectivity graph on the [device detail page](https://console.aws.amazon.com/braket/home?region=us-west-1#/devices/arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2) in the Amazon Braket Console, or by using the code below." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'0': ['1', '7'], '1': ['0', '2', '8'], '2': ['1', '3', '9'], '3': ['2', '4', '10'], '4': ['3', '5', '11'], '5': ['4', '6', '12'], '6': ['5', '13'], '7': ['0', '8', '14'], '8': ['1', '7', '9', '15'], '9': ['2', '8', '10', '16'], '10': ['3', '9', '11', '17'], '11': ['4', '10', '12', '18'], '12': ['5', '11', '13', '19'], '13': ['6', '12', '20'], '14': ['7', '15', '21'], '15': ['8', '14', '22'], '16': ['9', '17', '23'], '17': ['10', '16', '18', '24'], '18': ['11', '17', '19', '25'], '19': ['12', '18', '20', '26'], '20': ['13', '19', '27'], '21': ['14', '22', '28'], '22': ['15', '21', '23', '29'], '23': ['16', '22', '24', '30'], '24': ['17', '23', '25', '31'], '25': ['18', '24', '26', '32'], '26': ['19', '25', '33'], '27': ['20', '34'], '28': ['21', '29', '35'], '29': ['22', '28', '30', '36'], '30': ['23', '29', '31', '37'], '31': ['24', '30', '32', '38'], '32': ['25', '31', '33', '39'], '33': ['26', '32', '34', '40'], '34': ['27', '33', '41'], '35': ['28', '36', '42'], '36': ['29', '35', '37', '43'], '37': ['30', '36', '38', '44'], '38': ['31', '37', '39', '45'], '39': ['32', '38', '40', '46'], '40': ['33', '39', '41', '47'], '41': ['34', '40', '48'], '42': ['35', '43', '49'], '43': ['36', '42', '44', '50'], '44': ['37', '43', '45', '51'], '45': ['38', '44', '46', '52'], '46': ['39', '45', '47', '53'], '47': ['40', '46', '48', '54'], '48': ['41', '47', '55'], '49': ['42', '56'], '50': ['43', '51', '57'], '51': ['44', '50', '52', '58'], '52': ['45', '51', '53', '59'], '53': ['46', '52', '54'], '54': ['47', '53', '55', '61'], '55': ['48', '54', '62'], '56': ['49', '57', '63'], '57': ['50', '56', '58', '64'], '58': ['51', '57', '59', '65'], '59': ['52', '58', '60', '66'], '60': ['59'], '61': ['54', '62', '68'], '62': ['55', '61', '69'], '63': ['56', '64', '70'], '64': ['57', '63', '65', '71'], '65': ['58', '64', '66', '72'], '66': ['59', '65', '67'], '67': ['66', '68', '74'], '68': ['61', '67', '69', '75'], '69': ['62', '68', '76'], '70': ['63', '71', '77'], '71': ['64', '70', '72', '78'], '72': ['65', '71', '73', '79'], '73': ['72', '74', '80'], '74': ['67', '73', '75', '81'], '75': ['68', '74', '76', '82'], '76': ['69', '75', '83'], '77': ['70', '78'], '78': ['71', '77', '79'], '79': ['72', '78', '80'], '80': ['73', '79', '81'], '81': ['74', '80', '82'], '82': ['75', '81', '83'], '83': ['76', '82']}\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# set up the Rigetti Ankaa-2 device\n", + "rigetti = AwsDevice(Devices.Rigetti.Ankaa2)\n", + "\n", + "# access and visualize the device topology\n", + "# note that device topology can change day-to-day based on edge fidelity data\n", + "print(rigetti.properties.paradigm.connectivity.connectivityGraph)\n", + "nx.draw_kamada_kawai(rigetti.topology_graph, with_labels=True, font_color=\"white\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From the connectivity graph, you can see that qubits 11, 10, and 17 are connected in a line, and with the code in the next cell you can access their respective 2-qubit gate fidelities to make sure you have selected a high-quality qubit subset. " + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'fISWAP': 0.9608092769094925, 'fISWAP_std_err': 0.006832379421744852}\n", + "{'fISWAP': 0.9175335256563664, 'fISWAP_std_err': 0.014230349601250074}\n" + ] + } + ], + "source": [ + "print(rigetti.properties.provider.specs[\"2Q\"][\"10-11\"])\n", + "print(rigetti.properties.provider.specs[\"2Q\"][\"10-17\"])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Note: At the time when you run this notebook the fidelity numbers may be different as QPU devices are periodically recalibrated\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "After selecting the qubits and validating their gate fidelities, you can now construct a circuit and run it. " + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T : │ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │\n", + " ┌───────┐ ┌───────┐ ┌──────────┐ ┌───────┐ \n", + "q10 : ───StartVerbatim───┤ ISWAP ├─┤ ISWAP ├─┤ Rx(3.14) ├─┤ ISWAP ├───EndVerbatim───\n", + " ║ └───┬───┘ └───┬───┘ └──────────┘ └───┬───┘ ║ \n", + " ║ ┌───┴───┐ │ ┌───┴───┐ ║ \n", + "q11 : ─────────║─────────┤ ISWAP ├─────┼──────────────────┤ ISWAP ├────────║────────\n", + " ║ └───────┘ │ └───────┘ ║ \n", + " ║ ┌───┴───┐ ║ \n", + "q17 : ─────────╨───────────────────┤ ISWAP ├───────────────────────────────╨────────\n", + " └───────┘ \n", + "T : │ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │\n" + ] + } + ], + "source": [ + "circ = Circuit().iswap(10, 11).iswap(10, 17).rx(10, pi).iswap(10, 11)\n", + "verbatim_circ = Circuit().add_verbatim_box(circ)\n", + "print(verbatim_circ)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "PRAGMA INITIAL_REWIRING \"NAIVE\"\n", + "DECLARE ro BIT[3]\n", + "PRAGMA PRESERVE_BLOCK\n", + "ISWAP 10 11\n", + "ISWAP 10 17\n", + "RX(3.141592653589793) 10\n", + "ISWAP 10 11\n", + "PRAGMA END_PRESERVE_BLOCK\n", + "MEASURE 10 ro[0]\n", + "MEASURE 11 ro[1]\n", + "MEASURE 17 ro[2]\n", + "Counter({'010': 632, '011': 105, '000': 103, '110': 61, '100': 47, '111': 24, '101': 14, '001': 14})\n" + ] + } + ], + "source": [ + "result = rigetti.run(verbatim_circ, shots=1000, disable_qubit_rewiring=True).result()\n", + "compiled_program = result.additional_metadata.rigettiMetadata.compiledProgram\n", + "print(compiled_program)\n", + "print(result.measurement_counts)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As expected, the program is faithfully executed exactly as it was defined." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Defining verbatim subcircuits " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In some situations, you might only be interested in executing parts of your circuits verbatim, and have the compiler nativize and optimize the rest. The next example demonstrates how to do this. Let's get started by defining the subcircuit we want to execute verbatim." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "verbatim_subcirc = Circuit().rx(10,pi).rx(10,pi)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, define the part of the circuit you want to compiler to process, so you don't have to worry about nativizing gates. " + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "subcirc1 = Circuit().cnot(10,11).cnot(10,17)\n", + "subcirc2 = Circuit().cnot(10,17).cnot(10,11)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finally, put everything together" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T : │ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │\n", + " ┌──────────┐ ┌──────────┐ \n", + "q10 : ───●─────●─────StartVerbatim───┤ Rx(3.14) ├─┤ Rx(3.14) ├───EndVerbatim─────●─────●───\n", + " │ │ ║ └──────────┘ └──────────┘ ║ │ │ \n", + " ┌─┴─┐ │ ║ ║ │ ┌─┴─┐ \n", + "q11 : ─┤ X ├───┼───────────║──────────────────────────────────────────║──────────┼───┤ X ├─\n", + " └───┘ │ ║ ║ │ └───┘ \n", + " ┌─┴─┐ ║ ║ ┌─┴─┐ \n", + "q17 : ───────┤ X ├─────────╨──────────────────────────────────────────╨────────┤ X ├───────\n", + " └───┘ └───┘ \n", + "T : │ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │\n" + ] + } + ], + "source": [ + "circ = subcirc1.add_verbatim_box(verbatim_subcirc).add_circuit(subcirc2)\n", + "print(circ)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "PRAGMA INITIAL_REWIRING \"NAIVE\"\n", + "DECLARE ro BIT[3]\n", + "PRAGMA PRESERVE_BLOCK\n", + "RX(1.5707963267948966) 10\n", + "RZ(4.71238898038469) 10\n", + "ISWAP 10 11\n", + "RZ(1.5707963267948966) 10\n", + "RZ(3.141592653589793) 11\n", + "ISWAP 10 17\n", + "RX(1.5707963267948966) 11\n", + "RZ(1.5707963267948966) 10\n", + "RX(1.5707963267948966) 10\n", + "RZ(4.71238898038469) 10\n", + "ISWAP 10 17\n", + "RX(3.141592653589793) 10\n", + "RX(3.141592653589793) 10\n", + "RZ(3.141592653589793) 17\n", + "RZ(1.5707963267948966) 10\n", + "RX(1.5707963267948966) 17\n", + "ISWAP 10 17\n", + "RZ(1.5707963267948966) 10\n", + "RX(1.5707963267948966) 10\n", + "RZ(4.71238898038469) 10\n", + "ISWAP 10 17\n", + "RZ(1.5707963267948966) 10\n", + "RZ(3.141592653589793) 17\n", + "ISWAP 10 11\n", + "RX(1.5707963267948966) 17\n", + "RZ(1.5707963267948966) 10\n", + "RX(1.5707963267948966) 10\n", + "RZ(4.71238898038469) 10\n", + "ISWAP 10 11\n", + "RZ(3.141592653589793) 11\n", + "RX(1.5707963267948966) 11\n", + "PRAGMA END_PRESERVE_BLOCK\n", + "MEASURE 17 ro[2]\n", + "MEASURE 10 ro[0]\n", + "MEASURE 11 ro[1]\n", + "Counter({'000': 507, '001': 213, '010': 92, '011': 56, '100': 42, '111': 35, '101': 30, '110': 25})\n" + ] + } + ], + "source": [ + "result = rigetti.run(circ, shots=1000, disable_qubit_rewiring=True).result()\n", + "compiled_program = result.additional_metadata.rigettiMetadata.compiledProgram\n", + "print(compiled_program)\n", + "print(result.measurement_counts)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Inspecting the compiled program, you can see that the `cnot` gates were nativized, however, the two `rx` gates in the middle of the circuit remain unaltered, and were not removed by the compiler. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Programming verbatim circuits onto the IonQ device" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "IonQ also supports verbatim compilation. Because qubits in the IonQ device have all-to-all connection, there is no restriction in qubit connectivity; all qubit pairs are available for 2-qubit gates. Because there is no circuit optimization or gate decomposition in verbatim compilation, all gates in the circuit must be native gates. Let's look at IonQ's native gate set." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The native gates for the Aria 1 device are:\n", + "GPI\n", + "GPI2\n", + "MS\n" + ] + } + ], + "source": [ + "# set up the IonQ Aria 1 device\n", + "ionq_device = AwsDevice(Devices.IonQ.Aria1)\n", + "\n", + "# list the native gate set\n", + "print(\"The native gates for the\", ionq_device.name, \"device are:\")\n", + "for gate in ionq_device.properties.paradigm.nativeGateSet:\n", + " print(gate)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In `device.property`, you can see `fullyConnected=True`, showing that qubits are fully connected. This manifests as the device having a complete topology graph." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "fullyConnected=True connectivityGraph={}\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAApQAAAHzCAYAAACe1o1DAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOyddXgUV9vG71mNu4cIgUDQAAGCu7uEQnEvUKCUQotL4UVaKG6FUlyKFC/uUFxTLBAIIYSEeIhudp/vj/3mdCe7ESBU6Pld11yE2ZkzZ/ye5zwiEBGBw+FwOBwOh8N5R2R/dwc4HA6Hw+FwOP9uuKDkcDgcDofD4bwXXFByOBwOh8PhcN4LLig5HA6Hw+FwOO8FF5QcDofD4XA4nPeCC0oOh8PhcDgcznvBBSWHw+FwOBwO573ggpLD4XA4HA6H815wQcnhcDgcDofDeS+4oORwOBwOh8PhvBdcUHI4HA6Hw+Fw3gsuKDkcDofD4XA47wUXlBwOh8PhcDic94ILSg6Hw+FwOBzOe8EFJYfD4XA4HA7nveCCksPhcDgcDofzXnBByeFwOBwOh8N5L7ig5HA4HA6Hw+G8F1xQcjgcDofD4XDeCy4oORwOh8PhcDjvBReUHA6Hw+FwOJz3ggtKDofD4XA4HM57wQUlh8PhcDgcDue94IKSw+FwOBwOh/NecEHJ4XA4HA6Hw3kvuKDkcDgcDofD4bwXXFByOBwOh8PhcN4LLig5HA6Hw+FwOO8FF5QcDofD4XA4nPeCC0oOh8PhcDgcznvBBSWHw+FwOBwO573ggpLD4XA4HA6H815wQcnhcDgcDofDeS+4oORwOBwOh8PhvBdcUHI4HA6Hw+Fw3gsuKDkcDofD4XA47wUXlBwOh8PhcDic90Lxd3eAw+FwPlbSsnLwLD4N2Tk6qBQy+DpawlLNH7scDufjgz/ZOBwOpwgJi0nF5svPcephLJ4npIMMfhMAeDtYoGFpF/QI9oa/q/Xf1U0Oh8MpUgQiooIX43A4HE5+RCakY8Kvd3HucRzkMgFaXd6PVvH3uiWdMKtjBXg5WPyFPeVwOJyihwtKDodTpPwXh3m3XX2Oqfv+QI6O8hWSuZHLBChkAqa3K4du1bw/YA85HA7nw8IFJYfDeW/+y8O8S0+FYd7RR+/dzphmpTC8oX8R9IjD4XD+erig5HA478w/aZg3IyMDK1asQIkSJdC+fXvJb3PmzMHu3bvxxRdf4JNPPoFSqSySbW67+hzjdt8tkrYAYG6nCujKLZUcDudfCBeUHA7nnfinDPPqdDps27YNY8eOxcuXL1G/fn2cPn1askzPnj2xefNmAICrqytGjRqFwYMHw8HB4Z23G5mQjiYLziArR2fy93IeNhjVuBSq+dpDrZDjeUI6tl59jnUXn+XZplohw/Ev63OfSg6H86+D56HkcDhvzdJTYRi3+y6ycnRvJSYBQKsjZOXoMG73XSw9FfZe/Th//jyqVq2KHj16IDo6GgCQkpJitJyVlRWzSsbExGDixInw8PDA0KFD8ejRuw1XT/j1LnLy2Pe6/k7YPbQWnKxUWHLyMaYf+AMnH8TAzcYs3zZzdIQJvxadxZPD4XD+KriFksPhvBX/hGHeJ0+eYOzYsfj1118hl8uh1WrZb5aWlti3bx8aNWoEAHj9+jW8vb2RlZWF3I87cd2WLVtizJgxaNiwIQRBKHD7YTGpaLrwrMnfrNQKnPqqPq5HJGHolut4lyfs8S/roaTLu/maZmZm4siRI/jll19w+PBhrF+/Hm3atGG/azQaxMXFwd3d/Z3a53A4HFN83KGXHA6nSIlMSMfUfX+Y/G1eSEWEBHnluW7w7OOISckymj9l3x+oVcKpUMO8iYmJmDFjBpYsWcLmGYpJAEhLS8Ply5eZoAT0IssU4rrHjh3Db7/9hrJly2Ls2LH49NNPoVar8+zH5svP8/QZbR/oAWdrM3x/9CGIAHOlHJk52kILS7lMwKZLzzGtXbnCrQCpiNyzZw/S09OZWM6978uXL8dXX32F8ePHY8qUKUXmT5oX/8Wofw7nvwi/qzkcTqHJb5h3y5XnOP84XjJPEID/dSiPF4kZJsUk8Ocw78YBwXluNzs7GytWrMDUqVPx5s0bIxGZGysrK/a3k5MTVCoVsrOz81w+JycHAHD//n3069cPY8aMwRdffIEhQ4bA2dnZaPlTD2PzHOqvXdIJKZkauNmo8WOvIJRwtkJaVg5+vRmFGQfv5elzKaLVEU49isU05C8oTYlIhULB9kU8RiVLlpSsd/v2beh0Ovzvf//D/v37sXXrVpQpUybfbb0t/+Wofw7nvwof8uZwOIUiv2HevKjqY4+dQ2rhuyMPsPz0k3yXNTXMS0TYu3cvRo8ejWfPnhkNWedFuXLlcPfuXQiCgKNHj6JFixaFXldEJpNBoVCgV69e+PLLL1GunF7gvcnKQYVpR5BXa7+NrAsfR721dfu1SFwKT0ANPwf0q1Uc+25HYeS2WwVuWwAQOq25kSUvMzMTR48exfbt202KSFOMHz8es2bNAgC8fPkSjRo1wsOHDwHoh/zlcjm+//57DB8+HDLZ+7nV/5Oi/jkczl8LD8rhcDiFQhzmfRvaV/KETkfYd+tlvsuJw7yGXL9+HfXq1UPHjh0RERHxVoLwyZMnzBdSLpe/tZgE9NHj2dnZWLt2LcqXLw9PT08MGDAAc5f9lKeYBAALlRwWKgV234jC9P33cOSPV5i+/x42X45Au0BP+DoWLJwIwLP4NAB6Eblv3z706NEDjo6OaN++PX755Rekp6cDQL5iEgAUij9F6bJly5iYBPRWzOzsbHzxxRdo3LgxIiMjC+xbXmy7+hxNFpzBxXC9lbqgYC3x94vh8Wiy4Ay2XX2e7/IcDuefDR/y5nA4hSK/YV5TKGQCWldwx/XniXiRlJHvsobDvC9evMD48eOxadMmyOVyAHpx9zbI5XJ07NgRqampSE5Ofqt1cyOK0ZcvX2Lt2rVwKRMK8/ZT8lw+U6Pv677bUhG999ZL9Aj2QRVvezyLTy9wuzt2/YpZl46ZtEQWJCINqVevHvv79evXeS53/vx5lC1bFitXrkT37t0LFZwk8j7J3bX/n3Zq3O67iHuTxZO7czj/Urig5HA+Ur744gvcvXsX9erVQ61atVCjRg3Y2Ni8U1tvsnLwPKFgEWRIvVLOcLBU4YdjUYVaPiI+DWUrVsb9u7fYvIJ8JfMiLS0Ne/bsgUwme+9h3Nwkxr+GeT6/x6RmorSbNeLeSH1G49P0/7c1L1wQzKyZ30IT+5T9/21EpCGi1TEpKckoP6chOTk5ePPmDXr27Ilff/0Vq1atgqOjY4Htb7v6vEgqBQHAvKOP4Gyl5sndOZx/IVxQcjgfAYcOHcLevXuxYsUKJqAePHiAU6dO4dy5c8jJyYEgCAgICECDBg1Qu3Zt1KpVC76+voWyREXEp+U7zGuK9oEeyM7R4cDd6EKuISD8depbbiVvnj9/Di8vL9y5cweBgYFF1m5OYjT0g9Kmj1toVDLq+TvD1cYM4XFpbL6LtT4HZXxa3sFBIkT0/9t5f968eQMAuHTpEsLCCpf3c8+ePTh79iw2bNiAFi1a5LlcflH/NYo7YNvgmiZ/67j8Am5GJpn87W2i/jkczj8HLig5nH8xRIRFixZh9OjRICJ8/vnnqFixIgCgQYMGOHHiBLNsERHu37+PsLAwrFixAoA+ArpevXqoU6cOatWqhcqVK0OlUhltJ7uAyOTcWKjkaFrWFWfDXiMpXVP4/RHkb7WdvBAEAT179kRKSgpSUlIgCMI7+VGaatfZ3gay9AToLExb7w7eicawBiXRtZoXfg//M+q9WzUvaLQ6XAqPN7meIdqkaJDGdKqjt2Xr1q24f/8+rK0LH02t1Wrx+vVrtGzZEkOGDMG8efNgaWlptFx+Uf8iP194itsvpG4Hon+oKQoT9c/hcP55cEHJ4fxL0Wg0GD58OH788UcAerFz5swZJigTExNNDhkbDp3GxcVhz5492LNnD3Q6HVQqFapVq4a6deuidu3aqFmzJhwdHaFSvN2wcbOybrBQKbD3VuGGu0VIW3jxmW87RDh79u0i0gvbbnJyMhRPb0BVtjFIMD4uf0SnYPvVSHSt5gWFTMClpwmoUdwBbSp6YNmpx4hNNZ0+iaHTIv3JtSLr8+XLl/H777+/8/o//vgjjhw5gq1btyI4+E+RFxaTinOP4wpc/8qzBPwW+qrQ29PqCOcex+FxbOo7J3fncDh/PTzKm8P5AKRl5eCPl8m4+TwRf7xMRlrWu/m/5UVSUhKaN2+O1atXs3mCIOCrr77CyZMnAaDQEbs6nY4FvWRnZ+PChQuYN28e2rZty3I41gks/VYWvg6VPPAmKwfH7scUeh0igjap8MKjIObPn49z587h9u3b8PDwKLJ2s7Ky8PribpNiUmTinrtYcPwRKnnZYUrrsijnYYtvD/yB748+zHMdhkyO1JuHiqy/MTExiIqKQvHixd9pfZ1Oh2fPnqFWrVqYPHkyNBq96H+bqH9LlfytMgSYivrncDj/bLiFksMpIv6qZM5PnjxBixYt8PTpU4nIE4Xh+fPn0ahRI/Ts2RPbtm17p20YWjE1Gg00GW8gpMUBVsZJvnPjYKlC7ZJO2Hf7JYt4Lgy65FfQZecfDV5YLC0t8fr1azx79gzPnj2TJDp/XwRBgCY+EvLXYdA5lTApLHN0hEUnwrDoxNvVKidtDjKf30FO/Isi6atarUbHjh3RoEEDuLm54enTpwWvZKpfRCAizJw5E9999x2GDx+OCw5NCxX1/31IIKzUCuRodbj6LBGzfruPu1H5R94XNrk7h8P558ATm3M478lfmcz53LlzaNeuHVJTU/OMgG7cuDEOHTqE5ORkuLu7v3OkdG5KfToRWd7BQD6WOQDoXdMH37Yrj95rL+NsWMFDogBAOi1SbxxE4vEfi6KrHxxra2tkKa3gMXAFSFY03+VEBGg1eLl6KHKSC2/Z/TuwdnCGw6C1+lJIeVDF2x4D6xTHqYexSEzPhr+LNQbV9YOFSo7OKy7ij+iUfLeRV3J3Dofzz4QPeXM478Ffmcx5w4YNaNSoEVJSUvIViSdOnMCmTZtw586dIhOTAPD06IYCxSQAdKjkidepWThfCP86EaGIh3kBwMXFBZUrV0bDhg1RtWrVIm07NTUVFroMaK+8mwXYFIIgIOHoiiIVk6tXr8ZPP/2Ub6T2u5CpsMpXTALAjeeJGLblBnZcf4Hj92Ox4swTdFxxAUTA1y1KF7gNw+TuHA7nnw8XlBzOO7L0VBjG7b6LrBzdWyX8BvTCMitHh3G772LpqfyHRXU6HSZOnIg+ffogJyenUEm+IyIi8OjRI5MR2++KLuklMp7eACj/7XdacRHVZh1HYQ8J6bTIfHoTusT8q+m8DeXKlcOpU6dw48YNnDx5Ej/88EOR56NMSkrCizPbUUbz+P0a+v9BosQz65F293gR9OxPnj9/Dl9fXwwYMABOTk5F1q4gL1wuzdxExKfj2P1XqOHniMK4VL5tdgEOh/P3wYe8OZx3YNvV5xi3+26RtTe3UwWTyZzT09PRu3dv7Nq1q8i29T4obF3hPnA5BIXqrSqp5IU4zPt63UhkxBWN36AhgiBAEIS3rrTztnjU7QJF8KcQ5IpCWXFFBBC0mmy8ObMWidcOfsAeFi3W3mXg0P37d1p3XIsADKlfAuWnHcGbAoLVDo6og3Ietm+9jdTUVERERODp06d49uwZHBwc0KNHj3fqL4fDKRzcOYXDeUvyS+YMAL6OFviqaWlU9bWHnbkKL5MysPd2FH48F55nkIqpZM6vXr1C69atcevWrXfq58yZMwEAkyZNeqf1TZGTHAOzP/Yju1JIkbQnCAISjq0qcjFpa2uL5ORkFkzyoXl5bgcUd87CocXnMC9eBaTTQpDlnVNT/D396U0kHF72QXwmO3TogOTkZNy9exdxcYV3PygMioxEvWX1HT4qvB0skKnRIi07fzEpAPB1NM59CeiTtRsKxmfPnuHp06d4/PgxIiIijMptenp6okePHtDpdDh+/DgaN27MynpyOJyigQtKDuctyS+Zs7utGfZ+XgepmRps+D0CSenZqOJtj9FNS6OCpy0Gbbxucr3cyZxv376Nli1bIjY29p2ta40aNcKaNWvead28kMvlCDu8Dr4yNahi23cWFUQEQRCQeGY9Um8fKdI+Ano3gZCQEAwePBhWVla4fv069u/fj6NHjxb5tkRykmMQu30KlI5esKrcEuZ+VaGwd5dYcsUKOBnh15B681CRRXObYtGiRfD29oZOp8O1a9dQu3btdy7fmJvE169gnhQNpX3e6ZgcLFVIyFUVqIybNZqUccWZR7EoSOfbyLOxZ+d2JCUlMdEYFhaGiIgIJCUlseUEQWB1zk19PCgUCnTq1AkAsG3bNvTo0QO9e/fGzz//XORuEBzOfxk+5M3hvAVhMaloujDvhNnDGpTA180D0HTBGYTFvmHz53cJROcqxVBx+hGkZOb9Uj/+ZT08uHIGISEhyMoqIAH234iVlRXgVwuurYZDo9Xph3oLCem0IG0OEo+txJs7xz5gL/9aDKvx2NjYICUlBaPGfoNl63+BX8lSCH/8CDmJ0ZDpNEUaLJUfcrn8g23LucXnMK/YLE9L7JaBwcjU6HA9IhHxaVnwd7HCp9W9kaMldFxxEU9evzG5HgBAp0WKQdS/TCZ7L2vz6dOnUb9+fbRq1QqHDx8GEWHw4MFYuXJlkbhucDgcHpTD4bwVBSVztv7/FCdxb6RiMDYlE1odQaPN+4UoA6HNqO/Qtm3bIhGTMpkMTZo0we7du9+7rdy8efMGusfnEfnjZ9BE3QOgF4r5If6eGXEb0WuGfRAxKZfLERgYCHt7e6PfzMzMMHToUDRs2LDItwtAInZSUvQpcTb9/BM0sU8RdukYNLFPQZrMD+7PCfzpOyqKSU9PT1SvXr1It5F0dV++w/pH78XAwVKJgXWLY0b78mhT0QOH/3iFtsvO5y8mAaPk7jqd7r1cF86cOYOxY8cyMQnoKwCNGjXqL3GJ4HD+C/Ahbw7nLTj1MDbfiO5LTxMwtAHwXeeKWHA8DInp2QjytkePGj5Yd/EpMjR5iy4dBKTZ+RZZX/v06YPp06fj/PnzRdamIenp6UB6OqK3TCj0MG/arcPIjvtwFVDKlCmDo0ePYsiQIdi3bx+0Wi2z0mVmZuLnn39G5cqVP9j2cyP6LhqKyA8tYHx9fdG1a1dUr14dVlZW+Oabb3Dr1i1ERb1dGcyCMMtOQsbTG7AsXhk6GH9krbv4DOsuPnvrdkmbA03UvSJ1B2jSpAlq165tNH/x4sUwMzPDnDlzuKWSw3lP+JA3h1NI3mTloMK0IyjohhnesCQ+b1AS5qo/rTdLToZh/rFHBW6DiBD5QxeQJvM9e/v3ISjNoHTwAGQKVA6sgCsnDiIosDyuXSu6+tSFwc/PDwsWLEC7du3w5s0bzJkzB6tWrSryAJX/MsGNWuFl5QGQKdVF0h4RQdDlIOrHIUUWqNSwYUOMHj0abdu2zXOZqVOnYtq0aUWyPQ7nvwof8uZwCklEfFqBYhIAXiRm4MqzeIzbfQefbbqO7Vcj8XmDkuhd06fAdQVBgMLe/f07a4CtrS26du1apG2aQgxwIE0msmPCkR39CK8f3QRpMv9yMQkAWq0W2dn6oJDs7GycPn0acXFxUCgUCA4O/sv781dQr149I0ubGLTyIaKaL588hHKZ94qsPUEQEH9keZFGvdva2qJLly75LjN9+nTMnTu3SLaXlpWDP14m4+bzRPzxMhlpBaRG4nA+FviQN4dTSAqTZLltRXfM7lgBDeefxqsUvZXxyB+vIBP0+ff23X6JpHRNvm28a9JoUxw+fBjNmzcHAMTGxuLUqVNF1nZuTPkGhoeHf7Dt5aZy5cpYt24dihUrhiFDhmD37t3o0qULLC0tkZGRAZ1Oh3r16mHv3r2ws7NDTEwMSpQogbS0j6cay9mzZ6FWq2FlZYX4eH31pk6dOmHLli1QqVQIDg7GlStXinSbh5dNRulOXyCzVFPo69u8w9Dx/2cLSDyzvsh9azMzM5GZWbDFf9y4cTAzM8MXX3zx1tsIi0nF5svPcephLJ4npEs+PAXoUyU1LO2CHsHe8He1fuv2OZx/A9xCyeEUEpWi4NulZw0f/PEymYlJkeP3Y2ChUqCcu02BbZA2f8H5NrRo0YIFaHxIMflPwMLCAsWKFYODgwN++eUXnDt3DpaWlkhLS4NOp4OlpSVatGgBGxsb6HQ6jBw58qMSkw4ODrh+/ToyMzMRFxeH8PBwlC1bFrt27YKlpSUcHR2LXEyKPNy9CPGHFgPanAKDs3IjgKDLyUbWubVI+X1Hkfft8OHDhV521KhRWLVqVaGXj0xIR6+fLqPpwrPYeDkCEbnEJKCX2BEJ6dh4OQJNF55Fr58uIzIhvdDb4HD+LXBByeEUEl9HywJtL05WapNR4Aq5TPJvXogBLEWBWq1Gy5YtYW5uDkA/JG1r+/ZVR/7peHp6ol69erhw4QJcXV0xbdo0fPLJJ6hVqxbS09MxaNAgjBkzBkSECRMmMHH1yy+/oFKlSmjcuPHfvQvvhZeXF3r27ImEhATUq1cPV69eRU5ODvbu3cusxjk5OUhISICVlRUCAgI+SD/e3DmKqB+HIDPiNoCCo/7FEp4Zz25BfmQ2Xl0o+mwE/fv3f+t1hgwZgvXr1xe43Larz9FkwRlcDNdbggsqvyr+fjE8Hk0WnMG2qx8uOI3D+TvgQ94cTiGxVCvg7WCBiHysC0/j0lDX3wnFnSzxNO5P61e7QA9odYT70Sn5biMnMbrIAnKUSiV+++03CIKAfv36oVWrVvjll19w5MgRltbm346NjQ06deoEX19fVK1aFcuWLcP06dMBAD4+Pjh58iT8/Pyg0+nQv39/DB06FGfOnGFDoHfv3v3LckJ+CEJCQrBjh96q16RJE/Tr1w/Vq1dnOTHlcjlq1qyJkSNHYvPmzThw4AAePHjwQfoiCAJykmOQsOtbCLbu+Ub965JjkPb4CpyS7iPi2rkPFmFdmKFuU/Tr1w9qtRrdunUz+fvSU2GYd7TgIDtTaHUErY4wbvddxL3JwvCG/u/UDofzT4NHeXM+aogIKSkpUCqVUCqVUCgU7/XyGrnuHA4+SkFe6SSr+zpgy8BgJKZrsOHSMySma9A4wAUNS7tg65XnGP9r3vW/SadFqkEyZ85fh2FS8n8TdnZ2+Pnnn7FkyRKcP3+eBSEBQJUqVXD58mUoFHq7gU6nw8CBA/Hzzz9/0D4plUpoNBrUrVsX586dg6A004tKuRICaZEdHwVBm/2X5ON8H2QyGXbu3ImOHTtK5m+7+hzjdud9H78tcztVQNdq3kXWHofzd8EFJeejRKvV4s6dO9i6dSu+//57yW9yuRwKhQIKhYKJTMN/lUol1Go1lEolVCoVVCoVYmJi8Pz5c2jMHeExaEW+2w4sZotRTUqhnLsN7CxUiExMx64bL7DqbHiBw2KvfvocWa8j3nv/DREF9Md2q7u4uOD169eF2i+ZTAadTgdBEODs7AxAH/mdkZHxj65IlBcymQxqtRoZGRlsXvHixdG3b198/vnnaNq0KW7evIkSJUrg7NmzmD17NtasWYPMzExYW1vDxcUFT548+aB9NDMzQ2ZmJuzt7ZGYmPhBt2WKxo0b48SJE+/VhkKhwN69e9GqVSsAep/JJgvOIKsQAXoA8HmDkhjbvDQevkpF80WmK2ypFTIc/7I+vBws3quvHM7fDfeh5HyUjB8/HlWqVDH5m1arRVZWFtLS0pCUlIS4uDhER0cjMjIS4eHhePjwIe7cuYPr16/j999/x5kzZ/DgwQOkp6fDw0qGjKc3kU+xHNx+kYx+666i+uwTKDX5NzT+4QyWn36Sr5gknRbaF6FFKiYHDx6M5ORk6HQ6zJ8/H4IgQC6Xo3fv3ujTpw8bGv23EhsbKxGTFhYWGDVqFLZv346YmBgQEebNmwdAb50zNzdHWFgYYmJiEBMTg8TERFY1JygoCGXLlv1b9uNd0Ol0EjEJ6H1mX716hT/++AP79+9H37598eTJE3h6emLp0qWwtLTE4sWLkZSUhKtXr8LC4sMKGHG4+e8Qk+XLl8eGDRveu52cnBy0bdsWW7duBQBM+PUucgr4KBRxszHD5w1LFJg2KEdHmJDPyAWH82+BWyg5Hx27du1CSEgIAKB69ep49eoVIiMji8xC17JLT/zh0wmCQlUk7RERZLocvCjCZM6A3rri6+sLjUaDiIgI2Nvb4/fff0fp0qUBAC9fvoS/v7++4s2/DHd3d0RHR0Mul+Orr75CWFgYfv31V9jb2+PChQsoU6YMLly4gKZNmyIjIwM+Pj6IiIiATCbD6NGjMXfuXHTu3Bl79uxBvXr1cObMGQDAzZs30aFDBzx//vEFTCgUCpibm0OlUkGr1SIpKenv7tK/iuaf9MUDv5BCL7+kW2U4WKoglwmwt1DlaaEUOf5lPZR04SmFOP9euIWS81Hx4MED9O7dm1nerly5gqysrCITk4Ig4Lcdm1Ay+UaRtCe2GVfEyZy9vLxQqlQpPH78GBEReqtncnIyWrRogZ49e2Lz5s0oU6YM0tPT0aVLF9jZ2RXZtj8kZcqUAQBER0ejWLFiiIyMxNy5c7F7924sXLgQSUlJqFChArp37466detCo9Fg27ZtePbsGc6fPw9nZ2fMmzcPFhYW2LNnD4KDgyXplKysrBAVFQUrK6t/VPJzQRBQp04dVKhQAQCwatUqZGVlITIyEtevX2eJ68Xk8qbIyclBeno6kpKSPmox6e7uzvxGiwoLCwuE6VwhK1RpA70vdcvybvj2QOGSvstlAjZd+vg+Yjj/Lbig5Hw0vHnzBu3atTMSkDExRSfUiAgWFhY4uXomks5uZPPesTEA+CDJnN3d3fH06VMAQO/evTFp0iRUqVIFr1+/xubNm9GzZ0+kpKTAzs4OOp0OK1euRGBgYJH2oSgRBAHe3t64f/8+LCwsYGlpiRcvXuDgwYNsmS+++AIXLlwAAGzduhVKpRL37t1jYqt27dp4+fIlypcvz/wm7ezs2NCsmPhcp9Ph5MmTuHTpEqKjo1GzZs2/eG+ltG/fHjqdDufOncOlS5dgbW2NYcOGISoqCsWKFYMgCMwfUqfTQaVS4ezZs9BqtTh48CC6d+8OLy8vAHp3D61WC5lMhvLly2PAgAEoUaLE37l7RYqvry/Wrl2LJ0+ewMam4JyvhUUQBGQ5+ZusWZ4bmQBMb1cO269F4mFMaqHa1+oIpx7Fvm83OZy/FT7kzfkoICJ88skn+PXXX//SNDBWFZvBpdVwfdS38BbfZ6SDLkeDxGMri1xMigiCgLlz52Ls2LFsXkpKCooXL46EhAT4+voiISHhX5VCqFu3bli/fj2SkpLg7++PlJQUbNy4ET179kRcXByqVq2KiIgIqNVqZGVlITAwEBcvXmT+gkOHDsXKlStRqlQpWFpa4ubNm1Cr1fjhhx9w8uRJ7Nq1i/nfbt++HZcuXcKLFy/+8v1UqVT46aef0LdvX7i5uUn6cP78edSrVw+Ojo5wdHTEw4cPAQC1atWCl5cXtm/fjrJly+Lu3buQyWQ4e/YsQkJC8Pr1a3ZcBEGATCb7V6dM+isRVObw+vKXQvkc96rhg7HNSqPB/NNISMvGtkE1CjXkLQAIndYclmqezY/z74RbKDkfBQsWLMDOnTv/shek+GIplv0cceu/gEWq/oUvUP7Rn2Ky54xntxC9ZtgHFZNEhK+//hqOjo7o378/Hj58iNKlSyMhIQFz587F06dPkZycjKtXr8LNze2D9KMokclkSE1NxbRp03Dp0iVcvHgRlpaW6N27N6ZPnw4vLy9ERERg1KhRSE9PR9euXXH79m14eHjgjz/+wOjRo7Fy5Ur4+/vjjz/+wI0bN7B161bI5XJ8/vnn2LVrF+RyOebMmYMuXbpg586dbGjYwcEBUVFRyMzMxKeffvpB97NBgwYICwtDz5490adPH0RFRUkCTGJiYmBtbY24uDg8fPgQzZs3R0REBC5cuIBt27ahb9++uHfvHipVqoRmzZqhfv36SEhIwPjx45GZmYnt27dDLpdDq9VCqdSX+fwQdb7/akS3DZVKhW7durGE/kWBws6tUGLSzkKJ0U1LYfHJMCSkZRe4vCEE4Fn8x1O5ifPfgwtKzr+eM2fOSKxwfwWiYT88PBwp0U/RRH4fL1cPRQXzJFBKDBvONlxek/ASqTcOImr1EMRunwJl9oexDLq4uCAzMxNPnjxBr169oNPp8PPPPyMgIACvXr2Cn58frl27Bg8PD8jlclSrVg2vXr36IH15XwRBgJeXF6ytraHT6XDw4EHMnj0b7du3R/ny5ZGRkQEiwrRp05CZmYmOHTuiYcOGSElJwbZt27B06VKkpqaiQoUKWLBgAXx9fXHx4kX8+OOPaNasGYYPHy4JStJqtXBzc8P8+fMRHx+PGjVqAAD27dsHDw8PqNVqbNmyBa6urlAqlZJIaVHAvE3kvEKhQKVKlbB+/Xo4OTkBAE6fPg0fHx94enrCxsYGKpUKX375JVavXg03NzeEhIQgLS2NDekOHDgQ3t5/5jH8+eefERQUhLt37+LYsWOoUqUKXrx4gVmzZgEAPvnkE5b8XaPRoEKFCsjKysKuXbve5RT9I1Cr1WjYsCEmTpyInJwc/PLLL1Cr1UXWvlJdOHE6pmlpJKVrsP73Z++0nexCpiPicP6J8CFvzr+aqKgoVKxYEUlJSX9romQxmbOFhQXS09MlyZxJq5FUwHFwcEBCQsIH60tAQAA6d+6MmJgYPHjwAM+ePSvUsG3//v3RsmVL1KtXD05OTrC1tYVOp0PPnj3x449/TbJ1MXchoN+Pixcvwt7eHgBQqVIl3L59G7Nnz4alpSWuX7+OvXv35hlgIpfLYWNjA61Wy4b1RcuciLOzM968eYOMjAwsWLAACxYswPPnz2Fra4vvvvsOn332GSpVqoSbN2+ydZ4+fQo/Pz907NgRO3fuZNV54uP1Jfg6d+4MlUqFly9fQqFQSHIhKhQKNG/eHL///jsUCoXEv3f79u3o1q0bhgwZgqioKBw/ftwoNZBKpUKfPn2wcOFCZGVlwcPDAzqdDpGRkXBxccGjR4/Qpk0bhIWFsX2tW7cuzp79c7i1T58+2LBhA6ysrODr64vQ0FB4e3tj//79CAoKQk5O/mlu/osoXYrDo/+SfJfxdbTAidEN8O2Bezhx/8/zuuTTyrAxV6LP2itIzcpBcoYmzzYOjqiDch4fX3lUzn8E4nD+Bt5kaig0KoluRCRQaFQSvcnUvHUbWVlZFBwcTAqFgqAfMfrHTJaWlkbz3N3d/5a+CIIg+b9MJiNra2uSy+VsnqenJ61bt460Wi0REU2YMIEA0Ny5c4mIKDExkfr160dKpdKovfeZxD74+/uTi4sLASAbGxuSy+Xk7OwsOd9JSUlkbm5OKpWK7ty5Q15eXgSAatasSTdv3iSVSkUymYz69etHlStXJisrq3y3bWtrS3Z2dgSAKleuTHv37qXExESaNWsWKZVKttyFCxck/ejXrx8BoOvXr0vmi/03NZUoUUKyfLVq1Ugul0vW12q1pFKpqESJEqTRaGjs2LGkVquN2qpUqRI7V/v372fHb8CAAezcfPrpp6TRaKhly5YEgJo0aUIpKSlUtmxZAkBly5al1NRUIiIaNWqUpH1PT8+//f5522tbEAQqWbIkOTk5fZDngbm1HXl/s598xh3Ic+q66mKBz6yfzofnub7vuAPv9BzkcP4pcAsl5y8jLCYVmy8/x6mHsXiekA7DC08A4O1ggYalXdAj2Bv+rgXnYxsxYgSWLVv20VWAeR+aNm2K4sWL48iRIyxdkEi1atUwevRofPLJJ5DJZFiyZAlGjhwJS0tLZGRkQKfTQalUIjg4GJcvX4aVlZXEkhoaGooKFSqgR48ecHNzw9q1a98pabWlpSWys7NRvnx5rFu3jkWXC4KAwYMHY/ny5fjyyy+xePFiLF26FJ9//jlb9/Dhw2jZsiXzER0zZgwGDhyIdevW4ddff2UBKoaoVCqsXbsWpUuXxtChQ3Ht2jXI5XJYWVkhOTnZaHm5XA5zc3O8efMGgN53s3v37liyZAns7Ozg5OQErVbL9l10KRg0aFCe1+LAgQOxevVq9v9BgwZhzZo1iI6Olviv1q1bF+fPn2cWbzs7O3zzzTcQBAHjxo2Di4sL4uLi2LmqWbMmUlJScOvWLQD6+uUHDhxA+fLlodPpkJCQgNatW+PKlSusWlDlypXRpEkTJCUlISUlBfHx8Th58iSz8Iu+iP/k1EKCIODEiRNo2LAhVq5ciaFDh8LBwQGPHz+Gvb09Ll++jDZt2iAuLq7Ituk7fB3IyinP3+0tlKjm62A0/6umpWGpluPbA/cQEZ+eZ+S3j6MFzoxpWGT95XD+arig5HxwIhPSMeHXuzj3OA5ymZBvxRjx97olnTCrY4U8y5GJqW84f+Ls7Ixy5crh0qVLbNjYEDc3N8ycORMDBgxAWFgYypQpAysrK7x69QqCIGDhwoVYs2YNHj9+DEA/jN+iRQtMmTIFVatWRdeuXfHLL7/gwoULmDdvHvbt28eGj318fDB8+HD8/PPPsLOzw6tXrxAeHg47OzsjYeLg4IAOHTrA09MTP/zwA9LS0iAIAsLCwlgKm5ycHNjY2EChUCApKYnlV5w5cyYmT54MQC9Mc3JyWAoghUIBFxcXREdHAwCICPb29nj8+DEcHP580f/4448YOnQodDod5HI5nj9/jtevX+PcuXO4fv06Hj58iKtXr5oc+hWFrI2NDUqVKoVXr14hOjqaHQcbGxssWbIEPXv2xOXLl9GvXz8mcoOCgvDjjz+iSpUq2LBhA/r06YO1a9eiX79+iI2NxYABA3Dw4EEQEVQqFTp16oQyZcqwvJGbNm1CTk4OqlWrhsjISLx+/dqoj+Jxehf3D0N3ADH5+T81Ctzb2xsRERHIycnB5cuXMXfuXOzfvx8KhQIODg5ISkqS1DUvCuybDIZt1bagQqQOMqQwUd5ymYBewT6Y1q7c+3aTw/nb4IKS80HZdvU5pu77Azk6KrCOtSFymQCFTMD0duXQrZq35Lc7d+6gevXq/8oazH8FVlZWsLa2RnR0NLp27Yo1a9Zg1KhR2LhxI7Kzs2FrawutVou0tDRcvnwZ1apVY+umpqbC3t4eZmZmsLW1xcuXLwHorVaixU6r1YKI4Ofnh2nTpqF3797o27cvfv75Z9ZOo0aNcObMGSZIQkNDsXr1aixevJiJMhHRb3LKlCmYOnWqkXjs27cvFAoFtmzZYlTVx8vLC61bt0bv3r1ZvsgJEyZg9uzZAIBTp06hQYMGRseoVKlSCAsLA6DP07l+/Xr227Fjx9CsWTO0bdsWe/bswe3btzFixAiW4zI/5HI5LC0tYW5uDjMzMwiCgGfPnknEmkwmg0wme2dfxdwpf0TLo4hMJoOHhwcqV66MBw8eICwsDCqVCo6OjoiOjkbz5s2xbNkyWFtbIzAwEK9evcLcuXPx9ddfIzs7G40aNWL72rp1ayQnJ+P8+fPv1NeixsnJCTk5Oewjw5RwFgQB5cqVg4ODg8R39H2QyWRQO/vApV/+fpSmKGzaIF4ph/NvhwtKzgdj6akwzDv66L3bGdOsFIY39AegH4arVKkSIiMj3ysIR6FQfFTBB/b29qhXrx4uXLjAhvnq1KmDc+fOsWWys7MxYcIELFiwADqdDgqFAmPGjMGMGTNYZRExXc7evXvRrl07RERE4IsvvsD+/fvZ8VYoFOjYsSNWrlyJ3377DT179sSaNWswYMAAtq3cghL4M+m2OK9EiRKwtbXF/fv3JcEnjo6OsLS0RHp6utGQpYWFBQYNGoT27dujefPmUCgUePXqFYt4/uWXX9CtWzeo1WpkZ2dDqVRi3759sLKyQlxcHOLi4rB582acPHkSvr6+SExMRHJyMiwsLFC6dGlkZWXh4cOH0Gq1sLOzQ05ODrKzs6HRaN7btSK3kDbExsYGjRs3RoUKFbB9+3Y8fPgQW7Zsgb+/P1xcXODi4gIzMzO4uLjg9evXAPTnfPPmzWjZsiUAfeqs0aNHGwUeOTo64saNGyhWrBgqVaqEu3fvol+/fjh27BhevHiBadOmYerUqWz506dPsxrnKpUKhw4dgpmZGerXr/+PsFgqFArodDqWiL5x48aoXbs2atasie+++w7Tp09HsWLF8Ntvv7HKQkWBnZ0dLFt/A2WxcqC3yTlbAKTNgXlqJL6spES1atXg5uYGZ2dnltKJw/m3wAUl54Ow7epzjNt9t8jam9upAroEFUOzZs0kUbMcvQj85ZdfAADNmjXDsWN/5rZs1aoVduzYwdLbbNmyhflAZmRkIDk5GWq1Gn379sU333yDkiVLws/PD2FhYTh//jyGDh2K0NBQ1l6NGjVw9+5dpKXp8+VZW1sjNTUV4eHhKF68OFsut6C8cOECOnXqhNjYWAiCgLNnz6JOnTrIycnBnj170Lt3b6OI5ty4u7ujYsWKSE9PR1paGqKjoxEdHQ2FQgErKytkZGS8t9VaFGMqlQpKpRKZmZlsH8TfHB0dkZSUBK1Wi2LFimH8+PFYu3Ytrl+/jhcvXsDFxQVyuRx3797F7t278e2338Ld3R1yuRyvX7822UcLCwv4+PjAz88Ptra22LJlCwYPHoxVq1YB0H8M9OjRAzt37gQAFC9eHI8fPzYqtdihQwfs3buXfTAZiks/Pz/06dMHGzduZG4N48aNY9ZcQF9tys3NDVlZWVi1ahWGDBmCnJwcTJgwAXPnzoW9vT0EQUBs7F9f1WXYsGH4/vvvYWFhgefPn6NEiRJQq9WIjY1l1/fDhw/Rp08fXL58+YP0oVSVWshqPBaQK4C3HPo2CREE0uLFqs+MSq/a2trCxcUFHh4e8PDwgJubG1xdXeHq6ir528XFpchLTXI47wIXlJwiJzIhHU0WnEGWiZxq5T1sMLZ5aVTx1r+YbjxPxJzfHuBedP45GdUKAarj3yP00uki6+fHYKUUgzfq1KkDe3t77N+/H/Xr18eWLVvQtm1b3LhxA2q1GosWLULbtm3h6+srseqtWLEC06ZNY0KPiDBlyhRs2rQJ4eHhEAQBjRs3xoULF2BnZ4eXL18iJycHO3fuxPz583Ht2jXWF1dXV1SsWBHFihXDgQMH8Pr1awQHB+PevXtITdUHIojDlPlZ6wqDIAhQKpXQ6XTIycmBubk5MjIyIAgCgoKC4OzsDBsbG8TFxeHEiRNQKpWYOHEi5s6di6ysLBw8eBBVq1aFg4MDZDIZfvrpJwwePNjI6m1paYnmzZtj6tSpmDp1Kvbs2YNnz57B2dkZISEh+O2331iAj1arZfsp8uTJE5QsWRKdOnXCnTt38PjxY9bHly9f4uXLl/keC7lcDrVazfJtOjo6QiaTIS4uDlFRUXB3d5csv3jxYnzxxRcAgOnTp2PKlCk4fvw4Zs2ahfPnz0OjkaasGTNmDL7//nv2/+rVq+Pq1atYt24d+vTpg4iICAQHB7P0Rtu2bUOLFi2wceNGfPvtt8xaWtSYm5vD1tYW8fHxkj4LgoDKlSvju+++w7NnzzBw4EC4urrCyckJjx8/ZmJdPKbi/VGU+DbuAapWdMnt4w8tKrDAgUwmg1wuh06nM7ISC4LAxKdarYaVlRUuXLjwVvlQOZyigAtKTpHT66fLuBgeb+QzWc7DBruG1MLL5AxsufwcMkFArxo+sLVQosOyCwiPy7tKBOm0yIq4g9hfphRZVHerVq1w+fJllj/w38aUKVMwfvx4dOzYEYcPHwagz9V4/fp1Zrlav349hg4dioyMDGatGjp0KFxcXNhwb0pKCkJDQ5lPoYhSqWRDx0Ud4ADoxZK1tTU8PDxQqlQp7NmzBx4eHhgxYgTWr1+PBw8ewMHBAaNGjWKBQc7Ozrh27ZpJISOTyXD69GnUrVtXMl8M4BL3f9myZRg2bBgAvT/o6tWrsWzZMokl1tXVFZs2bUKTJk3YPGtra1hZWbGgH0BfBrFz586IjY2FXC7H6dOnUadOHfb7Dz/8gK+++or1r02bNli1ahXc3NxYGcjw8HCsXLkSS5cuRXp6OszMzNgQvSiU88LOzg5ubm4oXrw4nj59igcPHrCofRsbG8TExEClUgHQBzr5+voiKipK0kaxYsWwbNky3LlzB5MnT0abNm2wf/9+9ntsbCxcXV0BAB4eHrhw4QKioqKwaNEi7NixA25uboiNjX3vPLCenp4YNGgQpk2bxsppAsD9+/cRHBxsJNYNkclkKFWqFBo2bIg+ffogODgYQ4YMYRbeosahzqewrtMD+qxC7yDciABBQNKZDcC9IyazDbwPO3bsQEhISJG2yeEUBBeUnCIlLCYVTReadj5f26caqnjbocH800hK11sNnK3VOPVVA5wLe42hm28U2H7U6iHIiS+62sp5Ofb/01EoFPD390dWVhaio6MlokMmk4GIikR4q9VqyOVypKeno06dOnBycoKNjQ1sbW1hZ2eH//3vf/D19cWSJUtga2uLXbt2Ye3atSZfkM7OzvDx8cG1a9cwdepUTJs2TfJ72bJl8ejRIzg5OSEmJgYNGzbE0aNHoVAo4Ofnh4iICMTExMDJyQnZ2dnYtWsXVqxYIfETBfRBSWXLlkXLli3Rv39/eHt7o1u3bti+fTsUCgWio6Nx7tw5fP/997hy5Qq0Wi0EQYAgCJDL5QgICMDdu3dRqlQpXL58GXZ2djh79izq16+PESNGYPHixZLtZWZmSsr8NW/eHE2aNMGcOXPYx0rZsmXx+++/M19PQG/t+/TTT7Fq1SpmHf3+++8xe/ZsyfFr0aIFdu3aBTMzM4SGhuLcuXOYMmUKEhIS4OrqiqSkJKNhdNFCZ2FhgYYNG6JcuXLYsWMHnj59ij59+uDHH3/EggULMHHiRInFS6lU4uTJk6hevTquXLmCixcvYuHChYiOjmZ1wHOjUChgb2/PfD1PnTqFWrVqIS0tDffv34erqysiIyNZv+RyOSpUqAAvLy/s27cPV65cgZ+fHxwdHZGZmQkLCwsEBQXh8uXLOHz4MLZs2YLjx49LksDnhYeHB4KDg9GoUSPcunULGzZsKHILpYhVxWZwajFM70/5Fj6VpM3RfyBf2IjYS3uKvF+CIMDZ2RlhYWGS643D+eB84DyXnP8YU/eGkt+EgyYT96ZkZNP+21FG84/ff0WZmhwqM+W3fBMH+3y9l+ybDC6yZMWdOnUiNzc3gkGC7X/TJAgCS8CtUCjI3d2dJXr29vamzp07U79+/ahjx44E6BN5Ozo6EgCytramtm3bShKwe3p6UlZWFhERXb16lYKCgthvSqWSLl26JDnX0dHRBICqVKlCwcHBJpO5GybmtrW1pa5duxIAat++vdG1M3DgQLbs5MmTJb+dOnWKAFCLFi3YvKtXr5JCoSCFQkGjR48mAOTs7Eze3t4kk8mM+pD7HAuCQAEBAbRw4UKWyH3WrFlERDRgwAAC9Anqr1y5Qi1atCAAFB0dbdTvI0eOEAAaP348u57Ec9KrVy8CQGPHjjVaLyEhgQBQ79692bwzZ86Qs7OzpJ9yuZxCQkIoPj6eLXfv3j0CQGXKlCELCwsCQF26dKGlS5dSv379qFatWqRSqUxeN3K5nOzs7Kh06dJUrVq1QicCd3Z2puLFi0uSiZctW1ayT5s2bSIAtHr1asl8V1dXsrKyYtdr7dq16YcffiAAtGXLFiIi0mg0tH37drKxsTHatqWlJZmZmREAOnfuHBERrVmzRnK8xes09zn+kPe2wtaVXLp+Sz7jDpD313sLfH75jDtArl1nkMLW9YM+G2QyGY0cOdLomuNwPiRcUHKKlHrfnczzgZqpyaGd1yON5u+/HUVERB2Wnc//gTzuABUbuqbIHrrii8bZ2flfISgFQaDVq1eTTqejVq1asfmlSpUijUZfYSMmJoZVkKlRowbFxsaSubk5KZVKio6OpoyMDKpevbrkGDg6OpIgCPT8+XOj87ly5UpJH3x9falLly5UuXJlyctbEAQmNJycnCgoKIhkMhkREUVGRtKgQYOYmBW3O3z4cIqJiSGiPyvzAPqqMqaoUKECCYJA4eHhdPv2bVIqlSSXy5nAaNiwIQGgBQsWkFarpePHj1OHDh3yPJb9+/en69evk0ajITMzM7Kzs2OVgoiI1q9fT3K5nARBIIVCQV5eXib7NWbMGALABJyZmRkTacWLFyfAtKAkIlIqlVSpUiVKS0uj5s2bs2Mzbtw4+uSTTwgAeXh4sD43a9aMIiIiiIioRIkSTDxs2rTJqO2MjAyJOBM/KHKLrsJMHTp0YOcqMjKSrK2tCQCVLFmSXXtERJ999hkBoMjISElfXF1dydXVlRITE6l+/fqs34D+48fV1dWoApOfnx/NmjWLoqL0z4fr168TAKpTpw5rNysri/r27Sv5gJDJZOTv709Vq1aVXHNFPRl+LCkdvci+yWDyGPyjUUUd72/2U9DUfWTfZDCNnDxL8uz50M+L3NWcOJwPCReUnCIjNVNDvvmIwXsvk+lxbCoVH//nvJITD1JkQhoREX228VqBgtL7m/0kKM0+2AP4Qz/k32dq1qwZO9bffPMNm29otSPSl/Br3bq15MW1Zs0a6tatGxM6jo6OTJAAoICAAJPntEqVKgToRZ7hSxsAsxiVKVOGAL1FbubMmUSkF3eioDTk7t27zKKW+8Xs5uZGZcuWJZlMxiylhty+fZsAUGBgIKnVapLJZHT8+HH2e1ZWFtna2pJMJqNPP/1UYukzNzenDh06UO/evcnJycnkea9Tpw6dOXNGIipDQ0NZf0uXLi35LTk5mXr16sXWd3BwoMWLF5NWq6WsrCxmjQVAFStWlKwr4u7uThYWFuwYBAUFMStoaGgoAaAePXrQiRMn2HEWtyX+7evrS+fOnaM5c+ZQt27dqEqVKuTq6mrSQqlUKsnZ2ZkCAwOpc+fO1KZNGwL0ok4Umvb29mRubm7yGpTJZOTk5CSxRru4uDCRW716daOSkkR6Qens7ExLliyhJk2aMEEqTjY2NtSoUSNauHAhxcTEkEwmo4oVKxq1ExwcTIDekix+tIjXXu7rqkaNGnTixAlq0qTJB70vjayiSjNSuhQnlXspqlCvJQlKMxoxYoTkfvwrJrlcTpUrV6acnByT9zaHU9RwQckpMkKjkvIVgxN23yEioh3XnlPjH05T0wWnad+tKMrS6F+0X2y7WaCg9Bl3gJQuxYvsoWtvb0/ff/89abVamjRpEnsRmRq+/bsmNzc3Vl/58OHDNHXqVAJAxYoVo5o1axIA6ty5s9H5EC12hpOXlxdt27aNLWMoury9vennn3+mQYMGkb+/v2QoVKVSUUBAAPXv35+aNm1qNExap04dyZBsXoKSiNjw8ZYtW4xexmK98/nz55tcVxS4AOjQoUNsfmpqKk2ePFkyBCoKqnLlyhm1M3nyZAJgst63XC4nHx8f6tGjBx08eJDq1KnDfitRogTdu3eP2rVrx8SMXC4nc3Nzk/3dt28fW9fOzk7S50ePHjFRbmlpKTkvIg4ODmRnZ0dZWVl07tw5GjhwYIEfPqJoFK2Ttra2BIA6duwoafvx48ckl8vJ2tqaMjIyKDo6mqytrUkQBNq8eTNVqFCBAND06dOpZcuWrJ28JktLS5LL5aRSqeibb76htWvX0tSpU6lu3bpGfXZ2dqYWLVpIrqMuXbqwD4kqVaoYfVgcPXqUatSowZYXBIEqVqxIq1evJq1WSxkZGWRtbU0ymYxKly4t2V5+ddY/xPRP+jhdtmyZyWuTwylquKDkFBk3IhIKFINLToYxAUlEdCsykRafeERERIM2XC2UoFS5lyqSB62lpSV9++23tHTpUpoxYwYJgkAODg704sULyszMZEOZf9ckk8nop59+Ip1OR9HR0aRUKtkL2M3NjdLS0kir1VLVqlUJ0FuyRLZv327UXm6/RdHfzdfX10hYqdVqNnQ+fPhwyXq3b98mb29vyfI2NjY0ffp0ZoXLT1CKYk601kydOpW2bdtG1apVk1hBa9SoQTt37mTrRUREMAHm5eVFGo2GFi9eTGXKlGEvcLVaTX5+fuylbmFhQampqSb7YXh+d+zYQU+ePKFJkyZR1apVjT4o5HI5FStWTDLP39+fDh48SGZmZka+hCKPHz8mQC+4xXNXu3ZtiWUTAD148ICJxtmzZzNLo7i/pgRLbpeD//3vf5Senk5ExKyjNWrUIK1WS5UqVSIATLRqtVrmc3vx4kXJMba0tGR9a968uWR/tFot9ezZ852v6UqVKtFXX31Fu3fvpvj4eAoKCiK5XE4BAQEEgCwsLGjTpk30008/EQD68ssvqUOHDpLzIVpPDa3TIuJ64mTqg+GvnArrn/ohJ0tLS5O+vxxOUcMFJafIKMhCKU4Vph2mzisuULMFZ8hn3AFaejKMiIga/3D6L7dQ/hMne3t7EgSBXFxcJMe3d+/eBOjFTXJyMpuv1WqpYsWKBIDatWtHgYGBrK2yZcvS0aNHydfXlwC9ha1jx47M4mn40ilXrhwbSrW0tKQSJUqQIAiUlqZ3ScjOzqZu3boR8KfPZHBwME2aNIm9uM3NzWnUqFFUv379PAWl2IZcLjcSBRqNxkisqtVqql+/PhMSPj4+rA9iO6L41Ol0pNVqmdgaP358ntdrTEwM20ZAQIDEF5CI6OXLl/Tpp5/meZ7KlCnDfExDQkJMbkMUlGPHjqX4+HgmnAC9JVE8D6aGQpVKJdnb2xMAZm2Uy+W0ceNG1n50dLRE6Hp6ejKLauXKlZnAT05OlvjSioJz3LhxRn0ODw9nx1YMmDGkdOnSpFAo6M6dO9S4cWOJL6E4OTg4UFBQEDVu3Jhq1qxp5C6ReypZsiSVK1eOHYfc1lA3Nzf68ssvKT4+ng2JG/raHj161Mgq2apVKyIievXqFRva/y9OcrmcunXrlud9wOEUFVxQcoqMNwX4UOY13XyeSFGJ6eQ7vuBli9KHsm7dunTlyhU2tNexY0eaPHkyjRgxgnr37s1e1CVKlCA/P788/cqKcrK1taUKFSqwoduaNWvSsGHD2DCx+MLt3bs3hYWFMevbb7/9ZuQzN378eFq3bh21adPGaMhPFFy1atViQQ8iy5YtYyLBzMyMoqOjadu2bcxKVLp0aTpz5gwBoKFDhxKRXtT+8MMPTJCKgsTQOpiVlUW1atVifWjSpInJ60i0nE6dOpUmT55sJH4N92HZsmVGQrBfv34EgEWA5w4QEWnWrBkBYGKjQoUKEj/HkydPSs559erV6ZtvvqHg4GCjIU1zc3Nq0qQJLVmyhGJiYpilUfRlNTMzy3cY1M7OjkJCQmjGjBl04sQJysjIYMdVPK8ODg706NEjo/3IyMggpVJJarVaIrJ/+OEHyf6I0eiurq5sf02xe/duAvQWckM/1evXr7OgG8N9USgUVLx4cWbRFidLS0vq2rUr3bt3jwXlaLVaunv3Li1btoz69+9PJUuWZG3kdWx8fHyoVatW9PXXXzPLZpcuXQgAjRkzhm1XJpNRq1atKDIykt3TO3bsoJUrVzJL7z/BYvh3TUePHjV5vjmcooILSk6Rkl+Ut6np8836KMQZB/4o1PKen60usgdslSpV2AuyYcOGkv2Ij48nmUxG3t7ebN7y5cuL3DdKEAQmGCwtLZkVqai3I5fLydbWViIsZTIZzZgxg1atWkU7d+6kM2fO0L179yg+Pp6WLl1q1IZarWb+WKtWrSIAJv3+1q1bx/ZJLpdThw4d6MqVKywYpmXLlmRhYZFnNLdoYfT29qZ27dpJ+pDb0tW0aVN6+fIlW3f//v0E6CPfjx8/ToBekOQOiHny5AkBYIEfPXr0IEAfFLNjxw5mBRXPixh0IpKcnEz+/v6S81iY8+Dk5EQTJ06k48ePU79+/dh6tra2RoFIsbGxEmvt6dOn87zvvvrqK7acnZ0d+yCwtramyZMns/03tHInJiaabMvNzY0UCgWtWLFC4idquB+enp40bNgwSSopUcgPHz7c5HVubm4u+XjJysqSRPcDeuFdvnx5ql27doFWTcO2AwICaMOGDcyPNzExUWI5tbCwoM2bN9OLFy+MLOD/hUkmk5Gvry/7UOFwPgRcUHKKlPzyUHZZeZHOhb2mWYfu0didt2nL5QjS5Gjp1IOYPNeRTEWch9JwEtPnlC9fnjp06MDEwpYtW2jo0KFGwSM9e/akmzdv0tatW+n7778nANSgQQNJkIXo5yZaRQytI3PmzKEjR47QmzdvWDqUvn37So7l119/LXkh7tixg3bs2EEzZsww+VI19RIxNzcnc3NzUqlULAXO+xwnOzs78vLyYlG6wcHB1Lx5cwoJCaH+/fvT6NGjacaMGeTv70+CIBjlCRwzZgwREZUsWZIsLCyMrp8XL17QoEGDTAb9iGlr7t27R507d5b87u3tTaNHjya1Wk0qlYpiY2OJiJi4GTBggGQ7YrTw3bt32TzDgB+5XM7ycLZs2ZK6du1KVapUIRcXlzzzO9ra2pK3tzd5eHiY9N3z9/enqVOn0rNnz9g2Hz16xMSapaUlbd26lYiITp8+za4lMT9n69at87zvxGtFEATKyMggrVZLU6dOZefJzMyMhg8fLonsP3z4MFtfq9XSwYMHWUopU9fJp59+Sp6enqRSqUxGrAcFBZFCoSAiohMnTjBBV7p0aUl7Dg4O5OrqKhGMVlZWkoAlIr37g+EyNWvWpFatWhWY9kgmk0nOkVKppO3bt1NcXBwRES1ZsuSDPEP+6ZMgCDR16tQ8r6G8eJOpodCoJLoRkUChUUn0JlNT8Eqc/yRcUHKKlEevUvIUhHW/O0lnHsZSXGomZWbnUFhMKs357T6VnFgIMfn/k8KxWJE9YMWXbcuWLalatWrk7u5u0h/M8EUF6CORDx06xIZz582bR4A+6jg7O5vi4+MpMzOTLC0tKSAggG7dusV84UTL19OnTyXHzc7OjhwcHCTzdu7cybb99OlTevr0KTVs2NCkv52bmxupVCoSBIFOnTrFcheKaXxEsrOzSa1Wk7W1NRvSL168OC1fvpy+++47Gj9+vMQqqFQqqVSpUpJ8fgqFQjK0+i4iVVzHysqKHBwcyMrKKs/hyFq1atHUqVNp4cKFtHHjRjp06BBdvXqV+vTpQ4Del9HwvBUrVowWLVrEhsLFj4ODBw8SkTSfYUZGBg0ePNgo+MXUPonR05UqVaKQkBCaOXMmOTk5kbm5OTsmc+fOpaysLDYkK05WVlYScWRubk6VKlWisWPHUtWqVUkQBLYPHh4eLPelGJTk6elpUoATEU2bNo2AP/0sJ0yYwH7TarW0aNEiyfnz9fUlpVJJKpWK2rZtS56enkb7GxQURJMmTaLw8HC6ePEiyeVyJuRyW/NFnJycJH6/r169YsPRcrnc5LXi7u5OVlZW5OTkZLLNBg0aEABJqieVSkXjx4+ntLQ0UqvVZGdnR7dv36Zly5ZRs2bN2P3xT4q0/qdMCoWCHj58aPJYG/LoVQpN3RtK9b47aeTG5DvuANX77iRN3RtKj16lFNgW578DF5ScIqfbqguSXJNFMXmP3UOu3WYW+QNW/GLXarX0888/s2hYw0kmk5Gjo6NJIadQKNiLtk2bNjR58mQmNi0tLcnT05OJjTlz5tCOHTsIME7l0b17dwJAoaGhRER06NAhSbLw3C9Ha2trNnz93XffMRE4ffp0ItKn0RF/nzdvHtvOkCFDCABLtRISEkKA3vJ4/fp15vMH6IeTDS1RUVFRkuNjY2Mj2Ye0tDR69uwZXblyhcqXLy9Zrn///tS2bVsmrA2Pbe7/F6UQUKlUzGcQ0Avv/IZSDYUToPc3NPRpzI1KpaIKFSpQWFgYE23idRIQEEAnTpwgQB+Uo9Vq6cSJE9SvXz8qUaKEkYD29fWVCNvPPvuMHX+xElBuP7jZs2ez/Xrz5g0b7s49fL53794899nGxoZq167NfEpzVyki0lcqEs/LihUrTB4LuVxOwcHB7P9Xr16l1q1bS463r68vzZ07l7Zt20Y1a9aU3FPVqlWjbdu2sX1OTU2lpk2bst8tLS3ZuSlVqhQ9evSIpfqaMmUK1atXj92T4oeURqNhPriiD7BCocj3w/FjnhQKBTVo0IB0Op3Jc/g8Po16rrlEPuMOFDhqJP7ec80leh6fZrI9zn8LXsubU2SkpqZi7dq1+GHVegitJwMKVZG0S0QQtBpErR6KnOSC6/m+DTKZDEqlEtnZ2Ua1r2UyGUaNGoXvv/8eMpkMAQEBePLkCc6fP4/ff/8dN27cwMOHD3Hjxg3k5OTkuQ1BEFCrVi00atQIgYGBCAkJQY8ePbBp0ya2zMOHDxEQEAB/f39kZ2cjIiLCqB2lUon+/ftj6dKlUCgUyM7OhqurK5KTk0FEqFq1Kq5evcqWT0pKQsmSJREfH4+lS5eiT58+sLe3h5OTE6Kjo9lyS5YswRdffMH2X61WIycnB9nZ2ZDJjGsUb968GT179gQABAQE4NChQyhevDj7/cmTJwgICEBOTg7atm2LPXv2sJrpW7duxdy5c3H37l22vFqtxpdffonZs2cjOzsbAQEBePr0KXx8fBAREYE7d+4gJycHr1+/RlxcHOLj45GYmIjExEScPn0at27dAqCvKe3g4ID09HRkZGRIalS/D2q1GgqFAiqVCmq1Gmq1Gubm5lCr1bh9+zbc3d1RrVo1nD9/HgkJCQAACwsLLFmyBBYWFvj0008xfPhwLFq0yOh4Xr58GdOnT8dvv/1mcttmZmaYN28eunTpAldXVzRu3BjHjx8HACxatAijRo2Cs7MzHj9+DBsbG/z0008YOHAg+vbti6CgIOzduxfXr19HYmIia9PKygparZbVf/f29sbRo0dRuXJlKBQKJCUlmTzvzs7OiIuLg5mZGe7cuQN/f3/224sXL+Dl5YXu3btDLpdj//79SEpKAgB4enoiNjYWGo0GCoUCW7duRUhICABAq9WiQYMGOH/+PGtLqVTCzs4O8fHx0Ol0AAAHBwfEx8cjOzsbffr0wbZt2yAIAvr374+NGzciOzsbAFCnTh3s3bsXDg4OrL0jR46gRYsWAIDu3btj8+bNAACdToeKFSvijz/+yPf8f4xs2bIFn376qWTetqvPMXXfH8jREbS6wssCuUyAQiZgerty6FbNu6i7yvkXwQUl553QaDQIDQ3FlStXcPnyZVy4cAGPHj0CAMjlcgR3H40oz/pFtr34Q4vw5s6xImsP0PczL9FhbW2N+fPno1+/flAoFHjz5g1sbGxQs2ZNXLhwQbKsra0t7O3t8fjxY9y8eROnTp3Cd999h/j4eACASqViL7zc25DL5dBoNMjIyGAvz9zY2toiOTkZAwYMwJo1ayS/HT58GC1btgQAJCcnw8bGRvJ7XFwc/P39kZSUhKpVq+LatWv49ddf0aFDBwBAeHg4WrdujQcPHkjWq1atGq5cuWKyP0+fPoWfnx9KliyJx48fQxAEfPbZZ1i2bBl27tyJHj16ICcnB4IgQKfT4fjx45g1axYuXLiA7OxsCIKAcuXKITQ0FC4uLoiPj4dWq4WrqysAICYmBl988QXatm2LJk2a4Msvv8QPP/yA7OxsXLp0CRcuXMDt27fx6NEjPH/+nB1nQ0RR4u7ujpycHLx48QIpKSmS3wcMGIBPPvmEidSEhAQkJiYiOTkZ27ZtQ2pqKgDA3t4eLi4uyMjIQGZmJrKysqDRaJCdnZ3vh0ReyGQyKBQKKBQKKJVKEBHrm4ODA8zMzJCSkoK0tDTJR45MJgMRYebMmcjIyMDMmTPh4OCAJ0+eIDs7G+vWrcOBAwdw/vx5yXridT5gwAAsXLgQVlZWAIALFy6gQYMGkn34+uuvMXfuXKM+v3r1Cu7u7qhcuTJu3boFMzMz3L9/Hz4+PoiLi0PXrl1x8uRJtryDgwM6dOiAKVOmwMfHB25ubsjOzmbHcOTIkVi0aBGAPz9Qvv32W6xbtw7h4eGsHbVaDTs7O8TExCAmJgYuLi4AgDt37qBFixaSD6MOHTrg119/lfR7xYoVGD58OEg/GoegoCBcu3YNADBgwACsXbsWCoXinc7jvxlzc3O8fPkSdnZ2AIClp8Iw7+ij9253TLNSGN7Qv+AFOR8lXFByCoSI8OzZMyYeL168iFu3biErKwuCIEAul0seyKI1qv2EFbil83qfDQOCgMQz65Hy+44i2BMpHh4e6N69O3r06IFPPvkEYWFhAPQWRfG2EAQBbm5usLGxwcOHD7F582Z0796dtaHT6aBQKNCkSRMcPXoUYWFhqFGjBhISEiCXy+Hv74/79+8jOzsby5cvx6ZNm3D9+vVC9U+pVKJy5cpo3rw5li9fjqSkJCQkJDDRqNPpULx4cTx//hwA0L59e+zZs8eonVevXsHf3x9v3ryBs7MzYmNjodPp8Pnnn2PVqlUgInTp0gVLly5F2bJlER8fDy8vLzx48AAWFhZG7S1fvhyff/45du7cCT8/P7Rv3x6RkZFQq9XIysqCubk5fHx88ODBA1haWiItLQ0A4Ofnh/79+2P06NEwNzeHtbU1nJ2dcefOHYwYMQLr1q0DAHY8ra2tsWvXLjYvtygXxZh47dWoUQOzZ89GjRo1YGZmBgB4/vw5Bg8ejKNHjxpZoAHA0dERnTp1wpQpU1CsWDEAQGZmJiwsLFClShXk5OTg9u3b6NevH9auXStZt0uXLti5cycAwMXFBevXr0fx4sXx+vVr7N+/H/PmzWMfCYGBgShbtixSUlLw5s0bvHnzBunp6Xj58iWSk5NZm6J1WKfTmezv26BUKmFpaYmkpCTY29sjKCgI1tbWsLW1hZ2dHezs7JCTk4P//e9/km2VLl0ay5cvR6NGjdi8ESNGYOnSpTh37hxevnyJbt26QalUws3NjV1/ANC6dWvMnDkTlSpVkvTFzc0NABAaGoqqVasiIiIC1apVw9mzZ3HlyhXUr//nx2e5cuXwv//9DydPnsT27dsRExPDjk2vXr0wceJETJgwAVu3bgXw5/0qCAJevHgBDw8P6HQ69OjRA9u2bYONjQ0uXLiAyZMnY8+ePZg6dSpev36N5cuXo0yZMggNDcWePXvQpUuXPD/qPkZcXV1x7do1nI/WYdzuuwWvUEjmdqqArtxS+Z+EC0oOIzExESEhIRg5ciTMzMxw+fJlXLp0CZcuXWJDZkqlEhqNpsC2bG1tkZKSAv8WfZBdoQN0ECDI5IXvjE4LnTYHicdWFrllUsTd3R1ubm64desWiAiWlpbIyMhgVo/169fjwIEDuHPnDhu+A/RDf1WqVEHHjh1RtmxZ1KtXD+PHj0dgYCB69uwJrVaLOXPmYMqUKVCpVLCxscHLly/ZS1sU3JMmTULfvn2RkpKCkJAQZpkRBAEODg5IS0tDZmampM+CIMDe3h7u7u5ISUlBZGQk2rZtixcvXuDmzZtYv349evfubbSv9evXx9mzZwEAEyZMwIoVK5CYmAgvLy/s2bMHVapUAQCULFkS4eHhICL2Ii5fvrykrR49emDLli3MIpqZmYkSJUrg5cuXAKSWXzc3N3Tr1g0TJ06Ek5MTADBLY+fOnZGYmIjy5csjNDQ03yHqsmXLoly5cggMDETt2rVRo0YNLFq0COPGjUOLFi1w48YNJCYmIikpCRYWFvjjjz8wePBgXLx4EQBQpkwZREdH482bNyAimJmZoW3btvjtt9+YoCtWrBh69uwJMzMzTJs2DRs3bkT37t1Rvnx53L9/H8OGDcOyZcuQnp6Ozp074/DhwwD0Vr3Zs2cbDRM/ffoUVatWRUJCAooXL47Hjx+zZXQ6HZo3b47jx4/DxcUFcrkc6enpkusMANLS0vD69WvMmzcPy5cvz1dkymQymJubw8LCAgkJCZLjKZfL30mkymQyqFQqdh3a2toiPT1d8gywt7dHTk4O0tLSMGHCBNjb28PR0RGOjo5wdnaGi4sLatSoAUEQ8OrVK+h0OnTs2BH79u1j9wKgdxP4/fffUbFiRUkfwsLCULZsWWi1Wkn/HRwccOzYMfj5+aFmzZp48OABBEHAxIkTsX37doSFhaFixYr4/fffYWFhAZ1OB3d3d8TGxgLQX+v379+HQqEAAHz55ZdYuHDhWx2fvwrxAyn38+BdUalUMDMzg1dAJWiajUNWjrGQ9nexwqgmpVDB0xbOVmpkaLQIi03Fj2fDceJBbJ5tqxUyHP+yPrwcjD9GOR83XFByAADHjh3D2LFjcfv2bTZPoVAYPcTfFmdnZyRmy+DQ4nOYF68CAQSCkPcKOi0gkyPj6Q0kHF5W5D6TADBjxgwcOHAAly9fZvMcHR0RHx+Pzp07M6uTSEJCAhwdHeHv7w9fX1/cuHHDaJjVwcEBCQkJkMlksLW1RVJSEjtuNjY2KF++PNq0aYM+ffrg+++/x8KFC7F582bMnj0boaGhrB0bGxtotVq8efMGAJCTk4Nbt27h/PnzmDJlClJTU+Hi4oLExMQ8hb2/vz/Kli2LChUqoGbNmvD09ESlSpWYWNTpdJDJZPj2228xceJEtl5KSgpsbW1Rt25ddOvWDSNGjAAArFmzBv369WPLBQYG4sGDB8jKysKVK1dQr149ZGVlmezLrFmzcOvWLYSFhSEqKgpJSUkmh/8BvVhp1qwZKlasiKdPn2LHjh1s2LlMmTK4ceMGe7GGhoYiMDCQDYeKFqZmzZrh1atXuHPnDgCgatWqWLVqFS5duoTPP/8cI0eORNmyZTFkyBDUrl0b58+fx+XLl/Htt9/i1KlTzK8QAL7//nuMHDkSMpkMZcqUwePHj9G4cWOcP38eWVlZUCgUzAKYF/fv30fZsmUB6AXr1atXodPpUK1aNbx8+RL16tXDiRMn0Lx5c5w6dQo5OTmQyWS4du0a1q9fj5MnT+LJkycmj2/r1q3x888/Y+vWrdi7dy9u3brFfDgNmTRpEr766is2vJmdnY3Y2FjExsbiyZMn6Nq1KxtlqFu3Ljw9PXHu3DlERUUBkFrsRQRBfw+/7bNBEATmCpF7vkwmQ6VKlWBlZQUrKyvY2Ngwa+quXbskIwgymYwJ5lKlSmHw4MGYM2cO4uLiWJsdO3bE7t27JdsZOnQoVq5cCUEQkJKSwob/w8LCEBAQAAsLC7i4uEiG3f9uLCwskJ6eXuTtmpubo/60HXiULJj0mWxQ2hn9avnixvMkxKRkwlwpR4vybggu7ojxu+9g69VIk+3KZQJq+Tli44DgIu8z5x/OBwz44fyL6Nix4weNLqxUqRIpHb2o75KD5DH4R5MVcDwG/0j2TQYXaWogU5OYb1ChUFCPHj1YdCigj6auXLkyrVu3jkWbjh07lgBI8uTFxMRQz54988yJZ2NjQ3K5nIoXL250rHMncxYjmw8dOkQjRowgwHQS64sXLxKgT3djZmZGKpWKjh07RgsWLKDevXsblZ7LbxIEgWbMmCEp4Sj2a+/evUSkT68j5lM0zJFpZ2dHNjY2kuhpQRDIxsaG7Ozs8iwj6OLiQpUqVaIuXbrQrFmzaNCgQez3du3ambwuDZPJKxQK6tatG71+/ZocHR1JJpPRnTt3iEgfFW8YNd2gQQN6/PgxEekj+G1sbMjc3JylEhIjmr/77jvJ9rZu3Wp0boKCgmj27NmSfKJbtmwhpVJJgYGB+d5XYunFatWqseMgtiOWhdRqtawcpZeXl2Q/VCoVlSlThtq0acNSCQFgFYns7Owk1+WbN29ozZo17HfDydbWlurUqUNz585lOT3FKkEHDx4kOzs7kslk9ODBA7p48aIkBY84tW7dWhLxvnjxYsl9dffuXTpx4gRt27aNli1bRjNnzqSvvvqKpVYyjK62tLSUpAMS97ewCc0LM1lZWVFgYCDVqVOHVeUR71k/Pz9auXIlbd++nZU7PXr0KOXk5NDOnTsLzHf5oacPuX2FQkEtuvZ762wbxccfoD+ikuhxTGqBy4bF8JRC/zW4oOQQEdGcOXP+koekWBJtxuzvSOlSnCy9y5HSpTgJSrO/9AHu5eXFXqqrV+ur7zRo0IAqVarEXmhKpZLq169PTk5OZGZmRnPnzqW6desa1RkGQC4uLjRo0CDq0KEDFStWTJL6xsLCgoKCgqhVq1bk7OzM5ru6upK5uTkJgkB79uwhoj/rSzdv3tzkeTJMvi3mKDREFKR9+/alq1evssooAFiidVMvFwcHB1IoFCSTyWjSpEl08OBBSk5OllRrMTMzyzfdiigaK1euzISCeBw+/fRToxKJNWvWJECfSiY/xNRGYm5Ncfrmm29o06ZNLC2MuK1GjRpJ1p86dar+mpsxg83TaDTk4OBAMpmMpWoiIpo8eTI7tqtXr2bXqziJ14Yovnv06JFv3w1reX/yySesnQYNGlCPHj3Ix8dHItoUCgUFBgbSmDFjWL9OnDhBMpmM1Go13bx5kwRBoKpVq9LMmTOZwKxXrx6rfLNw4UICQFWrViXgz/rtYn5Lw+sS0Od4fPbsGf3666+S4yjeJ+LHi7i8hYUFjR07lp3PcePGEaDPrWlYapNIL5bnz5/P2lQqldS3b1/JcvHx8SyHZvny5ZlgPXfuHEt9JaZDsrKyojlz5tA333xDn332GXXr1o1atGhhMpH8v3Xy8vIiQRAoMjLSZE7TopjKlStHraesK1xBiVzTsXuvKDYlo8CUQlP3hhLnvwUXlBzKycmRlJr7K6a/q6auWPMY0L8AR48eTba2tpLcfVlZWTR+/HijnImA/mXr7u5OQUFBTFw4OjoaHVOtVktqtZpsbGwKzL24fft2ybriS9wUffv2JQBkb2+f5/ksVaoUAZBYXrt168YsrlqtljZu3MgsowEBASb3taDJ0tKSJk2aRKdOnTLK09iwYUOSyWT06NEj1h8rKyu2r+3bt2ft5FXTW+T27dsE6OuXi/kYc19LvXr1ouTkZCpXrhwJgsCq0Wg0GjIzMyNbW1uj6i63b98mQRDIycmJiSNfX19Sq9VERMxqB+ite2IieMNJtDLmhSgoxRyVuXNsWlhYUNWqVWn8+PEEgDp16iRZ//z58yw35u3bt4mIqHz58iSXy0mj0VB8fDzVrl2bXdtfffUVyWQyVsqxbt26BICuXr1KRPp7fd++fdStW7d8Pw48PDzoxYsXdO/ePQL0HwRarZZmz57NjolKpaKBAwfSggUL2Hqenp6UkZFBGo2GJkyYwHI/ivuaOz+myLZt29hytra2VL9+fXavjBkzRmLFffDgAVsvPj6e/Pz8CABVrlyZldvMnahebOvBgweUmppK9+7dIysrK3Y+PDw8aMKECTRs2DDq0aMHO25WVlbk7+/PxPSHnMzMzMjf359Zs11cXGjEiBE0efJkdjyK6hkYEBBAVacXTkAGTP6NKn17hOp+d5K+3f8HaXK09OvNFwWuV+/7k/neG5yPDy4oOfTLL7988IflP2Hy8vKinJwc0mq1NHfuXImIKl26NH3xxRdUqVIlMjc3N1rXsJSb+Lf40mrRooXRMdVoNJKa3Obm5vTJJ59Q//792QvQ8AFfunRp+uyzz+jChQusjN7+/fslbZ47d06yfcM6yoaIFldxql+/PmVkZNCpU6do1qxZ1KVLF6pUqRITBrknsapJQcdTJpORg4MDlStXjtq1a0eTJk2i/fv3U3JyMhOUIkuXLmUCRjzuwcHBZG1tTT4+PgVeo/b29mRraysR44birFKlSnTp0iW6efMmAfrqOkR/ll5cuXKlyXZnztQny2/dujXFxcURoBfiderUIUAvVmfNmsWWj4+Pp2HDhkmOg729PfXr14+J2LS0NFq7di21bt3ayJptbW1NNWvWpOLFixOgFzJifWszMzMKCAhg27py5QopFApSKBRMEBL9OcxsmGB8//79zMoHgDZt2kRERBERESQIApUpU4Ytm5aWRkOHDpX0S6FQkKWlpeT4KhQK1uYvv/wiOW4//vgjc3kQz4N4XKysrNg1amNjQ99++y25urqSq6trnuc3MTGRAEg+bL29vSkyMpItExoaSgCoe/fuRKR3ARHv1SFDhrDlREH2+++/U5MmTYyu2/Lly1N4eDgdPHiQzctd17xMmTIkCIKkhrsoVgFIRhreZxIFt1KpJDMz/ShNUQ755zWZW9sV2iK56dKfpUJztDo6cOclVZh2uMD1fMcd4GUa/2NwQfkfR6fTUWBg4F/yEPu7J1tbW+Zvdu3aNSNhIL4cfX19qW/fvnT8+HFydXUlKysrItLXkDblmxYcHEzx8fFERJSRkUFDhw5l4kkmk9GMGTOYdSw+Pl4iZEeMGEHly5eXWIvEc+Hi4kJHjx4lrVZLaWlpZGVlRXK5nC5dukSCIFCpUqUk5/Lp06fMGmg4mbIGq1QqcnFxoZIlS0qq8RgKIA8PDxozZgwlJCTQ+vXrjUSmo6MjeXh4mLQGiVPZsmWZ2Ny+fTu5u7uz38aNG0dlypTJ0xorkpWVJfEPNTc3p6lTp5JWq6UHDx5QvXr12D6UKlWKAgICCNALboVCka+QISJWv1r0qxT3s27duuy85kYULYDUGpZXlR8fHx8j0SIOm6tUKvrtt9/Ix8eHrK2tiYjo1q1bpFQqSS6X0/nz5yXriTWuK1asKJnfoUMHyTa7detGGo2G+Ul+/vnnzIIrLlO7dm06deqUpJ0TJ06YvGYUCgWVLFmSBgwYQKdOnSKtVpunr6FMJqOFCxeyNgsSlOHh4ZLjKQrSwYMHS5ZzdHQkOzs7Nowul8tpy5YtkmUePXrEjjmgF7VXrlyhFi1aSPbd8JnXuXNntv7Ro0cJ0Fe+MmT+/PnsHCsUClqxYgVNnz6dLCwsyMHBgdVJFwSBXRN5DcX36NGDiWVLS0tyc3MzuQ/ly5en27dvS8qhFsWkdCleaEHZaP4p6r76d/py+006fv8V/XY3moJmHi3UuqFRSXmec87HBxeU/3EMv7o/5ql27dp5vuxdXFyoefPmTOwIgkBNmzals2fPEgDq2LEj3b17l4mtrl270vXr15lwESdDC4+zszOpVCqJxSk5OZn5FjZq1IgA0N27d9nvDx48oHHjxlGVKlWMXnziC3bQoEF0/PhxKlOmDAH6wAIXF5d8PwhcXFyoa9euNGvWLDpz5gwbno6Pj6cvv/xSYtmysbGRWNuIiAYMGMD2z8/Pj1QqFSutGBAQQMnJyaTVaun69eu0cOFC6t27N2szL7Ep7p/Y7127dkkChMTj1atXL4m4cXZ2Nhq6JtKXhcxd5k8cpjTla2pIWlqaxCptZ2fH6n6bIiYmhon7gq47sT9jx4412dbBgwfZuRWtlqGhoaRWq0kmk9GJEydMrlelShWSyWRsCHnjxo0E6Id9Dd0M1Go1axfQi2Xx2mncuHGe+2j4XOjQoQN99dVXFBgYKDmfMpnMyF/YcPLz82PnKi9BqdVqaejQoRIfy6ysLEpMTGRBNIGBgZSWpi/tJ7p8AHrLsOHwtyHi9WlmZiaxcmq1WolfseHUtWtXysjIIG9vb5LL5UYfEwEBASSXy+nYsWPMp1W0mjZr1ox0Oh3FxcVRTEwMNWvWjARBoKysLHrx4gWlp6fT7t27Jdvz9PSk0NBQ9iHw9OlTItJ/MLx8+ZKCg4MJ0JeHFYfgi2pSuZd65zK4Zx7F0s3niYVa9kZEQp7XGOfjgwvK/ziNGzcu1IvxY5kMhYxMJiMnJyfJ8Th9+jSVLVtWss6QIUNILpeTTCaT1OAW614bWqvEqWLFihJBmZaWRm5ubgSA5s6dS4cOHSJAWmdbJCMjg/r168deOgUFK4n7pFaraeDAgXTmzBlydnYmhULBAlnOnTvH2p45c6Zk2F0UbIIgkLm5OYWHh7M+i0Ep/v7+lJiYSLa2tuTl5UVEf77crays6Nq1a5J9MBzy1mq1rFa5tbU1Va9endzd3U1ed3K5nOzs7CSWHfFvuVxuVD88N4mJiWxb4j4tXbo0z+WzsrKoa9euku3nDh569uwZTZ06lapXr25kcXJxcWH7sWnTJtJoNFSuXDmj/XJ2dqa1a9eaFMORkZHs2gDAhj0No7dzs3btWnb9REVFkVKpJHNzc0pOTqZz585Rs2bNJEJcFLabNm2iEiVKkEwmo1evXuV7LEUh+sknn0jmh4eH07Bhw0xa35ydnSUWeDMzMzp//rxJQXn48GG2rJeXF1WuXFniJqHVatm5sbW1pbNnz7IALHt7+zzrqxvWLTcV8CXee4ZuLLmnWrVqSc5VWloaCYJANWrUYG3IZDJ2b/br148OHTpEGzZsoAULFrD7q3fv3tShQwdq3LgxE4h/d/S4XC4ny2Kl31lQjtul9+VtOO8Ut1ByJHBB+R/mxo0bf+uD7a+arK2tacKECSyNzIEDB9hD3cnJiQU7GHLz5k2J4JHJZLRmzRr2+8OHDyXWmtKlS9Phw4dp06ZNkoAdAFSzZk0WlDFt2jQi+tNnrGzZssyn0dnZOc+XjSAIVK5cOQoMDCRfX1+jIAEzMzNq2rQprVy5kubNm0cAaOTIkfT06VOSy+WkVqupfPnyEktQgwYN6OjRo+Ts7EzW1ta0Y8cOEgSBLC0t6fjx48zKKAZkaLVaEgRBEkW9du1aJs4NxbahoBSjgH19fY2CMsThRfEY5xcoIk6+vr7Url07mjBhAu3fv5+SkoxfWrmDGGxsbGj69OkSkbBlyxbmw2boT9q+fXsaO3askT+tTCYjHx8flmKrd+/eRKQXnGK0vmjFbtasGWk0Gpo7d66kH0qlkurWrWtkAdVoNJIPmdWrV+d772q1WlIoFFS6dGny9fUlQO/7aW1tzdrw8fGhr7/+mho3bszmiSIqJCQk3/aJSGKFFft79epVSaYB0Upfu3Ztql27tsTanXuytbUlIv21L54fhULBou9HjhxJAOjRo0eSfixbtkzSjrm5OXNDyc2RI0dIJpORmZkZNW/enIA/02ClpqbS9evXSa1Wk0KhoPnz51P37t3zDRBUq9Vkb2/P7nXRpzUvq2xek0wmk2zH0dHR5L1eo0YN6t27N40cOZKmTJlCgYGBBMCkL+i7TmZmZuRT4t0tlNP26aO32y09x30oORK4oPwP07Vr178t2vqvmARBYC/pYsWKUXR0NBERJSQkkEwmI0tLS/ZiEP3NRK5evcrasbCwYMsVK1ZMYt1TqVR05coVo2OblZXFfOAM+6RSqfL1aaxcuTIbnvby8mL7YTg0/uOPP0rErEKhYILVcCpbtiz5+vpKxG1QUBBt2rSJCauwsDAC/hQYmzZtkhw/w8CPu3fvEmA8fJvbHUCr1TJBOW3aNHbcTFmURJFquD9qtZp27txJWq2WiaWGDRtS5cqV2cs5977K5XKyt7ensmXLMncCUXR36tSJCUdzc3MaOHAgVapUiW3rm2++IXNzc6N2RZ/Bfv360YkTJ9gxE4+R4QfGihUr2Hq9evVi88Uo79GjR9N3331H/v7+bDlzc3Nq06YNXblyhaKioiQR0SqVKt9hdyKioKAgo+Pg7OxMw4YNY9e6yJkzZyTi+OjRo/m2febMGQL0ljeVSkUqlUriI1inTh26f/8+S1Ekpr0i0t9fixYtokaNGuVrjTP0PSYiNiS8cOFCio+Pp3v37tGZM2eoZ8+ekvXEay04OJjq1q1LVapUoYCAAEleVHNz8/eyBIoZEHLPL1GiBNWqVYuaNWtGnTt3Zj7VCoWCZs6cSVu3bqVjx45RzZo1SRAEys7OlhzXGjVqkFwuZ/+fPn260TY8PDxow4YNRESUkpKitygaXBtFMZUrV47Kj9uZryCsMsPYT7LEhIN050USpWflUJkpv/Eob44ELij/o4SHh7/1V/a/aXJ3d6f09HQiIhY1rVar6fjx49S2bVsCQEeOHJH4m1laWtK2bdvo9u3bTPS1bduWiIi2b98ueaiLL6uWLVvSyZMnaebMmRQSElKgpVGcFAoFi+zMK5WKaP0RU8mEh4cz/zcLCwvauHEjjRkzhgDQ/PnzKSMjQ5IqyHASz3WzZs0kPmWiP5lope3Tpw9bx8rKil6/fs2WFS2fhw8fNuprWloas6b4+/tTnTp12Dbd3NyYD5whp06dYvsD6K0zYmCMIAhsuL1Pnz5sHQ8PD7KwsGA+m4sXL6Y+ffpQcHAweXp65umzaW9vT87OzpJrPnc0uyAI5O/vz9L05BWQM3jwYALAorPFxPfix4JMJmOBLoZ5KEUSExNp7NixbPjWcFIqleTp6ckstePGjZNsOzU1lSZOnMhyg4pTt27d6N69eyb7K2IoegF9ZLup80JE1KJFCwJAq1atknystGrVSnL9iDkSL168SMePH2cJzWfMmEGjR4+mAQMGsFySeU0ymYzkcvk7PY/kcjmpVCqJZdvNzY1Kly5NlStXZq4E1apVYx8R5cuXp5UrV9KOHTvo1KlTFBoaSjExMRKrv6WlJR06dIgSExOZ5VSc7OzsqFevXvT48WPy9/eXRLTHxsYSETEfytwMGTKEAEiO4fHjx9nzxjAzhOF9W9SThYUFBQ2eQ37j8xaEh0Oj6XzYa/rh2EP6eudt+v7IAwqL0ecP/fbAH/mKSZ6H8r8JF5T/UYYNG/ZR+04WK1ZMItT27t0rEXmGwTJE0rQ2hi+Vbdu2sfyDgiCQi4uLycTm4iRaGsWXF6CvAiP2JTIykgYNGiR5SYv55sRE60TS1D+VKlWSBC6EhISw9rRaLatCYujT5unpSWPHjqWNGzdSSEiIkXgRk62LORpTU1OZNbdMmTL0/fffE6AfmhOjkzt37kwA8hTARMSq34h9dXJyMgq22blzJ4vAFQSBpZkRuX79OkvLIlYQEhk1ahQBoOPHj5vcvpg2qEKFCrR48WJmESzMtV6vXj2aMGECi742TLVjSPXq1Ukul1NWVhbVqlWLAL0PYHR0NN28eZNZpi9evGhSUBpy+/ZtI18+QRBo4MCBTAzVqVOH5s+fTwEBARJ/WfHvwqRd0ul0rBIO8OcQv0KhoNatW9PIkSOpT58+1LFjR2rSpImRkDGsVvS+qW0KOhcymYwqVKjArmc/Pz/65Zdf6Pz58/To0SNJou/bt2/T9evX2VB07lRaWVlZpFarydramuWQNeXHKia0Hz9+vKR/derUoS+++IIA0E8//UQDBgyQ3Luim4P4seXg4EAJCQkmBWVMTAwTp2XLlqVSpUoZpcISJ8NRjHcV2wVNTn7l8xWFw7dcp7OPYik2JYOyc7SUmJZFZx/F0oD1Vwo1NM4r5fz34ILyX86bTA2FRiXRjYgECo1KKpTPSmxsbKF81f6Nk7m5OdWoUYMAfQoZw2HsZ8+eMVFZrVo1yYslIyODGjRoUKhtqFQqNnwovgzMzc1p3LhxzNdQFJSi35gpBg4cyNYV2/b19aVRo0aRXC4nKysrSV4+Ly8vun79OhHpX07Dhw+XDPOJL8LZs2eb3J6YyFulUpGPj4/JF1lAQADdunWLiP60SLq4uFBqaioFBAQUmOKHiFhAUe6+rF69mvVXLpdTSEgIvX79mgVevHnzhoj0VjgxYl7cpwYNGlBiYiLFxsYSAGratKnJbYuiuHnz5iYtgK6urtS/f3+aMmUKNWrUqMD7QK1WU9myZalNmzY0YcIE2rt3Lzk5OZGDgwOL2G/ZsqXkWhLTFSkUCtqzZw8BpgVlcnIyE86LFi2iW7duGVnzcgsJT09PatGiBROEolWtdOnS5OfnR+7u7uTg4EBWVlbMV/B9xIhSqSR7e3tJEFWZMmWoUaNG1L59e1IqlWRlZUWTJ0+mH374gdatW0cHDhygy5cv05IlS5hV39CHMCQkhLRaLU2ZMoX5fCqVSmYdNty+YeWgP/74gx27pk2bSq57uVxOZ8+eNXlNiBZkQRCYH7Uh2dnZpFaryc7OjrRaLUuybjgioVAoJOvcvn3bKE2TKDStrKyYu0p+otHCwoK8vb2pTp06NHjwYFY5CtB/iD1+/JimTp0q8Ystqkm06pYYuCBfK+W7TH4TDlLPNaZz5HI+brig/Bfy6FUKTd0bSvW+O0m+Jhyh6313kqbuDaVHr0x/IU6ePPmjzDtZsmRJZj0Th5bKlSvHXvbXr19nD1PxJSGWHMyrTUEQqH79+jR79mw6e/Ysa18cEtRoNDRt2jT20Fer1RLRlNsSaoiYmmXWrFl06tQpatKkicSKaih2WrVqRWlpaTRt2jTmVyi+vEJCQtj2XVxc8r12Zs+eTYBeBOUu6Wb4MheTrYvl+zw8PJjAzY/169czASG2Va5cOWbVFaurGA61in54YvCEGDW/bt06iouLY1ZApVJJ3333Hfn4+DBhm5aWRj/99BO1atXKKFG7mZmZREx98803Rv0V074YWp19fHyoTZs27DrJLxrYycmJmjdvTp999hnNmjWLNmzYQD/++CN99tlnJAgCOw7FixenevXqUVBQEJUpU4a8vb0lJT7VavU7jRgYWg5tbGzI2dmZihUrRv7+/lSxYkWqWbMmy+SgUCho5MiRzOWjcePGdODAAeZzKk5iv8ThW5Hw8HCSy+VkbW1N6enpzP+1YcOGkuWio6OZf6daraYlS5aQq6srubi4sPk9e/YkIr2FfdGiRUY+wHK5nBo1akQlSpQwWdtcTGUlTvlVWxIrCalUKpPWSfFZYRgIJd4bhvkfvb296datW/Tq1Svavn07q9xjbW2d57kTRWPdunVp8ODBtGrVKlIoFFS5cmWjfjx79owAsI8imUxG5cqVe6cqVoWZHB0dya1kefL9ek+RCspSkw7R83jTrhScjxsuKP9FPI9Po55rLrGvwIK+En3GHaCeay5Jbu7U1NSPqu6t4dStWzfKyMigEydO0MyZM5l1T3yZFvblLL4IRo0axV6uuf3N/Pz8jCJNlyxZIknBI5fLyd/fP8/zmZWVRYA+qljEMOVN7r6J/VOpVNSkSRM6efJPp3cxOXdBZQyJiFlwxX2zsbFhPpQ3b96kkSNHGiVbFyc3Nzc6cuSIyRfztm3b2BC2aG0xTJo+fPhwo5Q8RPr8mwBo1KhRNGPGDAKMk0rv3buXib68kkaL+zN69Gg21C36mlpbW5O5uTlFRUXR3bt36cSJE7R9+3YWsdy3b1/q1KmTJHG9KCTF8ozve9+I+UTFiHDx2Pv4+BhZsVQqFdWqVYsmT55Mffv2lSSEB/Qi9NdffyUiInNzc5bKyRRfffUVAaAFCxaweW5ubqRQKKhnz57sI8bw+s+daFtk1apVBOjT6ohBWmPGjGG/T5gwgYmr5s2bs5rdYtogrVbLfGMHDhzI1jOcL07t2rVjwUWXL1+mYcOGUZkyZYwEvnjcvL29jZLHi8nIxesht6U4NTWVFAqF0f6+fPlS8oGSX+lFtVrNLI2NGjWSRLrL5XKqVauWJGjJ3d3dqFxrVFQUzZw506TvtYWFBbVp04ZFrRflZGVlRVW6DC9SQbntSgRx/ptwQfkvYeuVCCo16VCBQtKUsCw16RBt/f+bXKwZ/DFNYo5IU7+JL0lRhJQoUYLOnTtHWVlZzN9PnBwcHFhJuuHDhxOR3udRHL42MzOjVatWEZH+JZ67Uo0YUFKxYkVJ3ec2bdoYRd2KGLZjWBPZwsKCSpUqZTLyuFmzZiyvJBHR69ev2fCwXC438lnMTXR0tETQiC99Uzx8+JDGjRtnsh65l5cXdenShXbt2kU7d+4kQRDIwsKCunXrxtq3s7Nj+ffMzc2Nqr6IyGQyltDd2dmZ0tPT6cWLF3T8+HEaMGAAlSpVyqTAdXBwID8/P3a8c6d6EoNk3uZ6MjVEbJhcXryOWrduTZ9++ikNHjyY+vbtS23btqVatWpRqVKlyMnJyWR/xRRLAJjIFX9zc3NjpSJbtWpldIzEiHzDyczMjA29m8ormZGRQSqVSiJgXr9+zc4JoA9gW7t2LRERffLJJ2x+vXr1jAQaETFhI+ZhPXToEF28eJH5fDo7O9OZM2ck6xjmodRoNKzy0fDhwyk6Opq5J4hBWuI+CYJADRo0kAxVR0ZGSo5bbhHm5uZG3bt3p+XLl5NMJiN7e3vKysoiR0dHUqlULNvAq1ev2MdVYGAg+fv7k42NjcnrxdzcnDw8PNh2xRyzAEx+XIkfs4ZBNmZmZtSiRQuqUKECyWQymjBhAgUFBZkUq/Xq1aM1a9awofPg4GCKiIj4YM/QtuOWvaeQ3E8+4w6QXa2u9M033+SZcJ7zccMF5b+AJScfFcmX4/hNpz/KyG6lUskieGUyGU2cOJGJRiKi9u3bs2Wjo6Pp1atXEsEnHpOGDRsyUZhbAG7atEnirwZILYvi0FiDBg3YPLVaLbH+1K9f3yjHnmjpFANeDPsj1mAW06Y0bNhQ4lNpbW1NXbt2ZXWnxbrUhmXkcnP16lWJb1heQQq5mTVrFlvHycmJ1eHO65yIwm748OHUq1cvCgoKYvvl6upKfn5+5OHhQY6Oju/tI5ZbAMhkMvL09KRy5cpR9erVqWHDhtSuXTtWfWbs2LE0b948FojRrl07Cg8PNxLWr1+/pk6dOknaFoW1YQBVfogl9MRjkp+4FVMficJ8/PjxtHfvXibqxPMsJk43NzeXWC6VSiV1796dHj58yLYvJp/ftGkTPXv2TBJwI/pXGu5LrVq1SBAESRLuuXPnSvZJo9FILLktW7Zkx3306NEmr6fcic01Gg1LvyUek6+//prS0tII0PtZXrx4kSpWrMi2U7VqVTp27BgLsFmzZg0JgkC1atWi8PBwNpSfe7K2tqaSJUuyez6voCLD4enPPvuM5syZw36rW7cu6/uyZcskpVVfvnxptL/icwTQf3z069fPpIVbJpORr68v9erViw4dOkRRUVEEgFq0aEFEesutOPrwoafKIcPJZ+yv5Pv/4rDQ0zf7yOurXVSs/ieS9ipWrEjz5s2TRLRzPm64oPyHs/VKRJEOR3jV/+RfH91tWErul19+YcdKDIDI7bdoWDnDcBhLpVLRtm3bSKPRSPzI3N3dTZ6LrKwsid9hcHAwabVaNq9mzZqSl6mlpSUFBATQ77//Lon6DgoKoqtXrxIRGZVvBPRDd5MnT2YCR6vVsqAFIr2FcejQoSygA9CLkaFDh5Kvry8JgmDSIrp48WJmIVMoFOylWLlyZRo3bhwNGTKEunfvTq1bt6b69eszfz9fX1+27PtcO7lT9jg6OpKLi4uR76M4WVtbU/ny5WnQoEG0YcMGOnz4MF2/fp0iIyNZfsvcrgwzZ87M+17aupWAP/NEih8aERF5D9Ft27bNpPj47rvvCiXE7927RwCMEqS3bt2aLl68SDdv3qTFixdT3759qUaNGuTp6Wnyo0+cZ2FhQa1bt2YBZAqFgn788Uej4BsXFxcaMGAAyWQycnV1ZZY4QC9Iz5w5w0qLNm/enF1nCoWC3T979+5lw7e+vr6SXKi3b9+W9C8wMDBf4WCqUs6kSZPY+l27dmXzzczMJBH2oaGhzI9WnMSh61KlSpFCoaCtW7fS6NGjmSAu6Fq0tbVl151hXlZDxKA5UdDNnz+f/ZaWlsbuBblcTl9//TXpdDr2u7hO7owQCoVCci2I5+rzzz9nwr5YsWKkVqupVatWeabB+lCTwtaVGkzX56csXkCwjig8/QcvIoWtq8n2xHyederUoZUrV1JcXFyB9wzn3wsXlP9gnsenUalJh6jMlN9o4fGHdPphDCWm6a1uX/1yy+RN3mj+aTr9MIbeZGooMS2Ldt2IpMosQe1+8h6zm9SOHkVuqezUqRMtWrRIEnVclJNarab27dtTeHg4ffnll2z+jh07JMdMzKs4cuRINs9QeIlT69atjY73p59+yh6C+SWVNoxiFodBq1SpYvRSEgWlyL1791iAgKmpdOnSTAhqtVp6/fo1hYaG0qlTp5hVdPLkyTRmzBgaNGgQffLJJ8y6l/t8ymQysrCwIJVK9U4BWOIQr4WFBdna2rKXZ6lSpdiL2LBdGxsb6tu3L82bN48GDBhg0hpjZ2dHlSpVyjdJc48ePejUqVMFijXRkmU4yeVymjBhQr7ricEw8fHxZGlpmefHAxHR559/ToBeDG7cuNHoOFpaWtK4ceOM/EK1Wi1t2LDBqCa74XEwzO+ZG3Eo+erVq7R48WIWTSwIQp5R6eJ2qlevzqLxcy8TFBRkVBWqQoUKJAgChYeH07p16wjQi2XDfenfvz9rv3v37vTo0SNJVZ/AwMB8jzmR8ZC3WL3H2dmZRbbPmjWLnaPcJTYfPHhgNDSc1zPM0DXBxsaGFixYQFeuXKGFCxeyXKmGk4ODAzVq1IgWL14sGeJ3dnYmGxsbysrKYimXxFyfGo2GAH2FIHF43szMjDw8PCQfXWL0uHjvaLVaSk5OJkDvCtOlSxeJhV7MbiD+v1ixYjRu3DhWUvOvEphKJ28Kmb2dPAb/aMIiuZ88Bv9I9k0Gk9LJy+hZkNfzRLxHW7VqRZs3b2YfzCdOnKBy5coZjd5w/n1wQfkPpueaS+Q34SDVnnOCiIgiE9Lo4mP9F54pQRk86zjFpWbS07g3NHVfKM09fJ8S07Loj6gkKjlR73vp+80+cu/+vyJ9+Pj6+tLx48dpxowZbEgwvxJshZ3Mzc1p1KhRzOqQmprKrCpijevcUc1arZb5HS1atMhk6hhAahEREa0+4gspd1JpkaZNm5IgCJISdMHBwXTmzBk6evQobdmyhZYsWcJSrvTr14/atWtHxYsXzzdi+F38/QxfXGZmZkYWO8PKPHZ2dtS/f382bD5//nxat24dKZVKUiqVFBYWlqeQs7KyIj8/P6NhSACsqochYqWcw4cPU7169Qqs9CEel507dxZ4X9y+fVsy9A/ok5+LHw5ubm70+++/m1xXLPUoBg0ZfniIZGRksGjk4sWLswTnYhlFW1tbmjlzJrM+qdVqGjJkCO3bt4/q168vcXMQPwTEa04sI+jg4GDSP5GIWGDSmTNnSKPRMHcOMWWUVqulmzdv0pIlS6hbt275XlO5JycnJxo8eDATtGJgTY0aNVjJUFN5Rh88eEAlS5Y0ak+8zw2rBplCFJSRkZFsmL5+/fqk0WgoNTWVicpevXqx+7dkyZJkY2NjUjjmtpQ7ODjQw4cPKSIighQKBVlaWrKPS0tLS0k1K8NzUqdOHaNUTTY2NuzeFt1arl+/zvx7MzMz6dtvv2XXQu57Vgy0MsxDKfqm1qhRg7RaLalUKgoMDKSYmBgaMWKEyUhuc3NzWrp0Kftg+f33303WiS/KyfD5IR73CVOmk9KlOA2dNJeULsXJ3tmtSPKQmpmZUb169dg2p06dmu81xPnnwwXlP5RHr1KYUPSfeIiqzjxGPuMOUJsl+mAMU4Jyw+/PKD0rh2rOPs7mdV+tf7GO23Vbsqza2eedHwiFmVxdXSkoKIg6derEXt6//vorlSlThpycnCQPLrVaTR4eHjRjxgwqVqwY2dra0qtXr9gQ0s6dOwnQJx22srIihUJBz549oxEjRhAAWr58ueTY/fTTTyb7ZGtrS9euXWMP5caNG9P69etpwYIFNGnSJJLJZGRlZUXNmzdnL2kLCwsqXrx4kfn7GU65LS4KhYJKlSpF7dq1ox49etCwYcNowoQJNG/ePFq7di0plUpyc3Ojx48fU2pqKqvN/ezZM8n+i6lwclszqlWrRtu2bSO1Wi1J/yO6BOSV4kir1Rr11/Al37hxY7bc/v37qXv37kaWNHNzcwoMDKQvv/ySFixYQF26dDH5EnVycqJx48aZtFZoNBqWqkUQBDasqFarWf7P0aNHs5dd27ZtTZZ7NKzOk9sX8t69e6xfnTp1kgjs58+fs/XE4Kzx48cbCbrixYvTrFmzKCMjg6VAKlmyJGtHjDwW83vm5tKlSwSAJk2aRG3atCEA9O2335o8N+JxN0xvYzgFBASwjy9Tv1taWkqGYH18fEwK3aNHj0r8JsXps88+I0tLS3ZP5oWrqyvZ2dmxflSvXp2aNWvGAmFMiUYzMzPy8vJix7dDhw708OFDdk7S0tLYsDSgF3KiyBcrFW3YsIElBl+8eDGbJy4vkpWVRdu2baOOHTuSh4eH0X1avHhxk+VNzc3NKTg4mKZNm0ZXrlyRlAfNndhcdLGoU6cOWVtbS0SZ6Ed9+/Zt2rFjh+T+EWuTi9d9/fr1/1JfeHHbuTMNFPVkZ2dXqNEJzj8XLij/oUzdG2oyojs/QRmbkkn7b0cZzX8cm0rnwl7/Oe/rveTZblSRPgzmzp3LShwapichIqpXrx7JZDIiIjp//rzEutCoUSPJsg0bNiRBECgnJ4dSUlIoLCyMzp07xxJFA/oggKFDh1K3bt1YdHNQUJDRcNP7TIZpesSHnaenJ6tnLD5o27dvT3369KG2bduyl4C1tbWkNJ4YaSr+LQYuiGJDqVSSjY0Ne3GKFrDcD1ZxmPD169d06tQpAv503s+N2E+ZTEZ9+vRh4lPsk6+vL3vpEv1ZcjG3xW7Tpk0Sl4GGDRuyYfTffvuNypcvT4C0cou4XUA/RP/06VOTfRQTmudlYVOr1VS+fHn64osvaM6cOczKWapUKXr06BENGzaMAL212pDIyEg2tGlmZibJL0j0Z512w+o84r6K4iP3NUz0Z8occV8NrfB2dnbsY0Mmk1HLli0lZTBzp6sRA6jc3d2Nyh+KAl48ttWqVTN5/MRl58+fb1LsVa1a1WjZ69evU0hISJ5+q+IkBgj5+/uztuVyOY0fP55SU1NZGh5BEKhHjx4E6IdntVotvXz5krZt20ajR49mojGv7VhYWJCPjw/Vq1eP+vTpIxG3M2fOZPfR5MmT8zwGixYtYn0B9B9mX3/9NbPs/fHHH0xohoSESIbrTUUjp6amkrm5Ocnl8jxdDMTnzJ07d4zW37RpE7v+AwIC6PHjx6TRaGj58uVGlvrGjRtL0n+JTJ06lQAY+VsqlUpq2rSpREh/bJOnp2ehg944/yy4oPyHUu+7kyZ9JPMSlNVnHSMiolmH7hmts+tGJCWkZUnmeQz+sUgfAi9evGCl4bZu3UqrVq2iWbNm0ddff00WFhYsEltcXnxQiz5GlpaWpFKpiuTL28zMTGJNsLCwoObNm1NISAgNGDCARo8eTVOnTmVDXZ06daKKFSuSIAhG1pkZM2aQIAikVCpp7969NHHiRPagN7R+nTx5kho1amQ0FGRtbc2+8CtWrMgCFwzzLZYsWZIsLS1Jo9HQuHHj2EvH3NycxowZw16M4nDtl19+Sb6+viSTyYx88bRarSQy2c/Pj/2WlpZmVAPa0DIi/nbixAlavHgxO4biPi1fvpxZmOzs7IzOlaOjI82aNYuio6PZkHdebN++nQB9icSsrCxmxZbJZLRv3z767LPPWMCF4TZcXFzos88+o+PHj7MSh3kN027YsIFZVcuWLUvh4eFERLR//37Wnhho8tlnn7FrJXf5PiKi+Ph4iWUT0AuYXr16SSxzR48elQypir6kpirliFHmXl5eRv0X+21paWnSiqnRaGjChAmsfTMzM+rVq5ekf927d8/z+BPphdOUKVMk7gMKhYJ8fX0pMDAwT7cVwxrohblfDe+JHj160OrVq+nhw4eSIBaR6Ohotk/ih0ZeZSsNj4W4DScnJyaWVSoVDRo0iNLS0ig9PZ1ZDwGwIJ+goCCKi4uj+fPnU4MGDYys5o6OjtS0aVNasmQJ7du3j3r16mW0z2Ky9WHDhrGh9SZNmhhdK+KxMxzlyG2J12q1tHjxYskHQs+ePSkqKoqmTp1q5OrxsU2CIFCFChVMjixw/vlwQfkPJDVTY1QBpyBBKc4ftf2m0TorTutzuPlPPMTmeX+znwTlXxtBaPjQEEWTOPwaEBBAVapUYcPRgYGBNHjwYPr6669Z/VsA1KVLF7p37x7FxMTQuHHjJMOwX3zxBWVlZdEPP/zA5onWpJs3bxod56ysLBYxLghCnkO+J06cMLJUzJo1i+7evUudO3eWBKD4+vrSiBEjJA9+lUpF69evZ+3dvHmT+WNpNBoWhCEKR61WS3PnzmUvN5VKRQMGDKC0tDSysLBgL5tPP/1U0s/4+HiWiiUoKIhatWpFAOjw4cOsXTFaXPTdMgyiyh2RqlarqW7duiatXw4ODtS4cWNavHgxxcfHs4o6oojJT1DGxMSQSqUiMzMziYAXBb6ZmRmdOHGCxo0bx4SLj48PlSlTxug8iC/nwYMHmxwqy8rKopCQEHaOhw0bRnXr1mXrly9fnkXglyxZUtKfjIwMmjVrlsQqDYBZpU2dA6I/q6wYXpsuLi4SPz4RsSygn5+f5PyLQtrQiiz2adiwYew42NjY0PTp09m+iyJQ/IipUqVKgS/njIwM1s/cH0RyuZyaNm1KNWrUIGdn5zyHzg0nMVF4jRo12DEw5e+cF0+fPmVttWzZssDl4+PjmWATP9hWrVolqVjVpUsXio+PZ/eqXC43shYKgkBubm4sn6ZhqUdDTp48ydoYOnSoUbJ1w1yjhpO5uTnt37+ftFotlSpVigCwijlarVZSZlH80FYoFJLreurUqZLo8r/j+f0hJwsLC0pISCjUdcL558EF5T+Q0KikPFM15CUoQ1ZeICKiYZuvG62z8Lj+K7jCtMOS+UqX4kX2IBCDGDp37kw//fQT7d27l3799Vejl3Hfvn3Zfpp6IYsvt06dOhHRnznvRD8iT09PGjp0qOSFKvqZDR8+XFJf187OjkJDQyXJjXOTkZHBhFte9aGJiDnhi5Oh9cbV1ZVGjhxJsbGxpNVqadiwYUYvlKCgIIqOjqasrCyyt7cnmUxGoaGhREQ0ffp0AmCyFvGaNWvYC04ul0v+NhwqPX/+PBseGzZsGBERJSQkkFwuZ1VUNm/eTIBxap3Q0FCJVS2/afDgwUZDtET6F6IYrNO/f/98BaU4BHro0CHJfDGIwvBFaSpJ9pUrV1hN8tzpeIoVK0ZdunShnTt3SqKvr127Jsk96u7uLkml07VrV+aH+dNPP1FgYKCkNGL9+vXJ2tpaEhUuDkkbZhoQ90GM+j9y5Ijk+JUqVYqOHj0q2R/RF7h06dKk0WiYWAXArtnExETq3r07E5rOzs60ZMkSo2MrCpLDhw8zS7WdnR2LTs7Ny5cvWXaDggLplEoleXl5sUAKJycnevDgAd26dYtmzJgh+SDJK2jDzs6OAgICqHXr1jRu3Djas2cPC3oSryPDijmCINCBAwdM9l3k/9j77vCqqrT7fc7tuekhPSENSAgJNRAINfTekSZNQIo0ERAQRAXFAoIgKooIgggWBCmigogyDIKISGQQkCEig8ggxkzMZOJx/f643/vm7HvOTQKin/P78j7PfpSbe0/ZZ5+9137LWvpCFX2FOuDJv/bOifRu/v7+eP3113m8BAQEGCiO9EYKV0IIjBo1CgDwt7/9DZ07dzZN31AURfLot2jRQsrH1Vflky76L7/8gscffxxCeCRIjxw5wgWGoaGhPIamTp16y+bwP0PzRXlWZf8dVgUo/4T2Wf4PNwwob9RDmTB7J+zRtW7ZRFCrVi1YLBZelCdPnmxYVAYNGiTdpxDmHh6n08neQtLMfuCBB6Sk8PDwcKxatYp/Q9QdQggO1VL1MU3MvgCjniPy0UcfNfxd7/HUt549e0ohK33hQlxcHJxOJ2rVqsXKIhaLhXW4lyxZwr/761//CiEE7r//fp9jYuvWrZKGt9vtZv7EJUuWQFEUWK1WbN68WfodAZyNGzeiSZMmUBSFAeHJkycNcnflNe9cRG/TNI15NWNjY00BJSkR6WX3yKgCWt86dOhg8DyS53XfPg/7AT2/xo0bS+FE8jj17NkT69evR3FxMXsr9a1atWrYuXMnWrRowYCNlHvWr1/P51dVFc2bN+fruH79OpxOJ+x2O65cucJh84yMDP7NuXPnIITAhAkT0K1bN34n4uPjpWdFOXHk2ab0kE2bNhl+t2nTJtP+14fy+/TpA8Cjk06E/507d0bHjh25erq8St2srCyMHz8e9957L1q2bMkbOH3lOvFX6k0fTRBCYOHChVi1ahWcTidsNhvi4uIMeYH0bgQFBTGwIu8h5eu+//77pvc8Y8YMnkesVitSU1Nx4sQJTJs2DZmZmT5pdkhQgP69Y8cOAJ6NGT0vX0abBHrX9UA8PDwcEyZM4MKZ+fPno3HjxhWyHDgcDixbtkwa6yUlJVBVVaLpmjRpkvQds3fmv7kpioLnnnvOZ99X2Z/bqgDln9BuxkN5ozmUCbN3whltpAG5FROC2f9TlW9OTg46duzIyjCpqal48MEH8fTTT+PVV1/F+++/j+joaPj7++OZZ56BEII54OhY3sDw448/5lBcSkoKLBYL4uLipO8Q/6N3RTjlX9WpU4cX8eXLl6OkpARLliyRQsJEzUNyalarFW+88QYKCgokoukHH3wQgMxD+eGHH/ICZrPZcOjQIb4GKsLwVWCj/553ZTh5V0NDQ00ro4uLi2Gz2VCtWjUmE69du7YBTISFhWHIkCHYsWMHSkpKmKrGu9CmUaNG2LBhg89KzNLSUoleRm979+6FEJ4qaO/fr169mr07YWFhuHDhAoemY2NjcenSJQDAhQsXoCgK6tSpw78lwvKFCxcC8CjcLFmyBK1btzYUn1Sk6V6zZk0sWbLE4M0+f/48hCiT5CTbuXMnj1EhPBsrvWeUACXlAZp5GmljpA/Nr127VrquWrVqceqCmV26dIlVdmh8+gKNbrebC2Goal4ID3ijQiL9Zo1s69atyMnJ4WMqioKsrCxs2rQJmqahpKSE1Xz0c8CECRMMxOaapuHEiRNYtWoVRo0ahZycnArpj6pXr46uXbti9uzZ2Lp1K3bt2sV9OHbsWAN4tNlsqFWrFsaOHcvctYMGDeL0DCHKUgMsFguuXr3KmxUab95WWFhoIFkXwlOBrvcCd+zY0VDlffnyZSnv1bslJCTghRde4A3funXr+P2rXbu2lKurF1QoT2f8v62pqor27dv7HOdV9ue2KkD5J7R/3UQOZcLsnbha6LvK+6C+yvt/yGlvdQ6lfqKsVq2aNMH7+/vD4XBwFe3NHF/P70cV1wT4KARK3x08eDCWLVuGl19+Gbt378bBgwfh7+8Pi8Ui6QKvXLkSQniA5j//+U/2JHgDqZdeegkAuPL4ww8/lKg8hPBwG+qLZPSA8ty5c0wWTgty9+7defEgnsfyjMLuVByiz2fLyMgw6GQfPXoUEydONM2BFMKTf7h48WJTcEjUNdR69uzJhUt07jZt2hjCt4DHs0Ierfvuuw8AUFBQAJfLBZvNJi3WX3/9NXs1/fz8oKoqmjZtyn+/9957IYQHzL/33nu8MdDnxFJuaEpKimm/FRQU4Nlnn2XQ76t5h+D1Rp4gbyJ9AOzlDQgIMABRb0BJVlxcbEjdMCPg9/f35yKhS5cu4dVXX8W0adPQoUOHCj2NkZGRaNWqFcaPH4+nnnqKvZ/16tVDUVER7rvvPn6e9erVQ2FhIUpLS+FyuRAYGOhz00AqRUlJSdJ4oPHYsWNH5pLUa3IHBwf77F9SqurevTunHQjhSR3w5j2tqNWsWVOqnNY0DYGBgXC5XAz2z549izZt2hjUmxwOh4E1oLS0FCtWrEDt2rWl73fs2JGL6/QbHMAIKM+dO8cMFkJ4Nr7lVdrTM6X/6tMbrl+/zmkj9evXR1FRkaEg67+5Wa1W/Pjjjz7HSpX9ea0KUP5J7UarvBNm78SG/+GhbKrjoRz8PzyUc7d+IX03dvwLv8tkkJ2djatXrzIvns1mQ2hoqOk9CuEBKkeOHMHu3bvx8ssv4+6775Z23G63G1lZWcjOzkZmZib/Ta/e8lsmLn31pa+JvXfv3pg4cSKH1xo3boyVK1dK3suaNWsawAQBSk3TEB0dDUVRcOjQIVNam1q1asHlcvkcD/qFfs2aNXzeESNGSAsV5fnpPXHe91a3bl3JQ+ptRUVFnKtJjUCNWaGK2+1G7969JZCnp8xZuHAhE0Vv3LgRgGeRHz9+PF/3gAEDUFJSgmrVqhny13bs2CGB5+zsbOP78j/nKygoMPzt6tWrGDJkiHQ/fn5+iI+PN3ALWq1WZGdn46GHHpKkBOn33scnehfq471790p/9wUo9c917ty5Psef1Wo1BY1U2JaYmIhWrVrB4XDAarXiyy+/xOXLlyGEsaBF0zSmaqJ+V1UVNptN+h5tXB544AHTa9YXkRUVFUleThoPnTt35sIXYkYQwqN1782kQF5BvWeKlGi6deuGrVu3MmWWd7Pb7QgICDCl97FYLAgODuZn3LJlS2zdulXK2bx8+TLfD7XU1FRomobNmzejcePGUhFMs2bNUK1aNYnDksbGjBkz+DMClMePH2d6MHr3/vIXT747FWRVpnKb0i3Gjx/PKQN33nknn4/C47/HnP6/0V555RXTsVdlf26rApR/UvPmoZy//SSeePc0Xv6rJ+yx++Q/8MS7p/HEu6eRscBTbNN08V5c+1cJ/v7Pf+H+7Xl47B2PUs6pfxTIFd6ztiOk/Z23fBJwuVyoWbMmA62aNWvCarVyJaO3CVGWQ/n+++9z5SO1Ro0aGX7z2Wef8aIlhEd5goCc3gO1a9cuSbXmwQcfxN13383epNDQUIOHQFVVXphvtg/IC0nXZ7FYGARHRkaiZcuW6Nq1KwYNGoQ2bdrwuWhB3Lt3L06dOoUffvhB8hBRblrPnj0ZDDidTgwePJhVOfTXYbVa0aRJE676pjZu3Lhyx11xcTEXryxYsIBD6mYh0GvXruHuu++WcltJGahZs2ZQFEUC3ZTXt3v3bj5ufHw8K8AAQFZWFqxWq+FcpIAihIfyxVvukMjZ58yZAwD4+eef8dBDD0m679RIR51Mr8vs3fz8/NCwYUOucNbb4sWLIYSnwOfs2bOw2Wzw8/OTaH7MAOWlS5ewadMmzvOrCAgkJiaidevWGD9+PNasWYOzZ89K10E5wnplJ8pV9H62egJ0GjPeXLDk0XM6nYZ+BoAaNWrAz88PADB9+nQei1u3bsWUKVMMm5Fq1aohNDSUNwU2mw1PPPEEAKBPnz4QwlOoQte4YcMGU6J2AlJ03d4pInpu16FDhyInJ8enUhaBzbS0NHTt2pWLCr2boijIyMjAM888w33hcDiQnp4unZfO8/HHng2/PqxOY1avhQ543gMhPPnU3rmnI0aMYLJ1M0+mw+FAVlYW5s+fj/Pnz0vFOTeinPRnbBaLBf369TOMuyr781sVoPyTml4pJ2H2Tlz8wVhZS9b80X38vfZPfogDX32PopJS/Pjzf7D1s2/RaNF7Bm/mrVbKqV27NhISEnwuzIGBgahZsyY6duyI6dOnY/PmzRDCo4VL/IdUCEG/IdkzvRGhtxAePkayU6dOQQjB4VN98QTZhQsXMHLkSMMC3rlzZ/Za7N27l702LpcLiqLgjTfewNWrVyWvW3h4OO6++27MnDkTY8eOlTSCExMTkZqaysUQtDDZ7fabCvlX9H1VVREYGIjatWujd+/ehkVUTyXjcDhMq90BmUbp3nvvBQD2nninCnjb+fPnMWLECAOPH+V5CeEpeKI+tFqtnPOot9GjR0MIo4LNgQMHIERZzmh0dLTkQQQ8xVyhoaGsT63vO6fTCVVVfepOz507F0J41HX0uZzVq1c3aDNnZGTwfYSHh7PXkhRYGjVqxKBx5MiREMKTY1lRIUzDhg0xfvx43HHHHVL4OyoqyifRs6ZpcLvdcLvd0gaEvF/vvPMOAA9bgJ4PddeuXVKI2tueffZZCGHMGQU8nveUlBSuko+Pjzdc37lz5zBs2DBpc6aqKvr06cOFU7TpSkhIQIcOHaTCOnp2qqpiyZIlnEry3HPP8d/NKtcJpBGAJz32Z555BidPnsSqVaswevRo5OTkID4+3rRAyPvdysnJwRtvvIFr167h559/hhAegnS9XbhwARaLBU6nU+J67dSpExfPeRsxWhBdlsVikbyV7dq1w6+//soa60J4UiC6deuGhIQEw1gi8QeXy8Ve3//W5nQ68fPPP5v2W5X9ea0KUP6JjbS8fRXo3EyrPnMbEkY+cUtffqrmvfNOj9czIyMDp0+f5srVmjVrIiEhAW632yc48vf354R/m80Gh8OBWrVqSf3x8MMPS4UiRLsDgIHo6dOneaE7ceIErl+/jhkzZkjUIfpwOVWmA57iHovFApvNhhMnTuDcuXNwOp1QFEXynj711FOmz8ubuoc8k958i4AHCBQUFODMmTM4ePAgpk2bJk2mnTt3RnZ2tkFnWN/ntOjeDEjVg+bAwECEhYVxn4SFhaFp06Zo3749VFXl+/D398eyZcuwceNGvPPOO/j000/xzTffGADq0aNHTWXqqDVv3lwKO+qNFs9169ZJnycnJ0NVVVy5cgXz5s2DEB5PzO7du/HWW2+x3jv1SYMGDRhYp6ensw43SSZ6m6Zp8Pf3h5+fHwoKCtCxY0ceH5RrGBUVhdTUVAlgUhVubGwsYmNjyw1dV69eHYmJiQxY7XY7P1+zCno9fZAQHoBB5OxkpE6lZw0APN5jITx5vUSr4+fnJ/GhUhoGvbPeBOqRkZGwWq0STRSFogmMduvWrVypvNLS0gpVeagRifgzzzyDgoICBkXkGSwtLeVxpSgKXC6Xqdyjy+VCXFwc/vWvf8FqtZpSAF28eBFjx441HadRUVE+C2eov8LDw9G1a1fMmjULW7duxbJlywxUYt5FOd62fPly/n7jxo3x3XffAfAUetF5/P39OQLgcDgkTlFN03iMWK3W/+94Kd9+++1y+6/K/nxWBSj/xPbNtSLUmrf71gHKe3cgcdY2WIMib/nLT96GmJgYnvTGjx8PIcrIhjVNw8KFC6XJmvR6fdFqBAYGIiUlhSf+gIAA9m4SDRHR7uTm5gLwcMLRgk3H8fPzQ8+ePfHpp58CKNMHdzqdADzchrTD14dEiQqGFtHyCgsAz0LuHWYtr9hD/zu6Hl99nJubKwHT8PBwBAYGYvHixZI6yMCBA3HgwAHs2rWLPTregLNFixZo0qQJMjIykJSUxJ4km80Gp9N5U2F/qnx3Op3lLm5OpxPNmjXDxIkTcd9992HJkiV46aWXsGPHDq7cHT58ON/n1q1bIYSHK5KMqJL056ZCkIEDB/IYo+Okp6dLmwczowV++vTpADzecH1BU2RkpE+Ab9aGDBmC999/H0J4aHhos+F2uzF79mwu6PBF3n3y5EkIIQyArEmTJjhx4gRKSkpgt9tNc5QpbE2/6du3rwT8L126BCEEunbtytKJAQEBOHHiBH+H3hE9tRcV5AhhTrHlbRcvXsSkSZMq7Cu73Y4tW7ZIv6VzURi5S5cuEEJg8eLF2LJlC+eRenuq6Xuknf3GG28A8BRnzZ49W+IjDQoKwtChQ9GwYUMoioKQkBD24m/dulXiItVfry9JRhqTtAl78803DWpWp0+f5hxkAsbe9t1330nvIM1letCvT7kg0H/kyBGf1/bf1KxWq8RZXGX/HVYFKP/k9uqR/FvqofSv2+GWv/zeu3zy5hDdT0FBAaZPny4tqHPmzJEWK1p0+vXrhzVr1jA4qIiUuGbNmjx533777ahTp44UCqpXr54poCPZOyE8YVmS8aNK6cOHD7NngBQrhBA+K4n1pmmapMBjFpq7fPkyFi9ejObNmxsIpfXycdQeeugh6felpaVS9aufnx9mzpxpyHkj0LJ582asXLmSw42kwXz9+nWWpNODOKCM5mfhwoW4dOkS0wFNnjwZK1aswAMPPIBp06Zh5MiR6Nu3Lzp06IBmzZqhbt26BkB6s94TPWjUUzZ5fy8kJAS33Xab5LkdPnw4tm7dir1790JRFCYb97Zvv/0Wr7zyCqZNm8bAwd/fv9zwdNOmTTFhwgS8+OKLOHfuHM6cOYM5c+agUaNGPjcFbrebq+pPnDgBRVEQFhZmmqdI40hRFLRu3Zor+/U5qTRG9F5HwJOPrAfCjz32mOHYpINO43316tWs8KL3luolPomAXQjznFrAUz1N/WBGZ0OfpaSkYPXq1ahXr570PP39/ZmfkzghFyxYgBdeeIH7nWzDhg0QwrPpJO8e4Ik00PESEhKwdOlS1KpVi89DIWEqNCNlolq1arGHnHhSz58/z+kHmZmZ0iaVxrTNZkNGRgaaNWtWbs5mYGCg9K63bNkSrVq1gqIohnHpvWGi1q1bNwBlmx99ygUZzVsdOnRAXl4epk+fblDB+m9oQUFBPt8Nsn/9uxR5l37EZ/k/IO/Sj/jXv8v/fpX9vlYFKP8LbOUHZ/4HEO64ac9kwuydCGw24Hd7+ePj43Hp0iUsW7YMubm5hlw6ITy7zj59+rCXTQgPoCQps4SEBJ5YCfDRAj9r1iycPXsWa9aswfjx4yVZNbProYnf5XLh7rvvxquvvirR1VDokRYARVGwb98+qXBBVVVMmzYNmqZx7qaiKKYSenojzW39YrJs2TJTkmOiQOrbty9iYmLgdDqhaRqHXKklJibi5MmTKCoqwtixY6WFjSrJzSwlJQV2u136uxk9Tc+ePQ2/JdD/2WefATASefsyfSivRo0aEj/mhQsXeGOh9/bRojxhwgT4+fnB6XRiwIABnGrg7Y0k6cbKSAHeTCN1pZSUFENun81mw4wZM3Dy5ElWR9Lb1atXDbrf+muPiIhgYOxdIORtQUFBiIuLk/g9R48eLRWgJScnY/v27SgoKEBubi6/a3PmzIGiKMjJyTEcNzIyEv7+/tJnx48f5w3HsGHDAJTJDBIQomdH9/z5559zcZHeM2axWJCUlIRhw4Zh9+7diIyMZIAeGhoqeUuLi4vxwAMPSPmMVqsVPXr0gBCCi9f8/f0NKk0ENIODgzmNgoC4ftxYrVY0b94c27dvN/QF5b6Sx5VSFwiolZSUMF2VWWvdurWUX0yeZSE8dD+jR49GWlpauWkp/v7+SE1NRefOndl7GRwcjA8//NAAzGnuCw0NNaTSEN+my+WS7oFyeanK/7+l6emfyM589xMWbM9Dq8c/MNDrJc7eiVaPf4AF2/Nw5rufTN6oKvs9rQpQ/smN8mT863ZE8uy3kXDv2zcEJhNn70D1e95ERNPev9tLb7PZJH6+q1evsuybEB5w552TRN4VogKyWq1S6GrUqFG8sHsvAkeOHDHQiMTHx2PAgAEYM2YMWrVq5bNASFVVvhZ9kYTdbsfKlSulwgV9Mj2F/yj38PPPPzd9XsS3SOFzb8CjqioSEhKYRFwPRojsnTwMtIj36tXLsEBGRkZi9erViI6OhtvtNr2WH3/8EUIItGrVSvqcPDjewLZ169YS+Gvfvr3Be0JFDzVr1jSc7/Lly1JRla8csjNnznCRzNatWzFz5kzJs0PPRF897u/vjwEDBkh5s/o+9/aSV6tWDVFRUT69hVSN73K54O/vz96jihRNymveRPD6FhYWhoSEBCYf1//N7XYjMzMTkyZNwkcffYRvv/0W//nPfwB45B0dDgcAD7Chog0C2jk5OYZxrudDTU1NNehBE0k7yZvqrbCwkHMua9eujWPHjvHz6NChA1NSpaamSmNbTyLuzYcKQOJ3tVgshlxQsm3btvl8Zq+99prpb4hLNjAwUFI7EsKz2XrhhRfKTXXIysqCoiicqkOKQ9Q/165dw4ABA6TnNnXqVBw6dEiKEmRlZTF1FvFEtmvXDs2aNeM+euKJJ6BpGvLy8vDMM89weF6vEuQ9TgMCAkzH1ciRI6X7osK1+Ph4vP3223wP169flyRYT506hT59+vxXhMb1VFLfXCvC7WsOI2H2zgprC+jvt685jG+u+S5orbJba1WA8k9qv/76qyS3Z7fbkd64JWKHLva8NLO2V+CV9ADPqMEPIygm+Xd74fVhQafTafDm6CeEkpISbNy4Eb1795bAghCenKTs7Gzcf//9ktpGu3btAJRVjepDwTTJ3n777aZ9WFhYyJrD5Nls3bp1hZrFkZGR6NChA6ZNm4ZNmzbh0qVLHJLfuHEj0wvpQ9lHjhzBxIkTTSfppKQk9vzUrVvXVAsbAMaOHcu/ueOOOyCEQIMGDVi6Ud/PBOCJLoRkCPU2e/ZsCCFMvTIEqlu0aIFDhw5JVeqNGjXCp59+ioSEBIlvj4yKrfTydHPmzJGATXx8vE8tb8CjH05V7wcOHEBpaSkeeugh0wKO2rVrM0Ci8PTUqVPRvn17nyFGITxAjSpuo6OjsXbt2nIr1cn27NkDITxeWwr7C+FJG9ixYwdeeOEFSbIyISFBCik6HA5ER0dL9DmUX3qz75nD4UBAQADrwNO7l5GRYQAiTqcTPXr0wEsvvcSeqSVLlnDVLH2m5w31Nu+CILPrycjIwJQpU8o9DlBGa6QoCt5//30oioKYmBifIE/TNEybNs0UREVHR2P69OnsjTx+/Dh69+4tgVu99560tn1ZaWkpLBYLMjIypM9r1qwJRVEk8nNKw6F/kyJWXl6epJ5Tu3ZtA21Qbm6uKVk36YK3aNGCn+Ptt9+OZ555BmPGjEHz5s0RHx/vE2QrioK4uDh07NgRNpsNqqpKoFZRFI52vPvuu9K5iU9z6dKlf2oOy88++wyvHslHrXm7b7hINXnuLtSatxuvHjGvtK+yW2tVgPJPZr/++it27dplUIegBatevXoIqp6GjBEPIn7ii6h+rxwGr37vDtSftw0h7e/EsLtm/u4v+/Xr13Ho0CFTgCiEef4WGX03JiYG8fHxhrCmoihwOBwSSA0NDcUdd9yBCxcu8Dl86fwCZbli+upeWugVRUGLFi2k85KXypenqUaNGgy+VFVFTEyMASgEBARg0qRJkia5nlQ6KCjI4GkjgmwhPF4Fb07O2rVrY9++fXjqqad4wczKykJeXh6EMNcpr169Ohcd6Y2KFYSQScJPnTolhfYURUH16tUNv9fniK5YsYL7k0BqgwYNkJubWy6gBDzV4ARCaUHzpk6pbEtNTcXEiRPx5JNP8rho2LAhK+2YgeryjEKUNA4aN25s+M6aNWukZ5+ammoAV2+++SaE8OQOnj9/HhaLBf7+/rh+/TouXryIY8eOYc+ePXjxxRdx++23IzU11TT3kIpvoqKiblk1r8PhgNvtRkhICKKiopCQkIC4uDiD1Kl3y8zMxMGDB3HmzBkUFBSU6/0j76GiKAgPDwdQpn5ERXW+bPXq1XxOm82GevXqSX2jv8bo6GgJ1GVnZyMoKAhhYWHlnoPkXVesWMGfnTp1StowpKWlYe/evVwc9uCDD3LYuX379vjll18AeLhSvTd/dJ1m1ehkBIZJytXMtm7dKs1J3bt3l+iJzM6p97aHhoYy/RngKQwSQi50e+SRR6Q5LDg4GE6nk0PwZuPO398fU6dO5ULIW9mICi2t37RbUj+w8gOjNG2V3VqrApR/sP3666+mah6//vor3n//fSbm9TWhU5EK5Sja/QJQO6cDXHG1cfvk2VBsTs6j+b2bzWbjXTtN4u+99x7GjBkjeeoiIyMxZcoUqdrx2LFjvKhpmobdu3czUIqIiDCANFVVkZKSgilTpuDYsWNYsmQJ/61Tp04++7u0tBROpxNBQUFcDEG/owk3NjYWn3zyCSIiIqS8tnPnzmHNmjUYN24cX48voKmvkp4yZQo2bdoEl8vFgJLs6aefhqqqsFgsWLduHUpLS1l2js6v90ZkZWVJxN+Ax/Oqp7UhEmq9XblyBUIYOQYJ1DZt2pTBo/fxL168iA4dyoq3EhISDJKD586dk8Lwd955J9MQUS6fL0B54MABtGzZ0vCMfeVDOp1Opm/SL2RCmINz/TOm0PaN2ksvvSRdg56YfMeOHUwYrygKEhMTebHNzc2V3m8iNqf7UBSFq5bLs9LSUmzdupVDouW1efPm8W+uXLmCEydOYOTIkQaOxWHDhvG4CQ8PR926dREZGWno25tpFMq22+3w8/NDcHAwe+VpvNtsNnTp0gUDBw7k+Wvw4MF47rnn8Prrr2P//v3Iy8vD1atXceXKFZZqFaLM6+jLy1uvXj2sWbOGN5+xsbG47bbbIITAl19+6bOfiVi+tLQUhw8fljz11H+UBkLk42fPnkVpaSlat24NITxg9tKlSygpKeG0Fe8WEhJiAN6apknP9+uvvza9xt27d0NVVbhcLk4psVgsOHLkCK5duyZtwHr37i15Ns2uhdJ2hPB4RmfOnMlgU1/MRbnZmzZtghCe6AyRrfft2/d39WqSVGaj26bc0qLUzVWeyt/VqgDlH2zr1q2D1WrF8uXL8euvvwLwLLC0uN+o94HCHAQ+buYYv7XZ7XY88sgj0n1mZWVBVVX069dPyp9MSkrC/fffzx7Xrl27Mqm0flGz2+2cFzd27FikpaUZFCCINsS76MTbqMBn7ty50jGsVisWLFjA3zt9+jRUVUVQUBBefvll9OnTBzExMdJ1ud1uNGnSBJMnT2bJtYom1sDAQNSoUQPt27fHtGnTsGjRIva00KJVt25dSc5QCIG//vWv5Y6l/fv3S95bUh8Byha//fv382cUxmzQoAE0TUN+fj4URZFUP8goV7JevXo8niIiIrB69Wo8//zzEujNyMhggEXa3gQoN27ciKlTpyI7O7tS+YlZWVnMZ2qxWKRr0jQNzz//vKH4Iycnx+CBDA0N5e8pioKtW7eW25d6O378uAHc7t69G+vWreMNHUlyUnHS1atXpVy5pUuXAigDlHQtVKV7I6aqKlq0aIEtW7b4fLejo6MxdepULqAiW7VqFb9/pKcthJGKKDg4GFlZWfxc+/XrB03ToGkaLl68iNTUVP7ugAEDsHjxYsyaNQvjxo3DoEGD0LVrV7Rq1QqNGjVCWlqaNC71wPa3Alf9e1i3bl3UqFGDgat+TAhRxj7RqVMnXLp0yVAxTHKFNWrU4JxHfS4xiSVkZWUBAFq0aGHYJNHcRTrgQnh4T1u2bAlFUTBmzBgpT5uq/K9cucKAj56F2RxGQguUYkP5z4qiwGaz4bXXXoOiKAgICOB+oAK+L7/8kvskPT0dzz33HIPN8p6Dfj7z9/dn+jeSTSUjVasdO3aYFmHebKNrq5uTixpzzYFhj6c/xrpDf8dX3/2EopJSfHv9Z+w4cQltluwvF1DWmre7Kqfyd7QqQPkH27hx4/iFycnJ4UXoVoDAPxpI9ujRA7fffjuDtODgYJ4ww8PDERERwfe9b98+tGvXzgAK9ZOXoijIysrCK6+8Ak3TWFP4wIEDfJyTJ08ycNZ7K8hTdPvtt2P37t3S5Eyk1frz6gsXioqK8MILL6BLly6G7wUFBaFJkya8kHqbXsVi0aJFADwg4sUXX2TVisTExHLD6Pp7ICCjD0WVZ5qmcVhfCE/eX3FxsaFYh/g069SpI/UN6Rh7a1CTbnleXh6KiorYA0nnsdlsWL9+PTp37syfxcbGIiUlxbDAez/v2NhYjBw5Ei+99BJ7Zd577z1eOCkk712FfPjwYQbiY8eOxbJly6TqWafTiS5duuDQoUNSDiCNOb2yki87deoUHA4HVFXl6l8hyiICNpsNI0aMMI0yAJ6iEsrRTU5OZmCuf756toHKWEhIiERjFBISgsLCQhw8eBDDhw83bGioQGbYsGG466670LJlS8NzsNlsaNWqFZOIb9iwgQnyly9fbnod+lSR8pgOzDgiIyMjJYLxwsJCrtCOiYnB2rVrsWTJEsyZM0fiidSPm8jISFSrVk16j1RVvSnlKavVaug3Pz8/pKWlITs7G+3atUPv3r2ZieCOO+7gdJhdu3bhyJEjuHDhAs6cOSPxznbt2hVAmZY3IBOyCyEkz+s999zDG16iMSI7ePCgJLRA5u/vLxV3KYqCvLw8aJqG0aNH8+c0Zmn+omd2/PhxCFFW1JOXl4fnnnuON8hut9s0Z1NRFAQFBXE1ekZGBoTwKBaZpWn8lpaWloYm977sM2dy1xf/wJWCYqz9y3nMeuMEnnj3NL7/qRj/+ncpOiz7sNycytvXyP1cZbfOqgDlH2zZ2dm39MX732r6YpvS0lLMnDmTJxU/Pz8oioImTZoY7t9XOD4hIcFQxUmE5fPnz+fPvMmcKXTu7+9vSsfTv39/PPLII9Ki07hxYyxfvhxt27aVQjxCyBrflP9JIZ/nn3/ecD96ipyQkBBJAcbtdhtC3ufOnatUGFMITx6T3rP5yiuv+AQj+rAXeUqICohUeGrVqmXw0ly7do0rz/WWm5vLC2J+fr6hqt5X8/PzQ1BQkCE8PXjwYJw+fdr02sl27NjBvyPPO9myZcs4rOrtKSkoKMDcuXOlEB9tDEhdh/LN9Nrv3kbKSKqqYufOnazII4QHlE6bNs3nb/VWWlqKkSNHGoAPMQUkJydXeAwyItynYyiKYhgDFy9e5LFfs2bNCuUE9VykLVu2ZHlMt9uNTz75xOe16OX+FEWR8g7Jtm/fbqpi4w0oyUhqs1u3bmjVqpW0Ka5Xrx7WrVuHgIAAJCYmSr9bsGAB90ubNm0Y/Pfs2RP79+9H//79DZyRycnJ6NChA2rVqiVtRkmyMyAggEn9f0s412Kx8PGTkpKQnp6O+vXrG4AvzZE0J44dOxZnz57FTz/95FNoAQAzaFA1vtVqlYrNzpw5w6DcYrHgueeeg6IoSE1NBVDGJuEdYvdWqXr66ael661WrRri4+NvOXg067/G7XuW62ns88xfUOM+GWy2fuID/Ps/v2DrZ99WGPo+e6WKUuj3sCpA+QfaF1988f+VPFaXLl2kimVN07B48WL20KiqijFjxuCzzz7D4MGDTeXMIiIiDF6mzp074+DBg9A0DULIOZK0AOml+ZKTkznsfenSJSxatAg5OTnlesr05+/atSvWrl3L9/Lvf/8bQUFBUFUVZ86cMSj+kOlD5JTTqSca9gaUJSUlUiK93W7HpEmTsGLFCoOnJSMjw6dnk6hE9GCzf//+EMJTeU1jLCkpia89KSnJJxgipZS77roLU6ZMQbt27codp35+fggJCTF8xxtACSFw6NChG3pHGjVqxIuKEALnz59Hnz59IIQHsFcESi9duoRx48ZJIbiIiAhMnDiR8wfDwsIM1d75+fm8EerSpYuhWr9GjRo3dB+AR7GJgAUVXNDzGDt2bLm/LS4uloqnqPXu3Zu/c+bMGcyePRsNGzY0eJTi4uLQpUsX9OnTBw0aNDBEBiIiIiS2A7vdXm5xG+DRSifpSXrW/fv3Z4/3nj17oKoqnE6nRD8FmAPKo0ePolu3boZiPFVVJbCTlpZmWlymTzOgMefNoNC+fXvTMUzjU1+UZmalpaVSoU2LFi0wdepUKWUlNzcXnTp1Qk5OjmmEg2jEbmaOJc5Vt9uN4OBgREZGSuwBtHlQVRVDhgzBrFmz8MgjjzDXLL1H9KzfeecdBAQElAvu9STx3v3Xp08fToUgmiJiIrmVLbn/vTclO/zFtz/ii29/rLDye8F2I/1Ylf12qwKUf4CdPn0aAwcOvGX5Q/9bjTS2w8LCODnc4XDgmWeeke6XQlnei5i+0YJNSjmFhYWYN2+eBLgCAwNhtVoRGxsLwOOJslgsiImJkc734IMPQgjB0m3nz59Hv379Kuzv0NBQdOjQAatWrTKEMI8cOQJFURAZGYns7GzTfD7vIh7Si46KikJRUREDypKSEikES/rQ+tDzp59+Kl3btGnTpPOdO3cOa9euxYQJE9CmTZtKh9Gpr8+cOYNvvvkGGzduZNDoKzztzXmpKAr69OkjLfKapplWmVqtVqxbt65SVd7eRjmdenUkAoaNGjWSdIwrMr1kpt5jR95nq9XK4+XSpUvs4SOgUa1aNTz11FNMRC7EjWsL65Vl6LhNmjRhb/KePXtMf7d27Vq+5szMTDz88MP8HMaNG8fclPrxlJSUhN69e8Nut0NVVcOxaXOmKAqaNWvm08sUGRmJHTt2GK6puLgYQngYCO666y4IUUajk5KSgu3bt3MBlBlXKAHK8+fPG+i/iPScxpu3jjttKHxtiPTPOikpSTo/5Unqx6c+dSMiIgIPPfSQTyovwEPoT8dIS0vjPp87d67p9/WMDTt37sSlS5eY3oqqw++8806cOnUKDz74oCQ0EBMTI4Hdli1bomHDhkhLS0NCQgIiIyOljcDNelLJixwUFITw8HDEx8fzmMrJyUGnTp3Qv39/jBw5ksEw5b1HRUXhwIEDuHz5MnOS3qo1hsZAzLgXbqro5h8//owDX31f4fdaPWEkTK+y325VgPJ3tp9++um/gkC2Mo2ogcaNGwfAEwqmhTg1NRVffPEFFixYIIWenU6nqdIDaQnrdYLJ/vGPf2D8+PHSRBseHs65St4L3pEjRyCEBziY9XVaWhpWrVoFIcrC8W3btjUoxgQHB6NVq1Z4/PHHceXKFc5tIuoivdEipy/qAcr0h+Pi4uByuRAYGCh58jp37myafE+ggYoZ/Pz8fObpeRuBzRtNjLfZbAgPD2e5RLofyl2lxUVfnb937160bdtWWsgyMzMxfvx4qQiGcrxuxCjX7+jRo8yvKYQnf+1GLSIigsdht27dsH//fnTo0MEwPho1aiR5j+Li4rBp0yYAZSB/+vTpphuZ8oyUlQgcE2+mEB4wQlW7+md84cIFDmO6XC7MmzcP48aNM1XqqVWrFsaNG2cgESd+T1VVpYKsDz/8kH//zDPPMIDr27cv2rRpY5DmU1UVmZmZvNmiXNDHH39cYk6gAiq6LzNOyqtXr8LPz08aM6GhoRg9ejSLB1AYNigoyPB72qiZAXDSLHc6nRg+fDhTPd12220YOnSoobiqbdu2ADzyhPqcZUVRkJmZieeee870/dSrOmVlZeHy5cvlPn/ytFO/CCEwe/ZsaSOmfz7exX/p6emmkq2apkncqwSeKVzt7++P0NBQqKqKlStX4oknnsDcuXPRq1cvqf9r1KiB9PR0JCUlITo6Wkr90Xug/zeaYncZ6PAq06Zu9oy9Ga9/XuF3E2fvrJJp/B2sClD+AfbYY4/dVPL4n6npQZE+ebyoqEhSR+FJQVHw4YcfAgBWrFhh+DtxxpkBSr0RpY4epEZFRaFRo0ZITU316QWlEOD48eMBlNHlrF27FkKUVdt6k6175/4RGI6Li+NrIg3hhg0bml4zkaDrm9VqNRS+kJWWlsLlciEgIACapvE9+fv7Gyh9AOCbb77Bhg0bKvQ0CuEBJnoPnc1mqzRNTG5uLi5evIgTJ06gT58+hirtgIAAFBYW8nWVlJQYvtOsWTNTj5W3EZ9m48aN8fjjj0vXFxYWZpCYK8+osrp///6IjY2Fn58f/03TNLz22mtIT0+XrlNVVdx3333ScYiXb+/evUzm/tJLL1V4/sLCQlZ/oqpcoh3at2+fVKBRo0YNaJqGSZMm8T17gy/9uK+IRBwoq1K3WCyccuDNj+jv72/IzSssLMSTTz4phVSpERCfPn06vv/+e/bCTZgwQcqrfPLJJwF4PJqLFi3i6n9qffr0MahMffbZZxzaFcK4Sfv8888hhEd+1dto80O/OXjwoLSBDQkJ4fmHQBOlPrRp04ZpcYiVgt7VnJwcvPXWWzh9+jRXgNOYr4x5S6emp6ez+tE333wDq9UKt9vN7w/Nc0IIqc/q1asnzbeDBw+GEGXCB3ouTz1vJ0ln6q2oqEi6pu7duzPZPQBYLBZDCsDPP/+Mp556in9Tv359jBgxQhqrt2qN4bEZn3bDYLLt0v0oKP4PPr3wA5LmVO43eZeMRPNV9tusClD+QXbo0KHfPZn592rdu3fHP/7xD4lrcdasWRwKpgWZFgSiJwHAAE4Igfvuuw/Hjh2TVCSCgoLKzbMjz5138Qw1u92OevXqMWhyu91MvzNy5Eg+TmBgIHsZa9euDUVRJGlFstLSUmzbtg2DBg0y8Lg5nU7UqVOH88S8PYjnzp3jYhb972JiYsr1aFDRDBU51K1bV/ISpKamMmg0S+z39/dHUlIS8+JRv/7www98Dm9amyVLlrBnc/z48ZIHxlezWCyIi4vjghkziT1KFfDOGSMybF9G/H+kRR0aGoqIiAjeGEREREjgtTwbPnw4hBA4ceIEpk+fDiHK6IyOHj0qeY+8m8PhQMeOHfHxxx9zDmNJSQlKSkrgcDgQEhJS4flpfK9fv57BrZ7HUtM0KRzu3fz8/NCwYUPMmTOH1Y6cTieioqIqdf8ADEUdTqeT31WbzVah97u4uBhjx471mfvndrslILlx40b2kHvnZubm5iIkJMQ0b6+kpITVf/Ly8gxpJNRfFFXQG23EAgMDcebMGendq1atGl9748aNERMTA4fDIZGf796923C85cuXc1jbe56hsbhs2bJy+660tJT7IjIyEq1atYIQnigLFSqRR7Fx48a4dOkSe0ofeOABAJ78WL1KT82aNZmiiFR9qlWrZvDo0hoTFhZmeMbvvvuuNCfRuHr++edx8eJFCFEWfdIbFSVShGjdunU4c+aMzzn5tzS73Y7qDVrdEJjMWvQ+LvzzX/j2+s9o/PD7lf7dZ/k/GO61yn6bVQHKP9Bq1659y1/A37upqorvv/+eJei8gUd6ejpWrlzJ1cMEAIUQUmjGWzFHT/gshMdTs2vXLmiahu3bt2PQoEGoXr26IWG/fv36mDlzJpYvX44mTZoYABaBWv3OnULiVAhBleEtW7as8JnpaYG8F1eHw4E6depg0KBBkscrLS1NyhFLT083DaN98803WLNmDRMNJycn+/Q0Wq1WJCYmIjc3F3fddRfWrVtn0EOmXFIhjAVEZHpam6SkJCxdupQLCZKSkgwhQrvdjoiICMTGxprySBIHXkpKCtq3b48pU6agd+/e/Pevv/5aWuhTUlIMKQvkxSMvWHZ2NkpKStCyZUuoqopFixZBCE/KRXm5bmShoaEM/K5evQohPNybeqBA9/nYY4/hySef5FCp3ntIVeVEjE3grjz1J3oGVGFP4/zuu+/G+vXr0bNnT1MPoBCeghv9c9M0DW63G35+fqhfvz5sNluF9+7drxaLRYouUA6fno2gPCstLcXcuXOl6vtatWrxcfR95T1unnnmGR73vqq8KQ2AeDup0C04OFjKmQwMDGQtajLiWtXn8tatW5c3Lj/99BMfn65vx44d/OyHDh1qes/bt2/n91DfdzQe/Pz8fPLeXrx4UXq+NC8uXLiQQ+xvvfUWAKBHjx7SuBfC6J29fPkyevbsKfUvsU1QEQ3RAVFqAG0sKZebjLygLpcLbrcbixcv5vmS5oTu3bsbuEUJSOrfDT8/v3Jz5G+2uVwupDZtV2lQmLFgD/Iu/YgfikrQ7knfdEFVHso/xqoA5R9kv/zyy+/yAv6eTU/Iqw/BxcbG8oTbokULaeK/cOGCtGDTYm5mtPCahcyF8ITlSDlICCHlFOkLF2JiYiSpQlVV0b59ew65k6dJ75EkbraTJ0+W+9wo1Kkvqunbty8mTJhgqkSh58mz2WwM1qpVq4bc3FwGjWYhZ/I00r1MmjQJeXl5nN9Yq1Ytn6HfzZs3S8cqz4tSWlqKQYMGSQulfrGgz7y5BqmSvXnz5njppZcwceJEtGnTBklJST4LhEi6rUWLFkhOTi5Luo+Jwfr16wFAKsLRFyNRHuWZM2eYwqd69erlUvecPHkSQpSF/F5//XXJi96xY0fOBSYtZkCOIAwfPlzi9qTnd+edd8LPzw9ut9sUUBw7dgyK4pEY/OGHH/Dss89KuvT6PqF+qFOnjtRvderUYS/WnDlzIIQHwNL4qywQJNPTdM2ePZtzIfUe08qYw+FAZGTkDXmlFEVBv3798Nlnn5kCSspr9t7YERWX3iOZnp4Oh8PB/37nnXekczVr1sznu7xv3z6JR5TeNSEExowZw9+7evUqezBtNhsef/xxAGVjSg/8/Pz8MHHiRCnysGvXLp7jaax7Xwd5Oe+55x5cuXKFnz15H7t06SL9xpsEXR9qbtq0KYTwbLQ6duwIVVWhqipq1qzJObFUfHMzaw8BaNpIu1wu7ker1Yr69evfcho8RVGQWqcuEmZXnENZa95uHD7/TxSVlKLPMwdvCExW5VD+PlYFKP8gO3v27C198X7vVqtWLQPIcLvdTCmhaRrnZelDOXovmX4CrF69Ok6cOCGRiHuf02azSaS8K1asYC5KWky8CxeoIlSfs6Rf9Pz9/WGxWFhHmIw8R/Xq1Sv3uTVu3BhWq1UiqJ47dy5X6iqKgoYNG6JNmzamZMDeze12IykpCbm5uRgzZgxXNevt/PnzEMIDKMnIG+F2uw1AT6/zGxoaCovFgtq1a/u8pzlz5pjm6NWuXRs7d+7kf+tDzHl5eVBVFSEhIeUCuvPnz2PdunWSl4YKoSrqmylTpkgeurfeegtClKUCENl6SkqKgU+TjDgVH3roIfam07lffPFFpjiZM2eO4bfXrl3j/LX69etDCA/YGTRokBTGFcLDZ6nvn0uXLvEGx4weKyEhAffffz+fPyAggNV7CFjR+6aqKiZOnAibzcaeVmJO8ObgLM+GDRsmXYPL5cL58+fhcrmknOCKjHLvunTpInmf9Y08sgcPHsT48eOlTQI1i8WCsWPH4uOPP8bZs2dZNtSsep+8bCtXrgQApsXatGmTRFOTmZlZrk42maZpUuFRs2bNpI3bQw89xMCpdevW0sZt48aNEEJgzZo1OHXqlMGLn5CQwEpndrsdTz/9NBo1asRcnQ888ACmTp2KkSNHomvXrqaFg3pGBb362Y02i8XC+uwUUbDZbOxlrFmzJoYMGQK73Q6LxYKHH34Ya9askaJJwcHBeOedd/j+9dKLQJlneMSIEQBw05RIvlpAQADqzH6jXECYNGcn3vvyMv7zi4YRL31ywzmXVVXev49VAco/yGhx/G9qgYGBGDRoELp3784LpXfIcdGiRTwJ3nPPPTwxksJDXl6exBXn3SIjI7Fy5UqewIuLizF58mQGZ3pv3+TJk3mi7dOnDy9EPXv2hBCCiZHr1KmDK1euYNKkSVLlM3mZiBia9KrL01YODw9HtWrV4HA4DKDI10TqcrkM0nbU7HY7+vXrh9dee41Vaii/T2+qqqJ58+bSZ+vXr+fcSlpoSeeXPBATJkzgVADvZ/Xkk08aFsP69etj8ODB/Hu9t5jSBkpLSxEeHg5FUSpVFAJACnMTkTeBzYkTJ6Jly5Y+uS4pjK5fBDds2ICLFy9ywVNaWhp++eUX6ZyapknPyeFwYNy4cbh8+TKEKCvUKk8xR9M0Bi9ClBV1AR6wpFcGomN6A4SoqCj07NkTL7/8Mhcbpaenc1h9xIgRBkBMxPFTp06VFvcZM2YAQLk5bt5WUFDA4X0iuB40aBAUxaNe06ZNGwghKqXYc+XKFXTt2tXwjHJzc7F27VqpgKRly5ZSGsbZs2clT5nZs+7cubNB2Qoo44K1WCw4c+YM63ILURY5uRFQDJQxMOjfRT34d7lcGDx4MCZNmoRhw4ahV69eyM3NZTaI6tWrIzo6mj3Zt6rIUj/XEdl527Zt0atXLw7ZE9ftunXrsHPnTvz1r3/F5MmTDQTt3ps9ys+mc9Am6MUXX4QQHvoiwJMmEhUVhQcffFAijP/xxx8ZUK5duxZ79uzBAw88wP1WGa7fm2mpQ+YheY5vHsoXD3rG2Xtffoepm48bWnlgsoqH8vezKkD5B9nChQtv+U7u92x6mUF92M4s5Lhv3z5TcODtsaPvOBwOvPTSSxDCd5W3pmlMuK1v0dHRkoeOPFLNmjWDpmlo3LgxFEVhsEmey759+0oeivj4eEyZMgWKoiAlJQWAhwfx5ZdfxqRJk9C2bVtDhaq+KYqC5ORkZGdn8322a9dOWhiJh5LI1r2pWahPunXrhnXr1kmemtDQUERHRxv6JS8vj4/TunVrKIoCh8PBif+XLl3CK6+8AiE8UpCffvopunbtKnk8goOD8fDDD0vnKywslEiMXS4XVFXF1atXeUOxcOHCSo934qGcMGEChJCJvC9fvizJ6zVo0IC9KRaLBbGxsUhISDD19OmpXtxuNyZPnoyXXnoJd955JwM7i8WC2bNnM2jTV85XBpABYA+6qqpYv349vvrqKyYR9wbl1BwOBzZs2CCNgWeeeYb/npKSYkoFA3iKU4KDg6GqKj755BMJrLRt25Y5WCsi4j527Bj324gRI9C0aVPeXLzyyitQFIUB0cSJE02PUVRUhAULFkjqS/r3d+3atdL39WpRQnhyYL/44gu+LwrNqqqKw4cPM9jVz4eqqiIuLg79+/fHG2+8gdLSUhw+fJifuf69pXzlQYMGYfz48Rg8eDC6deuG1q1bo1GjRqhduzYSEhIQFRXFnjqzDWFlmv69ocK+uLg47gv6b1BQEMLCwgznuO+++/Dpp5/i22+/RUlJCYqLi3nst2/fngvY9Pm9NG71bAG+cqJps0TNZrNh+PDhUkEOUTuR+ANZdHQ0rFYrCgsLoaoqcnJyUFRUhC1btkjvZ0XhcrPc6t/SXC4XbGHx5YLCv379z3Lfg4o8lFVKOb+PVQHKP8gGDhz4m+S8fu8WGRmJ1157DZqm8UKyf/9+aJoGm82GmjVrmoYcT506xTlp3i02Nhb9+vXDli1bGISuWrVK8uj06tXLZ5/pPTXUrFYrhg0bhoKCAg7pNWzYkCdKovRZvHgxAI+6R/Xq1fmYb775JldRV9Qn3gn5Xbp0wdmzZxnE9urVC1arFYqimBZqmEkvkneIFnXvHX5YWBjat2/P1dRm9vPPP0tUJh999BH8/PyYAP7rr79mxRH9scPDw3mh92XeIU0C1Y0bNy73d96mJzavUaMGhPBU1e7du5efv8PhgMPh4LGxcuVK5ly0Wq0YOnQoYmJiEBAQwJ7N3NxcJCUllbs5i4+PR7t27TBlyhSsX7+eUySEENiwYUOlrp84Mb0BAkn4EbUPVbXr+9put6NFixYSSMjNza3wnJSDSf2zceNGBmOklhIREeHz98Qvqaoq1q5dC03TGKyQ6VkX9GkgpaWlWLVqlZTT6XA40KFDB6n/vEUMyAjk6b8bFxeH6dOnY9GiRfy89DmADRo0QHJyMoKCgnyC9Btp5Kkn+c+IiAhUr14dtWrVQv369aVCIn1+uP4YkyZNwpUrVyTvd0REhCFlhnIehZBzcakf9SDL4XCgffv2eP/99w0pFwcOHOANKc03NEaJjYByjc3sxx9/lMY2zZmqqqJXr164cuWKpElfv359/PTTT9izZw9TqdEGpCLAXb9+fSxZsgSHDx9GaWkpS4neKP9tZVpGRgZihy6+KbWciryTVVrev59VAco/yPRFI3+mRgU3+pyhixcvMk/amjVrIITAI488AqCMB83hcBgWAX0FeGhoqEHejqyoqIg9QIqiYNasWYaQ15AhQ/hYmZmZEMKTw0UTJk1+aWlp0m9pEY2MjGTPWlBQEPz9/U0nTO8q8urVq6NZs2bSvTmdTilEqWkaA0KHw+EzZG4GKDVN4yIb0iMvLCzE6tWr0blzZwPZemBgIFq2bMlk60AZJYx+4RfCA6zNwL3T6Sx3UdJb8+bNoSgKh8pocdKTm1fG9IDy8uXLsNvtEu0UbQbM1EY2btwoeUiEEFLxw9WrV5kIm66PzmexWHw+axrv7dq1w+TJk7FhwwZ88803ADwV0XfeeSdq1aolPXu9skpKSgqnEezatYv7XlEUHD58GEVFRVi4cKGU7kDXoaewKs/uueceCOHx+pBt3bpV2nh4ezk1TeMiq8DAQC5OoXeXKqjJ9F7TadOmIS0tTaIAioyMROvWrdG7d2+mcRJCsHcuPDwcgYGBHk/Sb8j3czgcnO8XFRWF6tWrG3JVfbUVK1bg9OnTuH79us+Ka2/TAx+r1YrVq1cD8LxP+vdGn+YAeHIE9RuqmTNnSs9XL1VI1rFjRyiKggULFhikCWvWrClxs169elXyBrvdbtx///0QovwNNyBvAHfu3AnAMzb10RX9e1den6akpGDo0KESaNQ0TaIjGzp0KH/+9ttvG7zYt6qpqopOfYcgada2Wwooa83bjW+uVcwUUWU3Z1WA8g+wkpKSP6WG98iRI7Fnzx4IUZZUT7Z+/XoIURa2Lo9EfMKECSgqKuKdbsOGDTmU8/rrr/vsF1pUhPB4SA8ePIhTp05Jk+HmzZuZh468PES3QS04OBhxcXE+gYTb7UZycjLatm2LSZMmYf369VIiP4WE9ATg+qbnxCsuLpZ4NP39/X1KApoBSgAMKIXwVBSbjRcqwgkODpbuyeVyca7Vpk2bpNwy+jvlHgrhKa4qr4jG26KjoxEWFgZN0ySFFpfLZQh1lmd6QKlpGjIyMiCExwtz/vx5+Pn5wd/fv1wwsHv3bgZniqIgOzubAa8QHpoj8uI0aNAAQshV4lTJT0VQlfGCKYrCSiOUcqBpGm+k9ICNxvvkyZMBeIAJFaOEhISgT58+Uh+GhYVh9OjRDGLNjHIphSjzTBUVFeHs2bMSyM7KysKcOXMwZswYBpv+/v5o1KgRMjIykJyczEDC398fTqdT2oTcTCMVlujoaCQnJ6NOnTpo0qQJcnNz0bNnT77XMWPGYMmSJXjqqac45K4/DoFGUo26du0abrvtNp4jIyIi8NxzzwHwbLaWLVtmClpJ2eqJJ57A999/77NPNU2TWBqEMC/GmzVrlvTeFBQUcEh5zJgxKCkp4eKbuLg4bN++HUJ4QtfeRoCSzk8OBf0co8/p1jTNMK9FRESU+36cOXMGiqIwUHa73QgLC/PpvdezTiQnJ+Pw4cOsxy2E8MlNSjmU9Nxo/rnZcXQjrduUh28poNx8xMg9XGW3zqoA5R9glJj/v93I0yeEXOWalpbGRN979+7FyJEjmRycmsPhQHp6OiZNmiQVLaSmpkLTNM7hE0Jg27Zt+Oijj3jypAXX24QQGDhwIGbMmGG6YIwePRrr1q3DpEmTmE+vPFBgt9vRuHFjLiJQVZXzI33ZxYsXpQrxuLg4DBo0SArLu91u9OnTB2+99RZP3r179+bq3BYtWpge2wxQEudi27ZtOTxoltdHRRjjx49nsnWzynizRYPuw263IyEhoYLRKZvNZkPDhg15AaZqbeoPPa1NeUaA8tKlSwyyCHAQ0KuIIBoo8wR6e4yJiw+AlPtJXlx6pp07d+bwHFVu65vVaoW/vz+CgoJMq9GJOD45OZlBgaIoUn5vq1at2FOkqiqGDx+Ojz76CG+99RbzsoaFhUkbMrvdjsjISNSqVQuJiYmIioqqtHfOVyM+U6fTySDTarWiRo0aqFWrFjMAeP8uICAAa9aswTvvvINPP/0U33zzDX766SeJ33HIkCEVPitiJ6hbt670eWFhoXTe4OBg9trp37OEhASfG9D33nuPv/fII4+gV69epspW2dnZePDBB5ki7MMPP5S8/q+88grq1q0LVVVNmQL+9re/SfmRFBZesmQJH6dLly4M9IiQ3zsaQ4BS0zQed+SlPnPmDIYMGSI97/j4eMydO1caI8OGDUNhYSH27NmDBQsWoHfv3sjMzCwXNEZGRiIrK4s9jeRN1XtJKRzfqVMnAGCnwZkzZ/j6i4qKsGbNGnTp0sVn4U1sbCy++OILpoq71Y3Omzvp0VsCJp/+4GyFY7jKfptVAcrfaP/6dynyLv2Iz/J/QN6lH025rYh24vdoFovF1HNIk6KeBJv+RuoKv/zyC7Zt28bVzvrmcrkk6o9jx46huLiYq4CTk5N5R02TFYW8qZLw6tWr/LesrCyDJ08Ij2fUu1qxouZwODBhwgS8/PLLuHDhAvLy8iQFjNq1a/P9P/TQQ6bP7dSpU+xtEKKMsmXx4sXMt0gkxt5E1NnZ2bxgEZhZsmSJ4RxmgDIlJQWqquLy5csoLS1lkDJ16lTD7y0WC5o2bQoAeP755w3h+bCwMFMQoqoqRo8ezcCNQFZFdu3aNQghmAA5LS0NFy5cgKIoSE9PZ/1yVVUxefLkcr0nVOVNY3POnDnQNI370kyz2dsOHjzInk0hPHlVelCYlpaGffv2AQD3Td++fXlDERYWhqioKANI9PPzw4MPPojPP/8ceXl52L9/P15//XU899xzeOSRR7j6PiQkBKGhoXA4HL9r/rOqqnC73Qya09LS+L79/PwwatQoTJ8+Hffeey+E8FTf6sducnKy4RmT3GDLli0lQBUeHs78ifq0kvj4eH4/S0tLOUpA7/iqVasqNYYIyH/00Uf8GYFBVVVx9913G6riFUVhzkdfpvek6T2CpaWleOuttzBw4EDEx8dLz0kfxrfb7QgLCwNQFvInpgRvu3z5sqGgkKRzKfWHjJwFTZo0MfQDedWFkIUW9Hbo0CF06NCh0jmkDocD0dHRPD7i4uJw+PBhlsLcsmWLdPzMzEwGz/n5+XxddLysrCwGbtWrV0fbtm0NXKMEQIcPH47r16+jsLCQn7PFYkH//v1/twiczWZDZGQkYlvdhuTZbyOpEvyU3jmTtebtrvJM/kFWBShvws589xMWbM9Dq8c/QKLXAE6cvROtHv8AC7bn4cx3nkoy8kTd6jABhXLp306nEx06dMDBgwdZDWb27NnQNI1Dh+Q1jIyMlK6HJt+JEyeyB6pevXpccBAYGMjVxf369WMwQfk1VqsVderUkciHAU+4hyYfh8OB7OxsJCUlmVbw0gRF/x8SEoInnngCFy5cYO9qZGSkT7WU/Px8dOrUSbovCp2RHT58mL0KQgg0atQIx44dg6ZpHBqkMBJVPo4fP56vTX/dsbGxmD59OoKCgqCqKiuqkHkDSgqR9e/fnz8rKSnhEPW9994r/T4oKAh2u11agKOjo7FkyRIOY+s9D5GRkaaV5EFBQRgzZgwOHDhQLgik0JbFYoHD4eC8SfKM7tu3D0ePHuU81tDQUJ/65JRbZbfbsWvXLv6cch+dTqfPVIEdO3awh5zCa4mJiTh+/Djee+89rFixQlKdov7xlSNLnu2bYVmg31NRzI14EQnECOHZ5DzzzDP4+9//Lt1nixYtpOtyu914+eWXJXnGUaNG8W8sFgu/y4GBgUzJZbFYcP/996OwsBD33XefdEyi//rb3/4m9fPp06chhODioeTkZBQXFyM1NRVCeCILRNPkrcrky65cuQJVVZkqqqCggOec4OBg6d3zBunz5s3zeVxvxoU9e/aYfk/TNNx1112mGwBVVVGnTh3+O0kYmll+fr5BKrdDhw6mXk0q4NKnxuijHr1790ZhYSF2795daU+jvoWEhGD//v3SuWljf/r0aQAej6KiKLwBBTzUS6qqomHDhtL1Xr16lTdNZi0iIgJdu3bFmjVrUFRUZOChBIC//OUvvGH9I9qIESNgDY5C83mvImH2TiRVACQJeDaetb4qZ/IPtCpAeQP2zbUi3L7mMO98KtoZJczeiV7L3oc9NPp3K8ohkGOxWKRr1TSNFwsz8Ga329GyZUs89thjuHLlCs6cOQMhylRtSkpKoKoqGjRoIHkyli9fLp1D7/0gTwtV4vrKaXQ6nQZpwry8PNZLDgoK4rC6oigSj+Wrr75a4XO6cuWKdL7IyEhMmTKFK6MVRUGbNm2kEA8ALF26lH9DBN8Upk1JSWGVkiNHjqBHjx6GnEu32y2BXW9Aqafp0JueSmTy5MkYOnSoBAypD/U5jHl5eRK5+rZt2/hvW7Zs8ekxsFgsSExMxNChQ1nqkoyAsxCCSbcBzwKkqioSExP5swULFvBiSLQ2gCe8qX9ey5Ytw7JlyzB//nyMHTuWc2uF8IQoMzMzkZKSgpiYGJ9qOzfTaFMQHR2NpKQkpKeno3HjxgyWGjRogIkTJ2Lu3Ll44okn8OKLL2L79u04dOgQp2+YgW/Kt9U3Ai9bt27F+vXrJdopb1BC10ZhdMrr9d4I2Gw2tG7dmsH7jh07cO3aNT5Xw4YNGZC/++67pucJCgoqVz8dAMLCwhAUFMTglTzKRPPUvHlzzoWtrFFe79atWzm3VU/c3bp1a373Vq1aJXnEIiMj8c9/ypQwW7duhRCe9BjaYLhcLkPO31dffcXvuNvtZm8dPc/k5GRDNKdGjRpMtq5/3iUlJRL4pXkuICAAb7zxhnTe/Px8j8JLaiqDRvI4+trIkKexcePGGDp0KIsN0OZo8uTJhurp7Oxs7N27l+mUvJkD0tLSYLVa+T6eeOIJCCHw0ksv4fz585g/fz4aN25cLs1PtWrVDOOeAOUTTzyBwYMHG0L1fwSwpPEzffp02MLiMWLFTsTc+Tyq3+vtsdyBuPEvoPbt98M/xsMuoacQq7Lf16oAZSXt1SP5qDVv9w3TGCTN2YmkWdtQp+edTCx8K1+02NhYZGVlwWaz4dq1a1i2bBlyc3NNqRzq16+PlStXwuFwGHRxgbKCgL/85S8MrmgypoVs2LBhuOuuu5Cbm2u6iNHLHxAQwAvmlClT8PLLL+PNN980hLv0kyIt1mvWrAEAfPbZZ4b70Bdd+DKqbrVarYYFJC0tDd9++63p76gq3GKxsOydEB5OTl+evV27dqFVq1aSR6R+/fpYt24dXC4XA0oiEjbLl/z+++8xbtw4CUyFhYVJeaykCFRaWorbb79d+u7DDz9sOObZs2clpaMDBw5g3rx5aNSokWEMhoeHo1mzZgyQ69SpgwkTJmDIkCHo3r072rRpw4t+REQEoqOjERoaWmkFnPIaeUP1xwkODkZWVhbatWuH3r17cypFTEyMNH4URWHArwfQ9CwmTJhg6BczKh1vo82Qt5FWMl3LkSNH8Pzzz/P5zCh9SJHpzjvvZLBJEpxmGy4Kz3qDEH36AOXmbd68GVlZWXzv3seqTBGVXg+a+jIoKIjHOz3rG7HCwkJYrVbDu263232SqW/cuFF6V9u2bcvfjYqK4o1YaGgob0apsEbTNIwePZrvf/DgwRKA8Pf3l2QfT5w4wSpf+nFDm61evXpJeYMUpRk/fjw/l5iYGHTp0gUZGRmm/JPUCDTefvvtWLp0KT755BMDuKFUEEVROD1q5syZ+PXXXw0V4vrn/P7770vHoVSdNWvWIC8vj+dO/XNQVRUJCQkYMmQIduzYgSeffNJwXIfDgVmzZqG0tBTfffedISWqWrVqGDdunPQsaX77PRulHQghOP1m8ZInYYtIQmBSXTijayAytjo7UPRFbNnZ2ZX2slfZzVsVoKyErfzgzC1JCm45/uFb/pKRtrD355GRkRLIqVWrFt8PhWO8864uX77MtCFm1CdmzW63o23btlwFK4R5An9xcbGpbBsRqNMipCfzJvJzh8PBE3lgYKBPPWuy+vXrS54wVVWRnp7OgMnPz48nTLJ169ZBCGEIrT366KOVGiOapvHk712VTdXKes7FoqIiPPjgg9KC4efnx5P/I488IuUu0WaB7iE8PJyB1h133IGBAweiS5cuaNmyJRo2bIi0tDTEx8dLC6bNZmOlnRudyPU8guHh4YiPj0fNmjVRr149pKamSmOtbt26SExMhKIoePXVV/H+++/j3XffhaIoPA6LioqkPDWn04kpU6agpKSEScQbNGggbVoURUF8fDxuu+02bN26FaWlpew9EUIwV6r+N40aNTIs4HqybzNzuVzS+1JQUCBRp3hvak6cOCGpi+iNAGV52tlUXDJmzBj2bJZHfeTdUlNT8dxzz0HTNFy4cIGBmcvlwksvvVTuuKWCCtowUCFOo0aNmIOWohaVtZUrV0o5gYMHD0Z4eLhBy9vM9POIEII5TInKp379+rDZbMwFO2DAAPbuJiQkGPS8qQjurrvukj7X8+ueO3cOc+fORaNGjcrNRzdrFosF0dHRaNCggUS6HxQUxFXeFRlFY+bOncuMFqRjfunSJdhsNuZs9T5/aGgo7rjjDrz99tsYN26c6TXWrFkTo0ePZl5hvVHREfVzefN9dna2Ia1H0zQsWbLEpzLY79XoGr2Vq2geNZvD3G73DUmXVtmNWxWgrMBePZJ/S2kLWo6Y9bu9ZHoScX0OjxACn3zySdk9vfoqhPBUfVcUnrZarUhKSkK7du14Eg8LC+OCFQrfkkeT8gH1eV9r165lIJSRkYHz58/zJGqz2XDq1Cn+9/bt2/kaydN5+fJlXLt2jSd2m81mCvQ0TcN9993H106TO4XvNE3D4sWLefKz2+0YO3YsTp8+zbybev1j7zSCioyULSwWC3t+9C0oKAiZmZlSyIjCd+Hh4QgPD/9NUmb6fD8/Pz8EBwdLZM6KoiAzMxNdunTBwIEDMXbsWMycORMPPPAAL6QOh8OQJ0hk65Qr5k1uPXv2bJ606TyUo0tGgOyjjz7CxIkTpcXR6XTirrvu4hxcff8nJydz4ZN3QQQA5g9MTEzEf/7zH37OixYt4uuh50EAcsuWLRBCJqQmKykpgRBl/H/Lli2TQIYvYm+qyhfC4wWncGxFgJI8UqSLrDd9/nFlnr2/vz+nQQQGBvL4z8zM5CIyM6P76969O4AygEP0WGbUVmbX+sADDxjGb0BAADRNQ2RkZKUAJeDx+nsXqdSrVw9Hjhzh9/Ps2bP8HYvFYiosAJTl/+p5TAHPu0pk7N27d0dGRoYpYDNriYmJuP3223keIfUu2owmJiaiQ4cOlQKUNBfraYyCgoKkCBKNEb0gQ2xsLJKTk32CP3p2r732Wrnnp/suKiqSIhpmTZ+PXlpairlz5/Km1+Vyseytfg7+vdvNFAMNHjwYP/74I9/Lf/7zHzz33HMYP358pTlNq8zcqgBlOfbNtSLUmrcbte9/B8v3foUPv7qC60UeD9M9r31uAIs9n/4YL//1Ar749kf85xfPwPT+Tvw9byIgOvGWvlTh4eGSqgppW1PIw+l0+gSNBNpSUlLQrl07VnIRQgaFZAQehBBSQQYtQkVFRVwwMWzYMC6mMeMx9J4UiOLnzTff5PQA/UJIE6reI3HixAmUlJRgypQpksera9eu0DQNAQEBpqHI1atXS0TsQpR5aShkoqoqevfujXbt2qFp06ac7xcbG4tq1aohMDCQ+f1utgqY9IRJSzchIcHnsRITE/HQQw9hzZo17I2YN28efvrpJ/z6668+xzFtBIiH0BuYkRqLEB6qJqB8snUhBJo3b46HH36Yq1hjYmJw6dIlnDp1SgrVb926FadOneL+JU+e0+lEeHi4dK82mw2pqakYN26clPtHIK93797Sdc+fP5/vy6zAp7i4WMpNpIrU77//Hna7nQtH9LZ3714I4dH7pvsgwNW3b1+ffQwAo0aN4nO53W4cPXq0QkBZrVo12O12w/WfOHHCkPus76u4uDhpvLtcLoSEhJRbLRwQEIA2bdpIXKx6KqoDBw7w+Sn9QwjBBOBm5v3u6UEtgeFHHnnkhgAl4AHodP96oEfvrL4vAgICTJ9/YWEh7HY7AgMD0bt3bw5Pm+U00rxot9vRv39/PPnkk8wWcPbsWSxbtozzQfXNuxpcCE9IWM9D6cv+8Y9/wGazGfJBCeSRaZom5SXrm8PhQM2aNZGSkmIIbVssFp+Fb3RcPz8/2O12AzAjmcY33nhD4lLt0KEDhg0bxucKCgrCwoULoWka4uLiEBQUJEUN/ozNYrEgPDwcW7ZswauvvipFiX76qUqS8bdYFaAsx25fcxjJc3eh+aMeapKLPxTh0DlPwrgZoFz2/lcoKdVw4uJ1nPve47kzeCnvfRsRAx+6pS+I3W6HoihISkryuWPTg8YpU6bw5KgHbPoFUQjzHKw77riD/75582b+vHbt2nA6nQA8i4x+Ie/du7fpxEaLDi0O3bt3x65du9hrp895+de//sVAedOmTRLvJTWbzcYLau3atZGUlMQTPoWTb4bcmcLnxO8XFhaGmJgYpKSkICMjA9nZ2Wjbti169eqFYcOGScTl+la9enVkZWVJeaFRUVG4++67ce3aNak4Z/DgwdJ1fvDBB1Lflcel521ffPEFPwcCh0Qq/cgjj0AIwddMuZreVlJSgo0bN3JRi/cE3bhxYyxYsIAZAvSg0ld/O51OZGZmshfV17kBTxg6NTWV/03XLYTw6Z0CPKCCjk/9rieD9k6f0JNbK4pHbpM8rhV5L4qLi7ka3GKxQFVVPPDAAxDCHFCSBvb06dMBeELrs2bNkhZwu92O22+/HWfPnsX58+f5/SaP1p49e9C6dWsJSCqKRwp03bp1mDx5Mho1alSuJ4eeT2hoqAQ2aSx6h/HpWocPH87nDQsL4wIsITy50bSh8/PzQ0RExA0BytLSUjidTr7u8PBwJrGnNnv2bD5ffHx8haCRCmGaNGmCYcOG4cknn5Tmgz59+kjPuEGDBgb50/379zMnbvPmzU03W3S9FQFKekfeffdd6XPanPfo0QMxMTGG9yctLY03AhaLRXpviEmCGhVWrlu3ju/twIED6NChgwRA09PTsWrVKhQUFHDIuEePHgDKinL04NlqtRqq8vVUVjfDqPC/1fT9610QVmU3ZlWA0oed+e4nBoE179uNrEXvI2H2TnRf6ZHZMwOUjRa9h1rzdiNh9k6sO/R3AL5F6q1hcbf8xaCXOCAgQCIfN9MRPnLkCITwKEAUFhYyrxnl0pBiiN6o8jk5ORkulwt2u51DSYGBgahevTr27t3LizUBxa5du+LRRx/Fvffei3HjxmHQoEG8+/dFw3Kz+X7UXC4XAgMD+VoCAgJQr1495OTkoGPHjujXrx/zLVIzo9xp3bp1pcfM6dOnMXDgQMM9uVwuQ2X38ePH0bt3byn/lZ4fhc70966vuqYKfG86kPIsJCQEISEhktoHAa2wsDDeTFTEWalpmlTdnpGRgerVqxs8jWZeVovFgkaNGmHOnDlShX1hYSHcbjesVqvP0Ky+UIZABIG2ipSACgoKOJw3ZcoUDnUK4fGskgzetm3bGMAkJyfj888/R2BgIFRVNTAC+DIikr7nnnuk8XTPPfcY+tHf3x9+fn547LHHDCwQiqJg0aJFhuOvXr2a7937eE8//bRhPmjRogVL8s2fP5/vj8ZoQEAAkpKSKnzPqlWrhkmTJmHFihXo0KEDP9+YmBi8/PLLADzjX1VVBAUF8TMhPkw/P78bApQk/blixQrMmDGj0u+9HjTS+H7//fdNN156fuCFCxca/k6qQN62Z88eqKoKp9OJMWPGQAgPgDTbSBLZ+gMPPCCNbSpAHDduHIqKivDCCy+gS5cuBoAaFBSEFi1a8HypKAr379GjR9mLq48mEdfrpEmTUL9+fSkVRf9eUrrIlClTpPsjPlohBBYsWCBxv0ZFRUl55vXq1WMeTBpD2dnZKCgoMKh4/Te0f/zjH5Ueo1VmtCpA6cMWbM8zreguD1DqW3mAsvqs7QjvfNctfRFoosjMzGSpLwpnm1V0A2BuSQI1LVq04DAV0W9kZmaic+fOyM7O5gkjJiaGF0t98ctvafrdr6IoSEtLQ4sWLdC5c2cMGDAAY8eO5dAttZiYGKxatQqLFy+WdttPP/20dJ/BwcEGcKynYHG73Th27BgA4NixY4iPj5fOs2nTJp/j5PLly5gwYYKBPFrv7fXmwvS23bt3GyiInE4nHn30UZ6UFUXB7t27AZRVc96IFOLw4cMhhMCJEycAlGlGCyHwwgsvICsrC1artcLj6Bd38jyvW7cO3bt3N2UW8B6f4eHhOHLkiOG4+/fvhxAeT5OZJ5Cqcgk0EU9o/fr1K3X/165d45y3F154AcePHzcUT9H/U7iR8j5XrFhRqXMAHmDndrvhdrtRWFjIHI/BwcHsDdU0jb3t1CwWC6dchIWFGZRX9Ebvnrdndvr06RBCYPfu3ViyZIkEUl0uF7p164Y9e/awB1RRFDz55JMAyjyza9euxYYNGzB58mTYbDYDCPEeo8nJycjNzcXEiRMRGBgIRVEkPkYAfL7w8HCf90Q8jfPnz2eOxPLOraoqIiIipL8risKbA03TYLfbkZSUZHo+osiidAbyEutNVVU0b97c9Pd6T2B0dDRHYIqLi/mZC+EBlPprdLlckkqQN4l4aGgop6AQS4F+TJFXm7zGBQUFfL46depwJbwQHjGBcePGmeZGOp1O3ljpeWLJJk6caPiNnif3zJkzUnqU/h0i7fjr16/7lOv9s7byco2rrGKrApQ+rNXjH5iCwVsBKBNm70TCpJdu+cvg7++Ptm3b8gRDXh8hPB4Jl8vl03tU2eZwOBASEoKoqCjeHevBYFhYGIYPH47Zs2fjsccew9NPP80L4KxZs/Djjz8yYKDf1K9fH1arFVarFbNmzYKqqlBVlQHT8ePH0bhxY/6+n5+fgV+PCmKE8CzOs2fP5r/dfvvtEEJwBSjlVgnhyUXz5rMbNGgQhBBSiK1mzZoM6AoLCzF//nxJmi4gIAADBw7EqVOnAHgmU/pbenq6z3GmaRqDdyE83r3ExER+Rvr/qqqKvXv3GvjmKmOUy0ek6lQdSVQcLpfLNNeUrKSkhPO4goODTXP1vPPaCLAFBAQYvu92uzFixAiJbH3KlCkQwrxAZd68efxbytsSwgMOK2tXrlxhz9yGDRsYpHq3uLg4KXR7o/b4449DCE9Ilvqd3p0GDRpIG7C6deviySef5E1Ms2bNKvS4EhhSVVWqao6JiYGfn5/03R9//BGzZs1iPktqLpeLN5IpKSnMbagPb1utVtSuXVvSrvfz80O/fv3Qrl07JCcnS8+ZGhUIkYY6bVKJ5H7+/Pno1asXMjIypLxaX+NJVVUMGDAAu3fvltS7SktLUVpaijlz5khz0NSpU7nYZcGCBVJ/FBUVcboPccv6+fkhNjZW+h4pi02aNMn0GehTLtxuNy5evMh/0zRNSjEICgpCp06dfIbH/f390a5dO/zlL3/hY6iqytERylsnNaHc3FwIIfDUU0/x90kK1KzCOTAwEIMHD8ZXX32Fa9euYcaMGVI/BgUFYfjw4Th//jyOHj3KpOneTV8h7Yu1QwiPatCRI0duOUXeH9F69OjhU9O8yiq2KkBpYoX/LjUo4NxyQHnvDlgc5jyOv6XpJ3e9nFtiYiLq1KmDJk2aoG3bthJHV0pKCpYuXYqnnnoKQpRxdtGkSWDOWz7s1KlT0mIwf/580/4sKChgL4Ve7ox+Z7VaYbFYcOjQIQAeLyGBVT0dRbNmzRAUFISoqCjTcwjh8ajSxB0VFYWDBw/iq6++ghAeYuTjx49zn/jyXmRmZrKXqkWLFlK/6u/X4XCgU6dO+Pjjjw3H6NWrlzTBm3lASktLpXy5Pn364N///jcAD4BbunSpROehb3pFjMoaVZFT2LRZs2a4cOECFzoEBgYaQOr333+P2bNn+1z0yfsrhGfh79y5My5evMiLnsVi4Qn65MmTGDNmjKGa1mKxICEhAUOHDuVxSdX+ZAQoKc2C5DVvtCrz4sWLTKCuL/rYsmWLQT3E5XJVCO58WUhICBwOB9544w3uG/24EcIjZ7h//34GQ2ZjxMxee+01HpNhYWEoLS3lKvNu3br5/B2FZ/XXQuem/rDZbNA0jcnEqWVnZ3Oo05vfc8OGDRDCUyQ3btw41KtXD8HBwRVW4CqKAj8/PyQlJaFPnz5YtmwZ3nvvPWkO69atm0TvpGmapA1PObu+KuL11d15eXm8udVzy1I4Wc+ruGrVKgghDCTmQFnKRXh4OJ5//nl+d+hc58+fl7zA+uuh94iiLmlpaZIXj6iM7HY7qlWrhuLiYvZkklGOuqqq+Oqrr1BaWoply5ZJjA7U3nvvPZ/joUaNGpJn3Ht+oU2bXkUN8NC56Vk7Lly4gIKCAknfnu59/fr12LNnz2/Wqf+jmqqqiI+P57Woym7MqgClieVd+tEnELxlgHL2Ttgikm7Zi0DhSuJTpGpdCpHQAu0dIgkJCUFwcDCAMg/R/v37uS9oIoiOjuYJuLS0FCNGjDBMliTVZ2beIUfS96WXWH/OrVu3St4/t9vNnj+zRHkATFWxfft2aJqGe+65hyfCbt26ISwsjGUVhfCETH2BkeDgYMTFxUHTNAZf3i0gIAArVqwwPca3337Lih6pqansHdIDz/fee48XXJfLZQgT6s1isSAyMlKqSnc4HBgyZAjOnj3r83feRpXhqqrC39+fF2riIhTCk1d5zz33oGnTpoYq44CAAPTq1QsbNmzAihUrJA/SwIEDWUkIAI+xMWPGmF7LSy+9xMDK6XQaQv5CeIq0tmzZgtdff50/a9++PcvMZWdnV/reyYqLiyXgYbFYeIOye/du/oz+HhYWhuXLl98QcL1w4YJUoEBjeMSIEfw+ORwOLFy4kFNG9DmyFdmPP/4IIQQruXTt2pW9lr4Wwrlz50IID+grKSnBiRMn0LdvX1Mvkp76Jz09nUFbaWkpe9N79+6N+fPnS31pFvlwOp2IiIjg987tdiMmJqZCnk2LxYI+ffpg3bp1fH4yEi4QwgPA9CpRem+q/jhPP/0052R7a3gfPHgQQshAmdTBvL1Vzz77LITwhKYphYEKr4ik3/teevToIaUf6CmCyL744gtMnz4dmZmZhvQfITybv927d/M4pBx4fVERRXn05y5PzjIwMBDVqlWTUnz0zzAlJcUQsqd52eVy4cUXX5SO551fTWPpgQceYPaE/4ZGudkVpSpVmdGqAKWJfZb/wx8CKO3Rt06OUVVVPPjgg/Dz84PVasXOnTvx+eef46OPPoIQHjJmveePwoojRoyAEALHjx9HdHQ03G4398PPP//MEyQRkL/11lu8KCYnJ+PLL7/kJPCKCJD1IUe955F0eV944QU+FlG8UHFRQEAAjh8/zrmAevACeLSjvXXEL168yAnl+sXLYrEYFim9URWw9+IwYcIEFBYWYtKkSTzpBwQEYMGCBRLgoNw7p9OJtLQ0XLhwgSUyL1++LBUD6SuXfVlUVBTCwsIAwEB1JIQHBE6aNKnCgpr8/Hz+DYHbr776Sgp/649LY8Vms2Hv3r3QNA0PP/wwe3lo8erUqZPhXPS38jx8+rCZqqoYNWoUFi1aZFpJTt+JiIjA/fffDyEqJ8OpN1IvEkKwF4iOfeHCBSk/9L777jPQ4cyfP98nsPzhhx9wzz33cKEDjTkad1Tl3bdvX+mewsLCbkrBw263o27dupxvFxAQgICAANPvPvSQh1UiNjbWlG2B0ijM+nzq1Kno1asX6tSpg9DQUJ/pMqGhoVw9vWzZMhw9ehS//PILnyMyMpIB3TfffMOf5+fnY82aNdIG0qzpw+iUelG3bl1+hlT0pE9n6d+/v1RAoqoq3nrrLdM+8qYXo2PrjYQW/P39MWrUKIN3kc4xbNgwCdgOHDgQn3zyiTQPJScn8ybZzLxzbPXNbrdLzyEwMBCrV6/mMH23bt1Qp04dfkfNQrj6Ai6r1YrBgwczQH7vvfeQm5vrk4IqOzvbMI5++OEHidnhp59+wvz5801lf//sjTaUM2bM8Pl8qszcqgClif03eihvpFmtVqa/oTAJeSqqVauG3r17Y/jw4bw4Op1OqKrKE4bNZpMKAqhaVYjyd8SAB+TpJ2HSE9eTjY8ePRr/+te/+DerV6/mHELKh9QXyly9ehVCeLxX3lZQUCAt8kKYE2SfPHkS/fv3l3KQEhMT8cADD+Dy5cuwWCyIiYnh72uaJk2YTqcTkydPxueffw4hBEscksTfCy+8YHgOlc3Py8nJgaqqnJdZr149qKoKm82Gjh07SpN2YmIiHnzwQVMVGPK6KIpiIBEXwuO9ateuneTlSEhIwD/+8Q9JgcbtdrM+bp06daAoigTQKYewskohR44c4TBmWFgY9u3bJ4XPFEUxDZm1bdsWK1eurFA5KT8/35QPNS8vjxfNrl27Mn+qfmOkaRoWLFjAXjun04lJkyahuLgYxcXFWLx4sZSW4Ofnh169euHYsWPYsWMHfz5z5kxcuXKFyefpc5fLVaHetpnFxMQgJCQERUVF/Fy6dOli+B49i8jISAPTwPXr1zFy5EhTLkXvZrPZEBMTg+zsbAwZMkSqYKdQaHkWGRnJRVstW7bkz1etWsXjkOYg8tbn5+djw4YNmDJlCtq1a4eUlBTTnE1qDocDrVu35rESFRXF7BX6OSc7OxtffPGFdH39+vWDEIKLoYKDgxEbGwtN07Bv3z5JKUl/vvT0dEyaNAlHjhzhYrnIyEi0bdsWiqIgOTkZqqoiICAAFosFp0+fxvDhw3mzMXz4cNMKdAq5C+EpCuvSpUu5HKP169dn4QHqP9qc+/n54dixY9A0DQsXLpTepQYNGvjkqtQ0TZKg1Td9VfyhQ4d4DFJ+6vHjxwF4inf088lvyd//o1qLFi2qQt43aVWA0sT+9QfkUFa/dwdUuzHMd7PNYrHA6XTC6XRi/fr1WL58ORYsWIDJkydLiiGZmZkSQXdF6gg308LCwpCUlIT09HRkZWWhTZs26N69O4YMGcIeRu/mdDoxdepUVjvxtuPHj0uhOL0m9t133w0hZKJ1ADh69CgvUnpSYkVRMH78eOTn52Ps2LFSHxA485boovwzb65ETdOwfPlyPgYtdseOHWNAmZeXZ5B0vBE6Iqq4pLDmrl27sHv3bqYuOXfuHPbv34/27dtLes916tTB3XffjTvuuMMAqi0WC9LS0jB+/HjUqlWL0wjOnDkjeY9JR1kIT5rAY489Jnnpjh8/DiEEcnJyuD/cbjdvAG7E7r//fgZb+sIA6nN9eNU7tBcUFMSbE/LUapqGadOm8fjv1auXYfH87LPPDGPRjNz4119/xYoVK0zfF5vNhtatW7OnXW9E8j1hwgTpnmbNmoXNmzdzyJIqYytrLVu25P6l4iJvrkyi7AkMDMSMGTPY0xgSEmIKyvQqSb7C1507d8bBgwelHEsqFinPiNic8rF37tzJYWC3283At3HjxpW6/9DQUAQEBGDKlCnIzc01LUbRj5WEhAQ0btxYyjPMyMhgTz1tBIcPH84V3N6eQCE8KQAzZ8706V2kvEMCyST9KIQnZ5bsyy+/5DkhICDAkPLw1ltvGe4jKioKU6dOxdWrV1mKlUCk9/zbvn173HWXzCRCgNTtdnOFtrceOFlBQQHatWtnOD+NZ+qftLQ03iRt2rSJU5keffRR5Ofnw8/PD4qiYNu2bdiwYYOhOOzP1h599NFyRSKqrHyrApQ+7Peu8q4+8cVb+iLQAqH3HF6/fp0n7fK0iydMmMATDeDx1lGenXdy+YwZMzB9+nTccccd6N+/PyulRERE8GRDdEU3W1WulxB0u90sIRgfHy8Bpo4dO2LQoEEc5l+8eDFWr16NN954A1OnTmXakQcffBCKovAk7734BAUFYciQIThz5gyH2H/++Wepj0pKSrjC3ZdRKFaIsqps8qgoiiKF9WgHXxkjqcCQkBAmjwc8vIlU2JCfnw9N07Br1y60bNnSJ13HyJEjIYTszQ0LC0NUVJQEcMizQ/dSHmigsOuJEyeYfiYlJeWGASXgSYugcB09Z8r3pFw1ITy5siUlJdi0aRN69+7Netj0d1IwEsIDtPTSo95G0o5CCFPeQcDDwdqiRQsDkFUUBd26dTNI+5FR/qfei/z222/z38+cOcNFET179qx0ribxNH711VeSQk5cXBzq1KnjE2B5a7t37doVR44c4fA0cZwK4QF3+g2pWZ4reSorolYiQEkFctQGDRqEkpISzgetLN9n48aNDVycixcvNr3nqKiocj2bqqqaesCpQIbGU2VTEyhfVQjBQFkIYfr7pUuX8rvaqFEj3HXXXRLoohB6eTRS+vzEyMhIn9XkQnjy5ktLSznVxCwlZfny5XxNTZo04bxRIQS+/vprpvjSN39/fwwdOhRffvklhPCkwVCerF4AAwBHAv6MzWxTWGWVtypA6cO8eSjnbz+JJ949jZf/hopDcgABAABJREFU6gnt7T75Dzzx7mk88e5pZCzYg4TZO5Hz6D7+7LP8HwCA/z1ty/EyQDlrO0Lbj/vdXgrShqaFgLwqvkKDlGcZHR2N0tJSyQujqiomTZqEQ4cOQQhjmJZ25FRUQ14Rb3WNs2fPSosxecEIbJG29MCBA9GlSxe0bNkSDRs2RFpaGhISEhAZGYng4ODfhYrC5XIhIyMDzZs3Z+/a6NGjMX36dCxcuBCrVq3C5s2bMXDgQAjhCeubhalq1qwJRVGwYcMGDjfRYkS7/bS0NKiqitDQ0Eqp3AAyBZE+X7G0tJS5B70XSz8/PzRs2BAdO3aUQmUOhwNOp1MqbFJVla9XD/4TExOZB5MoX8zs/PnzDELtdjtCQ0ORm5t7U4CSqvBVVZVAUd26dfGXv/wFQvjWWC8tLcWrr75qWu3qcrlQv359U+8ShTvp/omK58iRI+jWrZsEpGrVqoUlS5agpKQEu3fvZsChKApat25tAESnT5+WrsPMI1RcXIwmTZpACE+KgVlxW0FBAXbt2oV58+ahV69eBq5UfSPQaLFYcNttt+Hhhx9Ghw4d+POIiAg8++yzPp8BLfhU2HfhwgXeYDidTsM7SGPviSee8HlMen/1ofKXXnoJANiLZ5ay4ssoYuAN5PXAvU+fPrDb7XA6nZxzffr0aYwePRoJCQkV8ufSe6MoCoYMGYKXXnqp0qDSu6hQCHNmhpKSEjz00EPSGKPnpKqqzw2Ot1HaRb9+/XD16lX07t3b50aeNtfeQgJ62dSAgACucNdLKWZnZ+Pq1atSxKNnz54+I13eEZ3HHnsMQngkHM2EJP63m36zV2U3blWA0ofplXISZu/ExR/MvXsA0PzRfUiYvRMDV/vOu/jr1/+UjncrlXJoYuzWrRu6detmuqBSczqdiI2NRbNmzTBy5EisXLmSaTOcTqek9lCnTh0pN454GU+fPs2fkeavHhwRZczy5ctx8eJFyQMkRBn9kBAeCUCbzQar1VrpvJWsrCz2ANIxX3/9dbzzzjs80UVHRxvyjvRFEklJSVwo4L0w3khTVRVWq5XPo5d/9G4WiwUDBw5kcJmZmYndu3fj6NGjyM/PL1d3l+51zpw56N69OyIjIw3Xa7FYMGfOHHz77bf8u8mTJ0MIgaFDh2L+/PlSyMrlcklaztTS09Olqvt3332Xvbt6fk+96Tkd169ff1OA8tSpU3A4HFz1X1paKqVIEKihAiVv8/asXL58Gfv27cPIkSORkpIiAQi73Y709HQev9SX5NXWA5PY2FjmUDWzQ4cOsYdNCI+n6dixY7h06ZLkLdIXvJkZpTRYrVbk5ORwIYwZ8KH7pLF23333Yd++ffxdPz8/HDlyBJ07d+axU716dbz22msVPgfKUx4+fLj0+Zo1a/j4QUFB2LdvHwYMGCABzLCwMNx///1SDvS1a9ek92Pu3LlQFAU1atQA4JEgVBTFp5fXzF5++WUIUUburyeRdzgcDLiTkpK4772J90NDQ9G+fXssWbIEQ4YMqXQkRVEUuN1uJCUloU2bNpg4caIBbHbo0IG/n5iYyIVEx48fh6ZpWLduHRo0aMDntFqtyMjIMORDmzFamBnRCOmvMzk5GY8++iiEEBg7diy2bdtmSL2heV/fN8OGDZPmcwKUFO2iuaBPnz5QVRV2ux1ffvklTp48iR49ekjH1ud0U+SLNtOnTp360+VUmtFEVVnlrQpQlmOk5V1eaPtGW/VZ2xE5cOFNSwqW1zRN45BtcHAwvvzyS1y7do250hISElC7dm2EhIRUyBGXk5ODlStX8gQIlHlbGjVqxH1Us2ZNA5lySUmJlO9IzWKxICgoSCI2Hzx4MD755BOmvCDFmvKM9MT379/P/diuXTve5UdHR0shX5fLhRdeeEFKMtfzHL799tvSbjk7OxtFRUW4cOECjhw5gl27dmH9+vVYtmwZLxTp6eno3bs32rVrh+zsbMOiX1H/VrRgWa1W2O122O12U0BhtVoRFhaGhg0b4o477mBg6Ofnh40bN+Kvf/0rXnnlFX7u+lDqmTNnIIQxTy48PNwnb92lS5c4FNeyZUuDd/Xrr7/m+wZww4Dy3LlzXPzlHXaihYiuk2iuyE6fPm3qWTGzw4cPY8KECUhLSyu3yEEIgdtuu02qSK7ITp06ZaAL8m779u3Djh07MG/ePPTs2bNc0EiFYNnZ2Rg+fDiWL1+OTz/9lJ8lgW9SoNGrt+gLbdLS0gz5xeXZsGHD+Hd6oygFAQpVVTF16lRomoY33njDsDkjwE73ZrPZOEpC8xSFh4lwv7L2/fffQwiP5KB3fnX//v3RrFkzwzvo5+eHbt26Ye3atabpPyUlJYaw/qhRo1BaWor8/Hxs3LgRU6ZMQfv27X0WCBHY9I4O0fj08/PjcUdKT2vXruVnSgTz+lYR0KaUGP01kAgDYKxgp2p1IQRHVfS/dzgcqFOnDiZPnoxjx44xoNRXnm/ZsgUApFzu48ePSxuotm3bSvMwVfnr5/ilS5fy39evXy+JPPxvtPJU0aqsYqsClOXYN9eKWJv7loDJe3cgYcZW2EKif5eXQS+N6C0hZSYj9sMPP+DJJ5/0eRx9I88m5Rrdc889OH78ONxuN1JSUviYhw8flrw11IhG4/nnn+fvCuEBlIAn7E55k3r1DzMjrk0Kn5jlC8bHx0v5d2REgN6qVSvpmJqmMRm5EAJDhgzxGZIODQ2F3W5nj+L8+fP5d1SlDEAiUC8pKcG5c+fQunVrQ//efffduPvuuzFo0CBkZGSUSwpN3tybzUt1OBymXHn6a/Lz80ODBg0wbdo0PProo3j++eexdetWHDhwgInew8PDJe91nz59+PdvvvnmDQHKCxcucPK+N6E52cmTJ6Xrbdq0KS5fvoyRI0dWWDFrZj///HO5nnzqk969e2PHjh03xENJOs2VaU6n0wAa33rrLQYiXbt29XluopC68847sWfPHskDT8+oPH5TX0bFQ4qiSJKCVKl8/vx5HD58WCIY/+CDD6Tn6E0D5L2Z/Omnn3gcW61WQwV6ZcxqtRpyZ/XPLjY2lqv7qZmJEOhNP44p5cLhcGDChAk+IwjffPONBDbNqL30TVVVJCUl4c4778TatWslzyYVuRw6dIj712azGULHgCdVQJ/rXK9ePc7ZzMzM5O95V7ATaNV75ZcsWYJDhw5h/PjxBjokb8o1IeQCyG3btkn3R7Ron3zyCTRNw5YtW6QNu8ViQbNmzfDmm28y8b8QnrQWAPjuu+9Mydb/iGbWz1VWeasClBXYq0fyb6mH0r9uh1v+EvgCH/7+/mjSpAkWLFiA4OBgg8LMvn37pCIXmrx+/fVXXL9+Hdu3b+cQK3k2zYCMqqpMHE6fNWjQgMM3NWrUgNVqNZxfiDJACQDvv/8+VFWFw+GQwuredvnyZQghTL2gVqsVe/bsQWxsLBRFMV1AUlJSYLfbDQs1AVTyxPn7+/NOXG/r16+HEJ6QoB6ETpo0iY+5YMECvh7vhejq1avo37+/1JfeE3h0dDR69eqFjRs3MleoEMJAZK5pGq5evYq8vDzs37+f6Xbo2K1bt8Ztt92GLl26oGbNmj7zxux2+015zc203FVVZU9P8+bNWY999OjRmDFjBhYtWoRnnnkGW7ZswZYtWxiEeCfv603PoendkpOTWcO5PNM0Dc8995wEMhRFQdu2bREWFsbepXnz5nGoVP+92NhY9O3bF5s3b8bVq1cNnsbytMz179j48eMlT6OZ6aUu4+PjTTlGCXR6U7u0bNmSUz8+/PDDCvvF7LgEABYvXgygTDHqmWeekb47f/58nn/at2+PTz75RBrXzZs3l4owHA4HOnTogAMHDqBVq1YQwri5K89OnjyJ6dOnS6k5+latWjXs2rVL6tuDBw/y3GSz2XwWJ3755ZdSSB/w8DWS182br9HMLl686NPbrB8HZp5NusawsDBMnDiRaYjot5mZmcjPz8f27ds5dE0bxWrVqvE1UK43paecOHECQpRxD1NKEs1xQpTJUHr39bhx40zXF4vFgqFDh2LXrl0oKipiAGiz2bgQjaiFXnzRU4DapEkTrFixArVr15buX///586dYx32hIQE3HHHHdyfdB1mle23qukdHlV241YFKCthKz8489s9k7N3IrDZgN8UCq2obdq0CaWlpdi+fTsGDRqE6tWrGwBg/fr1MW3aNK7M1b+oVLH95ptvltsfJFFHE1NlgUhubi5WrFjBYXQhZEAJeKppSVvaOwH++vXrBh1aITy5UKdOncKGDRuk/vVFTEuFRN4ARl/5uGLFCqn60jvs5A0e9CoblLckhExcfvr0adx7771o0KCBacWszWbDsGHDDJWXYWFh/P2KqmmBsgXD6XSiqKgIy5YtMyTNJyYm8mLkrWOsaRo2bNiA+vXr8/hRFAVxcXHo2bMn7rzzTrRt25b/Rp7YqKgovk4aExTmupFxTBybLpeL1Tz0Ou3e33e73Rg7dixWrFiBjRs3Ys+ePTh27BguXryIkpISbNu2DTk5Obww0fUEBwezR9Nut3Mf0SaEyJ+tViuCg4PL9QrrKWaioqKwdOlSSe9ZT8KtKAoeeeSRSnk9qejK6XSy55vM+3patmzJ8oH5+fmwWq1wu9037P1TVRVNmzaFzWbjIiQhPIUUZnblyhUuKqJGuaiUixsREQG32y3l8FILDAz0eS36FAVfzAXvvPMORwl8zV3Xrl1jxgq3223Y5J09e1baEHvnLr766qucl6mqKrp27SpJNV67dk2iqKI2atQo9uRTrroQnpDxxYsXsXHjRkydOhXt27cvd23w/huxXJB38K677uJr0TSNPbeUlx4SEoLAwECpgpzC4sTy4efnJ+Wx62VBhRBYunQp7rvvPp/eQyrsI5DavXt3XLhwgcehHsgXFhZK/aF/j0jdjXTYS0pKMGPGDMnpcSPzyY20p59+2udYrLKKrQpQVtJePZKPWvN233BOZeK9b6P6jK0IqN/pdwWTiqLggw8+MFw3EfNSDo9+wtMv9ImJiSgsLISiKIbQuLddv35dOg7tVn/88Udcu3aNJ96EhARJPcGsuVwuNG3aFCNHjmSw+frrr7O36Pz583jsscek3Bp9yLZWrVrStdFkJISn4tFs0fYl3ZeamgqXy8X/Liws5GITKnjRV7xSH7rdbj4PnT88PJyT3b1JxK1WK5KTkzFixAi8//77XExAC6afnx9mzZqF0tJS/O1vf+N7EcKop+5tx44dY0Cuf8aUjymER7lD0zSkp6dDCA+Rry/75Zdf8MwzzyAjI0M6Vrt27fDmm29K5MklJSUoLS2F0+lkIOnd73//+9/xySefYNOmTQwSu3btikmTJmHYsGHo1asX2rZtiyZNmiAjIwPJycmIiYm5ZTnH+nEbERGBxMRE1g/XA06z89lsNoSHhyM+Pl4Cz/qWlJSEFStW4Pr16wgPD+djzpw5k4ng6bt+fn6YMWNGhWH6bdu2wWazQVEULFy4ECtXrjTQ3JjlSFKuXGW5HYEyGc6JEydyPigpR/lSPbp06ZLE8yqEx6tqsVhgsVhw8OBBpg0CPABUv6GlvhgzZgw2b95sWkRFJOK33XYb9zu9N/n5+UhKSoLD4SiXQ1DTNE5zcDqdXO2vD9XrowH6wjSyd999V5JRTEhIMFTcJycno2nTpqbE/kSQ7q3Cs3HjRgjhofUCwGCT3qWKUlzi4uLQpk0bTJgwAWvXrsWHH34Ii8WCgIAA/Pjjj9I1BgUFGfLeN23axO/s0qVL8fDDD3P0gXh+iZu3qKgINpsNYWFhvAkzA/sul4s33gcOHDA8i6CgIDidTly8eFHqd2qjR4+WNvIRERGVIuH/LW3+/Pk+x0+VVWxVgPIG7JtrRbh9zWGm/ikXTP7P3yMGPoS6Obm/2wsQEREhvcz+/v7o16+fIQ+RvHL0onfs2NHAVUfVyoqiYP/+/QYw5q0aQo12npqmsdQhTYx6Murq1atj27ZtmDt3LlfX2mw2U6DtPYGqqsoFKPrFXh8CvnLlCgMnCoklJycbQjmAhxrFYrFI9+jv74/ExETDdz/88EP2blDr06cPUx/df//9rB9O16q/JyIAHj9+vGkl+7Vr1+BwOLgCVq8aRHQgeXl5cDgcUm6Ut5WUlCA4OBiKokhjwu12s8dIr2NM+udt27b1eUy9FRUV4cEHH5TCwfrnVK1aNZw/f17KKTWzgoIC7s/KeFzffPNNPp7eM0xSgn/961+lDZMeiPj5+aFGjRrIzMxEbGzsLa0q9QU8vd8pITxpH+PHj8eMGTPYA0vV0eSZLs+TeP78eZ/ckuWR5NN7plc2Kc+eeeYZCCEMGupmvKmapvH9COHZGBQUFGDYsGHcN+QFDwkJYUCpaRr8/Pzg7++PFStWmPah1WpFZmamRPP09NNP87u1bt06bN68GUIIzgOvzDguLS1lQErvA/ElbtmyRZLG7Nixo+k9v/DCC5I6khBlRVC0we3YsaMpoPz11185HaF+/fr8ebVq1aS87NLSUsydO1fiAL377rtRUlKCKVOmGPIaAwICKjW2MzMz4XK5pLx3stOnT0uiBvQ+U1GOXuyB2COE8KRwAGCydbPCGiJbX7lyJQoKCng9Ii8kAMTFxUl5nfp1Y968ebBarRXmp95so00l5XGS/evfpci79CM+y/8BeZd+xL/+Xbkc7f+rVgUob9Def/992MLi0XDsYiTc9RIS/iecrQ9vp83YjJD2d6LTAOOu61Y22uVmZWXBarVi8uTJUqFBWFgYRo0axVyCQniq+sgjQi/t8uXLcc8996Bu3brSYmyxWJCYmIjBgwejR48e7GXz9/fH7Nmz+XuAZ6KlsBd50ajyNzMzk9VexowZw30pRFnI+/r161iwYAEX01S2DwYMGIAVK1bg2LFjPJHt2LEDQFkox0zejhahF154ga9fCHNd6r179xrCPF26dOEJ3Ol0StdMwM9qtSIpKalS44oqdClEvnr1aulZDhgwADExMYYKZ7KCggKJ+7JatWpYuXIle3EURTGQe1OFpRmIrsiuXLmCAQMGGJ6Hoih49tlnGVB7e9+Kior4OvUk/GZWUlIiLfCDBw+GpmkICAhgD13fvn0xceJEA+DXy915X6OqqoiNjWXPOOVkff3116znvXnzZpw8eRL79u3Dli1buMLV7XZjxIgR6NevH4Nb8jhXr14d4eHhpp7LG2m0IfDz80NgYGC5xyMalocffhjPPvssXnvtNXzwwQc4efIkrl69ipKSElSrVg2KolSKTJ9ycK9fv85g1GzMffzxx7y4R0REGHKVzdShQkNDsWnTJp9Ri9DQUNSoUYPnGUVRkJqaiqVLl3JVeFBQEOfLEj8r5WhWlpTau8BLCE+FMeApinE6nahevbokIrBjxw6J2F5VVTRq1AiPP/64FO5PTk7Ge++95xNQ0rim+WLIkCFYtmwZhBCYPn06iouLMWHCBO4DCu9+99130jGuXLnCnlJVVbF8+XIAHs/mK6+8gjvuuKNCHW23243ExES0bt0aEyZMwNKlS6U5p3r16rh69aoBUGqaxoWXNpvNNApEoXVFUdChQwdTsnWLxYJHH32U84Pp3aN72rZtGzp16iR5JW91lI+eg9VqxZAhQzzV6l9fxoLteWj1+AcGxbzE2TvR6vEPsGB7Hs58Z1TU+r9uVYDyBuyTTz7hF5w8b9HxiQhMSIcjJhW2iCQoNqdEr/B7NiooyMzMlHJ+zpw5g6FDh0oeDXoRs7KyAJRVM9auXVu6x+LiYs99RUejQYMGphJ3ffv2xZYtW/iYS5cu5QT73r1787EorEXeUgJ8lLsjhAfAde/eXVo0a9asicceewwlJSWsaavPezPLw9LfJ4GFESNGYPjw4VIoh4wUQchLcOTIEQgha5Hr5ccsFgv69++Prl27llvY8pe//IV/r9fyroxR2Gfy5MkAPOFrIYRhYdBT2Vy+fJkXfrqGjRs3orCwkEPzBL7q168vTf6DBg3iydtXOLM8q1WrFhc+DR06VOIjpOelzy0tLi7mheahhx4q99jr16/n8auqKoKCgnD9+nXs2LEDoaGhld50REZGYtiwYZg9ezaHbr3lPZs3b84V6deuXYMQ5t4u8rzGxMQwgO3UqZNhQaWCrEWLFjHVVmpqquSB0V9fkyZNkJOTI72v/v7+UiRAURSu8P8tc4bT6URgYCDCw8MRFxeHmjVrom7dumjWrBmTTauqyvRYBGxef/11HD9+HGfPnuU0EFVVMWvWLJ+5oEVFRejfv7/PKmy9VGZYWJjkoaO8V73XzeVyYc2aNdL5iPdVn6pSGdOrWgnhqZAuKipCQEAAEhISeMOclZXlk9iejN6zhg0b8vU6HA6fgBKApPpktVrhcrkwcOBAfr7h4eFYtWoVM1q8/PLLhmNQrjS9dykpKcjLy5NyOXv06MH5v/qcxeTkZNSoUcOnZ1Of/kH8w0uXLoWmaZxrT/et9zICnqJDPfCLi4tDcXExSkpK8Morr5hyYfr7+0vSpHQ/ZHqP6K1uJP4wafYCNJvzChJm76wwtY3+fvuaw/jmmm+O6v9rVgUoK2mHDh2SFkyaaM0m+N+DY9K7JScnGygxTpw4AcDzQhOYs1qtSEtLkyZFcu8LIfD9998b7lXv1aJFr3///mjevLmpRBk1fdI+aSTr8zEpJO1wOBjMUIuNjcXMmTMNFZQHDhzgPna5XCgsLJQA1ODBg7Fo0SL+e0U8m06nE02aNMGIESM4BFpcXMzHoLypxx9/nI/h/Yx97fy9qZpuFFBqmsZ0K/v372fQf/78eezbt0/ykjZs2BBZWVkGup/i4mKcOHGCn9PQoUPx66+/cn9nZ2fzgpyZmSltCm7Edu/eDSHkDQQA7Nmzx5DnVLNmTTz66KN8b3PnzvV53C+++II3DMQeUJn3YeDAgVixYgU+++wzaJqGTz75hIu3wsLCEBgYCEVR8PnnnxvOGRUVhdDQUP53UlKSKQsAUFa4ZbaQAuAcUqLIOXfuHITw5FACZTnNemoeOp7dbkdsbKxUdGCz2fDwww8D8BTa6Ocg/fcOHTqEHTt2YN26dVw8cdddd+H2229Hz5492SvodruRnJyM6OhohIaGwt/fn2Uqb2beslqtcDqdCAgI4MIP4hMt73d33nkndu3ahSNHjuDChQtcCTxq1Cjuy8OHDzPI1uuP2+125ObmYu/evewl7dq1a/kDVmf6lAshyijN6J2JioqS5rm4uDjMnj0bBQUFhmPNnDmT5yHA4zUdNGgQXysBQ28jT7t3v8THx0vFgsRooY/s0O/tdjuSkpJQWlrK3KHUoqKicPjwYQAe9SlFUaT5Q5968+CDD0IIz6a5R48e6NChA2rUqFGuZ9zlcrHEq81mk1g5aP2g+V8ITxSkpKSE8y/Dw8MNBaT68Ufjp169eqxudKNjszItOjoaqqrizsfWo8bcioGkGbCsNW83Xj0iz/3/V60KUFbCPv74Y7hcrj8Vq//XX38NwBO+0S8yesnF3NxcaRI0CzU1bNgQGzZs4MVPTylRrVo17Ny509AfP/zwA4ewvRchypWhsCZVOP7zn//EtGnTDHJbycnJBiBGtnjxYk4MHzJkCE8ALpcLMTExsNlsqFevHmt5X7x4Ufo9ebTmzp2LLl26lJvQTfdhlqcWEhKC3NxcLFu2DNeuXWOgp88VFMITftWDkBsFlIBcnet2uznvDAB27doFIWSAS+BFURQcPnwYa9asYRWh5557Tjo2gSHKuQsKCkJsbCwsFssNX2dcXBwsFosphYqmaRIQ1I+RiIgIPPfcc1IubXp6Oud++nou+oWGxtY777yDHTt2QAi5ml5v+meUnJxsmqdos9nQoEED/jd5r7wJ0qnimkB4WlqaIaRP78Xq1asBwAAo9X0UHBwMh8OBjz76yBBR8G4JCQm8wFssFtSoUUMCmI0bN66wuMcX9Y/eSPmE7uGdd95hKUwae61atUKfPn3QokULxMfHc0FLRc+uss07BzkoKAiJiYlIS0tDTEyM6Xs8YMAArFmzBtu2bcPBgwdx5swZFBQUGDYF//rXv3j8LFy4EP7+/rBYLOx1089jAQEBPkO6gIeOiOikvL9DkQ1yPAQGBmLRokX8vTNnzhjmY1/k7lar1VBYRfyNCxYsQGFhoaTMQ+fbtm0bf59yFumZaJqGX375hVXMIiIiTOfhc+fO8bjUb+wDAwMN66GeQoxC3BkZGRg5ciSE8GwsaR43o2NbuXIlH8ubI/b3ctJERkai26yVt4QScOUHldOh///ZqgDl/9h3332H9PR0jB49Gnv37sUvv/yCX375BZs3b67UjvuPbiNGjOAFJCsri0mr9S+KfkIBYNjlRUREmCZBZ2RkQFXVcgtASOFCvwB06tTJkDRN2tH0b7fbLVFXeNMGAZ7FlpRfwsLCmJBXDw4mT56MqKgoXngoB6oimzJlCl+XXi6wvEak7tnZ2Zw3GBERwZyZq1ev5u+Ghobi3XffBXBzgBIoI24XwlNtC3jyOPXVpQ0aNEDjxo353yEhIUwo7O/v71NxqHPnzhBCcI5Xbm4uV6T64ufztg0bNkAI2ZvkbTfCFafnwHS5XBgwYACys7Ol8VynTh2sWrUKpaWlzKs3a9YsAOAFi1IF9LZ27Voed3QuyjcDykLceplBYjvIyckB4EmPII8/cUKOHTsWQnjygwkkFBYWwmq1SpsAX4ASAF544QUIIaT8sszMTKxbt45zmr1J6Kmfhg0bBk3T2FMshMcr5b2p0puenJzeKb2RgpIQAlOmTIGmaRJJe/v27TF79mxkZWUZ0htiY2PRr18/bNmyxTR9wrt4kFrt2rUxZcoUjB49mgGvXkkmKioKERERXJmsp2eqbKPCICo4FMKzcQwKCvIZycjIyGBQOG3aNOzfvx95eXm4evUqNE1DUVERg1EzfW96v0pLSzFnzhzuL4fDYZgjFUXhKmx9yo2+70gNiSwnJweKouCxxx7jfm3cuDGuXLmCJUuWcB82bdqUteH188WWLVvYg9+6detyNyPEu0vXr+dE/fbbbzlNgir9KypWczgcGD9+PNasWSONw8zMTKiqyu/epUuXmCng91p/W4yYdUt5pjf/H/dUVgHK/zGa+OlFCAsLk17AP1OjKtvAwEC8/vrrXJmnqiruuOMO9OnThyfK6Oho1rsl6hnyKOzatUsKT1CjyVYI4VMdgioVGzRowIv22LFjoWlauQTP/v7+aNy4MYeN27dvLx33ypUrPLk2a9bMsDhRODQhIYGBac+ePSt8vvn5+XjggQeQnZ1drqcyOTkZhw8fZs9mz549kZ6ejtDQUNPFx263c7GMfvy0bt0aLpfrpgAlUKaC0rNnT75nqtSuWbMmAHCVqz50ZrVasWbNmnKP3aZNG/7+jBkz+DgPPvhgpa6N8t0uX76M7du3s6exonQDt9uN7OxsNGzY0FBEI4QnLKa/F/IkjR49Wjq/pmmcP0z/pj7SU73ovb1FRUV44403+PgpKSk4ffo0Fxx4ExrXqlULVqsVZ86cYW9rt27dJE8UaV43atQImqZxWoGeC9EXoNy/fz/TNgnhAQNmClHXr1/nsWU2bvXa9TQed+3a5fPZHTp0CIriIc739qoRSI6JicHu3bu5r7yfJxXrEbF1Zfg06XmnpqbyfEEgwc/PD+vXr5c0vzMzM8vVttf3rRAeb7F3DmrdunXRt29fdO3aFS1atJCA6q2aiy0WC1wuF4KCgphSqmbNmjy/dezYEf369UPHjh1NQ8j0vX79+vEzXLRokXSf2dnZLGkKeMY7AWQ6xuuvvy79pqCggKNNVqsVDzzwAAoLCw3nLy/9RH9+IQSvCU6nU3rPyFtqsVhgtVrZ00mpI9OmTUOHDh18zguKovCz8/f355zPr776iumUbnVzOp2wBkUi6V7fbC21738Hy/d+hQ+/uoLrRZ516J7XPi8XUNaat/v/dE5lFaD8H/vPf/7zp/NCmrVx48YB8FToer+gf//73/l+CgsLMWrUKJ50vHMf9UnXHTt2RH5+Pq5du4a7776bJzYhPB6jkSNHSjJ7tPCoqsqLCeXn6HemjRo1wsaNGzlXZvDgwUhISDD0c926dTFz5kysXbuWF8177rnH9Dk5nU5DDiOF//V2+vRpzJo1y0Airqoq4uPj0a1bN8NxvAuUzI6pP07Lli0ZbPoaO8R3SbJ6x44dq9QCrA9rq6qKgQMH4tq1a6hevToCAwNx+fJlzkcl70dSUhL/LiwsDCtWrDA9lx6AtWzZkvOxzKhEvBWTCOiaeSDIk9usWTMpZKX3ZjVq1AjFxcVYsWKFz/zjtLQ0HDt2jAn0zbxugYGBqF69Ov+bFEqIyFvTNN6Y6DnwKN+MvCjk9fU+B6kmkcfEV0U6VR83adKEJfX05g0ot27disTERL5XqpY1C3cWFhZyfy9btgyapnH1ekVzVbdu3Xx6nKngZODAgfzZtWvXpBxF77lCUTxKLgcOHLghGUoymoeOHDkCoIyeyM/Pj995/ZgqjwqJbNSoUfx9inQcOXLEUOQXGRlpYK9o3LgxNm/ezPdC4N5ut6OwsJALK2mcPP7445g7dy4mTpzInrjQ0FA0btwY6enpSEpKkvJSf+taYrVaERAQgLCwMAZbqampaNKkiZQ2lJqaivvuuw/Lli3Dyy+/jN27d+Po0aPIz89HcXEx3nvvPZ6bvQUhytt4kA0fPpy/v2HDBmzdupXHgx740ph56qmn+DPqQ9JCVxRFKhDcuHEj7r77bnTo0MFnrjRton9LX3o3i8WCyMhIRAx8CAnlAMrmj3qEBC7+UIRD5/4JoGJAmTx3F25fc7hyL8X/h1YFKHWmD8X+WduxY8eQn5/PBTn6l82sSKCkpATTpk0zPVb//v05HOJt586dM7zMMTExUlijevXqprmJqqqWK09GhQm+7jE+Ph6TJk0y6BATtc6sWbOkRe/pp5/GsWPHMHnyZJ8k4iNHjsTevXslaUTvicqXsg4Z0ZOoqmqgIQLKKFd69OhRoXfbTMP56NGjWLRoEQMwWsyCg4PZU9uuXTsoiiJVSqqqyl7J4uJiTJo0iZ9JQEAAFixYYAAB5K0WwkPzRITbnTp1qtDTSCCZyOg///xzw/Fp0evduzeOHj0KIQQvGt5gNDAwED169EDv3r0N3m1/f3/88MMPhr6m56w3Cs1lZWXxQnj33XebPktvWhvv9BB9jrA3KbO36YvEvKUOCVB26tSJPa4WiwX9+vXjdy8lJQWqqkokzkVFRbyxe+SRRwCUhciXLVuG4uJiTJ48WXr3EhMTDRvHkJAQtGvXjsnWyWj+aN26tWlutcvlwtixY/kdpPFitnmryE6dOsXvot6ILkfvWVQUhUE08U/6srCwMAQHB8NutxvScw4ePGioGhbCU/znXSkOlKU+CCH4uaxevZrHKskWnjx5kqmaygsT6+UmrVYrBgwYgJMnT+Lo0aN45ZVXoCgKAgICJN5Hm83G3kh6X2JjY3nje7OUOb7Cz0QWn5WVhTZt2qBHjx4YOnQoJk6ciLlz57Jnkt7bpUuXorCwEOfPn+c0jc6dO0scx507d+Y+IKWoffv2cTrDsWPHWK5WL7mZmpoKq9UKTdNw/vx5Hge+KId+S1MUBbaw+ArD1zXv242sRe8jYfZOdF/pocWqCFBSO3vl/yalUBWg1Jk+FPhnbN65KT169EBxcbGUWxcbGysBMU3TTIlm7XY7xo8fX25YqVmzZryg9uzZ0ydlSXx8PObMmcNhLe8QpS8TQk6+drlcqFGjhgQWrVYratasidGjR/MiSBRFZhJgRCI+YcIEUxLxI0eOSNW/e/fu5dCezWYzyNuRvfrqq3wOX98pLi6G3W7nimEKhenD4HPmzKkwjE6tQYMGTNnRpEkTaJom8X8K4QFjVN2vN03TMH/+fF6MnE4nunfvjpkzZ6J79+4+Zezou+Rp1IPGWbNmQYiK+SP1BQKAxyvorSYihCesafaMPv30U9axplajRg08+uij+Pe//w0AnMvq7YXTU3ZVJt1A7z1t2rQpLl68yJsBKkapqNjl/PnzfIwuXbpIz4CqgGls3nHHHYbCoI8//hhClKV//Pvf/+b+0it3kBSmPg1E0zQJEDqdTowZMwapqak8Z+j70Wq1Gp69/juUCuNtn3/+OYQoEyy4EaNNaFhYmPS5pmkSo8TLL78sRUcotcPM8vLyIISHxzE2NhbBwcE4ffo0Bg4cKIFqfS6hXkrUZrOhVatWTGFGPLRCyAVeRCcmhIcxgTTffb1zCxculM4/YcIEwxxLhTDE3XngwAFpE9ywYUOek9asWSNFRsg7mJmZidLSUly+fBknTpzA3r17sXnzZjz99NN46KGHMH36dIwaNQr9+vVDq1atfMoVUpX2zeSlev+b5rLk5GQ0bNiQnztt3KKjo7F48WKsXr2aBTBycnLYe0k5y0BZPmVpaSnnSN/KFttjGhJn76gUOLxRQJk8dxcWbM+7wbfk/w+rApQ6866U+7M0q9XKuSX0mV7FQU9sThNDr169cM8990j6wSShJYRgL4DVasWgQYNMPYqvvfYahPCE63x53BRFQf369bFmzRoOM+Xm5laqv4WQZRT1k3ReXh5mzJiBevXqVUpuKyYmxjQHjay4uJirnFVV5aIDAOzJoPCmdw4TeWuF8IR9yjMCEEuWLOGinNOnT7Oyhj7fqaioCKNHj+bJ3ul08gLrXelKTT/xBwcH49FHH8XRo0ehaZoUnu7WrRtq164tAVrvRtWttABSOoCZlZSUwOFwICQkpNz7J0BHVdve1EaKomD69OnslaIUDm+jgohXX30VrVu3lvLf6tevj4EDB0IIgbffflv63ZUrV/hcvoC/3qxWK+rXry+xGwjh8ayuWLECQghT2he9UcEOjaNevXph9uzZEljNysoql+uTlJ3+9re/8QKsz7v05k3V27x58yCEhxibvElWq9UUxFfUygs1BwcHS/RKlbFDhw5BCA+A0xcrXb16ldMuaIMXHx+P4uJiqeCvcePGppX5lK/68ccfSyBUCE+R07hx4xjQ6OVKi4uL8dhjj0lKN35+fuxBoxSEKVOm8G/0cplCGOX5SkpKMH36dJ7/3G43kpKSTHkoz549y+fR2/Hjx3l+8H7X6b/+/v544oknKjUmyXbu3MnvDo2r559/Xnof9fOupmlcuBgdHY1XX30Vd9xxB4TwpFGMHTsWAwcORJcuXdC8eXPp3SYQTEwBNxOqJhUpfX7ordbudjgcqHH3xhsqtrlRD2WrJ4wyyP8XrApQ/o+98cYbfwh/5G9pFosFM2bMYE9damoqCgoKkJWVxcTmp06dMoQNHQ4HioqKOG9JCIFvv/0WW7ZsYW5AVVXRpUsXziUrKioykP8qioI+ffpw7tLChQvRoEEDaeKgl//MmfIpFN577z3+zciRI6EoCnOTlZaW4rXXXkO/fv0QGxtb6edSp04dA2k14Kmapsk+IyNDygcFwBNtbGwsh1eIsDo/P59Bubf2t5lpmsaUP95FOU899RQfixLPhfAUn1DIWk8HAniS67du3VquR9FXI6mypk2bYtSoURg2bJgUPqpWrRq+++47lJSUSOFffRUnGeXNUoGXmZHXkDgfvccuLeIff/wxrl+/zp5zIpXWm8PhkBR8NE3D+vXrDeMtNjZW8qhRqJFIzMsDcQQ+77jjDmzevNlw3MOHD1fIdkBAICcnB4WFhVL/BgUFsRynWZW33ki9hTZY3hXrFB72Lh4CPAU+QngKuDp37mzKbyiEByxeuXLFIJnoPWbq1auHGTNmGELOlNJBSjWVsZo1a0JRFFSrVo0B5YEDB3iTOG3aNABg73dycjJKSkrYIyqEx4uml+gsLCyEw+EwXH/nzp35ms2EFrzt2rVrmDFjhpRbSO+uEGUFXnoWByHKWBS889RDQ0OxZMkSaJrmUymHVHXM+pC88rt27TJs4B0OB8LCwpCRkQGLxVKh1xwoy5V1OBx47733kJCQgICAAABl5PvUpk2bxtK6QpSBewCm0otAmazuyJEjuQ9oE0OqTLRxbNu2Lc6cOYODBw9i27ZtWLNmDR577DGp77t164Y2bdogKyuL3+Ob5Uctr8Un1TAo3N1qQJk4e+f/SZnGKkAJYMuWLX/Kghy99y41NVXKsaJdo9vtRu3atWGz2XDbbbexV0u/001JSeG8S3o59ZXA7733HofIhDDnYgwMDGRPAeXxkYevqKjI8OIrioLu3btzEr7e9JNZq1atUFxczNyOegoZOm9OTo6U33r48GFcvnwZixcvNiVaj4iIQLdu3fD4449zsr3L5fIJhvz8/Bhw/uMf/2DKm6ioKEmtpby8UL09/vjjPBnqAWV+fj5T+1Dr16+f9FuiA3n11VclT6M3fYx+sSVS6eDgYJ98qZSz2aRJE2mxIuqgvLw8BkNNmjSRrqmgoAAWiwUxMTGm93vixAmDN0yfHkF8qN999x1UVeXiH03T2NOol9TbunUrhDCnUAE8HiHqY2oul4vZD4YNG8aykt4sAnqjnEt6JiTROWnSJO7DitgOMjIyoCgKunXrxu8e/XfUqFHl0gbpjfSthTAHQenp6ZL2POkm5+bmSpELIcq4YCdMmGBQJcnIyGAvnJ7Rgv4eHR0tPTu73Y7atWtj4sSJvNnRF/OUZ8QR2rdvX0RGRiIyMlLilvXm+STPWGpqKkpLS3lOoHczPDxcCu+rqopOnTph8eLFEMKTWwqUAR19+kFFRmNA35eKouCuu+7Cp59+yv9+9tlneWxQ/0VHR+Oll16SjmcGKCmXuGXLlqbX8Pe//10qXFEURRKhoM8aNWpU7r2UlpayxzU2NhaXLl0CAI6AAJ45W1EUqcCHxl90dLS0wTMDlM899xyEEBymzs/Pl+iQ6tSpA6CsGMtskwp4PNX0m2HDhkl/a9SoEad53cr1OaFe8xumA7pRQJkweyfyLv1Y7nP6/9H+zwNKSpC+VYP1VjTvUCeFP70LQdatW2d40RISEvD6669zSIi8QvQ9ksvS50K98cYbaNq0qeFY+hxFvcckPj4eQUFB/O+77roLQgg8++yzuH79umESDA4OxrBhw3D69GmeuMmLYuZ5S0tLYxJxoIwmRggjzQUtQp9++ikvnt4hEpvNhtzcXKxcudIACktLSyGEYO8AeUzonqiVx7loZuQlTk1NRV5enpQTmJ6ejkceeYT7wOFwICEhwUD6rn/+3vfj5+dXbrVtQUEBdu3ahXnz5qFXr16oU6cOQkNDy5Xu028kJk6cyF4QKsjQh5fz8/MxevRoaYxYrVYMHDhQ8jq899570nVRVfT27dv5s1WrVvEYX7duHVq0aAFFUUyVSfQWHByM6OhozJo1S6IhCgoKwrBhw1gBxVd4UJ+blZyczOMNAC5cuCCFOm+77TbD74luiVr16tXx2muvQdM03siQV688QKlpGufKCmFkG6DFPy4uDjk5OdImSlEUREZGwmKxICIiAj///LPh+IcOHTKoalGYuGvXrrh06RK/X7RpPXz4MCZOnIjatWub5lyOGjUK+/fvL3cMxsTEwGKxoKCgAJGRkXycatWq+SzuId7LjIwMXLt2DaqqGsYsHYciDUVFRRDCQ27eo0cPCFH5tBuylJQUuN1uAB6vM4XLvRt5Pqm1aNHCtA/MAGXt2rWhKIpPIYf169fzu56QkMD8lseOHZPWKLfbzZ5Qb7tw4YIhygJ48nKF8IB7/fWoqmqYr3Nzc6U0A29Aef78eVgsFgQEBEjjrbS0FK1bt+bj6POH9ZGCf/3rX/j666/x17/+FX379uU1guZGUnfSFzbdyhZas+EfAig/yzcWE/7/bv+nAeXp06f/lJ5JfUtJScGRI0dgtVphtVq54ObUqVMsa0WtdevW0DQNr7/+OoQQHKo7fPgwL0JExlurVi107NiRPV+KoiA9PR0rV65EXl6eVOhDISsyh8PBO1DyTkZERPDfL168yJXIo0ePNnhQ9M3hcKBz585YvXo1vvvuO7jdbonLDADGjBkDIYSph+ytt96CEIIpcvS8mkFBQcjJyTEQCQcFBaFFixZ47LHH8Oabb0IID/ebn58fYmJicO3aNUPaQGX42vRG5OT6hYAk6nwV4tDCmZWVhaeffhofffSR5JGJiIiQgMHN0LcAYDqe2bNno1evXkhJSfF5TbR4k1xmbm6uFNalvyclJbFHSVEUxMTEsD623oj8Ozo6Wvr86NGj7FVXFKXcggyyzMxM2O12FBUVwe12M72SHuSSh+OTTz6Rfnvq1Cm+5379+vnsS6qspvcpPz/f8O7VqFED77//vvS70tJSKU/PF6DUNA05OTkQwsO6QM9m/fr1uO+++9CoUSNpg6QnEX/ttdc4xUMPiLzt4MGDXPymn+8URWHAT5uAhg0bmh6Dcpq9C+FUVUVCQgKGDBmCHTt2cD/S+B89ejSuXLnC583JyalQN55y2fXvTmxsLObNmydRLuk3JQ6Hg+e4nJycG343/Pz8UKNGDekzAqdmc9bUqVP5XaxVq5Zho+oNKCnFp3v37oZzf/PNN5xDSxrg3vRTS5Ys4fPr8wvnzp3LG7+33nqLydsXLlwo/f6dd96BEAKPP/44f0ZpFHo5UfJekwDA9evX+dxTp07Fc889xxvhXr16YdCgQejWrRtatWqFRo0aoXbt2qYpF5SffiNr3+/l6LFFJFV5KH8n+z8NKEtKSjB//nxODi/Pe/NHNLPzUyXgxx9/zMSxerDXqFEjKVydlJQEm80Gp9MpTXKpqammL2hCQgLmz59v2JEqigK3280ViUJ4AB0tFAMGDAAADB48GEIIiVg3Pz+fr6mighpvAuMPP/wQQnhycTTt/7H35dFRVdnXt+YklXmeEzJAGMI8hzkgozILggoIyAwBAQFBRpkRZEYigtIIiggiiAoqjSIyKYJIR0QQ02kaYzrS6Rjjc39/1HcO99Z7lQSF7l9Dn7XuUipVr17dd4dzz9lnb421bIUQhhRHRNbbo0cPLuSgJkcVS0pK8Morr6B79+6Ijo7W9UW1atUY00fOJC20FLnLzMzUYZfy8/Oxe/duTJkyBZ07d0ZaWppSjCE3b29vjjINGjQIq1evxpkzZ3D58mXeUIRwRdQ++eQT/l6bzQaLxYKcnBwUFBTwOKEK1Vu1KlWqwNvbW/f6lStXOKpHrawqdFmOj/6/UqVKyMnJQevWrQ0dSgAYNmwYhBA6AvbCwkKOnIWHhxsWY8hGY4+ie/L1zpw5gx49eijjLykpCfPmzcMLL7ygQEPKMyq6MWrt27f3+LmSkhKGajRu3NjwPVQM1LJlS0yYMEEhO6f+JzjJW2+95dFR6tSpE4QQyvgsKiri181mMyZNmoSSkhLd+CRZR0otuxedyHblyhUI4YISzJgxAw0aNNCp5pAsqtVqxd69e/kZ+Pj4eLzuuXPn0KtXLx03LGmbUzHQ4cOHlbHXtGlTXL9+necKkczfilGWonPnzsrrMh0ONXcZSnLUnU6nAu9xdyjj4+NhNpuVKLimaRg/fjxfr0uXLiguLuZxLUMCrl69qoyJoUOHsgPtcDh4/bDb7Vi6dCl27NiBtWvXYt68eXjiiSfY+W3atCkyMjJQu3ZtQ/YPeoa3undZLBbY7Xb4+Pgo+HD5OXbo0AEPPvgghg4diokTJ2Lq1KkQwsVJ+f777+P06dOM6ScVLMo80Ou3o5lsXoj/H4byjtg97VCS/fbbbzh58qRHoPqdbjSBbTYbFi9ezItjZGQk3+OBAwcUHGGDBg248IWKcmijFsLFGQYAubm5jLd0b3a7XSGiBYDXX3+dnUmKEpKGtLzQEI+e2WxGTEwMJk+ejNq1a+vUIOgzVquViycOHjyoVNUSDcaGDRugaRrzZj766KOMizMi3SaTHfFGjRohLy+PN2aSLnQ3TdOwZ88e5gZ0f+5RUVHsmOfl5TFUwOFwIDk5GYGBgRXmhcvMzCx3kystLdXRQpnNZo64ykUJRLp9qxW3ZL6+vroIiPvf3fvDbDajSZMmmDVrFmbMmKEcasoa0w0bNsQjjzyC5cuX4/jx4ygtLeWK8cDAQF2/yPhOPz8/Q3oWMln7t1OnTh7fRxu0e3TOZDLpNJKNTK46lj9vsVjKlaskehshhBI1OnbsGONO5Wdus9k4wvP000+joKAAQqicfUY2e/ZsCHHzALpu3TrOPtSpU4dxdCQ3On36dB3vLn23yWTSccDKFhUVpYuGEqY5IyPDEO9rtVrh7++v9Nf333+PoUOHKhjOiIgIjBkzBteuXWPGAHImlixZwvefk5PDNG9y/1WkWMXdyEmdM2cOABffLQUZqBGWWwjXwXbZsmWGc2DChAkAVIeSKMcII1hSUoIdO3bwwTUwMBBZWVmYNWsWsrKy0L9/f5hMJtjtdjRp0gQ1a9Y0VB/7vbyUJNMrP6eYmBg+GCQmJqJTp04cDaZGa3alSpXwl7/8Bf/4xz88CifIOFD6je7PZvTo0cqYBVxV+DQvevXqxdf5vb/VqHl5eSFm2Mb/VXnfAfufQ+lm7niSO9ncaUUookiT0GQyYcGCBXxPZrMZDRo0gMlkgre3N+ugkkMpkzHTJJa/r2nTpjh//jy/j74/JSUFFy5cwL59+/ja7vq0TqcT4eHhnBIxalarFcnJyRg4cCAOHDjAqebAwEDe0GQTwoVdrF+/vnLqdy/CEUJg48aNus+fP39eSQnLJ3o55UiLvJGR3N/Vq1c9VscatdDQUDRt2hQDBw5Ejx49GP9os9nw6KOPorCwEE6nk1NQf/3rX8scd2vWrIEQQod1E0KgVatWynspoiKEZ9odT0Z8ezIBMdnbb7+Nli1beoxQBAYGYtGiRbrITZcuXXDt2jXs27cPM2bMQNeuXflQZBR19/Ly4rFXu3ZtdjaLi4thsVhQvXp1bNiwAWazGWaz2fDZA8Cbb74JIVxOfnmOBB0I6P1yYUXTpk2V9CnZtm3blPXA29sbubm5rIcuhEC7du3KjKRSUQ5t3u44VpPJhOrVq2PMmDE4efIkANemarPZEBYWxs6s0f3JRvQ8Y8aM4UOI0+nEtm3b+D1UrUyFFJqmKWld2eF2OBweC5EItyzL75ERy4HM9+heOOfl5aU4MwEBAejXr58hMwSlv81mM5xOJxwOh0JtRSTZ1F555ZUy+8nIZsyYASFcTrY7BdGGDRvw1FNPQYibkreZmZmYPn06Ro8ejT59+iAlJUWH26Y5dCtrilEzm83w8vJS9gT5HsnRCgoKUjDQNWvWxJYtW3Ds2DFcunQJsbGxCu59165d7LQK4SpoKi0t1fFsnj17VoG42Gy2cosTidCcsh107xEREQqUKSwsDF5eXpgwYQLuu+8+pKamwt/f/44HdUwmE1L6TEXCk2+W6xjO2HMWS965gJc+ceF195/9K5a8cwFL3rmAGjMPGH7mfzyU/zO2yZMn37HUN02sypUrcyhflqICgE8//RRCqMUqFosF/fv3xz/+4cJk0GJAUcT69evzwuK+sIWHhyMqKgp2u51Pk8QvuWrVKpaho/fb7XZcuHCB+0PTNBw+fLjMlIPFYsGDDz7I2KjLly8rEn3uhMZkQtyUTCspKcHy5csNU/NyRTngcqgGDBjAUaaIiAhDio6SkhKONEybNg35+fnYtWsXpkyZgk6dOhnqmLu3iIgIBAQEGJ6Qw8PDOSLr5eWFsWPHKvgwp9PJ30+6055MBqDXq1ePgfC0WbgXt/j4+PA4feedd8q8tmw0viitefLkSTzwwAPKZiQ/64YNG/JvdC/OCA8PNyQmB6CkvKlAiJzNGjVqlKn37u/vj4YNG6JTp07sePTv31+5fmlpKeP5POH+yM6ePatw5OXm5mLdunUQwhWJpvHm5eWFjh07YsKECTw/rVYr+vXrx5X/169fh7+/PxwOB2+Y7rQ2paWl2L17N/r06aNzUIS4WbWcnp7uMXJNUfqgoCB4eXmV+1zlQ4YQrkpseSzKhRTuUdWOHTty3zzwwAMK5+ekSZN0zjrRLclcuGQjRozge2jevDlHpMuSI/T390ezZs2wYMEChcmCzL0Q5sknnwRwk2ooMTGRf4MQLvjAjh07mJpmypQpGD58OB566CF07twZLVu2ZLxfQkLCbYl+eeKNpbEVHh6OKlWqcB9ERERg4sSJWLlyJbZu3YoDBw7g1KlTuHr1KkpKSlBaWgovLy8EBARwJXRAQADPKeIeFUKVqT1w4ABHTk0mE5o3b46//OUvCu59//797Kjm5OTAYrGgWrVqAIyVgOS1SAhXEMCTwtqvv/4KHx8f+Pn5cSbCfT338fExPLT6+PggISEBzZs3x8CBAxVRhj/6fNybX2xqhSKNV3/0nIHIWHjI4+f+p5TzPwOg5xy7U81kMmHkyJHQNE1RTpCjirRAtWvXTnefNMm9vLyUCUepye3btyuVoxkZGfzZf/zjH8omTfQpQriiGtOnT0f//v2RmJioWyRNJhMcDgdHKidMmMAbu81mQ5s2bdjRmT17NiZMmAAhBFasWKH7DULcdChlI11m903noYcewpo1a9gJT0pKwrlz55jr79y5czqn0RN2VF6oaJFv1aoVU6MIoedcPHfuHLKysnTOkMlkMixMIGJzqhj1xM158OBBvtbo0aOhaRrCw8NhMpnw+OOPc18Q/Q7gKsLw9vaGzWaDt7d3uRXRZBRdbN++vfI7oqOjMXHiRMZ4UZ9cvXoV33zzjeGibrfb8fjjjxumfcvCUJKtWLECQgh0794dM2bM4OcaFBTk8VAXERGBBg0asKPmcDgUaIi7bd68GRaLBWazmSPzKSkpGDBgAIQQ+OGHH1BYWIipU6fqImkpKSkcqdm/fz/PIxrbAPDaa6/xxud0OhEWFqaMN3LUmzZtis8//5yd8tjY2DJhEORQCOGKiJVl+/fv53XDYrEwByCZpmnM52okGUpYYfq+UaNGcTSOnvOQIUOU5xwfH69zdIkmSAiX07d161bUq1dPcSQzMjLwxhtv4Pvvv8eSJUvQrFkz3XyyWq0ICgpCcnIy6tevrxM38PPz+0OHfqocd79GYGAgM0V4eXmhZ8+eGDJkCCZOnIiZM2cq93D48GFcu3bNMDI+fPhwj99tt9vLFUcgI3o1GnMUjaWxS9kPb29vHbfup59+ymo01DIzM3Hw4EGYzWY4HA7m7GzYsCFMJhM/X4LUUBaDosRNmzbltLfVauU5kJeXh+3bt2PChAl8GPXy8ioz0kjz4qmnnsKFCxcM5wLRLN2pFt1/ARIrEKW8lfY/Le//mWLy5n6nmsViUVLKBHSXW79+/fDrr78ybmfDhg38/kOHDiEzM1Pn7A0cOFA3McmZsdvtymZit9tRq1YtfPzxx1yB5w7W9/b2Rv369TF9+nRcvHiR07qUSm7SpAlfb/PmzcrnMzIymETZx8cHvr6+unsTwtihpIWQiLKFEDpcVlpaGsaMGYNOnTpxWtLIcfT29mZgvxCuQpsvvvgCmqaxkyCEwPDhwwG4oml0LdkKCwvRv39/3oRCQkJ407VarTo9YqJMiYqKYpLm+vXr636rzKc4YsQIADc3eCI3v379OtMO2Ww2LF26lIstXn75ZQghDBVUZMvPz8eECROUfgwODsagQYN0m9GBAwf4PZ999hlWrVqlbA7Z2dlYv349R6EpQi0XHFTEoQRcesx2ux2FhYUwm82oU6eO0uf79+/HjBkzylV9cTgciIqKQoMGDZiHkjS2fX19GRNItDQhISGw2WwoKSnB2LFjlcKROnXqKLi+8PBwjBo1ivvOz88P69evR4cOHQx1hiMiIrBw4UJcu3ZN4aGk6B31ZXmOBT3zhx9+2PDvBQUFHDm1Wq0ICQkxLLYiDKmnSnMq0rp+/Trj5urVq8cE9XRgNJvNaNiwIRYuXMg8h5mZmejZs6fCd2l0CL2d66eMOW/atCk6deqEvn37wmKxIDg4GN27d+f5npycjA8//BAFBQXQNA3FxcUYMWIEP0t/f3+WdyW2AHeWCbJPPvmE72HcuHFlPjsj6Iqctq5RowbWrl1bJlRDxiJ6eXkpNFUJCQm4fv06XnvtNV67SZRCtq+++kpHv2O1WhVsMgUnZIUw2ndkdbWRI0diwoQJukOCUUtISECLFi0wdOhQXjNff/115ObmMpzJiKC9sLAQq1evRtu2bQ35kG/nGPIJj0f8E68j4RYkGMtrlafvx3f5ZeOq72b7n0PpZrIu751sV65cwU8//YRHH33UUFqK0lVFRUVMNdOhQwfFaatUqZJCTWKEbYmLi+OKS8Jkbtq0yTAV4e/vj0aNGimOEp1CgZscgk6nEyaTiZ3ikpISXoBCQkI4zWsymZCZmcl8ZO7UO0LoHUrCjN1///2IjIzk4oey+pL+HhwcjMceewxr1qzB2bNnFQe2sLCQ05irVq2CpmnsDNx///38PuJcFMIlBZmXl4cuXbrwAhobG6sQ/M6aNYs3t82bN2PBggVo1qyZLtpFz/ipp55CUVERNE1jh4fSZZqmsYNolMbdvXs3X5ciUh999BFzuT311FPK+4uLizF//nwFZ0r96R7Fch8zNDbk8eZwOLjinA4nr732Gj9vs9mMDh064OrVqxV2KLdu3QohbuKtXnjhBY/vfeGFF/g52O127Nq1izfutLQ0hISEGEau7Ha74mySsyhLvAUHB+PZZ59Vxsy5c+fQu3dvXeWx3IhEfM2aNTh27BjPHX9/f+zZs4cdSsoWpKam4vLly/D19YXJZMKOHTs8/l4qGPPy8tJtvAsXLuR7b9asGfLz85ly6OjRo9i3bx+2bNnC0azg4GA88sgj6Nq1K9q0aYNGjRqhRo0aSE5OZuJoPz8/w3Xh9zSz2QxfX18kJiaievXqsFqtsNlseOCBB9C/f3+MHDkS06ZNw9KlS7Fp0ybs2bMHn3zyCb755hvcuHEDmqbhgw8+wKBBg5CSkmLowAwdOlSprJaVYIqLi5X5NXLkSPTp04fHR1hYGNasWYOSkhII4TpokopNWWpQpD5THgzBHWvepk0blJaWYvv27WjQoIFCgt+4cWMdyTvZM888AyFcGQSa8zExMco4pTXD39/fEDIgO4XU4uPjeexpmgabzYbExESONLZp08bjODCZTBwkoNfq1KnDRVQybhe4mZ6nQ69cqBYSEoIpU6agefPmOh5ecvpnz559x3CV1e4fclsjlNuPG3OM3iv2P4fSzaja9k4MXrklJCTwJImOjsbgwYN5slKU4erVqxgyZIjinISHh2Ps2LG4fv06Tpw4oagIhIWFKQUCRLmTlpbGCixG9zJ69GglugS4eNMoMhETE4OTJ0/iueee489QOuTSpUvsqHXs2JEXuiNHjiindIvFwhEhMiFcOKvJkyejU6dOuspKo9aoUSMMHjwYWVlZaNKkiYLrs9vtWL16tcdTv8wvKaf06J7z8vJgMpk4bRMaGsp9lpqa6pGm5+DBg7z4Ed0FAHh7eyM8PByZmZm6Aim6Ln1X06ZN8f333zNpuadCj9LSUgwaNIg/n56ejpKSEsaRHjt2DNnZ2ahZs6YSyWnVqhXeeecdOJ1OHd+ebOTgyQcVIVyRuytXruDEiROcLpQ384MHDyqYVIpuVcQo+mg2m8tMA8uHACFchxHCQm7fvh2Aiy6I8JLp6eno1q0batSo4dHZFMKFTZMjm/v27cPs2bN1JOLurWrVqobjbcmSJezsyQTZCQkJKCkpgaZp+OKLL7jYYtq0acjOzsbixYsxdepUjBgxgtObFKUJDAxEYmIiQkJClM319/D7kV6yl5cXOwUOhwMpKSlIT09H48aNdZQyaWlpWLFiBaZMmVJmtLhbt266tQQAK+X8XiuLuslqtSIlJYW5NOXn8eabbypR+bCwMB4rwM2MFKnruFMHGRmNr7Vr1+r+dv36dT5cC+FKU9NhKTExkbGHpaWlWLlyJZOdC+FyUtu3b69UPRNMQ15HjaRAiS81MDAQP/zwg/I30pi3WCzYunUrmjRpwt9psVgM4SzubBNCuDhFc3JylDl66dIlherKE/MEXfPChQtcIOdenBYVFYVu3bph69atKCkpQXp6OhwOBwDwPL8Trc7DU10O4S1SCbm31e9/Xe7Yudvtfw6lgdFm4IlP8Ha15ORk7N27FwAU7JWXl5dSXRoQEMBpi379+gFwRQUJpF2jRg2e9OHh4Zg7dy6aN2+uK6IIDQ3VnQLLighpmqbI0MmRruvXr2PXrl0c+Zw/f77hNQ4fPqxsThS5KCvqWLt2bWUjHzVqFC+Y7nramqbh1Vdf1RUxNWrUCK+99prOQbl27ZpSwOTv789/Ix5LmdezVq1aHgtPZMvLy+NUTrNmzZjvT5ZepDS1J0A6bXyvvvpqud/35Zdf8mf9/Pw4lSv3c7169bB161buA098e7LJ/U7FIw6HQ4FofPzxx3xAcI90njp1SsHu1qpVC8eOlY0p2r17N4RwYSfLMlJ/GjduHPPu0cFgxIgR2LhxI1eGyxARwLXxGUVdqPDBk1NmNpsREBDABxGz2cx8onIKMyAgAGlpaahduzaqVKmC2NhYXebhj5I7y3PG398fNWvWRNOmTdG+fXv06tWLI0QtWrTAmjVrOMK5cuVK5OXlGR60jh8/DiGMZS6PHj2qpB03bNig076Wm1x97W5/xKHUNE2RwpTpbBo2bIhatWopdGXknMiHj+DgYL5G+/bt+cBGEUdaHytCO/TOO+/w85QlBefOnas7tJCNGTOG55TsMAIuLt3p06crxXB+fn7o06eP4uzdd999iI2NRWBgoOF9EY1WUFAQsrOzMX78eMW5rcg469ChA3JycrjyXT5Yumt5yyZHZGvWrMnp9wsXLmDy5MmG4z4uLg6tWrXiPnNn4/D394evr6+O8eNONL/a7ZE05U3ET9p9y5jJytP33/ORSbJ73qH858+lOJf7D5y+8iPO5f4DP/2rBHa7HaGhobzB304OLLmdPXsWAFh32H0z79y5s7IZkxTczp07GRw9c+ZMrlQ12sAsFgu2bdumVGDLv2fs2LHl9pG7DJ0QLsdWCNeGvGfPHuzatYsjjWlpaeXyNFLf1q9fH2fPnuVKzocffpg3B5PJpOD7yCEzcl6psGnlypWoVq0aL2AOhwPt2rXD4cOHAdzU+aV7i4mJAaAWJgkhmLC4PGdINk3TmFImLCwM3t7eikMpV2bu3LkTJSUlfJBw5+90Op1o2LAhnn76aR3GkYyKctz7NikpyVCN5MiRIxBCKDAGsvz8fHbOzGYzhg4dyn3YsmVL3fsPHTqkA/fL1qhRI2WjSk1Nxdtvv234O4hD0WQyGeLAALD6U40aNfg1UlAS4qbmtq+vL7Zv34733nsP27Ztw5NPPqlsSP7+/lzQc6cyEXRock+V2+12ZGRkoE+fPnj88ccxefJkjBs3DhaLBSaTCStWrMD58+eRn5+PsLAwPuxQ0ZkQrsOOp+IuooRq164dc/yVJxlKRVpGFECA66BkVDQj/1ee5ykpKcw3K9sfcSjpsGS325GXl8cUSXSIpPFM0XWjOREdHY2OHTsy1tPhcGDVqlUsBWsymVhLviJG8zU1NRWnTp3iAEBQUBDLD7pH6Hfs2MEH8EWLFhleNy8vDyNGjFAwvLQemM1mzjTl5uZi+/btGD9+vEK542lMWiwWtGjRAsOHD8fGjRt5DJWWlmLq1KkcPDGZTOjXrx9MJhPCw8OhaRr/Nk+4UVJGq1KlCmN63ceFe5PH5bVr1zjq3bBhQ8ybN08JQnh7e+OBBx5g3tE70eLj42ENiEDCgCVImPIW4ifvKdeRTJjyFh7OPnZPYybd7Z50KHP+9hNm7jmHFovfR6LBYIke9jz6LN4JW2i8Ibj6drU6deooKTF5gzNacH788UfY7XZ+nzuuJD4+ntOOtAh069aNP5+bm8vYLdpwhBBYsGBBuX1G1BXuzVMhTFxcHJo2bYrBgwdj7dq1OHv2LHbt2gUhXE4cLTZeXl4ceaJFjZxNd1oSI540Moo0nDp1CoDr1P/0008raXT6zvr16+P8+fP8uqwD3axZM3z33XesTGEklVaezZs3j/uF8E7kaNJv27p1K/Lz8yGE4GhbSkoK9u7di4ceekiBRFCf1qpVC4MHD0aXLl2USHN0dLSOhHj58uW6+6KqUfeI69y5c7lvzGYz9u7dy8oXRI1kZDL9CHGikhGGMjc3V4dB3bZtG4qLi3HlyhUcP34ckZGR/Pf4+HiMGTMGjz76KLp164bMzEzUqVOHKaKioqIQEhICPz8/hZ/vjzZ/f38kJCSgWrVqqF+/Plq1aoX7778f/fv358hRx44decP08/PzSCdlND8qV67M/9+zZ0/F4f/ss88Ym3r06FHk5ORACBe2l9KVdC05ImZkfn5+fBhKSEgol1CfcIZyZE7TNGzevBm1a9f2iF2Ljo5Gbm4uO2jVq1dH165d+f0xMTFK0dHvdShJGlUIoYwx6heau0OHDlWckObNm+PIkSOMaXbPzLg3WZKwIkZ4cvnZjBgxAnl5eQp3pLt9/fXX7Cx26dLF8PmcP39egciUhx+kohwqhJHFAahRZsuTaZqmgzn06NEDN27cwPPPPw8hXAcIefwRpRxFwo3mgpeXF9asWcOFYdTkQ7Kmadi0aZPiENO1unfvzu87ffr0bZnrZbWMjAzYQuIQct9wxA7P1qXB45/ci4wF72HmnnP3LDVQWXZPOZTf5Rfh4exjygnDU0v8/5Vf9Sa+CGtAxB0Pu3fv3p0jNd7e3vDx8YGmaTh16hTGjBmDatWq6SqdK1WqhEGDBqFKlSqw2Wz8O4l4WIibEbZr167xhKWFnjYx2iyvXbuGnTt3YvLkyejYsWOFIo3R0dEYNGgQO43lbWDJyckwm8345ptvlA2X2v33349Ro0ZBCIH339erDZw7d07Hkwbc1Mo1co7z8vKUdD0tdO6/Ra5aB1z6xmXJxZVl77//Pl+XIlVNmzZFYWEh7HY7QkJCMHHiRAjhiqjY7Xads0CFCQ899JDhhkgRok8++QSAK2ooRzbcCz6Iq4+e0alTpzgyQP0xYsQIRTeeomObNm3C0aNHsWfPHmzatAlLlizBtGnT+JoEM6hfvz6qVavG1wsODoavr69yELqV5u5Uh4SEICYmBsnJyTyW5PdHRER4rA4lLr7Q0FBYrVYAYB4+f39//Pzzz7rnePnyZSYfJwsICFC4VW/cuIH9+/dj5syZ6NatGzt05f2upk2bYtmyZTh27Bg+/vhj7nfqUzkNSWpVRtyPshEHodVq9RjtlS01NZXH+P79+9GiRQuFh7JOnTrYvHkzLl26pKRzX3zxRQDgdZFUgAoLC/HII48obAgrVqxAeHj4LTuU9JuFEEqkHwAfCBMTE3WYUk8qUAUFBVi5ciUyMzN1UVe73Y5WrVph5cqV5RJ3AzfJu6nRmkpKPvXr1/eIIS4pKWFMaHR0NNavX4/x48ejXbt2FRo71KKiojB9+nRdmj43N5efIeE916xZU+5vOnToEF+bPmexWLhYSQjXQcGIUs5kcqmdjR8/njNvU6dO5fe4c/5evnzZcLy5Zw/eeustAGrx37+zBYSEwxlbBfaoymjSqTdMNq9yVavuZbtnHMpXjl9B5en7y3Uk3Vv85D1IenIP/Gq3vyMD1mazsQQdVWnSBJYXSrvdzvQe9Nro0aMB3FTKkY2czxo1auD69eu8gD777LPsNNIp2pPDSJHGJk2aKPdCiyEV7YSFhXlMmbkbpV2J28y9OZ1OOJ3OMh054kmTdZTlak13e/TRRyGEKyI8duxYw5SYEAJbtmxRPkfVkQcPHqzQb3M3GdcZFRXFUSni5pSxe7IWOuCq7p89e7YSefT19UXr1q3Rt29fVK1aVXlupFL00EMPcbpZCFf0c86cOZg8eTLz93Xo0EGJyhphhSkieKvj2Wq1wtvbm+8tNjYWqampqFWrFpo2bYo2bdogOTlZiYgK4SJnfvHFF3nM/vLLLwDAhwv31O3atWsZL+lOi0LNy8sLderUweTJk/HVV1/xZ4OCghAdHc3/JuyZUWqfMGgyVpSiLUapfoJO+Pv749q1a4wPdd98Pa0F7nNBppZJT09X2BWMjCJbntSF3M3Lyws+Pj6KE56amopFixbxeN2zZ4/OQRFCKCo7Mt0T4KqyHjNmDB8sKIpWUZ1t4kukflu/fr3y97Vr1/I9yXCf0NBQnSykkV26dInHnlEE0N/fHxkZGTqy9atXryp4QZkL9syZM+xYydKLubm52LZtGzuNKSkpZaanTSYTO2CNGjXi9PSpU6f4PcHBwUqleIMGDbB9+3bk5eXxtWVFJ08wCdloHtjtdgDAzp07mRrMaJ2uV68eO8Cerp+Xl8dFSe6/0dN4O3z4MD+TFi1aKPRkt1PT+1abfKivKJfovWb3hEO56v2cP0YH8P/D3v5NHrwjA7VRo0a6lCVNurFjx/KJjyhtnnrqKT6tvf/++zqH8uOPP+ZF0dMklltcXBwD7a1WK1544QVl4ZdPqJMmTeLq8Q4dOmDatGm8sN13331lytCRyTJ4QrjSzJqmYd68eYqiyfDhwz3Kvxnxc3p7e6NKlSrK+0jfnDj6hHAVwFBkzn2xS0hIYBkySvO3bdv2lsYbcBMXKITgFFRISAguXrwITdOUCGmrVq2wfft2rFy5Evfff78SZaSCj+TkZFSuXBlxcXEICwtDQECAoWbyrTZvb29d8VZKSgqaNWuGjh07ok+fPlxENX/+fKxfvx6vvfYaPvjgA5w7dw4//PADNE3TOVLl0QZpmoYZM2YohWhjx45lnNTHH3/MFbhy6ra4uLjMil/qV29vb4/FVGazGc2bN1deIyydDBU4c+YMhNBHrik65k55tWPHDphMJvj6+rLUqMxD+fHHH6NDhw6G0fHExMQyiwAdDgePi5CQECxduhTHjh1TolNEYSWE8MhIALicqUcffVTZIGNiYjBp0iRddI4ovxwOBw4ePIi8vDzGAdJn09LSYDabDXG7mqZh5syZynMePXq0x3kNuA6dBLmgw0dpaSmvEbLMqRAuh0TOwAghynRcNU1TCouWLl2KRYsWKRRSsoISrRnEpCCEK11NOPIFCxZAiJuYziZNmvBa4+6syunpli1b4r777lPek5qaioKCAoYByaplwE1sclJSEkpLS7F27VrUqFFDt7ZTgQulo9PS0srsE4rU070QtMjTeHzhhRfw0UcfVWh9vHTpkk7tSAgXb7JRNFjTNOXAazKZMHjwYBQVFeHChQsQQpSptPXvaN7e3hVy0u81u+sdyleOX7mtPFORGT3uyAAl0HVQUBAuXbrE3GIUmfnTn/4EIW5yeX3++eewWCywWq3shAUGBnrE25CCzpAhQ7B27VqcO3eOI2UERt+9ezerL8yZMwfFxcUKhksIwYS/sbGxjK3Ly8tjp8ldhs7dVq5cqURi3CsWhw4dyq8L4XJw+/btq1t4ZH5OithUqlQJvr6+/B5ZBo6uuWjRIlYOCQwMRFxcHCwWi7IZU3/Vr18foaGhsNvtTJmzf/9+vPzyy1ixYgVmzpyJsWPHYsCAAejevTvatm2LRo0aKY6B2Wxm8uTfOzYsFgscDgecTieCg4MRGRmJxMREjmIEBQXxBtevXz80bdpUqUJ2b1arlVNgN27cUKKFBw4c0D0zqvjctWtXmXONVKaCgoKQkZFRLg/l3/72NwjhKjQhZ4n6KTExkeUlFy5ciA4dOugKFeT+EULgscceA+CaK1To4o4lJXyie4FBSUkJzx/axMuKCIaEhCjayHv27GF+PhkfJjuUsu3atQtNmzbVZQfIKTGZXDrLY8eORffu3ZGenu7x98vOJn2+f//+irOZn5+PrKwsdjCEuBltHD9+vO73ydyysbGxSpROJtgW4qYTb6SGRRYeHg5fX1/lOT/yyCM6hadPP/2UU/8fffQRTCYT6tWrhwkTJrCT5nQ6MXXqVJSWljK90v79+5VU75w5czzeS58+fSDEzYMeHdgLCgq4oMZqtWLOnDnYu3cvMjMzdesqUS8ZPQ+Zyq1ly5YYPnw4srOzdThjwCV1KBdvtW/fHpqmISAgAKGhobr3E0+y+9zKy8vTQT18fX3h5eXF91mzZk3FqfzHP/7BhUnua4Xdbkfr1q2xfPlyxlA+88wzivoO7RVG3Jf5+fkYP368Mt7cW1BQkE5Sd+LEiUpRJuE6g4ODkZOTg+vXr98xaeRbXZNr1apleIi6l+2udii/yy9C5en7UfXpt7Hi4F/w4V+uoaDINQCeePVzFTM59S088ernePfLvyG34F8oKinFhbyfsOSdC6g8fT8DcuOfeB3eobG3dXC++eabTOnSqVMnvv/o6GiYzWbmHTSZTPD39/foNMbFxSEjIwN2ux0+Pj6cKiAanNatWyv9QxilZcuW8WuyDrc8cQkzQ0aRCzkSIsvQpaamKqfrCxcuMAWFvPC5y8rJ1a3bt2/nFIfZbEbHjh0VXBhtOFT4Qvil48ePK6kRp9OJTp06YeTIkejfvz8eeOABJU3m6+uLqKgoJZ33Rxs9I6vViqSkJNSoUQNVq1YtE2AfFxeHJ554AhcvXjSUMzQyPz8/JCYmGv6tsLCwTB3c8PBwhVplz549hte5ceMGTCaTIt/pyVauXKlsNmUZUalQBf6WLVvK3ICo0eYXEBCAefPmQdM0xnqRXbhwgaMY3bp1442L7u+NN97Q3c+pU6e4uvWDDz6AECqsQrbHHnsMQgicPHkSBw4cULSRZfPkUALAN998o1BUyY24/dwVUAjTGR8fj5kzZ6J79+6oXr26x8ODxWJRnFa73Y6WLVvixIkTXKTlLsfoiVtWNtr027Rpw2M6KirKw5NWi3K2bt3K2EvSD8/Ly9MVJ9Ehj+4/KCgIS5cuVe6noKAAFosFsbGxAIBXX32Vf+vu3bt190F/T09PR+vWrWEymZTr5ebmYsqUKRz9/z2wjxdffFFJeXsyWRZ0xYoVLLFI6+/gwYMNP0dQow8//BCA63BN82bRokW4du0axowZo+Ax6aARFRWFjIwMQ0x2UlISNmzYAD8/P4SFhfH3kZIO0QYtXbpU97k333wTxcXFmDdvnqKa5HQ60b17d553ZrMZZ8+e5XXJ6XRix44dGDx4MN8j3VubNm34+2j/k9dPwqD/J5vD4cDu3buxceNGZGVlITMzEykpKbfEGHA32V3tUD6cfQxJ0/YhY+EhAMDVH4tw9KKL9NXdoaz6tIvS5NSVH7H4wAU8+foZ7DjxHX7VfsPRiz8omMrwPnNu66CsXbs247Io8mHkeNjtdnYaKdJI9EF0YiWcDUXJSJ2G6HKIkBxwpQ+FEOjVq5fSb+4UOhQVkwsRqELZ3UktLS1F//79eQEYMGAABgwYwP/u37+/Aq729fXFkSNHsGvXLqYwSUtLw7Bhw9C3b1906tQJNWrUUNK7NpsNfn5+HNX9o/1PC2hsbCynwkwmExo1asRFDvIzaNCgAdatW4fTp08jNzcXJSUlOHDgAC+I1OfuPJQXLlxgWUW51alTp0JQASNLS0vzWIV9+PBhXpxpY5QjRO4RjeDgYLRp08awMKFy5cqwWq0VwsARxlUIUaZjHBkZCR8fH8ybNw9Nmzb16NDL6S8hXBuuO6l0WFiYsgkCrvHtTipNqURP/U1Olo+PD8xmM/7+978bvu/y5csQwgXXIPoko03EyKHUNA3Dhw/nZ9K7d2+UlJQwNZJ7s1gsOHToEH+einboNeJPXb58ORd9GaVa3a9Lr9WrVw/9+/fH0qVLsXDhwnK5ZSl74u3tDZPJhM2bN/P39e/f3/AzRlXe+/fv5wgUrQ8mkwlvvPEGqz8J4Sq0Kku9ZtCgQRDC5fDQwZzwtXLE/dq1a7Db7XA4HHj++efh6+vLpOh+fn5lriXBwcF4/PHHdZFGo/kst0GDBuHQoUO6eUP3LMuCAsDkyZP5s554H+kgFhsbi+LiYmb0mDVrlvK+L774gtcs9/tyOp3o3LkzE6fL0q0keUuHI3eHEriJ0U9JSfEY3ZSx5zLlT0FBAa5du6a7p/DwcGRnZ+Ozzz6DEC49eMC1p8kHXxrv3bp1U9aa/3STI9buUIV7xe5ahzLnbz+xE5j61H7Un/ceEqa8hS6rXKSy7g5lylP70H3tx7oU97J3XQOj38ZPlNetIbc3SknN4XAoTiNFAjzp+f76668cSTx16hSngITQE8USjkUuXPHy8kK1atX438OHD+cNVZZgNJvNqFatGg4dOoQdO3Zg7dq1CAoKgtlsxmOPPYbevXujQ4cOyMjIQO3atXW0N3Sd39MnhKfy8vJSoi0OhwOVK1c2jMJ5e3vjueeew6uvvor3338fZ8+exd///nf8+uuvChWJex8BrsgtcUNeunQJqampsFqtGDNmjBJBCw4OxuDBg7mq3m63Kxx8pEozYsQIQ81nIW6mx36vQ9m9e3cIIZTUS1FREUdrLRaLAlsgTJvcj+3bt0enTp10AHy5MIEkMd0LlzwZYYJjYmIUvNzFixcxbdo0HY7WZDIhNjYWmZmZMJlM/EzlMWSz2Tzy9zVs2FCJoMsmk0onJSWx+oYnowhL48aNy3wfRYqMCN7l3yvETYfy7bff5shpXFwc01wB4KK8devWsbMvb9ZBQUEYPHgwPv/8c5jNZiQkJHAhRfXq1ZGRkaHMMXdi+xs3buDAgQMc2aQN0Ghe2mw2REZGon79+uxsfvLJJ0zdZbfbce7cOa6QX716NX+2WrVquvFcFm0QYU+N5kfVqlXLfAaA6+BAzAmAa95FRUWxY1y3bl1Dx4ea0+lEYmIiWrZsiYceeogje76+vli1ahUXffn4+OicvO+++46v88MPP2Dq1Kk87+TvoOfVq1cvzp6kpaXpUv4AlMOzEWcsMVoIIXhdmTp1Ks6fP49Jkyahdu3aOl7b+Ph4tG3b1rAYyGazsYIPcNMRfeSRRwDoHcpNmzbpxqbc3CPJmqYxt7MQLulbCnDI489qtWLu3LnsJO7bt4/rBghHKe9J7vvB/5WWlJRU7pi9W+2udShn7jlnWNHtyaH01O5b7krHPb3n3M3XJ+9BcLtht3UQEnG4fJJ9++23+e+tWrXy+Ftpc5a5y3r37o0DBw5g69atWLlyJWbNmoWxY8fypI6IiECTJk04NRkdHc2T0z21UNFGFeM2m83w87RQ+vj4KLxkAQEB2LhxI5xOJ/z8/PCXv/wF//jHPzxGwy5cuGAI8qZmt9sNF2oy4uD08vLCr7/+avie119/nQH0FDWgBfXrr7/Gww8/rKSNzGYzRowYgYKCAty4cUMpOBHCFQXt2LEjR2ECAgKwfPlyfo+crr0VW7x4MYQQeOeddwAAa9as4X6uV68e45to0d63bx/y8/MV3JbdbmfYQ0lJCbZv344ePXogJiZGt2n4+PhgxowZ+Pbbb8u8L4qcC+FyTKtXr644/nTdjh07Yv/+/dA0TcExyg6nzWZTUsPVqlXTsQoQ9vavf/2r4f0QqTSNt7JMhnx4ot4h2VMh9BXIspFDOWbMGB6ztHG6m4+PD1efy5F+ozHu7jBQn1apUoWrkMuDTfj4+CA1NRUlJSUcyQ0ICEDHjh0Zs+npEOjj44P69eszDrFWrVqcOaDxLjvZnhzKy5cvlwnLKAsLmZubi61btyIrK4uzHp4K1Wg9ioyMxIgRI7B27VoIIdCnTx8ALqdn8ODBPD/79eunYFA3bNjA91m7dm0eFzt27IAQQjnMyGP/8uXLmDlzJho0aKB7ZtHR0ejevbsiPPHhhx9CCFfBCo3Dtm3bKvdCjBbUgoODld9NMBuaM+7CCFSA5k63VK9ePbz88svQNA3BwcGsXEUO5axZs1hcQm5eXl64ceMGSkpKkJWVxf3k6+uLadOmMeaW2DaopaWlwWKxIDIyEgcOHOCDFvUT/bdatWqMY9Y0jZ1M+TcYzYf/RLNarYbwlnvF7lqHssXi9w0dxFt1KPtnu3gcx7xyWnk9ZtjG2zoQKRWzbNkyTJ8+HUOHDuXCAkpfp6SkICkpCdHR0Qq58+/9TiPH0el0olq1auwsNWnSRKmETklJQXZ2Nvbu3cu8ZbIc4uzZs3kTat26NQoLC1FQUIBmzZrxNSiVIYTgSBZVSj766KPlPtu33npLxyspt/JOiFTh7SmlR/anP/2Jq3aFcIH4ya5cucLRypCQEI/Pwel04siRIygtLVVSt0Q0fPToUXYaBgwYUO5vdzeqRB46dCin5wmXJBttOA6HgyNrQrjSpBS1SEpKwpdffql8TtM07N27F/369dMVIXh5eaFWrVqYOHEif+7o0aMYPny4IRdkSkoKhg4diiNHjuiKWgAoko1yo6jklStXGJtGY4cKhSgNW5aU6Ndff83X9EQqTYVFRIljRA5+5swZJa0sw0jcjRxKem9GRoah1jVVtLtHzM+ePaswQHh5eTFXHzWz2YzWrVtzlGn58uUQwjMmFrgpw5mZmckwiPvvv9+wTyiy+fTTT/OaFBwc7NHZlKELPXv2xNGjRw15KHft2qU4zI0aNcKZM2dw5coVZT6FhISgc+fOaNu2bbnpaZPJxI7J888/j9dff50PylFRUfz7iM5pxYoV2Lt3L693iYmJXKTjbkVFRUwEbzab8cQTTyA0NJR/A6V4S0pKuG8o9SnLgnbv3t2QbD08PJzXiG+//RalpaVcJBQVFYWdO3di8ODBurXPYrEgLS0NI0aMUJgNmjRp4jFqT1HYSpUqYePGjahZsyb/DpvNxn9/8803DeUbmzRpgsLCQh5rMhZe0zTMnj3bIzWS0+nkwwYVTm7YsAGapuGRRx5RxrU7f2ZpaalhMGHy5Mm6efGfau7SmveS3ZUO5Y2fSw0VcH6PQ/nnnL+jsPgXpM86oGPMN9l+vzN3K40mOhXlhIaGIjY2FikpKahZs6Zu827SpAlmzZqFlStXYuvWrThw4ABOnTqFq1evoqSkBJqmMehfLl5ZtWoVgJvAf0qFU/SHQOORkZF8Qq9SpQqTYBPQPjg4GO+++67yTEhxiJxjwv307t0bNpuNHR6jSkiyl156iTGOZrMZXbt2RV5eHtasWaPrM09EvnS6dwfjezJK79BmoGka9u3bx7iknj17crrV6Nk5HA5s2bKFT/bUDzLGRiZwrlOnTpmUKu5GjgG1hx56SEd0TL/Z3WFr1qwZX2PgwIEcnXnkkUcMNY0JWD9u3Dje2MpLOY0dO5ZVRapVqwZN05j6o2/fvgCAAwcO6CABFosFW7duZV5S+Vldv34dvXr14u+OjIzkja0sqcFz587x+2nsuyt/BAQEwMvLC6WlpRzJlosjLly4AIfDAbPZjIMHDyIuLs4jhvXs2bM8Xu12O/bu3evx3kg6VE49kl27do3nntw/8sZL/61Tpw6TbhtVb5PRYZD0xSuiFENqVDLs4MaNG9i7d6/iAMo8pO4tMjISycnJypqVkpKCZ599FllZWWjbtq0hhRo1u92OxMREtGrVCiNGjMCmTZt4zaBUKTkcH3zwAX766SeeqzabjRW2srKyeL7R3zzBKdzt6NGjCvSFnEyZPofofcLDw/Hwww9DCH3UFlDJ1uWDnhCuCF9ERITusCrvB3a7nXmM3S0iIsKwUvzAgQPcl0LcxL0WFxfjmWee8Ugg3rJlS3h7e8PX11f5Pupv2j/I9u7dq6NAs9lsCA8P5/eUlpbCy8sLAQEByMrK4rFMv1GGGcgFo+3atVMgOv9Jfkr3Z+Yp63Uv2F3pUJ7L/YdHB/FWHMpFB1xkyE+98YXh323hlW7LIKTTYFJSEg4dOsQaxT179uTfRGkUI249iqCRQ2CxWMp0zADXRJZPkKNGjeK/0eZF+C4Zn0YUMoQXlBUjzGYzRo0apVvcKGXct29faJqGkSNH8oIRGxvLG7dM+UOmaRpWrFjBC5PNZsOjjz7KKe3t27dzFPHrr79WNjJ/f3/Mnj1buR/CiMbFxZXZP7JRekwIoWj/UhTCZDKhRo0aTEKtaRqys7N16UpfX184nU6luImM5BeFcEEX3COFRiZHViwWi8fICm0g7hEDooAiO3/+PEc//Pz88Prrryt/Ly4u5nR9XFycEiUiaiN3RyI5ORmPPfYYYzrlArTFixfzwULeRIKCgtjhJp37yZMn637XjRs3lOpQIW5KXRoZXWvfvn1MWu/l5cXp83nz5kEIgaeffpo/Q0Uj+/btw8WLF7kQhbCyNLZltoPS0lLmKKQ2ceLEMp+lw+FAQkIC/7uoqAizZs1SnCsi/Kd/k168n58fNm7ciFq1ainPJCAgwJAGCgBnHRwOR4UiKiUlJXA4HJwGdTeqkKfNHXBR2fwedRO6TnJyMh5//HGsW7cOffr04eccGBiI+fPnGz7noKAgjqRPnz6d8cNTp05VtOflfm3ZsmWF1HFkI1wgXcPLy4sJwQEoGEEhXJCmsnDSpaWlPJYqwi9LB7CnnnoKQhhnW6xWK+rVq6e8VlhYyGTsubm5vO4MGDBAN97cG613M2bMUK5ZXFwMf39/3ne2bNmiFDcK4ZJxpMyQEAKdO3dmrlY5FU57Yfv27RWYQWJiIn8/FR/JBUz0XZs2bVLW0n938/b2vuWxdDfZXelQnr7y4x92KEf96RQ07bcyeSztUZVvyyCkyFFcXByOHTsGk8mEyMhIHZ0F8XLJRoozNHEJd+X+edmKioo4UkaTlK579uxZCKGmscPDw5VTpVzRLGtyG+HqiNonOjpauR/iU5MXUJvNpgC5Z8yYwc4yEV/L8niUMvPx8WHniLg1LRYLR0O9vb2RlZWF/Px8vl8CnFfUKKIht8TERMyePdsjVs3pdCIpKYmjQPQ5i8WCrl27KgUZFD1LSEjgQ8FLL71keN38/Hx2+unE7+Xl5fHeST5RCMEcfELo6WLIli9fzs83KSkJ7du31xE9O51ONGrUCLNnz9Y5pufOnePNozxsEzmi9O8GDRroIrTBwcGw2+2G0oiAy9mRKUScTieefPJJXZSVIqV0/V27dnHhxpw5c9g5k8epXBlMzqTMx/njjz9CiJsY5x07dijUWe+99x6EMKYNInvjjTcghMvpWbNmjUID5HA40K5dO3Z68/LydNhceZMtLi7GggULFMfSx8cHDzzwAE6dOoXi4mIlUu2pit3dKEtRVrW1PM5atGiB5ORkBavr3nx9fZGYmIhKlSohNjYWgYGBhml0h8OByMhI1K1bF1WrVmWH0cfHB5MmTVKeM2UUaOwKcVMPmortZAekLAL4sowojSZNmqT05+OPPw4AOvJ9d2WVoqIibNq0CZ07d0Z4eLhyX76+vmjatCnmz5+Pb7/9ljHNRn1TpUoVLliU+4FEGdwj9oSv3b59O0pLS7F69WrFMbbb7Wjbti0++OADFoUYN26c7nujo6MxceJEdp6OHj2q7EN08KdDDmFE3R1tGfdvtVr5OtOnT+d+kmmIevbsyfOzoKBAd18BAQE4e/ZsmRj7O9nMZjN69uyJ33777XeNq/92uysdyj8aoeyffQw/l/6K987/rUypxtsVofS00Xp5ecHPzw8hISGsK00bVZs2bfg0J2PbVq9ejQcfdCn6dOzYUefsnD17liNV/fr1Q1FREX929uzZfLqTyZzdOf6+++47Re6OdJrdN/Di4mId+bhsQrgcCHnzGzVqFEaPHs0nUz8/P8ycOVPnHMuV2HI0llSChBCoW7culi5dyqkkedEuq5CC7Pvvv8fQoUOVRY82svKKUgAwMbcQLq5FonuRUzVBQUEYMGAALl++zDjTzZs3szM8ZMgQ5Zrz5s3ja1JkhWg+jBzb0tJSduqysrIQHx/PDqufn5/ivN24cQPr169H+/btdSTaDocDLVq04LG1ZMmSMn+7rJRz+fJlzJgxgyERcpM3s5EjRxpei2isiLjckzVu3JgjqHTPw4YN434hjXHZLl26pKTbjUj5idhZCIFt27bp/p6UlASbzcbRMIfDwem/sngoyYignuYBzbcdO3boxj1FkGXZQ/qs/PzT09Nhs9nwxBNPKNgymgO0tlTECgsLYbFYEBUVhatXr2Lr1q0YO3Ys2rZti+TkZPj5+RkWD1HBn9H65inF/v3330MI14F21qxZTOpO+uue1svQ0FA8+OCDWLJkiTJ2w8PDueCL5gk1d1Wtihqlaf39/fn5kGyo+/xevXo1rwPz5s1D27ZtdantoKAgtGzZEhaLxSOnLDli7dq18xiBs1gsqFmzJiZOnMiYdPkAQEwNTZo0QePGjRVBAzrUyRjeq1evQoibsADaIx544AElUh4UFKTM45SUFJSUlKC0tBRmsxnp6el8TXL4qUCRPkNjlPCaH3zwAUpKSvjgHBYWxvjSsLAwHD58GIcPH+bPDxo0CGvWrGFo0h+pLbgd7fnnn/9dY+u/3e5Kh/KffwBD2XXNR/jnz6U48W0+E5obtduJoXSXkapSpQoaN26M9PR0pKSkICYmBqGhoWWe9strlA6nf/v4+LDiivtCHRkZieHDh2PKlCmYPn06L2R//vOfMXDgQN74unTpwilgWmxko8XBk/MmhAvzZyT/FxwcjJUrVxqe9Ejnl9JXsmmapizqFLl57rnnlOu3b99ewc+RFRYWYurUqUoqlhrxnwnhSuuVp5JACzZh2ZxOJyIjIwG4nKyBAwcqz57uuXLlyigoKOB0a3p6Oo4ePcpRv6CgICWyQvhBd4yejJW12+1cbfnwww9zGp/waO5jMCQkBO3atcPYsWN5A4yOjsaxY8dgtVrL3YzJoSwpKcG4ceN4gXfXH3fv4/DwcHTq1AnZ2dmKgxQTEwOLxYJ//OMfHr+TAP6XL1/G+vXrFQ1gkpCkdKxscqQjJiZGUf64fv26UjxhlHqXC87at2+vpDY9OZRHjhzBfffdp4z7atWqYdWqVYb4VeCmjOiwYcMA3IwayrQrhDcjWAFBQ1asWKFz7iwWCyZMmKArEpKdxszMTI+SkFQwWKlSJbRq1QojR47EihUrlPf4+/tjzpw5CAsLU76/T58+hhkUgqR4ks385z//iXfffRezZs3yyEQgt9DQUBZloPH+zDPPcH9R2vVWjCA669atU16XI2nUMjIydP0XFhaGDh064Pnnn+exQtXiRjRBDzzwAIRQmT5oXSa+UKP5JYQr+DBy5Eg8+eSTumdXtWpVrFy5EqWlpSgpKWEcIkUHAZe4Bo1RGe5QXFyMzp076/qe7mPbtm1MaSVzxpJcoxCuSOyyZcuU+UMtJyeHD3oyuf7UqVMVNhL6/gceeACAi32B9qcmTZrgz3/+MzOo/Dubw+GoEGzpbrO70qEEfl+Vd5tlHyL/nyW4kPeTrgjHvUU//vxtG3yBgYE8acuLGgwePJg/V69ePZSUlDBO6ZFHHsH27duxZs0aPPXUU8wf2aVLF6WYJT4+HnFxcQgPD/dIol6RRpEud9xWfHw8nyYDAwPRsWNHPPjggxg6dCgmTpyIZ555BuvWrYMQwuNkp1Oou3300UdMTUQAe3cjXjlKJZ06dYpP+DKOx2QyITMzExcuXMCyZctQpUoVXqC8vb2Z88zhcDA5scViYQeL9HSNjKpICVdFp+nRo0fr3kv8ofKpPyoqCvPmzVMoMoQQGD58uG4jJm1pObqgaRrLpJnNZlSvXh0hISEwm81o2LChjkQ8MjISXbp0webNm3UpZ03TMHbsWH7O5HyWhQmjlJOsj7xs2TIuNJAd2MOHD3ssTCCy9ccffxxCqByq7kYOs6zv/tprryk4vuDgYB0VEFWW0sZNutUFBQV8P6tXr0Z0dDRMJhNDBT7++GOlOKN69eq6e5IdyvPnz6NPnz5K31M0bebMmR5/F3ATB+vOYED3Ls/B2rVrs0jAzp07FW7Zo0eP4tixY7rPWK1WQwJs+e/kNL744ov45ptvlPsoKChAv379lENCQEAARwfpuyZOnMjjknSrZQsPD69w5FS2nTt3GhZmlKd0Yzab0aNHDyxevBgff/yxx/lMVlRUBKvVqqtYP3PmjEd4R1BQEK8lnorGKLrunmWgqGqTJk10897hcPDvo4j1o48+iuPHj/Nhyv33m81m1KpVC3v37tVdr6ioiPeJefPmAQBjjWkMFxYWon///vycQ0NDsXLlSmzevBl16tRRvs/b2xtms5lx5UTLRPNQ7uurV69yOl5uRtjQd955h6/jrtJENGq0llavXh0//fQTH87/na1GjRpljqW70e5ah9Kdh3LGnrNY8s4FvPSJi5Nr/9m/Ysk7F7DknQuoMfMAqj39Nr4v+Bd+1X7Dgv3nMW77Z0rrvvajm9HJyXsQ1PbxOzYQMzMzkZWVhW3btulO0KSwQBXHAPgE7L7B0yZEm3q1atXw008/6fqKTrvye5999lmcP3+eMZq0ODVu3FhRsWnRogXq1aunpN3ljckdP3irzWKxICQkBLGxsUrUsFGjRujZsycGDRqE8ePHY/bs2Vi1ahW2bduGmJgYOBwOfPjhh6ylLYRLy5YUfw4fPqyLQprNZmRkZGDnzp1o0qQJhHA5oHLEqlGjRjCZTLxJV6lSRbcJ5efncwqJsKkdOnSAEMJQ91Y2T2op1P+eMGwmk4kjGJqmoWHDhnx/7huL2WxGbGwsevTowWpDFZEKu3z5MmNvhbgZFZDt2rVrinpIVFQUNm/eDMAVlRNC6CLtvXv3Vq5RVFSE7OxsQ7J1IVwwifnz5+v6kiKNRvjY9evXK9fIyMjA+fPnkZ+fz4cswKXJLWP0hBCsB37p0iVYLBb4+vry8zSbzZgwYYJHJSGCYMjORlhYGEaOHIm8vDw0aNAAJpOpzMp+uZDCaPzIqVxKHdJGK+OIExMTKyQvGhISgkGDBuHixYsclfeEt83NzUXnzp35++Li4jBnzk0lsUcffVSRXCWjA4KPjw+OHXNRs5HzLRcj3qpR9FBuLVu2xPXr1/Huu+9i9uzZHEn05AASZrNevXro16+f4mxSsdWKFSuYRNy9iMZut+vgSBkZGexUuuM2NU2D1WpVVLWAm8UqdevWNYzmJicnw9vbm6EkBD0iqV55DRXCdWiUfzORrT/00EPYs2cPNE3DjRs3eM4tXbqUMfVCuFLf9JxjY2MNlXxKSkqUoAfdFzmgiYmJCAoK0qlakbk/i7CwMCUSfPbsWdjtdlgsFsycOVP5PXv37oXZbGZntX///hBC/EfS3zExMRgwYMA9h6W8ax1KWSknYcpbuPqjZ5LfjIWHWJ7Rk7128jvlendCKccTbxc5RTI2TAhXtR2leIXQP0rSxhVC6Ip5ZCMyXbPZjG+++Ybv45FHHuGFqX79+mU6Q5s3b9b9BllSDHBh9Hbv3s2YMWpOp5N1tqn6NDAwUFkI5EX79zqpnqhM3ItNqM9SUlKwbNkybNmyBfv27cPx48eZOmfu3LmcckxPT1cWfMKXOhwO3iS8vLwqXFkuRyXdoQpC6PXPASAwMBARERHIysoy5ICk3+8emfjss89gMpkQGhpabnSG7IUXXuBr1qhRA1euXMGlS5fQpk0bBaNnMqlaxkSlQm3o0KGMOyyrSIrI1mX5Nvl5NWjQgMnWbTabIiNHtnDhQgjhojaRiyjIwXrvvff4vRcuXOCNMzk5WaEBoU1KCJXgesmSJRDCpeN848YNTJ8+XYmY2e129O3bV4Fo/Prrr7BYLIaRTdkoomeE37x69Spefvlldlao742ev6+vLypVqsT3NXv2bIUw+uWXX0a9evUULKcQLq5Cd8vJyUGLFi34eVeuXJnJ9QEwdpq+29vbWxfV27p1K/NarlixAgMGDIAQwmPmoTzLycnxuDbUrFmT0+hNmzZlfC/BRQICAjBt2jT06NEDNWvWRGhoqI53taxmMpkwZcoUVK1aFRaLBe3atYPJZEJBQYFCaE/4PjkyS/Np6dKl/Bo53DVq1PBYXElUZAUFBcrzpxYcHMyV0PKaQWTrDRs2VA53VDzZuXNnft29Sj81NbVChUx0oHXvw8DAQISEhOj4MUtKSvgzdL/Dhg3jdd/f3x/jxo1jyi6ipaPsjNxkaibilf13tPXr1+P48eO/W/XsbrC71qEEbmp5V4RvsqItfvIeRD4077YPRlJDMJvNqFmzJi5evIjs7GyMGDECLVu21JHgyouAfA2KbFKlp9lsZiyKJwoRwtNRlObPf/6zct3AwMBy+5pO2fKJMTQ0lDesQ4cOKY6kzKsnY3YAcGX0tWvXsGPHDsVBcpf+Ky4uxpUrV3DixAns378fL7/8MkvYde/enTni3JvFYoGPjw98fX1/t4SX7OyZzWYEBQXxvRKUwMfHh9VEateujalTp2Lx4sXIzs7G7t278dFHHyEnJweFhYUoLS3FpEmT+Jp2ux1FRUUoKSnB0qVLFUJjk8mlNd69e3dFRYaaj48Phg4dykU0QghDdRYAnB7t3Llzuc+ZzFMVZXp6Oo4cOaIU5QA3KXmoJScn87ghVZyhQ4eW+73kDK5btw79+vUzlPi0WCx44oknFBolipoS7jUnJ0dxcFNTU3HgwAEUFxczLIIcr+joaHzyySeMR6XvkwtLioqKYDKZ2JEWwuXYUT8ZFeXQZvfcc895/L1USFG/fn3GNCYlJXkshHFfE6i1b9+e06kkb+nJUaHxJh/ivL290blzZ7z44ouKlGedOnVw/Phx3TXc1UzCwsIMlXLOnz/PRW82m61cFSNPduPGDc6MmEwmhVJG7quUlBQEBgYiODiYP0sFLFFRUSgqKoKmafjwww89cq166ne73c6OGB1UKLK5f/9+pbgvJSWFv58ifzQ2Scq1cuXKHg95paWlHCWXx7387169esFsNiMwMLBMvHdeXh4WLVqE5s2be9xnhLi1yLFcGJWeno6zZ89i8ODBCqQlLCwMWVlZOH78uPJ+Iou/cuUKSktLMWXKFGVf6dq1qzKP3e8zICAAe/fuxW+//ca44zvZTCYTOnbseE/zT5Ld1Q7ld/lFZRbW3HJ7ci/iJ+6CNSDitg/KhIQEDB06FKmpqcriAtzkfoyPj8fPP/+MixcvcppLPgEaLXSEJyS848aNG5U0OpE50yYvp0togapoNSQ5PPXq1cP8+fP5OwlPaTKZ0KFDB3z33XcAbqY33GUSCW/Yvn17XLx4UdnYTCaXpmtZpOQnTpyAEK6ohBE+1GgDJ1ogh8OBZs2a8eeCg4MxfPhwrFmzBnPnzsWECRM4ndWqVSs0bdqU+0/mpfyjaRYZyxkREYG4uDjExcXpKs6pyb+zTp06+PLLL/HDDz+gefPmvMiW1Wfk9JZFCyMbkUi7L+SkFkIOpaZpysZH+Fc52l1aWspO8dixY8v8XiJFl/n1NE3DBx98gMGDB+v63W63o2rVqggMDNRpeFMxQPPmzXVROSq+IW1mar169UJRURGCg4NhNpuxZMkSNGjQQNnMGzduzNRCZVV5E6XKL7/8wpHGMWPGsNPoSV6RIo2tW7fGqFGjsHnzZj64yZW7lIYnJ9zhcGDNmjWIi4uDv79/mf18/PhxCOGqun3yyScVlSchXM6AHJGUTdM0xkbTYdZisXjU8i4uLmZn3dfX11BJqCyj6l4hXGldGlv+/v7sZB44cAAPPPAAv89qtTKVj6ZpXMTkjgn38vJCzZo1OY1bo0YN5Ofn81qXkpKCGTNmcGTTnR1BHoeyEg6t54WFhRxEAG5yKyYlJemcQE3TsH37dt14i42Nxc6dOwGonLlUZS/Tk5VnBw8eLBNvSJjmFStWGPItnj59mlPwZrMZFosF3t7eyhpPh0t3zC5BEbKzs3leAq4oPEE36L82mw2DBg3CZ599plzjmWee4T3x31mM83uj6neb3dUOJYAyeSR/T/Ot2e6ODEh3HE5wcDAeeeQRTgPR6Vk2KmxwOByw2WwoLCzk1EdwcDCaNWuGxMREwypNs9kMPz8/PjHKYPpKlSrh7Nmz+POf/8yvvf3222X28+XLl3khnjJlCjZs2KA4P6mpqcpGQal6IzJz4KayDkV8du/ercjQ0SlUtoKCAkycOFEnwRUTE4PXX3+d/y0XZRQXF3OqJSEhgZVKbty4gYEDB/LiFBQUhKVLl0LTNLz55pv8O8ko/UQna8CFbU1LS4PdbkdSUhLy8/Nx/vx5HD58GDt37sT69esxa9YsfmYmkwlJSUnIyMhQAOp/BIMqX8Nms8Hb2xsBAQEICwtDXFwcUlNTUatWLTRq1IjThb1798b48eMxZ84crF69Gq+88gree+89nDlzBi+++KJCfuxwOHD58mWW5RPCla4iJ402Fzny8corr+ie9y+//MIbilEltWyU+ibsnWxjxoyBEAK7du3C6NGjUa1aNWXjslqtSE5O5oglyWlev35dwReGhoZi1KhRuiKh6dOn4/3339el72vUqMFOiawYIjuUV65cYaeRhAqMUrRUPS1zy8pOo5HJ3LLU6DkVFBRgx44dyjogR8iMLC0tDSaTCWvXrlVS97GxsUpBVUREBMaOHaso/NAhxmazISgoiGECMobS3eRIure3t0fMpmw5OTksN0q/V7aqVasyrpCgJ99++62ur93nit1ux5QpUxQ6MmKs2Lx5M2chRowYYXhfBFEQwgUr6NmzZ7lpdD8/P163AgICcOjQIfzyyy8AgPfffx+ZmZlKBJaEFIQQ6NSpk/L98vOJjY0tl40CUIvXCCsvhOtAIe9N7opW/v7+yMjIwJw5c3TZoJ07d7IOuAxDIY5MggaZzWZl/6lRowaP3Q8//JDnJWE2X3jhBaUYjq4hhIv2q6CgQKcsdSdbTEzMPYeV9GR3vUMJAKvez/nDkcmEKW8huNlDt30wBgUFcbQgJyeH5c3cF7qYmBj06tULO3fu5DQISXo5nU5YrVbeMDzx9ZFaSd26ddGqVSuPKhYmkwl+fn68eFBqd/v27YbX1TSNC1zkDdJut+Phhx/mFGLDhg15cSPtZTqZuxtJwwkhdLrUixYt4oW5SZMmmDlzpnKq9vHx4UiD2WxmR5YW7F69enF/k8PwwAMPGEbwSkpKMH78eI4WOZ1OTJ06FQ6HQ6GgkR2Mjh07AnA5lFQ1SfRFsq1du5YX6zp16mDVqlV44IEHEBkZqTx/u92Oxo0b60jEz5w5oyuykKMrMj6qVatWqF+/PqpVq4ZKlSohKioKwcHB8PX1NVS4uZXmcDjg5+enqJTIjYoyaBNZvnw5XnrpJezfvx8nTpzAlStXUFxcrKSb3dU4ZCOS/8qVK+v+RgeH1atX82t0eElMTETt2rV1hQnx8fHs8A4cOBBDhgxR+r9169Z49913ddFPOjCRljdBVmJjYznSKLMKGLXQ0FC0bt0ao0ePVpxG0nB2l7MzMnduWRmLJoTgeVtaWqoU8AwZMsRwzLtL81mtVvTt21eJSJ09exY9e/ZUnNRKlSrxoaBjx45cgf7555/zuPSkyuPv74+wsDBs376dyeZlTKFsmqYpz4j4aN0zHZR2p3WvQYMGHnHqdrsdWVlZfCCRi+3OnDkDIVTRASM8K9nGjRv5ukZWVFSEl156SbfmljfPnE4n2rVrh4MHD7KzSeIJssmMHkK4iqw8Kadt2LBBodd68MEHkZ+fj9TUVJhMJuTm5ipUUE888QRKSkqwY8cO9OzZU8ctSwdXmXuYnsO0adMAuA7x9P7ExERcv34dmqYhPDyc12z3356dna2799dff133XqoVkEn273QbM2aMx7Fwr9k94VACrkhl5en7bxlTGT9pN+KeeB3xrfresQEZEBCgRB+owlgI12m9QYMGiuNASjjuzoTFYuGKWiPTNI2dlePHj/OpWwjBi1C3bt3QqlUrQ35K+m4/Pz8kJyczZpOuI79/zJgxvCBrmsaULMHBwcjJyeEUq3uFL+CqFJYXfnf9W03TsHr1amUzM5vNaNmyJQPG6ffIxR5hYWHsOI0dO7bcjcv9O+fOncuOB20AV65cYfnJzp07c3Sme/fucDqdHGGVgdpff/01O8Bms1lX9RwYGIgWLVpg8eLF8Pf316lgyEYRbGpNmjTBwYMHlQIZIVw4pvXr15erX074rR49euDYsWN47LHHOCJjNptRtWpV9O3bF926dWMsXXBwMJKTkxEdHc2A+9sxL2w2G4KDgxEVFYVKlSqhWrVqaNCgAVq1asURis6dO2PatGlYunQpNm3ahFdeeQVCuGhUqM8//fRTCHETq0vV5pUqVdIR67vPS/ffQg6zv78/Bg4cyHNQpnCR5wr1XVxcnOI0pqWlGVaFAzcLRdq0aVPuuMzOzuZNmPheSYWKHEK56Gfv3r0Q4ib1kxzp1zQN8+bNUw6Ew4cPL1db/tChQ4zLpN9eo0YNzJ49m+c4pYJ9fX11mRZKrxOGtqyD3ltvvcVzMCEhgQ+yVKQBuDIVq1atUg4y1KhPZs2ahfz8fGiahpkzZ/Jz9PLy4vQ7FcQQxpf6jWRBPVlZhZKykaMm91taWpqyHlitVo8Yb6p2NpvN6Nu3LxYtWoRdu3Yp7xk+fDhMJpdM7Guvvcb3N3/+fO5Hu92Oxx9/nJ/Lvn37eA0DwFFGatTXV69e5WiszWZDw4YNdcwZXl5eSE9Ph4+PD0wmE1599VUee3a7XXm2Pj4+SE1NRUlJCXOFytfp2LGjwk8qSzbKUIOGDRveUkHV72nyM5ML+u51u2ccSsCFqXw4+xgSprxVrmNZaYorKhnRZ+4dwUzSZij/OyoqCuPHj8fAgQN5k5JTSdevX8eyZcvQqlUrQ/B0kyZNsHbtWt1JXTb3SkiTyYQDBw6w5JXMh1e7dm3YbDZcvHgR06dP50hlVFSUkpIz2nATEhIwbtw4bN26VamEpcWNPvvQQw8p95efn88LDuEwaUPcv38/WrRowd9hNpuRlJSkbNrkfNLGIUdVLBYL6tSpo8hFViS15m5r1qzh6JQ7r5pM2UPfk5aWhuvXr2PJkiW6VA0thvfdd5/hs6PCDaP0Gjl/VapU4cXVZDLh5MmTuHbtGl8/Pj6e78VqtaJJkyaKfKC7EZ6Roqfe3t6YMGGCYerM19eXydpLS0vRtm1b/h73hXf//v347LPP8O677zLx8ezZszF+/HgMGjQIPXv2xH333cfa8UIITs/7+/szdc7v5U2lKD59Pjo6mqOV/v7+ZSqxVKQ1adKEaXYobW+EoaQCnsaNG+v6kyrMyyukAG4eJnx9fXU4OYrKUSOOUpImPX/+vBLpj46OViKwNWrUqHDVP3CTuqhy5cqoX7++4gCZzWYEBATwIdH9d9NhU46+u0NRcnJyFLnRBQsWMMvCwIEDsWjRIjRr1sxwXUxMTORDOhXZuJumaVi5ciU7JjRuZXiHkSyoJ6Pf6kmWFQAfRI2clXbt2iEnJ0d5f1FREQ4ePIg5c+ZwGr0s7lCaw5mZmTy2a9euzeulj4+PoUQpiQjQWkQOJWWszGYzHnzwQZ5HnTt35t9JkcGlS5di8ODBSE1NNZxXvr6+StFeaWkphHAdIGTqIpPJhMDAQCXS7+/vzwd3wrJOnjxZV/h3J5rshNP/VwRScK/YPeVQkuX87SfM3HMOLZYYkZ/vRcyw55HSZypTA92p0w5xDj7xxBPo1q2bDusYEBDgcQEjLVlPLTAwEC1btsTSpUvZKS0pKdERZRMuhU7VlK4FwNEhsiNHjnBRRdu2bZWNPSMjgyObnhZJPz8/Joem17t27crXLywsZNA6SeBR9FNeOFNTU7Fo0SKeyJqmYcSIEXxdGcNEEcu8vDwIoZ5kPcmcVdTke6JKv6tXrypFCe73TgtyixYtsGXLlgptUJGRkbBarUqUUwbv04ZAiy5FEun7Ll26hNLSUqxYsYKxcUK4HOr27duzU/2vf/0Lw4YNU8b7tGnTyoxqEhbxk08+YUhBq1at0LJlS5jNZqUi2N/fv0xHVjaZVFxW2pCNDl4LFizABx98gNdeew3r16+Hv78/HA4HV7nTRli7dm2OXP/RNL/786T/ytfPyMjgja9GjRqYMGEC5s6dy1iz6dOn44svvsDf/vY3/Prrr5z2K6+Q4saNGxxF88Qte/36dT440v1NmzYNLVu2ZDqnGzduKDRItNbZbLYKO07ATXL1evXq8Vih8eZeREbzWyasdjqdyjojm7uOdIsWLXDmzBm+b3ktocNu9+7dsW3bNvz888/Mz1pcXMxFKqGhoWX+npdfflmXyu3bt2+F+wO4iQE3YlagKnr38de8eXM88sgj/HqHDh3KdEgBcCRv//79yiEiJCSkTGfT6XSiTp06HNk8cuQIfvnlF5Y5HTx4MH8HOZT0nKkFBQXpFI1iYmLg7e2tu88ePXoY3ofFYkFycjIX7s2cOVMhV+/VqxeEENizZw9yc3MxbNgwBddMwYdRo0Yx08jtmNOemt1uR0JCAux2O9asWQOTzQvH/vI9Tl/5Eedy/4F//lzxQ9jdaPekQynbiy9vgy28EsbMWgZbeCWERcXe8XA5NcIbETfdzp07eWOSI4g1a9bExo0bebE+duwY/33o0KFMx9OiRQu8/PLLhjg8mc5Elggj0mZAj8cxm81o1qwZ//vKlSsKhx8tfLt371b6lDSrP/74Y2zatAkjR45Eq1atUKlSJcMCIapcpevVrVsXzZo1U9LeFosFkyZNMqwsJKNUonxtigzJp9cePXpwdINk7H6PkaPSt29fhQfOPYImV82TAsWtGKWx+vTpA0Bf9U9GCz6lzGgcudtPP/2Ep556Sim2kKPG4eHhzINXtWrVMu/t5MmTym9+6qmnALiqvOXx16VLF97gGjVqhL///e/l/m5Z9tCo+ry4uBh2ux0hISHK67LTdOXKFURERMBqtaJNmzblOpEOhwPVqlVD//79MX36dKxfvx4bN27E3Llz0alTJ8THx5e5PsgR1N8bSSWuQn9/f4SGhiImJgYpKSlIT09Heno6/4akpCSMGzcOM2fOxHPPPYetW7fi7bffxsmTJ/Hdd99x1NBkMrGD5OfnB39/f/To0YOvQ5kRitb6+fnpYCaezBMXKxnpQRth4zp06MAOzLhx43Sf/eyzz3QYVHeHITo6Gn379sWePXsMI6oBAQGIjY0FcFP1pSJ8sEYsBq1atfKIRXQ3EoSQ6bHceT6pzZ49GyaTCWFhYSgtLcVf//pXRRd+zZo1Hr+HGC2oqIkYKHbs2IFvv/1Wx7ErQ3bKmguys/n0009DCKGk/gkrKR98cnNzIYRaJFRUVMQH/OTkZD5gUVQ6NjbWkM2gevXq2LNnDwoLC2G1WpUDBx2WmzZtqlDKJSQkGGaAbleje382exuC2j6OBnP2cX0FtcQpb6HF4vcxc8855PxNf9C72+2edyiJOkTGfvzejaCizWQyKfieli1b4vnnn2dw+aVLl7iSOCIiQqG6kB0XAiATGbgQQsH3lJaWYuPGjR65xei6VMGdmprKlZjffPMNhHBhIc+dO6fgOuVF3kgKjzBqI0eO1P2NZNhkx48Ifz31Fy186enpGDt2rJJGd7eZM2cqn/H19cWqVat4YZUjBuRYe+LnLMvIqavoeImJiSnTGS7PiJuTeAmNqv5JDUY+MJjNZo/fe/XqVa42lltYWBhGjBjBUQXSIjeyp556ij8nEx7LaX+TyaUEU1hYyNrvpHRRnuXl5TGPoFEhxKRJkyCEy6kfM2YM2rRp47HwwlMLDw9HdnZ2ufhS2UpKSjB79mzD7yKHs1mzZvjggw8ghEBWVha+/fZbvPfeexDCBVN49tlnMX36dIwePZrTub6+vmjYsCFq1KiBpKQkxqX6+fn9oeiLETzFarUiLi4ODRs2RKtWrXQV57Vq1cLzzz+PN998E8eOHcOlS5eUMSdDLspKj1PEKSIiArm5uUphELVBgwYx3c/Ro0cN8Y/yfQthTPTubjVq1GC6qO+//54/7+lZa5rGEWSC58iHaCFcnKCnT58u83tJ6pXGAY0Jk8mkFEM+//zzAG5ywXbp0oWv8corr/ABvHLlyvj6668N75fmud1u575t1aqV8ixlydelS5fyb9u8eTOn0SmqStCSssYTXd9qtXJfjBgxAkLcVFU6d+4c7z29e/dmGc7AwEBeMwnjLut5u1PhkdM4dOhQHnP0OeKhTExM1DGl3K5G99Nr4HAkD1nugsRNLbv2giB1D2cfw3f5ZUeZ7ya7px3Kc+fO3ZEBWF6jlEtYWJjijJhMJiUlSOoqlCJxL96oW7cujh07hvr16/MiS/x8mqZhwoQJfP0uXbqgqKgIW7du5Ukin1CpUlcIl8LN6tWrIYRQolgNGjTA6dOnmSdSCBcOR8Y+kZFms7stXboUQghWh3A/UTqdTtx3332YM2cORzbLq0ZPTk5GZmYmRo8eDavVCj8/P9y4cUN3ApcxO4DLWSEqnbJwp4BLQ3zYsGGoUqWKbmM3m80YOnQoV7Du3r1b+W76f6py/D0m93l4eLihGsOVK1f4PU2bNuUNxel0KhQ7X331FZo1a8Z/r1KlCt599118+eWXePDBB5ViL7p3d9qo0tJSpu8h7B1F2jVNU3Cu7pq2Bw8eZOhBdHS0ITG2+++iKEaHDh3Qpk0bJCUl6eYDjQm6n5SUFIwcORJCCEN+wOTkZAWj/Hvt7NmzumIE9xYWFoYnnniC+QxlyqurV6/CarXCx8fHo8oGSf75+/sz511JSQm+//57nD59GgcOHMDWrVuxcuVKzJo1C1lZWRg4cCCnmN3nAkVAK+I8lNd8fHwQFBSEyMhIJCYmomrVqqhXrx5atGiBzp07M7WPw+HAokWLsHHjRl361FNLSkrCyJEjcezYMZSUlHCk1dvbG9euXSv32fTp0wdCuGRpSc1LCL2YAuAqBqT1jg7uo0aNAnCTyF9Ot1atWhXvv/++7jqfffaZTjI0OTkZ8+fPx65duxiLbrfblc9RoaJcWFlSUoK+ffvy2B46dKjOGaY1fvny5UrErlq1anjnnXfgcDgQFBSkfOajjz7iOTVy5Ehomgan0wmn08nXP3PmjDKuQ0JCDOecEDczHFQg1Lt3bz6guDMVnDp1iteeWrVqKesFOb7Xrl1jsnX3Q5vZbEaHDh2wceNGrsCfPHmyIhN5uxr1rX+dDkiY9MYtF/UmTduHytP345Xj+j3ybrR72qGkQX+7B2F5zW6345dffmF+Qvd7oIWKcCVfffUVR51q1aqlizjSxKUFad26dZyOjYyMVHAuFLYnWUTSBpdTzu6tdu3anOopKipimiKK/Pn6+uo0x7t37w4hhI47r0qVKuxkyN9BC4ynFDTRecyePRubN2/GyJEj0bp1a06jG1XYGv0WIgAmo6pgmSdN0zS88847ePTRR5GUlKT0i6xL++KLL/KGdeHCBZSUlPC/qfn4+CjP16iqvSImExaXlY6k99BC26xZM44STpgwQcGX1q1b16Mzd/jwYdx3330KDistLQ2rVq3CpUuXOLXWtm1bfPHFFxDiZoFV165dlT4wor7RNA1jx47lvunevTsuXLiALVu2YPTo0YrTaPQsfX19kZSUhDZt2nB0jwqXioqKIITwqF1tsVhw6FDZUqu/x/70pz/p7pXmpNEcHzlyJD755BM+MBEpvGyFhYVcJJWenn5Lsm5HjhxRVJSogIEcCYqOlZSUwOFwcCHQtWvXcPbsWWRlZfFGHxUVheHDh2PIkCGccrTb7ahVqxYqV66M+Ph4hIeHIyAgAD4+PrDb7X94bSUGhNjYWFSuXJkdU5mEvnfv3pg3bx7Wrl2LHTt24NChQzh79iz+/ve/Q9M0PPfccxDCBcshZ54wtkS9AwAffPABH0TGjRuHgIAAhV1B0zSmBnvggQfQvn17ftYJCQlYt24dBg4cqHBA0j1Syv3gwYMcSRRCL6F648YNXlvdD+lnzpzhcRIYGIh9+/YBACZOnKjrN5vNpqwRlNVYtGiRcs38/HzeV2g+E9fu4MGD+fcRjn3r1q2MU6xSpQoOHjyow7J64vWMiIhA3bp10bdvXyxcuJD3HZvNhpo1a0IIUaZKEkUm6fe7f0d8fLyC175dLTAwEKEtH74tHNar3s/x+PvuFrtnHcpz587dFsLoW23kjFAqg9IGJ0+exJUrV9ChQwe+L5rk5NCMGjUK+fn5EMLFjXf16lUMHTrU0BE0m82YOnWq7jfTJicbpXQ8AafpHipVqsSRHuIFo1N/QECAEu05ffo0hHBVYALAnj17mCzXfeEZNmyYoj5Ru3ZtXTq3tLQU3t7e8Pf3N0xXUUTS398fffv2VfrEk0NCkU363uTkZMTFxSkboY+PD+rWrYspU6bgL3/5C5NXUxUvnYozMjKU9BSd1tPS0lBQUKCk+ZxOZ5m4KHfbtGkT37MQ+ipZMuLutNvt2L59O4QQ2LBhAzZu3Kj8pmbNmpVLfUL222+/Yfjw4YZjolevXvwsQkJCEBAQwPx6Mo5TTodevnxZcRrd+1t+ZrLTOGbMGCxcuJAdFXfnKygoiLkEKcUqhF4wICgo6Jaql2/Vrl27ZqiS1L59e+Z3dDqduvvy9/fHoEGDcPDgQe7TEydOlMsta2R79uxhR0Ee++QQHTt2jKM+L730EsvTbdy4UXetoqIiZqMgTLUQxpALIyspKVFoZ8pbc4OCgpCYmKjrwz+6VlNUUF57/f39UbNmTYbwmEwmtG7dmuE9HTp0wJ/+9Ce88847OH36NL777jsWHBg4cCAuXryoEKvTejFgwAA0b94cJpOJU99vvvkmFzRSdFamOiIjiERcXJzhOjd//nx28t0LIKkQjhRmyDRNg6+vL3x8fHTX1DSNC+tMJhPWrVun0DKdOXOGnx8VcDZu3Bgmk4mfPxWXyvcUExODp556Cr169UKtWrUQFhZWbiQ8JiYGCxcuxJEjR3SV03QwI6qhoqIibNq0ifla70QLCwtDTIsHb6swyva7PFJ5TziUP//8MxMnFxcX4+jRo3e8GsyoPfbYYxgyZAiEUFNQ7oov+fn5uugpcbTRiVROQdavX1+p5pQn9+zZs3niU3RKpqPQNA0LFy5UPhcVFYWAgADExMQgJycHU6dORb169ZQFgQice/XqxcD84OBgBa/n6+sLm82m2xweeeQRXpgrVaqk3AuBywMCAnDu3DmlX4jXzogknNJCo0ePZm42qmin9HrTpk0V6TNPmxTpcmdkZGDs2LF4+eWXcfXqVV445RRubm4uP0uHw4F169axNrDdbmeFDkDvbPj7+2Pu3LllYvco6uXn54e8vDyOFhhFKWkxt1qtjGeiymuTycROBKn23IpRoZV73zkcDrRt25b/TlJrxLNJTqFRpFF2GtPS0hSpTyMYBeBy4Il/78iRI/j555+xYMECJcXo4+MDLy8vOBwOZU4QtdOdttLSUkOnkpxISpMS5tVut+vI1im1ajKZ8OKLL1boezdv3szP22KxoHv37rh27RqPeblI6/vvv+dnYjabmfrJk3300Ucc7SWqMSMrKipCdnY2OnXqxBXrch+kpaVh/vz5+P7775VCMLPZjD//+c+6flyzZo3CmGC1WtG2bVt8+OGHOHfuHPdTnTp1sGnTJixbtgzTp0/HqFGj8PDDD3PxB2VgzGYzoqKiyoyo/Z4mX8dsNvOzlrl+zWYzsrKyWAb0008/xeXLl/Gvf/1L+d0UjRswYIBhH69bt05Zi6kPXnzxRQhhLF9K3KYTJ07U/Y32JGoWiwULFy7kv7s7lHRYlfHo8vjt1q2bxzXtX//6Fw4ePIi5c+eWS3lEkU06INIcz8rK4usRhtI94/VHm8PhgDMiAQmT3tAV3lBLfWo/1n14EX8rLEbxL7/is+9+RP//T0voqVWevv+uxlTe9Q6lfHr6T7e33nqLFWLcJ/CUKVN4EspE4PJCFRgYyETXZDk5Obx4+fr64oUXXoDJZILD4VCkuggTRGTJmqZhxowZvEnI7yVFiJYtW/L3fP755zCZTAgKCsKsWbPQpEkTw3Si1WrVEbFHRERg2rRpSExMhN1u59OmEHoeSgCcSrdYLNiyZQu/rmmaIdE3UaRQVMzpdOLEiRM4f/48hBCM9UtPT9dpEpvNZqSnpysOUUJCgsdUqxAuR71NmzaoW7eu8h6CFqSmpsJms8HHx0dxKAHXYUHmMhPClYIcP3687lS+c+dOmEwuGT7SP798+bLCzek+zuk5y7yT/fr1Y0efMIUVlbcDXLKI8sZ48OBBnD9/Hl27djUcA+7NPdL48ssv4/Lly7rvKS4u5nS52WzGuHHjDDem48ePGxKOU/Tyiy++ULBkdL1/J1+cjGcV4ma6mcbnuHHjeI4SFvDy5cuYMWOGTu7RZDIhOjoa3bp1w5/+9Cfld2iahmXLlvFnbDYbBg4cqKTGGzZsqBwAyC5fvsz96J7NcDeCXHh5ebGT3qFDB+Tm5mLlypXIzMzU3bes+0yZjebNm6OoqIgPlDJUp1+/fobfvWzZMgjhOgjJUTlfX1/07NmTU50xMTE66A3gil5HR0fDYrGgUaNGAG5G/YVwReypT0ePHg0hXLKqhEtdvnw5HnjgAd3aIYTrUJiSkoKYmJhyqXrKa7TmyST5gYGBSExMRFpaGmJjY3WBEPnfdIhbvXo1CgsLdXOH7k+mhCosLNQ5w0LcDGAAeodS0zTY7XauYKeDvrxP/fDDD2WOJ+Jrldsnn3yCgwcPMl1QrVq1DNPbNM4jIiKYPutOtJj+C1CpDOdwz+ff45dfNaw/fBFTXj+Dk5d/xC+/aui57uMyMZUPZ+slY+8Wu+sdyv9Uatu90cSX2f1NJhOOHDnCJ6+IiAi89dZbjJVp1KgRPv74YwjhkiikU6DZbMbEiRMxcOBA5aRNThbx87300kvYsWOHIsVmsViYRkUIF0XIzJkzoWkaL6a0qBAZcmlpKYKDg2E2m3VRw+vXr2PWrFk63jYhbjpMdevW5Q2WnClKsxg5lIDLaaDUlMyJtm7dOgihVi0SmbYQrujWN998g6VLlxqmQ0JDQ3Hfffdh5cqVzHFmMpkwZMgQrFy5EkIIxZG+dOkSNm/ezPcdERFhSHNBz5g2vMjISGXRlU1WAurbt6+hM7Bv3z6l6l82cn5lHCDJlsmpVC8vL0M+QVnebtmyZZ6mDi5fvowlS5bw7y2ritLTHPNUjV+WffrppxyVCA0N5d+5b98+NG/eXNlETSYT5syZA03TsGfPHo/3V9Eo3+20J598UncfVatWVTDQbdu25QxCQUEBOwW1a9fGpUuXuDDBHTcdFhaGpKQk5VCSlZVl6DRTBoEafR+R31OU0lPUkZyvwMBAnD9/HtOmTTOk/woPD0fHjh2xceNG/POf/1SuERERAYvFAovFojhdVLlMUUh3jPP58+c5Y0C/7dq1axg9erQSlaYxarPZdKnkWrVqcURv2LBheO+995SxTA59UVERbDYbwsLCAOjHm9lsRp06dZg/lua6uzOuaZoiBUttz549uP/++3ltnTt3LiZMmIDBgwejV69eaN++PTIyMlC7dm3lAHI7nFS73c7X8fLyQnx8PAcO6LcRDyY5cTExMXj55Zcxffp0COHC5pOTSmsrQYCEENi1axcXc4aEhHhkl+jUqROvs/KzGzRokPK+0tJSBAUFwWw24+TJkzh48CBDh4KCghAWFnbHMo3O6JQyI40PrHYVYM7bd16JPn77wz9x8vKP5aa+v752d1IK3fUOJeAqvvlPpLhpkf3iiy+Qm5vLmEiawMHBwQBcC9CkSZOU9JxMuRMQEIDQ0FDGssnpNF9fX6SlpcFms/H73fn5aKN1P+1ZrVa0b99e0deVNwpKxRNh7uLFi/l9RUVFmDVrli5iIKusGJ3ohXA5fdevX+cFyZMVFhYyRkkuSAgPD4fVakVRURHLhNEi5i5RSc1isRg6VzLYPSAggCMnMj/nqFGjIITrMEDOnNlsxuOPP45NmzZh9OjRTJpshBOilHVSUhIyMzMxZswYrFy5kuXIduzYgRdffJHTlTQO7Ha7IdaRIrIJCQkoKSlRqH8oMmcymbji38hkebs6depwkVNZhTB+fn78mfj4eI40kpwfOT0UEaYWFxeHqVOnlltJ724zZsww5HRMTU3FkiVL8O6773KRw8aNG5UImUzbIkf0/93mfv/VqlVjtRpyaiwWCzIzM3lj9VSYVlBQgOXLlxtWlAcFBaF169ZYvnw5fvzxR+Vz7lmR/v37A7jJlfjSSy9xdPeDDz5QPkvygGazWYn6UraCIpyVK1fWKbvIFhoaymOKuDpljtP8/Hx4eXkpEdvS0lKEhYXBZPJM9J6Tk4N+/frpHO5mzZrxeJPJ2wknTmo7NFYA4OGHH4YQrgOwfGhMTU3F4sWLdc56cXExPwt3GI5MgyNDBex2O5xOp8d+kq9NRZl0jVmzZuHMmTO8d1y7dg3nz5/H4cOHFQfZZrOhTZs26Nu3Lzp16oQWLVqgXr16Cqzkdu+HJpMJsbGxSE1N5XXMbreja9euGDRoEMaPH4/Zs2fz+lq9enV8/vnnsNvtvHYKIbjYCLhJvSTvO4BLwMFisaCgoIAp6m43ZVBKn6lInGKc6k6Y8hbWfXgRpb9qqD7zgPL6ore/AgA0XnCwzCjlzD1qYOZusXvCofxPRikJs5Kbm6tLw1WrVo3vkRY3eRMkbV7CB9JpjTYhmcLBZDIpuDjCWs6ePVuZbLGxscjOzsaMGTMUOh4/Pz/06dOHsXdCCOTm5rL0X0ZGhoJpklNo7dq1UzYiUnGpVKkSL9Ke+j8kJASzZ8/2iJnTNE1HmUKVm0ZpzdjYWPTu3Rs7d+5EaWkpc6t5UuIgW7hwITuDVBV94cIFHDx4EEK40ndyxNU9tUbOfmRkJBwOBy5dugS73Y7AwMByHTX6XJs2bRS+T5PJhMzMTF2EErgpdSc7WosXL4amabxp0In/8uXL2Lx5M0aPHs2V8Z7oP8jxpUIFm82GV155RfluSn9v2LBBcQSo2lvmEOzYsSMfgEwmE6pUqYJly5aVmX6+ePGiEimRn++CBQuU98raxWazGY899pjuN1Fh2H/C5Oi5nKYPDw+Hpml47bXXlMrgmjVrGkZ1CwoK0K9fP3YEwsLC8Oyzz2LTpk3o3LmzjqbG398fTZs2xfz58xU6Fco0ECF2zZo1AbiobohK7KGHHlKievTs4uPj8dBDD2HPnj0cqSqP1kbTNF2ElNYd+dAG3NQZr1KlCoCbkoyzZ8+uUF8fPXpUx6tauXJlnTpYREQErzdUYeyOEY6JicHkyZPL5Y4tKipi6jOqor58+TLPSxJ98Pb2VuZq+/btDde8wsJC9O/fn58zrd0TJkxAaWkpQkJCYDabcfbsWeVzlPolfKYQroOi+zpFvK3y+imzgNy4cQMXL17E0aNHMWzYMKWYqW3btujfvz9atmzJY5n+5u3tjeDgYPj6+hrq2t9Kczgc/Bsoy5Oeno5GjRohMzOT18hKlSpxJsMoQ/Z7m4+PDxJGby4zwvjnnL8j528/6V5/aOMnAIDHNh8v8/Mtlujppu4GuyccSsC1Ad8uqbWKNjrlPv3005zilGW9TCYT3njjDV7MQkND8c0332Dbtm0cKUxLS8Pbb7+tXLdly5a80O3cuVPBP9JC9Ze//EVZwPz9/RXiabK8vDyMGDGCaYbkRrq33t7eir6yxWJBw4YN8eqrr3oEXxOwXCZiDwgIQElJCXbt2qWj16H+qlOnDp588kklMvfZZ58xIbZRCwwMxIEDBwzvhVIyhJ0qywoKCphvjhYW2Rl3Op0eyZSJNFmIm3QgTqdTh6EEXGl0qnSmytvymp+fHx566CGsXr0a9913n64AKysri+mU5CIho0IYOVo6duxYjgR4e3vj4MGDXI0fFxdnyPVXVFQEPz8/WCwWTu1RqjI2NpY3IZn3c/fu3WjatKmSPqxXrx5TkVy/fh1ZWVkKL2lISAgGDx6MK1euYOfOnRzpSU5OxldffYWlS5cqTo+3t7ehPnJ5PJd30uQ0PMka0hzatm0b02v5+voqcyUjIwPnz59Hbm4uOnfuzM87Li7O4xgsKSnBjh070LNnT8TExBhu6gQ1oYje9u3bMWrUKFStWlUHJaD7pGdUlhnR2uzfv58PBWazGSEhIez4mEwmw0MFwXXIEa9fv/4t93lpaanHIo2qVauipKSEx5s7P2mHDh08Hm49mSwZO2fOHD6sUQEUAC42FEIVHmjatCnOnTuHvLw8dOnShZ9zbGws9ztFQWmtcD9UATcPmM2aNUNRUZGCCZ88eTKuXr2KOnXqKM9WCNfhuCw7ceIEr4EtWrTA+vXrWfVIxi8a9RmlyuPi4hheVKlSJWzZsgUrVqzAzJkzOZoZHR3Nh395PwsODoafnx+8vLzKFcC4Xc3h9Ee8h0IcahfyfsJHX1/XvZ757IcAgKm7vijz84lT3rorZRrvGYfy30liHh0djR9++AGFhYVKGo5oOWixlB3cpk2bKgusEaehEC7AtbvVr18fFotF0W+WW0ULEs6fP68sfO6tWrVqWLVqVYUrZYmOhJo7CbAQLjnBd999FwMGDNBxPrpviBQ5dL8vowIPMlLOkTXKy7P9+/frqnT79OlTbh/SIYAwXJ4cSnc7d+6coqQxY8YMptWJiYn53YtoQkICO40vv/xymRvlzp07lb7v3LlzmU4EpZqob8gIh+t0OnVE8oArYvX888+jZs2ahs/S6XSiR48eTN4tW2lpqY4Q28/PD7t378aOHTv4NffI9a0o4Nxuu3jxou43Tpo0SUmp1qtXj+EYJ06c0CmzCOGKtN2qopOmadi3b59Or9uo2e12VK1aFd27d+fn4glyUZYtWLBAcUwtFgvmz5+PiIgIREREsLABcTMa3TMduB0Oxy3xbrqbrGblqTmdTnZ6ZdnZW7X8/Hwlol6jRg3FoaQoMZGZnzp1SlE4o5aamqo7+MsRT3fKNzLC63bt2pVfk/H51Dp16qSIJJAYQVmWnZ2tXMPX1xdnzpxhiiNSVzMymSezSpUqurlIB5wpU6YAgLLnueuEy3b06FHlnm5nhNIWXqlcDOTlH/6J9y9c073ebJEL7z1777lyr3Eu9x/l9v1/m5nF/+y2G4Ay/24ymXTvM/rMb7/9VuFrm0wmj38r737K+075+rfjWu7X/e233wyv7f5v6rdbsVu5X9nc770iv+WPGN0n9TP1yR+9JrXy7r+8vnc3+Vnc6nOR76si91LW337PmPi/YGXNfaPf/0fGcUU/W95zuZVrkP2ROftHn+2tztnbMd9u5VqenvPvuQ/qK/c+u9V5fSvfVRErbyzQ393/K8SdX3M9mcliK/c9P5f+JuwWvfvksFn47+XZL7/+Z37fHbXb76P+37T/RMqbIiUzZ84sM+VNVW+U8t66dStHu6pWrcqEyNRatGjhMeXdoUMHfPfdd8jJyalQyjs3NxfDhw83THlTxNDLywuNGjVSUt4NGjTA9u3bf1fKe+fOnYZ6vjKJuAzwP3PmTLkp7/3799+WlDcpCdH9yJFKp9OJP/3pT4afvdWUN6Wn5Qr8spq/vz/69euHNWvWoEOHDrqxnJWVxWn08lLeMo3P6NGjuTiDUt6EUSor5U28fpTyfu211wCoKW85QmOU8q5fvz62bdsGTdPwww8/6FLewcHBGDRokC7lnZKSggsXLuhS3l5eXv/nUt5vvvkm34fVauW5ajab8corrzC+z9fXlwvcTCYTmjVrhq+++gq5ubm6VGhZKe/t27ejR48eiI6ONowAEy2TnPIePXo0qlWrpuOZpble0ZQ3yRZ6SnkHBwdzmtRT1oRS3jQmb3fKOy0tjVPe48eP1xUOesI2lmWeUt7y9ipnfuRCRoI25OXl4YEHHuB+j4mJ8Zjynj9/vu4eaD0lWiYq6LFYLHjyySdx9epVplf6IynvDRs2VDjl/dRTT0EIVwGfnPJ+8cUXsXz5csyYMUNJedMzk/ezoKAgJeX976iF8ImpXG508Y9iKO/WCOU94VD+XynKcS+EcC/Kke/Ry8sLGzZsAHB7i3JiYmKwceNGTJ8+XdHpJoUZ4ikUQl+U8+uvv2Lt2rWczqHJ37ZtW8OinKSkJE5RllWUM2fOHI/0MpqmsVNIRTmrVq1yTXy31KbJZEJMTAx69eqF11577ZaKchYsWKDg28xms64opyywe1lFOa1atfIoEUktMjISmZmZipqQEC4smVFKnzYQ2bFctGgRNE3jMSIX5WzZsgVjxowpU9JQdjapKMdqteocGLko58cffyyzKKdDhw5KUU5aWhqWL1+uyN652zfffOOxKMd9M5WLciwWy39NUU5ERAQ0TcOOHTuU31mrVi2PRTlysUZoaCiWLVumkIjLv9nf3x8ZGRlYsGABvvzyS36d1hBPRTlmsxn9+vVD7dq1Fboas9mM+Ph49O3bF3v27MGvv/4KQIXmmEwmDBs2TFeU4w59Iazls88+q/zG21GU484wYFSUEx4erivKITUgatHR0Zg0adJtLcqR5xsd/N2tsLAQjzzyiK4oZ/z48VyUYzKZdJAQo6KcunXr4q9//avyPpnKyr0oR9M0FBYWIicnBx999BGGDh2q3HNmZib69euHFi1a6A603t7eCAoKYhWo21mUk5KSgvT0dDRu3Bht27blA29SUhIHZ25rUU5AkEcyc2rrD3uo8j5QfpX3/zCU/+X2f4U2SF703WmDJk6cqEzCsmiDZAfxdtAGyQTXt0IbNHv2bB1tENH8OBwOHdExtYrSBhUUFHikDbLZbLedNigwMJA3mBUrVvB7CBf46KOPcjTZbDZj6NChyM7OxsiRIytEG5ScnIy2bdti7NixWLVqFdMGvfbaa9i0aRNvTHIFfUVog+TorexkV5Q2qG7duhXWz6aK5Li4OGzZssWQNsid/zMuLg7Tpk27Zdqg6dOne6QNWrRoEQ4cOMDcm9nZ2R5pg2Qy73+3VYQ2iNRf6NmVRRu0dOlSj7RBbdq0wXPPPadzgsqjDdq8eTOrD7nTBhGjgtlsVtYGk8mEwMBAhTbo4sWLHvuBHCH63WXRBpGEa0Vogy5cuICHHnqIM0DUKkIbRNFsd9qgevXq6WiDFi1aZEgbRI6Mu9NLtEEkTED/73A44Ovr67Gf5GvTWiPETb7gL774gveOvLw8nDt3TtEhp9/Wpk0b9OnTBx07dkTz5s1Rt27dO0obRPO8cuXKCm1Qt27dMHjwYObdJLW2GjVq4IsvvoDdblcij7dKG/TRRx/p9sTb0RLHbCnTIey6xrVnyjyUqU/tx6Xr/8TpK+XzUP6vyvu/1P6vEJuToyETmwshcOTIEU43R0ZGYv/+/ezgNGzYkCdMeno6LxpmsxmTJk3CoEGDyiU23759u6JMYzKZEBkZyffj5+eHp59+GpqmcXTyVonNZ86cqegnU6MIR7169XTE5pR6u1Vic1LskInNZdWFKlWq4Ntvv8Wzzz6ri1YI4XI627Vrh+eee443F6I78URsvmnTJr7v8PBwQ1k9WqQpxR8VFQWHw4GUlBTdb3MnNicnzWazYdCgQb+L2DwsLAxms1m5t9tBbL5s2bJyic1lahH39nuJzWlTCg0N5WIuIpp2d9pnz54NTdOwe/duj/Pv/wqxeVpamsKZ2K5dO5bek4nNa9WqhW+++QYLFixAs2bNdA5TaGgokpOT+Zl4eXlh3Lhxt0xsLhNb/1Fi87CwMHTo0AHPP/98mcTm8jgiJ/RWic1HjRqlHNBp3NvtdkNic3Kghg0bhoMHDxoSm//rX//SEZu3aNFCgWnUrl0bmzdvRnFxMa/TRsTmcpSe2u7du9GlSxdeW2fPno3x48dj0KBB6NmzJ+677z40bdoUtWrVUirB7wSxeUJCAhITE5Vq/hYtWmDAgAG8HlGlORU3rV+/vlxic8oehYSE4B//ME7pUjS4IsTmtO8QsTlFm4OCghAaGnrHYGxh7Uci4ck3y3QK957JxS+/alj3oUsp58S3+fjlVw291x8t83P/46H8L7b/q9KL8gZssViURUnTNHa45PeR9KK3tze/V5ZedDqd2LRpE0dtZCwKLVCE79M0DTNnztRJLwoheKGRHaszZ84wjcPTTz+Nxo0be5RebNiwobIBRkREYMqUKUhMTITNZlNwg0YO5cqVK2+r9CItXDVr1tRhRc1mM2rWrKnQbMTHx5eZnibpxXr16imRs08+ceFnSHrR29vbUHqRIsWyysmECRN0zsCuXbt+t/QibYJWqxV9+/bVSS/6+PiUWUUpW2lpqULU/HulF1u3bo3Ro0dzZNPdiouLOc1JusdG2L1PP/2U+10my6aU7RdffKFzeP7d0ouXL19Wvl92EJxOJ8aPH68j8r58+TKmT5/uUXqxe/fueOWVV3TSi8uXL2f6G5vNhgEDBuikF6m/3KUX6fXfI73YsWNH5OXlYdWqVWjbtq2OgkcmWyeMIWH8KFJlMpm42rk86cVKlSrpuHNvh/RiRkYG9ynNj0mTJmH//v14+eWX8eyzz3qUXqTMQ0xMjMJV+3uayWSC1WrVSS9WqlQJVatWRXx8vO4wJa8/lM1Zu3atYXX8rUgvPv744/ye8qQX58yZo9zTH5FefO+99zBnzhz07NkTNWvWLFd6UdZ5v53NFhJXbpSx8vT9WH/4Iq4VFuPnX37FZ98V4JEXytbypvY/pZz/Yvv5559RXFzM7ejRo/+RFPigQYM4WiBPYkotk+Xn56NXr17Ke0hblbCRb7/9Nr+/fv36DJSWv69SpUqYO3cuRyRoEZcLXjRNw+LFi5XPRUVFISAgADExMcjJycGUKVNQt25dHWg/Li4OvXv35t8UHByspNt8fX3ZsZKv//DDD7NiQqVKlZR7IWxgQECALhpKmrHuqhTATZzpmDFjGANJEcgXXngBQriomeRNwZPDSBGRZs2aYdy4cdi6dSuuXr2KnTt3QghXuoYsNzdXKYJZu3Ytk9Tb7XbFobx27ZoSQQwICMC8efPKLHjYtm0bp8zz8vIYv/jZZ5/p3kvwA4vFwgT1FDk2m83s/CUlJSl424qYnH6T+83hcOC+++5THHIvLy+O0JAzWR5mU07HValSxWNhxJkzZ5iA+8iRI/j555+xcOFCJVpFxVSk/kKvBwUFVZjy6o9YaWmpYRSbDn4UcSUnzeFwKHOExh/9/6ZNmyr0vVu2bOHnbbFY0K1bN1y7do0PUTI36Pfff88HMLPZjMjIyDKv/dFHHyn8ip6imUVFRUy2HhERoXvmaWlpeOaZZ3D16lWFV9BsNuPPf/6zrh9Xr16tFH9YLBa0a9cOhw8fxrlz5xS1p+zsbCxduhTTpk3DyJEj0b9/f44IUhGZ2WxGVFSUktm5HWu7u1NGzzojI0N5fcKECYxzPH78OK5cuaLLIlBB44ABAwz7eN26dcpaTH1ATvLYsWN1n1m+fDmEuInpl23w4MHKb7FYLArXpbtDuX37dgghMHfuXH6PPH67devmcU3717/+hffee0+H7TdqdrsdERERPKZpjmdlZfH1cnJyIIRgrPztag6HA5EPPYOEyXsq5CBWtP1Py/sutf9UKpwWAlkiz2q14uTJk7hy5Qrat2/P90WYOnJ+R44cifz8fAgh0Lp1a1y9ehVDhgwxDPubzWbm9pJ/sxB6LjPivSMHzKhZLBYkJSWxQ5adnQ3g5kk/ICCAsU8AcPr0aQhxsyBiz549igqMvNE//vjjyM/PZ/3aOnXqsBNMRpu0v7+/4WL1z3/+E1arFf7+/njwwQfLTYX4+voyppG+NzU1FXFxccq9Edn65MmTGa8lhMDkyZMB3OSXy8jI4KgYpS3NZjPS0tJQUFCgFAY4nU6sXbu2wmOV+pgcwsaNGxu+79ChQ7wQ06K/YcMGbNy4UflNzZo1qzC/oKZpjN11b7169eJnERISgoCAAGzZsoX7l/pAduIuX76Ml19+GWPGjEFmZibi4+MNeTZlZ5Mim8888wxHIQ8ePKjcZ1BQEGw2GyZMmKDAL9w3reDg4DvqVF67ds1Q671Dhw545513+Pm7R7L8/f0xaNAgvP/++9ynJ06c4H50TweWZXv37uUxLa9xVCV87NgxhXWCimaIJ1e2oqIiBTdMxP9RUVG6OWpkVHkuP1ej/6cWFBSEhIQEj7CS39tkWAb1KUmtUnGiyWRCmzZt+NDWsWNHvPLKK3jvvffw+eef4/vvv+eD8MCBA3Hx4kWOClLz8fHBo48+imbNmsFkMjEO8M0334TFYoHNZmOspntqHgBzO8bHxxuuc/Pnz+f9QMavC+GqwjaZTGjevLnyGU3T4OvrCx8fH9013bNh69atY0hGQkICzpw5o3MoGzduDJPJxM9fzgJShiQmJgZTp07lSGNoaKghvlxusbGxWLRoET766CNdNoGyWna7HZqmoaioCNnZ2YoQxe1u4ZWqIn7irnJJzm+lVZ6+H9/llz9v/lvtnnUoAVexzr+Ded+92e12/PLLL7Db7UhKSoLZbFYW12rVquH999/nYpivvvqKU2a1atXS4amI8Jsm3fr16xVcplx0Q7Q4J06cAAAMGjQIQtwkoja63zp16jDWqaioCE6nE1arlVPTFD2TjRRA3PF/VapUgdls9niiHD58uOGzGjNmDIRw4eU2bdqEESNGoFWrVkhMTCwzPe2+qbz++uvKdWmxrF27Nr+maRree+89Q7J1h8PBC/qmTZu4wvXChQuKDB01Ly8v5d4efPDB3zVWKZolhHF0kozec+bMGQjhch5pfEyYMIHVMui5eqLUOXz4MNq1a6dsAmlpaVizZg0uXbrEh53MzEz+LoIv0AZFbdWqVbrra5qG0aNH85jr0aMHvv76a8XZTEpKgp+fn8fIZqVKldC6dWs+qNDYKSoq4g3XKCVvNpsV/OntMhpLcqN0rvvcqlq1KkaOHIlPPvmEHQN3JxlwpSTT0tIghCsyfitE3x999BF/Voib1ffk8JIDWVJSAofDgcDAQJSUlCAvLw9nzpxBVlYWP/+oqCg8/vjjGDx4MAso2O121KxZE5UrV0ZcXBzCwsIQEBAAb29vdvz/yDpJUfW4uDhUqVKFnTeZvqxPnz6YP38+1q9fj9deew0ffPABvvzyS/zwww/QNI2Linbv3s2ROH9/fzgcDoVpQC5sycrKQkBAgAKt0TSN19f7778f9913H4/LxMRErF+/HoMGDdLBFSwWC2JiYgAABw8eZO15mjuy3bhxg9dW9wj9559/rqNlAlTicGo2m01ZI6ZNmwYhblahk+Xn5/O+EhERASEEli5dynKZ9PtofhGNkdVqRZUqVfDee++xLK48N432u8jISNSrVw8PPfQQFi1axPuO1WrlQsiAgACPY5kKI+n3u39HfHw8Qx9uZwtr3O22Rii3H781Sqr/NrunHcp/p3qO3EJDQwHcLKSQJ+OuXbv4/ry8vBAXF4eSkhIsXrxYhwurV68ejh07hvr167OTQ5W9VDlO1+/cuTNu3LiBl156iRcd+bvtdjtvvidOnMDq1ashhFAwS/Xr18fp06cVpQVvb2/D9KSvry8iIiJ0r5NSBqWhaSGj5nQ60a5dO8yaNQsjRoxAy5YtFXojow0nJSUFbdu2xZgxY2Cz2eDn54cbN27oYA3uyi25ubmcki+vAvnjjz/G8OHDuaLefdMYMmQI/vznP3NxiOyEUj9Pmzbtlscomdzn4eHhho4FFT4J4Urv0/c6nU7Fcbxw4QKaN2/Oi3/lypXx7rvv4ty5c+jdu7fihNHvkCEWgCtiTLrJtBGT6oamaYryjwwRAFwbK228MTExfLjxZFeuXGEnqFOnTuU6m3Q/ycnJHF11x/fR3+Wo+u+1s2fPGlZeKxtTWBgmTpzITo0Mc/n+++9hs9ng4+Pj0WGkSmU/Pz+mjPn555/x3Xff4eTJk4z3I0m7sWPHYsCAAfy73eeCw+FgPHJ5kaPymo+PD4KDgxEZGYnExERUq1YN9evXR8uWLdGlSxdUqVKFv3Px4sXIzs7WKR55aklJSRg+fDiOHTuGkpISjj57e3sbcqS6Gx34bty4gc2bN/N1p0+frnvvtWvXeK2hSNuoUaMAgCNhsu46Hfzd7bPPPtPROCUlJWHevHl44403OIAgM3MA4OLJzZs382vl0TIBN5kEnn32WWWPqFq1Kt599104HA4EBQUpn/noo494To0cORKapsHpdMLpdPL1v/jiC2VcBwcHGxZjyfsJ0U49+OCD/DtXrlypfPeJEyd43taqVYudVLm/r127xgVp7odCs9mMjh07Ijs7mw+zkydPVjTrb1ezWCzwb/KgyyH8g5HK1e9/Xe54/W+3e9qhBG7SOxDvHk3c2z0wjTYz+v9WrVpxWpKqeokQOSIighcMqiKm+6MK4vr16/NrciqztLQUzz//vFJVKjdKAxEeKjU1lWW0vvnmGwjhwiSeO3eO00DufdW9e3ddn5Isn0x9RFZSUsKUIfICUVafk1OTnp6OrKwsbNu2zWP1MEktUp/5+vpi1apVfP05c+bwe+l0bpR6Ks9kWbeKVBrGxMTcMm5RNopkkz6uUcpx/fr1urFlNps9culdvXrVEBwfHh6OUaNGMRnx+PHjK9QPMnE+RXOob4qLi1FYWMhOqNVqxcyZM8v93bm5uew4GhF6T5o0CUK4CjrGjh2LzMxMHu8Vncfh4eHYuHHjLUk0lpSUYNasWTpuWfptQrgKUD788EMI4Yp6ffPNN5z2rly5soL3o/nl6+uLBg0aoHr16khKSkJUVBSCg4Ph6+v7h3DfRtFCq9WKuLg4NGrUCK1bt9ZJm9aqVQvZ2dl46623cPz4cVy+fFkZc4T1q1KlSpkwAnICIyIikJubayhqMHDgQM5yHD16lGEjRo36wRPBu2w1atTgQiQSH7BarR6ftaZpuP/++3n8WCwWXeSrQYMGOH36dJnfK9NWycwEJpNJOaQT1/DcuXMhhECXLl34Gtu2bWMHrkqVKoa0TJqm8fO12+08Z9u0aaM8S3LUANehnqBWmzdvZkwjEYtX5JBB17darfj8888BgHHblBH78ssveS4SPKakpASBgYF8b4888ggAKEV/8nebTCaGhz3++OM85uhzhKFMSEj4QwVRZTWbzQbfmveh0pO7bxlTmTRtHypP33/XRybJ7nmHktJUNKHDwsL+8Im9Ik2uvKbIDlX1ui/+tLDTInjs2DGekEOHDmXnrGXLltiyZQu6dOmCyMhIHVE6XVdWr5H5Fp1Op6Jnazab0axZM/73lStXFP1ZchaIvJeMCjSOHj2K7OxsjjRSetqoLwg0L4Qrytq8eXPFEbZYLJg4cWKZRMMXL17kaAi1SZMmAQCeeeYZfq179+4YMmQIhPCcYq+IEaygT58+Cp7J/fnJhQcykL2iRsVApJn99NNPQwiXY//zzz/z+yjqQ31MRQjuduPGDUybNk05GMhccGFhYVxoJXMFGtnJkyeV30hRWHIcqXXu3JnnVePGjSsUGbx+/TqPAaPCFHe+VbKWLVvCZHKp9Fy5coUpazIzM8t1/h0OB6pVq4Z+/fph6tSpWLt2LZ5//nnMmTMHHTp0QFxcXJnrg3uhye9ZG+hg6e/vj7CwMMTGxiI1NRU1a9ZEzZo1+TckJycjKysLs2fPxsqVK/GnP/0J77zzDk6fPo3vv/+eHTez2cx8if7+/vD390fPnj35OpGRkcjKyuKIlZ+fX5mwCtkef/xxCOE67Bk5aVevXlXGovw7O3bsyBmTcePG6T4rp3nlzV3+d0xMDPr06YPdu3cz2bpsAQEBrBs+fvx4njfl2aJFi3TPpXXr1mVybcpGHJ9UCa1pGrZu3apjhhDCBeMxmUwICwtDaWkpcnNzGZpChX6ejAjqSYmHIqM7duzAt99+q+wBTqeT4VLkLHsag3Xr1kW/fv2wePFizJo1i5+xvGbbbDbFsc7NzYUQriwC2b/+9S/+LcnJyew4EiwmJibGEHNcvXp17N27F4WFhbBarYowBe13TZo0UXh3ExMTFaWt292atO2C8D5zkDDlLcSX41gmTduHhClv4eHsY3c1ZtLd7nmH8vQXX8IWXglrtu+DLbwSnn9xC+x2uzJ57hTXFTkKEydORNeuXXXKL4GBgYY8ggB4kntqpNCybNky3rxLSkr4BEtNpoKgRZ4sODhYmchHjhyBxWKB1WpFu3btlH5p3LgxO42eNkl/f3+dokHXrl35+oWFheykPffccwDAVZJycUVKSgoWLlzIwG0qHKHFU8YJUtQsLy8PQgilyjsxMfEPjR35RGwymdCpUyfk5uZC0zSlMtW9MISKG4jPrjyLjIyE1WpV0qGyGhFFh2jzdY8AX7p0CaWlpVi+fDnS0tK4n7y8vNCxY0emDyouLsbw4cOV3zV16tQyI3fdunWDEK5CD+KObNmyJVq2bAmz2axEd/z9/fHGG29UqG8LCgo4Le5pQyW+1WeeeQaHDh3Cjh07sHbtWsbIDR48GL179+YxVatWLYV0+Xbhp2keyI6bw+FAs2bNOFWanp6OiRMnYt68eVx5PGPGDJw9exZ///vf8euvv0LTNISHh8NkMuHkyZMe++bGjRtMl1K1alVDuMa1a9c4BSk7+7KzfePGDTz88MOK02Gz2WC1Wis0LsnoIFOvXj0eKzTe3LMjNP8WLlzIn3c6nR6VrCgiRa158+b4/PPPGQLgXuQTFRWFbt26YevWrfj5559hMpnQqlUrFBcXs/gAQY482UsvvaTj1S1LgMHIaP8wOkCWlJRg2bJlun2lefPmePjhh/n1jh07llv4RAfl/fv3K1HR8iiMnE6n4jR+/PHH+OWXXxgWIHP/UtDFHaYQHBys4PMBsIPobu5qRfLcSUlJYanIp59+mvt+3rx5vF/t2bMHV69exdChQxXYAf3/qFGjlNT5nWo2mw0J6Y0Q2n4Eak1/Q1ewk/j/Sctn7jl311IDlWX3pEOZ87efMHPPObRY/D4SDU4X0cM2os/inbCFlB2N+KNNpmIRwpXGnDBhAm+UXl5eSiTn+vXrWLp0KVq2bKkrzBHCdWJbv359mcD9nJwcpeKRUt5Hjx6FEEJJQ9auXRs2mw0XL17EU089xZ+LioryiKWhCZ2QkMDpaeKGW7RoEZ+MaZNzX6jz8/PZkXjmmWcUzsX9+/ejZcuW/EzMZjOSkpLYEY+Li+PICi2mcpqZ0le0YHt5eeHIkSO3PH7WrFmj2yipelgG79NvTEtLQ35+PpYtW8YOjdxCQkLQtm1brFmzRuccUBp7xIgRuvuQU44yYf7Jkydx/fp1fsZy5brVakXTpk3LdOxkzJsQLrza+PHjDXkcfX19mXKmtLSUIzNG82bfvn04deoUDhw4gK1bt2LlypWYNWsWsrKyMHDgQPTo0QPt2rVDgwYN+Bn5+/sjNDSU+Vf/SLGHzWZTis/k6Ii/v/8f3owaN27MEAKKjF+8eFH5N+AqGjKZTIbV+hcuXIDZbOYCmbJswIABEMKVJndXkqGCPmokUkAqPV9++aUiNxodHa1EiqpXr35L1fAUDU1NTdVF4SwWCwICAhgL16RJE+WzxD0qY7GLi4sZU5iQkICcnByObtlsNixYsICj6I8++igWL16sy2pQS0xMZEnTlJQUWCwW3f1rmoYVK1Yw5pTmjjuGvKKONt1HWQ6hke48fXe7du0UejfANW7effddzJ49Gz169EB6enq5aV6Hw4HMzEwe27Vr1+b10sfHB5MmTdI955iYGFgsFl6LyKGk6KfJZELfvn35GXfq1Il/5xNPPAEhXOo2gwYNQkpKiuG88vX1VbInpaWlEELggQcewI0bNxQMamBgoILlDAgI4IMaZfkmT56MefPm/aH5W5FG+67NZkNAQABMNi98dvkHnL7yI87l/uOulFO8FbunHMrv8ovwcPYxJSTtqVWa4jp5hPeZA0dItMfCkNvRAgICFKJnmV7H29sb9evX1+l2R0ZG6sDKFotFAXS7m6ZpnAo/fvy4goukU2HXrl3RsmVLJCQkeIzM+vv7IyUlBe3atcP48eM5iigvHGPGjFEqJCkqExwcjJycHN4sevfurbtPWUlGCH1Vs6ZpWLNmjeLUUtSPIpLkuBHWBnClqOk3jR07ltO8S5YsKXfsaJqG2bNnKykj2gRpY+jcuTNX0Xfv3h1Op5M1fGXlkIsXLyrUQu7PMSAgAM2bN8eiRYvg5+enI3KXjaolqTVp0gQHDx7UYajS09OxYcOGcnGC48aN4/s/evQoBg0axP1MNEh9+vRB165dORIcHByMpKQkREdHIyQk5LZF9O12O4KDgxEdHY2kpCRUr14dDRs2ROvWrTm11blzZ0yfPh3Lli3D5s2bsWPHDgjhqsSlg9Wnn34KIW4WYhDGt1KlSszh6mleuv8WWWHqscce42fnXs1PY0Q+7IwcORKbNm3CpUuXkJaW5hHLt2LFCgjhwqmVZy+88AJHISmSe+nSJeVeq1Wrxu8nmUyK7AQEBHDFsKZpmD9/Pv8Ou92OYcOGlRsl8zTeCEbUu3dvjkz6+vrqrnf8+HEIcZNrV5YF7dq1q9JH+/bt4yrfhIQEjgjLOOjCwkKsWbPGEIdJDtjMmTORn58PTdMwY8YMXl+9vLw4+lujRg1omqaQZwcFBZVLuUXZHiHK3l7pOcv9VrVqVWXtI15XoznlcDj4cN6vXz8sWbJEpxY1bNgwxjqSCpGmaViwYIEisDB06FB+LiRn26NHDwB69oL33nsPgAuTStzGNpsNDRo00GWgvL29UbNmTUVmVlYGk5+tj48PUlNTUVJSonMOvb290alTJxw7dpPDUT5Ey0V3jRo1uuORSvmZUX/8z+4hh/KV41dQefr+ch1J9xY/aTcqPbkHvrXa33ZuNFqg/P39AbiiE5TKdN+cYmJi0Lt3b+zatYudC+IzI6oJ2vgfe+wxwz6gqEXdunXLrZ4m/Bbdi8lkwquvvmp4XU3TGI8np9jsdjsefvhhPl02atSIoy6kGFSrVi3Da7733nt8P9u3b1f+tmjRIt4smzZtilmzZimbh7e3Ny+0ZrOZo5TkZPbq1QuAunF16dLFcHMvKSlR8GVOpxPTpk2Dl5cX4uPj+X3E8SfETQyR0+n0qPULuKiAKApYu3ZtrFq1Cl27dlWIl2nhbdSoEWbNmqVEcT777DNdUYj8OflvLVu2RL169VC1alXGGgUFBcHpdPLG9HvHMFUMBwcHG0Ym5WdTtWpVPPfcc9i6dSsOHDiAU6dO4erVqygpKUFxcTGPo7IKdnJzc2EymVC5cmXd315//XUIIbB69Wp+jTb4xMRE1KpVS5nHJpMJ8fHxHFEaMGAABg8erPRj69at8e677+rmP23IHTp0AOCKspjNZsTGxmLs2LFo27ZtuQfR0NBQtGrVSnE2gZvSdkaUS+529uxZRcpTVqKS509paakCeRk6dKjhmKfCIXK+rFYr+vTpo0T7z5w5gx49eiiHuqSkJC4I69ixI6dIz5w5w2uCp4wArTeyLOjSpUsN3+tOa0OV/e7RfUqzUiq4UaNGHgsU7XY7xo8fz/RkcqERVRInJCRwhoWgQka2ceNGvq6REfn7rc4zYsB4//33mfLIHfcOgNcc6vOQkBCP2M8NGzYw04bFYkHv3r2Rn5+P1NRUmEwm5ObmsuMrhMATTzzB3KLdu3fXQQMIW2mxWDhIQs+BDnTFxcX8/sTERFy/fp3hHkYCHULc5D2WbefOnbp1i9YEwsv+O9qYMWM8joV7ze4Jh3LV+zl/jD/q/+MkQls+fMcGpXvqIigoCI8++ihHoIyqeumkR1V5hYWFnAIICgpCRkYGEhISDNPT5DSSQyWf6BITE3H27FmFqsadNsbdrly5wgvBlClT8PzzzytYl9TUVGVDok3e19fX8HqEQaLIzxtvvIEvvviCU1ABAQE6haGCggJMnjxZd0qOiYlhR0MIVV+6pKSEncGEhASGGNy4cQMDBgxgByk4OBjLli2DpmlcgS8Tx1Mhkslk4oXU6XSiSpUqzDd6/fp1nDt3Dh988AFeffVVrFu3Dk8//TQXSZlMJlSqVAlNmzZlbjZ5Y/gjzWQywW63w8fHBwEBAQgPD0dcXBwqV66M2rVro3Hjxlxt/+CDD2LChAmYN28e1qxZg+3bt+PgwYM4e/YsNm/erBR1ORwOfPvtt5gxYwYv7m3btmVaIjpMyFEXo+rckpISvi6Rxnsy0mj/9NNPdX8jh+D111/HyJEjUbVqVWVuWa1WpKSkME9qw4YNAbjgJHKkOCwsDCNHjtTxCs6YMQPvv/++coAgWAZxkMpOoJzyvnLlCrZu3YqxY8eiTZs2/GyNIpsyt2q/fv0UZ9PIioqKlDFD81gIgYKCAmzfvp3XAZPJZKgxLxthbdevX89zjp6nzAMYGRmJsWPHKtAcitLbbDYEBQUx3pEYJIyMikqEcB0IP/744zLvDwC+/vprpQgvISFB+XvVqlVZxpAUq7799ltdX7v3v91ux5NPPolvvvmGr0XZnM2bN3PU2VNBnywrOWvWLHTv3h3p6ekICQnxGDnz9/dn5ywgIAAffPABO7QffPAB2rZtq0jpVq9eHWvWrIEQahEMAGXMxsbGVkhydOfOncpzpvGdkZGhzB93+cmAgAA0a9YMc+fO5ep4ajt37jTk+b1+/TqEEIzzNpvNSr+kp6fz2P3www95XpITn52drSu+oTVy5cqVKCgoULJvd7pFR0fjt99+K7eP7wW76x3KV45fua3EpBFNut2RQZmQkIBhw4ahcuXKOt1h96renJwcxiy5Uyy4X9fHx4ephqxWK1544QVF71bTNN4gKlWqpERnZCm8ihhFJ+rVq8epM7PZrEQ627dvz1E2ukf3yAI5su3bt8fFixd1EaUhQ4aUmbqlyseaNWsaOmNyZTtZVlYWhHA5sM2aNePPBQcHY9iwYVi1ahVmz56NrKwsPtG3bNkSTZo04agHLYoyF+Ifbd7e3oiMjER8fDzi4uIQFBRk+Jzl31mnTh189dVX+PHHHxl3FhAQUGafUVSrojJ/RlWwAQEBTBjeunVrmM1maJrGzjbdp81mU8ZgaWkpk1YbycbJduHCBR5jZJqm4dChQxg0aJCu3+12O6pWrcpyd7JR38jPm8Y8YR6nTJmiXK9nz54oKiri57B06VI0bNhQiZQ0atSI04tGGEqyWrVqwWw245dffsHVq1fZ2ST1JvciPRpbTqcTiYmJhpFNuUAoNTUVVquVlbAcDgfWrFmDuLg4zop4MkpDN23aFJMnT9bxeIaFheGdd94x/KymaUxBQ3PfYrEY8tICrogVEbD7+vreMr3W2rVr+flFRkby2KLiLCEEDhw4gC5duvD7bDabUpBIBN0Wi0V5ll5eXkhPT2f+0Bo1aiiqXsnJyZg2bRo7je4HEGoOhwMRERGKQxYfH4/CwkKYzWbUrFkTAPDkk0/yWuzuCGqahh07dujGW2xsLI83WQCBipDc8bVl2aFDh3TqP3ILDg5GZmYmO27udvr0aT5EUl+68/xSOts9iEJ9mp2dDSEEK/5cvXqVD0M0J+x2OwYPHozPPvtMuca8efN4T6Qx+O9oxA17r9td7VB+l1+EytP3o+rTb2PFwb/gw79cQ0GRa5I+8ernOmfxydfP4Ng3P+DvP/2Mn0t/xXf5RXj1xHfIWHiII5XxE3fBJyzutg1Ecg7atm3LKbOaNWsiJycHGzduxPDhw9GiRQvDIhz3dt9992H8+PHYvn07Fi1axOkDWtQ98S1S4QelcI8cOaI4LWUpGJBRhZ28CYaFhfFGd+jQIaXyWD5BupMME+fi9evXsWPHDqVYYMuWLcp7i4uLcfnyZRw/fhz79u3Dli1buNipe/fu6Ny5s66vabHz9vaGr6+vR4xSRZ4dXZP0l2nhCwgIgNlsho+PDztrderUwbRp07B06VJs2rQJe/bswdGjR3Hx4kXcuHEDmqZh8uTJyqZXVFTExPYyvyRFEXr27KmooVDz8fHBkCFDFM4/T5RFtMB37ty53OdM5knyrEaNGjhy5Ag7lGTuBQiUppOdj2HDhpX7veQcrV27Fg899BASEhJ0hwaimJK14KkanTbpnJwcJTVcuXJlHDhwQEm7U7o6Ojoan3zyCVfu0/ctXryYr//Pf/4TQqhYSqr0FsLYodywYQOEuMloYGTEO9qgQQNkZWWxs2lE6m40zql16NCBMxyZmZkwmUweDxglJSVYsmSJwk7g7e2Nzp07Y/PmzfwMhHBFnmRcG5lc1UtrkJFDef78eT7Q2mw2BAYGeuyLsuzGjRvsoJjNZuYnFUIofZWamoqgoCAEBwfzZ2lsUhZI0zQcPnwYQ4YM4SKe8vqXnjdF02i9/uSTT1BaWor9+/crkV05QlynTh0liEA45sqVK3vETpeWlipZERr38v306tWrQgVeeXl5TCJe1j7Ts2fPCj8P+QCSnp6Os2fP6pSEwsLCMH78eJw4cUJ5f3BwMEwmE65cuYLS0lI8+eSTyh7QvXt3ZR673ydlr3777TePsrG3s5lMJnTs2NGQtupes7vaoXw4+xiSpu1DxkJX1OTqj0U4evEHAMYO5UufXMZrJ7/D3Le+xMTXPsdzh3Lw95+K8cONn9HgmfeYfyqiz9w7MjCNZOJogfT39+dIGC30M2bMKBMA/tlnn/FpLTU11WM/Efmy2WzGN998w4uKTClSr149nbyibEQ3If8GWZ1F0zQUFhbijTfe0DlATqcTI0aMQL9+/ZjnkqTP6D3y/5dHhO6peXIa3XGH1GcpKSl49tln8fLLL2P//v04ceIEVq1aBSFczhlxWbpz8JHj7HA4ONVGqkcVMXkzNvqd7pJtABAYGIjw8HBMmDDBYwW+xWLBnj17lHv97LPPmEqlolW9FEGg337lyhVcunSJHRV6XkRPQ+aO7RsyZAjTCj366KMev6+kpATbtm0zdGKdTicaNGiAp59+GpcvX4bNZlPSa2QLFy6EEK50tDuVkRAqsP78+fPsNKakpCgbBeGWhXDhfwk+sWTJEggh/h97bx4eRZW9j9/e0+nsG1kI2Qj7DmEJ+6rskUX2TXYEht2AIKAIgiAIoiCIIKggiGSQiAyICCKCyCDIZJBBIjIYMcYYY2zbmvf3R3/OSd2q6iQoznd+ynme+yjp6uqqW7fufe8573kPXnzxRRQVFWHBggUSf9Jut2PAgAGsOQsAv/zyCywWC6sY+DIKoRpRBcizqaYhGOn6qT2bBJgXLVrE3DpFUbBt2zY0atRI563VcvQA70JOEkRClAJysqCgIAnoO51OHaDcsWMHi6mvWbOGs9YrqoFpdE1GIWx6ViSPRVWkAGD16tU832RmZlYoPO1r7pg9ezZq1KgBi8WCzp07w2Qy4dtvv2UKAHns/Pz8JO8eVQ1Tc0apvjolBhkZbZwLCgqY6qRuYWFh7GFXzxnXrl3DggULkJaWJs0VJpMJcXFx6NGjB/Ov1VnutI6oCxj4Mkq61HohQ0JCOHFPbWrqkRDehLRx48bx94ODgzF9+nQ4HA6YzWZ2jly6dEl332qPLDlL/hvtueeew4cffnhb5VH/aPaHBZSXv/qegWLqw9lossQLCHus85LCjQClUeu+9j0AwBNv/UP6uzW87FJrv6V16tSJPY3//ve/pfui0AuFEwHwpKAdyAcPHoQQpWFxX5p15AVRH7tq1SpcvHiRZWBowmnWrBnGjh2LAQMGoGvXrmjdujUaNWokhd7V//9rwR81q9WKiIgIxMfHS0LczZs3R79+/fDAAw9gxowZeOyxx5jvFxcXB4fDgWPHjklZ1PXq1UN0dDTCw8Px7rvv6srlWSwWpKenY8+ePexBrVy5sgSkmzVrBpPJxBN+jRo1dEAsPz+fQT8BedJZKwuUA8Brr71W5uLlKyRNenuAXHeYwK1Wry8uLo4z0U0mk+TN82XXrl2TwkgZGRm6Y/Ly8pifKITX6/Piiy8CKM2u1iYSaTP9i4uLsWnTJnTt2lVXwk4IL+/xiSee0PVlQUEBhJAz+8nUC4vJZEKrVq3wj3/8A/n5+TCbzeydz8rK4vFL3vbVq1cD8GZPWywWBAQE8GJuNpsxffp0VKtWzTBr+4MPPoAQMsiLjIzEhAkTcPPmTaSlpcFkMpUpR1NYWMiSSWqqAJk60Ya4ZfS8qa+dTieSkpLK9GxSCw8Px8iRI3H58mWWQdLqDZLduHFDCiVXrlwZjz76KJ9r+PDhnJSl5lCSILrL5WIPJ9EDbscTpjV1zWdqbdq0wa1bt3Dw4EEsXLiQwbcR8BbCuxGMjo5GkyZNMGTIEKxcuZI9jRQaX7NmDebMmYOGDRvqdGbtdruU6CKEl1ZBv6sFZBTdoc0nGWUxN2rUyBBUEi2CuJfEF33ggQekZ0zAuFKlSrqNeUJCAgYPHoz9+/dDURRJsmflypX45JNP+HjypArh5aUbJSa53W6d8oTdbpfk5EJDQxEZGWn4/LTPIioqCs899xx/fvHiRdjtdlgsFixcuFB6hm+++SZHin7++Wd+Vr9HMm15LTY2FsOHD//TcSv/sIByYdZFw4zu2wWU9R/18oSePfpZ6d/nZCG007g7NvhCQ0N5JxYYGFjmfRGgFMLrNXS73byLHDp0KF555RWsW7cO8+bN46od3bt350nHbDYzOIuMjOTQ7K+5bsp41IbHExISOMweEhKCbt26YcCAARg3bhzmzJmDpUuXcriPJDm0i1xkZCSOHTumu/8TJ07AYrHAZrP55K24XC4kJSUhMjKSOUSU6aktsdmpUydcvnzZUPSbFgCHw4HDhw9DURRYLBYO26SkpPj06pF8h91uB1DKC508ebLu2LNnz6JXr14SXSAmJgaPP/44+vTpI12vUS1f2qWT1iDgXaTIs2U2m1G7dm2EhYXBbDajWbNmutBWpUqV0L17d7z44ov48ccfpfMrioIpU6bwOCH+YFk7cXVihhBeb8nKlSvhcrkQFRUlJWwdP34ca9asQYcOHXQcNOJsEYA3ArFkO3fuhBCl5ewAYPfu3ZKnMDw8XFe2k7KRKamAnrdaXH39+vWIjY2FyWRiT9fJkyel5AC1PA+ZmkN56dIlDBgwQOp7CvU98sgjPu8LAA4dOgQh9N5Cunb1O9ygQQOmMezZs4dL4vn7++PkyZMMcrWgg7w/2necPm/bti0mTpyIF154QZc1XFBQgCFDhkhePeLtUrlVIbxFHOrXrw8hvJstLQ8vKiqq3DnQyPbs2SO929TKm9vMZjP69u0rgcayrLi4GDabTedtvXDhAoMb7VwWGhrKSSajRo0yPG/z5s1hMpl0iZeUrNS8eXPde68GsjR2hw8fjtOnT0uakeprsVgsaNCgAQ4cOKA7X3FxsSQqDsjZ0rNnz0ZhYSGGDRvGzzk8PBxr1qzBCy+8gAYNGki/53Q6YTabWZ93zJgx/Dnp9pJdv35dl1Smvg61vf322xLViOZLAFixYgWPdSG8Ht7vv/++zFKev1erU6dOmWPpj2h/WEDZZsU7hgCxIoCy/qNvo9Fjh9Bj3XEc+vQrAMCQ/9OvpBY3YdMdG3hqbo0Q3vBRs2bNULduXaSkpCAuLg7h4eGGdYMr2ihBRv2yx8TEICkpSRfaiY6OxqRJkzBv3jyu1dylSxccP34co0aN4vN0796dM26FkOtkA6WZkRs2bDB8RkJ4hc2dTqcuNBIeHo6nn37acGd+5MgRmM1mOBwOKYQIlGaPE6BdtGgRAEjSF0J4E36Myv8VFhbqyhJSo8xcIbz8uvKyJ8k7MW3aNABeoEsi4J9//jlGjBghAStaBKpVq4aCggKeBOvVq4eTJ08yMAoJCZG8HBS202a9qyv22Gw2BlxDhw7Fc889ByG8mcDt27eXroP6v1OnTpg8eTJ/Fhsbiw8//BBWq7XcRC3iUGpll9S0A6OQYlRUFLp164bNmzdLiyuJLX/33Xc+f5OA07Vr17BhwwbuT6vVioEDByIwMFCSelI/c1qgtB5pdflHIYwz0NV1iLt06SIBbV9JOcePH8c999wjgYIaNWrg6aef9glqiA9Geo1EuaA+VcvZDBo0CEKUJrytWbPGEFzMnDlTlwRz/fp1vPLKK8zZVGeHa+cUCqMT2NS+Z0FBQVi8eDEiIiKk7w8cONDw3aZ79JXl/cMPP7CnkWRryvK4RkREICkpifsoISGB9TGtVmu5EQMjIy+otoKTUdi5devWOgpKZGQk7rnnHmzcuJHHCumnGsmLUZlCikAApVElk8mEJUuW8DgyktGZPHkyJ/uonx1JeHk8Hrjdbp5fFixYwL8TGxsrbQrJSkpK0KNHD13f03WQY0PbT++//z4fGxAQgFWrVrGOsbpdvnyZ5/B7772Xx0pmZibfo5re0KtXLwDehExan1q0aIH33ntPqlr232oOhwOffvrpbY+t/7/bHxJQFv3kMayAU1FA+dPPpZyp/B/ceCTrol6f8qH9MNl+P1c6cW0CAwMRHh6O2NhY3nVVq1YNHTt2ZO+IOsT87LPPYsCAARDCqwWn9TZpNeuKi4v5u4sXL+Zdoloyw2KxsLwK4F1w1C8plbHTLoQlJSUIDAyExWIxlDwRwptsoAa6Dz74IKZMmcJhisDAQDzyyCO6xSc7Oxtmsxl+fn6St0Q9YTVu3BhPPvkkAyL15OcL5Krtxo0bGD9+vA5sOZ1OfP755+V+3+l0Mmg6duwYh0lpohTC670YNWoUrl27xsBk69atvAiNGTNGOueSJUv4nG3atEFBQQEn3hgJUHs8HgZz06ZNQ5UqVThZKzAwUAq1FhUVYePGjbj33nt18iAOhwOtW7fm3ypPDF6dlHP16lXMnz9fp1mnHbuTJk0yPNe2bdsghG99VTLy8qi5xhMmTOB+qVWrFvz8/KTvXL16VbpXowQZta7gyy+/rPs8OTkZNptNyqYm6aCysrzJiJagBoZpaWnYuXOnbtxTYpZWosVsNkvPv27durDZbJgxY4ZUnUntgfcl2aW1wsJCWCwWxMTESGCzc+fOqFq1qo4vqX62vsCeOqFJbVT7u2nTpgwaK8JpjIiIwMCBA7Fy5UrpeUZFRbGXVC1NJETF1Su05vF44Ofnh6CgIH4+al1JNU1j3bp1PA88/vjj6Ny5sy5jPjQ0lEuVaqWPyCjC0qlTJ6kssLpZrVbUr18fs2fPxrJlyyCErNowb948COH1drZo0UIab7Shnzlzpu5ZqEvZLl68GD169JBCzdoyj1WrVoXb7eYk07p16/I5qZ+6du0qjQ0ao1TU4+jRo3C73TwnRkZG8nOl6JVa1m7kyJF45plneG4zKjTw32zPP//8rxpb/3+3PySgvHjjO59gsSKAcuDzH2DElg/x6Juf4sKX3+n4k9RsUUl3ZPAR3y0+Ph6nTp2CyeSthKNeTEjMWZtco67fKoTAkCFDDL+vNrVmHU0qdN4LFy5ACK/0CVlUVBSioqL432+99ZYkekwLlBFoPHnyJEwmE2JjY6XroWoetADTAkTHKIqChQsXSpVIJk+ejJ9++onPsXfvXphM3mokJEVEpeUsFgsDcCodmJ+fz/drxLMryyjzUt0SExOxcOFCn5VEKPSu5ZFaLBZkZGTg448/5mOp39Xiydu3bzc8b35+vlSGLjIyUgeU1EZ9IoRgrUQhBIdutfbUU0/x801JSUHXrl11Yusul4sXfbXYOuDlOZGHtzz+EoVa6d9G5e1owVI/e7W53W7pHl0uFzIzM3UbHOIa0vn37t3LItqPPvoonE4nAgMDpXGal5cHu93OGp4mk4klWgDg22+/hRCl3qPXXnuNIwmpqakcqi4LUBI9Yu7cuXjuuedQp04d7mu73Y6OHTvinXfeAeDNyFU/B3o/yBNfUlKCpUuXSgDP398fvXv3xtmzZ1FSUsKJb0II5OXl+bwutVGZw7JkpajsnhBeSS0Cm76ePXmMk5KSEBsbi+DgYEPQ6HA4EBMTw8L8ao7rnDlzpOesBnYEvu+77z4ApRVg1ILoFUkwMbJFixbxc1UneZFSAZV6pKblG5aUlGDr1q3o0aMHKlWqpEsMTE9Px5IlS/D555/jlVdewX333WdYNKBGjRqw2+26alqk9agNsRPdgDYr69evl8CgerwRzcRo7ouLi8Ps2bOZskCle9UUiWHDhrF0G0VztOuVerNutVr5PKT8UVxcLHl++/Xrx+8ncabVvxscHIyLFy9yYYD/diMKxZ+NO0n2hwSUH+d++5sApbq1XvEOSn7+BQuyLug+s8f41uu6nUY72uTkZBw+fJh5kmpyevv27SGEMQigBYyAi8Vi8VkZgczj8UgZ2Q8++CB/RiEIypYj3TMAHAK32+04cOCAJAdjMpkwadIkHZCl6j8U5po4cSJPAPHx8SxGbcSdUhQFa9eu5V09TVQUytu5cydMJhMCAgJw5coVKeQTHByMxx57TLoeCqlVrly5zP5RGwkIC1Ea9jaZTDzBq4WGiS+0adMm3Q45MDAQLpcL4eHhut9Q84dCQkJ0oXwjO3DgAHvjLBaLT04pJWdpF3ctELx06RIvwoGBgXj99delz0tKStgDSJ5OOpfFYjHk4FWtWhWjR4/mpKQGDRowWX7FihU6TistMlTebuXKlRDCONRcVFSEUaNGSQtiXFycz43UqlWrIIS3pjhxw/z8/HD06FEApfJJaj4j0Q4OHDiAq1evcilNKldIY1sNTDweD2/s6J7Unh8jczgcknequLgYixcvZu6dEIJLearnDfKUPf/886xrqR7/6sxrtam9qRWpZ+92u+FwOBAaGmr4+ccff8z3Svdx8+ZNXZZwRRqdp2rVqhg7diyeffZZ9O/fn59zSEgInnjiCcPnHBoayu/l/PnzGexlZmYyTSYnJ0e6LvL034798ssv0rjz8/OTdE61wKlWrVplco49Hg9nZGuTfIwaRTko9L106VLdOUmDVG3aBC/ydo4YMQKLFy+W1AK0jcC+OiQOeOeFoKAgXne2b9/OxSXoWd53331SEmSPHj04wUxdQpGSmYgSQBvSpKQkfq60eaJ3Tz1uXnjhhf+q/qS2OZ3O2x5LfyT7QwLK3+qh1LaPrn2LswYg9U55KCs6wZpMJgQGBiIiIgJxcXFISUlB3bp1dQLILVq0wMKFC7FmzRpJ8iY3NxclJSUSt05dHWHt2rUAvFVvTCYTJxmQd4I4kdHR0ZzYUL16dVitVpw5c4YnjLCwMJ3oMU1cFMolING/f3/YbDaenMsCwuqJymw2o1evXrh58yaeeeYZXZ+tX7/e8Bxut5vvt7y61kCppIfZbIbFYoGiKDhw4ABfb9++fdGsWTOfkkR+fn7Yvn07h7upH/7xj3/wb5DnRAhvRmdZGb9a83g80u8NHDhQ55mje1brBwrhzTylcwwfPpwB0PDhww15fGvXroUQXo/FqFGjWC+0rDE7efJkTiyqXbs2FEVhcfKBAwcC8JLstdncZrMZO3bsgMvlgsvlkp7VrVu30LdvX+7z6OhoPP300xDCd9ID4PWc0vE09tUeOkVRWK7K4/Fg0qRJEEJg9OjRfExOTg4D58OHDyM+Ph5Op9Pw9y5cuMDvhN1ux1//+lef19apUycIIQx5vV9//bWu8odWSYH+26hRIw53Tp8+3efvHTlyhL9jMpmwfPlyn8eSEeBRH1tUVISsrCzJE02lT43GRUxMDKpWrSrxCqtWrYo1a9Zg+vTp6Ny5c5mgxm63IyEhAW3btsWECROwefNmXL58GUCp2D7JSx09ehSFhYUM0KxWKy5cuACgtJABvRM2mw1PPPFEuX0AeBMDCfgI4QVHQnjD0WTkoYyKimKpqcDAQJ0kUkFBAZ5++mnDhLSAgABER0frvPzqhBS73Y6QkBDDuYyE1LVGG0zqlyFDhgDwAsMlS5b4LBfatm1b1u5V/x71t3bOPXDggEQ/oE24Otqlpg/MmDGDxzLdo7+/P3t3c3NzeZ7o1KmTRB2iyM5vXWt/awsICPhT61H+IQHlD7+RQ6ltF298J8kQ/R4cSpvNBofDgdWrV2PBggUYN24cZ1DT5Juamiol6QQGBv4mSQQjzTZ/f3/UqlWLPV8tWrSQgEjVqlWxadMmZGVlcb1tNb9y8eLFvJNt164dvvvuOxQUFEjE64ceegiAl0NJHhjSCSxLj5DswIEDqFq1qs/7SkpKKvP7tMgb7erVtmPHDp4kTCYT0tLS+LPr168zMNFyiNTN5XLh+PHj8Hg8UmLC4MGDAZRSAoTweglu16jO8JgxY7gMncvl0tU/p3HicDgkDtfq1avZc5mSkmKY5JSVlYVBgwbpQm5OpxMNGjTA7NmzWXbogw8+wMSJEw2rvJC38tixYwgLC9MJ5msBLzXi2127do31/eg5v/HGGwBKa8O/8MILPvvqs88+43P26tXLcBEm9QHiKCYmJuqOu3DhAkuXCFFay9vIiENJC2V6ejq++eYb3XGHDx+GEHKmPv2W2ktJlZPU/WOxWNC+fXsGo5SklZWV5fO6aCPSoUMHHg++6tkXFRUhOzuby2uaTCaEhYX55DSqIx/9+vXDqVOnEBUVpcuM3rdvn7Qhadq0Kc6fP4/c3FxpXouIiECPHj3QuXNnpKamGnI21ZtuAmYbN27Enj17pExguj+iGaxZswb79+/n+S4hIcGnp7+4uFiSi5o1axYiIyP5/IcPHwbg3cBR35CnffPmzczv6927N1q2bKmLGERFRTEA+/zzz+HxeBisRUdHY+/evRgzZowuY9lisaB69eqYMGGCFMEinqSRESBOSkrCxo0bUbduXYlmQZ9nZWUZJs00b94chYWF7PVX61wqioJFixb5pDu4XC4G1pRIt2nTJiiKIum8ms1mHUj1eDyG4ew5c+YYcrT/X7SKePz/qPaHBJTA7Wd5J887gLqLDuqO7/XMcXh+UbDn7HXp77Hjnr+jg5Dkc9QT+ltvvcWfqzP8tEYufnU2ar9+/XDo0CHOtqOygTRhRUdHIz09nYnzcXFxUunAioj6ahuF2ylJR/s5LRL+/v4Sly8kJAQbN26Ev78/AgMDuWygLw9iTk4Oy9IYNbvdbqi3Sfbggw/y9fjaTe7Zs4fBPIVWaKd85coVDBkyRJowzWYzJk2ahMLCQhQVFWHhwoU6rts999zDID4oKIgnYyFkzurtGMlkkEd4/fr17HlQi9HT88zOzkZ+fr606NvtdtZaJBFxXxm0/v7+WLhwIdcr92Xt27fn7wYFBaFu3bq6EppCeMEYSZi43W6EhITAZDJJiQc2m02q2Vy7dm2dpBR50bW6rWS7du3iPiiv8pM6O9xI9xHwZpPSPZSV4EWAcsqUKbwQWq1Ww6pFpCkIgDUPfXldfGkoVqtWjekTvri96t9LTU2F2+1mIeqgoCDce++9qFOnTpmJMP7+/khLS+Pv1atXDzabjceV1htXqVIlw0o5165dK3NTbJT1THbjxg288sormD59OkdafIWL1d7sCRMmMI1lwIABAKCTtRk0aJDkpVeHXxs0aIAvv/wSQKlurBq4ET3JZDLh6tWrWLBgAZo0aaJ7ZnFxcejTpw927tzJHEMqMjFixAgeh507d5auhSIO1MLCwqT7tlgsSE5O5ndGm0CoriOvnr8aN26MHTt2QFEUhIWFMb2B6nEvWrRIqjymnteLiorgdrsxdepU7qeAgADMnz+f1SVI4opa9erVYTabER0djezsbOZTqtcJIbxausTPVxRF0rml5+rrffhvN6vVWiZf+o9uf1hAqdWhXJB1AU++nYOXPvAuhNkX/o0n387Bk2/noM7Cg6i76CB++MmDnae/wKNvfoq5ez/B1pOfo9jtwbfFbrR9shSgVrnDOpTq5nA4EB8fj/T0dIwePZpfLgpLaO2XX37hSf/s2bMsMSGEPuRFu121lp+fn5+kn6fWrCPPiMVigdlsRq1atXD06FHs3r0bGzZsQGhoKMxmM8aMGcNC561atULDhg2RmJioA5VlZX2W1aj+s5+fn3ROh8OBatWqGS5Ifn5+WL16NXbu3InDhw/jk08+wVdffYVffvkFr7/+Oh+n9QgBwJtvvgmTyQSn04mrV68iNTUVNpsNDz74oBTqCg8Px9ixY5m0TrxSMpfLhapVq2LSpEmGAt206Fgsll9dXYEmV7WEUXFxMXMWLRaLlKVJyU7qfuzcubOhiHhwcDBatWqF5cuX4+GHH4YQ+tKXvozGTuXKlaUQ/pUrVzB//nyd5hxtamixowVSfZ02m81naFbN89Uaybw4nU4kJyfranprjZIAygP5tADabDaf1V20Wd4HDx7k78XHx0tVPWixfvbZZw2lekJDQzFmzBicP3+eM4IJGNWqVQstW7aUAGDjxo2xfft23piRp3HhwoXIyMhgj7MRaLTZbIiJiUFaWhqGDh2KVatW4cMPP4TH40F4eDjsdjsuXrwIi8WCoKAgqYZ07dq1dePZF6AESnnQRu+HVuzbyEpKSmC325mb7HK5EBMTw/fVuHFjpKam+vwNl8uFhIQEtGnTBgMHDuR33OVyYe3atVzZSx1+Jfviiy/4PN988w3mzp3L7512DktISED//v0Z/NaoUcNw46uez4wANSV6CVHKv8/MzEROTg6LrasBlslkQnx8PDp27GjoNbTZbBLVgsTMKXGRACXdOyU++erP0NBQrF69WkqwtNvt7MxYt24d7rnnHj6enhNttIi68Oabb3IinclkwqhRo3heoWQ+o0Sl/9fNqLLUn8X+sIBSG6K+/q3v3XrLJ46g6sMH8MKJq7j070IUlvwMt0fB9W+L8erp3NJa3qp2JyvlNGzYkBMVwsPDERISYshBstvtEthcv34960CSRMvZs2chRGmFjLlz5wIAV7zp2rUr33dJSQmE8Hoz1UbhQ2rh4eFcYYYsPz8fQgi0b99e+q7as0KTwMiRI/nfgwcPlgjxAQEBOHHiBPbt24fHH3+cJ9oJEyZg0KBB6N69O+rWrSvtwG02G4KDg+FyuX5VDW5tU/NSKWxiMnmrAqk9Y/QM0tLS8Nxzz+Gjjz7C9evX4Xa7cfDgQb7GzMxMAN6FTb0g5uTkSLtr9fP/tYCyRo0aPjl8x48fZ6+1WlCYJmTtrp5ExNetW6cjlvuqBGNktCAIUbaXLDo6Gv7+/li6dCnS09N9hsjUXCn6tzYUFhkZqau+UVJSwmH0xMREfPPNN+wZ99XfCxcuhBBe8GA2m/H1118bHvf5559DCIGWLVsyl82o2pCRbJCiKJg0aRI/k379+sHtdmPPnj2G92+1WjlxCADXcD5yxFtSlqrZrFq1CoWFhYYRAqPFn45p0qQJg8bly5dz5vvjjz9ueO80P1CC0osvvsjn8rXxNQKUWuoKaeW+8cYbUvnR6OhobN682fC8ALgyy44dOziUT+Hlt956i49TZ+xv3rwZAQEBsFgsPsPo2ndj7Nix2LRpEy5fvsxZvFQj3lcfjx49GkePHtW9Nw888ACE8ILWM2fO8N/VNciNKtEA4CTGuLg4lJSUMIWHklXICBgaeW1dLhe6devGDgR1uVKSBvvss88A6AElUCqqnpKSortvm82Gdu3acXlEAJJecUFBAfLy8nTXFBUVhU2bNuHcuXMQopQadfbsWWmzS5vOjIwMaa75f93U4JaoDn82+8MCSqC0lndFuZIVaVVm70OlgUvu6EDMysriibBbt258/STVMnr0aAZkwcHBPkEUgU2bzQan08kvIYEiLfijZJBVq1bx365du8YLuNpzkZCQIHmAaOJTZ7dqJVP++c9/8mc5OTnM/VET8rV1qSMjIxEUFATA69uBEvkAAQAASURBVLmg5B2z2Yxu3bpJIcgTJ06wZ0tRFN71nj17VgKtNHlOnjwZw4YNQ+/evaUs7YCAAMTGxpYpcVKRpp5Y1fWQk5OTUbt2bdSoUaPMRaty5cqYPn06Ll++XG64kiwwMBCJiYmGn33//fdlZoxGRUVJYM0X566oqAgmkwktW7Ys93ooccdms/Emx5fRwkjh661bt0oe4PL6OSgoiLP4tVqpOTk57Am87777eEGn6yPupdoojB0VFYWjR49CCG+2qZERIPjoo49w8OBB1r6jBBGysnQor169qqtrT61WrVpMuVBX9rl27RpMJhOqVKmCBQsWICMjg481Og/Vj6Z/2+12tG3bFmfOnGHwrC2rePXqVUNRabXRZkRNbaBwvZGpAaU2ua537964efMmzp07B5vNBovFghMnTrA0D11/aGgoVqxYIV1PQUEBLBYLqzaoS5fu27dPdx0kIF63bl2+dq08W2ZmZoUyrX21LVu2oEuXLjCZTLrfV9vWrVs5+rNmzRpOvKJ5W50MpjbaFNJ7U1xczLza5cuXIy8vD5MnT5ZAGHG8Y2Ji0Lp1a10xDSG8fMoNGzYgICBA2pxpASXVraeWkpKC/fv3s2QVKUXQ3JuRkcHvndlsxoULF9gL63K5sHv3bowZM0bK4levVytXruT1Tz1/zpo16zfN13eiORwOZGVlYfPmzZg+fTo6deqE1NTUCpWy/SPaHxpQfpFfjGrzs+8cmHxoP6rM2gtrcPmL3u02l8sFs9mMkJAQXL16lb0AlLX68ssvQ4jSneSFCxdgNpthtVoZCPnybNKk3KJFC/ZsXrhwgbX7aPDv27ePw9KPPfaY5OGhRlIzlStXZs/YzZs3WdvO4XBwtriRrV27VtrJaflsxIUjz5rVasWgQYN0HrPi4mL2MBC/JikpSRJrpixdaiEhIVi2bBkURUFcXBxCQkIQHx/PdWG1/ZWWloaIiAjY7XZcv34dZ8+excGDB7Fjxw6sXbsWixYtwrRp0zBy5Ej06dMHnTt3RvPmzaWKRmazGUFBQb86NEMhcYfDAZfLhdDQUERHRyMxMZHBSEhICLp3746BAwdi0KBBSE9P5wXbqNlsNvbwFRUVSVnCRjIzJBW1d+/eMt83SmgJDQ1Fq1atygWUX331FYTwbnjUnlMhvB5Ff39/WCwWLF++HF27dtWJrVOj79C7smPHDk4eIW4o2eXLlyGEN1NdbcTfNJvN7F2gRAUjfdXw8HBp7GZlZTFNQs0v9QUo9+7dixYtWug2GGogY7fbMWXKFGRkZKBOnTq6LGD1d6hvaFEeNmyYxLvLz8/XiZwT35EqOWn7g5Ix4uLipIoyxImjRuBgzZo1Pp91pUqVuEgDPbPhw4frQr6nT5+G1WqF1WrlDWPjxo0xa9YsBrFqnVGi+GRnZ+PGjRv8nmmrdqmNCj8Q/5MyvwsKCpgWZLVa8eijjyIrKwsdO3bUPSei4fh6Z+n4Nm3aYPz48ezZ1ILzixcvSnxmAvDBwcGGGdqk36t9t27evKlLhAsICICfnx9fZ/369aXfLywsxPr169GpUyfdhsRut6Ndu3ZYtWoVNmzYACG8ZRBJx5LmEZPJZFhtyGi8aVtoaKh0PR6PB7Nnz+b7MJlM7MEOCwvD5cuX8c033/wqfv+dbiQiX161tD+b/aEBJQC8ejr3jnooA+p1vuODs3nz5j6lMqZMmcITHoWB5s2bx9IO77zzDpo0aQKbzcb3TLV6tR43X16MypUrc6jXarVi8+bN0overFkzPnb27Nm4ceMGT37z5s1jEHvPPfdUKHSr1Qlr3bo1FEXBo48+ymDMZDJh4sSJPiV0aDevrtvsdDp11S9IdzI8PJwnKn9/fw4TaQFzQkIClyMjcWC1HEhFbfHixXxOAtvh4eG4cuUKFEWRgEO7du2wa9curF+/Hr169dJJbQQHB6Nq1aqoXr06qlSpgqioKJa3+a1jz6jsZdWqVdGyZUvce++96N+/PwICAmA2m7FkyRI8++yz2LVrF44cOYILFy7g66+/hqIoXM0mKCgIeXl5UqUcI/N4PJg/fz6PST8/P0ybNo1DYydPnuTM54SEBB6PJSUlOgkddaN+9fPz8yncbjab0bp1a+lvFEZTgyISm2/RooV0LNVOHzRokPT3Xbt2sVeRPOlqQHnixAnce++9hs8tMTGxzNKqatAYERGBVatW4fTp0xJoJI+eEKJMwe6rV69i+PDhkpcqNjYWs2bN0m3cKCGN6pt/9dVXOi40ed6NFldFUXhDQs9lypQpZUpjHT9+nJP7UlJSYLFYWN916dKlvNmkcZuamoq8vDxpviuLmqEoipQRvHLlSixfvlwqMRgdHS3do7+/v/S37t27c3lL0uKl62nRogWDXyPqgZqzqVYtoHspKChgaoY2dEpyRMnJyfB4PFi/fj1q166tm9uJG06ey5o1a5bZJ5cvX2aagBBeWklZfPcXXngBJ06cqND8ePXqVcPM7BEjRhhqNiqKIilREHWquLgY//jHPyCE0FUv+283p9PJlIC7Vmp/eEAJAOveufzbgORD+5GQ+SaCWvS/4wPTYrEgODgYiqIwKZ8q56gnI7vdjurVq0uL0dSpUwFAByiBUo5L3bp1cevWLX4Bn3rqKezduxeZmZmc5OLLq+l0OlG5cmWdJ4UAJnlMIiMj8e6771boWRw/fhxCCOZ0ahvpDrpcLp/nIN6MOhxJmY/qhCOyESNGQAjvDn369Ok+PQvayjQkfk1yILdraqAWExPDCy55himjWQiB3bt3S98tLi7GY489Jm00XC4X2rdvj/vvv18XPrdarUhJScGQIUN4/Ajhzb5dsmQJMjMzERQUBKvVqvP2GQEZbXWfijbiZtKYqly5MqpWrYp69eqhRYsW6NChg6RfSf+dOXMmk/1r166Nn3/+GUBpQo1WX/K5557ja/QVNvbz82NZI7XuZ2hoqBSepZrDbdu21T1DAq/qpBsCEkbi8xRZIGBN8jRlUR2oacely+XChg0bGDSW5TElI5C4adMmn8eozc/PD/7+/pJ3q2rVqli2bBlXJsrKyuJrU4M2dfnHhg0bSuctKSnB5MmTpflKqydalh0+fJgjMEIIPPfcc9LnGzZs4GuyWCz8/xEREWXOHWRXr16VakJrn4U6IU3tgbt+/ToaNGggzZE2mw3+/v44f/48KxSoQ943b97Ezp07MWPGDHTp0oU5m77GgXpMN23aFDk5OVAUBR9//DEfExYWJpVObNq0KV577TXcvHmTz02JeUIIHRXDyOg9oLVk9+7dOv4yNX9/fzRu3JjD6r7Of/PmTUM5MPX7QOON5sdjx47x523btmUajMVi8amR+d9o6mfmq4rZn93+FIAS8Hoqq83Pvm1OZeJDf0X8zNcR3/b+33WwZmRksFeLJnlFUXD27FlMnToVtWvX1vF6kpKSMHLkSE6YIJs6dSofc+rUKQCQdvCUqavW0uvWrRtu3brFYLNbt26oUaNGmWF0IbxAaeTIkVi/fj0++eSTcheMlJQUmM1m/Otf/zI8X48ePVjWh8rNqY1C/WFhYZJ3hjIfly1bpvvOzZs3JV6PEMZE9ebNm0vfo/rpv8ZIOFqIUsCWnp7OSRPh4eHMAaJEAW0ZPEVRcOTIEQwcOFCShKJGi+0HH3zAv6kOi7722mvS+SiZg57R2bNndSUSJ06cyCHHM2fOcDm9F198EadOncL+/fuxdetWrFy5Eg8//DCf02w2o0WLFkhLS0Pt2rX5fGFhYQgICIDD4fhVAFX9HafTyXXtk5OTeSypj69UqZLE0VU3m82GWrVqsRwO4PXM0KbOyGtGnMXatWvz34KDg6UENbVOY+/evSvEAzWbzWjZsiVWr16N06dP48SJE9zvaq1DIbwbJ+I7d+nSpcxxV61aNR4bau6lL0tNTeUxnp2djbZt2zI4M5vNaNCgAbZs2YLPP/9cArxbt24FUKrpSjJIhYWFGDp0KI/N8PBwrF27tswsb1924MABfv7ayAN5iRMSEiQxbLPZ7FOHtqCgAGvWrEGHDh10Hi673Y727dsbJqQZGSUQagEG8bjT0tJ8cijdbjdvyuPi4rBx40YGmxUZO+q5d/78+TrPsDr0T+F0X4Ue1EYRAfX3CKzS3+Pi4jBs2DAkJSVJ6wIB6WnTprGO59y5c/kYqldPz/PatWuG441C5HTcm2++CcAr4/Zrqi791hYSEsJrBUVP2rRpU25f/lntTwMoAS+ncujmU6w7WRaQTMr0eiWTH3jqd+FMCuHd1avrwKpfUCN5lPz8fNjtdqlSgvp88fHxvLOliV7tsbtx4waLdBNoE8IYhBn9tvb6id+n/Tt5NtPT0zFq1CisX78e58+fx969eyGEN7xG3/Pz8+MMdwJeBEa0iydJlphMJp34MFXxIBmWoqIiLFiwQNrR0m+mpaXxgiSEnEXcsmVL5Obm4vr16xDCC3Bv15YsWcLPiBKGCHjR5LRjxw7uU9JcTE1NRVZWFgYOHKgrbUgi4mPGjEHPnj114UrtZGvEZyOeqDYUvGTJEkmDdP/+/RxyjIyM9JlFnp2dzcko2gpHFPK+ceMGunfvzvcSHx+PV155BW63G9evX8dHH32E6Oho/jwhIQFTp07FiBEjcN9996FTp07s4TCZTIiJiUFERASCgoLKrMhyuy0oKAiJiYmoWbMmGjdujLZt26JHjx4YPHgwg+577rmH9U8DAgIQHBxcrueRxkG1atV0Wd1k6mSUkydPMs+zZ8+eOu9OebW3AwMDGZSoqQK+jKq8qDdniqJg69ataNiwoc/7i42NxY0bN3ijVqdOHfTs2ZOPj4uLk7KCfw2gBMBzhhByFS2aN8nTPnbsWEmRoVWrVnjvvfewdOlSQxFxbSPx/Ioaydmon/OECRPw1VdfwWw2cwa81j777DMO5/bs2dPw+Vy6dEl6v8sb4yaTCf7+/khISEDr1q2lWu3UqJCCL1MURSeY3rdvXxQVFeH5572ay1arVZIXUhQFx48f57C6EbfRz88P69evZ68+NTXPmMab+hnRPavXL7WH9vdqxBu22WwICQlBw7Tm6NB3OGLqtMD4zMdgsvkZckbvmtf+VICS7PJX32Nh1kW0efIdXUWdxMw3ETf+ecT2/Av8Y5J9vih3ohE38qmnnoIQQppEnE4nunXrxh5GACx+vmfPHhbPfeSRR5gPpA6x0m7dYrFgx44dvIBdu3ZNuh8Km5dlV69e5VKN6gmKJoysrCzs27cPmZmZ6N69e4U8m2rx7fPnz/NCPWzYMOYfmUwmaeIhz41RhRsilq9ZswY1a9bkxdvhcOCee+7Be++9B6DUg6AOyQJgDiA1WpTV/V+eqTPNCYipZYPUXLI9e/bA7XZzpQ0try4gIABNmzYtU0RcTbhXt+TkZEM+G9ENjLTt8vPzObxO2qLqxAKtHTlyhGsjG4V+yQOjBlRqCRe1qfmmvrxqu3fvhhBe4EJGNe+FKE3icrlceO2113D48GHs3LkTc+fOlWoIBwUFSdJQv8d7bTabERAQoKMS2O12pKen4/7778fYsWMxa9Ys/OUvf5ESiC5evIhbt24xaAZKqRfUj77Ci4qiQAgvnYQy6MsqRQkAjz32GIQQkiyR2m7evKnLCFbrBqrfJSG8myIj/uavBZQAMG7cOH6Xb9y4gZMnT0rzHY1nqmxlNF/HxcWhW7durDHqcDjwzDPPSCLft5OZS3NUamqq5OkPDQ3lxB4h5OWVxPVNJt+lLm/cuIEJEyZIHEIa1+TVpkSYXbt2YcaMGbjnnns4jF5Wtn/r1q0xfvx4bNy4kcPoVENcrXs6dOhQVjtQFIXfH19rxfXr12EymVC9enW0atVK+k1f74h6XObl5XH/NWvWDEuXLpXArdPpRI8ePSTpoTvdyPGQkJAAW3g8KveejppzXmO6m5r+1mbFO1iYdRGXv/q+wuPlz2J/SkCpth9+8uDije/wce63uHjjO/zwk4cnqrJI8neiJScnc31fdQkvPz8/aREMDg7mkAHtNN1uN3tI6tSpwy9vVFQUli5dijZt2uiSLWiRUv+trFJ1Wr08tWYchcdpglyyZInhOY4dOyZNDrTYljXZ1K9fX7rOiRMnYtOmTTzhaK9x586d0r1aLBY0b94ce/bs0V1PXl4e97PNZuNFGyjV81Nz8urVq+czuUNtN2/e5Mzq1q1bw+Px6HQoCRAbTfp+fn4MsrWhaiP79NNP+buBgYEYP368dD6q6/zSSy+xF4Skqbp37+7zvOp+J5Brt9vxr3/9i485ceIE89a0nuIzZ85IXrUGDRqUC8qJZxgSElLmcZSoMG3aNPbqEgimMUKJBepkLcC7KerYsaOu7x0OB4KDg30uxJQURaDKYrHw+0nfMZlMCAkJQc2aNdGoUSPUqFED8fHxOrBPwPF25gj18WqgFBQUhHr16iE9PR1dunRB37590atXLx5/69atY8/R008/jRs3bhjWZz99+jSEEJg/f77us5MnT0rcyueffx5z5szxqSBAmzMj+y2AUlEUfmeDg4MlXnHTpk1Rr149XRWm2NhYKfIQGhoqVWei5EGKbJhMJkRERBj2kdaIXmMymSSP8WOPPaYDs2RqcX1tab6ioiI8/PDDUjQlKCgIAwcOlKg5Xbp0QeXKlX2+J8SBDAsLw4svvogZM2ZIZRPLGnvqvsnJyeHNr5oq5EsXE4BUqKB+/fq8MczJyUFmZqbhb8fHx6Nt27bcZzNnzpTOGRQUhICAgDIVK+5Us1gsmDZ/CaIGPPZ/jqX9ZUYwKcI5dPMpfJFfMYm3P4P96QGl1jweT4UI9L+1qbk/MTExrGtH0iOAd+c3duxYiT9XqVIlTJkyBXl5efjoo48kiYqoqCgpy/rmzZsQorSKhq8J5cEHH0R+fr7UD4cOHWI+XuXKlXH27Fk8/fTT/B2qX+xLs+748eNSNjeFUNWeM1r8yLOprlnsqzVt2hSjRo3CX/7yFzRr1kxatO12O9avX+9zUcjPz2fulHpRomu+efMmTCYTh4/VmY5Vq1b1mTl76NAhnvjnzJnDf/f390dUVBQ6dOig40CqQ8BCePmVxH3y9/f3mS3v8XgwcuRIPk+9evXgdrtRqVIlmEwmnDp1Ci+88ALq168vAee2bdvi7bff5uo9vow057ThL6fTidzcXJw5c4a5fqdPn+bvHT58WALitNmpiFEfWCyWcrNz1SBh8ODBeO655yCE4Nrl58+fZ/5XnTp10Lt3b9SuXbvM2tPBwcFo2rQphg8fjtWrV+Ott97CY489Vm6otGbNmobj7cknn+Rxqaa0JCQk8Pi/ePEig6B58+Zhy5YtWLlyJebNm4dJkyaxAD55jkJDQ5GUlCRtPGkc/RqQarVa4efnx33lcDiQkpKCunXrolmzZrrnX6NGDaxevRoPPfSQtNnVtl69eklhUbLfAiiB0uxmo2a1WpGamsqeZ/XzyMrKkjabkZGRePXVV/lz4g126dIFQpS92SKjPnv22Wd1n+Xn50sgrlevXpK4PvWNx+PBmjVrUKNGDUnp4N5775V0QdXSZ0Qxqlu3ru53acMdEhKim8vp9yla1aJFC/5N2iD5Gifq/z7wwAPs2SS7evUqOzuE8IJZI6PPc3JyeF3Qbriio6PRu3dvbN++HSUlJVzQAoBUielOt06dOiGqRQaSHspClTlZt5VjkTzvAKrNz8arp3PLHTd/BrsLKDVGOl+/d8vNzcX333+PkSNHGoYtaeEhvUWz2YyuXbtKXtPExETJa2hEJidPCXkSly5diq1btxompQQGBqJp06YMtqxWqxQeJdki4mFStqlasy48PJx32iaTCZ06dWLpkXnz5knXJoReemX+/PkQwssvIm5deRwiAgphYWEYNWoU1q1bh/Pnz+s019SlvxRF4QzFnj176u5RCIHz58/j5s2b6NWrl09uGPESbTYbtm3b5pOzRc94/vz5KC4uhqIo7FGie1QUhcN2jRo10j3Lffv28XkJGJ84cQJ9+vSBEAILFiyQji8pKcGyZcsMq5F8/PHHPt+B+Ph4vl/1eLPb7bBarSw8DXhD0fS8aYxev369XNkgMrpf4n2V5THfvHmzRGV4/fXXeXEiLUsj0Gi32xEbG8ugkcKJdrtdkopZuXKlNGYuXryIfv36+UzyofFO1YVOnDjBm6Lg4GBkZWWxbBDdX9WqVXHt2jW4XC6YTCZddr/aKEHBz89PB1qfeOIJvvaWLVsiPz+fPeCnTp1CdnY2tm/fzlVkwsLCMHz4cGRkZKBjx45o3rw56taty5VOzGYzAgMD4efnd0eoABSJSEhIQK1atWC1WmGz2ZiXOnHiRMydOxcrVqzA5s2bsW/fPrz//vv47LPP8P3333NC2siRIw2Tr4QQGDdunLSpSUhIQGBgIADvvEmqGWazGQ8++CAGDRrE4yMyMhLr1q2T1CEo+WTLli0+nwl5NH3xisnUeo1CeAs4eDwevPrqq2jSpImUod2iRQufGq+U/BMbG8vvfGxsrDROtcoCWlNTJqhVqVKFIyGKosBmsyExMRG7du3CzJkzDbUp1c3f31+aGxo1asRZ/6+88or0+zSnk4byxYsX+XsRERGYN28e2rRpo6NWqCkNv5eTp1GjRghqcf//AcSyvZLltXXvlJ9J/0e3u4BSY+pMt9+rqcW4ASA3N1d3zKBBg+DxeFi2RC0DcvToUXTq1Em3eI4YMUK38JDEhd1ul3a+drsd9evXx8mTJ9nLoQ3xO51ONG7cGPPmzcOVK1fYy0YARa3Pt2XLFmnhbdWqFfLy8qAoCk8+Wu8T3afW6JqpBJgQ+qzsGjVqYOrUqejevTt7TIwmQKfTidjYWO6rjIwM/P3vf4eiKMjOzubjxo8fD8ALPOlcaissLMSwYcOk7FV1XVlt7dy4uDhYLBbExsbi/PnzEMILKrSmrjoxceJEAKXl3BYuXAgAuHXrFntobDYbVq1axeCBFhOtbIvW8vPzMXPmTKkfQ0NDMXLkSB1H8+DBg3zMuXPnsG7dOgnUv/DCC9iwYQMDcqvVigEDBkiekYoCSqoLXVhYCLPZLN1HYWEhDhw4gPnz55fpFRPCC7rUoHH16tUM2AMCAri8HQnnR0REwGazwe12Y9q0aeyl8ff3R4MGDaRs+aioKEyePJn7LjAwEBs3bkTXrl0NZVUqVaqEZcuWIS8vT9KhJG8TLY7lSY+0aNECQpTWVNaaVog7PDzcEOhQQoRRtR4AqF69OpxOJ27dusVjunHjxrrNi9lsRvPmzbF8+XLmPHfq1An9+vVjbiLNb+r+uBMAVX0O+n+r1Yr09HR07doVAwYMgMViQVhYGDIyMvg9TUlJwTvvvIP8/HwoioKSkhJMmjSJnyVJaaWmpqK4uBgulwtWq5ULOKiN9H2FMBaDVxtRMozugTKiN2zYUK5Hnp6B0+nkKj9CeL3dt27dkrRPjfjHly5d0slqWa1WiapCUQk1bYnWHTUYffDBBzFz5kw0bty4XIBXpUoVtG7dGmPGjOHx8Prrr+PGjRvsSSZ9UbWR2Hrnzp3L3MjdifHk5+eHsLQed1Sneuef3FN5F1BqjKp9/N6NsgIVRWHu3nvvvSft0mhS7Ny5s+46aRLw8/OTQhbEH3zllVekcJu6bN53330HIUrr7r700kt8nL+/Px555BFDaQi6bofDwTvw6dOn84Jjs9nQoUMH9pwsXryYNReNso6FMAaU169f14Hl4OBgDB48GM8++yxPsklJSbh48SJL21y8eBH5+fnYt28f5s6dywlCvhY06je15hklfwih91RcuHABU6dONSxbVqVKFQwZMgQHDhzgRYI4lA0bNoQQvrXa1BJDDz74IHtPTSYTxo4dy33RoUMHriySkpICf39/LrOprTjiyygJ495775WkU2JiYjBjxgwGhdQn169fx5UrVww92g6HA+PHjzcsE1kRQLl69WoI4S2NOH/+fAnAGHkaTSYToqOj0bRpU/beORwOxMTE+PwNdXk7UjZISUlhbdJvvvkGhYWFeOihh3Re5apVq+KTTz4BAN58kCeePPe7d+/mhc/lcvFzU79PQng3X+fOnWOvS+XKlcsEEx6Ph/u8POHo7OxsfpYWi0XSzATAlaFMJpOuzCJQuoGh35s8ebJECbHb7Rg7dqz0nKtUqQI/Pz/pPG+++SZ/Z86cOXj55ZfRpEkTCXykp6fjjTfewL///W+sWLECrVq10kn4WK1WhIWFoWrVqkhLS0PDhg2lOS44OFiK6twuYKUqN9oxFhISIiXt9O3bF6NHj8aMGTOwcOFC6R149913cfPmTUN6jZbPrG52ux0vvfRSmc+TjKIfNOaoKhCNXeoDbXUmADh16pSkl0njyCiZrmnTpjCZTPx8n3jiCZ4jADAdID09nRNj1NGrr776Crt27cKsWbOYLkQax776gd6LefPm4dKlS4bvwpkzZ27rud5uC6tSDUkPZaHnM8ex9eTn+OdX36PY7cGXBT9i//kbaLfyqE/gmDLvACflLDlwif9ebX72n5pTeRdQamzOnDm/e2mnqlWrsmeDFjEKBxBJXs37sVqtGDx4MIe0X3/9dd6V5ubmSpM2hbbpu1FRUYiJiYHdbueXlurdPvPMMxgyZIh0vMPh0FVnOH78OE8URpO3xWLBwIEDOUyfm5vL3iuTyVQmr4YApdvtxqpVqyR5FfUCoC3RNXLkSJhM3vqulJGtNbfbzdf98MMP68Cmmvtj1OjcvuqnV6pUiT2TVAFEzRGlihhCeMFgWaa+lsaNG3OpTSG8AOtvf/ubdLy/vz+P00OHDpV5brV9+OGHEKI0PH727Fn07t1bSr4gTqMQXs4qfaZN8oqKivKZsKQGlIWFhdi/fz/mz5+PXr16oXbt2mVWuggODkazZs3QvXt3XsS1XjqPx8NexPK8sxcvXuT3zGQy4caNG1xOTl39xM/PD127dsWMGTOkevaDBg3i7NVbt24hKCgIDoeDuWl2u10qN/rLL7+w/JO6Igs1GjN16tTxCSqnTZvGz14L3IyMEq6o9e/fXxqLJOQdEBCg2wCotUR79uwp6QLOmTNHB5ry8vIghLEmpprz16pVK3g8Hrjdbg7x+3rerVu31omIk6mzpoUQeOihhwCUVvFJSkqSRLzbt2+PPXv24IUXXsCTTz6JuXPnYuLEiRg8eDBnCzdp0gS1atVCYmLiHZGeUouwa+cQeleqV6/O/46MjMSMGTOwZs0abN++HdnZ2Thz5gxyc3NRUlICj8cDPz8/BAcHc8UuNS+ZwshCeGtakx08eJD5ryaTCW3btsXly5fhcDhYS1Ut90U6rLVq1QJgrPNLzgtq6enphjxZwDv2/f39ERgYCLfbze+vdpNlBDb9/f1RpUoVtGrVCiNGjOCI2W+pq+6ruVwu1Ji4HkmZ+3Hgk38jr7AEW96/ijl7zuPJt3Pw9fcl+OEnDzqvftcQUD765qf44Sdv/6gBZfK8Axi6ueLKIH80uwsoNfbfyCijpg4xN2nShAGj+mVbvnw5L/Bms5nrzzqdTg6bU6UcyiSkpl20W7RogUuXLvGkT0AhNTUVOTk5PNE4nU4pqxfwgqNKlSpJ2XzaZrFYkJycjBEjRiA7O5sX5ZCQEC5FpzYhvGLi6hCK1WpFy5Ytdc/BqPJHTk6OxA9UZ3V7PB7+TJs9qLbExEQEBgbi+vXr5WrVqVt4eDhatGiBESNGoE+fPlLt8WHDhqGwsBAul6vMerdqW79+PYQQhv3brl076Vg1eKAweUWNpGXI+6C2gwcPol27dj4X/tDQUKxYsQJLliyR/t69e3fcvHlTAo00towWaz8/Px77DRs2xJo1a3DmzBm43W5YLBbUrl0bGzZs4IztzZs3G97L/v37+XzlZeeqE8TUC5TJZELLli2xb98+3XdeeeUVCVw7nU7cuHFDAi9dunQps9wohbwJjJOouvr3a9WqhcmTJ3NYvri4GDabDZGRkZg3bx6EEMjKyirz/khKZ8qUKRzidLlcEt+Xoi/p6ekAvGOBdChpflE/I1/lEalwgpHUEFFctEoK2uevfgZBQUEYNGiQbiMLgCtqWSwWuFwu+Pn5IT4+nj8nrx01dcJNRY0ymhcsWKDbAGzcuBEPP/wwhBBMB+jUqRMWLFiAKVOmYODAgUhNTdXx4On+1XW6f03on7yJ6nC5uj42jaWQkBApRFyvXj28+OKLOHnyJK5cuYK4uDip9vwbb7wBk8nE43L16tWs82s2m1nS7sKFCxKtw2az4dtvvy2zP6kUJW24qC+io6MlKkFkZCQcDgdmzZqFe+65B9WqVauQtutvbSaTCTWbd2AQeN+z76Pqw7Iuddsn38FPP/+CvR9/qQOTjR47hMIff8bKQ97xqgaU1D7L+3NKCt0FlAD+85//cFWQ/0aGt69ms9mwfPly9mCoQ3kHDx6UeGRNmjThECoBStJrE0Jg1apVALyZy2PGjPH5e2rPCuAVElZ7PwFwlQ71hNi3b1/cunULZrMZsbGxyMzMRKNGjSQuofo7VqsV+/fvB+DNiiYdTTqmXr16eP7556EoCv7yl79ACIHhw4dzCCo5Odnn81PLsaSlpeHmzZvs8Zs0aZLhdxRFwb59+9i7qZ3so6OjOZycl5fHgMThcKBq1aoIDQ2tsGejQ4cO5QpMezwe9rjS9ywWC9+H+jlRSMqX57c8CwgI8FlNhD7X3hvx5x555BHMnz+fK7KUtRAK4ZV5Gj58OINGRVHYcxESEqLrF7Uoc1BQkE6WSG0kkyKEt9KTLyO5ISMeXtOmTcvtLwIU2maxWAzD/WpTJyBQNRnAG5JUJ6/RMVarlUHIggULUFBQACHKr85BWp4kSbNx40YOEzdo0IA3dKSTumDBAh0v1WazITAwECaTicGtkcXExOjKG964cQNLly5Fenq6oUfJarUiKChI6q8bN25g/PjxUhnQqKgoPPjgg8jLy+MkD+qnlStX8vX/85//5PrQ6v6riOyP1o4dOwYhBB599FEA3o2KVnEiKCiIeYW3bt3CypUrDd8BqqGtLr346quvQohSL/vPP/+M3bt3M3UmODgYM2bMwOLFizF9+nQMGzaMwV56ejrq16/P3njtWPk1Gf6kuKF+TnFxcQxIk5KS0LVrV12xBJqzk5KS8I9//APffvut4bymKIpO1SIkJET3bMgBopZRKikp4XHZv39/3ozcyaih0+lEWOfxXLzEV/vky+/wyZff6f6+68wXOPfFt2i5/AgAPaBMnncAC7Mqrmn6R7I/NaB0u91SNZXfO9RdXjPK9qaX7fjx47BYLLBarVJFCNK9o38nJSXBZrPBz89PyvpWf0fdqlSpgvnz50telldeeYVBJfE7hfBmF27dupVfdqCU8K/2Dubm5vLvaQGmttWrV0/yhLz77rt8XYqisPQRTeRaKyoqghACffr0QadOnaRzP/DAA9Kzfvnll5GRkYGYmBjdRFy7dm1eIGjyJu8Heds6deqkmxQLCgqQlZWFuXPnokePHqhZs6ZP/VI/Pz/ExcWhRYsWGDlyJNauXYtz587h888/l0j8zz77LD744AP+XaqicvnyZRQUFPA49SVjVJ5REobWrl27JvFuhSi7BrV6s0AANCkpCVeuXCmTQ0kcM63nsbCwkLUTK1WqVKbnDygde+QJUZ/v73//O+677z5p0UxKSsKSJUvwwgsv8PUGBASU219lSdao68lrze12s8dLW9aTjBbptm3bYubMmVy8gBq98yaTCX/96199bkwoSUs9PrWZzrNmzeLws/o3EhIS4HQ6+V2lZDAjowTCTp06Yf78+WjSpIl0PkpII47i/v37pYQnX3bhwgX0799f8ujRnGOz2XjzROCPxl56ejq++eYbflcaNWpU4XrhZL70WbWeeHoX1dEU2pC6XC4p41wNKAFw5St14pqiKJgxYwafr3v37iguLjacU6lyF/3u2LFjGWw5HA6ObNjtdqxatQq7d+/Ghg0b8Pjjj2PWrFn8ecuWLdGqVSs0bNjQEBCrZehup5nNZtjtdvj7+xt6GePi4nDPPfegf//+GD16NGbOnImHHnoIQnh1Kw8fPoyPPvqIIwJEayDv6J2u4R03YXO5CTb//u5HHPvn19Lfej1zHL8o/8F9z55AyyeMAWVC5pto86S+bPCfwf7UgDInJ+f/qUeyIi05ORkffvihVF8Z8GbvqasS0KKkKAonlpBe2alTp3iidrlcsFgsSE1NxT333MOTvclkQs2aNbF27VpcvHhRN9lERkZyv6n5OMXFxTyxklHlhJSUFIwaNcowiYUaVbLZsGEDvvrqK8MsS/KwxsbG6p7hG2+8ASG8HjxFUaTrDg4ORvPmzXWZuMTZWrFiBfbs2QMhvBmO/v7+iI2NRX5+vpTlK4Sx8HNZRsBbDVz9/PwQFBTk07NJQLFx48ZYu3Ytjh07JmXPRkVFScDzdhdOMgIZc+bMQa9evZCcnOzzmigk5nA4MGjQIHTo0IH5serPExISWL6IQIU2Ux7wbgCsVqsukebMmTNStY7U1NRy76Nu3bqw2+2cnWuxWHD//fdLz468vurFHvC+P3TPffr08dmXVHZOCO/m5/r16/jHP/4hvXspKSk6jquaciGE7wxrRVHY89WvXz9+Ntu2bcOCBQs4+qC+n7i4OPTp0wc7d+7Ezz//DMCbpKX1GpKdOHGCgY96vjOZTMy/JYqJkVwV4AV8M2bM0L0XZrMZCQkJuoQ0Gv+jR4+Wigm0aNHCsIqT2ijMrX53YmNj8fDDD0tcbjUNwOFwMMBq0aLFbb8b/v7+On1W8pAazVnTpk3jqEW1atXw3XffSd/VAsq//e1vEMK4lOv169c5yZE2QNoIgloNgsZDQEAA5s+fz5uIffv2McVG7Q0HgLfeegtCyCUmKSmOkrJojNN7vWbNGhQWFmLVqlUQwpvZ/vzzz3M/Z2RkMC+1bdu2zEs1og79Gr3U32ttNtmd+go4mvaXnecAALN2/136+7kvvsW+c94weFmAMjHzTeZY/pnsTw0ogVJv3O8xcO/YC/B/YQptAsTWrVt11076YhTmo0WNjiNAMnLkSD7Pnj170KJFC90LrF481GW34uPjJT4OhS6effZZFBQU6EJpISEhGD58OC5fvsweTwK42kQPIbySQKtWreLdvKIofP1aLUvic3344YcMvrSeZpvNhnbt2mH9+vW6bGjyTpBEC8mBaPmo5ZWw0xrxV6tXr46LFy8yaBDCK4i9ZMkSycOQmJjoM1FF+1zsdjucTmeZi+Z3332H/fv3Y968eejVqxdq1aqFsLCwMsP06sScyZMn8/lJm1O9gF+/fh1jxoyRSsSRfJCa43Xw4EHpuqgGsvpczzzzDGtxbt26Fa1atYLJZCo3cz0kJAQxMTGYPXu2FDYNDg7G8OHDmW9sJEANgLNlhfBu3NTeo88//1wqNzpgwADd93fu3Kl793bt2gVFUZiqMHToUAjhG1AC3vGtri5Us2ZN6fPi4mII4c0M12qcmkzeEnlmsxlRUVGGIfj3339f5/kkz2m3bt1w48YNfr+I63vq1ClMnDgRNWrU0L2jJpMJo0ePxrFjx8ocg7GxsbBYLCgsLERUVBSfJyIiQsfRJiNZp7p16yI/Px8mk4lBknr8C1FaD5r6p3///iwV1b59e5/XZWRqQP7xxx+zMoO2aTnGrVu3NuwDLaAEwCVhjSSJAK+epLqmPXHkz549K12Dy+XC6tWrDX/32rVrvOHr0qULH/PTTz9BCO/mSX09FotFx1fv0KGDLmIlRGmlHErwCgwMxI8//sjHeTweKYGKkqaEENIm4ocffsDnn3+ODz/8kDeh5HSoXbs2hg0bht69e5ebNPlrW0RqgzLBZIdVR1FY8jM+uvYtkuaW/n3W7r/jR/cvaL7scLmAMiHzTVy8IW8y/gz2pweUgLfG6v+ip1I9kVerVk1K7KDKOi6XCzVr1uTFnMCUOnSUkpKCL774AvXq1ePJUB0ePHTokOTZ8/f31wHVoKAgnmSohB1NVuSl1HLUevbsqfMMAaVyGEJ4uWElJSU8sagJ6HQfLVq0kOovnzp1ijlb2hCZEN5waffu3bFy5Ur2IjidTp+Cxf7+/gymvvzyS/Y+RUdHS14zI+F4I1u+fDmE8AJZdenF3NxciUIghJeLqjYCnrt27cK8efPQo0cP1KpVy2emI/HeQkJCEBwcDKfTaTiWKdzerFkzBlp0Xx06dMClS5cYlGl5hYWFhaypaWSffPKJLiSlBvXt2rVDQUEBvvrqK5jNZqSkpADwAinSGg0ODuZayuR19uUVdrvd3MfUnE4nbyiGDRvGXpWyJHeofjvVc6ayeJMmTeI+DAkJgdls9ulVo/HVs2dPXW3rUaNGSTqUZRklswjhpVporVatWlIloW+//RZr1qxBhw4ddBuRsLAwdOzYEePHj9dxAevVq8dyMvSeqTcF0dHR0rNzOBycNETefCNwbWSUNNWnTx+ulPPEE09wpR5taVTaHFavXh0ej4erBVEUJTIyElWrVuXrNpvN6NKlCyeBrF69GkCpzI1R4pkvozGgjqaYTCZMnjwZH3/8Mf/72Wef1VWQiY6O1gnyGwHKjz76CEJ4QaiRff755zzX0vm1YM9kMqFx48Zl3ovH42Gd0Li4OObP+vn58XxUXFwMk8kkcR1p/EVHR0sbEy2gBMAqCZTgpQayQgiOYJE31UhwHQBnsAvh5cyrrXHjxhyCv1Prs8lkQmLjdj7BZJMlf8O1b37AlwU/Iu3xv/Hfay88iK+/L8Gaw//kv5UHKD/OLTt56Y9odwHl/9mePXv+5z2VFosFM2fO5EWsRo0aKCws5LAY4A3laRcYCguqy1d9+eWX2Llzp5RB3q1bN3z55ZcAvBPOokWLdC9jRkYGV99YvHgxGjRoIL3sNIH40lwko3q4QgiWAIqMjITH44HH48GePXvQr18/VK5cucKTSe3atQ1J+du2bWN+WO3atXWabQRE4uLidGUkc3NzGcxVJIFDURS4XC64XC74+/tLgPLpp5/mTYI6qadSpUqcxU6LNvHYCgoKsGfPHkNPbnnNarUiMjISzZo1w8iRIzFkyBDJkxcZGYm8vDy43W5Jd9Bo8ifPUVlVRAgcBgUF6d4li8XCdYGPHz+OgoIC9p43aNBA51kjr626X7du3aobb3FxcThw4AAfR14Nk8mE0NDQMsOrJH/zwAMPYOfOndJ5K1eujFOnTsFsNhuWuiM7d+4cL6w//PCDRK8ICgpiYejyAOWFCxcgRCl4mjJlivQ5hSeff/553XePHj0KIbxl/rp27epTraBt27ZcbGDmzJmG3mqr1YoGDRpg9uzZrFNINmTIEAghGPhXxFJTU2EyeetkEy3m2LFjfJ9/+ctfAJRKACUnJ+Pnn3/mfqX5S52UVlRUBIfDoZsX7rnnHr428pRlZGT4vLZvv/0WM2fOlDzq9O4KUZrFrtUmDggIwNmzZ1FUVITRo0dL7/SKFSugKIohoATA1Xgoi1pttJk8cOCAlJwmhBfYh4eHo06dOoaC4EZGVX0cDgcOHTokVRJSb+qF8OoJK4rCc37lypWZ224EKIFS4D5ixAie92k9IS1Umnfbt2+PnJwcHD9+HHv37sWmTZuwbNkyKau+W7duaNu2LRo3bsx5Ab8m8ai8llC/pSEArLPwIC7e+A7fFrvR8SlZLmjN4cso+L+/t3ziCFo+cQR9n3sfALDunc/Q8okjukzxux7KP7kRd+d/rdlsNgQEBEi7Z3UygFo2iCbZjIwMzJ49myc7s9nM2nYEJuiFHTRokKH3jfQqZ82aJXm11M1kMqFBgwbYsmUL73ArGm5SL6BCCCmjlzhb9erVq5AOGVWk8WUlJSXs8TCbzVJIlxJRiG+nrhgBeKVfaFLTTqpamz17NoTwZtmTsHlOTg6DqYCAAPbMFBcXY8yYMTwZOxwOTmbyVXJSvYiGhIRgxYoVOHv2LBRFQUFBAYe5ybMZGhrqE5BbLBY0a9aMAYjZbEblypUN74sys0NDQ8u8fwo5BgcHw2QyIS0tTff706ZN47FCFYq0Rp7cnTt3ok2bNpI2YoMGDZjS8de//lX63ldffcW/c+TIkTKvFQCsVisaNmzIgs3UevfuzbXr169fX+Y5KGmHwqQZGRmYO3eulKzSpEmTMsEtcddycnJ4g6MGoW63m+9da6RJOH36dPY2WiwWSfKooq2sbPKQkJDbVhYgOSObzSbxrG/dusV8SAIV8fHxKCkpYakkIbybOKPkLHr+J06ckAChEN6Q+rhx49gTO3DgQP4elSOl91EIr2eOohLEZVRTfNSSU0IIPPLII9K1uN1uzJw5k8GTy+Viz7DWyGNdv3596e9///vf+bvad11dBnXFihUVGpNkb775Jq8BtGnUAmQ1uFUUhT3F0dHRePnllzka1q1bN4wZMwb9+/fHvffei5YtW+qiSXS9drv9NyX3qHmiRsmqv6U5A0N0HMpq87Nx6uo3KHZ7cN+zJ3Rgc/dHX5Tb112ffu8uh/L/9QX8L5l2UflfbfQS9+jRAz/++KMUro6Li5MkP7SJKtRsNhsmTpzoU2sO8JZ+M5lMOHbsGHr06OEzC75y5crIzMzkxWz06NEV6m8hhBQm8fPzQ3JysuSNs9lsSE1NxZgxY3jRJbkQbYIAHV+9enWMHz/eUHT7zJkzHEYKCwvD4cOHOSvbarX6BCFqvpyvY0pKSmC323nRpYxHel5t27ZFZmamBPbK4jQ2atSIPRVNmzaFoijsdaDmS1rH4/Fg/vz5kjhwz5498dBDD6FXr15lejwpPN68eXOMHDkSTz/9ND7++GP2Ii1fvrzM50qeCyEEX4sRuKlbt65h5ZYzZ86gWbNm0rGpqalYvnw5fvrpJwCl3lCtZ5MArRBC8g77MnVGfosWLXD9+nX2IhF3rzxv0NWrV/kcavkiRVEkHpnNZsOoUaN0AOn48eMQojQ8/9NPPzGFQF2fnbyzamCqKIqUuOXn54exY8fyO6/17thsNh2tRLvwqz2+ZOQxVHOvK2oEtMPDw6W/q7mmJpMJL730Emf5CyF0STJqIzmmwYMHIy4uDiEhIcjJycHAgQMlDy2BkWbNmqF+/fqSPma7du2Y40v6rEJ4Q+5kp06d4r8PGTIE4eHhMJlMhu+coihYsmSJFEaeMGGCbo4lNQpS8Hj33XelTXPjxo0ZnL3wwgvIycmR7sdk8pZu9Hg8uHHjBs6dO4dDhw7hlVdewdq1a7F48WJMmzYNI0eORJ8+fdC6dWufoIzA2+2CP+24Ip4/PbfGjRvzc6fxGRMTg+XLl2PTpk0M3Fu2bMkZ7BQ+B7wJd2azmYtY3M61VaTFT3qBwV/S3Ddx6NOb+PkXBSNe/NDQe9lt7XsY+9IZqWW+7h0Dr535AmNfOoM6Cw/ezfL+f30B/0v23xQ1/7Xt7NmzuH79OoMr9USwaNEi3T253W7WddROAKQlaWTklVOfPzY2VvLmValSBd26ddNJA5nN5jL5hoqilFkzPT4+HlOmTMFHH30kfS8rKwtCeMneakC0fv16nDt3DlOnTkWdOnWkyVkttn7o0CH2Si5cuFAH5soLS9LiZ7FYDIEQhQR79OihC1lpmxq0jRgxAmvXrsVHH32Exx9/nL0U1PfBwcEMIoi/Sh4WekbEidXWKg4MDMTixYt1BH5KtBHC68GhpI177723Qgk8zZo1w4gRIxhsas9Pi2pGRgaXUFNz9dQtKCgIPXv2RO/evXUctoCAAEMh5dq1a8PhcEh/o8ziJk2aYNiwYRDCd83lixcvSmF+rbA5lWmkDVVZphYHf/fdd6XPyCN17733sifNYrGgT58+/O6lpKTAbDZLHOni4mI+funSpQCATZs2QQgvV7CkpASTJ0+WPPyJiYm6cHdYWBg6deqEdevWSe8ked3atWsnZaNTczqdGDNmDG9OabxQosjt2KVLlyCEd8OmNgrja2WHKCNdG3LXWnh4OEJCQmC323W0hPfff585eOr7iouLw5YtW3TjNT8/n4+h50I8QSG8YV3AO260lWSMTJ1QYrVa0a9fP5w/fx6nT5/Gjh07IITX+6YGnzabDWlpafzeRUREIDY2ljc9v7aij1bfVj0H1a5dG2lpaWjfvj169eqFoUOH4sEHH8T8+fM5UZHe26eeegpFRUW4evUqU2e6du3K5VxpnJMRt/XIkSPsAabKXELI3vDq1avDarVCURT861//ghDeKFqnTp10Kh2/tVksFoR2Gocqc7KQkPkmXjjhHdOHPv0Kf9l5Ttd88S19cSjv6lDeNfz888//k4k52kYhwlWrVukmGPVkX1RUhJEjR/LOVLvQkLfRZDKhc+fOuHbtGr755htMmzZN8hI4nU6MGjVK4h2SgLq6JCLxNtV92LhxY2zfvh1utxv79u3DwIEDWY9NfS3169fHnDlzsGXLFl4gSSBYa35+frpEHKOM0cuXL7PYujp72Ww2Iz4+Ht26ddPp8ZXn0VJ7CsxmM1q1aoWaNWuWGVYmQXC17mRFJE3UHgWLxYL+/fsjPz8fVapUQVBQEG7evMnixGpBYnquERERWLduneG5FUVhD1irVq2gKArsdjsny6iNyiZStrgvIXhaoGJjY9G8eXM+TggZMDRu3BglJSVYu3atodfEZDKhRo0aOH36NEvoXL9+XXddQUFBqFKlCv+b6r+7XC4UFRVBURT2iqoBocfjwdChQ3mRJYqB9jco6YfkTpYtW2bYl5S13rRpU5jNZp3cizYpZ9++fQxkSdBfCK9kkNaKiorYg09ZvZRdW95cRZqGRkZebnVyDWVU03PUzhUmkwl+fn44evTor5Kromf94YcfAgDzuV0ul2F5vrZt25Z7TrXnikq40rhRb3K1iUZmsxlNmjTBK6+8wvdCGf02mw3fffedtEkwmUxYvnw5l3CkUHpoaKhUwjE6OhqhoaFSmclfy/8jIfiIiAiev2rUqIFmzZpJm67q1atj/vz5ePrpp7Fjxw4cPHiQnQ5utxuHDh3iSI62ChAVmijL1EoI27dvx969e3k80EYHAG/wn376af4bRQs8Hg9yc3NhMpl4HWrYsCG2b9+OadOmoVOnTgxay/J83qlmsVgQU6MRA8AP/vVNmX1wu4DybqWcu8YTvzrz0Rdv8P91I35OUFAQXnvtNQZzJpMJo0aNQkZGBr+EMTEx2Lp1K4BSLwNlcWdnZxtKM7hcLg7V+uJ9kfekYcOG2LJlC4QQGDt2LBRFMQxFUwsICEDTpk151925c2fpvHl5eQwEmjdvrvt94l0lJiayPFGvXr3Kfb65ublYvHgxmjdvrlsw1S0pKQkffPCBTqzcV3jabrcjLi5OlwjVrl07XVLO7RgBiZ49e0rae2azmUOBFIZXh22tVqvPUoVkamrHrFmz+DyLFy+u0LWFh4fDbrcjLy9PKrdYnmfT5XKhadOmaNCggaG3MikpSdosECjVUihIRorqo6sBsrocYG5uLoPM4uJi7Nmzh/uqatWqyMnJ4YQDbbJLtWrVYLVacfnyZb7Wbt26SWCKPNKNGzeGoijM63v99df5GF9Z3seOHZOkfJo0aWKYqFFQUMAAwmjcEkig99Fut5cpeH/y5EmYTN7yfVpgSIlXcXFxyM7O9ukZs1gsSEhIwODBg7F///4KAUzqw+rVq/N8QaDY398fL730EvLz8xl41q1bt0w6jrpv6bxqEBkQEIB69eqhT58+6Nq1K1q2bCnxcO/UXGyxWJjaEhUVhfj4eFSrVo3H8T333IN+/frhnnvuMSzyQH3ct29ffoaPP/64dJ/NmjWDxWLhf9PGQs0z3L17t/SdwsJCfs+tVisWLVrERSBoLhFCL8NmZMQRJm8qbSzIKJGQRPjJ+ZCUlAS73Y6//OUv6NSpk895gYpo0L2QssLly5fZm3unm9PpRNSAR5H40F/LFTi/nXa3lvddA+Al89eqVQtjxozBkSNH8Msvv+CXX37Brl274Ofn9z/nvRw5ciSHXJo0aQKLxSKFeitVqqQL440ePVo6R2RkpOEOuk6dOszT8WVq4rzFYoHFYkGXLl104QmHwyEthC6XS9opk2dBbYqicOWP8PBwXLlyBUBpzV0hvKT56OhonqQINJdnU6ZM4etS12Quq6nD0/fff7+k/edwOCSSe1hYGItFU1LO7RqFboUoLR155MgRqdpRw4YNpbB6aGgoS59QFqqRUek6ykJt3749mjdvDpPJVG4ZQbLt27dDiLK1OUm2RLtwGPWv3W6XvGP9+/dHs2bNJFpDrVq1sG7dOng8Hpw/fx5CeKkPQKmnSp1IQUbghRYsEmwmo1CnWrKkqKgIJpOJOV1ut5vDf/Hx8cjLy2Ox/bp16zKgItF2dfJJWbJBFMJWvzN16tTB1q1bMWPGDBZuN+qzYcOGQVEUZGdn899iYmIMvblkJSUlCAwMhMViMQxdX758mc/1l7/8BYqicFUjIQQ6duyIuXPnIi0tzbA6DomtG21Co6KiDD3StWrVwtSpUzFq1Ci0bNkSQggJ+EVHRyMyMpIlsX4t34/KDdI4o02zGuSox2fdunWZ6zh9+nQcO3YMly5dQn5+PhRFQXFxcZl9Se+Xx+NBZmYm95fD4ZB44/S7tDlWc2bVfacuLAF4M8JNJhNWrFjBY6RJkybIy8vDypUruQ9btGjBIXy1g+S1117jebhNmzZlhu9JXouuX60Ccf36dVZ1UMtRleWZdTgcmDRpErZs2cJzO+DlTdLzSE9Px40bN3ht+T3WX2twJSTO2XdHAWW1+dn4Ir9i8+gf0e4CygrYiRMn4HQ6/6dkhehFvHDhgjS5R0VF8UvZrl07qYKDEVeqcePG2LFjBxRFwdWrVxmUCOENmxqFRfLz8zFx4kTdJCyEFwB27twZ0dHRMJlMvFvNz8/H9OnTdVVzkpKSfAr9Llu2jDXryPsTGxvLFW1sNhvq1asHf39/WK1W3WKqLot47733lumZVC802s9CQkLQrl07rFq1Crdu3eJscTXAFcLrZVB7a34NoPziiy/Yq+ZyuSRwQjXV1eE7Pz8/9iafOnUKmzdvZt22DRs2SOcm7hKFE4ODg1G5cmVYLJbbvk76nhFXVlEUn3zJqKgobNq0CVlZWezZrF27NsLCwgzfL6MQGHkus7OzWetQnUihNsqAFsKrx2qUMWyz2dCwYUP+9yOPPAIhhE4nccaMGRCi1GNXo0YN3UI8adIkCOHNpAV8A0pFURASEgKHw4H33nsPQ4YMkagZ2paQkMCfWywWVK1aFbm5ufy3tLS0cpOHiMf23HPP+TyGhMSFENiwYQOys7Ml6Rar1YpWrVohIyMDrVu3Rnx8vKFuLT2rXzNnkqdL/f4lJSWhZs2aiIuLM3yP77//fmzZsgVZWVk4efIkrly5Yvisi4uLmdKzZMkSBAQEwGw265LAwsPDERgYyLw+Iztx4gSDae0xpFJAm/zg4GA8/vjjfNzly5elTHMhjGkPgFeJIC0tTfqbWl6sqKhISoQTwhu9UjsUiOdIz0NRFPzyyy+sbBIVFaWTUwO841ddAlYIr3ePar5rnzcdQ6C5bt26vOGrVq0aBg8eDCG86g1aW7dunTRPlDUP3KkW26rfHQWUO08br2V/FrsLKCtoJ0+elMAGTRRGmc//DeCZnJwsyVmoMw9v3brFHhWr1YoaNWpIk7A64/brr7/W3StpgNGusFKlSujbty/S09N9atwJIYevSQy4ZcuW/Le8vDzm/VG9Wn6xY2Mxa9YsHUA5duwY97HT6URRUZHEbxo0aBBPlk6nEzVq1Cgze9rPz491GePi4mA2m1FSUsJ1eymUs3z5cj6HVgvNqFa3UQWM2wWU2tAtAderV6/i8OHDUli9UaNGSEtLk67L398fJSUlOH/+PD+nwYMHQ1EUDBgwAEJ4k2loUatbty737apVqyp8nQDYM6bV+Tt48KAutEcZ2hS6nzt3rs/zXrp0iSkdZrOZvXflvVMDBgzAmjVr8NFHH0FRFJw6dYpDiOHh4Qy6SR9PbdHR0ZIcTlJSEhwOhyGQUJepM0qC83g8DPIVRdEBSkpIUye3qecUqoNNf7PZbBwCzc3NleYg9dxz4sQJZGVlYcuWLVi5ciXmzZuHSZMmYciQIejZsyeDF5fLhaSkJMTExCAsLAwBAQFwOBy/Su+PNnvEaw4LC0NwcHCFIjoTJkxAdnY2zpw5g9zcXLzwwgsQQvZ6nzp1isFMaGgoX5/dbkfHjh1x5MgRHh/q7PryrLCwUNJjpSpF9M5ER0dL81xcXBzmzJljuHkimTCKtHz77bcYMGAAX2tUVJRhpSZFUQzn0vj4eAls3bx5E0IIjBkzRvd9u92OpKQkeDwepl9Qq1SpEk6d8oZez507x7qs9LlaAWPx4sUQwgvke/TogU6dOiElJaXMDbi/vz/atm3LNdtzcnL4fLR+0PwvhJei5Ha78eOPP8Jms7Hm8BtvvIEBAwYgPj5eGjM09zZo0AA5OTm66NqdanFxcQhpOfCOgMln3vmswmPwj2p3AeVt2IcffsiTPe0IY2JidF4tXzVgf4/WsWNH1K1bl4XNAeCf//wnBg8eLC3s9II2adIEALgyjbbMW0lJCUwmE6Kjo9GgQQMdMAsKCkLfvn2xe/duCYwYCQkT94a4YampqRBCMMdLCC/HqFevXpJ3pmrVqli2bBncbjfWr1/Pi5cQ3p2+tiqLulEpsRYtWmDkyJEYMWIELBYLTCaTBJq0un6nT5+GEHJ1lsLCQg57mc1m9OvXDz169PApwWGz2VgKBLh9QKkN3VLJNe34Untib968iV69ekmL7Y4dO1BUVMRlNtVEeDVIIq9vWVzZsqxatWowmUw4fvw4Bg8erAuDCiEwceJEPr6kpIRDe+XxNbdt28Zjwmw2IygoCIWFhThw4IBPb6ZRi46OxrBhw/DQQw9xZRDtvbZs2RJmsxlAaQic+JlqI490bGwsAxl1eTsyEo1esmQJJ3JVq1aN65trr69p06Zo0aKF9A4EBARIfFLy/vxWTT6n04ng4GBERkYiPj4eqampqF+/PtLT09GlSxcG3jS/0cb59ddfx/nz53H16lWmipjNZsyePdunB6+4uJjlnYxaq1atsGzZMuTl5TEvl3iTb7zxBtLT0yWQQdWu1L9HfeJ0OsscT1pTe66FKBXXDwwMREJCAicupaWlSfNoamoqnnzySWkM0ca+YcOGfL0kzeTLCMQJIRiUDxo0iOfUyMhIrFu3jukvL730ku4c7du3l+aHqlWr4tKlS5g+fTpfR/fu3REcHMyFK+g3k5OTkZKSYuhppLmMnjFRa5566ikoisLzOt03FWEgu3XrlrRukEj6Tz/9hB07dkgyV+rxri4/KoSQkgS1pXDvZOvSpQuCG3VDcmYWEjPLrvFtxJmsNj/7T++ZJLsLKG/T/va3v0EIrzRMSkoKOt3bHb1GTEKt1t1QNa0dTDY/riRDIcbfq9ntdgCysLk6VBAeHo4xY8Yw748mRAqN0d/WrFnDnC2118NisSAxMRGDBg1CRkYG71gDAgLw0EMP8XGAd8dMYSMSEr569SpzMSlErt5pC1G6sy8oKMCCBQsQHx9/W56S+++/H+vWrcO5c+cYsFKYnn7T399fp0n51FNPQQjBFWpIh04tGE925MgRXQi3a9euPGlqPTIOh4P7Ul3tpSz761//CiFKQ7cbNmyQnuWAAQMQGxuLkJAQw+8XFhZK2fnh4eFYu3atpEdIGbbaPqjoNaotLy/PECyYTCZs2LCB+0YbhlWHHMvTs3S73Tp5I0VREBgYyCC5T58+mDx5suRxooUwKCjIMIJgNpsRGxuLZs2aYfjw4RwKvnLlCmbNmgUhBF555RWcP38ehw8fxs6dO3mT6HK5MHz4cPTt25fpG1arFcnJyYiPj0dkZKRh8sXtNOL7uVwuhISElBkKN5lMCAsLw9KlS7Fx40bs2bMH7777Lj799FPk5+fD7XYzV/rvf/97uc+VPF0FBQUcCTAac8ePH+fxGRUVJW2kAL0skxBeL+POnTsNqTdCePnHKSkpzAmkjP+nnnpKKtFJG9SCggIIITix8K233ir3/gBvqVDtHLNt2zYA4GhOlSpV4Ofnx9/Zv38/WrVqxePJbDajUaNGeOKJJ1i3VAgvqDt8+LDPSjk0run3Bw8ezPJJM2bM0Ml+EbD76quvpHPk5eXxu202m5kXfP36dezYsQMPPPCAYSRF3chb3a5dO0yaNAmrV6+W1BmqVKmCW7du6SrlKIrCfElflAB1qVxf0j9msxkrVqxgTia9e/TZvn370KVLF50M3G95t3w1q9WKvsPHIWbQ4wwUywOSCZlvYujmU39qzqTW7gLKX2G9h49HrWELUXfe6zrF/SoP7UfchM1IHTAP94/xVhyg8Nbv0SIjIyWvRUBAAPr166fLGH300Uf5GH9/f3Tu3Fm38NFun7T3tBOFoihYvHixLlRDyRzqiYYEkNXcnoSEBOzduxeZmZksCWOz2QwnCe3faAIfNWqUtBh89llpmOHrr7/mkDp555KTk5Gfn697hjVr1pRqIwNekWsjcHX06FEdoMzIyOCsRyLS04RoNpt1YUsSWzfSr8zPz4fD4YDdbse8efP4vHa7nRffixcv8n35MrfbLX1XvXBQhrhaSoi8NEbeOCOjcpzq+tDqZxEREYGrV6+yJ8/XglpYWMgLjLqkni/bu3evBDro/+Pi4vDjjz/i/fffl6R41CDS398fVatWRd26dREbG3tHyf0V4QjSOEhNTcXEiRMxe/ZsrgZCQNFqtWLEiBH44YcffPbB1atXJWCp/t2yqtsQKNRWf/JlJOeza9curpQlhDCkCpBwO72rXbt2RWFhIYYMGSLJ5litVoSFhTEfmOqWu1wurFu3zrAPrVYr6tSpg1mzZrEe5fr167mC1NatW1mdgOq2V6RCl8fjkTzf69atQ0BAAEwmE3bu3MmRGyG8niuje968ebMOFNNmu1q1agCMa3kDwH/+8x+mYqirHkVEREgeWipMQOPV6XRi2rRpcLvdmDJlitRnJCVVkY14vXr14HQ6DSXCcnJyJF1Mep+NSi9ScqMQpVJ233zzDZ566inDDQNx69evX4/CwkKmKam9mxS90I7vhIQELFiwABaLRcetvFONNKjr1auHy199j4VZF9HmyXeQqAGSif8nWr4w6+KfVhqoLLsLKG/DvsgvxtDNp5CQ6VXXL2sHQ67zpg+9hODYZJ9VZu5kU0s5kBFnS0sA17bExETOblXzHo3su+++001ogwcPRkFBAb755hvmaFapUkXnpdA2p9OJFi1aYNSoUVi3bh3Onz+P3bt3s5TEv/71L6xYsYK9j0IIacdKEzjZmjVr+LN+/foZ7p6Li4thMpnQrFkz6e8kPUKmJrtbLBbMmzcP165dY7BKE5/L5eLfod+PjIzkUoW+xNaHDx+OgwcPMueIQKDL5UJmZiY8Hg+HTMlTpy4jZ2Rnz55lzUD1xEyAVQiB/v37Q1EU1t5r3bq1z/N5PB6sX78etWvXlsLqnTp1wt69e9mj4XK54Ha7mUNImZlq++GHH/Cvf/0LH3zwAV5++WVe2Lt27cp8v169eqF9+/ZIS0tD7dq1kZycjJiYmDvGS1a/h1FRUUhMTOTxqvaM+QoDRkREID4+HpUqVTLkmCUlJeGZZ55h0Ey/N3v2bHg8HkkqyN/fH3PmzCk3meaNN97gjd5jjz2GdevWSQu/EIKVBdRG4dKK1KAnu3btGoTwqgsQ/81sNpdZF/3GjRu6TXPlypVhtVphsVhw8uRJVKpUiQHlV199xWFTai6XC+PGjcOuXbswatQoVK1aVXpWdrsdNWvWRP/+/bnf6b3Jzc1liZr//Oc/Pu9NURQGJH5+fgxUr127xolFat1Fo/n04MGDUuWxxMREHQUnMTGRlRO0RtQgii6RvfzyyxCidCN+/fp1bN++nWuWl7cRqlKlCtq3b49JkyZh69atOHr0KAPNwsJCHuOkBamlCOzYsYOpQatXr8bSpUt5M0D16AlQFhcXw2azISwsjDfaRlQMp9PJG0BtcQBFUZhvm5uby4UI1G3s2LGS2D/NqXdiHvDVtFn2P/zkwcUb3+Hj3G9x8cZ3f8pyirdjdwFlBe3V07moNj+7XFe4tiVl7keVWXvRdfJjPDn/Xi/Djh074PF4sG/fPkOisxBens/06dORnp7OfyMPA4Ws1Tp6RkbeRdI5q+g9dejQgUEjhZi1skH79++HyWSC0+nUyXEUFBRgzpw5uopGYWFh+PTTT7F9+3bJszlr1izD66fdsTbTkBIu3G431q5dK8lxqCc2ALps9QkTJvBnJIothJx9fPnyZcydO1cntk7NZrNh2LBhuoU7PDycj6+IR4+ei5+fH4qLi7FmzRqdh5W8jMQ5VZuiKNi2bZtUqo6kTXr16oWxY8eiXbt2Uhk7Ibx8QPJ6EyCjRep2xjF5eJ1OJ4KCghAZGck8MSNvdkBAAMaNG4d169bhlVdewaFDh3Du3DncuHGDRfXT09OlcKUQ3lAugTm73c59ROFbyjq1WCysjefrmtW1i6Ojo7Fy5UquFCKEYJ4z9c2yZcsqpN9ImeV+fn66kp/a62nVqhVu3LgBQNbgLMvzaWQkxm+z2VCtWjWsXLkSQug1Y8ny8vIMNXtNJhODsqioKLhcLk7MUrfAwECf13Lq1ClMmjQJNWvW9CmhdODAAfaK+5q78vPzmRbhcrl0GpdXrlyBn5+flM2utldffZU9aGazGd27d+e+pvPPmDFD90xGjhzJ2dNdu3blv7/22msMGqdOnYqOHTvy2DZ6X7TjnniuVD3swQcf5GtRFIU3YUT1CQ0NRVBQkOQFJC77hAkTIISeGnT06FFp07Rq1SrMmzfPp84wUVko1N6jRw+dFixZUVGR1B/qOZA25eS9dLvdmDFjBvfLna7trW7PPPOMz7F418q3u4CyArbunct3JAus/eQnfpeXwNdCFxAQgGbNmmHRokUICQlBdHS0dF9Hjx7lSVoNDv7zn/8gPz8f+/bt4/B0jRo1fC6qZrMZERER0uTTsGFDnlhSUlJgtVp1vy+EDCgPHToEs9kMPz8/KWtQa5T5aMQRslqtOHjwIINOLbcLAPO0tAs6AUHi/wQEBOC1117TfZ902YYPHy5l/U6aNInPuWjRIr4e7eJ169YtiRsohOx1paSoXr16Yfv27ZLXRB3iB7yLR15eHi5cuIAjR46wLAc9pzZt2qB///649957kZqa6tNTrgZEtzv2tILRZrOZgWWrVq3QtWtX3H///Rg7dixmz56NpUuXYsOGDdi9ezd2797NYPnVV1/1+cxzc3N9XkNSUhIuXiy/1JmiKNi4caPkYTabzWjfvj3XaHa5XJg3b54U1qdnEhcXh759+2LXrl3Iz89nINO7d2/UqVOnwslC48ePx+nTp/HLL7/4vFa3281ePNK+1BoB4Llz50rnb926NS/u5ZWNNDLKihdCcIUg4plqM5bnz5/PYKdLly748MMPpU1Ienq6VDzB4XCgS5cuOHbsGHvrygrZa+3ixYuYNWsW14LWzoEkdaZ+t48fPy5xEn3prV66dInnw6CgIADeTQUBUavVypEYX3b9+vVyKTxGHnB1VCE8PBwPPvggh/Lpu3Xr1kVubi72798vlV61WCxSnXRSdMjMzARQWoedykdSMo96Dk1JSdFRg86fP49x48b5vJ9hw4YhOzsbxcXFDDJtNht2794NIQQee+wxAOAM/rS0NKxZswY1atSQ7l/9/1euXIGiKHA4HEhISMCoUaN4zqL/kuf892jaAgd37fbsLqAsx149nXtHdaoSOw7+3WSF6LyxsbH4/PPPpfswm826UHZ+fj5PWkbnUTen04nKlSszf3LmzJk4f/48XC6XxMc5deoU8yjVjTwYpM8HyIDy2LFjnIxgVDFEbRTKIwBotGOl5B7tzvi7774zXMQURZGSqIYMGeIzFBkWFibxndR6lOHh4Th8+DAA8ARIkhmXL182FPyeNm0apk2bhoEDB6JOnToICQnxST4nmY5fK+6sFZo3eub+/v5o3Lgxpk+fjuXLl2Pz5s3Yt28fjh8/zpN5RESEpFtHEkdCCOzduxft27fXhbx9mTrkmJWVZXjMhQsXpOtt0aIF8vLymFNrMpkwbNiwcsPHZCUlJVICgq8+u++++3DgwIHbKjeoFgMv650SorRcZdOmTTFs2DCsXr0ae/fu5QW6e/fuPn+bwrfjxo3DwYMHdUAlKiqKa3HfjqkljWiMq0XRr1y5IskyRURE4J133sG1a9dYr1cbBrZYLAgODubf+P7773kcW61WQ83I8sxqtfI1GPV3bGysJK0mhPEGU23qcUwbHRLi9lW554svvsD27dsxZcoUdOzYsdza0xaLBUlJSRg/fjy2bt0qRWIIbJ08eZLvzWazcdKQ2o4fPy5tjurXr48VK1ZACCFxrWnzStrFp06d0vXVihUrcPLkSYwfPx7Vq1fXlX7V/j/NcYCXkqE+HwHWDz/8EIqiYOfOnRJFw2KxID09HXv37sXrr78uXT/gpUSUVW3t92wVLZBx14ztLqAsw77IL0a1+dmo+chbWHP4n3j3n3koKPaGI2e+9vcygWPKvAO4/JWXtFta63M/qsx8HX7hcb/Ly6AoCmdDhoSE4OLFi8jPz8eGDRsghJfcTJ7G8rLlWrZsifXr13N4GiitZd24cWPuo9TUVPj7+0v95na7Db2HZrOZ9fmAUkB56tQpWK1W2Gw2nxVe1PbAAw9ACC/HiRbQTp068QIQGxsrhcf8/f2xceNGKIrC3hw1cMnKypISjZo1a4bi4mJcvXoVp06dwv79+7F161asWrWKBYtr1aqF3r17o0OHDmjatKnO8/dbshGJu+RwOOBwOAwBMyU6NGrUCKNHj+bwkcvlwiuvvIIPP/wQr776KoTw8qvUoISeoxbkRERE4G9/+5thn9+4caPMyhqfffYZ3zeA2wKUQGnI0Ww24+DBg9Jn58+flwC0Nus4JyeHEwECAgJ0guRq++CDDzBhwgTUqFGjXF7z/fff71N038guXrwoUUmM2pEjRww9m0bXYrVadWDz9OnT3PfEr6MqKllZWRJnlv6/evXqPp+rkRGfTSt5RWUbydtnNpsxbdo0KIqCPXv26LxwtWvXRs+ePfnebDYbe8GoBjpV3PIl6u3Lvv76awjh1a08d+6cJLHUv39/tGzZUtenTqcT3bp1w+bNmw29lG63W7fZGj16NNeiVoPG5ORkn+LeJJZO75QQgj2K/v7+kke/fv362Lx5M7+fWrAnhNDRbbS2a9cu3TUcOHCAPw8MDERUVBT/+8UXX+Rjq1atqrsHh8OBOnXqYOrUqTh79iwn5ajl8Hbt2gXAq0dLUaVz585JYLpDhw4SL5nGx8cff8zXonZobN26VeLK/79or7zyym2Nw7sm211AWYYN3XwKyfMOcBH4698W4+QVbyH58gDlo29+ygReqXj8Q39FpYFL7uhLQBNnt27d0K1btzIz4cjTmJ6ejlGjRmH9+vXMiXQ4HKhXrx4fW6tWLckLRTph6nA0ZZGqAQbtUNesWYPr169zNQZqlFgihMC9997LXjcS4i3PmjRpoiOq79q1C9nZ2Rzqq1SpErp16+aTb5OYmChVFaJJ73b7nkK+NHHa7XafXC+LxYJBgwYxKK1Xrx4OHjyIs2fP4vr162VqQdK1zZs3D7169eJKRNrzP/TQQ5JO5dSpXqWBIUOGYP78+ZLnyOl0GpafrFmzppSQ8PbbbzOI8CVKTiUdhfBKsNwuoAS8IUcCSe+88w48Ho9E1idvU0REhOH3n376ae77tLQ03Lx5E4cPH8aIESOQnCwnxjkcDtSuXZvHr7ovSXKI/h0XF4fZs2f7DHW+//770nvTpEkTnD17Fjdu3JDeRe3GS2vk2bRarWjZsmWZYFMrKzN37lz87W9/4/Hs7++P06dPo2vXrvyeVKlSxZDCobWhQ4dCCLkcJQBs3ryZzx8cHIwjR46gf//+kv5oREQEFi5cKAE2dY1uq9WKefPmwWQycU36lJQUmEymcoGT2l566SUIIbBlyxYAXk4ehdYdDgcnoVBSoMvl0nm9wsLC0LFjR6xYsQKDBg3y6fX3BRqTk5PRvn17TJ48WedpVM95SUlJvNE4d+4cFEXBSy+9hEaNGvFvUla7eiOemJgo6QuXZaQfqr7epKQkjuKMHTsWe/fuNUySVCfPCCEwdOhQaT4nQElgj8ZeRkYGl5+9dOkSPvnkE50Gc1JSEh599FEUFxfj4sWLMJvNCAsLg8fjwaeffvo/V9K4rM3oXSvf7gJKH3b5q+8ZBKY+nI0mS/6GhMw30WOdN2RSFqBs9NghFP74M1Ye8gIvCVD+X7NFxP9uL4XT6eRa00II5lr5WhDfe+89COEVafd4PNLkYjab8eCDD+LkyZMQQi/NQQkuBEDWrl0LIbwJO2r77LPPpIVRHQIxmUwYMGAAxowZw3y/Vq1aoWHDhqhevTqqVKmCqKiocjX5fkt/1a1bF61atYLL5YLZbMaYMWMwa9YsLFmyBM8++yx27drFQuCPPPKIYWg1NTUVJpMJ27Ztk8Kpfn5+LJBOmak0qVbESG9PCFkn0+PxcNKGNtzp7++Phg0bolOnTrpSjX5+ftJCRTWT6XnTeRISEtiTZLfbJa+H2khvtE6dOrDb7QgLC/tVgBLweiOpXrNa1qp+/fp4//33efE1Mo/Hg1dffdUwlO10OtGwYUPMmTOHs3vJ1FIxJpOJKRenT59Gjx49dMLWK1asgNvtxoEDB9gzajKZ0K5dO6k2MVDqDaZmlI1dUlLClJDExESuvay2wsJCZGdns2eTNgZlJXCYzWb0798fjz32GDp37szzQWRkZJnlF2mMjh49GoCXkkDZ6X5+fjqhfbqGlStX+jxnpUqVEBISIr33FF48fvw4hPBGGSpqVEtdC0LVgCwjIwN2ux1+fn7sGc3JycGYMWOQkJBQbnKH2rs2ePBgbN26VUcl8mXq5CPynjZv3lx3nNvtxmOPPWZYhMJsNiMmJqZCv0fjsG/fvrh16xYyMjJ8bpDJy2y1WiUPvC9PPwFKIbzRm2+++UaiGvTq1ctnqVVtCJlC8p07d9YpFfwvtL/+9a8V6u+7Zmx3AaUPW5h10TCjuyKActeZL3Dui2/RcrnXs6kDlHOyULn39Dv6ItDkoRaL/u677ySJC19kdBIAd7lcALyhO+IfakvfzZw5E9OmTcOoUaPQt29fFvWNioriSVQtTUHg4Hbvhfh+LpcLoaGhiI6ORpUqVaRJvkuXLhg0aBDX8l6+fDk2bdqEvXv3stSF2WzG4sWLOSxDi6L694KCgjBo0CDk5OQwgPrxxx+lPnK73SwD5MvUXEryoFJYzGQySYsMlcmsiFFIKzQ0VBJbfuONN2AymeDv74/c3FwoioLs7Gy0bt3ap5d0+PDhusU7PDwc0dHR2LVrF4NPbeLKihUrfF6fuiLSnDlzIIQ3xPdrAGVeXh7LGVELCAhgDUz6W1ZWFtxuN3bs2IHevXvrpIX8/Pz4XqKiosr0fpPHWAjhcwE/cOAAWrdurfMWmkwm9OzZ06d3jZ6dGuio6RaXL1/mDVzv3r0rzNWcNm0ahBD45z//iZCQEAZHlStXRp06dQxr0gshUzGsViu6du2KDz/8kDc3VEFKCK+Xd/LkyZIWovbeCRSUpz5AskFagD1gwAC43W5Osrl8+XKF7j8tLY3pFWTLli0zvOfo6GjWmjT6XOuRpkZZ7kJ4vXLazYIvozC+EIIBlBBCp1oBeEO+9OyaNGmCKVOmSJnYZrMZQ4YMKfO3Dx8+LN2rVuRf3erUqQOPxyMpWmhtzZo1kqefKFN0D0eOHNGdNzAwEEOHDsWnn34KIbwbX7W+p9rUSVr/a01Lt7lrt2d3AaUPa7PiHUOwWB6g7PXMcfyi/Af3PXuCQ+VGHsr4iZvvaHKOxWKBn58fHA4Htm7ditWrV2PBggWYPHmyJOFSt25d1KlTB8nJyYiNjeXsVvUicTu/S8erPVsRERFITk5G7dq1kZaWhvbt26NXr14YMmQIlxfUft/Pzw9TpkzBzz//bPg8tDwpEtMFwOBRTRQHgDNnzvBC3rBhQ+k3J06ciOvXr2P8+PHSBEzHq0V8gVKPiHbHrSgKVq9erduhnzlzhksvXrp0SVdurG3bthUei5MmTeJ7FsIrk6LmLl25cgXvvPMOOnbsKAHuOnXqYObMmRg7dizzH9XjhcTWU1NT2WN5+fJlSRIpOjqazxkSEqKTu6EM0vT0dO4P8vL6Ejb3ZSReLIRcDODFF18EIIvka4FdcHAw2rRpI1XeUBRFKkPXq1cvXWIF1ZxXt8LCQt21KYqCp59+2jBZwGazoU2bNoaVWmgTMXHiROmeZs+ejVdffZVraN9uLfXWrVszYCfaQqVKlaRnQ7JHgYGBmDNnDjIyMsrMRnc4HAysjDjAfn5+6Nq1K06ePCklU5S12SAjQEme2OzsbFSvXh1CeDeyBLzS0tIqdP9Uh3zKlClo3759mdWJrFYrkpKSkJaWJlEQ6taty0k6NI6HDRuG/fv3c39oN8M1a9bErFmzfKoKUAEJ4rAeO3aMv6suKnDx4kWeEwIDA7F3717pPPv27dPNx5UqVcLUqVNx69YtfPPNN1i1ahVn36tbeHg4unTpIomP0zil/m7bti2EED65tUVFRRxVoWuoVKmStCl2OBy8+bNYLNixYwcOHToEIQSeeOIJ5ObmcrLd3r17sW3bNt089L/Wli1bVqaW6V0r2+4CSgMr+smjU8ivKKA898W32HfuSyRkvlkmoKzy0H6YbPps2/9Gs9lsCAoKQkREBIcHCUhFRETgvvvuw4gRIzisQR494tBYrVY88cQT3F8BAQEcitYKw2rt+vXrUqipZcuWWLFiBUJDQyGEN8z0wAMPSNp5GzduZI8f8bvU5Olbt25BCOOQWWFhoS4TdOnSpbrjLly4gP79+0sh9YSEBCxcuBA3b96ExWJBbGwsH68oCubPn8/95ufnh6lTp+L8+fMQwpu4pK7l/fzzz+sWCC0twJdRTWMKfZM+pM1mQ+fOnSXvV1JSEhYvXmzojSZJIZPJWw5TKxKckJCADh06SGCiSpUq+Pe//43Zs2dz36gFuUnwXM21VXtlKmKnT5/mhSY8PBxHjhzhEoB0verNBLWOHTty5Y2yLDc3lzmOVA8a8C7qBEy7d+/OnpOGDRvydxVFwSOPPMK/Txsfqk28fPlyKZHA398fvXr1wkcffcQagUJ4AWReXh4vvvR3Pz8/XVnQilhsbCxCQ0NRXFwsCcRr7cknn2QwoM2kLiwsxOjRow2z/o3mjJiYGDRt2hSDBg2SPHrqeu2+rFKlSgzG1UL669ev53FIXlXKTM/NzcW2bdswZcoUdOjQAcnJyWV6Gh0OB9q1a8de00qVKrGnXe2xb968uU5JQpsJHRISgri4OCiKgqNHj7K2q7qR2PqkSZNw+vRpHveVKlVChw4dYDKZkJyczOPXYrEgJycHw4YN46jFiBEjDKkv69ev599Zu3ZtmXxwGrMkw0T9RzQWl8uFs2fPQlEULFmyRAo1N2jQwGf2uqIoXNNc20gSCPAmutEYJIUPqqx0+fJlafP33yjw8Vtbq1atftU7edfuAkpDu3jjO5/h7LIA5azdf8eP7l/QfNnhcgFlQuabsEWVXUXmdhpV0XA6nbBarcjOzsYnn3yCEydOQAivNM3Zs2cZfJAmGWkcnjt3DjExMRz2BoAff/yRFxvKwty3bx8vJqT/R4BNvRAb2VdffcXfVU9qFGbYvHkzT4IWiwV9+/blEHRgYCDOnTvHIVutZlpCQgIcDof0t+vXr+v06oTwelPVAEhrQnjDy1rANWHCBBQVFWHSpEncL4GBgVi0aJHkGaLdv5+fH2rUqIFr167BYrEgICAAN2/elEKs2ko/RhYdHc06c0b8QPJcfP3112WeR63lSJ6Zy5cvc4a4NkGJxorVasXhw4ehKAqWLl0q1bAWwrhEHX1WVqJRSUkJSzWZzWY88MADeOyxxySahnaMV6pUCQsXLoQQZetWGtm2bdvYk1W1alUJZOTm5kq1hOfOnYvJkydLz3nhwoU+Q9LffvstZs2aJXlg1MBn9uzZAGS+phBeAG0UCi3P7HY76tWrx3SDwMBAnwLhxHOOi4szBA+HDx9m3qS2TZs2jT2b4eHhPgFBWFgY0tLSMHToUDz11FNSNjrgHbckcv/FF1/w33Nzc7Fp0yadzFBZiTAkXVWvXj1+hlTEoKioiP/Wr18/KQmF6kMbmTYTms6tNpIrc7lceOCBBwzF1ilE3aRJE/7bgAEDOHub7islJUXH5VWbOrlFG0FSZ/AL4aXsbNiwAVevXoUQ3s0ReQ6tVqvhhksNWK1WKwYOHMgc+7fffhvt2rXzCWCbNWumG0fffvutVI2toKBA2nD//6nRPOirMMZd8213AaWBfZz77W0DytoLD+Lr70uw5vA/+W/lAUp7jPHC+WtfAqB00iNCPVUdIN5WYWEhe2Jq1aqFkJAQlmGhjGB1hi8BwJiYGF5MPR4PRo4cqUsEMUomIMvPz2cgsnnzZg6N0CSsrgKyd+9eKbTicrk4xNSwYUPDzMeHH34YQgi88cYbUBRFqlrRo0cPFl6n6w0NDfUJDkJCQlC5cmUoisKeRW0LDAz0yRv78ssvuW9q1KhhKLJ+6NAhXpz9/Pxw+vRpn31ntVpRqVIlKVzncDgwZMiQCnPOgNIsYrPZzLxEoLTcnhBevuHs2bPRokULnVcwICAAvXr1wrZt27Bu3TruX4vFgv79+0sgnwDKmDFjDK9ly5YtEqfVyEvWs2dPFj+n59axY0efpTMrYm63W8pst1gsXBIwOzubF1j6PDw8HGvXrr0tHcpr167pQpEulwsjRozgPnU4HFiyZAlLRGlDnmUZaanSZqlbt25c7cSXZ4V4fQkJCXC73Th//jzuu+8+Q66l2vuoVnrweDyctHHfffdh4cKFUna/r2z0yMhIfn7+/v6IjY019DSq/221WtG3b19s27ZNt/nbvHkzH2ez2SSQqAZy9Hz79u2LZ555hgGt9r2lTbfa00refC0YIz5hWFgYAzDi9hLtyGgcq73YpLeotvPnz2PatGmoW7eudA7qk/T0dBw8eJDH4Ycffsj9pM4U11IV5s+f73McUZRKDebV309JSdEBQpqX/fz88MILL0jnUxTFkJ++ePFiQ97l/2qjsrEbNmzw2Xd3zdjuAkoD+zUeyjWHL6Og2I2OT72Llk8cQcsnjqDvc+8DANa98xlaPnEEVR+Wk3wc0WXX1/41TT0pu1wu3kEnJiaiVq1azGlUE79TUlKwcuVKBp9NmzbFlStX8Pjjj/O/hdDXkf7HP/4hLSKPPPKIYX9+9913zDFU84jUi4fFYsGJEycAQPKkqvl8zZs3R1BQkK7iDuAFykJ4eVGUSBQdHY2TJ0/in//8J4TwegrOnTvHO++kpCTD66VwMACdELlWeqZLly6GYsnkeaNQ0IwZM3THeDweib+ZkZHBO3+3242VK1f6rMFulDFankVGRiIwMBCbNm2CEF5x8GvXrjFQDQoK0gGnW7duYd68eT69FSEhIRzKNJlMuOeee5Cbm8vSURaLhRfl8+fPY/To0TrPr8ViQWJiIoYOHcrjUitwTglPdrsdN27cQM2aNWGxWG4L6AFerzWBKDW4e+2119CtWzfpupxOZ5ke1rKMPNx79+7VLdR0/+vXr5fK202fPr1C537ttdf4XOHh4fB4PLh+/TqE8HqnfNnYsWMhhFxZS13zPSAggCtIacWqmzVrxpw/bYh7x44dEMILNsaNG4f69etXSOuWEsqSkpKQkZGBVatW4e2335aO6datm0TfoLKCQsji+oqi6OTJhJCzwD/99FOeT/r168djh567upQiefCMZGRonoyMjOQNZ1BQEHN3P//8c36vtRxMmj/69euHsWPH6kTEKRHIbrcjMjKSkwHDwsL4991uN4KDg2E2m/HPf/4THo8Ha9as4eiOur399ts+x0NKSgosFgvTjdStadOmWLx4sXQPkyZNAuB1WpCnv3bt2rh27RoKCgoYhKuf77Zt23Dw4EFDysr/YjObzYiPj78b8v6VdhdQGtgPv4JDufujL8o5K9D16fdUepR3nkMZEBCATp06sQfS5XLxBPZbs67p/x0OB0JCQlCpUiWJP0ifh4WFYfjw4ZgzZw6WLVuGtWvXcnh79uzZ+PbbbyVhcyG8vBur1Qqr1Yo5c+YwX5K4bufOnWNQK4QXpBH4JCsqKmLwZjabJb1E4l0Sb6qoqIgX9bi4OJ0XguSB1Ik8qampXPu2qKgIjzzyiE4apH///uxJVUv91KpVy+eYUBRF8l7Y7XYkJCRIZQzpv+TJJVHu2wFTV65c4YUMKE3koOQZf39/KeSnNbfbzVp6ISEhht4o9bhSLyABAQG6410uF0aOHInjx4/zfZCHnOgYaps/fz5/Nzg4mMO4mzZtqnAf3Lx5k71v27dvl7xr6hYfH8+gQSuTVREj7b/MzEzud3p3GjduLAGIunXrYtWqVayb2Lx583JBLHkjTSaTlBwSGxur07osKCjA7Nmz2UuufofofUlJSWGPl5rXa7VaUbNmTalOt7+/P/r06VMmp1Ednu7QoQP3s81mQ3Z2NhYuXIiMjAzUrVu3zDC6euz37dsXb775JoNJk8kEj8cDj8eDzMxMaQ6aNm0ai/pTPWiykpISTo6icoP+/v66evYUPp48ebLhM3jiiSekPlFrvyqKIoHp4OBg3HvvvYiKijLkfwYEBKBjx44SiDGbzZy4RzxGSn6izdrTTz/NxxOYM5JVCwoKwsCBA5GTk8M1x9W88pCQEK45fubMGdYb1jZ1omJJSYlUVUh9X02bNsXp06d9Kg38L7devXqVy8m+a77tLqD0Ybeb5d1t7XsY+9IZqWW+7pWGee3MFxj70hnUWXiQj4+bsOmOvgj0QtepUweKoqBatWpMBo+Pjze8x8DAQAQFBfEk1LJlS578icdWr149dO3aFc2bN+ffiIuL452+yWTyKVFzO02dpWkymVC9enW+nn79+mH06NG4//77pe/ExMRg7dq1ePzxx6VreOaZZ6T7JC+a2vLz83nBItI64M0MV3tvhSi7esLNmzcxadIkKRwdEREh1d8uL3SSnZ2ty1J1OBxYvnw51+UVQjCgXblyJYQoFXWuiBH3lOSKZs6cyed9/vnn0aRJE5/6jmqbPXs2f693794oKSnB9u3b0bNnT0NPh7ZFRkYalgM8evQohNBX9SGjcfnss89CCC9lwWQyoUGDBhW6/2+++YbH7KZNm/Dxxx9Li6C6/8k7TVzY8iRx1EZZ7i6XC0VFRZzJHBISwiFSdZlPugar1cr9Fx4eXqZMDN2HWiIMAGuSZmdnY8WKFdJGxel0okePHjh48KDkFX/qqacAgOWetmzZgm3btmHy5Mm8+fS1AXU6nQwaJ0+ezJsI7fOl3ytrw1JUVIS33noLCxculMTmyxIbj4yM1H1OAFtRFNjtdp9RCJJKo42lUQTBqFwtmTrhKiYmRipRSc9cCCFVzRFCsEeWfttIbJ14seQJVo8p2ugQ8C8sLOTfq1OnDoqKivicmZmZmDBhgqFGpNPpZJ6lkb4s9Y+6zZkzhz+/fPkyvx/ad4gUC7777jtdNOJ/vd1OZay7pre7gNKHaXUoF2RdwJNv5+ClD7whluwL/8aTb+fgybdzJKCobr44lFXmZCG007g7/jLQTj8gIICzFoUw9rKcPn0aQng5bkVFRZwNSYuQyWTSgbA333wTQnh39k6nE3a7nUNKQUFBqFKlCv72t79JIVAhvGG45cuX8wQ3aNAgrs7jS9zWZrMx5+l2+8FkMsHpdCIoKIgX38DAQNSrVw8tWrRAp06dcN9996FDhw7S94y06G5H3icnJwcDBw7UncfpdOoybM+dO4eMjAxpF0/Pj8Lc6oXojTfe4O+SVmCjRo0qfG2hoaEIDQ2VPI3kMQkPD8eoUaMghOCwnS9TFEUCX3Xq1EF8fLx0rXa73RAIWCwWNGrUCJmZmRL3s6ioiL3pvib0pKQkBAQEACgNOdL4KM+jV1BQwIvqlClTJB282NhYBiH79u1jz1JycjLOnj3LocWKclUJcM+aNUsaB1qCv6IoCAgIgNPpxJNPPonq1avrki+WLFmiO//GjRt5rGjPRzJB6vHUunVrBgxqWSa6tsDAQCQlJZX7nkVERGDKlCl45pln0KVLF36+sbGxLKWVk5PD5VXpmTz99NMQwgukiKtaESOdzbVr10qbn/Kaw+FATEwM0tLSOIHt0KFDhpnUasHuRx99VPd5WFiYoS7pwYMHWbKLaAQRERFStSRqgYGBaN68ORYvXiyNbeIzjxs3DsXFxdi8ebNhlbOgoCC0bNlSomNQ/5I0mRDeEpRkFPp+8MEHWRGCxpT6vSQv5ZQpU6T7y8/P52MWLVokRWqioqKkRKcGDRrg1KlTWLhwIY+hZs2aobCwkMsA//+p/fvf/67wGL1rersLKH2YulJOQuabuP6tsSg4ALR84shtAcqEzDdhDa98x14Cu93OEhW+wkfqENTkyZN5klBPcgQqqBl5wKiOthBCEqytWbMmi24Tx4eOI0+W1oQQUgWPHj16sL6i0+mUvDQ//PADevXqBSG82b1abqMQXhBK4cRatWohOTmZQ2Eul4vFrn+N1qbVaoWfnx8CAgIQHh6O2NhY1tps2rQpa20OHTpUEgVXt/j4eDRq1EjihcbExGDGjBnIz89HSUkJe0cHDhwoXac6aQnwZqGazeYKVdv55JNPIISXo0neoq5du0JRFBaDpsVQq7NJ5na7sX37dsn7Qs1isaBp06ZYtGgRjyc197MsmZc6derwwu/rtwHA6XSievXq/G+1iLXWU6e2oqIiPj95AE0mE/+/tnrUQw89xMeYTCbOgNdqPBpZSUkJ7HY7XC4XE/spYYOyvNVGYIu8Y4WFhcjMzJTqIdvtdgwZMgSfffYZPv/8cwaElNjx1ltvoW3btlIY3WQy4cknn8SWLVswefJkNG7cuEw+I71/YWFhmDJlCrZv345r167xWDSStyosLMSIESP4d8PCwvDUU0/hqaeeghDeTayiKAgMDGQ6xe0ASo/HA6fTydcdGRmpC8XOnTuXa0FXqVIF9913X5lhdDXYHDJkCFauXCltWjMyMqRnbJQAePToUS68kJ6e7lNEnIBhWUbviFZMm5QtevfujdjYWN37U6NGDUmZQf3eqD2n9GwbNWqEbdu28b0dO3YMXbp0kbyHtWrVwrp161BYWMgRq549ewIoBd5qWoHVatUl/Kjr2P//QR7IqH3zzTcVHqN3TW93AWUZRrW8fSXo/JpWZfY+xAx6/I6+BBEREdLER8CLPIUUmqoI30kdxlDveslowRVCFhKnSbC4uJg9QMOHD2dwpdb/I1NPeiaTCSkpKQC8Wd7qCjBk9erVg9VqZbCamJiICxcuwO124y9/+Ys04XXr1g2//PKLTg6EbOPGjdLCTf0oRKkmp9lsxn333YdOnTqhRYsWqFevHqpWrYrKlSsjIiLiN/FSqe+NqgH5WvwTEhKwePFibNq0CePGeT3c8+fPx3fffVcm2CFPAS2eWh1OCrEJUaoOUFRUhA0bNuCee+7R9ZMQXq22ZcuW8XdjY2Nx48YNnYj73r17cenSJR6PtNA4HA6pPKgQpQkJY8eOlRKd3G43hPAu+GqjRB2r1Wq4YSkpKZHAO2Wjf/3117Db7UhOTtZ9h6qOzJgxgzOaiU7Rp08fn30MyBuygIAAnDlzhjmURoAS8IaD7Xa77vr//ve/6zJs1X1VuXJlabw7nU6EhoaWqVUYFBSE9u3bS6BR7fl67733+Pcp7CyEwMaNG33es9vtxrRp0/haAgICOGuYhOiXLl3KwuYVtevXr/P9q+kstDnQ8nWNnn9RURFr7pYHNmletNvt6NevH1auXMmg7fLly1i1apXkqaNmlNVNwuLlCfvfvHkTNpsNTqdT4u3VqVNHkkBTFAUtWrQwfKYOhwNVq1ZFUlKSBBCJquBLYxIA/vOf/3CkSTvnUHLW7t27eV6kpLvhw4fzb1EWt6IoqFy5MoKDgyXP7/9iI2WH1157DTt37pQ8rt9//32Fx+hd09tdQFmGfZFfjGrzs+8cmHxoPxLn7IM1WK8leCdanz59sHPnTrjdbqmqiBBCKj1HhPV69eqVKxhstVoZbBIwIWDg7+/PoVzyFCQmJkKIUmAC6LMCr169yiF5m82GS5cuMSCl7N5XX32VOaA3btxAfn4+T3o2m83QK0Vi4+pJUQiBsWPH8udLly5lQGq32zF+/Hjk5OTAarWytIt64rkdKyoqYq/K6NGjdX0ZHByM+vXrG4bEIyMjERUVZRh2v93J0m63w9/fH8HBwVIIjarn3Hvvvejfvz/XK1+4cCH3lcPh0GVkhoeHo3PnzrzZePbZZ6X7njt3Li9i9DvR0dFS6UX67nvvvSfpOwpRKhaulUyxWCxISkpi3U4jQXoK2yUmJnKYVVEUPProo1IVp7Fjx3K2MJVDXLx4se58BF579+4NQC5DZ3TvZJRlLYTXg0QAoTxASYuvUSKSoii699hXo3eF3r/g4GAGl3Xr1i2TG0b316NHDwClm0NKhBs+fLjP76qvdfHixbrx63K5oCjKbQHKAwcO6EBfw4YNcfr0aQwbNgxCCHz22Wd8f1arFcuWLTM8F4FCbSizqKiIOYQ9evTQjb2yWlJSEoYOHcqbldjYWJw+fZo3UomJiejcuXOFKkXRXKyWEgoODpZ475RFX69ePZ4D4+LikJyc7HMjS97c1157rczfJ/BaXFzssx43vUdqLrjH45F0Jp1OJ8xmM2rXrs0Sbv+N9ms28oMHD5YA/M8//4yNGzdiwoQJt60acddkuwsoy7FXT+feUQ9lQD29tMVvaS6Xy1A8Vuv9UQto0yKl5cvdvHkTQni9AGrPjlZvUt3sdjvat2+PQYMGSS+s1rRZgdT69+8PwDvBW61WibP04osvQggvyFFzv7RhSq2RJ4EWHIvFwiF56rPMzEwpXEz6ndoSiWWFU9WmKAov5urmdDpx4MABlpEh0FNcXIzHHntM2h2rZZ6WLl3K/Kjhw4ejoKAATz/9NAPzyMhI9taMHj0aAwcORLdu3dCmTRs0btwYNWrU0Hk7yRNxuyF/qspDYyEyMhKVK1dGamoq6tWrh2rVqkljrV69etwXL7/8Mt5++20cPHgQQng5ujQejECl2+3GZ599hrlz56Jx48ZS1qrJZELlypXRr18/7NmzBx6PR/KGVKtWDTNnzpQ4nmlpaTpaACWY+apt73Q6pfelqKhIqpQybdo06fjz589zP2vDw+UBSgBch3zMmDFo374980XLek7qz6pVq4Znn30WHo8H165d4zHk5+dXJo0AKNUgpWgGeRcbN24MRVFgs9nKLVigtXXr1kkgfODAgTxeyzN1EhrdmxDeogIA0KBBA9hsNt7c9u/fnzeICQkJnHRGdvz4cQjh5ROqje4tNTUVly9f5vFmlERSVvjWYrEgOjqa5xy1qoYQFVteCcDPmzcPiqLAZDKhQ4cOAIAbN27AZrPB4XAYXlt4eDhGjx6Nv/71r5xIox03VatWxahRo3DkyBEdYKL+Jm+80fepNW3aVFdyUlEUPPXUUxVKyLuTja7RaMNllOlusVjgcrnw8ssvV+iZ3LVfZ3cBZQVs3TuXfxuQfGg/EjLfRHCL+++4lELlypXRpEkT2Gw2fPvtt1izZg06dOhgWHO4QYMGWLt2LRwOh2HmN3mCTp48yR5HKudFgGH48OGYPHkyOnToYPji0stOYfT27dtj8uTJ2Lp1K/bs2aObFNUJQ0RU37x5MwBvnWXtRKVdzI2MhI9tNpsuA71GjRr48ssvDb9HYT6z2cxC0ELImnVaO3DgANdVpuMbNmyIbdu2wd/fn0svvvDCCxBCrkFOduvWLUycOFE6R3h4uARuCRh4PB4u3UafGSVvfPbZZ5LH4dixY5g3b54OpAnh3Xykp6dLXuRJkyZhyJAh6NWrF9q3b8/jKSoqCjExMQgLC4PL5frN9eitVquu8kdwcDAaN26MDh06oHfv3hxyj42N1Y0fI70/OpdRSUBFUWC1Wvm5GJk6AUht6pKS5JV6/vnn+feMqBUEKMeNG4etW7di0qRJZYJGUk3wxQGkYxRFwa5du5CWlsZgVnuuiqgAkCf9ww8/5L4MDg7m8U7P+naMNofaZ0Uaoka2Y8cO6V3t2LEjHxsdHQ2r1coZzLTZJa+eoigYM2YM3//AgQOlTURAQIAEZs+fP89ARN3P5BHPyMjQeenNZjPGjx/Px8fFxaFbt24cRvf1HkRHR6NJkybM2fzggw90GxxFURAdHQ2TycTeyNmzZ+M///mPJE2mHd/aOtyk/rB582ZcvHiR5071xs1sNiMhIQGDBg1CVlYWc16144w23Hl5eTrQFhERgXHjxknPkrRtf8+mdmyQc4Ku3+VywWw2S3J2arWOZs2a/aqKVHft9uwuoKygvXo6F9XmZ982pzJp7puIn/k6kjsP/V1eMqp6og3PKooCIbwAysiDabfbmQeXl5eHy5cvQ4jS8omUSdywYUNJsHbNmjXSb6hDqmazGS6Xq9wwup+fn+QBrVmzJnMhSeeSQuImk0kie1ek3B7VTFZP6lOnTpUy2Nu2bavL3CUQLYRXSoMmTyFKNesAb4Z8jx49dFI/LpdL8nqpa3kD3sWZFka1qZNxpk6diqFDh0pJTdSHBLQBbx1q8m6aTCapWsiuXbt88jBp0Rw2bBiys7MloEz6hkIIqXLLrVu3YDabkZiYyH9buHAh/0bHjh05hPTDDz9Iz2vNmjVYs2YNFi5cyLxP8nYGBgaibt26SElJQVxcXLleudt9L0JCQhAdHc2i/k2aNGGPV8OGDTFhwgRkZmZi+fLl2Lx5M/bt24cTJ05wwtcvv/yiG1t0D9rfEkLg9ddf14FGo00XhadTUlLQsWNHTJ48Wad2YLPZ0L59e9aP3L9/vyR11bBhQx5rBw8e9Kk/aCS6r7aIiAgEBwdjypQpPC8IUVrhqGXLlhJ1oSJG8l5vvPEGe+7ouZpMJrRp04bfvWeeeUbaNEZHR+sSI0gcfsCAAXz/Wt4h4JWyoefrcrk4aZA2xUlJSTqOaWpqKsaPH6/TtXW73RJnkjY1gYGBOrHzL774gqXODh48iEWLFnE/2mw2n5sDApuDBw/GQw89JEmwTZ48WbeZbt68OQ4fPsxlHLXqHVp9Wqrj/uKLL+LatWt45JFH0LRp0zKdGhEREbrNM0UBnnzySQwePFiiNcTFxUk6pb93o4x/qmrlHxwKW1QSFqx5AY7oFDy9fgNn1tP8PG/evAolL9613253AeVt2Bf5xRi6+RQSMt8sF1jS50M3n0KttNbSpHqnGi1K9G8/Pz906tQJx48fx9mzZyGEV4tMURQGcPSS0Y5YuyhOnDiRq0+Q5AQtgHSOPn368KRD3Dir1YratWvr6mmrK1g4HA40b94cycnJPisnqIFQSEgInnzySVy7do2zkCtVquQzVJmbm8tkeDqHVgPy1KlTaNCgAX/euHFjnDlzhmVc/Pz8YDabWecwPT2dQ0lUj1s9mc6YMYOlZT799FPpt7SAkjIwSVwc8C5cFB7OzMyUvh8cHAy73S55GGJiYvDkk09y6FwdZvfFwQwJCeFEl7I4QrRwkHeJSmkSD+3IkSM4ffo016sODw+XErPURp4Vu90u6dzRRsHPz89nwsCBAwc4BEfPksKZhw8fxrp16yTpH1qEjd4vyshVKwDcTqPvEy81KCiowu+xw+HgDUmtWrXw3HPPSWUE9+/fj5YtW0qAIyAgADt27ICiKJg8eTKEkJPjaGwK4fUkEs/RYrFg4cKFKCoqwoIFC6RzBgYGYsCAAfjHP/4h9XNOTg6EEFwmMzk5GSUlJfzvKVOm8DVU1LuTl5cHs9nMCU+FhYU85wQHB0vvnpb/tmDBAp/nTU5OlvpdmxlNpigKJk2aZMitM5vNqFOnDqZMmcL/78u++OILHUjv0qWLITChDYhaf1Pt1evduzeKiooYbJaXIKRtoaGhOHLkiPTbJM6ek5MDAFyOVF1By5e82K1bt3RVodQtKioKXbt2xaZNm1BcXMzzglrY/OTJk1Kxid+7jRgxAmazGU888QSSGqRj5LoDSJj8Iqr8X/SPWmLmm4if+AIGrngdtvB4zJw50+czvmt33u4Cyl9hl7/6HguzLqLNk+/oKuokZr6JNk++g4VZF/FZnjdj7OWXX/7dXjRa7LQLKgGzSZMmYevWrVz5QQiv5wLwTr5ZWVmGPBSn0ylV1zh79ixKSkqY7J2cnIyePXtCiNJEHPJWkgfu1q1bDCzS0tJ0AEIIb2WCqVOn3pbMhMPhwIQJE7B161Zcu3YNFy9elLIga9WqxfdvpC8HAJcuXZLqLVN4eNmyZRw6osQjbUmzZs2acZJDp06dIITAypUrdb+hBZSAVyrEbDbj5s2b8Hg87FExCuVbLBZeINShVXrWYWFhhgDSbDZj3LhxPOGXpy1JRvpzVImjRo0auHbtGkwmE2rVqoWMjAw+/9SpU8sEp+3bt+csdiFKNzbUl8HBweVez4kTJyQJpjp16khafzVr1mQ5JeqbPn36sMZpeHi4buNEY3vRokW4cOECLl26hHfffRd79uzBxo0bsWzZMqY+hIWFISwsDA6H41eR/yvayLNPgLd69eqoXbs2hPDywUaOHInp06ezxmW7du3QsmVL/n5SUhK+/vprqe/Wrl0LIbyUFXWWfmRkJCZOnIibN29KkYf4+Hh+Pz0eD29USTFi/fr1FRpDNJdo69bTfU6b9v+x993hUVTt289s32x6L6QQ0iihJfTeWwBDkd6kd1BEqgFBBATpKAgapAsiNSJS5AURQUQgIiAiLYYIIUSIISyb+/tjv3OYszMbUKM/fd8813UuyO7M7MyZM3Pu85T7HqOaC8hUYJzZf/7zH75ts2bN+OdWqxUfffQROnfurOBDlReJ6fV6+Pj4AAAnx5fLwMotMzNTUaDDco9ff/11Ydv09HQQ2fML1fqBsSB06dJF9beOHj2Kpk2bPrM4BPNssvEREhKCY8eO4dVXXwURYfPmzcLx4+PjOb3Y1atXebEQO161atX4OyQsLAxNmjRRpEsxj2avXr2Qk5OD+/fvcycBY054mszmH216vR6BgYEIDg7G5FlvodFrH/3/eXbXUyOD4RN2o8eqL3E92znlX4kVr5UAyj9pDx5akZ5xD99cu4v0jHt48FC5gmUvnf/rVqFCBf5/uTRhXFwcJEnCtWvXcODAAfTr1w9RUVHCi8dgMKBs2bIYNmwYTyInsoMOm83Gw0pEhO3bt+Pw4cPcMzFq1CjVviOy5zu99NJLql6f/v3744MPPsCoUaOg1Wq5p8nZ9RkMBiQmJnJZQTkVkTO7ceOGIMEXGhqKLl26CJOexWJBhw4dsH37du4dat++PSeSrlevnuqx1QAlKxJo0qQJnxRYwYHjebHvrFYrtm3bxq/raS9gNtEwGcffY3q9HlWrVuXV7qyKmvVHhQoVBC+bM2vUqBE0Gg0yMjK4R5N56xjQXbBgwVOPw1IP5PfdZDIJVDYs95foCXhmE3rLli15/zmGX9mE6OrqCg8PD7i4uKjmNLJIAOPglCQJPXr04NvUr1+f53RJkoRevXrh6NGj2LFjB2bNmgUiO7iVXwMDBnFxcShdujSCgoJ42PuPRjI0Gg3nS2URAJ1OhzJlyiA6Ohre3t6qE7+rqytWrVqFtLQ0nDhxAlevXkVubi4v0CFSL7RztB9//BFE9qIsud2/f1/4XS8vL74INZlM/HrDwsKcViXLNb5nzpyJdu3aKRYLLNT52muvcSnEw4cPC4B63bp1RXK4nj9/np+rVqvlRSvz5s3jx2nZsiVfTDGPq6OyEYuU2Gw2vk3fvn0B2D3D3bp1ExaDoaGhmDx5sjBGevbsifv372Pfvn3P7NkMDAxEQkICunfvjjfffBPjxo0DEQmRDAYQW7RoAQAcPP/www/8/PPy8rB69Wq0bt3aKfNEqVKlcO7cOV7YVdyNpcC88MILaDVixh9KOYuctAcxU9Kw8USJAs7fYSWA8m+wgoKCv2wF92da3759efVtu3bthHNmVc8MSMTFxTldRQ8ZMgR5eXk8HFylShVOBr5lyxan/SI/fkBAAI4ePYrz588LYfyNGzfyykeWM8S8Jqx5enoiNDQUbm5uqpOxxWJB6dKl0ahRIwwfPhypqan46aef+HmwvDhntCEnTpzg2+bn5yMxMVF46TkL3aoBSsCeSsD2V6OLKSgo4ATynp6eColAlpy+YcMGhRyli4uLMHnExMQ8VUlGbkFBQfDx8YHNZhMmYjUe0aKMAUrA7glnnkatVosrV67AxcUFrq6uRXo509LShFzbmjVrom7durw/IiIiuMecgUW5p5cB19KlS6Nhw4ZCpbqzZ4J5fjUaDWccsNlsXN/d3d2da8Kz8c6URk6ePMm9+l5eXmjfvr1QGOXj44OBAwcKus+OJgfHa9asAWAfcz/++KMQMahWrRomTZqEgQMHcvBosViQmJjI81IZ6HBzc+Ok/n/G0+rq6srVY0qXLo1y5cqhWrVqaNiwIdq2bcuvdcCAAXjzzTexYMEC1KhRQ9HfDKAwcv3s7Gx06dKFn6+/vz/efvttAHYw+tZbb6met6enJxo0aIB58+bx9Aw1s9ls6Nu3r7CvnKaHGZOfJLJ7iXNzcznzxYABA1BQUMCjGqVKlcLOnTtBRGjatKniWHIeSpvNxhcj8neMr68vBg8ejIyMDNhsNoH7k8juTS7q+WB572yRa7FYigSber2ej9nSpUvj2LFjOHz4MP/emYY1C3n/2QXP722SJGHIkCFo9dLCYmFYWXLw2dSuSuyPWwmg/JuMhTb/aY2p7MipeG7cuMF5GVnFNOMAZPRAajQWjMaGveSc6RHn5eUJ3rYJEyagsLBQ2KZnzydFTMyz2qpVK+7tYo15SJnZbDZO5cFC8p6enqpg01GKjMjuJalVq5YAno1Go+DNsNlsPL/KaDQKhNByUwOUNpuNh21Z9WxRJOLu7u6oX7++MGmePHlSUPxh55qQkMA9ivJmMpk4OHmasSKMUaNG8f01Gk2RE7aayQHlrVu3hMplvV7P+QQnTZqk2HfdunUCeCIiLvEJ2FMpOnXqxK9fq9WiYcOG0Gg0nB6kKHWepk2bYtSoUVi3bh2uX78OwB56HDJkCGJjYwUvkTz3MjIykufvMs8pq1A/fvw48vLyMH36dAEEs/HFvFNPM+ZRslgs/LNt27YJOcfnz58X9rHZbPy5lANe9uwybWVmLORLZCdwL1u2rBAeDggIQMOGDdGhQwdBntTX1xehoaHw8/ODh4fHnyb1Z6pCnp6eCAgIQFhY2DPzsC5atAjnz59Hdnb2M3MHsrxodl+Zl/vEiRNCWotjxECn06FatWr8bwY82bFu3bql+C3mIX/11VcVldrR0dFCvrU8NYjd+5SUFBA94UN1ZiwNhYiwe/duAPbcXDlDBHNmPC2sHhkZie7du2Pu3Lk4duwYrFYrrFarEH3q2bMnrFYrbDYbdu/erVqFXhxNq9Wibdu2aDxwarHS9m0q8VT+pVYCKP8mk1co/hObv78/Nm/eDJvNxkNdhw4dEvja2GRXpkwZDrDOnz+vAHmsBQcHIzk5mZOtA8CyZcsEIJqcnOy0z9SOq9fr0bt3b+Tm5qJ3794gIlStWpVPKmvXrgURcaJjk8mEsLAwfsyPP/4Y8fHxT/UYs7wr+d8tW7bEDz/8wDnw2rdvz4GdGl+lGqBkfIYMkDojEQ8NDVXIvjHLy8sTeOMOHz4MFxcXhISEAACuXLmiCpZ9fX0VPH2OJp+g2CRDRMKE+iwmB5TsXNPS0nDgwAF+/9mipKCgADabDYsWLeJeLp1Oh169eiE4OBhubm547733MHToUDRs2BARERFF5tyGh4dz0Lh27VqeWkBEWLt27TOdPyu0cASmrEqeETl/+eWXir42GAyoX7++UDjkWJGrZqdOnRIqfT/44APUqFGDH9NisahSEzFbvnw5V0hZvXq1KkXSe++9JzzzzKxWK5YvX44KFSoIC5WmTZtyAnAi57mUbBt5Wk1YWBjGjRuHWbNm8fvFju3i4oKqVasiMjISHh4exSLVx/hSGam/n58fQkNDERMTg8qVKwuMFHKRBPkxhg8fzvObmfn7+8PPz0+4XjmtmJwg32q1YsmSJUIltdFoRPPmzbF//35FAd7hw4e515KNIVb8wrzvRS0G7927x39nzZo1/J2p0Wjw3HPPISsrCx988AHfpkqVKjyMzhYhzGv5NM9j5cqVBbC5detWEFGxc1BKkoSKFSvCOywGHd/+AqnHfsLFW78ir8CKmzm/YdeZDDScd0gAiq98dAbHf7yDX359iIfWx7ienYcPT15XyCLHTEkryan8C60EUP5NNmPGjH+Fvil7qcgrkeXFK2FhYYoQ6oEDB1QBmiOtDtvGaDTykHq3bt1U+0vudZG3oKAgIQTNQr61atWCzWZDtWrVIEkSD0MzT0FycrIiZ2n06NHQaDQ8z/LatWtYt24dRo0ahSZNmgihd7V+Kl26NGrUqMEBEtMvZsYAZUZGBmbMmKGghmF9kpSUhDVr1gihcxZadLT09HR+nAYNGkCj0cBoNHIvQkZGBi8CmzlzJk6dOoWkpCTh/nh4eGDmzJnC7+Xm5grhVgaYbt++zUNxM2bMeObxzgAloyJiakWAveghNDRUmKjYBKzVahESEoLw8HBVehM50LdYLBg1ahRSU1MxePBgfh90Oh3Gjx/PQYHNZuMgTY0HVM1YZbskSVi7di0uX77MeTydeXpMJhPWr18vjAG5NzAyMlLhXWRWUFAAT09PaDQanDhxQpjcGS2TVqtFjRo1ijzvU6dOcYDQp08fgcR93bp1kCSJP5fDhg1TPUZeXh6mTZumIOpn7y85fRUALFiwQNiuRo0aOHv2LL8uBoo1Gg2OHTvGq8jl70ONRoPQ0FB07tyZk9Yzehx5Cw0N5eC1W7duGDp0KLp3746kpCQ0bNgQiYmJKFeuHCIiIhAYGAgvLy9YLBZBHOH3NMZyQWT3/vr6+iIkJIQfS55WoMZHOWnSJJw8eRLXr1/Hw4cPBYqwpk2b8tQg+eKDjdv79+/DxcUFOp3OaZoEC8mzptfr0adPHyF8PXDgQBA9kVNkJqcx02g0qF27NvLy8rBlyxbh+XyaZ9MZH/EfbWx8Nn9jJ9LO/Yys3Hy898UVjN96Bm9+egG//JqPBw+taLbgcw4UP/jyKrZ8fR0zdn+HcVu+xaIDl/DLr/m4c/8hqr3+mZBT2XPVcbWuLLFisBJA+TfZxx9/XKwP3d/R3N3d0aVLFw4oXF1dFZQ9M2fO5JP8+PHj+QtVp9NBr9fju+++E7SiHVtAQAAWL17MQ+75+fmCNJ88RDVq1Ci+in/uuec4IGI5lQ0aNIBWq0X58uWRlZWF4cOHC+FHec4SAF6pWBRXn5+fH3x9fRXk2+wa1Vb1ZrNZFTyylzNTemHVyPv27VP8rkajQZ06dYTPUlNTebUpq1BNS0uDRqPhL/2hQ4eievXqqkowCxcuVHhdK1WqhC5duvDPGR0Jkb1gCrB7Xfz8/CBJEk6fPv1M451VeRPZ87UKCwtx+fJl7mmsV6+e0wmeFcIw72hMTAzWrVuHGzducBqbuLg4BU+kzWYT7pPBYMDAgQP5pMvGVFHk+DabjVMbsf5kdvToUaGAi91rx9SPwMBAJCUlITU1lRfklS9fnue+9u7dW1EQwsD82LFjBc88U9hhRVrPAohzc3M5QGGpA126dIEkSbBYLLyKX55G4MyysrIUuX1E9sXT6tWrBaWnBg0aCAVbly5dcvocsNaqVSvs3btXEbZ++PAh3N3dodVqcenSJUFBh42bUqVKPfX85TZt2jThnWIwGAQaMJPJhG7dumHkyJHo3bs3nnvuOTRu3JinoYSHhyM4OJgvdORE27+nOe4jf9dJkoRq1aqhUaNGaNeuHR8X7u7uePPNN/H+++9j586dOHr0KIYPHy6AcrkSF7PRo0cLv8EYOJjQwqBBgwDYF7CBgYGYPn06P2ajRo2Qm5vLcyhXrVqFffv2Yfr06bzf/qxUrLNWqX5LhE/YjeTlXyBqsliI0+DNg3j46DG2fXOzyPB2m8X2VKTZn3yv+I4xsJRY8VoJoPyb7IcffvhLHry/qsXGxvKqXNYsFgufhOQ6w35+fnwimT59uurxGI9gXl4eVq1apcqDJgc73t7eWLJkCU6cOMFfloBdKo6F1eSFIvKJXk574ebmBq1WC19fX+F+MAUTteR8uVWrVg06nY4T6RIRpkyZwr03kiShSpUqaNCggSodimOzWCyIiIhAw4YN0b9/f0iShODgYOE3GcXTiBEj+GdM0cRisQgeWgDYvn07n6RYJW/ZsmWdXtPEiRNVJ8K4uDjs2rWL//3gwQO+z3fffcc5EIsq8mGgUZ7LqVY9rdZGjRoleGLYImzx4sUAoJpy4WgsHWH69Ok8xMl++/333+cAyJHzE7DTJjEQyypz69Wrhy5duigmzlq1agkE9XKqGbVJNjw8HFOmTOG/7+bmxsnjGVsAC/drNBoMHz4cRqMRXl5eAJ4okci5AJ9mLE+VNbPZjCtXrsBsNv8uMJaXlwciO/hTk08lelLUd/ToUQwePFg1l1er1XIS8cuXL0Or1cLd3V21qI3x27KFE2OW2LBhgwBi4+Pjn4l1wGazCfelVq1aXOhg5MiRQgSpfv36Qk45U69hCjSOYfLw8HAexdHr9Vi6dCkPVy9ZsgTTp0/HmDFj0K9fP7Rp00b1PSEnfv+jeamsjy0WC/fMsnNifRYdHY2uXbvCYDBAo9Fg5syZWLlypbCI8fT0FHg+HXkoGQk+Kygs7sibh4cHmk98t8iK7rM37+HszXtFAspKr30KAFh+6AdF5XfKDlFCssSKx0oA5d9kjx8/fibA8U9q7KXGNKDZ50zVhMg+4cond0YhIX/pOgNtRPY8RLlXTN5Y1Sr7Wx4ufO+993hoJDg4WKFF27x5cxw+fBgA0L59exAR544EnlQAO2rTOtqAAQNARDxfk8gePh8yZIgg7cWar6+v4FVlOZJ+fn5o3LgxypQpU2Q1ekREBJ/ohg0bhnPnzvEK6ZiYGKeVmJs3bxaOVRQlj9VqVVSHOxYDSZKkAK6Mn7NOnTpYvXo1hg4digYNGiAiIsJpIYzJZEJUVBTq16+P0qVL821CQkJ4PqN8MpN7D5l35dKlS5gyZQqI1FMu5Hbu3DkQ2TnzAGDLli2CNGGzZs14AYY89+3YsWN8PPXp04eT2cv7Z/DgwXBxcYHFYlEtBGE5kH5+fsjJycGKFSt4LqZjn7D/y/M7iURapokTJ4LIrifPaJyYWtOz2tixY/mxJ0yYgE8++QRERWuLq5nRaERAQMDvypeTJAmdO3fG6dOnERAQoNDyZukAjrRbLITO9KwBe46mXDSBsVOwVrNmTV6M5Gj79+/n583eS+z9JU/FuHPnDld50uv1PC/67NmzICLh/e3i4oIRI0YIHK9paWk8UsCI2B3Pgx3jpZdeQlZWFn8eWE5mq1athH1sNhtu377NQ9Dsnezi4sK5d4ODg9GiRQuePxsTEyNUZLu4uDwzz6XaHMCeHxcXFx7x0el0qFy5Mk9nKK6m0WgQFxeHqilF80z+fO83HL74iyqIrDpjH5KWHMG+7+zFUj3+vxiJvNV/8+BTx3yJ/X4rAZR/ozlOHv+GptFo8Msvv2D//v0gIiGxnchOLr148WIOKl9//XX+nbxS17FohVFesBYdHc2lAHft2oXu3bsjPDxcodFcqVIlvPjii5g/f76q5Bd7ccqJhJmXk00eJ0+eVJ3I1IzlehKRIkRrNBpRoUIFdOvWTbi3sbGxQqivbNmyqgDk+vXrWL16NfdKMLCpdh90Oh33bA4bNgzvv/++Qr1kxowZfHtnOVfbt2/nnprIyEjMnz9foBJx9L7o9Xr4+/sjJCRENadRo9HAzc0NUVFRaNasGcaMGcMBPJGdn69hw4Z84oyKihKUc4An3JwMaFWvXh0FBQVcI33mzJkgsk+czlSS5Obt7c09e7dv3waR3ePIcvfYdbFxOX/+fB5ulNP8MJUctpCZMGECiIom4WZhVeaxY57wsWPHYu3atWjfvj2CgoJUwXe7du2ERQ9Tb3JxcUGlSpWcFmk5syNHjkCr1QrPEHt+nxWYWq1WTJgwQVgkxcTECIwObBw4Podvv/02H/dqgBJ4IgzAKtEvXLjAZTPlCwd3d3eEhoYK+zImAnmlcXx8PE9hkecFs/PftWsXv/c9e/ZUveYdO3bw51D+zDNw5eLi4rSy/MaNG4J3lr0XX3vtNf6cM5lUxkIhB6opKSnC8TIzM5GUlCT078qVKwE8iVowhZ45c+aAiLh3NzAwUHheWMW+yWSCi4sLZs+ezX+bva/atm2LIUOGoFu3bmjTpg0aNGjAvZvyZ+PPgNSimouLC8rGVykSTI7edBoAMG7Lt4rvHj56kgaT/aAAr+5IVz1GxITdqpzRJfbnrARQ/k32xRdfKIpU/i0tKSkJP//8M38R6/V6TJw4ETVr1uQvXHkeHxHxCf3999/nn02ZMgWnTp3i4SAie3jl2LFjTvuNAVRnnhGDwYDKlSvzxHCLxcKLaeRULSyhHgDKli3LidwdjZFgd+nSRUhMZy/iChUqQKPRwGQyKbyFV65cQePGjRVgISQkpMh8tTFjxoDoSWiXES+z48TFxTn1bLK8uIiICIHew93dXQANt2/f5rmsBoMB8+fPx+XLl7Fq1SoMGjRIsVBQa1qtFqVKleK5o2q5p6ygxDEMVrFixSLvM+PmZJOet7c3/P39+TPj7++v0EB3ZsybfObMGbz44osgepKn6jj+HJvRaESLFi1w5MgRDowLCgq4zjwb10UZO35qaioHlHKPoFxWUa2ZzWZUqVIFEyZM4CDWZDIhMDDwma4fsEuM6nQ66HQ6nDx5EkajUXh+nXm6meXn52PAgAFO81zlY5EVLjFQIpen1Ov1aNiwIacGcrSCggJ4eXlBo9EgPT0d/v7+kCQJp06dEvpLkiTBYwnYn1Wz2Qw3NzdcvnxZePbkfIzVq1dHcHAwTCaToDOflpamON6CBQu40IPje4aBr4ULFxbZd1arlafdBAQEcC+1PDWILVSrVauGjIwM/u6cNm0aAPuCu0GDBvw8oqOjuReTSUYyHXa5sefFx8dHcY/l5PAM9JpMJrz77rtF5uiykDcDlqmpqbh06ZJCUac4msFgQFjF2k7BZOP5h5Cb/whfX73L1XDkrevKL9Hnva/w2u7vcO7mPdX8SdbSM+4VeR9L7PdbCaD8G2z27NkCQPg3NvnEcvz4kyq5vLw8TirNGvP2fP755wCeyMDJG5OOc1blzYwVEMgrCQMDA5GYmIjY2Finq2T28mecciypnyWjt2nTBoB94mSeIzXlDfa78pwzllPlqJHLjOUYOfbfZ599prq9fGKUVyS7uroKEyuz69evY926dRg9ejSvRncWRjebzcJCRqfTcXJ0+XZqOVsNGzbEzZs3cfbsWXTs2FHhoXR1dRVAXkFBgWKb2rVrPzWtAHiiJlWtWjXMmzdPOD8fHx8hp+1pxkBcp06dEBISAhcXF/6dzWbD5s2bhapa1i+TJ08WjsNUbvbv389TH95///2n/r68Opd5XxmgPHDggODpiY6Ohs1mE8aMi4uLKpALCAhQHQ+Odvr0aej1emi1Wg7iHYuJLBaLoD3NznvevHkK76P8eRo3bhxu377NeRKHDh0qnCtLtcjPz8esWbMUTAnPPfecorDLkS7J0Uv37bffgogwfvx4xbW+9tprwj5HjhwR3hVeXl5YuHAhiJ7kVrPc74YNG8Jms2HdunVISEjgz4BOp0Pt2rXx8ccf4+LFizwFhY35ZzFHOdty5cpxb+X169c5zy97fth7jogEDsnKlSsL71vGfMG8k6xwDgDeeecdvl/v3r0V58RyYVlr27atkL+qxiKQl5eHRYsW8X0qVaqEXr16CfRPxTnPEBFcwyuoAsDEmZ/h6p0HuJnzm1C57azVm3sQ+Y8eY+qOc6rff3Pt7jPdyxJ7disBlH+x/frrr/+63Elnja1q2Sp23bp1HEDExcXh7NmzmDZtmgAqTCaTwjMbEBCAjIwMEKkDyoyMDAwePFgoCvL39+cv2l27dgnbsxC2i4uLqtpNbGwsli5dyrdhqjuOeYOOyhssb89oNCqKelhxwtSpU4XPWcizVKlSMJvNvFKV/UaLFi1Uw2XME8uu2Ww2P7NH7ocffsCqVauEivZnaTqdDn5+fqhZsybP00xJSRFC57Vq1RJIzffv348mTZoI1xQfH49BgwYJ4J6pzfweY56ckydPcq8tEaFfv36/6ziAnTuQhfLbtGmDQ4cOoWnTpopnMSEhQfCmlipVCuvXrwcAfP311yCyk39rtVpF8VRRdvDgQRARzw9lVFRExHPdzGaz4EVyLDibNGkShgwZovAeM17YgQMH4siRI8J4Sk9P5znPhw4d4p9//vnnfP/ly5dztoDk5GQ0aNBAUUik0WhQsWJFvPPOO7h//z4vSps7dy6sVitMJhM8PDw4JQ0bT2osANnZ2XBxcREWLd7e3ujXrx+PEnTo0AFE6hrvLJQrLxRhZrPZ4OHhAZPJxIGOJEno0qULevXqpUjhaNKkCQDwxSMbs5IkIT4+HitWrFB9PuXvioSEhKdWyMu94OxZYXr2cp5fZo5FTOXKlVOlmLLZbEIqEVusMX5Rpmak0WiwePFizJkzBxMmTEC7du2E/o+KikLZsmUFeiX5+f5fOj/0/qUV4K9Cyl6kZ9zD3bwCNHnr86eCSda+vnoXp67dLfFQ/k1WAij/Brtw4QKXbvs3N6YT7OPjw72SRqORy6QxYxWpji9z+UuKTewMUN6/fx+TJk0Swszu7u7Q6XTcO8i4+BwndlZZvnnzZgD2iblTp05PrZT09vZG8+bNsXz5ckV4iIVuAwICUKNGDWi1WuF7m83Gw3PM0zN79mwQPcldYjyUBQUF6Nevn/DCnjhxokB7w8ALa47UNgw0DhkyBA0aNOA8jc/y4jcajbh8+TKuX7+O9evXY/To0WjatGmRYXTHf9u3b48ff/xRuH7HlAA2RlJTUwVi82e1a9eu8ap3djw20SUkJDiVuFSzwYMH82PIFzTyogImC5qRkcEXQWzM+Pr6cs8MAxOOC5mnmaPaEJGdo5ExBKgBJEAsOIuPj+c5pJIkYejQoYiPjxcWTlqtFhEREWjfvj30ej0kSVIc22az8WPUrFlTNR+WjV2muCK3/Px8EBE6dOiA4cOHg4h4UVqZMmWwa9cuaLVaGAwGVY80y6G8cuUKevfuLSx+AgIChGc1NTVV2Jct3pwVYzGuUyK7d0/++wUFBcKxtVqt8F7y9/fHzJkz8dtvvzm9jzk5OfxZYByY7BlWM+a9JbKr12RkZHAQyBYHAwcORHp6OlJSUoSFc0hICP+tatWqoW7duqhSpQpiY2MRFhYGf39/Afz/UUlfjUbDCeD9/f0RFhbG38l16tRBy5Yt0blzZ/Tr148vuFhKQ1BQEP7zn/8gKysLWq2Wy0oWR5MkCZLehLBXnhTlxExJw/Erd5BXYEXy8qPPDCYZaLx069eSHMq/yUoA5d9oZ8+e/Udqev/R1rp1ayHp22azYdasWTyhXaPRYODAgThz5gy6d++uWnDi7+8v5CyZTCa0atUKx44d45NgixYt+G+w0KN80omMjOSkvTdv3sSMGTNQq1YtgWPOWfP390erVq2watUqfi0FBQXw8PCARqPBpUuX+ITlWOjCCgg8PDx4BbSfnx8Hp45KOQUFBUIBgdFoxPDhw7F48WIF+C1fvrxT0KjRaODu7o7o6Gg0a9YMY8eO5bQqQ4YM4WOsdOnSvFo5IiLC6YTco0cPENlpihjYlFdGO77wGS2J41iWp3Wwf48ePfq7nhHm2WH9ceXKFe698vLyckoMzuzGjRsYOHCg4HEJCAjA8OHDOe+oj4+PQhb02rVrPHzXunVrhaebkd//Hjt//jyfjLVaLbZu3cqB7tP4JPPz8xWqRUT2kDEzOdm6HDRLkoSQkBC0bNkSzz33HKpUqSJ4jyVJgr+/v1A4ZjQasX///iLPyWQyISYmRvBgde7cmXv09u3bx/OLL10SdZPVinJOnjyJpKQkYYwx1SH54iUuLg4mk0lxPvK8YDZmHIu2WNGPY5MD/KLMarUK4es6depg1KhRvL9NJhMaNmyI5s2bq75z3N3duUTlH3nHMuEC9swFBgYK3kx2HlqtFt27d8crr7yC2bNn80WQIxj85JNP4ObmpprPysLocilJx/7r2LEjbDYbbDYb93rLaZyKq4WPSEX4hN0oPXE39n2XiUePbejz/leqoDFy0h7ET9ur+Lzd0iOwPrZh66kbJVXef5OVAMq/2YqbZuH/qrHQEWB/6Y4bN45PyCysXL16dcX1v/TSS6rHCwsLw4cffihs++WXX4JIDCuz4gimg33q1CkQEa+Glb+IS5Uqhc6dO2POnDnCpJWYmIjFixejSZMmisRyb29v7j1h8o0sKZ1VV8qN5WexfeW5fmrSi5cuXVLl4HRskiQpQOPGjRs5KbujOQJVoieVxix8HB0dreBvzM7OhkajQXh4uPA5IyYH7GCLgbGnNYvFAg8PD6G/XV1d0bVrV1y4cEH13JnJOTAZF5+8n1nVtSMXY25uLiZOnCjQOLGJXaPRICsri3tTa9Wq5RRYX758GSaTCRqNBnv27MHUqVP58QwGA0aNGlUkZREzq9WKPn36CH2g1Wrx4YcfgsjuRXtWO3HiBAcFDAQ5joEbN25wj2NMTMxTi//kUnv169fnFFIuLi5Cvp6jObIuMI5Iue3YsYOr8cj5IZ1VeTMQ07ZtWy5MwI5fqVIlvPfee3B1dUVERISwX0pKikDAzeQF27Zti88++wwdOnQQQLRer0dkZCSaNm2KmJgYIc3BbDbD29sbbm5uMJlMTgULnrVptVp+/MjISJQvX16VGk2j0aBGjRqc2mnQoEH48ccfcf/+fX7fWVGV3NgCi6VH6HQ6YYF04cIF/ixotVq8/fbbkCQJsbGxAMCJ++WgHXhSKMQW64wflTUmZflXF5fq9XqU65WC0hN3Y/VRO5PFvu9uYfSm04oWPmE34qftxYOHVmw6cR2v7f4OE7edReqxn5BXYMXdvAI0ePNgCQ/l32QlgPJvtsGDB/OXVe3atXnV4b/Rc5mUlITu3bvzF7enpyfmzJkDm80GPz8/QSt4//79aNy4saKIRj5BaTQaJCQkYN26dbDZbDzhnvFJAsCZM2e4F0veZ5Jkl0Ls1auXQnmD0a/If7dmzZo8N1BOtq7mYWCclXI5SmZyWqHXX38dhYWFuHTpElatWgWtVguz2fy7wtNsIpLTHhVlNptNCPm1b98e+fn5CAoKgsVi4duxbcqXLy/0DVPrcfROMRLx9PR05OXlYeDAgYKXRa/XIzU1VSj2KFWqFKKioopUz9BoNAgODkbv3r2xevVqPhHKvVusutqxAOL48eN80TBgwADMnz8fsbGxvF/NZjNat26N48ePc95Gdq5E9lzIp9n58+dhNBqh0WiwZs0afgy28JBryauZIy2TnC+R0cY8i0KN3Ly8vODq6sqfFU9PT+Tm5uLo0aNCgYT8emNjY9GnTx+MHDmS08g4blO/fn0sW7YMubm5WLt2Lfc8OqtiZvydRKTgKJXbli1buCebefXlgLKwsBC5ublYuXIliOwh1FWrVmHu3LmYMGGCKr+rRqNBQECAQt7wjxQ7Ms1vx6iAi4sLypYti5o1a6Jp06ZITk7mBUoDBgyAu7s7LBYL0tLScPLkSVy7dg2XL18WPHSs2K958+Z8QSav+iayezXZu+ull17iCxdHMH/06FEeoj9z5gz/3NXVFV5eXkI04Ny5c7DZbOjXrx/PI2Veekavxu7Z6dOnQWRnwbDZbDh37hyWL1/OC34sFotqLrokSfD09ERcXBxatWrF867Pnz9f7MU5sdUbIHzCbnz5450in43wCbsRNXkPVh+9gvM/5yI3/xEKrDbcuJuHjSeuKbS8WStRyvlrrARQ/s2WmpoKvV6PRYsWobCwEADwn//8hyst/F5gKV9NqwGtv6MZDAbMmjVLuM7ExERotVp06NBByNeKjIxESkoK9wK2bt0akydPFl5abMJjL+EBAwYgNjZWNSeT8aEVZeyFPXnyZOEYOp1OqChlIWx3d3esXbsWHTp0EHKa2Ms2MTERw4YN43mxT5vUmKexefPmGDt2LF5//XX+ApbnysmrSYmoSJodwF74Ic+/kvMjsvw9eeJ/3759QWSvHLXZbDxnsVy5copjsyKMihUr8vEUEBCAFStW4N133xUmnAoVKvCCKUbPwzyc69evx5gxY545BSEhIYEXejjmYNpsNqxYsUIorNFqtahTpw527NghbOvt7c23kySJq9I8i505c0Yx1tLS0vDBBx/w/E6NRoP27dtzYms1WibgScU5OxcGOH6PMRnOTZs2OX22g4ODMWbMGAF4AMCyZcsEjyQDGY40XJ6enkhISOD3tUOHDjy0ee3aNWFsdurUCbNmzcLLL7+MgQMHokuXLmjVqhXq1auHqlWrIi4uTsFZ6Ph8/9nm6uqKihUrIioqSpFKw/qInUPLli2RmZmp8M6z/MoyZcogJiaGn1/9+vVx6dIlnD9/HkT2iAYA1K1bVzEmGZWPVqvl97hs2bL8fd6/f39BIIItuOVec/YuVCsGOnDgAA97nz9/nrMGsMUJA+9ubm58IRMREYFz587hu+++431Srlw5LF++HP3790ft2rWLvA9yoO3q6soXo46RAfaO37Fjx+8ivH9aY79fZsACVWqgP9NKtLz/WisBlH+zsdW52uf79+/nq0lnEwfLn5ErP1SoUAE6nY4ny8vVMf7KptVqecUikZ3vbe/evejfv7/giQwMDMTo0aOFamEWqjYajbDZbNi7dy/fx9/fX8FjyF78o0ePxunTp3nOIpGYY+lo8opUm82GM2fO8P0Y0A0ODsZXX30lFNkwT+O7776LQYMGOc0pZE3O8TdmzBhs2rQJZrNZEfJesmQJJ0hes2YNrFYrr/5l3hA5WEtISMDXX38tHOP+/fs8t4nJ1znmmGVlZYHITpEiN0afVKNGDe4dd6SiuXbtGj8nIjtx9NatW4VtfvzxR94XLFeWURLl5uYWWZRz+PBh1K9fX3GPmRycY9+aTCZFdTYDER4eHooiEPk9Zvyov9fknmcikUdy165dnA5HkiRERETw827cuLHwfDNAKb+vRWnHM7Nardi6dStatmz51OeQ0R1ZrVZkZmbi9OnT6NOnj8LL1KtXL5664Ovri/j4eAQGBvIw/595F7B0BIPBAIvFAk9PTyGXmnnaWrduja5du/L3V/fu3bFixQps3boVhw8fxvnz55GdnY2srCwYjUY+RtjzpSbzJ0kSKleujNWrV3MQGRISwsf6d99957Sf4+PjodFoYLVacfz4cS65SfRkscfyQdki7YcffoDVauW8r8HBwcjIyEBBQQHPZXZsXl5eCsBos9mE9BfHEDSztLQ07r1nxZBarRYnTpzA7du3+TtYkiQ899xzHDSqFc2xfVl/1qtXD+PHj8e2bdtw+/ZtwZMaFxcHm80mSC8WFBRgw4YNSE5O/ksrwd3d3eEaGI6Ilz8uVkAZMyUN17OfLo5QYn/MSgDlP8wKCwuRlpbGiZ7lDxiR3bvk5uaGBg0a2BU39CaEV66DmNrN8dLMBfD0DcCqVatARAr5uL+i5eTk4OjRowraCwYOHRVy5Ma2DQ4ORmhoqCKUxY4jp+xgdCNXr17lIMMZvyMADBs2DESEFStW8M/koTvGhynv56LC09HR0fylLkkSJ/qWb+Pq6ophw4bBZDJxQGmz2bjOtBoIkleGdujQgXtM5C/3/fv3Y9GiRbxvq1WrxvkbmzVrprj2sLAw1WIGuZKNvCghPT1dIH6WJAlhYWGK/W02G69UXrRoEe9PBiCqVKnyTFXeX3/9tUCMzyY7eT7os7bY2FgMGTIE8+fP5+OiatWqnBicqZM8qzFVHXZ+1apVU2yzatUq4d7HxsYqaHO2bt0KIruX7scff4RWq4Wrqyuys7Nx7do1nDx5EmlpaVi1ahW6deuGmJgY1fChwWCAl5cXAgICik072Wg0cpqZoKAgREREIDQ0VLXgSt7i4+Nx7NgxXL58+anUViwPj0lSAsArr7wCIpFDUc1WrFjBf1Ov16NSpUqKPGn2/8DAQKFAp0aNGvDw8ICPj0+Rv8HkH5moAGBPe6hYsaJwX/fv349t27aByE4+zqq1mzVrxtkarl69ykPd8v7SaDRF6o2z+6nT6RQLN2ZM1561pKQkp4CRjVt5RMDb25uDRsAejSESU2vkKmfu7u7w9PSEwWDg0Qe1cefq6oqxY8fi+++/L5YxKW/u7u6IadW3WAHlphNKMYsSKz4rAZT/UCssLMTHH3/M83OMRiPKly8Pb29vTJqzBFFdJqL6jDSEv+KoeboL5SdsQaUXZqJtz0GcC7G4H3a1lzrja5S/UJs2bcqvyZFE3HFyq1mzJlJSUgT940aNGgGAKt0I+x1nEmr379+HVquFr68v3n33XQwePBj169d/an8EBASgefPmePHFF7Fp0yZkZmZyZZN169YJIShmJ06cwIgRI1Q5RyMjIznYqlSpklP5QDmn3wsvvAAiOzhr2bKl0Kcmk4lPPEzv+sCBA4rjMTDlGA4GIGixHzt2TJhAExMTcerUKYSHh8Pd3V2xL6u0HzZsGP9s4sSJAggJDQ0tElCeO3eO8yUePnwYVqsVM2bMUOXSjIuL46o/N2/exIYNGzBmzBg0a9asyEnVYrFw701gYCBWrVqFH374wek5MWN5j+3atcOBAwf48TZs2IAdO3bgnXfeEaQ2w8PDhfM2GAwICgoSxrhGo/lTQNBkMsHNzQ0+Pj78mdNoNAoKIbZt+/btkZqaysfRggULOO0SS31Q44xkJs9BVWvsfTRy5Minkq2zaIIkSfjss884NZQz+UKbzYbRo0erLuqCg4Mxbtw4Ph6+/fZbJCcnCxER+TP4NA5Tq9UKrVbL1WeYsRB/48aNeX+zscbOi2nBnzt3jutqE9nDy4mJicJ5N2zYUJWcv6CgAESEunXrco9o9+7dsWzZMu5pLFWqlFMuY7aobdGiBc8L/eabb/g1SJLEq9QdqaR8fX3h7u7OpUf/yLj8q/kqJUnCxHWHiwVMLj349Ge/xP6clQDKf7jZbDY+AYyfPgdxQ5fZc0Em7ik6V+T/f18/ZQvMvqX+Epks1vR6vbCyvn37Nq8kZBOsI+8dm4Dj4+O5qoiclofxNmo0GgUgOnnypILOolSpUujQoQMGDhyIevXqITw8XNXLwrSnieyeQraNXq/HkiVLhJxGuTQj8zSx3CXHXDVmubm5MJvN0Gq1Cs479vvh4eHo1q0bduzYIUyqrM9Ynh47T6b5K3+B+/v7Y8WKFYriG7ndu3cPRIT69esLnx8+fBhEJHgwJElCw4YNBcDVtGlTSJIknCPLrYyOjlb8XmZmpkLWUM0uXrzIC1+2bduGcePGCdyTbAKXEzi7urqiU6dOqhyHubm5Qs4ekT2kGxAQ4HQiZqFws9kMV1dXuLu7c+/0H50si8ql9fHx4cDTcRuLxYKKFSti9OjR+OKLL/Dzzz/j0aNHAIAKFSrAaDQCEGmnGPdfrVq1FONcXnAWGxsLnU4n3MMrV66AyO4Jd7T79+9zrsVy5crhm2++4fejadOmCAwMhE6nQ1xcnKKKOjo6GgMGDMB//vMfBVhk/cpogRx16Jl9/PHHqgUhRKRggWDGlLjc3d1Rr1494ZmLjY11SlbOLDExEZIkccDN2AZY/2RnZ6NLly7CfRs9ejSOHj3KC1OI7F5sBtKjoqJAZGfDYF5/vV6PuXPn8kKYZcuW8aI2Rs7ueM0spUVtXPXr10+4LvZclypVCjt37uTXkJOTA61Wy7XQz58/j+TkZKf9/E9qzCGx8cQ1xExJQ+Skouc9tZzJmClpJZ7Jv8lKAOW/xPrNfBdlJuz83Q9U6Ym7UXr8dlTp5Fw7uDhaaGgobty4gfnz53PtXsdtdDodkpOT+UqdyE5szlRFwsPD+QuSFdKwyeGll17CxYsXsXLlSgwePJh7f5x5fdjL0mw2C55GZhERETAajRzISJKEAwcOID8/n4eENRoNRo8eDZvNxj1VciJzZ7Zv3z7FpLBw4UKkpKSgevXqCtASHByM5ORkBAUF8ZxSR6m80qVL84prR1UaluukZmXKlOEcnczUdLvbtm2r2HfixIkgIu7xyMnJgclkgsFg4MUoaianUipTpoxAF3T16lVBn5ttZzAYEB8fjyFDhsBsNsNkMqFTp04cODlyFTIw+Ef5/Z7WNBoNvLy8UKZMGaHwiY25l19+Gd999x3u3Lmj6Pvbt28rpB3l5x4YGMjP+2ljycPDA6VKlYLVauUgpX///kLldmRkJHbs2IHc3Fyuha7T6TBx4kRIkoTatWsrjhsQEKCooj99+jRfxDDpPvZsMh5D9lyxaz579izGjh3rlGy9R48e2LNnD/z9/Tkw9fb2FuiX8vPz8eqrrwp0NHq9nj+HDRo0gE6ng6urq8K7z8Linp6e3GvJtL/l44bJKap56xnl0OzZswEAISEh0Gq1PBe2oKBASAVxbI0aNRIAsjyHd/HixejXr5+qPri8ubm58epp5h319PTE559/rkiBYO8+R5oyADx/ni1q2TUwp4SzHM9/ajt48Alf5PXsPPRcdZwDxacByfAJu9Fz1fGSnMm/0UoA5b/Alhy8VCwu/wbD3vhLHnpH7xCbND09PaHRaJCbm4sXX3yRTxgWi4WHY5lSDkt479ChA1auXMmpQxyrrB1bdHQ0f+H27t0b5cuXF8LwFStWRFpamqJP5RyDzz//PNc+ZkTcx48f52DT09OTe4GioqKeer9sNptAJaLGv5iZmYk5c+agbt26AsE0kd275gjIWXiNmdVqFfJsXVxcMG7cOEUlK5NR3LBhAxYvXswBgyRJ6NWrF3JycjhHnqP+7/79+0FEmDFjBm7cuMELUUaMGIFFixYhJSUFo0aNQp8+fZCcnIymTZtyGUdHoK/Vav9Q4Yf83pvNZhgMBtXx4OXlpfAi9enTB9u3b+eLgSpVqnBmBbllZGRg48aNGDt2LAd67u7uTs9XkiTUqFEDQ4YMwapVq3Dp0iVcuHABEyZMQNWqVZ16flxcXPD6669zD5VGo4GPj4/insnHEfMcM4AqB+FsjKxZs0Zx3+QRCbU8ZpZbzMb7O++8wyUhV61axbdjBUe3b98WlH+WLVumes5ysnU1NR72DihdujTeeecdVKxYUbhnbm5u2LRpEwA7bQ6RXQ6UqW/VrFmT/xajdXJ3dxcWOP/5z3/4fQoPD8eCBQsEeim5eALrZ51Oh5iYGF6MNWDAAAB2by5bUFSsWFGQamTjgxVG1qpVS/CqO45/T09P4VmvV68e6tWrp4gCAFDo2bOWlJQE4MmiTS6kwIzlszdr1gzp6el48cUXf7cs6z+heXh4qD4bl279ipQd6aj/5kFEOMxxERPspOUpO9JLqIH+D6wEUP7DbeOJa8WalFyvz/i/5OFn4dPg4GAeOnJUmLHZbJgxY4ZC6zs0NNQpjxmj3GEvdTc3N2zevBlET5L6GQE6y7dkCedyL57ZbEbbtm05FxsLYbOiFWdEwnKOR71er6o1LLc7d+4olCPUAK2jZWdn8/Nx1seOeVh+fn5wc3PDnDlzhKr/zp0749ChQ9i1axfeeecd1WPVrVsX1apVQ/ny5VG6dGmhMOCPkjtLksT3L6qow2w2o3bt2hg+fDimTp2Kt956C6mpqdizZw8Pqffp04dfJyuGkBcQOOZ9SZLEc9yef/55Ph4ZSC5Xrhy0Wm2Roc8FCxaA6Alf5cGDBwVgxrgUn7U/unfvjk8//RRE9rxUOfH/K6+8wiUVW7VqpXo+586d4xOr/Lg1a9bE2bNnUVBQAIPBwEn+5Waz2QQ6neTkZMEr+PPPP/Pf7t69O3/W5Kkc7Blhiz7giVY90RPi/6IsIyNDAKLOmsFg4NKpjr/FquJbtWoFIsKsWbOwefNmSJIEV1dX3Lx5U9iPbceUhlg6Tm5urqq8a/fu3VGlShXOs2g0GlFQUIBt27YJoNHxfJ09A+weExE+/vhj7jllduHCBe5tZiTwjpaZmSksytjvyYugmMY5k3oF7O8xZ+f2b2o6nQ59+/Z96vh68NCK9Ix7+ObaXaRn3CuRU/w/thJA+Q+269l5iJmShrKvfoKF+y/i84tZyMmzTwovffitAixu+fq66nEuZ93n24S+9BFKxycW68PPii+YrFy5cuVw/vx5XrwRFRWFsLCwIslvXV1dUadOHV68YDAYEBMTI1zHrFmzOGkvEQn5dMzLduHCBV7tee7cOeTk5ODll18WPAdMVpG9uBjIOHLkiEAkzJRTJEkSqq6dET8fOXKEe2BGjBghyLM5hqZsNhtycnJw4cIFHDlyhBfXsO1btmyJGjVqwM/PT1X+UF4dLZfC+z33TK/X86ItX19fPoH5+vqiVq1aaNasGTQaDV8AuLq6YtGiRVi/fj0+/fRTfPPNN7h586ZCPebkyZMKr7W81a5dG3fuqBMWO6p1MIuMjOSqN4z7z2AwIC0tDdu3bxe49TQaDapUqcI9zGXLluU66/Jqf8f7wdSWcnNzBVqmKVOm8ImbSQ+ya9FqtfDy8kKpUqVUK/5Z0+v1CA8PR0REhEAxxTyOaipMLEzJWtOmTRXVwuPH2xeI8+bNEz5nC5RatWpxRRWz2Sx4M4ODg3mfxcfHKyq2WUW5PMxstVr5uRPZeWSLAulWq1UBiNkYdvzMx8cHTZs25WTrjFKHeamsVqtAbO7i4qJaPW02m1GqVCnk5eVBp9OpKvRkZGRg8ODBinQGdp+daZ3Lc5jbtGmDCRMmYPv27Vi4cKFQ7Mfua1HGtOKJ7AsOJnm4a9cu/jtubm7c42g0GgU9e5vNht69e/NxKB97f3WxzN/Rdu7cWWT/ldg/z0oA5T/Yeq46jshJe1Bntr2C98bdPBy7bJ+InQHKh48eK+SpXkg98SQk8MpO+Hd5rdioR1grW7YswsLCnHqm3N3dERMTgxYtWuCll17iXsbatWvzSlwGBNg+7du3V/TJoUOH+Pdjx47lnzMSYhYarFOnjmLfq1evol+/fopQZosWLTjA2b9/Py/YYGBy27ZtyMrK4rxzRHbQNXr0aIwbNw4DBgwQqqQjIiIQExMjhMVY3t8fCfs+bR9Gxl62bFl06NBBoTTCJnSj0QiDweBUPrCgoIBThIwfPx4AOD2QVqt1WkgBqFfhExGX9SOy56ix3D+dTocZM2YojsOk+BxzNFkYk3lig4KCFNrqRqMRXl5eiI+PF8AlEfF7WalSJdXzZyA1KSmJgyUfHx/FmDaZTIiPj+fXIQ85rl27FkR27tCff/4ZmzZt4lXWnp6eRYbRiew0R4MHD0bfvn0FqqyAgACBw1VuNpsNFosFFotFAHYvv/wyiJ5U9q5atUooONu1axe/TkeuUuAJnc6IESMU31ksFkRGRvLK5tDQUMX9unz5Mnr06CG8ZzQaDTp06MA9pwy0hYeHo0WLFsI1s2dGo9Fg7ty5/Phvv/02/15N1515uBlvKOPmXbp0Kc6cOYMlS5agX79+qFWrFkqVKvVUGUGtVou6deti27ZtyM7Oxm+//QYipWrW1atXodVqYTKZBNqr5s2bO6UMys/PB9ET8KnRaPjzRvSkIOX999/nn1ksFrRu3RphYWGKsaTX6zkXLPPS/lubyWQSwHOJ/TusBFD+Q+3SrV85CIyenIbEmZ8hfMJuJC2xh3+cAcoHD63PFPrW+Sjlzf5sc3FxQUxMDA8LRkdHc5CoZkRPwmmfffYZL8CQT7CO9s033wiTUY0aNThAatiwId939+7d2Lt3L9atW4fFixdj2rRpGDNmDPfWeHt7K9QdGB3Qnyn0YIoZ7Py0Wi33zAYEBKB+/fpo06YNunXrhkaNGvEJl1UjHzx4EBcuXMC9e/cEgMDChu3bt+dgyWg0onv37gqNZSI7YKtevToHiKwNHjy4yHGXn5/PQ4IpKSm8j5YuXarY9s6dOxgzZoxAj+Pt7Y3+/fujVq1a0Gg0Qs5fcnIyADstDztuaGioQDuTmJgInU6n+K1r165xYFe7dm1FbtWOHTtARJg4cSIA4LfffsPMmTMV10+kLIRhnixnYzohIQF+fn6K85KHHC9dugSdTgcXFxfB08eIzeXE6Axsvvjii6hUqdJTla3Cw8NRv359DB48GO+++y4uXrwo5IK++eabICJMmDCBf8bAkuO9lXOQsta4cWNhO5vNxsny1XLYoqKi4OLiAgB48cUXOQD46KOPMHLkSEVagJ+fH7y9vQWS8jfffBPAE13qunXrArAvatatW8fD1fLGwB8b/y1btlScN6Pr6d69+1NzGr28vBAXF4c2bdoo2AlYkyQJ5cuXx7Jly3hfGI1GQV3KZrPxXG8WnmcCFazVqlUL586dE86Xgd958+Yp0gL69u3LScTV8h+NRiOqVauGlJQUXL16VYhwFLez4O9uWq0WHTt2VIy7EvvnWwmg/Idayo501Uq2ZwGUpSfuRvmUvc4B5Ss74d9q+F/yMqhevTqysrLQrl07EJHTHC/ADiiTkpLw1VdfYffu3UhNTcXYsWOF0LjFYkFCQgKqV6+OChUq8O/khTLySeZZG8v3k1eBqm2n0WiQnJyM4cOH8/Bi9erVsWzZMmHijI6OVnj+LBYLr8AOCgqCJEk4duwYrl+/zj2aJpMJ7777LmJiYlRzqZhZrVYenmYayET2HEE5kHZzc0NwcLBwPY7XFh8fz4sx1CwvL09BVM90hvPz8xVAzWKxIDk5WeA1lFchz5w5k6ckrF27FoB9Eh46dCjv/06dOqGgoIDT/cht586dAsiXk7EzY95jNRWq27dvo2fPnsL1WCwWhIaGqlZw16xZkxciMWN5ho7HZ3l+bCw68oGqAUrH++rI4el4PmqeTSY7Gh4ejnr16sFoNEKr1eLcuXO4ceMGiJS5mXJyfbkHV6/XC9u99tprILITeKsZ03+3Wq3Iy8vjGtCsubq6olWrVjxdQi6t2qhRI9y7d084HgttN2nSROgXIntIffv27YJyk7wZDAa4urqq0kMx0Mjucb169bB9+3YhpzEzM1NQqyGyUw3ZbDZ8+OGHqF69Or83Wq0WNWvWhI+Pj8DPysbGuHHj+GeM4Pz06dOoXr266rPHvMjPQuSv0WhQt25dDBs2jAPrQYMG8d8rKCj4rwhzs7Z+/XrVsVdi/2wrAZT/UKs/96AqGHwaoLTZCpFXYF9J5+QVYM2xn1D21U+UxxrxfrG/BOS8hr6+vkKBicVi4ZPeH33xySssQ0JCEBUVxb1jLKTMtu3evTsWLVqEdevW4ZNPPsGxY8dgsVgUHHhMyWP58uW4ffu2wJcnf5m/9957AOzeiQoVKuDzzz/n18cmezn/H/AEUAL2kDCTpmPHbtu2LQ/ruLq6IjIyssgxwSZ6FtaXA8UKFSootL9PnjyJESNGOOUgdXNz41XHjnb8+HFh23bt2gmhZIPBgMaNG2P//v2KfQsKCvgEP2XKFAD2gggXFxfo9XpkZGTwba9cucKvx8XFBZIkCZW8DMQbjUbs27ePKxvJwavNZoNer0eZMmVU+y03NxfLli0TgLdacyR+ltuyZctARNiyZYviO7Y4cHd3VywqnAHK/Px8DBkyhPeTh4eHIuTLnikG5uWezebNmyM6OrrIMHpAQADq1auHwYMHY+HChTy1pHLlysjLy8OUKVP4/axUqRLu378vLFyc5Ua++uqrILJXarP99Xo9B/3NmjXjnkEG5piOuDNjdEdt2rSBzWbjVd1VqlQRuB6LauxcoqKiBLoZ5nE1m83cy3jp0iU0aNBAeM5ZdCEkJEQ4N6vViiVLlqBcuXLC9s2aNeMsCuXLlxf2YYCS2ZUrV9C4cWO+f+nSpVVzS+XnIn+3LFmyhB8rJyeHUwsxoYRevXoV+/v8/6rpdDrFoqPE/h1WAij/gXb/oVVBh/AsgHLZoR+w/NAPGLb+FEZsOMWLdE78lK30dr6yCzqTeuL5n2nyyU1eQOPi4oLKlSujTp06aNGiBedDi42NxYwZM7Bs2TJs2rQJ+/fvR1BQEFxdXXm+FKMfkr/I5XbkyBE+mZUpUwZarRalSpUStmFAZPny5cLnVqsVGo0G5cuX5xP6okWLUFBQgPnz5wvhXKPRCJPJBL1ezz2cW7du5drV7GXIKH7kgPLQoUMcrOr1egH82Ww2EClDeI7G8uXk/c1Cx97e3lxzWG75+fnQ6/VcYcXHxwcVKlRQgBAfHx9Otl5QUMD7Qr6dRqNBQkIC1q1b5xRsWK1WQedaboyGKCIiQrH/ihUrOLjy8fHBlStXULduXRDZqaMYCL169SoPQzLbuHEjiIjnZN6+fRtz585F/fr1FeHCp4UDo6OjMXfuXAUwZGTgjjmFe/bs4WOUiBATEyOEiR0BZU5ODrp27crPw8/Pj1PwsGdCkiS89957ivMqCvBmZmbCy8uLE+9LkuQUbMo9m3Lvol6v555eNVqgbdu28VQGdp7VqlXDxo0bYbPZYLVaBZUrts2wYcN4hTwzm82G06dPY8mSJejbty9q1ar11Ork8PBwtGnTBhMnTsT27duxZ88eSJIEX19fDBo0SJEPqdPpONn6mDFjQGRnCpCHt9miUKvV4vbt29xbKV/0yO3+/fuqnJTt27cXcjodASW7R5MmTRIW3vIWERGBVatW8SKoNWvW8Pdn2bJlhYWwzWbjWuXOjvdvbBqNRlBXK7F/l5UAyn+gpWfccxquLgpQqrU5e78HAIzYcErxnSFAmV/2R1tUVBSnZbHZbBg1apRiMpPTvgBiDqXc5BrYLVu2BJE9n08ehvXz8xNW7fLQJaswZuHVuXPngkhd7xoAKleuzPdV4+x76623+OQov5527drh4sWLfLt9+/Zxb2BISAhMJhNiYmK49BkjeyYSq3IZ7dGrr77qdExs3bpVCI1ZLBau5MM463Q6HefwY8aqQDds2IDq1atDkiQ+YZ09e1YoJnpaU6tElpvNZuMa2CEhIarSi4z/kPH8yY15AeWtefPmCvDJJn0WXmb3LzExUaH+ExQUhPbt22Pt2rXIz89XJXb28fHBnj17UK9ePQ70WO5vamoq/32NRiMUezkSvTOKqfLly/N9GKAcMmQIWrduzZ+JsLAw4V4xRgR2jxmg37hxI5KSkvh+pUqVwoYNG1T7nym8ED1ReWFUSJIkoVWrVmjRosVTPZtE9sKiwYMHY/z48ahbty4H+5Ik8XusVszjmAv42muvYcmSJZyKij0Xjr/HeBrZd/LFl0ajUfWEA8C4ceP4e0Sn0yE2Nhbnzp3Diy++qCpLyVqZMmWEsbJr1y4AT7gvhw4dqvp7ADgVFHvW5Z5GPz8/DBkyhAPzKVOmIDEx0WnVOGtGoxFvvfWWMNZZ0Q47PgPn8m3Unpl/c5MkCe+8847Tvi+xf7aVAMp/oH1z7W6xAcqYKWl4bCtU5bM0BMUU24uArfo7dOiAVatW4eOPP8ZHH33E+dZYk3OLsYlAbuwlyiZEq9UKb29vXjATHByMYcOG8QnO3d2d53QNHz4cycnJ/Lc8PDyQnp7OVU/Uqpvz8/O5l09tgmTGQlvyY7P/BwQEYMSIEcjKyoLNZsOIESMUk3ViYiIyMzNRUFAALy8vaDQaTns0ffp0EBH+85//KH733Xff5bmaWq1WUAiS07l88cUX3EPDNLbv3r0rSK6tX78eRPacRrmlp6cLtEhFtYEDB6pqkdtsNg5O+/fvj0aNGjnV8mbhOkd+TgZ+5X3n5+eHw4cPC9uxcDyjPWLbajQahIaGokuXLti2bZvgKfz666+FAo2goCBOL0VE6Ny5M18Mvf/++6hcubLAQVi/fn24uroiKCiIH5MVeMllR5kGdpUqVWCz2Tj4YC02Nhb79u0TrofpxMfFxcFqtQo62mzM5uTkCFXTvr6+woKKGaOu+eSTT/iz4OXlpVoRDdi9ZnIeyqLuvU6nQ6lSpTjw9vHxwfnz53Hq1ClMnz5d8AY7ywn18vJC2bJlkZSUhIkTJ2LHjh24e/eu6jhiAGPPnj2q585Mrqs+d+5c4bstW7Y4LcxhzdXVFZs3b+bjxc3NTZVqiBnT3yZ6ohX+/fffo2XLlqpeVo1GAw8PD74grVevHq5fv86/L1u2LAe+rq6umDx5Mh4/fswXwqmpqTh58iS/Dm9vbz6G5MU4/y1NrmhWYv8uKwGU/0ArTg9l+ITduH3/IT45l6n4XO9f+v/khaHRaHhxjdFoRFhYGGJjY1GlShWuI1yxYkUMHDgQ48aNE7weTM85MzMTEydOFFb+I0eOREFBAffKEBHPWZTn3DErKCjgHkPmeVGz/fv3K5L+Z82ahXPnzqFTp06CpyMiIgLDhw8XyJMNBoPA/3f69GlIkgQ/Pz9YrVahyAGwT6qzZ8/mE7TBYMCAAQOQl5cHFxcXDoAdwXh2djYvlqlatSqnDmGTD8s1jI6ORlZWFkaMGCFUYTvmdBkMBtSrV0+VU9Lb2xuNGzfGwoULkZ2dzatre/ToAQBFAsqsrCxOyyTn52TnYjKZcODAAaFYJSwsDHFxcYr7wChohgwZohqGLygo4BrpGo0GI0aMEOifKlSowD2cUVFRwvk8fPgQs2fPViyK2rVrx3PW1DzsLBQpLy7z9/fnpPpyYx62yMhI4f4z4Hjo0CFh+/z8fIwYMUJYUE2bNo1fOwOFDKAkJCQ8lX6FLeJYH8mvVavVonnz5qhZsyb8/PyeiQFBp9MhKCgItWrV4n2g0+ng7+9f5Hkw++mnn/ixnpYGAtjHPQNr16/b03xWrFjBx5NWq0WXLl2QnZ3Nn1WdTqfwGkqShICAAL5oU9ONB57IUWo0GgwZMkSha+5MFcpsNmP37t2w2Wx8AccYMGw2G6ZPn87Hs9Fo5IWH8nE9bdo0gUP3/+L9/Vc2FxcXYYFRYv8uKwGU/0B78AdzKNVauVc/gc1WiPXHrwqfh72yC5LeuSrL720///wz16vdtGkTVq5cidmzZ+OVV16Bi4sLn1DY9mxCNJlM8PLy4kU7xVGpaDQahRC4xWJB8+bN0bFjR/Tr1w9jx45FSkoKDyt26NCBe0UcCchfe+01npe2Y8cOXrFqNpuFifrQoUNo0qSJYiJxc3Pj1xofH8/D1MzjmZSUhKioKFgsFlitVowfP15QVHn55Zc50GAa4WPHjhUk8eRms9k4gCKyJ/8zy8vL44UZrLm6uqJTp044c+YMB8GHDh3CkiVLeB+ya1q+fDkHFJ6enop75e3tjVmzZiEzM7NIQAmA85DGx8ejoKCAewslScKOHTswcOBAxMTEKCbNgIAADBkyBJ999hmXy9RoNKre5zVr1vC+LF++POcDlIeGGZULC1e7uLjgyy+/VBwrOzubL3ZYY/KV8ty2ffv2Cd5eBhDUqryZ/GdYWJji/Nl5WywWBeE4YPfcT5kyhQMkk8mEHj16COfHwL0zu3//PqZOnSqMCb1ej4iICFSsWNGpx1JOov0svKrybbp3744VK1bg+++/V10AZGZm8mtiz428elrNrFYrH4u+vr58YWQwGDB48GDk5eUhLy9PSG1hHJpVq1ZFdnY2FixYgEaNGimoxBjZ+qJFi7Bjxw707NlTMe4NBgPKlSuHESNG8EUDI8aXjxXWd/IFqFre85IlS4RFXI8ePXDz5k1MnTr1mSrC/81NkiTEx8eXcFD+S60EUP5D7fdWecdMSUM5lWrutz+/DAAY9MFJ4fPQoauL9SXwxhtvcBqMBQsWiNdSvz4HF0ePHhXCYY4ceI0aNeLatvfv38ePP/6IL774Ajqdju/XunVrDBs2DN26deNKMYmJiQgODn4qp9/vuSY2CTBJtuDgYF5wQmSfxNu1a4fevXsjKSmJT4Bubm7Ci1+j0XBvo0ajwZgxY2Cz2ThXncFggJubG/dyeHp6YtasWYoJl1Gn3L59mxO8O/PgME+lRqNBnz59UL58eWEiLF26tOD9YmHWUaNGCcdZt24dXwgwXWmW1/bJJ5/wsK/jYoCBiClTpjglRGeePGdeL0YiPnbsWMyePZt7lGJiYnDp0iVOWu1YlXvt2jWBlkmuTQ3Yq99ZvzteK2MhcBzDgN3rxfaTJEnw6Hp6enKgoNFo0KZNG6Gq3BFQvv766yCyh94dUwhYkRbr22rVqqn2H9t2wYIFql7kxMRExbYnT55Ex44di6wwJnpCuRMbG8uPrdFoMHHiRNy/f1+QDmSUTKGhobDZbLh16xY2b96Ml156CS1atCgyncLFxQVhYWGoV68eevXqJaQwzJw5k4NdxhagZkzXWu65mzBhAl+Ipaen8+vt3LmzsDD4/vvvFce7f/8+lw9VoyNi/UNECm5JNo7YucTFxeHHH3+EzWbDO++8oyigady4sYJqCgBSUlJ4/8i3NxgMaN68OQYOHFhs7+9/WitVqpSCKL/E/h1WAij/oebIQzl1xzm8+ekFfPCl3cuSdu5nvPnpBbz56QVUSNmLOrMP4N5vj/DBl1eRsjMdKTvTceB7+0N56EIWIibKgOb4HfBuNuQvfSn4+/ujatWqSE5O5t6njz76CHFxcQLJMZEdjAQFBeG1115DqVKl4OHhgczMTE7ezDSFJ06cCFdXV+h0Oly9ehUjR44EkbJye/VqdbDs4eGBr7/+mudcNW3aFGvXrsXChQsxdepUaDQauLq6CrlQLi4uKFOmDEJCQuDr6wt3d/di43tzDLnpdDrExMQgKSkJ3bt3x9ChQzFx4kTMnTsXq1atgk6n4yTaubm5HCT+9NNPwvWnp6eDSNQFlyQJ1atXx4cffgij0Yjw8HC+PSMFdxbyZwCHTW6O18/4A202G3bv3o0ePXooiiFMJhMqVqyIMWPGYN68eejUqZPCG0Rkz5mcNGkSLl++rDgPq9XKq5LZ9bBjs/zHsWPH8sm8Xbt2qp4ORlNEpFTkuXDhAj+v5ORkAdTL896YhOMrr7yiyJuLiIjAzJkzkZ+fz88xKiqKH2f+/Pn8GVHzPrIc0SlTpiApKQlExJkDnN2ftm3bqo6xuLg4BAUFOQXtFotFAHHh4eEKLz0gFpzJ25AhQ2CxWKDT6bj3Xc0CAgLg6enJz6N69eocbMqlUB3HTGhoKN+nffv2gmczLy8P/fv35+PR09OTL9zYYmnNmjV8kcByTpm8p5xLkpGIP/fcc1yyU95HZcqUUQXtZrMZ1atXR0pKCo4fP869oOx65Ma4eevWrQs3Nzfhmi0WCzp06IBvv/0WmzdvFsaURqPhz5MkSahXr94fUtz6o42BajnjxV/RPD098fnnnxcp5Vli/2wrAZT/UJMr5YRP2I0bd5WFEMzqzD6A+Gl78dE3N3Dl9gPkFVjx8NFjXMj8FXM++R5lVAjSi1MpJyIiAgcOHMDMmTP5ZKym7vCsjU0QZrMZY8aM4TrN9+/f5xJ8ISEh0Gq1irwsm83GQ7eLFy92mpDvWHEOPFHaYRMYU11xtGbNmkGSJIF+pGbNmjhy5Aj279+PTZs2YdmyZdDr9fD29sYLL7yA9u3bIzIy0qnHg/3uH50oWE6iY4jYaDTyzzw8PNC3b1/uPX3zzTfx3nvvcQ7BixcvOn2ZM57MY8eOoVKlSsJvOOpuA088zfv27UP9+vWL1HFn508kFrg4szNnzihCf3369OEh+qCgIM7d6GgsbYCFPB09soA9p5Dd29KlS/O0AqaM4+HhgRkzZvCQsNFoxLBhw7Br1y7uwWXjWK7+1KVLF16V6+PjowrcgCfpEIcPH4bVauV67kxRyGaz4dSpU1i8eDG6du36VLodefP19cWQIUP4NZ09e5aP34SEBEiSpArCL1y4IHjnWWMhfUcvsKMx2qAbN25wtob69evDarXi/v373Aveu3dv7pWMjo52CjYdP/Py8sL333+Pa9eu8fxIludqsViE/FX5PalTp46C/9PDw4Pffyb/eurUKZ73/PDhQ36P5MU2rLm7u/NrYMYkSGvWrAmbzQaDwYBKlSrh9u3bGDVqlOriymw2Cwo9X375pVCA9Fc0eYSH9THzljL+UUZP9Wd/w2QyoUGDBvz9lJKSUuQYKrF/vpUAyn+wMS3vZy2+eZYWNn4H/LvMKHZVhQ4dOmDhwoUK2bXiakajEe3atcOPP/6IsWPH8s8diaZZpbAcKDiqoRDZw+aO1rVrV/4iLaqytF+/fvw4bDJnVb1yk/NQAsB3332nymHHWkxMDH7++WcAdtCQnZ2N8+fP4/Dhw5yqJSUlBePHj8egQYPQpUsXPqE73k9W+GQwGP5QGgBTUDGbzXxSlyQJ0dHRQvhePon26dMHb775Jvr166fKjefl5YUqVaoUSaHSvXt3HDhw4Kleiry8PMW+kiRh0qRJRe7HNJCzs7NhsViEqm1HY9XXZrMZqampChBjsVgwadIkhTyhzWbDunXrkJCQoAqGPD09nWpzA0+UaE6cOIHFixdzz5YkSU5pcNjv1KhRA3FxcarbVa1aVVGcxsjqr1y5wj138kppm82Gfv368RSQHj164PLlywKwqVixYpF9DkDgobRarTzH0M/PjwO6WbNm8Xsk9x4CwMWLFxWLEmfvMDnAdnd3x4IFC3D8+HEsWLBAsRgisuf+NmnSBEuWLBFAvp+fHyerZ1y4rFqeKfnIAanJZFKoVBmNRh5uZwo8ubm5ILKTuDsW9VksFuF5DQkJwfjx43Hv3j0cOXLkqdrjxdU0Gg1X5Nq99zPo/UvjnS17ofcvjXqNmvL+Z+Puae8Y9v7QarVo06YNNmzYgAcPHgCwFzmVL19eNZ+0xP5dVgIo/8F2PTsPMVPSig9MvrILYeO2wegT/Je9iP6OVrr0k+r0zZs38/7avn07iJSh2507dwqTB/u/Xq/Hxo0bYbVaOTE5ETkFGQUFBQKPIfM2OHofmDFA+eWXXwoTWUJCAvc2OeqXE9mLNCZPnszDofLqbADIyMjAkCFDBM+KVqvFsGHDEBERAUmSVKk3li1bxoGBTqfj3tIqVapg0qRJGDZsGHr06IGkpCQ0bNgQiYmJKFeuHEqXLs23lU+Wf0Tukv2f0c74+/s79Wa7ubmhXLly6N+/P1JTU5GWloaTJ0/i2rVr3GviKL/pSIkkN0aA3qtXLwDgutZFhWo3b96sOlnOmzfvmUJz58+fB5GYC6fVatG6dWscO3YMp06dwqJFi9CnTx/UqFGDa0KrTchEdsCRlJTEx6tWq8XKlSsFGVEie/HSgAEDoNFoEBAQwD2yRIRy5crh0KFDOHz4MIgILVq04ONMp9Px52fHjh3cCxsRESHkC3777bfC+VWsWJFXWKuZI7E5AEyZMoXv//zzz/PPTSYTypYty/9OT08Xzp/oSU5qTEwMtFotNm3ahHHjxvFoxtPGojw8vmbNGtV7ybhBWa7zW2+9xb/Ly8sTwNQrr7wi6KuzVAfHXFWtVqsAhf7+/px2DLDrsBuNRrRp00ax7d8R6l65ciX0PqHot/QTlBmzVlEgGvbKLgQPXomOszZB7xOquDeO58vC9CtWrMCdO3ee+syU2L/XSgDlP9zU+CP/THOt1PwvfyH93U2v18PX15evmCdPnozDhw/zylkGHIjsHGdZWVkoVepJyJ9NQI0bN0aLFi34dnJbt24dBwUMBLJwmPw3GjZsyD8zGo1C+LNhw4aKVXhkZCQsFosAVOVKJHFxcbx6t1GjRkJFrru7O7p27crVSWbOnAkiQseOHZ2Op5MnTwoekcDAwGcCRrNmzeL7+Pj4oHr16kUqdLA+HTlyJHr37i2kBwQGBqJMmTIIDg6Gj48P97L+0eY4yWo0GgQHB6NcuXKoVq0aGjZsiLZt2/LCofHjx2PevHm8yrpdu3a4fPmyIp/xl19+EXhNiZ4oEz1r0cClS5eE8yoKELBCGKbTPWnSJOzcuZN7zZhyECsqMZlMQl6bwWBAjx49hDHWt29fEBHWrVuHq1evcgUXoieLg19++YVvzwAZA0R6vV7B7ci4YdnvMqJ5jUaDsWPHqo4nR0BptVp54RgD7OPHj+ee506dOuHo0aOC7GK1atXw2WefCWF2SZJQu3ZtXLlyheebOjZ3d3dER0fzZ8dZagkrEKpbty4GDhyIN954g39Xr149fu7Lli3jCyyNRsOjCnJjYgZEdhJ1Z157SZIQHh6OHj16YM+ePbh58yaInhTbyYv3/urWoEEDVKjZEPVe/RDhE3Y/NToWMWEXwifsRsXRK6HzCBDeqUR2Wcj58+fj5s2bz/SslNi/30oA5b/Alhy8VCxgcunBHzBx4sS/5eX0dzatVus05MImDjYBREZGcrDpWCnp5eWFoUOHguiJxN6NGze4d9FkMvFiDLPZjJiYGOE+MTAaHx8v5G62a9fOKVmv/DisWpWI+OeOE59Op0OLFi1w9OhRfozbt2/zanetVovc3Nwix1NmZiYHFR4eHqqFIcwuXLiA8ePHK3K85CTi27dvx9atWyFJEsxmM7p37y4cv0aNGvyaHPXGmTFlGpan9ttvv+Hnn3/GwYMHMWDAAMTGxqqGcX18fFCmTBkOFuTjQKvV/qm8VMcxJg+llilTBq1bt0bXrl0xcOBA9OnTB0lJSahZsyaio6Ph4+Ojmtso5yh0c3MTPFABAQFcSUgtJUMOTlkzmUw8pUMN5Obn58NgMMDHx0cYL3JS98DAQJ4DybztDGCo5Xmycc6AZFpaGr788kueG+nn56fgz3QMebNF2ahRo5CZmcmfF1YwxQpgJElCo0aNhCKtGzduCP3mWHAUFBSEHj164O233+Ya4gUFBfyesBzRrKws7l2rXLlykQVCZrMZgYGBfAwaDAZ+DWoAmuX4ys/NZDKhVatWPM1gypQpSEhIUE0BadCgAd59912eD16zZk1cvXr1L3uHTpw4EeGNuiFmStrvT7MavwORE3bAtVILaLVaTJw4UVAQK7H/HSsBlP8S23ji2h962CMn7UHMlDRsOmEP6z148OCpihj/1ta1a1fk5+fj0KFDmDlzJn+p63S6ZyJklofKXFxcMHr0aD65JCUl4bfffuP3IzIyEq6urvxvm82GxYsXc68PyxdyBJ1yY4obck8nUy1ROzd2fgaDAU2aNMHBgwf5fsyj9Cw6uAxMyIHNmTNnANiLD0aOHIny5curFhAFBQVh3759qpPo5s2bIUkSXF1dFb8hSRKGDx+uyDcE7KCViDBmzBiBn1Nu8vArm9QdPZvst8aOHcvVeFxcXLB27Vq4ubnBZDIhMzMT586dw8GDB7FlyxbuOX3hhRfQoUMHwfMmlxv09fWFq6vrn8o9ZnymZrOZH8fd3R3h4eEKIGMwGFCrVi1MnjwZffr0UVTY6nQ6fPzxxwDsixKmhqRmL730EohEOq/AwEBotVr07t2bA1/5tQUGBqoei1En1a5dG+fOnQORyBM5adIkDuqbN2/OFysMUNpsNu51HDhwIN9P/jm7l+3bt+cLsa+++gpDhw5VkIgTPVlEqFWos4p6Nh4c6Zvu37/P2RPklpmZKaRiFJX3y8QZateujYYNGwphbp1Ohzp16mD79u382EFBQQLAB+xpLLNmzVJ9T5nNZrRp00bwehZXc3NzQ4MGDVB74Gt/zmHxit1b+dan6opMJfa/YSWA8l9k17Pz0HPV8WcKR7Dve646juvZYoU4o8gp7pfT/3WLjIzkYe7BgweDyM7lx8DPqVOn+GTNXvY+Pj5Fgk1JktCgQQPMmjVLCKMzjXGr1YqUlBQObgwGgyCV6IyKB7Ar8BDZixEOHDiAJk2aKDwa7P+tWrVCXl4epk+fLuSQurq6omPHjnzCe5oaCQtdt2rVSiBAl0/M7Dri4uJ4uC04OJjzaxZla9as4YCAHatChQqC6k///v0F7kXmmd2xYwcA8N9MTU3F7du3eSETC7+Gh4fDZDIBAH777Te8//77aNOmjcKLajKZBJA0fvx4xfkyiiU5CAgLC0ObNm34OCmqitrPzw+tWrXCkCFDMGfOHKxfvx6rVq3C4MGDhUVAZGQkGjRowPNSw8PDeR8ZDAYYjcY/VDwlD1+7u7vD19cXISEhiIqKQnx8PGrWrMkJ93U6HUaOHMmLfpo0aYKdO3cKfJnyeycPhQPAlStXoNVq4ebmhvz8fNhsNu5BlFtmZiZXTjIajViyZAkHlAzA9+zZE4BzHk2NRoNGjRqhTJkyiiKXcuXK8fxG1hh1lZqxVAGDwaC6EGKk9iz6AACdO3cGEQl0TOHh4Thz5gyysrKwZcsWTmHl6urq9N6ZTCYhjP7OO+9Aq9WicuXKivO4cuUKiOwpDSx9p3z58n+KMaOo5uPjg6CgIDQaMKVY06qY86LE/vesBFD+C+3SrV+RsiMd9d88qEiYjpiwG/XfPIiUHen4IetX1f1/+eWXIulr/s3NbDbzEGtMTIzgEbt69arAgyefXPLz84XCnKKawWBQcDKazWZMnDiR8yFWqVIFRKSoVpUbmxTlwLF06dJ48cUXuaKGnB6nVKlSvJjnl19+wahRo4SqejapsWpZRzt9+jQ/fzmgkbe4uDjurZw3bx6InvAlsurhp5m8Cv6NN97gn69atYp72rRaLTp27Ijbt29zgnNW9Xn//n1YLBYexiey54/m5OTgl19+ARGhWbNmqr/N8gtbtmypWuDi7++Pfv36YerUqWjUqNFTnwOTyYRy5cqhXbt2mDJlCnbt2gVfX194eXnxUHPLli2FsXT8+HHodDruRSRSV8rJzc3lhVWLFi3C6dOnBTUp+fhi/w8JCUHLli05yGDjsGzZsoiMjBTyUhmN1J/xqup0Onh5eSEoKIjfi7Jly6JRo0Zo164d9Ho9LBYLJk+ejHnz5uH999/Hzp078eWXX2Lp0qV8oSNPS2G66VOnTuV5hazoTC3Fo3Llynj55ZcFPfJmzZoJ416r1So035kxwQVJklT5TR89egSTyQQPDw/YbDZs2rRJ6Ft2HnL79ttv8dxzzwnnykCxq6srD1UXFUZnOZt16tTBwIEDhTQEPz8/XL58WVisFmczGAwwGAyoWLsROr59FKnHfsLFW78ir8CKmzm/YdeZDDScd+jJvDJxN1768Fvs++4WMnJ+Q16BFRcyf8Wbn15QFI7GTElTODFK7H/DSgDlv9wePLQiPeMevrl2F+kZ9/DgoTKkqGbDhg0rNlWZf2ILDQ0V5Ox27NgheP8cPYdLly5VgAuLxYLNmzcLyeb+/v5Fqozo9Xr4+/sLMm9t27bleVs3btzAgAEDBI+Mv78/Ro0aJVDJvPvuu/z7SpUqYdiwYRwYdOzYkV+bzWbjwEGeyhASEoKXX34Zqamp6Nixo4KP08XFBQkJCTCZTHB3d8f9+/c5FUxcXBzefPNNPkmyMCLzaKrJHDJzzEv19fVV5HRu27ZN0FC3WCzQ6/X8+1OnTnGwJkkS9u7dy78bM2YMiEhVXQR4Aprj4+OxcOFCHup8lrHeoEEDTJkyhctryiuN5Va9enVotVoUFBRw72mpUqWQmZmJ06dPc0nIY8eO4fLlyyBSB5SAnQdSzQM6cOBADr7r1q2LBQsWoGzZsnwMGI1GDlLCwsKc3g9mhYWFArBhY1in0yEpKQljxoxB37590aFDBwGssSZXofmzealPuxdarRYVK1bkYLR06dLYvHkzjhw5gu+//14oYDtz5gxOnToFvV4PnU6n4B8tKCiA0WiEm5sbJElCUFCQqpeSFWhNmDBBuLZ69eph9OjRICKsXr0a/fr1UxC8u7u78+fF29sbd+/e5cVPcsvKyuLHKl++fJFgU/7Zn10UOGs+Pj5o9voOpJ37GVm5+XjviysYv/UM3vz0An75NR8PHlrRbMHnCJ+wG2Vf/QQAcOraXczdewGvfHQGm09ex2NbIY5dvqOIjvVcpc4DW2L/3VYCKP9H7cqVK3/JS+qf0gIDA3nO47hx4/gkfODAAc7rt3fvXly8eJGDDldXV2zevBlnzpzhYTaWy7d582Yhj4qB05YtW+Lzzz/HrFmz0LlzZ1SpUgX+/v5PJZtmE7PJZHKqW8uS/jt06MDvGfPAsdxAdm3z589Hfn4+r/h2bOxeN2/eHBkZGfw3GG8n80oyCUbWH3KQyzyWcoDHLC8vj8sdRkdHC+cRGBiokBcE7Prnchm8GjVqcDDDNH2J7KTlzIKDg+Hi4sJlBBcuXIjevXujevXqCA4OdsrT6O3tjYCAAIU8pCMNEvOS6fV6ZGdnq96XQYMGgYh4PzIPmMFg4BKhn3/+OQCoAsqcnByMGzdOocjCxkVISAhf3DiS66vpbxPZSdPlHjw1e+edd4R9HPOC5cZSOlauXCnwuLZq1Qo3btzg27HQ8PHjx3HgwAFs3rwZy5cvx8yZMzFu3DgMGDBA4XV1bKz6/Y+8jzQaDSf1l4+3mJgYVK5cmXvwExMTeXFdhQoVsHz5cmzevBkHDhzAuXPnkJmZKRT6WCwWpKWlIScnh/ORsubp6YnevXvjypUriI6O5s+6h4cHTxNQA5TAk/C6vA/379/P3ydM1pONx7/qHW2xWNC8U2+ET9iN5OVfIGqymELV4M2DePjoMbZ9cxPhE3YjavIeJC//QhHenr/vAgCg+7tfKr5zFiErsf9eKwGU/8PWpUsXhbLKf1tjVaOhoaE8wT8nJwdarRYWi4W/sLt37y6Ex7/++mt+DPlEU6pUKUExxGAwqKqyFBQUQKfTKbwPDHQ4nqfcs9m5c2e8/vrr3DMqSRIHfACwcuVKYQJluaCOx6xQoQLnpWSfVa1aFR988AH30jDA06lTJwDA2rVrhclaLmvJijAcvW3nzp3j3tGuXbvCZrOhUaNG0Gg0mD59Ou83NeDMZB3l12M0GrFlyxbYbDYe8m/UqJFC1k7edDodvL29Ub58eU6azUKWHTp04IsBs9mMQYMG8ZQEo9GI8ePHw2w2K0CNTqdDmTJl0LdvX+zfv5/32bp160AkqsPIwRrjuZT379ixYzFnzhy+eGHn17ZtW5w8eRIZGRkCrYzBYCiSXB+AQMXEmp+fH4YOHapgFfj888+FPt6/f3+Rxz5y5AiI7MVKLDwqP/c6derg/PnzPP9VXnSSnZ2NBQsWoFGjRoqxLu/f6tWrC7yE27ZtAxFh4cKFyMnJwYULF3DkyBGuFc4a867WrFkT9evXR0JCAsqWLSsULpnN5t+lIOTYnIG5MmXKoFatWmjWrBk6dOjAnzudTofXXnsN69evx6effsrD148ePRL6tWbNmtBqtfxv9nzIW0hICNauXQsA+PXXX6HRaIosCvoj1xYfH48Wk1YVmYt/9uY9nL15r8h8yeYL7GkGr+5IV3gpU3akFznGSuy/z0oA5f+wffPNN8X2kvonN3d3d0ycOJHnT+3atYt7BHx9fXH27FlF35w+fVpBmr169Wr+/YULF4QJOiYmBmlpaVi7dq1CIaV27dp84pk2bRoAO6glsoe+nn/++ad6NiVJQvny5VGxYkWEh4crJhiz2YwWLVpgxYoVvLJ11KhR+Omnn6DRaGA0GlGhQgU+Ser1ejRo0ACffvop/Pz84Obmhi1btvAQ9GeffaYAiawIo3Hjxrwf3nvvPe5hWrZsGf+cAUoAnKoqIiJCES7/9NNPhWssKqeRnXvp0qXRvn17TJkyBXv27FGlSWrQoIFiDMycOVMId27atIn3ozyNoV27dhg/fjyqVKkiLCY0Gg3CwsI4N2Xv3r0B2HNz2XbsOE2bNoXVahW4DFm/169fH2lpacL5Wq1WQWP8aVKGjIQ8JiaGF2k1aNBAyLcLCwvDyy+/jMaNG/PP2PhiC4iiTF5swsDtyZMnBSDLFJxq1aqF2rVrO2WQkCQJHh4eAOxjnxUC6XQ6zJgxAwAwatQoEJGCq3Xp0qWKsS5nWJDbvn37uPY1ozfatWsXALt39/Tp07wAasGCBejevXuRRXlGoxFeXl78/rLQ+h8h9ZeDay8vL9XfrVGjBnr16oURI0Zg6tSp3OvfpEmTYnsfms1mhIeHI2Fa0cU1P9/7DYcv/lLkNj3+f2h75MZvFN/Vf/Og6j0qsf9eKwGU/+PWpEmT/+pcSvYyd/w/80D4+voK/eEYhiUinm+q0WiwdOlSvi2rlmWUPfJWqVIlXikN2EPCzIMyZ84cpKWlgciuuOJo+fn5vLClVKlSz0R5RPSkgvrQoUPw9fWFXq9HUFAQJEnCkSNH+LFnzZoleFnlE53ZbMaVK1f4OcvD2Dk5OfDw8OAUNYw029XVFV9//bVwDXJAabVaOR2Sm5sbqlWrJhR5yJtOp4Onp6cAjJjnTqvVFlnkBNjBCqu+ZfdZDnQdraCggEtuEtlBoyO10bVr1zBt2jTUqFFDQU7t7+/Pr2PDhg2wWq2oUKGC4rr8/f2Rmpqqmr9348YNBUG5RqNRgE65vffee3z8ZGRkcDqi3NxcHDlyBC1atBDuK1vgrF27FmXKlIFGo8GtW7eK7EsGVOUqNoA99WLIkCGKvmAcovKqZJPJhKNHj6oq5Xz66ae8Mj80NBRVqlThYwaAoELl4eGBI0eOcK+9p6en01SRHTt28OdcjZWAPXtqdEns/7Vr1xbuVV5eHiRJQs2aNfkxWGoEEaFfv3745JNPsG7dOixatIiTtvfp0wfJyclo2rQp91r+X0eF9Ho9TK4eCP//xORqbfSm0wCAcVu+LRJQ/ufSL8jNf4T4aXsV30VM2P3MOf0l9t9hJYDyf9wYdc1/e6tbt64AJh0n++bNm/NJXZIkNG/eHEePHgURITk5Genp6dz79Pzzz+PUqVMK2URXV1c+cfv5+QmAEhCrepnXSC5nx0jEGcG3HAywyW/QoEE4cOAA92aVKVMG/v7+RRZJ+Pn5oXPnzpg5cyYOHTrEJ+Ls7Gy8+OKLAgBwd3dH3759cfXqVX5erBrdYrFwGUZ5AU9ubi6sVitOnjyJBQsWoFevXhwQOstpZNfHznvbtm0KT2Nubi569+4tAGo/Pz9VUJaRkYHWrVsL/cBC3lu3bi3yGcjLyxM8kR4eHkWGm7OysoqkipE3dj7OinL27NnD7y0DcOnp6bzoxlnxUdWqVaHRaLjHl4Xhq1SpIuQFG41GDm6InlBZERVNtSN/Lzz33HN48cUXUbFiReF+arVahIaGOvXWRUZG8nulBigBO2iUF5zp9XoUFBQgJycHUVFRILKTjrMcXHmOr5eXFy5cuKB6/iz/1mw2C/mKNpsNvXr1Uj3frl27oqCgAGFhYdBqtYoc2ri4OGi1Wnz22Wfc689op5o3b47CwkLcvn0bWVlZPIeyoKAAN2/exG+//cZD+qyFhIQgPT2dV4uzZ85qteLWrVucrWL69OlOc6P/aNP7l3YKEhvPP4Tc/Ef4+updlJ7oHEzO2fs9AGDyx2edbpOecc/pGCux/z4rAZT/41ZYWIhKlSr9V/JSOjYPDw988sn/r1Y8dUqRbE/0RAqtT58+2LdvH/z9/Xl47fz58wquQyJ7LhebfPLz8zFs2DBBmm369Ol8Yr17965QJTpixAgFiTgDKgEBATx3Ly8vj4OY48ePQ5IkBWn6tWvXOMiVT/JqHk69Xg8/Pz8+abN95KHf4OBgvPTSS7h79y4++OADxRhhPHZqoJH9fvny5dG+fXtMnToVW7duFTxxr7zyCsqWLftUKqKCggLExMTw/cxmM6ZOnQqbzYYLFy6gXr16/PdiY2M52Gb0PWpARm7Mw8yIo1n/161b12lhjlwOT379zsBVeHi44lgsFcBgMGDv3r0IDw+Hm5sbAODMmTO8WlyuigTYAYdGo0HFihWFzx1pbFheMJMkHDlypJD2QGT3xDmq2hw4cMCp9zg6OhoDBgzA4cOHYbPZsHXrVtXxpdFosHDhQn5MZ4CSGeNgZP0pX0DJzcfHB56enliwYAEXD1i/fr2wDVMUYoVL7u7uOH78OFq0aKHqjSQS5Ur37dsHIiW5PkslYQT177zzDl577TW4uLhwxSb2PRsTzuRJe/TowYGuxWJREKuzayhXrhxOnz7tVFbyjzZDUIwqAEyc+Rmu3nmAmzm/odrrnzkFisPXn4LNVvhUaeBvrt11es9L7L/PSgBlieHDDz/8y8HcP6GFhYXBarXCZrNh9uzZgmcuLi4OY8eOVeTN8RewLLeR/Z9tx3R35Wa1WoVcK6PRiE6dOqFfv36Cx4gdLy4uDkOGDMGxY8cwfvx4ED3J/WJ25MgRSJLEf/+rr75SvZ9yyiEiQv369VFQUIDDhw/jjTfeQJcuXVClShVVcMzAwLMsMFghTIUKFThoZDmN8pA3ACxZsoSDZgaoWQj5aWTpAODl5cWpX9QAQZUqVXDixAlOG1S7dm0A4IuGd955R/W4TP+8TZs2uHPnDojsVDHMI6TT6QRez9u3b/NKXda8vb3xwgsvcA9Tfn4+UlNTkZSUpOhjd3d31KpVi9MmBQcH82pxk8kkeLRPnjzJ+SxPnDgh9KXjNe3cuVNIE2Ag69q1a5AkSaBAysvL4xKP8ntpsVgEICmnovrwww+FfluxYgWvoGb3gcmWurq68nvt7u6O6dOnw9/fv0hAyXKK5dXrYWFhgneReQO7d+8OADh27Bj3Qg8ZMoRvx8D+0aNHeYGWvMXHx+PKlSvYs2cP/8xRYYdRNF279oSk+7PPPuPbs0jDn20sh5cxPqgV8v0VzTU0TgH+KqTsRXrGPdzNK0CTtz4vMm/yofUxPjt/66kCGyUeyv8tKwGUJYbHjx8LBNp/R/u/yiPS6/UckLm4uOCll16Cp6cnjEYjDx/m5+fjlVdeUQVcjMuuatWqfCL19vZW9KnNZuP8d47HcfT+bNq0Sdg3NDTUqdeO5VZ6eXk5vZ/MmycvTHn++ee5l9RqtXKPoyRJiIuLcwoui2ouLi6YNGkSDhw4oMhnY4BSjZYJEL1pT5OLPHPmDIjsRTBjx45VHUs9evRAbm4uypcvD0mShPChnLRabqdPn+Z5tCxvMiIiAkajEYA9HM0WHR4eHgIfKWuOtD6Oxqq85drUjn2YkJCACRMmgOgJRRSzo0ePck1yVulfoUIFaLVaWK1WZGdnC0pC48aNg0ajgYeHBwoKCjgwPnnyJAD7s75jxw506dKlyAKooKAg3LhxA+fPnwcRoVu3brDZbJg1axb3YhsMBgwcOBALFizg+4WEhCA/Px9WqxVTpkwRPHRms9kphykjE2d9zYp2NBoNXnzxRdhsNp7rKg9zZ2dn8wVa5coN6FayAABfPUlEQVSVeahezWuu0Wjw3Xff4ddff0V6erpQ2BYcHIyJEydi6NCh6N69O+83V1dXREdHCyTnf1UzmUyIiYnhHvOAgACMGjUKKSkpiiKzP/sOjC1fUUFGfvzKHeQVWJG8/KhTgNh+2VE8eGjFyZ+yFYTmJTmUJVYCKEsMABTVqH9VYwULs2fPBhEJk9qzFp8URwsNDUVWVhaAJx69Bg0aCOF/vV6Phg0bwtfXF0ajEXPnzkX9+vVVpdD8/PzQv39/tG/fXqHQYrFYkJCQgKSkJMGzERAQwOUBt23bBsCen0dEaNGihep9qlq1Kt9fLTeQeeT69OmDEydOcJ5JoiehOsdzZ55GRlg9depUpKWlITc3F7dv3+aqHyaTyWlOJOsvPz8/VK5cWeAuJFLSMgHgQCgiIqLIscmIrIOCgoRjvvLKK1i3bp1Ar0REQhU6AKSkpICIeDUxYAeaXl5e0Gg0SE9/Qm/CCK63bt2KFStWCPrSRE9yIhn5eY8ePYo8dzkPJVMEIrLTIPXs2RMREREKr2DFihXx4osv8vzaAwcO8Jw9BoITExMxY8YMvjBr0KAB97IxKh/mqYuMjMRzzz3HC7TYbzGQ5Ovri6tXr/IcP/k2pUqVgtFoFNShXFxcMH78eH4/GRg2m81c7YgZk1aU50j26dOHa3wDdlDIvKsVKlTgi5OjR49yDksPDw8YDAZYLBbMmjUL48ePx6BBg9ClSxe0aNGiWGl1/q8bG8/Xr19HQUGBQOReXK18+fKIn/QRwifsRumJu7Hvu0w8emxDn/e/KiK38nNkPyjAhcxfVYtwSqq8S6wEUJYYAHAqlL+qMQ5BRhPz0c7dMAVFYdL8lfCNrgxP34C/9PfljdGeMM+WPOFdkiRUrVoVa9as4R4tRlwtr7rNyspCz549nYJgd3d3aDQalC5dWtHXkyZNEn6PgZS0tDSMHDkSRMSJseV27NgxENk5AE0mE/R6Pfbu3Yv58+ejV69evNjiWdvrr78uFMKw82KcgqdOneIepr59+/LtPDw84O7uLsg+SpIEd3d3eHl5OeXZ9PPzQ6VKldCpUyfMnDlT0GNu166d6rhcvnw530an06Fbt264ffs2fHx8BH7OtLQ0/rtMf53Rz9hsNri7u8NsNnMQxPIl586dK/ze5s2bhfPWaDRISEjAnDlzOPDT6/XYsGED9Ho9KlWqVORzxQAlA3d6vZ6PmQkTJvDzY5XpYWFhwphi6RCMUYBdI0sb8PLy4nnBAPDgwQOsXLlSoeZCZAdl9erVw9y5c/liiuXmMW+sRqPBhQsXeM6hI3VW69atBW/04sWL+fdVqlTBmTNnsH//fmzcuBFLly7Fa6+9hhdffJGHc+WpIxaLRbHw+LMqPI7Nzc0NlStXRr169binnPVvmTJlsGLFCmzZsoV76D/77DM8fvzYaW7o39n+yt/X6XRIHDwHkRN3Y/VRO6vDvu9uYfSm04oWPmE3yr36CW7m/IbHtkK8kXZesY2jV7OEh/J/00oAZYkBsCeiy+UCieyh2T+r1CD3yBn9I5A8cwMiR69VXdGGDHkX4R3GQe8T+pe+qGfMmKGg+mEhSXlyPrPs7GwQ2alzmjZtqkoiziZwSZLg7e0t9Jubmxtq1aqFmTNnIiMjg8sHrl+/XuEBc3d3h8Vi4b9ttVpx4sQJzJ8/n3txAgICipxsYmNj8dxzz3FP49mzZ0FEiIqK4pO1VqsVPHaAvaqayJ5DuGzZMp5L+d577wnbVaxYEQaDAQBw4sSJIkOnLGezatWqTnk2WV95enqiU6dOmD59Ovr27SvkBJYrV04AMufOnYNGo4G3tzesVisHgs2aNeOKKET2xcOpU6ewbNkyENm5ORkJeZ06dQDYgXqrVq0U3td58+ahoKAAVquVFy81adKEX69Op+Pcis6MhYyJnsgzZmRkcJWcevXqwWq1onHjxpAkiS9iTp06hZEjRyoKtuQtKSkJWVlZnETcWdrC1KlThYVDfn4+rl27hpMnT2Lz5s28uIWdT5cuXQQVHzWA90dVXOQLKLXPExMT0bBhQyQlJaF79+4YOnQoJk6cKBRlyTkdJUlCbGws5s+fr3guk5OTFfeD5XlKkiR4SS9dugSNRgNXV1debf9PaWo53X+2SZIES3AUwifsxpc/3lH0k9zCJ+xGndnqbAPMtnx9XfE+L1HK+d8zCQCoxEqMiHJycqhTp040atQoMpvN9NVXX9Hx48fpyy+/pJycHCIi0uv1ZLVan3osDw8P+vXXX6lcuXLkExZDP3glkiGsEqHQRpJG63Q/jURUCCLNL5foxkdz6HFuVrFdn6MFBwdTYGAgffvtt1RYWEguLi6Un59Pt27dIiKi1NRU2r17N509e5Zyc3P5fn5+fpSQkEDJyclUrlw5qlevHk2cOJEqVapEPXv2JJvNRm+88QalpKSQwWAgDw8PysjIIPaoaTQaKiwspEmTJtELL7xAubm59Pzzz9OPP/5IRESSJJGXlxfl5eVRQUGBcM6SJJG3tzcFBQXRr7/+StevX6e2bdvSjRs36Ntvv6U1a9ZQ7969FdfaoEED+s9//kNERJMnT6bly5dTTk4OhYaG0vbt26lq1apERBQVFUVXrlwhAOTh4UFHjx6lChUqCMfq0aMHbdiwgXJzc8nd3Z0ePnxIUVFRlJGRQUREOp2OHj9+TEREgYGB1KVLF5oyZQr5+voSEdGjR4/oxIkTlJycTHfv3qVKlSrRuXPn+D5qVq5cOSpXrhxVqlSJateuTbVr16bFixfTK6+8Qi1btqRvvvmGcnJy6N69e+Ti4kLff/89DRw4kL744gsiIoqLi6PMzEzKy8ujwsJCMpvNlJSURJ988gn9+uuvRERUqlQp6tWrFxmNRpo2bRqtXbuWunfvTuXLl6cLFy7QsGHDaNmyZfTbb79Rp06d6JNPPiEiopdffplmz55NGo1GOOeffvqJqlatSvfu3aPSpUvT5cuX+TaFhYXUqlUr2rdvH/n7+5NWq6XffvuN7t27JxwjLy+PsrKyaP78+fT2229TUa9rrVZLZrOZTCYT3b17lwoLC/l3Op2ObDZbkfurmUajIYPBQAUFBQSAPD096bfffqNHjx7xbby8vMhqtVJeXh5NmTKFvL29ydvbm3x9fcnPz4/8/f2pWrVqpNFo6NatW1RYWEjPPfcc7dq1iz8LREQuLi507NgxqlSpknAOP/zwA5UtW5YKCwuF8/fy8qL9+/dTREQE1a5dmy5evEiSJNHkyZNp8+bN9MMPP1B8fDwdP36cXFxcqLCwkIKCguiXX34hIqIyZcrQhQsXSKfTERHR2LFjaeHChb+rf/4uMxqNBEDo9z9jBoOBzGYz+XSaRhQQQ7bC4oMBWo1EtSN9aG3/GsV2zBL7d1gJoCyxpxoAunbtGp04cYK++uor+vLLL+mbb76hgoICkiSJNBoN2Ww2vj2bJF599VVaknaKfFsMI1shyPZ7RhoKSUIh3f3sHfr19N7ivyiyA8pu3bpRr169qHPnzvTDDz8QkR20scdCkiQKDAwkd3d3unjxIm3cuJG6du3Kj1FYWEg6nY6aNm1K+/btox9++IFq1qxJd+/eJa1WS1FRUXThwgV69OgRLV++nNauXUvffPPNM52fXq+nqlWrUsuWLWnJkiV07949ysnJIXd3d/7bkZGRdO3aNSIiat++PW3fvl1xnFu3blF0dDQ9ePCA/P39KSsriwoLC2nEiBH0zjvvEADq1KkTLVu2jMqWLUt3796l0NBQunDhArm4uCiOt3z5cho+fDht3bqVIiMjqX379nTjxg0yGo1UUFBAZrOZwsLC6OLFi2SxWCgvL4+IiEqXLk39+vWjcePGkdlsJjc3N/Lz86OzZ8/SiBEjaM2aNURkBz/NmzcnNzc3+vDDD0mSJNLpdIrJVK/XEwAORGvUqEGzZs2i2rVrk8lkIiKiGzdu0KBBg+jTTz9VBVO+vr7UoUMHevXVVykkJISIiB4+fEguLi5UtWpVevz4MZ05c4ZeeOEFWr16tbBvp06d6KOPPiIi+yIjNTWVIiMj6fbt27Rr1y6aP38+B0sVK1akcuXK0a+//koPHjygvLw8ysvLo8zMTL5YkSSJ9Ho92Ww2BXj6I6bX68nV1ZVycnLI29ubEhMTyc3Njdzd3cnT05M8PT3JZrPRa6+9JuwXFxdHy5Yto8aNG/PPRo4cSUuXLqXDhw/TrVu3qEuXLqTX6yk4OJiPPyKi1q1b0+uvv06VK1cWjhkYGEhEROnp6ZSYmEjXrl2j6tWr0+HDh+nEiRPUoEEDvm25cuXo9ddfpwMHDtCHH37IAaDJZKJevXrRpEmTaPLkybRx40YCIDyvGRkZFBwcTIWFhdSzZ0/auHEjubu709GjR+nVV1+l7du3U0pKCt25c4eP9/T0dNq+fTt17txZAOH/7RYQEEA7D35BvTZeooLHxXfdRp2G9o9tQKHeyndHif13WwmgLLE/ZI8fP6b09HQOMr/44gu6ePEiEdkBQatWrej0owDSVnnuT/wKiEgi8w/76cJHC4vhrEWTe9IczdXVlRYsWEB9+/YlnU5HDx48IHd3d6pVqxb3ejHz8PAgLy8vunz5Mp06dYoOHz5Mc+fOpezsbCKyewPUPAvu7u6k1Wrp0aNHlJ+f73Qy8/DwoNzcXOrfvz+tWrVK+O6TTz6h1q1bExFxj6Hc7ty5Q9HR0XTv3j1KTEykr7/+mrZt20bJyclEZPeitWnThr7//nthv2rVqtGJEydUz+enn36iyMhIioqKosuXL5MkSTRkyBBaunQpbd26lXr06MH7FQAdOHCAZs2aRUePHqVHjx6RJElUvnx5Sk9PJz8/P7p79y7ZbDYOOm7dukWjRo2idu3aUdOmTWns2LH01ltvcc/m0aNH6cyZM3Tp0iW6ceMG3b59W3GOer2ePD09KTAwkB4/fkw///yz4GXW6/X0wgsvUOfOnenOnTuUnZ1NOTk53Mv54Ycf0v3794nI7gnz8/Oj/Px8evjwIT169IisVisVFBQIC6lnMbYA02q1pNPpyGAwEAB+bl5eXmQ2m+nXX3+lvLw8AVRqNBoCQG+88Qbl5eXRjBkzyNPTk65cuUJWq5XWrFlDu3fvpiNHjgj7sXHer18/Wrx4Mbm6uhIR0dGjR6lRo0bCMzBu3Dh68803Fed969YtCgoKoqpVq9Lp06fJbDbT+fPnKTw8nO7evUtdunSh/fv38+29vLzoueeeo5SUFAoPD6fAwEA+zh8+fEhjxoyhBQsWEBHR+vXrqWfPnvTaa69RamoqXblyhR/HZDKRh4cHZWVlUVZWFvn7+xMR0dmzZ6lFixY8mkCkvqB6++23acSIEQR7ehclJCTQ119/TUREAwYMoNWrVz9z1OW/ycxmM/3888/k6elJm05epwnbzhXbsed0iKcu1cKK7Xgl9u+xEkBZYsVm9+/fp/fee48WLFhA2uh6ZEvs+vSdntGkE+vp6sGNxXY8Zo4hPeE3JYlGjx5N8+fPJ41GQ3FxcXT58mU6cuQI99JeunSJvvnmmyKBhSRJVKdOHWrSpAlVrFiROnbsSD169KB169bxbS5evEhxcXEUHR1NVquVrl69qjiOwWCg3r1709tvv809dgEBAZSbm0sAKDExkU6ePMm3v3fvHkVFRVF2djYtW7aMevfuTV5eXuTr60uZmZl8uyVLltCoUaP430ajkaxWK1mtVkUYl+gJACAiKlu2LO3Zs4dKly7Nv//xxx8pLi6OHj9+TElJSbRjxw7utd68eTPNnj2bzp49K/ze2LFj6Y033iCr1UpxcXF05coVCg8Pp2vXrtG3335Ljx8/ptu3b1N2djZlZ2fT3bt36d69e/T555/TmTNniMge8vX19aUHDx4UCdB/rxmNRg7+jEYjmUwmHlo+ffo0BQUFUY0aNejIkSN8EeHi4kLLli0js9lMXbt2pVGjRtGCBQsU/Xn8+HGaPn067d2r7oU3mUw0f/586tSpEwUEBFCTJk04cFu0aBGNGTOG/Pz86PLly+Tu7k6rV6+mAQMGUN++falatWq0fft2OnXqFN29e5cf02KxkM1mo4cPHxIRUXh4OH366adUpUoV0ul0dO/ePdX77ufnR3fu3CGTyURnz56l6Oho/t3NmzcpNDSUunfvTjqdjnbu3MnD98HBwfTLL7/Q48ePSafT0aZNm6hjx45EZF+YNmzYkL744gvuaWRpInfu3OHPpLe3N2VnZ9OjR4+od+/etHnzZpIkiQYMGECpqakcENapU4d27txJ3t7e/Nz27t1LrVq1IiKi7t270/r164nI7uGvWLEifffdd88yDP6rbMOGDdStWzf+99JDP9C8fZf+9HFfbh5LwxtF/enjlNi/1P7qJM0S+9+z72/8gujJe1D21U+wcP9FfH4xCzl5dv65lz5U14aNmLgbkz8+i+8y7iH/0WPczSvAF5dvo+XCwwh/ZRdCX/oIZl8lD+CfbVOnTgVgr7RNTU1FlSpVFNuw4g9n6iGs0KRt27ZISUnB3r17cf/+fVgsFoSEhHCC8zfeeANbtmwBESn0pZnWNaOwYXrDrIDBsQDC3d2dFzy9+eabaNeuHYjsMm0AcP/+fU65ItcLZ6TcK1euhM1mQ8eOHUFkL4g5deqUoMjRrFkzgbvxxo0bQuGWY0FKXl4erly5guPHj3NpRiJ7UVK/fv2QlJSkoFxyLNDQaDTFqi1vMBgEuqGgoKAiq4i1Wq1Qpc7UipzpRhsMBsTHx+PSpUu8KISdf2xsLA4cOAAiO22QzWbD/v370bdvX5QpU0ZRDV+6dGmhMGjIkCEoLCwEALz44osgIuzbt0/4/Tlz5oCIEBgYiAcPHig4VZnt2rXL6TW7u7ujdu3anAScPRNyO3jwIN/eGUm8VqtFjRo1+N8nT55EUlKS0N/h4eGYPXs2Nm3ahJo1awr3unr16ti0aRMfc/fv30ezZs349y4uLvxZi42NxQ8//IApU6aAiPDqq69yrkadToeZM2cCsBe1sQIjRi2k0+mKpL/6b246nQ4NGzbk40puG09cQ8yUtKeSlTu2yEl7EDMlDZtOXFMcs8T+t6wEUJZYsVvPVccROWkPrwy8cTcPxy7bKwmdAcotX1/Ho8c2bDpxHeO3nsG0nenY8vV19Fh13L7N+B3w7/Jasb5cmQpIy5YtkZiYiKCgoCIrltnEGBQUxEEjAMybNw9EdtqfR48eITs7Gw8fPoTFYkFcXBzOnDnDwQZTAvnpp5+EPvP09FQQpH/00Uf8t69evYqrV6+iSZMmCsAlSRICAwP5ZHvw4EE+ibKJldmjR49gMBjg5uaGkJAQDmSWLVuGOXPmYMKECRycsgkoJiZGoKGRKwD9USYAto+7uzt8fHzg5uYmXJcchNSpUwfTpk3D4sWLsW7dOuzduxenTp3ius5ly5YV7ltISAgWL17MKYIYXQzT5z516hSI7NKK+fn5GDJkiAJgqF2TnPqoY8eOmDFjBnx9fWE2m3mfzJ07FwUFBQLnJJEdVMuvyWw2o0qVKhg/fjwSExMhSRK/huDgYF7JzLhGQ0JC4OLiovq8TZs2DUTECccnTZrEv2M8kPIKaMZ9qdfr8dxzz6FUqVKK601ISMCkSZNw5coVTq7OAHCjRo1Uz8PX1xf+/v7871u3bnFORa1WqzpWgoKCYLFY4OPjo3pMRnAupxcyGAyYMGEC8vLyYDQa4eHhgdOnT2Pp0qVo3rx5kQuSP8ta8W9vOp0OFy9eVO1rALienYee//+d+zRgyb7vueo4rmfnOT1mif3vWAmgLLFitUu3fuUvnOjJaUicadeDTVpyBIA6oBy2/hQAYNAHJ5+6Gtb5FL+Xkr1ofXx8EB8fj+TkZA5CNmzYgOHDhytoerp3745Tp05h48aNmDt3Lojs5NIMmLi4uHCZRDYRy48xe/ZsfPrpp3jw4AEHOHKuRwBcgpEdb/Pmzdi8eTOmT5/+TBOlRqOB2WyG2WyGwWAoFn4/Ly8vhIWFcTBes2ZNtGzZEp07d0b//v0xbtw4zJw5k9O8OJKRv/TSSwCAqKgoVYCUkZGBwYMHK7x3derUwa1btwDYqXiYZ5W18PBwjBs3DgaDAQaDgfMsMonB/v37C79To0YNEBEnDwcgeKe1Wi0nkW/dujW6du2KhIQEBAQEqFIfEdnBcVhYGIKCglQ1nGNjYzFt2jRBzu/SpUscAFksFq6a9Pnnn/OxxPg627Rp4/S5Y2NFkiTk5+fDZrNh6tSpnHrJZDJh5MiRguyn3Ntps9mQlpaGmjVrOh1P3bp1Q0hICAwGg0J1CAASEhKg0+kAAPv37+cAOSYmRjiej48PAgIChM9cXV054GfGNMvZNrVr10br1q2fys+o1WqFe6TX67Flyxaupc6kK//XmiRJSElJcTqG5Hbp1q9I2ZGO+m8eRISKAk79Nw8iZUd6CTVQiQlWAihLrFgtZUe66sq2KED5zbW7OH39Lg99x039RB1Qjt8B3xZDi+0Fm5CQgMGDB4NI6XXJzs6GRqNBWFgY/2z58uXFrrMr90xZLBaYzeZiJ3dmk6yHhwcPgxPZAefrr7+OlStXYtu2bThy5AguXLiAnJwcLF26VHEMo9HIQ/UrVqwAkVI2EgBSU1P5hK7VapGcnIwTJ07wEH3Lli1hNptRpkwZ1TFks9mg1+sRFhYmSDSyc5b/3bx5c2RmZvJ9WWg3JiaGy/BFREQoANCVK1dARKhYsSIAoEePHiAiJCYmYuvWrVxrm90XOQgE7JydjJtS7bycNR8fH0ycOBH79u1Dnz59OKhiUoly++WXXwRJVDWye2YvvfQS387Dw4ODUTc3N6SkpPDr79mzJ78vjvrVzAIDA6HVarF8+XLBEy2/jpCQEAwZMgTHjx/n+zFZUEedcDbOzWazcK8KCgp4yFo+xipUqIDatWsX2aeOmu5xcXFYu3YtB405OTkCqHRxccG6detw8+ZNrvz0v9Q0Gg0iIiKcpm4UZQ8eWpGecQ/fXLuL9Ix7JXKKJebUSgBliRWr1Z97UBUMOgOU5VP2wmYrROqxn7D04A+4//9fVtey8zBs/SnFcUoNebfYXrJ169bFV199xeUgk5OTMWXKFIwYMQK9evXi4boyZcogMjLyLyEYdmyenp6oWLEi9+zVqlULw4cPR8uWLYWJvU+fPvjxxx952P2TTz5ReG4mTJiANWvWoF27doKqDRHxybZ27drIyMgQ7uGyZcv49yaTCZmZmdi0aRPPQYuJicHhw4dBRBg6dCgAOwicN2+eQPBORAJ5dEFBAerUqcPPwZmG97p160Bkz4ubPHkyD807Np1OhyVLligkHRmwYWFdx+tjxtRymApNfHy8ADwPHjwo3PNq1aph/PjxqF69uqomd7NmzbBs2TLcvn0bR48exZw5c3hOqtlsLjLc6uHhgY4dO2L69OlCzqbNZuP3wtvbm6v/yC0/P5/n8soB4MKFC4Xr2bt3L4iILyri4+NV+4VJMDJi+/379wOwpwrIicHl9yEiIkJxn1xdXdG1a1ecP38eAQEBCAgIgM1mw5kzZ7BkyRL069cPZcqUAVHRqjARERFo06YNJkyYgO3btyM7OxudO3cGEWHcuHE8jUSj0aBVq1a4ceMGFwzYsmULVqxYwQG2morT/0pzzL8tsRIrbisBlCVWbHb/oVURHnkaoGy96D8AgOwHBfjl13xM/vgsRm78Bqev34XNVoje74nasmGv7IKk/+9OqGca0wEBAUL/Ml1urVYrKJ/YbDY+gbZr104onClbtiw+/fRT7umKiopChw4dOFhmzcXFBeXLl+eA0GKxICoqCpIkIS/Pnh/16NEjLhHIlFKqV6+OSZMmcbBpNpsxduxYNGjQABqNRnWcsGNotVoOVphZrVYOEBhoMZlMaNiwIQd37Frkqj81atTAhx9+CJvNxj2cRE/kDdWM6aYTEeLi4hTANCMjA127dhXORd7KlSvHPbWdOnVS/Q25lnd2djZiY2P5/nq9XsgxdDy+Xq/n94OlGGg0GqSmpvLjZ2ZmCvcyJCSES4lWqVKFA8rc3Fzu/c7MzMTzzz/vtH8uX77Mr3fdunWK72NjY6HT6XD27FlBOUjePD09UbVqVTRu3Bg1a9Z06m1kvxMVFYUKFSrwfnBU/QkMDMSYMWNw+/ZtZGVlQaPRCB7u/fv3K6RHW7duDcCey8kWDf+LTavVomvXrk6fgxIrseKyEkBZYsVm6Rn3nOY+OgOUnd75gu/fftkTPdiyr36CO/cf4sRP2Ypj6f2LRxrN1dUVM2fOxLJly/D666+DyB6S/Pnnn/Hw4UMhjPh/1d59910UFhYiMzMTer2ee1gCAwORl5cHm83Gtcl79OjB+9JRk5qI8Nxzzwn3i3kCS5curcj5MxqNPDQ4bNgwYb+zZ89y0Meau7s7ZsyYwQFMo0aNnALKqVOnguiJt+jVV1/Fxo0bkZiYKACPWrVq4aOPPuL7Xbt2jYPKUqVKwWq1YunSpShXrhwHJkajkecJSpIEFxcXwUsqt3HjxvHf2rJlC3788UdMmjQJCQkJcHFxUUzKjqHSqKgo7NmzByaTCeXKlVP9DQYo69aty6+3bt26QribiHDhwgUUFBRwz2a3bt2QkJBQZDWy3NsmSRJef/11Dv5ZUVDNmjVhs9n4IoOlKNhsNgQFBUGSJBw7dkzoY7Y4ICK0aNFCuB6bzcYZCf5IgUvlypXx8ssvc09jQkICNBoNB4MuLi5Yv349Vq9eDSLC2LFjkZycLJwTGwOOixEAWLVqleIZZ+dZ3Gkkz9L+CUVArq6uQqpBiZXYX2UlgLLEis2+uXb3dwNK9vm17DzFPptPXkeB1abIyTQExRTby9bDwwNz5szhRQxsEv47wtvP2oKCgrgXau/evbyqt1SpUqhVqxaI1DXIWYWsfGILDQ0V8h7lWuvh4eFITU3F4MGDERMTI4Qh9Xo9YmNj0a9fPzRt2lS1aIblrwFFA0oWvl+/fr3wG5Ik8er0t956S3VfVigjSZJQxHH//n2kpKQIRUDMc6YG9ljunlrxjFarRUREBHr16oW0tDTUrVuXf1emTBmcP38e7du35wBFo9HAZDKpnu/OnTv5vp6enkhLS+PfXbp0iY8zi8WCDRs2KPb39vaGl5cXB5sDBw58KkjR6/Xw9fXlXk32r6O29Y8//gitVgs3Nzfk5+cjIyMDbm5ukCQJGzZs4KkgKSkpaNGiBT9OUcCFFcRMmDABqampmD59OurXr684Zz8/P7Ro0ULwzD7//PM8j7Rq1arQaDRCXun+/ft50RAbA/Hx8VixYgVsNht+++03Xk0v9wQTkZA7/L/WHCnKSqzE/iorAZQlVmz2RzyU1V7/DABwSgWMLj/0AwCgQsrev8RD6dj+Cd6EoprcWzRhwgT+eatWrYT7YLPZ0Lp1axA9CaWuWrUK3bp140DQx8dHqPgtW7as6j1lAC46Olrh4WHes7Jly4JI5P9zBijPnj2r8P6x4wQGBqJs2bIKIMHszJkzICJUqlQJRqNRyO8D7Dmanp6ekCQJPXr0EECEi4sL2rdvj969ewsUNERPPFf16tXDkSNHhLzD9PR07h2Li4sTvsvNzUXv3r35uPHx8eF5iwUFBTzPj8he/KNWGR0UFASz2czBb9WqVXnOZ3p6OojsnucDBw4IIV05jVN4eLjCsymnkZI3BjYrVqyIDh068HESGhrKwb2Xl5dTz6hGo4Gvr6/gMfT398f169cBANWrV4dWq1VcZ0BAAPz8/LBs2TI0a9aMV5+z5ubmhkaNGmHBggU8pM0KpuTGqvNnz57NvZts7DkuAmvXro2DBw/yXNm/qhWV/8men5EjRwrP49/RtFotqlSpgsePH6s+2yVWYsVtJYCyxIrNHvyBHMrwCbuRlZuPmzm/KT7feuoG8h89RsTEvyaHkk1G/v7+/5pk/ZUrV6KwsJADASJ7kQzL/8vKyuKh2Vq1auGXX34Rcufy8/NRvXp1YdJh4ISBArm98847wu9HRETg+eefR9WqVQXAwnIqiezAik32gJ0QfcCAAQIXolarxahRo/DLL78AACZNmsS/i4yMVB1f8fHxkCQJV65cwblz52AwGKDVanHkiH1sNW7cGETEQd1nn32G9u3bq/ajJEno378/Tp06BavVCpPJBE9PTwH0paamcu5EvV6P0NBQ1fNiqRHyQiY2nkqXti9+Xn75ZdV99Xo9KleujLy8PKHwavz48RyQMq+tJElo0aIFrzhnBS0ajUY11zE/P18Abh4eHvDx8Xkq7Y5aS05O5lRMN27c4MeNjo4Wck8Za8KNGzeEc2FFOTk5Oahfvz6/TiI7N2tgYKBiQRcZGYmZM2dygC3nD2VWUFCAfv36CYsdSZJQpkwZJCQkCMC7uJtaP+p0Orh6+aDXqIkIqlAL0xetht7siq1bt4KIeBTk71i8SpKEU6dOqY67Eiuxv8JKAGWJFav93irv8Am7sfroFQB4QmI+YTcqv/YpcvMf4cD3WcK2wYNWFtsLt2PHjggMDOST8l/9gi/uptFo+KSm0+k4ITabpJOTk9G3b19OvePh4cEnWFdXV7Rt21bwFgYHB3PP4MmTJ7l3hU2eJ06cEO51ZmYmiOz0SzVr1lR4nYhI8HR5eHjwgpz27dsrxg7jWyQiTJkyRfju0KFDILJTDjE7efIkdDoddDodxowZAyJ7KDU0NFS4n+wcHO+xJEmIjY3FggULOKCdNWsWAKB///4gsoeiT5w4wcGeWi7ap59+CiLCxIkT+Xhi96RXr14gUgeUd+/eBRGhd+/e/LMjR44owrNarRadO3cWUgrOnz8PIrvXlN3DDh06YPHixejbty9q1arllC9Tq9XCy8sLcXFxqFGjxjN7zXx9fVG6dGkBDDmmE7C83HfffVf4PCAgAK6urny81q1bF2+99RaIiIf6rVYrtmzZwkPr8t+xWCz8PrIFxLvvviv0Nxunjvf47/AKRlWti+C2o1Fz5l6ET9jl8I7bhYqTtqFsz1fRfciLf1gM4Pe+G0aNGqUYcyVWYn+llWh5l1ix2rSd39Har66RrdA+rHrXCid3k54C3E3Uq2Y4fZKeSd/9/CsREa05dpXuFzwmX1cD7RlZj1wMWlp99Ce6//Axda8RRsEeZurw9hf0/a37RESEQhvd/2YP5exfWWznyzSm/22m1+spJiaG8vPzKTMzk/Lz8/l3Wq2WCgsLFdrkf8RMJhNJkkT5+flUp04d8vX1JXd3d/Lw8CBPT096/fXXKSIighYvXkweHh700Ucf0Zo1a7iOs9z8/PwoPDycvv76a0pJSaFp06YJ35crV44uXrxI/v7+dOvWLWrYsCF99tlnpNPpKDIykq5du0ZZWVnk6+tLjx49oi1bttCKFSvoyJEjwnFcXV2pfPny1KpVK+rXrx+FhYVRly5d6MMPPySdTkeZmZl05MgRmjdvHp04cYIeP37Mtau1Wi1FR0fT+fPnKSYmhk6ePEnu7u509OhRqlevHo0cOZIWL14s/N7Dhw/JbDbzv1u1akVNmjSh2bNn0507d4jIrnl+/Phxcnd359tt2rSJunXrRitWrKBBgwZRYWEhzZkzh+bMmUO5ubl8u+bNm9PHH3/MNbSPHDlC06ZNo7t373Itd6bLzYzpYru4uFDjxo2pQoUK9OGHH9KVK1eod+/e9O6779L8+fNp6tSpgg69Xq+nQ4cOUbVq1ejkyZN07NgxWrBgAWVmZpLJZPp/7d13eFRl9sDx79SUSe8hIZUeSgg9hKogTRABZZEqILooioKoq8Kqi7CgoKjAWmkiSIefKCAgUg3VIL0kAUIgkIRUUu/vjziXDAmQMgHE83meecS5d977zmQmOfOWc0pcB0Cv1+Pi4oKXlxdeXl5s3bqVyMhIMjIyOHbsGJ6eniQkJKAoChqNBp1OR/369QkMDGT16tX89ttvhISE4O7uzvXr17G3t6dJkybs2bOHn376icWLF7Nx40YSExNLe4taPGdfX19atmxJp06d2Lt3LwsWLCA3N/e2j6uMh3o9QYJfe7KcAtBpNervvVIphaDRkn12P8k/foqjNpdr165Vye8fLy8vTp48afF+E6LK3dNwVjxwilfKCXxtnXIu+dYluVpP+Vk9L2rqz8r6mIvKtexcJSsnX9l+Mkl59JNfS+7w9rBeUuLu3buXWE/3V7q99dZbSnZ2tvLII4+o94WHh5eYtjWvLTOP1Dz33HPKpEmTlJdeekkZOnSo8vjjj6uVbYrfDAaD4ujoqK7vq+yoys2PNydbr1u3rlru0dfXV5k8ebK6XtDV1VWtDNS0aVOlS5cuFhuJit+0Wq2ybdu2Eu8z86iZeYTyk08+UY8VFBQoc+fOVdMumW9eXl4l8vY5ODgoPj4+FvcVH1EsPv1u9sEHH1j0r0ePHuoop7mu+pkzZ5Rx48apI422trbq+/JOm8NcXV2VunXrKt27d1dfM5PJpGg0GsXFxcViLWpeXl6pOT2rV6+urF69Wnn33XcVQOnRo4fFcyieXqlatWrK2bNnlR07dqg7ye9UH72sNz8/P3XD2YIFC9TrHzlypNTNUze/t2rVqqU8++yz6q71Z555pso+e0ajURnw5idKyGtryl37Oui1tUrwq6uUVgOLsgzcXN/eGrfvv//+lr93hagqMkIprG7Ql3vYeebq7b+tl5NOA5rLJzn95VjrtanTWYzO/BUZjUZyc3Np06YNLi4urF27lnbt2vHtt9/So0cPDhw4gK2tLTNnzqRnz54EBgai1+tJTEzEycmJ2bNnM3HiRJKSktRRrbfffpuFCxdy5swZNBoNHTp0YNeuXbi4uJCQkEB+fj4rVqxg2rRp7N27FygaHfL29qZhw4b4+/uzdu1akpKSaNWqFYcPHyY9vWiU2TwiXNmRYY1Gg16vp7CwkIKCAuzt7cnKykKj0RAREYGnpyeOjo4kJyfz888/YzAYePPNN3n//ffJyclh3bp1NG3aFA8PD7RaLV9++SUjR44sMaprMpno3LkzkyZNYuLEiaxatYrY2Fg8PT3p06cPP/74IzqdDgcHBwoKCtTnaXb69Glq1KhBnz59+P333zl58iQATZo0ISEhgYsXL6qve2l0Oh22trZkZWWhKApubm7odDqSkpK4ePEiPj4+FufPmjWLMWPGAKh93rBhA++//z47duwgLy/P4vxx48Yxbdo09f+bN29OdHQ0X3/9NUOHDiUuLo7mzZtz+fJlABYvXkyXLl1YsGAB7777LklJSRX46d2Zra0tzs7OJCcnW/RZq9XSuHFj/vvf/3LmzBlGjhyJt7c3np6enDx5kpycHODGCK3BYCjxnCsrNDQUj3YDSfRqVum2QjIOs+WT1+54nk6nUz8zN//O0mg06gixjY0NDg4ObN++HY1GU+n+CVEeElAKqzuXnMXDM34hJ996Uzk2ei0bXmzD8P6P8fPPP1ut3QdB3759+f777wF45JFH2LBhg3qse/fuLF26FHt7ewC+/fZbnnrqKXx8fMjKyiItLQ0bGxuGDRvGhAkTCA0NJSQkhJMnT7J9+3aee+45Dh8+rLbXsmVLfv/9d7KysgBwcnIiLS2N06dPExISop7XsWNHfvnlF/WP344dO+jTpw+XLl0C4NdffyUqKor8/HxWr17NwIEDS51OLc7X15eGDRuSnZ1NZmYmFy9eJCEhAb1ej6OjI1lZWSUCivLS6/Xk5+djNBoxGo1kZ2erz8H8BcTd3Z2UlBQKCwvx9/dnwoQJfPPNN+zbt4/4+Hh8fHzQ6XQcOnSIlStX8u677+Lr64tWqyUpKanUKVh7e3uCgoIICQnBycmJb7/9lmeeeYa5c+cCkJuby8CBA9Wfc3BwMKdOnVKn6s0ee+wxVq9erT6P4l+aQkNDGTp0KN988w2nT58GYMKECUyZMkV9fEZGBj4+PuTk5DB37lyeffZZ8vPz+de//sWUKVNwdXUFqLJA8nZGjx7Nf//7X+zt7YmLi6NGjRrY2Nhw+fJl9f19/PhxhgwZwp49eyr8HridunXrkhfQjLzGT1itTf+EX9gxf5rFfRqNBmdnZ7y8vKhWrRrVqlXDx8cHb29vvL29Lf7t6emJXq+3Wn+EqCgJKEWV+C46ntdWxFitvamPN+DJZgGkpqbSuHFj4uPjKzXCVRUjF/eSi4sLbdu2ZceOHVy9ehWAqKgoi/WFubm5vP7668ycOZPCwkL0ej3jx4/nnXfeUf8g9evXj2XLlrF69Wp69uxJXFwcY8aMYd26derrrdfr6d27N3PmzGH9+vUMHDiQL774guHDh6vXujmgBCgsLMRoNKr3hYSE4OzszPHjx9UAVaPR4O7ujslkIjs7Wx0ZM7O3t2f48OH07NmTbt26WYy2AixdupT+/ftjY2NDTk4OBoOBdevW4ejoyOXLl0lOTmbBggVs3ryZ4OBgkpOTuXbtGvb29tStW5fr169z7NgxCgoKcHV1JS8vj9zcXPLy8qwSnNwqyHFycqJjx440aNCAJUuWcOLECRYtWkTNmjXx8vLC09MTe3t7PD091XWZLi4ufPvtt3Tt2hWAGTNm8PLLL5cYeXd3d2f//v34+/vTqFEjDh8+zNNPP82GDRs4f/58ifWsW7dupUOHDkDRCPgPP/yAra0t7dq1uy9G9M0j04WFhbRt25aOHTsSGRlJ69atmTp1Ku+88w7+/v6sX7+eBg0aWO26Li4u6Jy9cOo/jfrV3egT4U+rEHf8Xe1IycrjQHwKH2w8wdkrmepjGvk707dJdcKru1DHxxGDTkvQ6/9n0W5hXg7VY+Yx+PFuNG/eHB8fHwkSxV+SBJSiynyy5STTN5yodDvjO9dmdIca6v/HxMTQrFkzdTRKWHJ0dMTR0ZGEhASeeOIJvvzyS8aMGcPChQvJy8vDxcWFgoICMjIy2LNnD82a3Zi6S09Px8XFBTs7O5ydnUlISADA1dWV9PR0FEVRN/wEBwfz73//m8GDBzN06FC+/vprtZ2bA8qYmBg+//xzZs2aVWK6287OjuzsbCZOnMjbb7+tjrq99957vPXWWwwbNgy9Xs+iRYvUwNPM39+f7t27M2TIEFq1agXAG2+8wfvvvw8UBUft2rUr8RrVrl2bEyeK3puDBw9m3rx56rGNGzfSuXNnHn30UVatWsWBAwd44YUX2LVr1x1fe/P0t52dnbqh6ezZsxZBnlarRafTVfgLjUajQavVWrQHqK+pTqfD19eXxo0bc+zYMU6ePImNjQ2urq4kJibSpUsXPv74YxwdHQkPD+fSpUtMmTKFCRMmkJubS4cOHdi5cydQNMKdmprKjh07KtRXa/Pw8CAvL49r167dcsmKRqOhXr16uLu7s23bNqtcV6vVotfr8e7/Lgb/+szq35imga783+GLHLuYjqejDUNaBWJv1NN79g5OXMoA4KWHavLP9jU4lpiGyUZPqKdDiYBSp4HIUA8WDG9hlb4Kca9IQCmq1HfR8Uxc8wf5hUq51lTqtBr0Wg3v9AzjyWYBJY4vWrSIgQMHWrOrf3keHh40aNCAXbt2lTp97Ovry+TJkxk6dCgnT56kbt26mEwmdRp6xowZfPnll+p0qNFopEuXLkycOJGIiAh1p/TOnTuZPn06q1evVv+gBwQE8MILL/DVV1/h4uJCYmIiZ8+exdXVlZSUlBL9fOyxx/Dz82P69OlkZmai0Wg4efIkoaGhAOTn5+Pk5ITBYCAlJaVEkAlFu7nz8vLULxY6nQ5vb28uXrwIgKIouLq6curUKdzc3NTrz507l+eeew5FUdDpdMTHx3Pp0iW2b9/Ovn37OH78OHv37iU/P7/Ea2gOhp2cnKhduzaJiYkkJCSor4OTkxMff/wxgwYNYvfu3Tz99NMcP34cgKZNmzJ37lwiIiKYP38+Q4YM4auvvmLYsGFcvnyZESNGsG7dOhRFwWg00qdPH+rVq0dKSgrXrl1j/vz55Ofn07x5c+Li4rhy5UqJPt4cXJZH8QDNPJJ8P4xIliYgIIC4uDjy8/OJjo7m/fffZ+3atej1etzd3UlNTbX6F04bryB8nv4EgIgAV2IupJJXcON3WpC7PT+92JYfDicydulBADwcjKRfzycnv5B/9wxjSKugEgGl2aaxbanh5WjVPgtxN2nvfIoQFde/WQCbxrYjMsQdKAoUb8d8PDLEnU1j25UaTAI89dRTPP/887LwvJgrV66g0+kYNGgQgYGBJY77+flhNBopLCykZs2afPjhh6SlpeHh4YHJZOKNN94gPj6eNm3aYDAYMJlMrF69moiICAA1kPv0008JDg7GwcFBbTs+Pp7x48dz9OhRdu3axdmzZwFKBJMA2dnZzJs3jzVr1qgjX4qiULNmTTV9ziuvvEJ2djaTJ0+2WCfYtGlToGgUKiMjg9GjR3PixAlef/11atSooaanUf5MUZOSkoKvry8LFizgt99+o2nTpjz77LPqGrWCggL8/PyIiIhgzJgxzJs3j+joaGxtbdVrarVaBg0aREpKirqGUqvV8ttvvxEfH09ubi5ffvklGo2GtLQ0hg4dik6no3Xr1mowOWLECKKjo9XX0rwUwTxd7eXlxZo1a4iMjFSvu3jxYqZPn46HhwehoaHk5eXh6elJdHQ0iYmJaDQa2rVrR3h4uPqY6tWrc+DAARRFoaCggKtXr9K8eXP1NQNo3Lgxr776KqNGjaJ///506tTJYsTTxcUFk8l03waTABcuXGDz5s3o9XoOHTrE2rVrcXNzIykpicTERH755Rfc3d2tek2/dk+iUYoC9f3xKRbBJEDs1SxOXM6ghteNz8WVjNwyrSXXaTUs3B1v1f4Kcdfdnc3kQhSlFJq4+rDSdtrmEhV1gl5bp7SdtlmZuPqwcvJSWpnay8nJUVq0aHFfVrkpXprOfPP29r7r/ShewcZ802q1iqOjo0XCZz8/P2XevHlqyiFzou+pU6cqilKUhHvo0KEVqrJyu5s53UyNGjXU18fZ2VnR6XSKp6enxc87NTVVsbOzU4xGoxITE6NWBGrZsqWyf/9+xWAwKBqNRhk2bJgSHh5+21QzWq1WcXFxUVO2NG7cWFmzZo2SkpKiTJ482eI9tWPHDot+DBs2TAFKVCG5Xb3o0NBQJTo6Wj23WbNmJUoUFhQUKEajUQkNDVXy8vKUV199tURycq1WqzRu3Fj9Wa1du1aBooo1I0aMUH/W/fv3V/Ly8tSE7J07d1bS09OVevXqKVBULvPatWuKoihqUnjzzVyZ5690M1fHcXd3r5JE5ra2tkq1UZ/fMSVQQmqW8svxy6Ue+2bnWUVRlFs+tu20zWX6vSfE/UqmvMU9kZmTT+zVTHLzCzHqtQS5mzDZlH8RekJCAg0bNlR33d4r5l215vQ1t+Pm5kZycnKV9aVevXr06dOHxMREjh07RmxsLOfOnbvj44YNG0aXLl1o3749Hh4eODs7U1hYyIABA/jiiy+qrL/F2dnZcf36dRRFoXbt2uzcuVOdrg4PD+fQoUNMnjwZk8nEvn37WL16tUUS8OJ0Oh1OTk4UFhaq59y87s7Dw4PMzEyys7P58MMPmTlzJvHx8bi4uDBt2jRGjhxJeHg4Bw4cUB8TFxdHUFAQvXv3ZtmyZcyaNYt3331X3QzVr18/tFotCQkJGI1Gi6wEBoOBzp07s2vXLvR6vbrcAGDJkiX079+fUaNGcf78eTZv3myRsN78+CFDhvDRRx9x/fp1/Pz8KCws5Ny5c2oy6x49enDixAn1ubZp08ZiLeGQIUOYP38+Dg4OBAUFcfjwYQICAli7di1NmzZ9oDarWYvGaEf1sUtvOyPyWLgfM58MZ/yyQ3y/73yJ43ea8tYAhyc9UqHfg0LcF+5xQCtEpW3duvWelU40j2Q9//zzCqBMmzZN8fPzU3r1eULxrNlYcQkNVwxewaXWHy9eltCaNy8vLyUnJ0c5deqUMnDgQMXZ2dnieGhoqPLkk08q1apVu+9LTmo0GqV69eq3HG28eTSqd+/eytq1a5WUlBRFURRl1qxZilarVUfugoKClKSkJGX27NlK586dS01s7+vrq0yfPl1JSkpSHn74YQVQtm/fbvGe8/LyUgwGg8VItDkJeXkSwOv1eqVRo0bKV199ZVHrHIpGjV9++WXFYDAobm5uFqUGdTqdWqJw2bJlJT4TxctmRkRElCgZOXnyZPV4gwYNlPz8fGX58uX3/Odd0ZuNjY3y+OOPK//6178UrVarjkBbq32Tf+3bjkx2/GCLci07V9kbm6wEv176OXcaoQx8bZ1y+EJqlfyOFOJukDWU4i+vXbt2FsmZ76YaNWrg6OjIqVOn6PaPp1mXYIfX8M84WHMw9n3exbnfe1R7ehYBr3xP9X9+iVfX0RjcqwPcMe9iRV2+fBlbW1tq1KjBwoUL0el0DB8+nGPHjuHj48Pp06cJDw/nwoULFBQUEB0djbe3d5X0pbIUReHcuXNkZGSg0+no0aMHb7zxBmvXruWPP/5Qd1JPmjQJW1tbVq5cycaNG3FycuKJJ57ghRdewNHRkZiYGMaOHUtsbCyRkZGMGDGCn376iY8//ljNYQhFI5iJiYmMGzcOT09PdWf3o48+yvnz58nJyaF///4kJSWRl5dHZuaNFDHm0USlHJM++fn5HDp0iKefflod4ezQoQNxcXGcP3+e1NRU8vLymDFjBiNGjODixYssX74ck8lEWlpRCdP//e9/xMffWH83bNgw9u/fT4MGDejcubOaMuj1118HilIrvf3220DRiGdMTAy2trb06dOnIj+i+0JOTg6bN2/mP//5DwaDgb59+1r183XzesniPB1s+GpIM9Kv5/Pcon1Upp5DrhVz9wpxt8mUt3ggKIrCE088wcqVK+/aZgLz9NeYN95hS4Y31+yq3bGer04DBQo4ZyVwZN5b5F+7dMtzrdG/qVOnMn78ePW+tLQ0Nf9iUFAQV69eLVHd5X725JNPMn/+fJKTk6lVqxbp6eksXLiQp556iitXrtC0aVPi4uLUPJTh4eHs2LFDDRr/+c9/Mnv2bGrVqoW9vT0HDx7ExsaGGTNm8PPPP7N8+XJee+01mjZtypIlS9i9e3eZlgtYm9Fo5IsvvmDYsGH4+Phw/vyNKVRzXXF3d3e8vLw4evQoAK1ataJ69eosXbqUevXqERMTg1arZdu2bfTt25ekpCS1stLNqYfE7Rm8gqn29KwS9zva6PnumZZUc7Gj39xdnLqcccs27jTlDfB/L0QRVs3ZKn0W4m6TgFI8MDIyMoiIiODMmTNV+ofSnDdRr9djW68jrp1GodHp0Wh1ZW5DiwJKIVnbvuHy7lVWr+jRvHlzYmJiyM7OZuDAgQQEBPDTTz9x9OhRizWerq6uPPTQQ/Tr14/33nuPmBjrJaO3tsDAQOLi4tTgMCsrq0RC9V27dhEVFUVhYSE2NjbExMRQs2ZN9XhhYaGa3BugS5cuLF++HHt7ewoLC/Hz8+PSpUtqfs7ExEQef/zxMuWgrCo9e/Zk9erVQNFz9vb2Jjs7m5MnTxIcHMyBAwcYNWoU0dHRQFEwunHjRqKiovjhhx/49ttv2b59u0VgrNVqCQsLo0WLFmzdupVTp07dk+dmbSEhIcyePZt69eoRFhamjuJWloOrO27PfGOxhtJGr2X+081p4OfMwC/3sD8+9bZtyBpK8aCTd654YDg4OLBmzRqaNGlCdna2GqT5+PiQmJhotetkZ2czYMAADiv+XAtsC4oC5UxfVIgGNDps2w2nfkAoMUumW61/AImJiQQFBXH06FEWLlwIFE3nBgQEEBUVRdeuXRk1ahQpKSloNBpGjhxptT++VSUuLo46depw7NgxoCipuTntDsDMmTN5+eWX0Wq1DBgwgMWLF1OvXj0WLlzIk08+yfbt2+nTpw+XL19WRzBTUlLUFEHm0by6devSsWNHwsLC2LNnzz15rsWtWbMGnU5HZGQk165dIyMjg7lz5+Lr60t8fDwFBQUEBwcTHR2NVqslNze31GTuULR5TPkzpVBMTMx9/QWiIs6cOcOQIUNKzdFZGYU52Wgyr4KDBwBaDXzyj8ZEBLgycsHeOwaTZRHgbi/BpPhLkxFK8cBZsWKFuh6sRYsWJCQkcP78eauNAvbu3ZvfrhrQRw62SnsA7qd/ZP/3n1itPShaHxcUFEReXh6xsbG4urqya9cuateuDRTtkK9Zs+Ydd6Xfj6pVq0ZCQgI6nY6XX36ZkydPsmrVKovnuHPnTh5++GGys7MJCAggPj4erVbLuHHjeP/99+nTpw+rVq2ibdu2/PLLLwAcOHCAXr163ZNp7qqm1+uxs7NTc5GWliNU3FrTUVO56hZGoQJv96jH062D2XjkEv8Xc7HEuasOXgDAz8WO3o39AHiojheNA1yZvqEoN+mF1GxWHig6T6fVMKhFIJN6ht2lZyNEFbgnW4GEqGLjx49XAPW/1roFBgYqemdvpcYb65S6b69XZm46rmw9fklJycxRFEVRXll6sMTOzdvZduKyEvjaWiVg3HLFO6SeVfs6YsQINdfgjBkzFCjKYzho0CBl8ODBSvPmzcu1I/l+v9nb2ytjxoxRvvvuO3VX8/Tp09XjdnZ2yunTpy1e/65duyqA0qRJE6Vu3br3/DlU5la3bl1l9OjRyrZt25SEhARl8ODBFsfd3d2VmTNnKgUFBUpycrJib29/z/tcVbf69esrFy5csEpbGo1GWbx4sXIiMU39TO86feW2n2vzeU/O3XnLc3advmLxe6Ks+XeFuF/JCKV4IBUUFPD777+zePHiEjvA9Xq9xc1gMGAwGCz+bWNjg9FoxGAwYDQauXTpEnFxcWRlZRHx8lek2nrj62TL9gkdOZ+SxbnkbFqFujPu+0Ms22+Zg+6xcL8S/Wvo78zTrYOZ/MNR/vfrGSgs4Hrc7yR9P9Hq+TTN674etI+6l5cXly9fLtO55pKJGo0GT09PoGhncHZ2Nrm5uVXZzSphfq8Wz1MZFBTE0KFDGT16NJ06deLgwYOEhoaybds2pkyZwueff87169dxdHTEy8tLLbFZVWxtbbl+/TouLi6kpqZW6bVuptVqad++PZs3b65UO3q9ntWrV9OtWzcABn25h51nrparjOyd6LQaIkPcpZa3+MuTgFI80BRFIS0tTQ0OdTpdpco1/rjzIM+uLZqmMuq0ONsZSMrIoYGfM2ufjyo1oCzNlMcb8EST6kRO3Uxi2o30Jhc+f5b8q3d+fHloNJoHLpi0tr/qa+Ti4sI333zDrFmz+PXXXy2C48aNG7N7926MRiNQtCFpxIgRfP3111XaJ3OS/9atW6ulNc3Mr/PNCebvR1qtlmXLltG7d2/1vnPJWTw845cylVMsKxu9lk1j21Hdzf7OJwtxH5M8lOKBZq7ZbGdnh16vr3Tt791XDGq98dyCQpIycsrdhlGnpWt9X/acTbYIJpXCAhwbd6tU/4orXmt76NChLF++nH79+uHi4mK1a9xrLi4ujBkzhhkzZvDyyy+rwRNAQEAAp06dUjehHDt2rMRmFZ2uaGf+XzGYBOjUqRO9evVi06ZNzJ07V31/azQaDhw4gL29Pa1atWLRokX07NmzyoNJ87UBNZjUGGwxeAVj9K2FwSsYnY09Tk5OANSpU6dK+/LUU09V6HEajYZvv/3WIpgEqO5mz7+tvM7xnZ5hEkyKB4JsKROiHLYcv1zp6a4OtT1xtjOoC/fNNFoddiFNSeF/lWrfLC8vj65du7J161a++eYb5s+fj5OT012ffqxKqamprFixguDgYH799Vf0ej2TJk3i6NGjLFmyhJo1azJ8+HCcnZ2ZPXs2WVlZ2NnZYWNjQ2pqKvXr18fV1ZWtW7fe66dSId9//z2BgYG0bduWhQsXYjKZ2LJlC40bN+azzz5j9uzZ7N69m927dwNFXzKqV6+u5q6sCnl5eRjcq+PUpDsOtVqCyf2mLAgKxpw0QrPOozuzE+OZM/j5+XH27Fmr96X4F4zy+Prrr3nyySdLPda/WQBXMnKYvuFEZboGwPjOtXmyWUCl2xHifiBT3kKUUUZOPg0m/URpH5jyTHl/NiCCh+p40WzyJtKuW6Y2URSFcx/2Q8mzbhWdv+qUbnlERUWxevVqtfb3rl276NSpk1rNxmQy8eabb/Lqq68CMGDAAJYsWXLP+mttrq6ubNq0iYiICADOnj1L9+7dOXr0KAaDAUdHxyqtIQ/QpN0jXAroiM4vTE3ifyvm4wHGTPZ88hLOunySkpKqtH9lMXfuXJ555pk7nvdddDwT1/xBfqFSri+ZOq0GvVbDOz3DJJgUDxSZ8haijOKuZpYaTJaHg42ejnW82HI8qUQwCUWBn97Vt5JXuWH9+vUoikJhYSEdOnSwWrv3o4yMDM6fP09ycjL9+vWjTZs2ZGZmYjKZ0Gq1ZGZm8sMPP5CWloZWq+Wjjz7CZDLd625bTUpKCk2aNMHGxgZ3d3dCQkI4evQoffv2JSMjg6tXr9KsWbMquXbjxo1p9PhzpEY+j7F6feD2wWTx4+dz7fEd/hmGOu2rpG9dunQp87kfffRRmYJJKBqp3DS2HZEh7gDqUphbMR+PDHFn09h2EkyKB44ElEKUkTXq7Hat74OtQVdiurs4jc5Q6euo1+vaFWdnZ/r378+WLVus1m5pSlufGhQUVKXXLO7gwYM0atQId3d3li1bhr+/P8uWLSMjI4OkpCSioqL49ddf8fDwoHnz5vj4+FjU4n4QtGnThvz8fIuRyGXLlmEymdDr9Wo1HWsaOXIkF1wakFqrO/nK7UuPlqYQDYpWj6H1EJxaPWH1/pmXONzJ1KlTGTNmTLnaru5mz4LhLdj4UlsGtQgk0N2emz8FGiDQ3Z5BLQLZNLYtC4a3kDWT4oEkayiFKCOjvvLfv3qF+5GWncfmY7dOd6MU5FX6OsWlpaXdland4lPq5jQ91atXJzY2lqZNm7J3794q70NxWq0Wg6EoODcajbRt25Zjx45x5cqVKgms7ge//vprqfdbs2pMcVFRUSzeE4d7t/IFYjczfxlxbTeYYF93Dq2YbY3uAUXrbJctW8ajjz56y3MmTpyoLoWoiJrejkzqGcYkwsjMySf2aia5+YUY9VqC3E1SAUf8LcgIpRBlFORuKjH6UB6ejja0CnFn/eFEcgtKH+1UFIX8lJKVNypi+PDhnD9/nu+++84q7ZWVxmCLziMQo28tdh8/j8ZgqwaT5l3VVSUsLIxLly7x+OOPExcXR69evdDr9Tg6OjJ58mQyMjJo3bp1lfbhXgsMDOS1115j5cqVbNiwgUaNGlXJdRwdHdkdcxLv7i/Q0N+Zf/cMY8NLbTny70fYMaEjn/yjMcEeJZcUhHo6MG9YM/6Y9AgH3+rEh080ws1k3jyjkBz8MM7VQqzWzy1btqjrakszYcIEJk6caLXrmWz0hFVzpnGAK2HVnCWYFH8b8k4XooxMNnoC3OyJS65YqcKeDauh02puO92ty0q22oacr7/+mtjYWEaPHm2V9m5mMpnIzs7GZDJRu3l7ztkEYqrZgnxbF4vpb0VRyE9NJPt0NBkH1lNwterKGh45coROnTpx7tw5dcTUnO/QaDQyZMgQjh8/XmXXv5m7uztXr15VR2zvhri4OKZMmWKxEcvPz49q1apZdWQ2PT2dBmOmk4mGZ9uG0jTQlf87fJFjF9PxdLRhSKtA1j0fRe/ZOzhxKQMAHydblj7TkvScfKZtOI69UcczbUKo4+1Ir892kFcAWr0BmzZDYcnbVuvrpk2bGD9+PB988IHFz2HMmDG8//77lU4nJoSQXd5ClMukNX+wYE+cuk5scKtAnGwNeDvZMqhlIOsPX+SPhDQA5u2MJT3nxlTjmtGt8XK0pdXUnyntU2eu59tMF0ufPn3IySl/jsu7xWQykZmZyX8+mstHOy9hFxyBFoXC24zhaoFCoDDhDxLXziTPSiOx9yNHR0fS09MZN24c06dPJywsjD/++APgrgaXVZlA3NG/Jm4DZwAQEeBKzIVU8ortxAlyt+enF9vyw+FExi49CMC7verTN8Kfhz7cSsK1oi9OrUPdWTSiJa+v+J3F0Te+bBRP8q/VFk2mVfR127p1K+3ataNbt278+OOPKIrCqFGjmD17tgSTQliJTHkLUQ5PtQiw2HTwTJsQxnWuzaCWgQB0re/LuM61Gde5Ns52NzbXhHiYaOjvwtrfE0oNJgEKChUGtgyge/fu/Pbbb/j6+qp/SCti586djBgxosKPL415ytrb25v6vUbx+QVvHEKK0tTcLpgsOl5EXy0M36c/of+/Zlm1b8U5ODjQp08fNm7cyM6dO/nkk0/o3LlzlV3vZunp6QB88NEnGLyCOZmch8ErGI3B9q4Fk/Hx8eTn56MoCnv37kWvt+6ElL5OB5TComB1f3yKRTAJEHs1ixOXM6jhdSPBfpcwH34+dkkNJgF2nL7K6aQMujespt6nUQrp/uIUFi1axKeffsorr7xCnz59CA8Px9XV1eI6Go0Gg8Fwy8BQr9ezfPlyAAYOHIiiKAwZMoTPPvtMgkkhrEimvIUoh5rejrSp4aHW8436b9l2Tp+5kknQ6/93y+Pmer41vBwBaNiwIfv376d79+4cPHiwQkHI5s2bCQiwbmqSgoICwsLCSHBtSEHdok0Od0oPc7NCQGOwYVdBME2HvMm++f+xeo5McxBhDiTuJoN7dRwad8UutCl6F99Spv8vcv3MPtL3/0BeFU7/jxkzhtTUVGJiYrh69apV23Z3d8elflvytbdfE+vhYOTkn9Pd3k42eDraEHPhWonzDp1PpUNtL/X/FY2WFLtqDBhQeqqrzMxM4uLiOHv2LLGxscTGxnL27FlOnTpFXFycRfL+/Px8VqxYwccff0z//v3x8PDgoYceqtSXNSFESRJQClFOk3s34OEZv1S6Yk5xeq2Gyb0bWNzn4+PD9u3bGTRoUIUCozfffNNa3bMQp/PDPapiJe1uluTbEu/I3iRHr7OoQ11Z5oCislOld2Jep+jr60u21p5qj40j07H6LZN6azQaDK7VsGnii2OTRwmyvc6OGaMx5KaRnZ1t1b6tWrXKqu0Vdz1fId/G+bbnPBbuh6+zHR9uLKoo4+VoC8Dl9JJLOS6n5eBqb8So06ob1uKvZpGZk1/qphaTyUS9evWoV69eqdfOyMiwCDjNo5parfaujlQL8XciX9GEKKe7Wc/Xzs6OpUuX8q9//atc7U2cOJHZs2dXuPRcaXQ6HXpnbzy6/BMUBXujjrEP12TesGYcfKsTse93p2+Ef6mP7d7Al5XPRfL725058FYnloxs+eeIlIKx1UAK7d2sOmLUoEEDjhw5QkFBAQUFBWzbtq3KRqReeukl0r0a4jHkI647VQfuPGprXh4Qm2XAf9RcTA07Wb1fGo2Gt99+my1btrBs2TI8PDys1naujfNN5RQthXqaeKdXGPviUlj+Z+UoW0PR619aPtecP+8znwOgALFXK5Yn1MHBgbCwMHr06MHzzz9f4ZreQoiyk4BSiAro3yyAcZ1rWaWtO9Xz1Wq1vPfee8yfPx+9Xl+mwCggIICaNWtaddSvsLCQmgPeRqPTg0aDm72RFx+qRainA0cvpt/ycUNaBfHpgAiSs3KZ+uMxZm0+iaOtnq+HNuORMF80Wh2eXV+w6ihiTEwM7dq1Izw8nA4dOvDyyy9bfZTSzc0Nf39/NlzQ4t71BfIKyz/9j1aHotFh6vAMtXpXLpfjzRRFwd/fn1OnTvH5559z5coVq7V9u+T7ng42fDWkGenX83lu0T7MA/nX84pe/9Lyudr8eZ/5HDNrFBMQQtwdMuUtRAU936EmHg42d62e76BBgwgODubRRx8lPT39lrt3H374YQYOHEhqaqpVd/k2aN2Ja86BmOtPXk7Podl/NpGUkaPWMi/NkMhADp5LZfi8G4nNl+49z+7XH6JvhB8//ZGIMbARend/dVevNSQlJVVZbWhHR0euXbtGra5DuVi9Y+Ua+3OkL6d2Z9yanSE5ep0VelikrGUEy8tkW3rlGUcbPd8Ma4aTnYF+c3dZTG9fTi/aiOPlWPKxXk42pGTllsjPao1iAkKIu0MCSiEqoX+zAFqHevDGyhh+PXUFnfb2pefMxyND3Jncu0G5S7BFRUWxd+9eunTpwtmzZ0sNFtu0aYPRaCQ6OtpqwaTJZCLNu5FFaqDcgkKSMu6c2sjRRs/ZK5ZTlxk5+WTl5KsjUkphAW7Ne3F5/adW6++YMWMICwsjPj6eefPmWTX/ZHp6OvVbtOOSfzvsjVpGtQ0lvLoLjfxdcLE3Mu77QyzbXzI4HtwqkMEtg6juZkdKZh7rYhL4YMMJsvMKUBQFU9thpJ2IJv/aJav008bGhubNm9O+fXt+/vlndu7cWek2jUYjgx/vyqqbr6XX8sWQpgR7mBj45R5OXc6wOH4pLYcrf375uFkjfxeO/Jluy0xDUTEBIcRfg3z9E6KS7nY939DQUKKjo2nbtq3FDmJz+pSoqKKRwoULF1bwGWGRYsZgMGBjY0OeZ+07pgYqze4zybSr6cmQVkH4u9gVra/rGYajrYGvd54t6rtWhyEg3GppXDIzM3FxccHf35+uXbuSlpZ25weV0+WghygoVHCztynT1P9rXerwTs/6HL+Uzjtrj7D+j4sMaRXE3IFNgKKfn1anx62L9RLR5+bmsmLFCkaNGkVCQkKF29FoNGi1Wt566y0yMjKYOX0qgcXev1oNfPKPxkQEuPLPb/ezPz611HZ+PJzIQ3W88XW2Ve+LDHUn1NOBH2Is85IGuNtLlRkh/kLk0yqEldzNer4uLi789NNPPP/88/zvf/9T7//ggw/o2LFoCtbfv/QNMjfT6XQoikJhYSE2NjY0a9aMNm3a0Lp1a1q2bIm7uzsZOfk0mPQTFdnXPmntH7iajPy7Z5i6melqRg5PfbnbIvDQufiA3gasVClowoQJVmnnZra2tjgH1ME2uCj/Zlmm/j0dbRgeFczy/ed55ftD6v1nr2TyTs/6PFTHi5+PXQatDrvgCKtN/yuKgqenZ6Xa0Gq1BAYGsnjxYlq0aKHe36G2l5rk/83u9ehUz4eNRy7hYmfksXA/izbM1aE+3XqKbg18WTyyJV/viMVk1PFM2xCOXkzj+303nq9Oq6FDLS+EEH8dElAKUQXM9XyrksFgYM6cOdSrV4+xY8eiKArt2rVTj7u5uZW6hlKv15OfX1TBx9PTk7Zt2xIVFUVkZCTh4eGl7gyPu5pZoWASIDuvgDNJGSRey+bnY5dxsNHzdOtg5jzVhH7/20Xc1aJSlhqNBr2rL3mXz1bwSjfodDqioqJIS0sjLS2N06dPV7pNKOqji4sLzk16kPfn8oWyTP1HBLhi0GlZ+7vlKOHaQwm807M+jzaqVhRQUjT979ykB1c3zLFKnyMjI2nUqBFOTk5MnTq1zI8zV/QZNWoU06ZNw2SynH5+qkUA3+yKBaCerxMAnep506med4m2zAHlxWvXefJ/u3irez0mdKlNXoHC5mOX+c8PRyzWT5qT/Ash/jokoBTiL0yj0fDiiy9Ss2ZN1qxZQ/369dVjW7dupaCgQA0qNRoNdevWpX379rRu3ZrIyEgCAwPLNM1cmd22nw2IIL9QYcT8G5tyNhy5xNZx7RnfuTbPLz6g3q/VWyfNUUFBAfPnzycgIIDff/+dRo0aWaVdRVFITEzEIzCc6+XYhGXexZxz0y7m7LyiYL9BsS8fGq0Om6AIK/S2SP/+/XnhhRf48ccfyxxQ6nQ63NzcmD9/Pl26dCn1nOJJ/vt/vrvM/Tl5OYPBX/9262vflORfCPHXIAGlEA+Abt260a1bN4v76tSpQ35+Pm3btiUyMpIWLVrg5ORUofYrutu2uqsd7Wt78dqK3y3uv5adx97YZJoEWpbRCw6szvGLJ6xSOcccLFs7/6TGaEc6tnc+sZjTSUUbVJoEurLrzI2qNc2D3ADwdrZsT+/qi8Zgi2KF6X8Hh6LShy1btqRWrVqcOHHilueaE7X37t2bOXPm4O7uftu271aSfyHE/U8CSiEeUB999JHV2gpyN6GBck97e/6ZIkZXyiioXqdFry22qQjYu2U9KUmJvPHGGyxYsECddi0vk8lEp06dSE9PJz09nd9+u/WIWHloNBo8g+qW+3F/JKRxID6FZ9uFcintOrtOX6WGlwPvPVaf3PxCbG8K2DUaDe/OnMPRnRtZtWoVmZmZFU4BVb16UbJ1FxcX2rVrd8uAUq/XY2dnx5w5c/jHP/5RppFrc5L/11bElLtft3KrJP9CiPub7PIWQtyRyUZPQAX+yMdezaKgUKFHw2oW9/s42dIsyI0/iqWKMe/q9ff3Z/78+ezbt4/WrVsDlHv3d2FhIStXrmTTpk1Mnjy53P0uznztatWqMWzYMEaMerZC7Ty7aB9HL6YxrW8jtk/oyBeDm7Lu94scuXiNrNySgWK3Hj1ZuHAhV65cYfXq1fTv319dx1h8F/6dbNu2Tf337TbotGnThiNHjjBgwIByvd53M8m/EOL+JSOUQogyKb6r12xwq0CcbA14OxVN2T5U1wufP6dv5+2MJTkzl6V7z/GP5gF8O6IFP/6RiINRz8CWgdjqtXy2tWizTGm7eiMiIvjll19Ys2YNY8eOJTY2tsxT4SEhISiKgkajUdePlncaXavVotfrGTx4MGPHjlXrRv+RcI1Fs7aXqy0oysPYb+4ugtzt8XS0IfZKFkkZOex5/SHOXClZYtC8zMDW1paePXvSs2dPrl+/zoYNG1i6dKk6cll8k1Vpio/wjh49muXLl6s5OXU6HTqdjunTpzN69OgKLw+420n+hRD3HwkohRBlUnxXr9kzbULwd70xctm1vi9d6/sCsOrABdJz8nlz9WGOJqbxZNPqvPpIHQB+P5/KK98f4rfYZODWu3o1Gg29evWia9euzJkzh7fffpv09PQ7ToOPGjVKHWXr1KkTBoOhTGUozVPsHh4evPjii4waNarEqF5Fp//NYq9mEfvnzvYaXg54O9mybJ9liqBbJfW+VXC5cuVKsrKySg0u+/btq/67WrVqREZGqtPe9evXZ/HixdStW/5p/Jvd7ST/Qoj7iwSUQogyKb6r1xwoRP13yx0fV1CoMH9XHPN3xZV6vCy7eo1GI2PGjGHQoEG89957fPzxxwC3HJnLyLhRpeXKlSt3DCbN6xPr1q3L+PHj6d+/PzY2pZcXNE//xyVn3bbNO9Fo4PWudcjKzWfRHsvXpixJve8UXJqf06lTpwgPD1cf16hRI7RaLW+88QZvvfUWBsOt63KXlznJ/8lL6SzaE8+WE5eJv5plEXxr/nx+HWp5MbBlgOzmFuIBoVGssZ1SCPG3cC45i4dn/EJOJdII3cxGr2XT2HblGqE6ffo0r776KitWrCixWcVkMrFmzRo1wXtSUhIBAQHk5OSUmPY2P7Zbt26MGzeO9u3bl2n94KQ1f1hM/xef+h/UMpD1hy+q60Pn7YwlPSefiT3qYaPXcuRiGnqdll6NqtHI34VXlh1i5YELN/qk1TCoRSCT/kwCX17Fg8v169czb948evTooR7Py8vjypUr+Pr6Vqj98qrqJP9CiPuDBJRCiHL5Ljreqrt6pz7eoMJr57Zv386LL77I/v371XWSjRs3Zv/+/RbnPfvss3z11Vfk5eUBRVPbRqORYcOG8dJLL1GrVvk2lZy8lE6nmTc2u2x/tYPF1H9xUVM3cz41m74R/jzdOohAdxOFisKh89f4dMspizRCZpvGtpWROyHEX4p8TRRClEv/ZgFcychh+oZb5zMsq8ru6o2KiiI6OpolS5Ywbtw4EhISSs21mZGRoQaT3t7ejB07lpEjR+Lm5lah6948/V+Wqf9l+8+zbP/tyylKUm8hxF+VjFAKISrku+j4+2pXb3Z2NnPmzCEkJIRevXpZHJsyZQorV67kxRdfpF+/flZZN3i/TP8LIcT9QAJKIUSFnUvOKveu3jY1PB6YXb330/S/EELcSxJQCiEq7e+8q/eTLSetNv0/ukMNK/RICCHuPgkohRBW9Xfc1Xu/Tf8LIcTdJgGlEEJYwd99+l8I8fcmAaUQQljR33n6Xwjx9yUBpRBCVJG/4/S/EOLvSQJKIYQQQghRKdp73QEhhBBCCPHXJgGlEEIIIYSoFAkohRBCCCFEpUhAKYQQQgghKkUCSiGEEEIIUSkSUAohhBBCiEqRgFIIIYQQQlSKBJRCCCGEEKJSJKAUQgghhBCVIgGlEEIIIYSoFAkohRBCCCFEpUhAKYQQQgghKkUCSiGEEEIIUSkSUAohhBBCiEqRgFIIIYQQQlSKBJRCCCGEEKJSJKAUQgghhBCVIgGlEEIIIYSoFAkohRBCCCFEpUhAKYQQQgghKkUCSiGEEEIIUSkSUAohhBBCiEqRgFIIIYQQQlSKBJRCCCGEEKJSJKAUQgghhBCVIgGlEEIIIYSoFAkohRBCCCFEpUhAKYQQQgghKkUCSiGEEEIIUSkSUAohhBBCiEqRgFIIIYQQQlSKBJRCCCGEEKJSJKAUQgghhBCVIgGlEEIIIYSoFAkohRBCCCFEpUhAKYQQQgghKkUCSiGEEEIIUSn/DxWGq8ZkotIXAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# access and visualize the device topology\n", + "print(ionq_device.properties.paradigm.connectivity)\n", + "nx.draw_kamada_kawai(ionq_device.topology_graph, with_labels=True, font_color=\"white\", arrows=True, arrowsize=30)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "With this information, you can write a circuit to run verbatim on an IonQ device. IonQ currently only supports verbatim compilation for the entire circuit, so every instruction in the circuit will need to be enclosed in a verbatim box. In other words, you cannot have any gates outside of the verbatim box. As well, note that IonQ native gates cannot be used outside of a verbatim box. To learn more about IonQ native gates and the best practice of using them, see the [Amazon Braket Developer Guide](https://docs.aws.amazon.com/braket/latest/developerguide/braket-devices.html?tag=local002-20#braket-qpu-partner-ionq) and [IonQ's documentation page](https://ionq.com/docs/getting-started-with-native-gates). " + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T : │ 0 │ 1 │ 2 │ 3 │\n", + " ┌───────────┐ ┌──────────────────────┐ \n", + "q0 : ───StartVerbatim───┤ GPi(3.14) ├─┤ MS(0.10, 0.20, 0.30) ├───EndVerbatim───\n", + " ║ └───────────┘ └──────────┬───────────┘ ║ \n", + " ║ ┌──────────┴───────────┐ ║ \n", + "q1 : ─────────╨───────────────────────┤ MS(0.10, 0.20, 0.30) ├────────╨────────\n", + " └──────────────────────┘ \n", + "T : │ 0 │ 1 │ 2 │ 3 │\n" + ] + } + ], + "source": [ + "circ = Circuit().gpi(0,pi).ms(0, 1, 0.1, 0.2, 0.3)\n", + "verbatim_circ = Circuit().add_verbatim_box(circ)\n", + "print(verbatim_circ)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Counter({'10': 10})\n" + ] + } + ], + "source": [ + "task = ionq_device.run(verbatim_circ, shots=10)\n", + "print(task.result().measurement_counts)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Programming verbatim circuits onto the IQM device" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The native gates of IQM Garnet are PRx and CZ. Use these gates in verbatim circuits when submiting to IQM Garnet. " + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The native gates for the Garnet device are:\n", + "cz\n", + "prx\n" + ] + } + ], + "source": [ + "# set up the IQM Garnet device\n", + "iqm_device = AwsDevice(Devices.IQM.Garnet)\n", + "\n", + "# list the native gate set\n", + "print(\"The native gates for the\", iqm_device.name, \"device are:\")\n", + "for gate in iqm_device.properties.paradigm.nativeGateSet:\n", + " print(gate)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The native gates need to be programmed on the physical edegs of the device. Let's take a look at the topology of IQM Garnet, shown in the figure below. The topology is a square lattice. The edges are bi-directional where a two-qubit gate can apply on (i,j) and (j,i) where i and j are indices of two qubits. " + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "fullyConnected=False connectivityGraph={'1': ['2', '4'], '10': ['11', '15', '5', '9'], '11': ['12', '16', '6'], '12': ['17', '7'], '13': ['14', '8'], '14': ['15', '18', '9'], '15': ['16', '19'], '16': ['17', '20'], '18': ['19'], '19': ['20'], '2': ['5'], '3': ['4', '8'], '4': ['5', '9'], '5': ['6'], '6': ['7'], '8': ['9']}\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# access and visualize the device topology\n", + "print(iqm_device.properties.paradigm.connectivity)\n", + "\n", + "nx.draw_networkx(\n", + " iqm_device.topology_graph,\n", + " pos={\n", + " 1: (-1,2), 2: (0,2),\n", + " 3: (-2,1), 4: (-1,1), 5: (0,1), 6: (1,1), 7: (2,1),\n", + " 8: (-2,0), 9: (-1,0), 10: (0,0), 11: (1,0), 12: (2,0),\n", + " 13: (-2,-1), 14: (-1,-1), 15: (0,-1), 16: (1,-1), 17: (2,-1),\n", + " 18: (-1,-2), 19: (0,-2), 20: (1,-2),\n", + " },\n", + " arrows=False,\n", + " with_labels=True,\n", + " font_color=\"white\", \n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, let's compose a verbatim circuit to IQM Garnet. The circuit below creates a Bell state. With verbatim compilation, you have control in preparing a quantum state. There is no gate optimization and you can experiment with different ways to create the quantum state." + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T : │ 0 │ 1 │ 2 │ 3 │ 4 │\n", + " ┌──────────────┐ \n", + "q1 : ───StartVerbatim───┤ PRx(1.57, 0) ├───●───────────────────────EndVerbatim───\n", + " ║ └──────────────┘ │ ║ \n", + " ║ ┌──────────────┐ ┌─┴─┐ ┌───────────────┐ ║ \n", + "q2 : ─────────╨─────────┤ PRx(1.57, 0) ├─┤ Z ├─┤ PRx(-1.57, 0) ├────────╨────────\n", + " └──────────────┘ └───┘ └───────────────┘ \n", + "T : │ 0 │ 1 │ 2 │ 3 │ 4 │\n" + ] + } + ], + "source": [ + "circ = Circuit().prx(1, pi/2, 0).prx(2, pi/2, 0).cz(1,2).prx(2, -pi*0.5, 0)\n", + "verbatim_circ = Circuit().add_verbatim_box(circ)\n", + "print(verbatim_circ)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Conclusion \n", + "This notebook introduced the basic functionality of verbatim compilation of Amazon Braket, that allows you to run circuits or subcircuits to be executed exactly as defined without any compiler modifications. You can find further information in the [Amazon Braket documentation](https://docs.aws.amazon.com/braket/). " + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Quantum Task Summary\n", + "{<_Rigetti.Ankaa2: 'arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2'>: {'shots': 5000, 'tasks': {'COMPLETED': 5}}, <_IonQ.Aria1: 'arn:aws:braket:us-east-1::device/qpu/ionq/Aria-1'>: {'shots': 10, 'tasks': {'COMPLETED': 1}}}\n", + "Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\n", + "Estimated cost to run this example: 6.600 USD\n" + ] + } + ], + "source": [ + "print(\"Quantum Task Summary\")\n", + "print(t.quantum_tasks_statistics())\n", + "print('Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).')\n", + "print(f\"Estimated cost to run this example: {t.qpu_tasks_cost() + t.simulator_tasks_cost():.3f} USD\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.10" + }, + "vscode": { + "interpreter": { + "hash": "590fab68195cf107911461461f81d5c472d3d6127f579badfcfad30f03e5cab2" + } + } }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# set up the Rigetti Ankaa-2 device\n", - "rigetti = AwsDevice(Devices.Rigetti.Ankaa2)\n", - "\n", - "# access and visualize the device topology\n", - "# note that device topology can change day-to-day based on edge fidelity data\n", - "print(rigetti.properties.paradigm.connectivity.connectivityGraph)\n", - "nx.draw_kamada_kawai(rigetti.topology_graph, with_labels=True, font_color=\"white\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "From the connectivity graph, you can see that qubits 11, 10, and 17 are connected in a line, and with the code in the next cell you can access their respective 2-qubit gate fidelities to make sure you have selected a high-quality qubit subset. " - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'fISWAP': 0.947781142837921, 'fISWAP_std_err': 0.00880368328462963}\n", - "{'fISWAP': 0.5, 'fISWAP_std_err': 1.0}\n" - ] - } - ], - "source": [ - "print(rigetti.properties.provider.specs[\"2Q\"][\"10-11\"])\n", - "print(rigetti.properties.provider.specs[\"2Q\"][\"10-17\"])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - " Note: At the time when you run this notebook the fidelity numbers may be different as QPU devices are periodically recalibrated\n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "After selecting the qubits and validating their gate fidelities, you can now construct a circuit and run it. " - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "T : │ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │\n", - " ┌───────┐ ┌───────┐ ┌──────────┐ ┌───────┐ \n", - "q10 : ───StartVerbatim───┤ ISWAP ├─┤ ISWAP ├─┤ Rx(3.14) ├─┤ ISWAP ├───EndVerbatim───\n", - " ║ └───┬───┘ └───┬───┘ └──────────┘ └───┬───┘ ║ \n", - " ║ ┌───┴───┐ │ ┌───┴───┐ ║ \n", - "q11 : ─────────║─────────┤ ISWAP ├─────┼──────────────────┤ ISWAP ├────────║────────\n", - " ║ └───────┘ │ └───────┘ ║ \n", - " ║ ┌───┴───┐ ║ \n", - "q17 : ─────────╨───────────────────┤ ISWAP ├───────────────────────────────╨────────\n", - " └───────┘ \n", - "T : │ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │\n" - ] - } - ], - "source": [ - "circ = Circuit().iswap(10, 11).iswap(10, 17).rx(10, pi).iswap(10, 11)\n", - "verbatim_circ = Circuit().add_verbatim_box(circ)\n", - "print(verbatim_circ)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PRAGMA INITIAL_REWIRING \"NAIVE\"\n", - "DECLARE ro BIT[3]\n", - "PRAGMA PRESERVE_BLOCK\n", - "ISWAP 10 11\n", - "ISWAP 10 17\n", - "RX(3.141592653589793) 10\n", - "ISWAP 10 11\n", - "PRAGMA END_PRESERVE_BLOCK\n", - "MEASURE 10 ro[0]\n", - "MEASURE 11 ro[1]\n", - "MEASURE 17 ro[2]\n", - "Counter({'010': 811, '000': 115, '100': 52, '110': 14, '011': 6, '001': 1, '111': 1})\n" - ] - } - ], - "source": [ - "result = rigetti.run(verbatim_circ, shots=1000, disable_qubit_rewiring=True).result()\n", - "compiled_program = result.additional_metadata.rigettiMetadata.compiledProgram\n", - "print(compiled_program)\n", - "print(result.measurement_counts)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As expected, the program is faithfully executed exactly as it was defined." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Defining verbatim subcircuits " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In some situations, you might only be interested in executing parts of your circuits verbatim, and have the compiler nativize and optimize the rest. The next example demonstrates how to do this. Let's get started by defining the subcircuit we want to execute verbatim." - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [], - "source": [ - "verbatim_subcirc = Circuit().rx(10,pi).rx(10,pi)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, define the part of the circuit you want to compiler to process, so you don't have to worry about nativizing gates. " - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [], - "source": [ - "subcirc1 = Circuit().cnot(10,11).cnot(10,17)\n", - "subcirc2 = Circuit().cnot(10,17).cnot(10,11)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Finally, put everything together" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "T : │ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │\n", - " ┌──────────┐ ┌──────────┐ \n", - "q10 : ───●─────●─────StartVerbatim───┤ Rx(3.14) ├─┤ Rx(3.14) ├───EndVerbatim─────●─────●───\n", - " │ │ ║ └──────────┘ └──────────┘ ║ │ │ \n", - " ┌─┴─┐ │ ║ ║ │ ┌─┴─┐ \n", - "q11 : ─┤ X ├───┼───────────║──────────────────────────────────────────║──────────┼───┤ X ├─\n", - " └───┘ │ ║ ║ │ └───┘ \n", - " ┌─┴─┐ ║ ║ ┌─┴─┐ \n", - "q17 : ───────┤ X ├─────────╨──────────────────────────────────────────╨────────┤ X ├───────\n", - " └───┘ └───┘ \n", - "T : │ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │\n" - ] - } - ], - "source": [ - "circ = subcirc1.add_verbatim_box(verbatim_subcirc).add_circuit(subcirc2)\n", - "print(circ)" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PRAGMA INITIAL_REWIRING \"NAIVE\"\n", - "DECLARE ro BIT[3]\n", - "PRAGMA PRESERVE_BLOCK\n", - "RX(1.5707963267948966) 10\n", - "RZ(4.71238898038469) 10\n", - "ISWAP 10 11\n", - "RZ(1.5707963267948966) 10\n", - "RZ(3.141592653589793) 11\n", - "ISWAP 10 17\n", - "RX(1.5707963267948966) 11\n", - "RZ(1.5707963267948966) 10\n", - "RX(1.5707963267948966) 10\n", - "RZ(4.71238898038469) 10\n", - "ISWAP 10 17\n", - "RX(3.141592653589793) 10\n", - "RX(3.141592653589793) 10\n", - "RZ(3.141592653589793) 17\n", - "RZ(1.5707963267948966) 10\n", - "RX(1.5707963267948966) 17\n", - "ISWAP 10 17\n", - "RZ(1.5707963267948966) 10\n", - "RX(1.5707963267948966) 10\n", - "RZ(4.71238898038469) 10\n", - "ISWAP 10 17\n", - "RZ(1.5707963267948966) 10\n", - "RZ(3.141592653589793) 17\n", - "ISWAP 10 11\n", - "RX(1.5707963267948966) 17\n", - "RZ(1.5707963267948966) 10\n", - "RX(1.5707963267948966) 10\n", - "RZ(4.71238898038469) 10\n", - "ISWAP 10 11\n", - "RZ(3.141592653589793) 11\n", - "RX(1.5707963267948966) 11\n", - "PRAGMA END_PRESERVE_BLOCK\n", - "MEASURE 17 ro[2]\n", - "MEASURE 10 ro[0]\n", - "MEASURE 11 ro[1]\n", - "Counter({'000': 583, '001': 207, '010': 60, '100': 53, '110': 29, '011': 29, '111': 22, '101': 17})\n" - ] - } - ], - "source": [ - "result = rigetti.run(circ, shots=1000, disable_qubit_rewiring=True).result()\n", - "compiled_program = result.additional_metadata.rigettiMetadata.compiledProgram\n", - "print(compiled_program)\n", - "print(result.measurement_counts)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Inspecting the compiled program, you can see that the `cnot` gates were nativized, however, the two `rx` gates in the middle of the circuit remain unaltered, and were not removed by the compiler. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Programming verbatim circuits onto the IonQ device" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "IonQ also supports verbatim compilation. Because qubits in the IonQ device have all-to-all connection, there is no restriction in qubit connectivity; all qubit pairs are available for 2-qubit gates. Because there is no circuit optimization or gate decomposition in verbatim compilation, all gates in the circuit must be native gates. Let's look at IonQ's native gate set." - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The native gates for the Aria 1 device are:\n", - "GPI\n", - "GPI2\n", - "MS\n" - ] - } - ], - "source": [ - "# set up the IonQ Aria 1 device\n", - "ionq_device = AwsDevice(Devices.IonQ.Aria1)\n", - "\n", - "# list the native gate set\n", - "print(\"The native gates for the\", ionq_device.name, \"device are:\")\n", - "for gate in ionq_device.properties.paradigm.nativeGateSet:\n", - " print(gate)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In `device.property`, you can see `fullyConnected=True`, showing that qubits are fully connected. This manifests as the device having a complete topology graph." - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "fullyConnected=True connectivityGraph={}\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAApQAAAHzCAYAAACe1o1DAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdd1hTZ/sH8O/JYI+wh4AooqKiOHDv0aK1tlqtVly46qi1vmqrtq63w9ra6uve2rrr1jqKq4gLZxWtA0QZgiB7E5Lcvz/45ZTIhuDq/bmuXLVnPOdJTkjuPON+BCIiMMYYY4wxVkmSl10BxhhjjDH2euOAkjHGGGOMVQkHlIwxxhhjrEo4oGSMMcYYY1XCASVjjDHGGKsSDigZY4wxxliVcEDJGGOMMcaqhANKxhhjjDFWJRxQMsYYY4yxKuGAkjHGGGOMVQkHlIwxxhhjrEo4oGSMMcYYY1XCASVjjDHGGKsSDigZY4wxxliVcEDJGGOMMcaqhANKxhhjjDFWJRxQMsYYY4yxKuGAkjHGGGOMVQkHlIwxxhhjrEo4oGSMMcYYY1XCASVjjDHGGKsSDigZY4wxxliVcEDJGGOMMcaqhANKxhhjjDFWJRxQMsYYY4yxKuGAkjHGGGOMVQkHlIwxxhhjrEo4oGSMMcYYY1XCASVjjDHGGKsSDigZY4wxxliVcEDJGGOMMcaqhANKxhhjjDFWJRxQMsYYY4yxKuGAkjHGGGOMVQkHlIwxxhhjrEo4oGSMMcYYY1XCASVjjDHGGKsS2cuuAGOMvamy8lR4nJQFpUoDA5kE7jamMDXkj13G2JuHP9kYY0yPwuIzsC0kCmfuJyAqORtUaJ8AwM3aBF3q2cO/lRs8HcxfVjUZY0yvBCKisg9jjDFWmujkbMzaH4rg8ERIJQLUmpI/WrX7O9SxxXd9veFqbfICa8oYY/rHASVjTK/+jd28O69EYe6hO1BpqNRA8nlSiQCZRMD8Pg0xyNetGmvIGGPViwNKxliV/Zu7eZefCcOiwAdVLmfaW3XxSRdPPdSIMcZePA4oGWOV9ip18+bk5GDVqlXw8PDAe++9p7Pv+++/x759+zB58mR8+OGHkMvlernmzitRmLEvVC9lAcDCft4YyC2VjLHXEAeUjLFKeVW6eTUaDXbu3Inp06cjNjYWnTp1wp9//qlzzJAhQ7Bt2zYAgIODAz777DOMHTsW1tbWlb5udHI2ui8OQp5KU+z+FjWtMLFLHTRzs4KhTIK4tFzsuxGDZafDSyzTUCbBySmdeEwlY+y1w3koGWMVtvxMGGbsC0WeSlOhYBIA1BpCnkqDGftCsfxMWJXqcf78efj6+sLf3x9xcXEAgPT09CLHmZmZia2S8fHx+PLLL+Hs7Izx48fjwYPKdVfP2h8KVQnPvU8TZ+wa2wYZufn4z29/IWDzFawOegihjDJVGsKs/fpr8WSMsReFA0rGWIXsvBKllzGDALAo8AF2XYmq8HkPHz5Ev3790L59e9y8eRMAoO1sefDgAU6fPi0e++zZM/zyyy9QqVTiNo1Gg7y8PKxbtw716tVDr169cPr0aZS3wyYsPgPB4YnFBtMOFoZY0Ncb2y9H4dOdf+HUvQRcjEjCrqvRWFpK6yRQEGwHhyciPCGjXPUoTm5uLg4dOgR/f3/Y2Njg8OHDOvuVSqUYfDPGmL682VMvGWN6FZ2cjbmH7hS7b1H/xujf3LXEc/uuPI8b0alFts85dAdtPWzL1c2bkpKCr7/+GsuWLRO3qdVqnWOysrJw+fJldO3aFQAgCAJyc3OLLU97bmBgII4dO4YGDRpg+vTp+Oijj2BoaFhiPbaFRJU4ZnSQrxtMDWVYHfSwzOdTHKlEwNZLUZjXp2G5z8nNzUVgYCB27dqFAwcOIDs7G1KpFGq1ushzX7lyJaZNm4aZM2dizpw5ehtPWpJ/46x/xv6N+K+aMVZupXXzLj0djm0hRVsb1w9rAaVag5sxRYNJ4J9u3i2jWpV4XaVSiVWrVmHu3LnIzMwsEkQ+z8zMTPy3jY0NDAwMoFQqSzxeW97du3cREBCAadOmYfLkyRg3bhzs7OyKHH/mfkKJXf0t3a2Rkq2Eh50p1g1tjroO5kjNyccfd55iwbF7yMxTFXueWBcN4cyDBMxD6QFlcUGkTCYTW2K1z6lOnTo65928eRMajQbffvstDh8+jB07dsDLy6vUa1XUv3nWP2P/VtzlzRgrl9K6eQEgKjkbN6JTdR4GMglszAyx+1oMShpqWVo3LxHhwIEDqF+/PqZMmYK0tLQyg0kAWL16tdh9ffLkSZ3u7tJoz0lKSsK8efPg4uKC0aNH486df1plM/NUiErOLrEMRwsjGMulWDG4GX6/FYchG0Kw9mwE+jV1waYRvuWqR1RSNrKKCTyf785+77338NtvvyE7u6A+xT3PPXv2iP+OjY3FhQsXQEQgIty+fRs+Pj5YunQpNJriJxdVRHRyNoZuCEGPJWexJSQSkc8FkwBAACKTs7ElJBI9lpzF0A0hiC7l9WSMvR44oGSMlYu2m7ciPmzhCo2G8NvV6FKP03bzFnbt2jV07NgRffv2RWRkZLnHNwJAREQEBKGgrjKZrFLBkkajgVKpxMaNG9GoUSPUqFEDo0aNwtwflxUJkgoTJICRXIqVfz7EyqCHuPQoGWuDI/DDH/fg626Ndh42ZV6bADxOygJQuSCyMJnsn46oFStW6ExCUqvVUCqVmDx5Mrp164bo6NLvU2l2XolC98VBuBCRVFB2GZO1tPsvRCSh++Ig7KzEWFrG2KuDu7wZY+VSWjdvccwNZejVyAnnHyYiJiWn1GMLd/PGxMRg5syZ2Lp1K6RSKQBUOCCUSCTo27cvMjIykJaWVqFzn6cNZGNjY7Fx40Yo6vjAsv83JR6fmp0PADj74JnO9j8fPMNcAI1qWOL8w6Qyr/vbnn0IDzlZbHd2eVtcAaBjx47iv589e1bicefOnUODBg2wZs0afPTRR2JAXh5VSe6u/v+0UzP2hSIxM4+TuzP2muKAkrE31GeffYZbt26hQ4cOaNeuHVq3bg0LC4tKlVVWN29x+jRxhrGBtMzWSa3IpCw0aNwUd0P/EreVp3u7OFlZWThw4AAkEkmFAqNylZ2eBstS9t+LS0czN6si27W1KG9MvuDbr5Gf8Ej8/4oEkYVFRRW0/KWmphbJz1mYSqVCVlYW/P39sX//fqxZs6ZceTr1PevfzsyQk7sz9hrigJKxN8CRI0dw+PBhrFy5EhJJwUiWe/fu4cyZMwgODoZKpYIgCKhfvz46d+6Mtm3bol27dnB3dy9XwBWZlFVqN29xPvR1RXKWEn/ciS/nGQIinlU+Xc7zoqKi4Orqips3b8LHx0dv5apS4kBEJb5ux+48xeBWNdGpnh3uxP2TE7NLPXsAwI2olDKvQURQpegntU9mZiYAICQkBGFhpef91LbG7t+/H0FBQfj111/h5+dX4vGlzfpvXcsaO8e2KXZfSTP+gYrN+meMvTo4oGTsNUZEWLJkCaZOnQoiwsSJE+Ht7Q0A6Ny5s86EFCLC3bt3ER4ejlWrVgEAbG1t0bFjR7Rv3x5t27ZF06ZNYWBgUOQ6yhJWgylJfUdzNHFRYOP5R1Cqy38uCdIKXackgiBgyJAhSE9PR3p6OgRBqNAYzNLKtVWYQ5UaB7mVc7HHBIcl4sTf8Zjc1RMSQcCNqBQ0dlFgcjdPnLwbj6uRZQeU6tQ4UH7xqY4qaseOHfj7779haVlau+pz11erkZiYiJ49e2LcuHFYtGgRTE1NixxX2qx/rR+O38PFCN0u/vvxJf9wKM+sf8bYq4cDSsZeU/n5+Zg4cSLWrVsHoCDYCQoKEgPK5OTkYruM8/PzxX8nJibiwIEDOHDgADQaDQwMDNC8eXN06tQJbdu2Rdu2bQvS7sgqNn9vYIuCfJQVnWhB6vyyDypPOUQ4e/asXsp6vtz09HQoom9BZukAQVJ8APzJjuv4rJsnPmrphsndPBGfnosN5x7hf6fKsTKQRo3sh1f1VueQkBBcvHixwudpA/C1a9fijz/+wI4dO9Cq1T9BnnbWf1keJWWV2BpZnMKz/uvYc0ohxl4XHFAyVg2qO5lzamoq+vXrpzMmThAE/Oc//0GDBg3QtWtXxMTElKuswhNelEolLl68iCtXrogtm3K5HCYWVrAcvaFc3eMGUgneb1oDf0Wn4EF8ZrmfExFBnfq03MeXZdGiRWjVqhUsLCzg5+ent9Vh8vLykBxyEM6NS+4KzlNpsPCP+1j4x/2KX0AiRcaNo1Wooa6nT59CqVSiffv2ePz4cYXP12g0ePz4Mdq2bYtZs2aJydBLS+5eVZVJ7s4Ye7k4oGRMT15UMueHDx/Cz88Pjx490unG1Wg00Gg0OHfuHLp27Qp/f3/s2LGjUtcoPAEkPz8fqtwsIPMZYG5f5rlvNXCAlYkBFh6/V6FratKeQqMsfTZ4eZmamiIxMRGPHz9GZGSkTqLzqhIEAflJ0ZAk3Ifatk6JrZSVQWoVcqNuQZVUvh8DZTE0NES/fv3QpUsXODk5VSqgBCDmrfzmm2/www8/YNKkSTht0hFqTdnP/b99GmHZoKbIyVfjRlQqlp4OK7Pbv7zJ3Rljrw6B9DGwiLF/sejkbMzaH4rg8MQyW2y0+zvUscV3fb0rPPEgODgYffr0QUZGRokzoLt3744jR44gLS0NTk5OlZ4p/by6H32JXNeWZQZQv45sieZuVmj53UlkKct3bdKokXH9CFJOrtVHVaudubk58uRmcBq1EiSR6WUmOREB6nzErhsPVVp5JzK9HObWdrAas7HU593QyQIfNHfBpYgkpGQr4W5jirEdaqOWrSlG/nIFZ8NK7y4XANye9zYv08jYa4IDSsaqYOeVKMw9dAeq/8+lV15SiQCZRMD8Pg0xqJwpUn799VeMGjVKbIkszcaNG+Hm5obu3buXu05lkdu4wnnMKr2V97wn68bprWUOABwcHODs7AyFQoGMjAxcvaq/cYkAoFAoYO7zNiSth+qtzKSj/0PmrRN6K2/9+vUQBAF79uzBsWPH9Fau3L4WnEcuK/vA51gYyXB8ckek5eSj59LgMo8/Mqk9GjqXfzIRY+zl4ZVyGKuk5WfCMGNfKPJUmgqPI1NrCHkqDWbsC8XyM6VP1NBoNPjyyy8xfPhwqFSqciX5joyMxIMHD4qdsV1ZmtRY5Dy6Dmj00+KpRRo1ch/dgCYlVm9lNmrUCKdOncL169dx+vRp/Pzzz2I6JX1JTU1FTNBvaJAfXrChsr/N//+8lKBfkBV6Uk+1KxAZGQl3d3eMHDkStra2eitXkMordV56rgqn7yXAy8kChuWY6FXR7AKMsZeHWygZq4SdV6IwY1+o3spb2M+72GTO2dnZGDZsGPbu3au3a1WFzNIBTqNXQpAZ6LWb99nmT5GTqL/WSS1BECAIgl7WqS6Nc4cBkLX6qGA4QAXGVAogqPOVyAzaiJSrR6qxhvpl7uYF68E/Vurcb99vBP9WNVFv9jHklREwVraFMiMjA5GRkXj8+DEePXoEa2tr+Pv7V6q+jLHy4cEpjFVQacmcK6u4ZM5Pnz5Fr169cPPmzUqV+e2334KI8NVXX+mrmlClxcPozmEoffrrpTxBEJB8Yo3eg0lLS0ukpaWJk0mqW2zwbshunYW130QY12oG0qhLHWuq3Z/96AaSj6+oljGT77//PtLS0hAaGorExLLT+1SELCel1OTuJbEwkqFrfXvciU0rM5gUALjbFM19CRSshPT48WOdR0REBMLDwxEZGVlkuU1nZ2f4+/tDrVbj5MmT6N69u7isJ2NMPzigZKyCykrm3NDJApO7eaKJqwIWRnLEpubg4M0nWBscgdz84r9En0/mfPPmTfTs2RMJCQmVbl3r0qUL1q9fX6lzSyKVShF2fDNqSgyBxu8WdNdWoqVSG4ykBP2CjJt/6LWO2vL79++PMWPGwMzMDNevX8ehQ4dw4oT+xic+T5UWj4RdcyC3cYVZ054wrt0CMisnnaBLuwJOTsRVZNw4qtcxo89bunQpXF1dodFocO3aNbRt27bSyzc+L+XZUxiXktwdAP430AexqTm49SQNKVlKuNuaYkz72rA1M8S03WX/SLKQKnFo326kpKSIQWNYWBgiIyORkvLPLHFBEMR1zov78SCTyfDBBx8AAHbt2gV/f38MHz4cGzdu1PswCMb+zbjLm7EKCIvPQI8lJSfMrmNvht8/aY+IZ5lY8edDJGcp0aqWNT7pUgdn7idgzJZrpZZ/ckpH3LschP79+yMvL0/f1dcbMzMzoHZbOPT6BPlqDQRp+X+bkkYNUquQcmK1XiegvGyFV+OxsLBAeno6Ppv+BVb88hs8POvhYdh9qFLiINHk623mfVmkUmm1XcvObyKMG79VYkvs+E4e6N3YCa5WJjAxkCI1Jx9XH6dgZVA4bsWkFXuOSKNGeqFZ/xKJpEqtzX/++Sc6deoEPz8/BAYGgojw8ccfY9WqVXpf652xfysOKBmrgHmH7mBLSGSJk3Cm9qiLSV090fHHM4hKzha3f/d+IwxuVRON5/+B9NziW4kkIBhEhuD+jm/0UleJRIKuXbtiwoQJ6Nevn17KLMzExAQqI0vY+k2C3K1xubt5cx5dr7ZuXqlUikaNGiEqKkqnFQsAjIyMMHLkSNy9exdnzpzR+7WLY2tri8TEREgkErGlWV/LQJZGGyRpr+Pi4gJnZ2dcvnxZb9d4nWb9z58/H5mZmVi0aJHOa//pp59iyZIlHFQypgfc3s9YBZy5n1DqjG5tV3hGru4Sgum5Kqg1hHx1yedqICDL0l0v9QSAgIAAbNiwAbm5+lkT+nnZ2dlQJschdvssxK4bj4zrR5CfHFskWCIi5CfHIuP6EcStn4CEXXOqLc+il5cXAgMD0blzZ3GMnPa/ubm52LhxY7W9HsXRjl0sPGyhuoPJWrVqYfr06di7dy8CAwPh4+ODmJgYvQaTAGCkTK2eWf9qFZR6TO4OAD169MCPP/5Y5LVfunQpZs6c+ULG2TL2puMWSsbKKTNPBe95f6C0PxgXhTGOfNoB58IT8f2xuwVd3rVtsORDH+y9EYP5h/8u9RpEhOifB4DyX1zQo2+C3Ahya2dAIkPTJt64fOoImjVuiGvXSu/u17fatWtj8eLF6NOnDzIzM7Fw4UKsXr1a7xNU/s18u/jhabMxkMgMKjWW9nlEBEGjwpO14/T2o6Nz586YNm0aevfuXeIx8+bNw9y5c/VyPcb+rbiFkrFyikzKKjWYBICY1Bz0W3Ue9RzMEfx5V9yZ74eNw32x93rZwSTw/xMMrJz0U+H/Z2lpiUGDBum1zOJoJzhQfi6U8RFQxj1Awv3roPzcFx5MAoBarUZ+fkFLsVKpxJkzZ5CYmAiZTIaWLVu+8Pq8CB07dizSfaudtFIds5qvnDmOhrl39BJMAgV1TfpjpV5bsBUKBQYMGFDqMfPmzcMPP/ygl+tl5alwJzYNN6JScCc2DVl5+pkIxdirjmd5M1ZO5Umy7KIwxvphvkjMzMO4rdeQnKWEj6sCn3StAxMDGb7Yd6vMMiqbNLo4x44dg5+fHwAgPj6+WscOFjcb/dGjR9V2vec1bdoUmzdvhouLC8aNG4d9+/ahf//+MDU1RU5ODjQaDTp27IiDBw9CoVDg6dOn8PT0RGZm5gurY3U7e/YsDA0NYWpqiuTkZABAv379sH37dhgYGKB169YICQnR6zWPr5iDev0mI7duj0rP+teelxL0i94nauXm5iInp+w14r/44gsYGRnh008/rfA1wuIzsC0kCmfuJyAqOVvnh6cAwM3aBF3q2cO/lRs8HcwrXD5jrwMOKBkrJ4NyrOzxhV99mBnK0GtpMHLyC8aWXX6cjJRsJX7s3wT7bsQg5FFyqWWQOr/U/RXRs2dPvZX1qjMxMYGLiwusra3x22+/4eLFi+jRoweysrIAAKampvDz84OFhQU0Gg0mT578RgWT1tbWCAwMRPPmzQEUBPO9e/fG3r17YWpqCgsLCzHI1Lf7+/4Hs8Z3YfP2eBCECs36F0BQq5TIv7QN6Rf36b1ux48fL/exkydPhpGREcaOHVuu46OTszFrfyiCwxMhlQjFjq8mAJHJ2dgSEonNFx+jQx1bfNfXWyfnLGNvAu7yZqyc3G1MUVbbSwMnC4QnZIrBpNbNmFQAQN0yWie0eQr1wdDQED179oSxsTGAgskplpZv3rrINWrUQKdOnXD+/Hk4ODjgv//9Lz788EO0bdsW2dnZGDNmDKZNmwYiwqxZs2BqagobGxv89ttv8PHxQbdu3V72U6gSV1dXDBkyBMnJyejUqROuXLkClUqFQ4cOia3GKpUKycnJMDMzQ/369aulHpm3AvFk7TjkRhW0wlNZk3WooG45j29CFrgAT8/rP5gMCAio8Dnjxo3DL7/8UuZxO69EofviIFyISAKAMpdf1e6/EJGE7ouDsPNKVIXrxtirjFsoGSsnU0MZ3KxNEFkoHdDz4jNyUdfBHCYGUmQr//lCbeZmBQB4mlb6ZBtVSpzeJuTI5XIcO3YMgiBg5MiR6NWrF3bt2oXjx48jIyNDL9d42SwsLNC3b1+4u7ujWbNmWLlypTi5ombNmjh9+jRq164NjUaDESNGYMKECTh79qw40/v27dt6S/b9MvTv3x+7d+8GAHTv3h0BAQFo2bKlmJpIKpWiTZs2+PTTT7Fjxw4cOnQI9+7dq5a6CIIAVVo8kvf+F4KlU6nJ3TVp8cgKvwzb1LuIvBpcbWl7KpPLlYgQEBAAQ0PDEsceLz8ThkWBDypVJ7WGoNYQZuwLRWJmHj7p4lmpchh71fAsb/ZGIyKkpaVBLpeLj6p8eU3cGIQjD9IBofjG/e5e9lg7pAX+iknFhnOPkJylRFM3BSZ0roPY1By8syy4xNRBpFEjo1AyZ/bivIjckNVBoVBg06ZNWLZsGc6dOwelUinua9asGUJCQiCTFbQbaDQajB49Gps2barWOsnlcuTn56NDhw4IDg6GIDcqCCqlcgikhjLpCQS1strXV68qiUSCPXv2oG/fvjrbd16Jwox9oXq7zsJ+3hjo66a38hh7WTigZG8ktVqNW7duYefOnUVmb0okEsjlcshkMvFROOCUy+UwMDCAXC6HoaEhDAwMEB8fj6ioKOQb25SZzLlNbRuM7+SB+o7mMDeSIzYtB6fuJmBlUDhSs0sfH/l0w0TkPYus8vMv7Pkk128Ke3t7PHv2rFzPS5tYXBAE2NnZAShovcrNzX2lVyQqiUQigaGhoc5kk1q1aiEgIAATJ05Ejx49cP36dXh4eODs2bNYsGAB1q9fj9zcXJibm8PBwQHh4eHVWkcjIyPk5ubCysqqSJL5F6F79+44efJklcqQyWQ4ePAgevXqBaBgzGT3xUFlrkNeEYYyCU5O6cRjKtlrj8dQsjfSzJkz0axZs2JbIzUaDfLy8pCVlYW0tDQkJSXh6dOniI6ORkREBO7fv4/Q0FBcv34dFy9eRFBQEO7du4fs7Gw4m0mQ8+hGqcmcL0YkYdimy2i54BS85h5Ht5+D8N2xu6UGk6RRQx1zW6/B5Mcff4y0tDRoNBr8/PPPEAQBUqkUQ4cOxfDhw1/71DkJCQk6waSJiQk+++wz7N69G/Hx8SAiLFq0CEDBPTc2NkZ4eDji4+MRHx+P1NRUdOnSBQDQvHlzeHl5vZTnURkajabIzGVDQ0PExsYiNDQUBw8exIgRI/Dw4UPUqFEDy5cvh5mZGZYtW4b09HRcvnwZJibVG8BohxW8jGCyYcOG5RoHWRaVSoV3330XO3bsAADM2h8qLl5QHgNbuOLxgndwZ97bJV9DQ5i1X38tnoy9LNxCyd44e/fuRf/+/QEArVu3RlxcHKKiovTWQtdzwBDccesLQY/JnCUaFWL0mMwZKGhdcXd3R35+PiIjI2FlZYWLFy+iXr16AIDY2Fh4enoiO7vkMaGvKicnJ8TFxUEqlWLq1KkICwvD/v37YWVlhfPnz8PLywvnz59Hjx49kJOTg5o1ayIyMhISiQT/+c9/sHDhQvTr1w8HDx5Ex44dERQUBAC4fv06+vbti6ioN2/ChEwmg7GxMQwMDKBWq5Gamvqyq/Ra8RsYgLu1Pij38Q4WhjjxWSdkK9UwN5Kh4bw/Sj3+5JSOqGPPKYXY64tbKNkb5d69exg6dKjYMnnp0iXk5eXpLZgUBAHHdm9FnfQbek3mnKjnZM6urq6oW7cuwsPDERlZ0OqZlpYGPz8/DBkyBNu3b4eXlxeys7MxYMCA12b2t3aGclxcHFxcXBAdHY2FCxdi3759WLJkCVJTU+Ht7Y3BgwejQ4cOyM/Px86dO/H48WOcO3cOdnZ2WLRoEUxMTHDw4EG0atVKJzenubk5njx5AnNzc7Rq1eplPc0iBEFA+/bt4e3tDQBYs2YN8vLyEB0djWvXrmHgwIEA/kkuXxyVSoXs7Gykpqa+0cGko6OjOG5UX0xMTPC30rrsmeuFfPu+N0IeJeNc+LMyj5VKBGy99Ob9iGH/LhxQsjdGRkYG+vTpA6VSqRNAPn36VG/XICKYmJjg9LpvkHp2i7itkoUBQLUkc3Z0dBSTig8bNgxffvklmjZtimfPnmHbtm3w9/dHeno6FAoFNBoNVq9ejcaNG+u1DvokCAJcXV1x7949mJiYwMTEBDExMThy5Ih4zOTJk3H+/HkAwI4dOyCXy/H333+LwVa7du0QFxeHRo0aieMmFQqF2DWrTXyu0Whw6tQpXLp0CXFxcWjduvULfra63nvvPWg0GgQHB+PSpUswNzfHhAkT8OTJE7i4uACAOB5So9HAwMAAZ8+ehVqtxpEjRzB48GC4uroCKBhbrFarIZFI0KhRI4wePRoeHh4v7bnpW82aNbFp0yY8fPgQFhYWeitXEASo7OtBkJRvtaH3fWqgVS1rzD54u1zHqzWEMw8SqlJFxl467vJmbwQiwoABA3DgwAGo1eVvRagqs8Zvwa7nRKg1VKFkziANNKp8pJxYrfdgUksQBCxcuBDTp08Xt6Wnp6NWrVpITk6Gu7s7kpOTkZ6eXi3Xrw6DBg3CL7/8gtTUVHh6eiI9PR1btmzBkCFDkIfCf60AACAASURBVJiYiBYtWiAyMhKGhobIy8tDkyZNcOHCBXG84Pjx47F69WrUrVsXpqamuHHjBgwNDbF48WKcOnUKe/fuFcff7tq1C5cuXUJMTMwLf54GBgbYuHEjhg8fDkdHR506nD9/Hh06dIC1tTVsbW1x//59AAUBs6urK3bu3IkGDRogNDQUEokEZ8+eRf/+/fHs2TPxdREEARKJ5IX+rbzOBANjuE75rVwZImxMDXBiSif8fPIBtl6KxKL+jdGzkVOZXd4CgNvz3oapIWfzY68nbqFkb4TFixdj7969L+wLUvvF4qKMQvKWKTDNii3YQaXP/tR2meU8/gtx6ydUazBJRPj8889hY2ODkSNH4v79+6hXrx6Sk5OxcOFCPHr0CGlpabhy5QocHR2rpR76JJFIkJGRgfnz5+PSpUu4cOECTE1NMWzYMMyfPx+urq6IjIzEZ599huzsbAwcOBA3b96Es7Mz7ty5gylTpmD16tXw9PTEnTt3cP36dezcuRNSqRQTJkzA3r17IZVK8f3332PAgAHYs2eP2DVsbW2NmJgY5OTkVPu66J07d0ZYWBj8/f0xYsQIPHnyBFu2bBH3P336FObm5khKSsL9+/fh5+eHyMhInDt3Djt27MCIESPw999/w8fHB2+//TY6deqE5ORkzJw5E7m5udi1axekUinUajXk8oJlPvXdRfwyaIdtGBgYYODAgWJCf32QKRzLnW7s6/caIeJZJrZeqtgEOwLwOCmrErVj7NXAASV77QUFBem0wr0I2ob9iIgIpMVGoLv0LmLXjUdj41RQerzYnV34+PzkWGRcP4In68YhYdccyJXV0zLo4OCA3NxcPHz4EEOHDoVGo8GmTZtQv359PH36FLVr18bVq1fh7OwMqVQKX19fvQ4L0CdtV7eZmRk0Gg2OHDmC7777Du+99x4aNWqEnJwcEBHmzZuH3Nxc9O3bF126dEF6ejp27tyJFStWICMjA97e3liyZAnc3d1x4cIFrF27Fm+99RYmTpyoMylJrVbD0dERP/30E5KSksTu7kOHDqFGjRowMjLCjh074ODgALlcrjNT2sjISKxzeclkMvj4+GDz5s2wtbUFAPz555+oWbMmXFxcYGFhAQMDA0yZMgVr166Fo6Mj+vfvj6ysLLFLd9SoUXBz+yeP4aZNm9C8eXOEhoYiMDAQzZo1Q0xMDL777jsAwIcffoj58+cDAPLz8+Ht7Y3c3Fzs37+/MrfolWBoaIhu3brhyy+/hEqlwu7du8X7oQ9yw/IFp34NHdHNyx4zKjlrW6nHdESMvWjc5c1ea0+ePEHjxo2Rmpr6UhMla5M5GxsbIycnRyeZM6nzdVbAsbGxQVJSUrXVxcvLC/369UN8fDzu3r2LyMjIcnXbalfT6dChA2xtbWFpaQmNRoMhQ4Zg7doXk2xdm7sQKJiAc+HCBVhZFawy1KRJE9y6dQsLFiyAqakprl27hoMHD5Y4wUQqlcLCwgJqtVrs1te2zGnZ2dkhMzMTOTk5WLx4MZYsWYLIyEgoFAosXLgQH3/8MXx8fHDjxg3xnEePHqF27dro27cv9uzZgxUrVmD+/PniPe3fvz9kMhliY2Mhk8lw+vRp8VyZTIa3334bFy9ehEwmQ3z8PxOxdu3ahUGDBuHjjz/GkydPcOrUqSKpgQwMDDB8+HAsWbIESqUSTk5O0Gg0iI6Ohr29PcLCwtC7d288ePBAfK6FZ7EDwPDhw/Hrr7/CzMwM7u7uuH37Ntzc3HD48GE0b978tV45qLrI7WvBeeSyUo8xMZAiaFpn7L8Ri+VnwsTtX7/XCN29HNDm+1PIV1ORZVkLOzKpPRo6vx4T5Bgrghh7CTJz8+n2k1S6HplMt5+kUmZufoXLyMvLo5YtW5JMJiMU9Bi9Mg9TU9Mi25ycnF5KXQRB0Pl/iURCFhYWJJVKxW01atSgzZs3k1qtJiKiWbNmEQBauHAhERGlpKTQ8OHDSS6XFymvKg9tHTw9Pcne3p4AiHWzs7PTud8pKSlkbGxMcrmcbt26Ra6urgSA2rZtSzdu3CADAwOSSCQUEBBAPj4+ZGZmVuq1LS0tSaFQEABq2rQpHTx4kFJSUmjBggUkl8vF486fP69Tj4CAAAJA165d09murX9xDw8PD53jfX19SSaT6ZyvVqvJwMCAPDw8KD8/n6ZPn06GhoZFymratKl4rw4fPiy+fqNGjRLvzeDBgyk/P5/8/PwIAPXo0YPS0tLIy8uLAFCDBg0oIyODiIimTJmiU36NGjVe+t9PRd/bgiBQnTp1yNbWVud9ra+HsbmC3L44TDVn/F7io933p8r8zPrjdlyJ57vP+L1Sn4OMvSq4hZK9MGHxGdgWEoUz9xMQlZyNwm88AYCbtQm61LOHfys3eDqUnY/tk08+wcqVK9+4FWCq4q233kKtWrVw/PhxMV2Qlq+vL6ZOnYoBAwZAIpFg2bJl+PTTT2FqaoqcnBxoNBrI5XK0atUKISEhMDMzQ3Jysnj+7du34e3tDX9/fzg5OWHDhg2VSlptZmaGvLw8NG7cGBs3bkSTJk0AFHQVjx07FitXrsSUKVOwdOlSLF++HBMnThTPPXbsGHr16iWOEZ02bRpGjx6NzZs3Y//+/eIElcK0E1zq1auH8ePH4+rVq5BKpTAzM0NaWlqR46VSKYyNjZGZmQmgYOzm4MGDsWzZMigUCtja2kKtVovPXTukYMyYMSW+F0ePHo1169aJ/z9mzBisX78ecXFxOuNXO3TogHPnzokt3gqFAjNnzgQRYcaMGbC3t0diYqJ4r9q0aYP09HT89ddfAApmOf/+++9o1KgRNBoNkpOT8c477+Dy5cviakFNmzZF9+7dkZqaivT0dCQlJeH06dNiC7+lpSUEQXilUwsJgoCTJ0+ia9euWLVqFSZMmABra2s8fPgQCoUCISEh6N27NxITE/V2zZqfbALM7ErcbyiToKmrosj28Z090KqWDUZsuozkbCUexGcWX76NCYKmddFbfRl70TigZNUuOjkbs/aHIjg8EVKJAHUpK01o93eoY4vv+nqXuBzZ1q1bMXTo0Oqq8mvJzs4ODRs2xKVLl8Ru48IcHR3x7bffYuTIkQgLC4OXlxfMzMzE8ZNLly7F+vXrERZW0F1nYGAAPz8/zJ49Gy1atMCHH36I3bt34/z581i0aBEOHTokdh+7ublh0qRJ2LRpExQKBeLi4vDo0SMoFIoigYmNjQ3ee+891KhRAz///DOysrIgCALCwsLEFDYqlQoWFhaQyWRITU0V8yt+8803mD17NgDA1NQUKpVKTAEkk8lgb2+PuLg4AAARwcrKCuHh4bC2thavv3btWowfPx4ajQZSqRRRUVFISEhAcHAwrl+/jvv37+PKlSvFdv1qA1kLCwvUrVsXT58+RVxcnPg6WFhYYNmyZRgyZAhCQkIQEBAgBrnNmzfH2rVr0axZM2zZsgXDhg3Dxo0bERAQgISEBIwcORJHjx4FEcHAwAD9+vWDl5eXmDdy69atUKlU8PX1RXR0NJ49e1akjtrXqTLDPwoPB9AmP39VZ4G7ubkhMjISKpUKISEh+P777/H7779DJpPB2toaqampOuua64NV97GwaPYOUM7UQVrlmeUtlQgY2qom5vVpWNVqMvbScEDJqtXOK1GYe+gOVBoqNZB8nlQiQCYRML9PQwzyddPZd+vWLbRs2fK1XIP5RTAzM4O5uTni4uIwcOBArF+/Hp9++im2bdsGpVIJhUIBlUqFrKwshISEwNfXVzw3IyMDVlZWMDIygqWlJWJjC2avKxQKscVOrVaDiFC7dm3MnTsXw4cPx4gRI7Bp0yaxnK5duyIoKEgMSG7fvo1169Zh6dKlYlCmpR03OWfOHMydO7dI8DhixAjIZDJs3769yKo+Li4u6N27N4YNG4Y2bdoAAGbNmoUFCxYAAM6cOYPOnTsXeY3q1q0rBs7Dhg3TWabvxIkTeOutt9C7d28cPHgQN2/exKRJk8Qcl6XRtnwaGRnByMgIgiDg8ePHOsGaRCKBVCpFfn7p67qX5PmUP9qWRy2JRAJnZ2c0bdoU9+7dQ1hYGAwMDGBjY4O4uDj4+flh+fLlMDc3R5MmTfD06VMsXLgQn3/+OZRKJbp164Zz584BAN555x2kpaWJ//+y2dnZIT8/X/yRUVzgLAgCGjZsCGtra5w9e1Yv15VIJDC0qwn7gNLHURanvGmDeKUc9rrjgJJVm+VnwrAo8EGVy5n2Vl180sUTAJCamgofHx9ER0dXaRKOTCZ7oyYfWFlZoVOnTggODhYnh7Rv3x7BwcHiMUqlEjNnzsSSJUug0Wggk8kwbdo0fP3112LaGG26nIMHD6JPnz6IjIzE5MmTcfjwYfH1lkql6NevH1avXo1jx45hyJAhWL9+PUaNGiVe6/mAEvgn6bZ2m4eHBywtLXH37l2dySc2NjYwNTVFdnZ2kS5LExMTjBkzBn369IGfnx9kMhmePn0qznjetWsXPvroIxgaGkKpVEIul+Pw4cMwMzPDs2fPkJSUhK1bt+L06dOoVasWkpKSkJ6eDhMTE9SrVw95eXm4f/8+1Gq1GHgrlUrk5+dXeWjF84F0YZaWlujWrRu8vb2xa9cu3Lt3D9u3b4enpyfs7e1hb28PIyMj2Nvb49mzgpVXrKyssG3bNvTs2RMA8PPPP2Pq1KlFJh7Z2tri2rVrcHFxgY+PD0JDQxEQEIATJ04gJiYG8+bNw9y5c8Xjg4KCxCDcwMAAR48ehZGRETp16vRKtFjKZDJoNBoxEX23bt3Qrl07tGnTBj/88APmz58PFxcXHDt2TFxZSB8UCgVM3/kC0hoNyp3gvDxIrYJxRjSm+Mjh6+sLR0dH2NnZiSmdGHtdcEDJqsXOK1GYsa9yqTOKs7CfNwY0d0GPHj10Zs2yglnFu3fvBlAwhvLEiX9yW/bq1Qu7d+8W09vs2LEDgwcPhqOjI3JycpCWlgZDQ0OMGDECM2bMgIeHB2rXro2wsDCcO3cO48ePx+3b/6z20bp1a4SGhiIrqyBfnrm5OTIyMhAREYFatWqJxz0fUJ47dw4ffPABEhISIAgCzp49i/bt20OlUuHAgQMYNmxYkRnNz3N0dESTJk2QnZ2NrKwsxMXFIS4uDjKZDGZmZsjJyalyq7U2GDMwMIBcLkdubq74HLT7bGxskJqaCrVaDVdXV8yaNQsbNmzA1atX8eTJE9jb20MikSA0NBT79u3Df//7Xzg5OUEqleLZs2fF1tHExARubm5ikL19+3aMHTsWa9asAVDwY2DIkCHifa5VqxbCw8OLLLX4/vvv4+DBg+IPpsLBZe3atTF8+HBs2bJFXFlnxowZYmsuAGRmZsLR0RF5eXlYs2YNxo0bB5VKhVmzZmHhwoWwsrKCIAhISHjxq7pMmDABP/74I0xMTBAVFQUPDw8YGhoiISFBfH/fu3cPw4cPx+XLl6ulDnWbtUVu12mAVF6h9FAlISJISI2YNR8XWXrV0tIS9vb2cHZ2hrOzMxwdHeHg4AAHBwedf9vb278ReUTZ648DSqZ30cnZ6L44CHnF5FRr4mKJqT3qoVlNKwgAbsWkYdGJ+7gWWfrkDkOZAIOTP+L2pT/1Vs83oZVSO3mjXbt2sLa2xuHDh9G5c2ds27YNvXv3FleC+d///od3330X7u7uOq16q1atwrx588RAj4gwZ84cbN26FRERERAEAV27dsWFCxegUCgQGxsLlUqFPXv24KeffsLVq1fFujg4OKBx48ZwcXHB77//jmfPnqF169a4c+cOMjIyAPzTPVtaa115CIIAuVwOjUYDlUoFExMTZGdnQxAENG/eHHZ2drCwsEBiYiJOnToFuVyO2bNnY8GCBcjLy8PRo0fh6+sLhUIBiUSCDRs2YOzYsUVavU1NTfH2229j7ty5mDt3Lg4cOIDHjx/Dzs4OAwYMwNGjR8VubrVaLT5PrYcPH6JOnTro168fbt26hfDwcAiCgBYtWuDJkyeIjY0t9bWQSqUwNDQU823a2NiIgWlsbGyRhPRLly7F5MmTAQDz58/HnDlzcOLECSxYsADnzp0r0s0+ffp0/PDDD+L/t2zZEleuXMGmTZswYsQIREVFoWXLlmJ6o+3bt6NXr17Ytm0b5s+fX22BpbGxMSwtLZGUlKRTZ0EQ0LRpU/zwww94/PgxRo8eDQcHB9jY2ODhw4disK59TbV/H/rk3s0f5PuR3spLOvq/Mhc40A6TIKIin1mCIIjBp6GhIczMzHD+/Hm9BLyMVQQHlEzvhm4IwYWIpCJjJhu7WGL32Db4KyYVG849ggDg404eaOhkgY/WX8L1qJJnlZJGjbyoW0jYNUdvs7p79eqFkJCQas0JWZ3mzJmDmTNnom/fvjh+/DgAwMfHB9euXRNbrjZv3owJEyYgJydHbK0aP3487O3tkZKSgrS0NKSnp+POnTt48EB3eIJcLhe7jvU9wQEoCJbMzc3h7OyMunXr4sCBA3B2dsakSZPwyy+/4N69e7C2tsZ//vMffPXVV/D19YWtrS2uXr0qdvsWJpFIEBQUhPbt2+ts37ZtG4YMGSI+/xUrVmDChAkACrrh161bhxUrViA09J8WdQcHB2zduhXdu3cXt5mbm8PMzEyc9APotrxKpVIEBQWhXbt24v6ffvoJ06ZNE+v37rvvYvXq1XB0dBSXgYyIiMDq1auxfPlyZGdnw8jICGZmZkhMTNTJy1kchUIBR0dH1K5dGxEREbh37544a9/CwgLx8fEwMDAAUDDRyd3dHU+ePNEpw8XFBStXrsTNmzcxe/Zs9O7dG4cPHxb3JyQkwMHBAQDg5OSECxcu4MmTJ/jf//6H3bt3w9HREQkJCVXOA+vs7IyxY8di3rx54nKaAHD37l20atWqSLBemEQigaenJ7p27Yphw4ahdevWGDdunNjCq2/W7T+CeXt/EFHlAjciQBCQGvQr8PcfxWYbqIrdu3ejf//+ei2TsbJwQMn0Kiw+Az2WFD8Q/pcAXzRwskCHH88gN7/gy8fUQIqz07vgUWIW+q+5WGb5T9aNgypJf2srlzSw/1Unk8ng6emJvLw8xMXF6XQXSyQSEJFeAm8jIyNIJBJkZ2ejQ4cOsLGxgYWFBSwtLaFQKPDtt9/C3d0dy5Ytg6WlJfbs2YNNmzYV+wVpZ2eHmjVr4urVq5g7dy7mzZuns9/LywthYWGwtbVFfHw8unTpgsDAQMhkMtSuXRuRkZGIj4+Hra0tlEol9uzZg9WrV+uMEwUKJiU1aNAAPXv2REBAAGrWrIlBgwZh165dkMlkiIuLQ3BwMH788UdxNrcgCBAEAVKpFPXr10doaCjq1q2LkJAQKBQKnD17Fp06dcInn3yCZct0J2bk5ubqLPPn5+eHrl27YuHCheKPlQYNGuDixYviWE8A2LlzJz766COsWbNGbB394Ycf8P333+u8fn5+fti7dy+MjIxw+/ZtBAcHY86cOUhOToaDgwNSU1OLdKNrW+hMTEzQpUsXNGzYELt378ajR48wYsQIrFmzBj///DO++uornXGRcrkcZ86cga+vLy5fvowLFy5gyZIliIuLE9cBf55MJoOVlRXs7Ozg4OCAM2fOoG3btsjMzMS9e/fg4OCA6OhosV5SqRTe3t5wc3PDwYMHcfnyZdSqVQu2trbIzc2FiYkJmjdvjpCQEBw/fhzbt2/HyZMndZLAl8TJyQmtW7dG165d8ddff+HXX3/Vewulllnjt2DrNwEaCBUaU0lqVcEP5PNbkHDpgN7rJQgC7OzsEBYWpvN+Y6zaVWOOS/YvNPfgbao960ixiXszcvPp0F9Pimw/GhpLREQtvj1RauLgmp8fJKvuY/WWrLhfv37k6OhIKJRg+3V6CIIgJuCWyWTk7OwsJnp2c3OjDz74gAICAqhv374EFCTytrGxIQBkbm5O7777rk4C9ho1alBeXh4REV2+fJmaNWsm7pPL5XTp0iWdex0XF0cAqFmzZtSqVatik7kXTsxtaWlJAwcOJAD03nvvFXnvjBo1Sjx29uzZOvvOnDlDAMjPz0/cdvnyZZLJZCSTycTk3HZ2duTm5kYSiaRIHZ6/x4IgUP369WnJkiViIvfvvvuOiIhGjx5NQEGC+suXL4sJwuPi4orUOzAwkADQzJkzxfeT9p4MHTqUAND06dOLnJecnEwAaNiwYeK24OBgsrOz06mnVCql/v37U1JSknjc33//TQDIy8uLTExMCAANGDCAli9fTgEBAdS2bVsyMDAo9n0jlUpJoVBQvXr1xATr5Xm/2dnZUa1atXSSiTdo0EDnOW3dupUA0Pr163W2Ozg4kJmZmfh+bdeuHS1evJgA0Pbt24mIKD8/n3bt2kUWFhZFrm1qakpGRkYEgM6ePUtEROvXr9d5vbXv0+fvcXX+bcssHch+4H+p5ozfye3zg2V+ftWc8Ts5DPyaZJYO1frZIJFI6NNPPy3ynmOsOnFAyfSq4w+nS/xAzc1X0Z5r0UW2H7gRQ0REQzZcKv0Decbv5Dp+vd4+dLVfNHZ2dq9NQLl27VrSaDTUq1cvcVvdunUpP79ghY34+Hhyc3MjANS6dWtKSEgQV5eJi4ujnJwc8vX11XkNbGxsSBAEioyMLHI/V61apXN9d3d3GjBgADVt2lTny1sQBDHQsLW1pebNm5NEIiEioujoaBozZowYzGqvO2nSJIqPjyeif1bmAQpWlSmOt7c3CYJAERERdPPmTZLL5SSVSik4OJiIiLp06UIAaPHixaRWq+nkyZP0/vvvF/s6CoJAAQEBdPXqVVIqlWRoaEgKhUJcKYiI6JdffiGpVEqCIJBMJiNXV9di6zV16lQCIAZwRkZGYpBWq1YtAooPKImI5HI5NW3alLKyssSgVSqV0owZM+jDDz8kAOTs7CzW+e233xbvk4eHhxg8bN26tUjZOTk5OsGZ9gfF80FXeR79+vUT71V0dLRYbp06dcT3HhHRxx9/TAAoJiZGpy4ODg7k4OBAKSkp1KlTJ7HeQMGPHwcHhyIrMNWuXZu+++47evLkCRERXbt2jQBQ+/btxXLz8vJoxIgROj8gJBIJeXp6UosWLXTec/p+FP6xJLdxJavuY8l57NoiK+q4fXGYms89RFbdx9KkL7/R+eypzocgCEVWc2KsOnFAyfQmIzef3EsJBm8/SaXwhAxyn/nPttqzjtDjxEwiIpq043qZAaXbF4dJkBtV2wdwdX/IV+XRo0cP8bX+4osvxO09e/bUuQ9qtZp69+6t88W1fv16GjRokBjo2NjYiAEJAKpfv36x91TbSunh4aHzpQ1AbDGqX78+AQUtct9++y0RFQR32oCysNDQULFF7fkvZkdHR/Ly8iKJRCK2lBZ28+ZNAkA+Pj5kaGhIEomETp48Ke7Py8sjS0tLkkgkNHjwYJ2WPmNjY+rbty8NGzaMbG1ti73v7du3p6CgIJ2g8vbt22J969Wrp7MvLS2Nhg4dKp5vbW1NS5cuJbVaTXl5eWJrLABq3LixzrlaTk5OZGJiIr4GzZs3F1tBb9++TQDI39+fTp06JS6bqL2W9t/u7u4UHBxM33//PQ0aNIiaNWtGDg4OxbZQyuVysrOzoyZNmtAHH3wgvk9cXV3FQNPKyoqMjY2LfQ9KJBKytbXVaY22t7cXg9xWrVqRVCot8jwdHBzIzs6Oli1bRt27dydzc3Odci0sLKhLly60ZMkSio+PJ4lEQo0bNy5STqtWrQgoaEnW/mjRvveef1+1adOGTp8+Td27d6/Wv8siraJyI5Lb1yIDp7rUqIMfCXIjmjRpks7f44t4SKVSatq0KalUqmL/thnTNw4omd7cfpJaajA4bfdfRET068XH1PK7E9R6wUnacTmS8lUFX7QTt10rM6CsOeN3ktvX0tuHrpWVFS1atIjUajV99dVXBBS07D3/5fQyH46OjuL6ysePH6e5c+eKQUCbNm0IAH3wwQdF7oe2xa7ww9XVlXbu3CkeUzi4cnNzo02bNtGYMWPI09NTpyvUwMCA6tevTyNHjqQePXoU6SZt3769TpdsSQElEYktcdu2bSvyZaxd7/ynn34q9tzC3fBHjx4Vt2dlZdHs2bN1ukC1AVXDhg2LlDN79mwCUOx631KplGrWrEn+/v505MgRat++vbjPw8OD7t69S3369BGDGalUSsbGxsXWV7vWNgBSKBQ6dX7w4IEYlJuamurcFy1ra2tSKBSUl5dHwcHBOut1lxbg2NnZiUGbpaUlAaC+ffvqlB0eHk5SqZTMzc0pJyeH4uLiyNzcnARBoO3bt5O3tzcBoPnz51PPnj3Fckp6mJqaklQqJQMDA/riiy9o48aNNGfOHOrQoUOROtvZ2ZGfn5/O+2jAgAHiD4lmzZoV+WERGBhILVu2FI8XBIEaN25Ma9euJbVaTTk5OWRubk4SiYTq1q2rcz0Hh+rtYn7+8Sr9OF2xYkWx703G9I0DSqY31yOTywwGFxz9mzJy/+kiu/o4mVaeCSMiog9WnS9XQGngVFcvH7SmpqY0f/58Wr58OX399dckCAJZW1tTTEwM5ebm0rRp017qF4FEIqENGzaQRqOhuLg4ksvl4hewk5MTZWVlkVqtphYtWhBQ0JKltWvXriLlPT9ucdu2bQQUtHA9H1gZGhqKXeeffPKJznk3b94U92kfFhYWNH/+fLEVrrSAUhvMabuT582bR7t27SJfX1+dVtDWrVvTnj17xPMiIyPFAMzV1ZXy8/Np2bJl1KBBA/EL3NDQkGrXri1+qZuYmFBGRkax9Sh8f/fs2UMPHz6kr776ilq0aFFkPKhUKiUXFxedbZ6ennT06FEyMjIqMpZQKzw8nABQhw4dxHvXvn17GjZsmE7Qce/ePTFoXLBggdjSWLhb9fmA5fkhB99++y1lZ2cTEdGAAQMIKGilU6vV1KRJEwIgBq1qtZqcnJxIEAS6cOGCzmtsPmKlfwAAIABJREFUamoq1u2tt97SeT5qtZr8/f0r/Z728fGhqVOn0r59+ygpKYlatGhBUqlUbH01NTWlrVu30saNGwkATZkyhd5//32d+6FtPS3cOq21YcMGnesV94PhRT7KOz61Oh+mpqbFjv1lTN84oGR6U1YLpfbh+eVR6rH4T2r7/SmqOeN32nbpMWXm5lPdr46+8BbKV/FhbW1NgiCQvb29zus7bNgwAgqCm7S0NHG7Wq2mxo0bE1AQNGqDB6Bg0kZgYCC5u7sTUDAu7f333xdbPAt/6TRs2FDsSjU1NSUPDw8SBIGysrKIiEipVIrduNoxky1btqQvv/xS/MI3Njamzz77jDp16lRiQKktQyqVFgkK8vPziwSrhoaG1KlTJzGQqFmzplgHbTna4FOj0ZBarRaDrZkzZ5b4fo2PjxevUb9+/SJdg7GxsfTRRx+VeJ+8vLzEMab9+/cv9hragHL69OmUlJSk020tl8vF+1BcV6hcLicrKysCII5ZlEqltGXLFrH8uLg4cnV1Fc+pUaOG2KLatGlTMcBPS0vTGUurvQczZswoUueIiAjxtd22bVuR/fXq1SOZTEY3b96kbt26FRv0WltbU/Pmzalbt27Upk2bIsMlnn/UqVOHGjVqJL4Oz7eGOjo60pQpUygxMVHsEi881jYwMLBIq2SvXr2IiOjp06di1/6/8SGVSmngwIEl/h0wpi8cUDK9ySxjDGVxjzYLTlJatpLWBz8s1/H6HEPZoUMHunz5sti117dvX5o9ezZNmjSJhg0bJrZIeXh4UO3atUscV6bPh6WlJXl7e4tdt23atKEJEyboTNgAQMOHD6fw8HCx9e348eNFxszNnDmTNm/eTL179yZ7e3udfdqAq23btuKkB60VK1aIQYKRkRHFxcXRzp07xaCxXr16dPbsWQJA48aNI6KCoPann34SA1JtQFK4dTAvL4/atm0r1qF79+7Fvo+0M4Xnzp1LX331VZHgt/BzWLFihc6kECKigIAAAiDOAI+Oji72Om+99RYBEIMNb29vnXGOp0+f1rnnrVq1opkzZ1KrVq2KdGmamJhQt27daNmyZRQfH09nz56lBQsW0DvvvCO+jqV1gyoUCurfvz998803dOrUKcrJyRFfV+19tba2pgcPHhR5Hjk5OSSXy8nQ0FC8hkQioZ9//lnn+fzxxx8E/NP96+3tXezrsm/fPrGMwuNUr1y5QmPHjtW5v9rXuVatWkVacE1NTWngwIF09+5dcVKOWq2m0NBQWrFiBY0aNYrq1KkjllHSa1OzZk3q1asXff7552LLprYFdurUqWJALZFIqFevXhQdHS3+Te/evZvWrFkjtmy/Ci2GL+sRGBhY7P1mTF84oGR6Vdos7x6L/6SfT9ynEZsu0+B1F+nr3+9Q4v+xd+VhVVXr+9v77DPC4TAPIqOADCoq5iyK85SziTgPOaWmpqSYmiNZmkNpWdrNNMX0dkPTvCSSac4TSmY4p4gTIgIiHA7v749z1+pszgGta/dXxvc863lgn73XXmvttfd61ze8X/5jnL6ei7DZ3zwVoPQe/fEz+8DWr1+fL5AxMTGyfuTk5EAURfj5+fFjq1evfua+UYIgcMBgZ2fHtUjP+j4KhQIGg0EGLEVRxIIFC7BmzRps27YN+/btw7lz55CTk4MVK1ZY1aFWq7k/1po1a0BE2Lx5s9Uc+PTTT3mfFAoFevTogaNHj3J/zU6dOkGn0yEoKMjmHGIaRl9fX3Tr1k3WhvKarvbt28vMecxnMSQkBHv27AGRGZCUD4i5dOkSiIgHfjAzblRUFLZu3cq1oOy5lI+Az8vLQ3BwsOw5Ps1zcHV1xcyZM7Fnzx4MGzaMX2cwGKyA8Z07d2Ta2rS0tArfOxZpTmQGp2xDoNfrMWvWLN5/Sy13bm6uzbo8PT0hSRI++OADmZ+oZT+8vb0xduxYGZXU8OHDQWR2kbA1z7VarexZFRcXy6L7iczAu3bt2mjevPkTtZqWdYeFheGzzz7DvXv3AAC5ubkyzalOp8PGjRtx48YNKw3436GIooiAgAC+UamSKvkjpApQVskzlcp4KFstScPhS/dwv7AYj42luHy3ACtSMxE66+nA5LPmobQsCoUCzs7OiIiIQPfu3TlY2LRpE8aMGWMVPDJw4ECcPHkSmzZtwttvvw0iQqtWrWRBFszPjWlFLLUjb731Fv7973+joKCA06EMHTpUNpbx8fGyBXHr1q3YunUr5s+fb3NRtbWIaLVaaLVaqFQq7rP434yTo6MjfHx8eMBHo0aN0KFDB/Tp0wcjRozAlClTMH/+fAQHB0MQBCuewKlTpwIAgoKCYGdnZzV/srKyMHr0aCtNUosWLThtzblz59C7d2/Z776+vpgyZQrUajVUKhXu3LkDABzcjBgxQnYfFi189uxZfswy4EehUCAqKgpEZgDcr18/1K9fH+7u7hXyOxoMBvj6+qJatWo2ffdCQkIwZ84cXL16ld/zwoULHKxZBuakpaXxucQ4MZkJ15ZMmzaNz4OioiKYTCbMmTOHPyeNRoPx48fLIvt3797NrzeZTNi5cycPerE1T/r37w9vb2+oVCqbEesNGjSAJEkAgNTUVN7+mjVryupzdnaGh4eHDDDa29tj586dsvpMJpPsnKZNm6JTp05PpD0SRVH2jJRKJZKSkjjYXLVq1R/yDfmzF+av/Ful4LERGVkPcPLafWRkPUDBY+OTL6qSv6VUZcqpkmcqlWXKeRbyLDPl6PV6ys/Pp06dOlFOTg5dv36d7t+/bzMbCNGvWXW8vLxo3bp11KJFC7K3t6clS5bQtGnTaNeuXdS2bVvKz88nOzs7cnFxIR8fH0pKSqKYmBjKzc0lPz8/unbtGl25coX8/f153U5OTiSKoiwN5D//+U+ePu3KlStERDRs2DDav3+/LLsJEZGnpyfdv3+fjEYj7d27lwYMGEA3b96kBQsW0MyZM/l5RqOR9Ho9qVQqMhgMdOPGDQoICKBp06ZRQUEB5ebm0o8//kjbt28nInPmlICAALp37x7dv3+fiMyZUUwmEwEghUJBZWVlvzkrD8vkotfreb7loqIim7nVmzVrRm3btiVnZ2dycXEhFxcXcnNzo/fee4/Wr19PYWFhdOXKFZ6i0Nvbm+Lj42ncuHEkSRKFhITQhQsXaOfOndS5c2c6efIkRUVFUfPmzenbb7+lV199lT777DNZikNb+bWVSiU5OjqSt7c3BQUFUd26dWnFihVUUFBARqORTCYTLV68mF599VUaPHgwbdmyhV9rb29Pjx494lmZtFot1axZk9q1a0dpaWl04sQJUqlUVFxcTNWqVaPs7GxSKBSUlJREvXv3purVq1Nubi4VFhZajc+bb75Jc+fOJYPBQHl5eZSQkEALFy4kInNqyVWrVtHcuXP53GLpFwVBoA4dOtDJkyfp5s2bsv5GRUXxTEO3b9+mFi1akCiKZDQaKSYmhvbu3WvVDjc3N1IoFHTr1i0iMqdsbNCgAV2/fp0UCgVvj+V9vLy8KD8/nzQajc10mjExMfTdd9+Rq6sr3bt3j4iIVCoVvfbaa/TGG2+Qs7MzabVa2rdvHx04cICSk5MpNTWVTCbTf50v/nkUSZLo3LlzFBwcXOl5F27n0+dHfqG0n+/QL/cfkeUoCkTk66yjmJruNKCRLwV76P/QNlfJX0j+36BslTy3ErvmAPxe3/6bfCmf6Ds57St4xC545rv2OXPmADBrQz799FPUrVvXpsbDxcXFZuCEJElcY9KlSxfMmjULu3btwsOHD2FnZwdvb29IkgRBEJCYmIitW7eCyJrKIy4uDkSEjIwMAMCuXbtkZOHlNUZ6vZ6br99++21uGp47dy4AID8/n/++ZMkSfp8xY8aAiPDxxx/DZDKhT58+IDJrHo8fPy4jTG/Xrp1ME3Xjxg3Z+Dg4OMj6UFhYiKtXr+Lo0aOoVasWP89gMGDEiBF48cUXeZCJ5diW//9ZmvtVKpWMMsbT07NSU6pCoZBpwDw9PbF3794KTYVqtRq1a9fGxYsXOYk2myehoaFITU0FkTkox2QyITU1FcOGDUONGjWstLD+/v5cq0dEGD16NMrKygAAU6ZMAZG1H1xiYiJvZ0FBAZycnKBWq614PC3pi8oXBwcHNGvWjPuUls9SBJg1puy5fPDBBzbHggVHMTl27Bi6dOkiG28/Pz8sXrwYSUlJaNKkieydeuGFF5CUlMTnXH5+voxD0s7Ojj+bkJAQZGZmcqqv2bNnIzo6mr+TCxYsAGAO8mLE8MwHWJKkCqPnn/ciSRJiYmL4vCovv+QUYuBac4KJiixNrLDfB649jF9yCm3WVyV/L6nSUFbJM5P8/Hxat24dLfvoM6Ius0hQKIkE4b+uFwAJJiNlfTyWSvOenM/3t4goilwzVP5VEEWRJk2aRO+88w6JokihoaF06dIl+uGHH+jgwYN08uRJ+vnnn+nkyZM2NWtMBEGgpk2bUuvWralOnTrUt29fGjBgAG3cuJGf8/PPP1NoaCgFBwdTSUkJXbt2zaoepVJJw4cPp/fff58kSaKSkhLy8PCgvLw8AkANGjSgY8eO8fMfPHhAQUFBlJOTQ6tWraLBgweTk5MTubq6UnZ2Nj/vvffeo1dffZX3X61WU2lpKZWUlJAoilbt+Pzzz2ngwIFERBQaGkq7du2igIAA/vvFixcpLCyMSktLqVu3bvSvf/2La3c3b95MixcvprNnz/Lz1Wo1TZkyhRYtWkQlJSUUGhpKV65c4drcs2fPUmlpKd29e5fu3btH9+7do9zcXMrNzaXvvvuOTp8+TURm7YuLiwsVFhZSUVGRlRb394parSZJkkilUpFarSa1Wk06nY7UajWdPn2avLy8qGHDhrR//36uxdXpdPT++++TTqej2NhYmjBhAi1fvtxqPI8cOUJz586lb775xua9NRoNLVmyhPr27UseHh7Upk0b2rNnDxERrVixgiZNmkRubm508eJFcnBwoHXr1tHIkSNp2LBhVL9+fUpOTqYTJ05Qbm4ur9Pe3p5MJhPP/+7r60spKSlUr149kiSJHjx4YPO5u7m50b1790ij0dCZM2dkWq4bN26Qj48P9e/fnyRJoh07dtCDBw+IyKwxvnPnDhmNRpIkiTZv3sw176WlpRQTE0MHDhzgdTFNcE5ODtfoOjs7U05ODpWUlNCQIUMoKSmJBEGgYcOG0caNG6mkpISIzNrs7du3k7OzM6/v3//+N3Xs2JGIiOLi4ujzzz8nIrO2NDIykjIyMiqfAM+hbNq0ifr37y87lnTsF5qz/UcqLQOZyp4eFihEgSRRoLndIij2Bd9n3dQq+QtJFaCskt8lRqORMjIy6OjRo3TkyBH64YcfKDMzk4iIFAoFNYqbTFnerZ7Z/XJ2raCCM98+s/qIzO2sCHTo9Xp69913aejQoSRJEhUUFJCDgwM1adKEfvjhB9m5BoOBnJyc6NKlS3Ty5ElKS0ujt99+m5sYVSoVX/DK30OhUHBzL1s8ywszZY4YMYLWrl0r+2337t3UqVMnIiLKy8sjBwcH2e/37t2j4OBgevDgATVo0ICOHz9OX375JfXs2ZOIiC5dukRdu3al8+fPy6574YUX6OjRozbbc+XKFQoMDKQaNWrQpUuXSBAEGj16NK1atYq2bdtGAwYMoNLSUhIEgcrKyig1NZUWLVpEBw4coJKSEhIEgSIiIigjI4Pc3d0pJyeHTCYTeXh4EBHR7du36dVXX6UXX3yR2rZtS5MnT6Z3332XSkpK6PDhw/TDDz9Qeno6ZWZm0i+//CJzE2DCQImXlxeVlpbSjRs36OHDh7LfR44cSX379qW7d+9STk4O3b9/nx48eEAPHjygLVu2UH5+PhGZ3RHc3d2pqKiIHj9+TCUlJbxUtpGoSERRJEmSSJIkUiqVBIC3zdnZmTQaDT18+JAKCwtlmxxRFAkALViwgIqKimjBggXk7OxMFy9eJKPRSJ9++il9/fXXdODAAdl1bJ6PGDGCli9fTvb29kRE9MMPP1CrVq1kfYiPj6fFixdbtfnWrVvk5eVF9erVo9OnT5NWq6Vz586Rn58f3bt3j/r16yczgzs7O1OPHj1o9uzZ5OfnR56enlRSUkKPHz+moqIimjhxIq1YsYKIft2gzJ8/n/7xj3/Q5cuXeT0ajYYMBgPdvn2bbt++Te7u7kREdObMGerYsaNsY9SjRw/617/+JWv3Bx98QOPHjyeY4wWofv36dOLECSIiGj58OP3jH//gLhd/J9FqtXTz5k1ydHQkIqL30y7QkpTM/7reqe1DaHxM5eb0Knl+pQpQVskTBQBdvXqVg8eDBw/S6dOnqbi4mARBIIVCIVuUmDaqx8wP6JTJhwj4fZrK/1yXu289PTy09Rn2yCze3t4UFxdHcXFx9NJLL9GFCxeISO4/JwgCeXh4kMFgoJ9//pk+//xziouL43WUlZWRJEnUtm1bSklJoQsXLlDjxo3p/v37pFAoKDg4mH766ScyGo20atUq2rhxI1/QniRKpZLq1atHHTp0oNWrV9ODBw/o/v37HDSWlZVRQEAA/fLLL0RE1L17d/rqq6+s6rl16xYFBwdTQUEBubm50Z07d6isrIzGjRtHH330EQGgvn370vvvv0/h4eGUk5NDPj4+dP78edLpdFb1rV69ml555RXatm0bBQQEUI8ePej69eukVqupuLiYtFot+fn50fnz58nOzo77/QUGBtLw4cPptddeI41GQ3q9ntzd3Sk9PZ0mTJhAn376KRERH0+9Xk/btm0jQRC4Rrb8+ADgc69Jkya0aNEiaty4MWk0GiIi+uWXX2jUqFGUkpJi05/OxcWFevbsSXPmzKHq1asTEdHjx49Jp9NR/fr1qbS0lNLT02nYsGH0ySefyK7t27cvbdu2jYiI3N3daf369RQQEEB3796lHTt20JIlS/gmITIyksLCwig/P58KCgqooKCAHj16RDdv3qS8vDxeJ9MO/x6/1PKiVCrJzs6OHjx4QM7OzhQVFUV6vZ4cHBzI0dGRHB0dqbS0lBYuXCi7V82aNemDDz6gmJgYfmzChAn0/vvv0/79++nmzZsUGxtLSqWSPD09+fwjIurSpQstWLCA6tatK2uLp6cnERFlZGRQgwYN6Nq1a/TCCy/Q999/T0ePHqWWLVvycyMiImjBggW0d+9e+uKLL+j27dt8bAYPHkwJCQmUkJBAmzdvJqJf31dBEOjGjRtUrVo1Kisro4EDB9LmzZvJwcGBfvjhB5o1axZ99dVXNHv2bLp37x6tXr2awsLCKCMjg7Zv3069e/eucFP3PIqHhwcdP36cDmSX0fQvzz75gqeUxb1qU78qTeXfUqoAZZVwyc3Npd69e9PEiRNJq9XSkSNH6PDhw3T48GFuMnva3bzBYKCHDx9SUIchZKzdncoEkQRR8fSNKTNRmamUcr/98JlrJpl4eXmRp6cnnT59mgCQnZ0dFRUVUXZ2NgmCQJ999hlt376dzpw5w813RGbTX/369alXr14UGhpKLVu2pBkzZlBkZCQNHDiQTCYTvfXWWzR79mxSqVTk4OAgC3pggPuNN96goUOH0sOHD6lPnz5cMyMIAjk7O1NhYaEsUIT95uTkRF5eXvTw4UO6fv06vfjii3T9+nU6ffo0rV+/ngYPHmzV15YtW9L335uDpRISEjhA9fHxoeTkZKpXrx4REdWoUYOuXLlCAPhCXKtWLVldAwYMoE2bNnGN6OPHj6lGjRp08+ZNIpJrfj09PSk2NpZmzpxJrq6uRERUUlJChw4doj59+lBubi7VqlWLMjIyKjVRh4eHU0REBNWtW5eaNm1KjRs3ppUrV9Lrr79OHTt2pJMnT1Jubi49ePCAdDod/fjjjzRq1Cg6ePAgERGFhYVRdnY2FRQUEADSaDT04osv0jfffMMBXfXq1WngwIGk0WjozTffpA0bNlBcXBzVqlWLfvrpJxo3bhytWrWKHj16RH369OFm6vj4eEpMTLQyE1+5coUaNGhA9+/fp4CAALp48SI/p6ysjDp06EB79uwhd3d3UigU9OjRI9k8IyIqKCigu3fv0rvvvkurVq2qFGSKokharZZ0Oh3dv39fNp6/N3hKoVCQUqnk89BgMNCjR49k3wAnJycyGo306NEjSkhIICcnJx485eHhQe7u7tSwYUMSBIFu3bpFZWVl1KtXL0pOTubvApHZTeDgwYMUGRkpa8OFCxcoPDycB4JZ3nfPnj0UGBhITZo0ofPnz5MgCDRz5kz64osvKDMzk+rUqUOHDh0inU7HA+ru3LlDRERBQUH0008/kSRJREQ0ZcoUWrZs2W8an/+VsA1S+e/B7xWVSmWu086FXIesIBNZuziEeznQ1PY1qaannlzsVPTYaKLL9wrps0PX6KvTWRXWrZZE2jO5Jfk4W29Gq+T5lipAWSVERJSSkkLx8fGUnp7Oj/3eRchS3NzcKLdEJOeOr5A2oD4JBAJVoq0sMxGJCiq6cpLu7171zH0miYjmzZtHO3fupCNHjvBjLi4ulJOTQ7179+ZaJyb3798nFxcXCgkJIT8/Pzp58qSVmdXZ2Znu379PoiiSwWCgBw8e8HFzcHCgWrVqUdeuXWnIkCH0zjvv0PLly+nzzz+nxMREmQ+Xg4MDmUwmKigoICIik8lEp06dogMHDtDs2bMpPz+f3N3dKTc3t0JgHxwcTGFhYVSnTh1q3LgxVa9enerWrUtBQUF0+fJlKisrI1EUad68ebII8IcPH5LBYKAWLVpwvz8ioo8//piGDx/Oz4uMjKTz589TcXExHT16lKKjoyuMjF+0aBGdPn2aLly4QFlZWZW229HRkdq1a0eRkZF0+fJl2rp1Kzc7h4WF0cmTJ/nCmpGRQZGRkeTo6Ei3b9+mr776ivr27Uvt27enW7du0ZkzZ4iIqEGDBrRmzRo6fPgwvfLKKzRx4kQKDw+nMWPGULNmzejAgQN05MgRmjdvHqWlpXG/QiKid955hyZOnEiiKFJYWBhdvHiR2rRpQwcOHKDi4mKSJIlrACuSn376icLDw4nIDFiPHTtGZWVl9MILL9DNmzcpOjqaUlNTqUOHDpSWlkalpaUkiiIdP36c1q9fT3v37qWLFy/adJno2rUrffLJJ7R582ZKTk6m06dPcx9OS5k5cyZNnTqVmzdLSkrozp07dOfOHbp06RL169ePWxmio6PJ29ubvv/+e8rKqhg0CP+xOPzWb4MgCNwVovxxURSpbt26ZG9vT/b29uTg4EAGg4EcHR3pyy+/5C417FwGmENCQmj06NGUmJjII8GJiHr27Elffvml7D5jx46lDz/8kARBoIcPH3Lz/4ULFyg0NJR0Oh15eHjQpUuXflO//kjR6XT06NGjZ16vVqslr7hFVOocQIJCsvq9cYAzvRhZjY5dzaXbDx+TVqWgHnWrUbdIb1qS8jO9n3bRZr0KUaCmgS60YUSjZ97mKvmTyx8Z8VMlfx3p2bPnHxpdWK9ePShdfDD0vZ2oNuojmxlwqo36CE5tR0Fyqf6HtoXxDUqShAEDBvDoUCJzNHW9evXw6aef8mhTxvG3a9cuPl63b9/GwIEDK+TEc3BwgEKhQEBAgNVYlydzZpHNu3btwoQJE0Bkm8T64MGDIDLngtZoNFCpVEhJScGyZcswePBghIaGPvUYCIKAefPmyVI4snYlJycDAI4fP875FC05Mh0dHeHg4CAjSRcEAQ4ODnB0dKwwjaC7uzvq1q2Lvn37YuHChZxfkcg6zzgTSzJ5SZIQGxuLu3fvwsXFBaIo4syZMwCAnTt3yqKmY2JicPHiRQDmCH69Xg+tVsvJw1lE89tvvy273+bNm62eTVRUFBITE2V8ops2bYJSqURkZGSl7xVLvfjCCy/wcWD1sLSQJpMJsbGxIDLnKLfsh0qlQmhoKLp27QpBEPhvLCORk5OTbF4WFBRg7dq1/HfLYjAY0Lx5c7z11luc05NlCfr666/h6OgIURRx/vx5HDx4EO3bt7d6ll26dJFFvK9cuVL2jp89exapqanYsmULVq9ejQULFmDq1KnQarWQJEnGD2lnZ8fJ7i37+7SE5k9T7O3tERkZiebNm3NuWfbOBgYG4sMPP8SWLVvg5OQEQRCQkpKC0tJSbNu27Yl8l390+SPvr1AoENYo5ncxbpy8dh83ch898bwLtx9W+m5UyfMnVYCySgAAixcv/p98JFlKtPmJb0PpHgA73wgo3QMgKDX/0w+4j48PX1Q//ticfadVq1aoW7cuX9CUSiVatmwJV1dXaDQaLF68GC1atLDKM0xEcHd3x6hRo9CjRw9Ur15dtijqdDpERUWhc+fOcHNz48c9PDyg1WohCAK++uorAL/ml+7QoYPN52RJvr1t2zar3xkgHTp0KI4fP84zoxARJ1q3tbg4OztDkiSIoog33ngDX3/9NfLy8mTZWjQaTaV0K5agkQEFBgbj4uKsMsE0adIERGQTdFsKozZi9C+svP7669i4cSNPzcju1bp1a9n1c+bMMc+5+fP5MaPRCGdnZ4iiKCM3nzVrFh/bjz/+mM9XVthzZeB7wIABlbbdMpf3Sy+9xOtp1aoV4uLi4OfnJwNtkiShTp06mDp1Km/Xnj17IIoi1Go1Tp06BUEQ0KBBAyxYsIADzOjoaJ75hoG8Bg0agMicOrRnz56oVq2ajJJJp9OByJy95+rVqzzlouU5Pj4+fPPCztfpdJg2bRp/ntOnTweROY+7ZapNwAyWlyxZwutUKpUYOnQoHj78FWzk5OTwXOUREREcsO7fv59vWlj2H3t7e7z11luIj4/H6NGjERsbi44dO9okkv+rFh8fHwiCgOvXr6O4uJinmXyWJTw8HNW7T4ZvfPJvBpR7frqFazmFT6QUmpOcUem7USXPn1QByipBaWkp/P39/6cfzf+vnLos5zGReQGcMmUKHBwcZNw9591MAAAgAElEQVR9jx8/xowZM6w4E4nMi62XlxeioqI4uHBxcbEaU5PJBLVaDQcHhydyL27ZskV2LVvEbcnQoUNBZNZMVSQhISEgIpnmNTY2lmtcTSYTNm7cyDWjoaGhNvv6pGJnZ4c33ngD3333nRVPY0xMDERRRGZmJm+Pvb0972v37t15Pe3atat0fqanp4OIMHjwYM7HWH4uDRo0CHl5eYiIiIAgCDwbjdFohEajgcFgsMrukp6eDkEQ4OrqysGRv78/1Go1ALPW09HREURm7V75XNVEZmBZmTBAyTgqbeUAb9CgAWbMmAEiQq9evWTXHzhwgHNjpqenAwBq1aoFhUIBo9GInJwcNG/enM/tqVOnQhRFGAwGFBcXo0WLFiAiHDt2jD/77du3IzY2tsKMP0Rm8H7jxg2cO3cOROYsOSaTCYmJiXxMVCoVRo4ciWXLlvHrvL29UVRUBKPRiISEBM79yPpanh+TSVJSEj/PYDCgZcuW/F157bXXZFrc8+fP8+tycnJ49p/69etz3k9LPk/L9+78+fPIz8/Hjz/+yLNZsf4mJCRg3LhxGDBgAB83e3t7BAcHy/rxRxWNRoPg4GCuzXZ3d8eECRMwa9YsPh7PorDc696jP34qAOk/wwwQ681PwcyvzqKk1IQZX5554nXR7+yt9N2okudPqgBlleCLL774wz+Wf4bi4+OD0tJSmEwmLF68WAaiatasicmTJ6Nu3brQarVW11ouvuxvtmh17NjRakyNRqMsJ7dWq0Xfvn0xfPhwBAYGyupWKpWoWbMmRo8ejYMHD/KUizt27JDVuX//ftn9LfMoW8pHH30kq79ly5Z4/Pgx0tLSsHDhQvTt2xd169blwKB8USgUNs3W5YsoinB2dkZ4eDi6deuGmTNnYseOHcjLy+OAksl7773HgTwb90aNGkGv18vypVckTk5OMBgMMkBm+Xe9evVw9OhRnDp1CkSEZs2aAQBeeeUVEBE+/PBDm/UuWGAmy+/SpQvu3bsHIjMQZ4BCkiQsWrSIn5+Tk4Nx48bJxsHJyQnDhg3j+b4LCwuxbt06dO7c2Uqbrdfr0aRJEwQEBIDIDGSysrIAABqNBqGhofxeR48ehSRJkCSJA0I2lkRygvEdO3ZwLR/RrznWr127xnNdMyksLMTYsWOtQIadnZ1ssyNJEq/ziy++kI3bmjVrOGE8ew5sXPR6PZ+jDg4OmDdvHjw8PODh4VHh883NzQURyXKo+/r64vr16/ycjIwMEJm13YDZBYRpTceOHcvPY5rZgwcPol27dlbztlatWrh69Sp27tzJj5XPax4WFgZBEGQ53FlueCKSWRr+m8Lar1QqodGYrTTP0uRfUZE09vB9fcdTAcqNh39NFfrYWIqZ/3oymPSb/jX8p39dlabxbyZVgPJvLmVlZYiMjPyffMT+v4vBYOD+ZidOnOBgw7IIggB/f38MHToUe/bsgYeHB+zt7QGYc0jb8k1r1KgRcnJyAABFRUUYM2YMB0+iKGLu3LlcO5aTkyMDshMnTkStWrVkpmT2LDw8PJCSkgKTyYTCwkLY29tDoVDg0KFDEAQBISEhsmd55coVrg2ULR42tMEqlQru7u4ICgqSZeOxBEDVqlXD1KlTkZOTg/Xr11uBTBcXF1SrVs2mNogVS7C5ZcsWWW7v6dOnIywsrEJtLJPHjx/L+qXVajFnzhyYTCacP38e0dHRvA8hISEICwsDEeHQoUOQJKlSIAOA569mfpWsny1atODPtaJriOTasIqy/Pj5+VmBFmY2V6lU2L17N/z8/KDX6wEAp06dglKphEKhwIEDB2TXGY1GiKKIOnXqyI736NFDds/+/fvDaDRyP8nx48dzDS47p2nTplb+uqmpqTbnjCRJCAoKwvDhw5GWlgaTyVShr6Eoili+fDmv80mA8vLly7LxZIB01KhRsvNcXFzg6OiId999F4IgQKFQYNOmTbJzMjMzQUTcVcPBwQFHjhxBp06dZH23/Ob17t2bX5+SkgIiQteuXWX1Ll26lD9jSZKwZs0azJs3DzqdDs7OzlxTKggCnxMVmeIHDhyIGzduAADs7Ozg6elpsw+1atVCeno6z4T1rIrSPeCpTdxNEveg63v7MeQfR7Dh0FWUmsqwYOe5p7o2I+tBhc+8Sp4/qQKUf3NhJqLnvTRr1qzCxd7d3R0dOnSAl5cXXxDatWuH77//HkSEnj174uzZsxxs9evXDydOnLAKgrHU8Li5ufGACiZ5eXlcs9G6dWsQkcx/7/z585g+fTrq169vtfCxBXbkyJHYs2cPB02BgYFwc3OrdEPg7u6Ol156CYsWLcK+ffu4eTonJweTJ0+WgUgHBwcMGzaMm4wBYMSIEbx/gYGBUKlUPLViaGgo8vLyYDKZcPz4caxYsQKDBw/mmq2KwCbrH2v3P//5Tzx4IF988vLyMGjQIBm4cXNzszJdA0BWVpZVmj+m/bHla2ophYWFMq20o6Mjdu7cWeH5t2/f5uD+SfOOtWfatGk269q5cyd/tkxrmZGRAbVaDVEUkZqaavO6+vXrQxRFbkLeuHEjiMyaWks3A7Vazesl+k8wxn/mTps2bSrso6U2rkePHpg6dSoiIyNlz1MURXh7e1f4XgUGBvJnVRGgNJlMGDt2rMzHsri4GLm5uTyIJjIyEoWF5tR+zOWDyKwZtjR/WwqbnxqNRqblNJlMMr9iyxIbG4vi4mL4+vpCoVBYbSZCQ0OhUCjw7bffcp9WpjVt3749ysrKcPfuXdy+fRvt27eHIAgoLi5GVlYWHj16xH1UWfH29kZGRgbfCFy+fBmAecNw8+ZNvml58803ucb8WRWVV8jvToO74dBVlJSaUG9+ylMF8FTJ30eqAOXfXNq0afNUC+PzUiyBjCiKcHV1lY3Hd999h/DwcNk1Y8eOhUKhgCiKshzcXbp0AdGvwQ+WpU6dOjJAWVhYyLVzixcvxq5du0Akz7PNpKioCMOGDeOLzpOClVif1Go1Ro4ciX379sHNzQ2SJMHLywuCIHAtV1FRERYtWsS1KQxksHq0Wi0HkwUFBTwoJSQkBHl5eTAYDPDx8QHw6+Jub2+P48ePy/pgafI2mUw8V7ler0fDhg3h5eVlc94pFAoYDAaZZof9rVAorPKHl5fc3Fx+L9an8nnTLaW4uBj9+vWT3b988NDVq1cxe/ZsNGzY0MqXzt3dnfdj48aNMBqNiIiIsOqXm5sbPvnkE5tg+Pr163wzQ0Tc7GkZvV1ePvnkEz5/srKyoFQqodPpkJeXh/3796N9+/YyIM6A7caNG1GjRg2Ioojs7OxKx5K5Zrz00kuy45cvX8a4ceNsat/c3NxkGniNRoMDBw7YBJS7d+/m5/r4+KBevXoyNwlLv0mDwYB9+/ZxP1YnJ6cK86snJyfz+/v7+1v9zt69ynxImzZtKntWhYWFEASB5yrftWsXRFHk7+awYcOwa9cufPbZZ1i2bBkfu8GDB6NHjx5o06YNGjduzJ/v/+c3UKFQ/CYNZfkydetpAED3VQeqNJRVIpMqQPk3FuZv9rwXvV6PhIQETiOzY8cO/lF3dXXl1DPlx8YS8IiiiLVr1/Lfz58/L9PWhISEYNeuXdi4caMsYIeI0KRJEx6U8eabbwL41WcsPDyc+zS6ublVuNgIgoCIiAhERkbC39+fa98sF+727dvjww8/xJIlS0BkNqdfuXIFCoUCarUatWrVkmmCYmJikJKSAjc3N+j1emzduhWCIMDOzg7ffvst1zLGxcXBZDLBZDJBEARZFPUnn3xiE2xbAkoWBezv728VlMHMi2yMK4siZ8Xf3x8vvvgiEhISsH37divNJgCrIAYHBweZ6wEAbNq0iQNES3/Sbt26YerUqVb+tKIows/Pj1NsDRkyBIAZcLJofabtbd++PYxGoxV7giRJaNGihZUGtDwQ/fjjjyt9d00mEyRJQs2aNbkGMjo6Gnq9ntfh5+eH+Ph4tG3blh9j49unT59K6wcg08Ky9h47dkzGNMC09M2aNUOzZs1kfpzli8FgAGCe++z5SJLEo+8nTpwIIkJmZqasHatWrZLVo9VquRtKeUlJSYEoitBoNOjQoQOIfqXBys/Px4kTJ6BWqyFJEt59913ExcVVGiCoVqvh5OTE5wHzaa1IK1tREUVRdh8XFxeb73rjxo0xePBgTJw4EbNnz0ZkZCSIyKYv6O8tGo0GntX9ntqHsnzZduI6Sk1lT9RQVvlQ/v2kClD+jSU2Nvb/Ldr6f1EYCCMiVK9enWtkcnNzIYqiLMozNjZWppk6evQor0en0/HzvL29ZUE1KpUKR48etRrb4uJi7gNn2SaVSlWpT2O9evXQr18/LFq0CD4+Pvx3S9C7Zs0aGZiVJMmKz4/ITMHi7+8vA7f169fHhg0bOLBivloMYDDTKRs/y2CWM2fOgMjafFveHcBkMnFA+eabb/Lxt6VRYiDVsj9qtRrbtm2DyWTi7AMxMTGoW7cuX5zL95VRH4WHh6NNmzb8uRGZ/eMYcNRqtRg5ciSvS61W4/XXX4dWq7Wql/kMDhs2DKmpqXzM2BhZbjA++OADft3gwYP5cRblPWXKFLz99tvcjMva0rVrVxw7dgxZWVky7adKparU7A4AUVFRVuPg5uaGcePGWWkf9+3bJwPHe/bsqbTuffv2gciseVOpVFCpVDIfwebNm+Onn37C8uXLQfQraAPM79eKFSvQunXrSrVxjRo1wr179/h1//rXv0BEWL58OXJycnDu3Dns27cPAwcOlF3H5lqjRo3QokUL1K9fH6GhoTxIiI3tf6MJZAwI5Y8HBQWhadOmaN++PXr37s19qiVJwsKFC7F582Z8++23aNKkCQRBQElJiWxcGzduDIVCwf+fO3eu1T2qVauGzz77DADw8OFDKBSKZx5lHhERgepj11UKCD8/cg1r9l3CuM9P4KU1BzF6w3FsP20OIPvgu4tVUd5VYiVVgPJvKpcvX/7Nu+y/UqlWrRoeP34M4FdicrVajT179nAH95SUFCtam6SkJKSnp3PQ9+KLLwIAtmzZIvuos8WqU6dO2Lt3LxYsWIA+ffo8UdPIiiRJPLKzIioVpv1hVDKXL1/m/m86nQ4bNmzA1KlTQURYunQpioqKZFRBloU963bt2vFgAAAYNGgQiIhT0gwZMoRfo9frZQv+O++8AyKyaYotLCzk2pTg4GA0b96c39PT05P7wFlKWloa7w+RWTvDAmMEQeDmdqYJBAAvLy/odDqYTCacPHkSK1aswJAhQ9C4cWN4e3tX6LPp5OQENzc32ZwvH80uCAKCg4M5TY9l3y1l9OjRICIenc2eAdssiKLIA10seSiZ5ObmYtq0aZw/07IolUp4e3tzTeL06dNl987Pz0dCQoJss0Fk3hCdO3fOZnuZWIJeInNku63nAgAdO3YEEWHNmjVcu05E6Ny5s8wnkXEkHj58GHv27EFSUhJWrVqF+fPnY8qUKRgxYoSMAN9WEUURCoXid32PFAoFVCqVTLPt6emJmjVrol69etzNpGHDhnwTUatWLXz44YfYtm0bvvvuO/z444+4c+eOTOtvZ2eHXbt2ITc3l2tOWXF0dMSgQYNw+fJlBAcHc9O5wWDAnTt3AID7UJaXMWPGgIhkY7hnzx7+vbFkhrB8b5910el0CO6XUCkP5dStp3H48j3cy3+MklITHjwqwaFL9/Bq0qkngskqHsq/p1QByr+pvPLKK8+176S3t7cMqCUnJ8tAnmWwDCCntbFcVJKSkrjfliAIcHd3t0lszgrTNLLFi8hsQmVtuX79Ol5++WXZIs345hjROvAr2ToRoW7duhgzZgxfXPr06cPrM5lMPAuJpU+bt7c3pk2bhg0bNqBv375W4IWRrTOOxvz8fO47GhYWxsGji4sLj07u3bs3iKhC3zUAePnll2ULoZubmywbDwBs27aN08MIggB7e3uoVCr++4kTJ3jwEssgxGTSpEkgogqDVZgbR506dbBixQq+WXiauR4dHY2EhAQefW1JtWMpjRo1gkKhQHFxMZo2bQoisw9gdnY2Tp48yTXTBw8etAkoLSU9Pd3Kl08QBIwcOZKDoebNm2Pp0qUIDQ2V+cuyv5+GdqmsrIxnwiH61cQvSRK6dOmCiRMnYsiQIejZsyfatm1rBWTY/wxs/zesEE96FiyCnc3nwMBAfPHFFzhw4AAyMzNlRN/p6ek4ceIEN0WXp9IqLi6GWq2GXq/nHLK2/FgZof2MGTNk7WvRogVeffVVEBHWrVuHESNGyJgemJsDczNxdnbG/fv3bQLKW7ducXAaHh6O4OBgGAwGm2NpacX4vWD7ScU1sNbv9qN8mlKVKefvJ1WA8i8uBY+NyMh6gJPX7iMj68FT+azcuXPnqXzV/opFq9Vy5/eQkBCZGfvatWscVL7wwguyhaWoqAitWrV6qnuoVCpuPmSLgVarxfTp0znPJQOUzG/MlrDUg5amSH9/f0yePBkKhQL29vYyXj4fHx+cOHECgDnSeMKECTIzH1sIExMTbd6PEXmrVCr4+fnZXMjCwsK4tpItkh4eHsjPz0doaOgTKX4AeSSuJYfjxx9/zNurUCjQt29f5OTk8KAYpi0rKCjgEfOsT61atUJubi7PJFQRGToDxR06dLDKrMP6MmLECMyePRutW7d+4nugVqsRHh6Orl27IiEhAcnJyXB1dYWzszN3M+jUqZNsLh0+fJgDnK+++gpEtgFlXl4er2PFihVIT0+XPU8iaw2Vt7c3OnbsyAEh06rVrFkTgYGB8PLygrOzM+zt7bmv4H8DRpRKJZycnGRBVOHh4WjdujW6d+8OpVIJe3t7zJo1C++++y7Wr1+PnTt34ujRo3j//fe5Vt/Sh7BPnz4wmUyYM2cO9/lUKpVcO2x5f0mSEBkZialTp+LHH3/kY2fpU8g0zfv27bM5J5iFQhAE7kdtKYz83tHRESaTiZOsW1okJEmSXZOenm5F08Q2ifb29lyDHBwcDAcHB5vvmk6ng6+vL1q0aIFRo0bxzFFEZt/uixcv4s0335T5xT6rwrS61Qe+Bb/fkS3nSdrJgWttc+RWyfMtVYDyLyiZtx5iTnIGot/eC38bjtDRb+/FnOQMZN6yvUOcPXv2c8k7GRQUxDV3zLQUERHBF/sTJ07wjylbJFjKwYrqFAQBLVu2RGJiIvbv38/rZyZBo9Eo++ir1WoZaCqvCbUURs2SmJiItLQ0tG3bVqZFtQQ7nTt3RmFhIebOnSvLamRvb48+ffrw+7u7u1c6dxITE0FkBkEspaHlwmwJJGrWrMkj2KtVq8YBbmXy6aefcgDB6oqIiOBaXZVKhZdffllmai3vh8cyhXz66ae4e/cu1wIqlUq888478PX15cC2sLAQa9euRefOna2I2jUajQxMvf7661btZbQvllpnPz8/dO3alc+TyqKBXV1d0aFDB4wePRqJiYnYsGEDPvroI4wePRqCIPBxCAgIQHR0NKKiohAaGgpfX19Zik+1Wv27LAaWec4dHBzg5uaG6tWrIzg4GHXq1EHTpk3Rtm1bKBQKSJKEV199lbt8tGnTBl9//TWnsGKFtYuZb5lcvnwZCoUCer0eRUVF3P81JiZGdl52djafNyqVCitXroSHhwfc3d253+egQYMAmDXsK1eulGns2Vxs06YNgoKCrHKbh4WFcSorViqjQGrWrBm/1pZ2kpG8WwZCMS2oJf+jr68v0tPTcevWLWzZsoVvhPR6fYXPzhI0jh49Gh999BEkSULdunWt2nH16lUQEd8UiaKIiIiI35XF6mmKi4sLPINqwXfql/D7nQE6tkrIG7vwS45tV4oqeb6lClD+heSXnEIMXHuY7wKftEv0m/41Bq49LHu5CwoK/pAd75+h9O/fH0VFRUhNTcX8+fO5do8tpk+7OLOFYNKkSXxxLe9vFhAQYBVp+t577/H7MNLl4ODgCp9ncXExiAjdu3fnxywpb8q3jbVPpVKhbdu2MkJqxlnXtm3bJ84jpsFlfXNwcOBayVOnTuHVV1+1IltnxdPTk5Otl5ekpCRuwmbaFkvS9AkTJlhR8gDmiHkiwqRJkzB//nwQWZNKJycnW3FblqetYf2ZMmUKD35hvqZ6vR5arRZZWVk4e/YsUlNTsWXLFh6xPGzYMPTq1UtmzmRAkqVn/G/zRTM+URYRzsbez8/PyvSpUqnQrFkzzJ49G8OHD5fRChGZQSjL/67VajmVky157bXXQERYtmwZP+bp6QlJkjBgwAC+ibGc/+WJtpmsWbMGRGZanbNnz4KIMHXqVP57QkICB1ft27fnub0ZbZDJZOK+sSNHjuTXWR5npVu3bjy46MiRI3jllVcQFhZmBfDZuPn6+lqRxzMycjYfLNsKmH1SJUmy6m9WVpZsg1KeVcGyqNVq+Pn5oXnz5mjdurVscyJJEpo2bSoLWvL09LRK15qVlYX58+fb9L3W6XTo2rUr9y9+lsXe3h51e497phrKpKPXUCV/T6kClH8R2Xz0GkLe2PVEIGkLWIa8sQub//OSM/+w56kw2hpbv1n6nBERatSowTWNzN+PFScnJ67ZHD9+PACzzyMzX2s0GqxZswaAeREvn6mGffDr1Kkjy/vctWtX3Lx50+ZztazHMieyTqdDSEiIzcjj9u3bY//+/byOu3fvcvOwQqGw8lksL9nZ2TJAwxZ9W5KZmYnp06fbzEfu4+ODl156CV9++SW2bdsGQRCg0+kQGxvL63d0dESjRo1AZDbt//DDDzbvI4oiJ3R3c3NDYWEhrl+/jpSUFAwbNgwhISE2Aa6zszMCAwO5ibE81RMLkvkt88mWidiSXJ7IrA3v0qUL+vfvj1GjRmHo0KHo1q0bmjZtipCQELi6utpsL+M/JSIOctlvnp6eGD9+PIjMG5jywvwxLYtGo+Fm81u3blldU1RUBJVKJQMwd+/e5c+E3XfdunUAIOPkZG4G5YXR8XTu3BlE5iCtgwcPcp9PNzc3q+w7ljyURqMRNWvWBBFhwoQJyM7O5j6+TDvH+iQIAlq1aiUzVV+/fl02buVBmKenJ+Li4rBq1SqIoggnJycUFxfDxcUFKpWK+wBnZ2fzjU9kZGSl5mmtVgtvb29+X8YxS0Q2N1dsM2u5kdVoNOjUqRNq164NURQxY8YMREVF2QSr0dHRWLt2LZ/XjRo14hrMP6J0jX/PvGb8Xk3lf65zbNoPr7/+eoWE81XyfEsVoPwLyHt7M5/JznHGxu+ey8hupVLJI3hFUcTMmTNl5unu3bvzc7Ozs2ULmCWAaNWqFQeF5WlXNmzYwD/8bCGx1Cwy01irVq34MbVaLdP+tGzZ0opjj2k6e/XqZdUeloOZ0abExMTIfCr1ej369euH5s2bg4h4XmrLNHLl5dixYzLfsIqCFMrLokWL+DWurq48D3dFz4QBu/Hjx2PQoEEyihsPDw8EBgaiWrVqcHFx+a815uUBAMvgEhERgYYNG3J/P5Z9Jj4+HkuXLuWBGN26dcOVK1dQUFAg6/Pdu3dlz4Xo1zzklgFUlQmjZWJjUhm4VSgUcHJy4sB8xowZSE5O5qCOPWdGhaXVaq0I0fv37y9bzJk/68aNG3H16lVZwA3zr7TsS9OmTTmBN6vz7bfflvXJaDTKNLmdOnXi4z5lyhSb86k8sbnRaOT0W2xM4uPjUVRUBCKzn+XBgwdRp04dfp8GDRrg22+/5QE2a9euhSAIaNq0Ka5cuYIXX3zR5rjq9XoEBQXxTV5FmwydTgc/Pz9unn7rrbf4by1atOBtX716tSy1Kov2txRLbWKNGjUwbNgwmxpuURTh7++PgQMHYteuXcjKygIRoWPHjgDMmlvmAvJHl3p9xsNv2pfwe337bwST2+Hz2j9RveVLsvrq1KmDJUuWyCLaq+T5lipA+SeXzUevPVNzhE/Ll/7y0d2WPJBffPEFHysWAFHeb9Eyc4alGUulUiEpKQlGo1HmR+bl5WXzWRQXF8v8Dhs1agSTycT9rZo0aSJbTO3s7BAaGopDhw7Jor6joqJw7NgxAJDR5rDi6+uLWbNmcc2hyWTiQQuAWbMyduxYHglNZAYjY8eOhb+/PwRBsJkFZeXKlVxDJkkSXxTr1auH6dOnY8yYMejfvz+6dOmCli1bIioqCmFhYfD39+fn/jdzpzxlj4uLC9zd3a18H1nR6/WoXbs2Xn75ZWzYsAG7d+/GiRMncP36dc5vWb49CxYsqPBdYsEWzH+PbTSuXavYRJeUlGQTfCxZsuSpgPi5c+dARFYE6V26dMHBgwdx6tQprFy5EkOHDkWTJk0qTGXIjjHzJwsgkySJ++VZXufu7o6RI0dCFEV4eHjINJIRERHYt28fTy3aoUMHPs8YWTpgfm+Y+dbf31+WJjQ9PV3WvsjIyEqBg61MOQzQE5n5S5loNBqEh4fz/zMyMrgfLSvMdB0SEgJJkrBp0yZMmTKF8z8+aS4aDAY+7zZu3GjzWbKgOQboli5dyn8rLCzk80KhUCA+Pl5WB3NBKc8IIUmSbC6wZzV+/HgO7KtXrw61Wo3OnTtXSIP1RxXJ4IFWc7f9xx+/cm0l+z141ApIBg+b9TE+z+bNm+PDDz+skIqrSp4PqQKUf2L5JacQIW/senaA8vUd8J36JdQu1Z65prJXr17c+f6P+NCp1Wr06NEDly9f5tQxRIStW7fKxozl6Z00aRI/Zgm8WLFlUuzfvz//CFZGKs3SIhL96mdXv359q0WJAUom586d4wECtkrNmjU5EDSZTLh79y4yMjKQlpbGTYSzZs3CtGnT8PLLL+Oll17i2r3yz1MUReh0OqhUqt8VgMVMvDqdDgaDgQO3kJAQrqWzrJflAF+yZAlGjBhhUxvj6OiIunXrVkrSPGDAAKSlpT0RrBUWFlpdq1AokJCQUOl1LBgmJycHdnZ2FW4eAGDcuHEgMoPBDRs2WI2jnZ0dZsyYYeUXajKZsJ+/yD4AACAASURBVH79equc7JbjcPfu3Qrv27VrVxARjh8/jpUrV/JoYkEQKoxKZ/dp2LAhQkNDrUALkXkjc/r0adm9ateuDUEQcPnyZR5QZamRNJlMGDFiBPfhjYuLQ2Zmpiw9aWRkZKVjDsgBZWlpKc/e4+bmxnkqGSOAr6+vVYrN8+fPW5mGK/qGWbomGAwGLF++HEePHsXy5cs5V6plcXZ2RuvWrbFy5UqZid/V1RUODg4oLi6Gk5MTRFHkXJ9GoxFEZl9SZp5Xq9WoVq2abJOjVqs5cK1ZsyZMJhPy8vJAZHaF6du3r0xDr9PpZPOsevXqmD59Ok+p+b8CmEpXX/RJ3IJqoz6yuY5UG/URnNqOgtLVx+pbUNH3hL2jnTt3xueff843zKmpqYiIiLCy3lTJX0+qAOWfWAauPYzAhJ0In/0NPvjuIvZl3sG9fDNZ97Jvf7YJGjuv/B77L9xFwWMj8h6V4Juz2Wi+OPXXc+KT4RW38Jl+fAICArBnzx7Mnz+fg43KUrA9bdFqtZg0aRI3w+Xn5/MMHt7e3pAkySqq2WQycb+j9957zyZ1DJF1fmIAXOvDFqTypNJMmNnQMgVdo0aNsG/fPqSkpGDTpk147733oFQq4ezsjGHDhqF79+4ICAioNGL49/j7WS5cGo3GKvjIMjOPo6MjRowYwc3mS5cuxfr166FUKqFUKnHx4sUKgZy9vT0CAwOtzJBExLN6WArLlPPNN98gOjq60qAGyzHftm3bE9+L9PR0memfyEx+zhZ2T09PKz5CJiyynvnOTZw40eqcoqIibqIPCAhATk4OAPA0igaDAQsWLODaJ7VajTFjxiA5ORmtWrWSuTmwjQCRWQvH0gha8nuWl3nz5oGIsG/fPhiNRu7OcfLkSQDmOX769GmsXLkS/fv3r3ROlS8uLi4YNWoUB7QssKZx48Y8Zagtov3MzEwEBQVZ1cfec8usQbaEAcqsrCxupm/ZsiWMRiPy8/M5qBw0aBB/f4OCguDg4GATOJbXTDs7O+Pnn3/GtWvXIEkS7Ozs+ObSzs5Ols3K8pk0b97cinjdwcGBv9vdunUDYGaIYP69jx8/5s/IFo8kC7Sy5KFkvqmNGzeGyWSCSqVCnTp1cPv2bYwfP95mJLdWq8WqVav4huXQoUM288Q/y1Ke6J+IMGPWm1C6B2DsG4uhdA+Ak5vnM+Eh1Wg0iI6O5t+nOXPmVDqHquTPL1WA8k8qmbcechDY7K1U5D0qweFL97DpiNk8ZwtQtl6ahodFJTh8+R6G/OMIRm04jvPZD5H9oMgq76raze93fxCepnh4eCAqKgq9evXii/dXX32FsLAwuLq6yoCPWq2Gl5cX5s2bh+rVq8NgMODWrVsoKysDYCbCJjKTDtvZ2UGSJFy9epUHMKxevVo2duvWrbPZJkdHRxw7dox/lFu3bo3169dj2bJleOONNyCKIuzt7dGhQwe+SOt0OgQGBsLb2/uZ+PtZlvIgS5IkhISEoFu3bhgwYADGjRuHhIQELFmyBJ988gmUSiU8PT1x6dIl5Ofn89zcV69elfWfUeGU12a88MILSEpK4lGpTJhLQEUURyaTyaq9los8o2wxmUzYvn074uLirDRpWq0WkZGRmDx5MpYtW4a+ffvK/PBYcXNzw4wZM2xqK4xGI2JjY/n9mVlRrVbzXONTpkzhi123bt1skrBbuhmU94U8d+4cX9x79eolA9i//PILv44FZ82YMcMK0AUEBGDRokUoKiri5tIaNWrweljksbu7u82AqMOHD4PIrI1mfoHz5s2z+WzYuFv6CVuW0NBQeHt7V5i5yc7OTqbN9PPzw/37963ukZKSYvN5jR49WvZOViQeHh5wdHTkY9WwYUO0b9+eB8LYAo0ajQY+Pj78mh49eiAzM5M/k8LCQm6WJjK7SDCQz4KCNmzYwInBV65cCQD47LPPQEQyLWhxcTGSkpLQq1cvq02oTqdDQECAFbURm9eNGjXC3LlzcfToUdSrVw9Ev5p6LYU9o+bNm0Ov18tAGaP/Sk9Px9atW2XvD8tNzuZ9y5Yt/6e+8Oze5ZkGnnVxdHR8KutElfx5pQpQ/kllTnKGzYjuuvP+DcA2oNyRnoV7+Y8RMWc3P9b0rVQUG02y3Ku+8cnw7jb5mX4MFi9ejPj4eBDJ6UkAIDo6GqIoAgAOHDgg+5C2bt1adm5MTAwEQYDJZMLDhw9x4cIF7N+/H5Ik8Z1t586dMXbsWMTGxvLo5qioKCtz039TLGl6iMzBGN7e3jItjUajQffu3TFkyBB07dqVLwJ6vR6+vr6yBcHSTMwCFxjYUCqVcHBwkKVwW7hwodWHleWovnv3LtLS0kD0q/N+ebEMeBg6dCgHn6xN/v7+skhclnKxvMZu48aNMpeBmJgYbkbfvXs3B+eWmVvYfYnMoOjKlSs228i0NhVp2DQaDWrXro1JkyZh8eLF3FQeEhKCzMxMbpKuXr26rN7r169zLapGo7HSnh0/fpzft3xfGfhYvny5VXsZZQ7rq6UW3tHRkW82RFFEp06dZGkwyxObL1y4kC/S5dMfMgBfq1YtEJk3AhWJyWTC0qVLbYK9qKgoq3OPHz+OPn36VOi3yopCoYCjoyNCQkJ43QqFAtOnT0d+fj6n4REEgQeNVa9eHSaTCTdv3kRSUhImT57MQWNF75idnR38/PwQHR2NIUOGyMDtggUL+Hs0a9asCsdg5cqVvD7Wzvj4eK7ZO3fuHO9vnz59ZOb6n376yaq+/Px8aLVaKBSKCl0M2HfmzJkzVtdv2rSJz//Q0FBcvHgRRqMRq1evtnIFKU//xWTOnDkgIivXBZVKhfbt22PUqFHP9Pv9ZyrVq1d/6qC3KvlzSRWg/JNK9Nt7bZq0KwKUgQk78ai4FBsPX7W6Zt/Pd3Dpbr7sWLVRHz3Tj8D169d5arjNmzdjzZo1WLRoEeLj46HT6XgkNjuffaiZj5GdnR1UKtUz2XlrNBqZNsHOzg4dOnRAnz59MGLECEyZMgVz5szhpq5evXqhTp06EATBygw5f/58CIIApVKJ5ORkzJw5k3/oLbVfaWlpaN26tZUpSK/X8x2+ZeCCJd9iUFAQ7OzsYDQaMX36dA6cdDodpk6dyhfGlJQUEBEmT54Mf39/iKJo5YtnMpnQs2dPfv+AgAD+W2FhoQzoEpk1I71790Z6ejr/LTU1VUY2zfq0atUqrumylX7SxcUFiYmJyM7O5ibvimTLli0gItSuXRvFxcVciy2KIrZv347Ro0fzgAvLe7i7u2P06NHYs2cPT3FYkZl2/fr1XKsaHh7Oge2OHTt4fSzQhOXn1ul0Ns3lOTk5VgFUgiBg0KBBMs1cSkqKzKTKAIStTDksKMXX19eq/WwO2NnZ2dRiGo1GJCQk8PM0Gg3Py85KXFxcheMPmIHTnDlzZO4DkiTB398fkZGRFbqtWOZAf5r31fKdGDhwINauXYvMzExugbCU7OxsPmZso1FR2krLsWD3cHV15eDRkkS/qKhI5qLCgnzq16+Pu3fvYunSpWjVqpUV0HZxcUG7du3w/vvvY8eOHRg0aJBVnxnZ+rhx47hpnfmIWs4VNnaWoPLnn3+W9YURvVtuEAYOHIisrCyrZ/U8FkEQULt27UrTu1bJn1eqAOWfUPIfG60y4DwJUMYsSQMAzPzqrNU1H+67CJOpTBbg4/v6DgjK/20EoeVHgy2EzPwaGhqK+vXrc41XZGQkRo0ahfj4eJ7/lojQt29fnDt3Drdv38b06dNlZtgJEyaguLgY7777Lj/GtEmnTp2yGufi4mIEBATwNlVk8k1NTbUyHy9atAhnz55F7969ZQuEv78/xo8fL/vwq1QqmZ/hqVOnuD+W0WhEly5dQEQcOJpMJixevJhrNVUqFUaMGIHCwkLodDq+2PTv31/WzpycHK6ZjIqK4jyBu3fv5vUqlUoEBQXZTN1YfjFVq9WIjo62qf1ydnZGmzZtsHLlSuTk5PDMKAMGDACASgHl7du3oVKpoNFoZACeAXyNRoPU1FRMnz6dAxc/Pz+EhYVZaYyYVnDUqFE2TWXFxcU8B7koihg3bhxatGjBr69duzaPwA8KCpK1p6ioCImJiVa+g927d+f+ebGxsVb3ZFH/lnPT3d1d5sfHhKUFDAwMlD1/BqTLa6+KioowduxYPg4ODg6YO3cu73t58veoqKgnLs6MqoeNkWVfFQoF2rVrh8aNG8PNza1C07llYUThjRs35u+5Uql8YhYnJpcvX+Z1derU6Ynn5+TkcMDGNmxr1qyxmeaTzReFQmEVHCYIAjw9PTmfpmWqR0th1gHGrBAeHi7TsltyjVoWrVaLHTt2wGQy8Rzz9erVAwCrVJRsoy1Jkmxev/nmm/yd+KuzddgqOp3OpstFlfw1pApQ/gklI+tBhZHaFQHKnqvNhNHjN52wumbxN2azToOF38qOK90DntmHgAGK3r17Y926dUhOTsY///lP1KhRQ3be0KFDeT+JrEERW9wYlyLjvBNFEWq1Gt7e3lYLKgNk48ePl+XXdXR0REZGBjc528rSUlRUxIFbRfmhgV81iqxYam88PDwwYcIE3L59GyaTCePGjbPSYjRo0ADZ2dmyiNGMjAwAwNy5c0FE+P77763uu3btWr7AKRQK2d+WptL9+/dz8xgjZc/JyYFCoeBZVDZu3Agia2qdjIwMmVatsjJ69GgrEy1gXhCZmXnkyJGVAkpmAt21a5fsOANplgulm5ubVY7mo0eP8pzk5el4fHx80LdvX3z55Zey533s2DEZ2byXl5csd3K/fv24H+batWsRGRkpS43YqlUr6PV6WVQ4M0lbMg2wPrCo/3//+9+y8QsJCUFKSoqsPxMmTACROQrYaDT+H3vfHR5Vlb9/7p2emfTeG2mQ0FKAQIBQIkUxtKVJUVqICU1BQKQIC6uCoAgiAoIgYouw1BVQWRABRRcEZUOWHwj5YmQRYzYbs+Pw/v6Y/ZzcM/dOAgh89fvk8zznUTJzy5x77jnv+ZT35ekHjDHuubx+/TqGDh3KgWZgYCBWrFih6lsCJHv37uUcmr6+vrw62dXKy8s5u0FDhXQGgwFRUVHo2LEjDAYDAgICcPbsWZw8eRILFiwQNiTuijZ8fHyQnJyM3r17Y8aMGXj//fcFAOGqmCNJUr2MCwCEQhVXzsx3333XbWEeNZvNhnfeeYePF09Pz3rBLylcKeezb775Bj169NBM35AkCT4+PnxO6NChAy5evMg/T05OFtSfnnrqKfzyyy949tlnwZhTgvSzzz7j3Ll+fn7Yt28fAGDSpEl3bA7/LTR3lGeN9vuwRkD5G7QvLv5w24Dy0TfqAZQLRUBpDE28YxNBYmIidDodX5SLi4tVi4qrN4cxNaAEnDx05C0kVY558+YJSeGuCypV+DLGeKh206ZNAMAn5ry8PM3+VlKJLF68WPW50uOpbH369BGKR/7yl79wb15ERATMZjMSExM5ybFOp+M63EuWLOHHHTlyBIwxzJkzx+2YKCkpETS8rVYrD7U+99xzkCQJer0eb731lnAcAZzNmzcjMzMTkiRxQHjq1ClOG3Mzz1ipdaxlDoeDk76Hh4drAkrSTVbK7pG99NJLqmvm5eWpPI/keT1w4AAAcA9jZmamUDRFHqc+ffpg06ZNqKmp4d5KZQsICMCOHTvQoUMHDthIuWfjxo38+rIso3379vw+rl+/DrPZDKPRiIqKCq68pNSPJ3WbCRMmoHfv3vydiIyMxNatW/m56FjybNN43rp1q+q4LVu2aPa/MpTft29fAE6ddCL879GjB7p3716vIgy1jIwMFBQUYObMmcjJyRGKQmjzofU+KSm9GGNYsGABXnrpJZjNZhgMBkRERGhSGul0Onh7e/PrkPeQ8nX379+v+Zsff/xxPo8Qh+bJkycxefJkpKWluaXZiYuLEyILO3bsAODM8abn5c5ok0DvuhKIBwYGYsKECbxwZs6cOcjKyqqXKosxp0dy2bJlwlivra2FLMscqMuyjKKiIuE7xBrwf6VJkoTVq1e77ftG+21bI6D8DdrteChvNeQdPWMnzKFqGpA7MSFo/b/FYkHLli2RnZ3N8xkZc3plnn76abz00kvYunUr9u/fj9DQUNhsNqxatQqMOb0aysXP1ZN46NAhHoqLj4+HTqdTFWoQ/6PrZEX5V02bNuU5nsuXL0dtbS2WLl0qhISJmsdgMHAA9+677+LHH38UiKbnz58PQOSh/Oijj/gCZjAYcOTIEX4PVIThrsBG+T3XynBabPz8/DQro2tqamAwGODv78/JxFNSUlRgIiAgAEOHDsWOHTtQW1vLqWpcC23S09OxadMmt5WYdrtdCBErjSh7YmNjVce/8sor3Lvj7++P//f//h8PTYeHh3PpygsXLkCSJDRr1owfu2XLFjDmBC+AU+FmyZIl6NSpkyqM35Cme2JiIpYsWaLKaaQwLHl/yXbu3Ck8h8TERMEzSoCS8gCvX7/OwQ8BkJUrVwKoC5VLkoT169er7mvPnj1ux0Z5eTlX2aHx6Q40KgthqGqeMSd4o0IiuiellZSUIDs7WzhnRkYGtmzZAofDAbvdztV8lHNAYWGhitjc4XDg1KlTeOmll/Dwww8jOzu7QfqjqKgowbO5a9cu3odjx45VgUeDwYDExESMHTsWU6Y4ixAHDx7MoymM1aUG6HQ6XL16lW9WtNRvAGfeqdKzTa1v376CFzgvL09V5X3lyhXMmjXLrSZ8dHQ01q5dyzd8Gzdu5O9f06ZNhVxdh8PBi9oaouT6PTVZltGtWze347zRftvWCCh/g/av28ihpKKcTZ+qi3I+/nuFqign+i7kUConyoCAAGGCt9lsMJlMKkWPW2lKfr/w8HDEx8fzEDCFQOm7Q4cOxfLly7Fp0ybs3r0bhw8fhs1mg06nw/nz53lfr1ixAow5qYeI7JrOp5zkNmzYAMApp5iamoqDBw8KXhvGnNyGyiIZJaAsKyvjZOG0IN9///3497//DaCO57E+I+47Kg5R5rOlpqbi8OHDwvePHz+OwsJCzRxIxpz5h4sXL9YEh0RdQ61Pnz68cImu3blzZ1X4FnB6ViglYfbs2QCAyspKWCwWGAwGYbE+f/4892oSqXPbtm3550888QQYc4L5Dz74gG8MlDmxytxQLfvpp5/w8ssvIzc3t97xVR9gI0+QFk8mhWg9PT1VQNQVUJJp5UJqEfDbbDYcO3YMgBM0btmyBZMnT0b37t05T6M7T2NwcDA6deqEgoICvPjii9z72aJFC1RXV+PJJ5/kz7NFixaoqqqC3W6HxWKBl5eX200DqRTFxsYK44HGY15eHueSVGpy+/r6uu1fUqq6//77edoBY87UAWUI/GZaQkICPvzwQ35uh8MBLy8vWCwWDvbLysrQuXNnlXoTpdUozW6344UXXkBKSorw/by8PJ4Ko9zgAGpAWVZWxhksGHNufOurtKdnSv9VRmOuX7/O00ZatmyJ6upqVUHW77np9Xr8+OOPbsdKo/12rRFQ/kbtVqu8iTbo+59+RtM5e/jf2i3ej5/tv2DVR+eE74YXvHpXJoM2bdrg+++/5/x5RqMRfn5+mr+RMSdQOX78OHbv3o3XX38dU6ZMEXbcVqsVGRkZaNOmDdLS0jjgU6q3/JqJS1l9qfUdnU6H/Px8FBYW8vBaZmYmVqxYIXgvExIS8PPPPwu/jwClw+FAaGgoJEnCkSNHcOnSJR5mN5vNWLNmDRITE2GxWNyOB+VCT4stY84cLuVC5enpiZCQEMET5/rbmjdvLnhIXa26upoDdWpU+VxTU4NFixYJubFWqxX5+fkCyFNS5ixcuJBX2G7evBmAc5EvKCjg9z1gwADU1tYiICBAJdG3Y8cOATwrAafr9SorK1WfXb16FUOHDhV+j81mQ1RUlIpbUK/Xo02bNliwYIEgJUjHu56f6F2oj11Ds+4ApfK5zpo1y+340+v1mqCRCttiYmLQqVMnvlk7c+YMrly5AsbUBS1Krxb1uyzLMBgMQsU1bVzI0+5qyiKy6upqVd9arVb06NGDF77Mnj2bf9a5c2dVH5IWuNIzRUo0vXv3RklJiSCNqmxGoxGenp6a9D5EfUTPuEOHDnj//fc5UT3g9BrS76FGijZbt25FZmamUATTrl07rqDjOjZIDhKoA5Rffvml4BFt3rw53/jRfHIzlduUbjFhwgSeMjBu3Dh+PQqP3405/X+jvfHGG5pjr9F+29YIKH+j5spDOXL9MRRs/hyPv+OUTttxshwFmz9HwebPkfTUbk5sXvWzHUf/8U+MXH8M417/DN9cqVQRm0dN3w7fbneex8xisSAhIYEDrYSEBOj1el7J6GqM1eVQfvDBB7zykZorjx4AfPHFF3zRYswJLsgrRGFnxhh27dqFffv2cdWa+fPnY8qUKdzb4efnp/IQUOFPQ2HRhiZ+o9HI70+n03GAHBwcjI4dO6JXr14YPHgwOnfuzK9FC+L+/fvxzTff4IcffhA8RFTp3qdPHw4GzGYzhgwZwlU5lPeh1+uRlZUl6J67LkJaVlNTw4tX5s2bx/tIKwR67do1TJ06Vcht9fX1xcMPP8w1lZWgm/L69uzZwwuhIiMjceLECX7O9PR06PV61bVIAYUxpyfYtcCKyNlnzpwJwAmKFyxYwKv4lY101Mmqq6vdAjoPDw+0bt2aVzgrbdGiRWDMqcxz7tw5GAwGeHh4CDQ/WoBS6WlMS0trEAgQaCwoKMDatWtRVlYm3AflCCuVnShX0fXZ9unTh5+XxowrF6zD4eD5jFqFbE2aNIGHhwcA4LHHHuNjsaSkBBMnTlRtRgIDA+Hv7883BQaDgecQE8VVhw4d+D1u2rRJuE/l/KK8b9cUESW369ChQ5Gdnc0LWVwbgc3k5GT06tWLKyO5NkmSkJqailWrVvG+cNUadzgc/DqHDh0CAAFE0phVaqEDwO7du8GYM5/atbhmxIgRnGxdy5NpMpmQmZmJp556CufPnxeOvxXlpN9i0+l0vCiz0X5f1ggof6OmVMqJnrETl35QV9aStf9TnbRi7/9KL1bX2lFZ8x/sPX0FORrezjutlJOSkoLo6Gi3C7OXlxcSEhKQl5eHqVOnYuvWrWDMyQdH4TFZlrnSBGNOehZXI8oOxpx8jGTffPMNGGM8fKosniC7ePEiHn74YdUCft9993Gvxf79+7nXxmKxQJIkvPvuu7h69argdQsMDMSUKVO4rraysCcmJgZJSUm8GIIWJqPRyImzb6VvG/q+LMvw8vJCSkoK8vPzVYsocUaazWaYTCZNzkbA6eWgwh8CJ+Q90el0KiCjtPPnz2PkyJEqCTnKC2TMWYFLfajX63nOo9IeeeQRMKZWsCHJTTp/SEiI4EEEnOkIfn5+QqGREnzLsuxWd3rWrFlgzBlyVeZyRkVFqbSZ09LS+O8IDAzkHjdSYElPT+egcdSoUWDMmWPZUCFM69atMWHCBDzyyCNC+DskJMQt0bPD4YDVaoXVahU2IERHRGH8tWvX8hSN5s2bY+fOnUKI2tVWr14NxtQ5o4DT8x4XF8dzCSMjI1X3V1ZWhuHDhwubM1mW0a9fP144RZuu6OhodO/eXSiso+/LsowlS5bwVBK6L8aYZuU6gTQC8Eo1rVOnTmHlypV45JFHkJ2d7bZAyPUesrOz8e677+Kf//wn15AfMGCAcN0LFy5Ap9PBbDYLXK95eXm4ePGi5rMjRguiy1IW7TFWp0BFGuuMOT3rvXv3RnR0tGos6fV66PV6WCwWngv6e21ms5mnAzXa78caAeVv2EjL212Bzu20qGnbED3quTv68lM1r7LK9ZtvvuGyaAkJCYiOjobVanULjmw2G0/4NxgMMJlMSExMFPpj4cKFQqEI0e4A4CHVs2fPom3btmCM4eTJk7h+/Toef/xxgTpEGS6nynTAWeGp0+lgMBhw6tQplJWVwWw2Q5IkwXv6wgsvaD6vw4cP8wWqsLCQeyZd+RYBJxCorKxEaWkpDh8+LFTHms1m9OjRA1lZWZp5ddTnjDkB0+2AVCVo9vLy4kU7jDmBVNu2bdGtWzfIssx/h81mw7Jly7B582bs3bsXJ06cwKVLl1QA9fPPP9eUqaPWvn17IeyoNFo8N27cKPw9Li4OsiyjoqKCh1CNRiN2796Nbdu2cb136pNWrVpxYN20aVOuw02Sia7mcDhgs9ng4eGByspKTkyt0+kwe/ZsXjGelJQkAEyqwg0PD0d4eHi9oeuoqCjExMRwwGo0GjmY0KqgV9IHMeYEGMr8XwBcnUrJGgA4vceMOT1jRKtjsViEfqU0DMacObiuBOrBwcHQ6/UCTRSFogmM9u7du16pPLvdrkmCr9X8/f2Rl5eHVatWobKykoOiX375hZ+LxpUkSbBYLJpyjxaLBREREaiuroZer1elUABONaWxY8dqjtPg4GC3hTPUX4GBgejVqxeeeOIJlJSUYNmyZSoqMdeiHFcjhR/GnGk0BMp37NjBr2Oz2XgEwGQyCZyiDoeDjxGlktj/lfbnP/+53v5rtN+eNQLK37B9e61aVZn9q8DkEzsQM30b9N7Bd/zlJ29DaGgon/QKCgrAWB3ZsMPhwNNPPy1M1qTX645Ww8vLC/Hx8Xzi9/T05N5NoiH69NNPwZhTFhAAzp49yxdsOo+Hhwf69OmDzz//HECdPrjZbAbgLGChHb4yJEoKKrSI+vj41PvMlOTi1Fz5Ft0dR/fjro+7dOkiANPAwEB4eXlh8eLFgjrIoEGDcPDgQezatQsvv/yysBBS69ChA7KyspCamorY2FjuSTIYDDCbzbcV9qfKd7PZXO/iZjab0bZtWxQWFmL27NlYunQpNmzYgB07dvDK3ZEjR/LfWVJSAsacXJFkS5YsUTEKkGdo0KBBfIyNGDECANC0aVPodDoOTrRs+fLlYIxh6tSpAIAPP/xQ8LgGBwdzAHgzbejQC/ez/wAAIABJREFUodi3bx8Yc1ZD02bDarVixowZvKDDHXn3V199BcbUhPNZWVk4efIkamtr3eYoUyEKHdOvXz8B+JeXl4Mxp4zpsGHD+Lt18uRJ/h16R5SKO1SQw5hTbrUhu3TpEvcS1teMRqOK8oquRWFkyrVcvHgx3n77bZ5HevnyZeE4+h5pZ1MhVWVlJWbMmCHwkXp7e2PYsGFo3bo1LxwiL35JSYnARep6v+7eAZpvGGN477338M9//lO4v7Nnz3ImBALGrnblyhXhHaTrKUH/4sWL+ZxLoP/48eNu5SJ/T02v1wucxY32+7BGQPkbtzePX7yjHkpb8+53/OV3rSKm3Dmi+6msrMSUKVOEBXXmzJlgrC6Hkhad/v3749VXX+Vh8IZIiRMSEvjkPXz4cDRr1kwIBbVo0UIT0JHsHWPOsCzJ+H3yiZPP8+jRozwXjBQrGHNWZzZkDodDUODRCs1duXIFixYtQvv27VWE0kr5OGquBRJ2u50TidMCNm3aNFXOG4GWrVu3YsWKFTzcKEkShg0bhuvXr/M0AyWIA8DB0IIFC3D58mW+CE6cOBEvvvgi5s+fj8mTJ2PUqFHo168funfvjnbt2qF58+YqQHo7XlTlAs0YEyibXL/n6+uLQYMGCZ7bESNGoKSkBPv374ckSZxs3NUuX76MN954A5MnT+bAwWaz1RuebteuHSZMmIB169ahrKwMpaWlmDlzJtLT091uCqxWK6+qP3nyJCRJgr+/v2aeIgDcuHEDkiShU6dOXH9aS9nI1Zu7b98+4Z3UAn6kg04FIq+88goPMSu9pUqJT6Vi1apVqzTvmfqhdevWmnQ29Lf4+Hi88soraNGihfA8acMIAJ988gkYY5g7dy5efdVZRKgsyKIUAy8vLyHkfujQIX6+6OhoLFmyRIgwUEiYCs1ImSgxMZF7yIkn9fz58zxKkJaWplLEYcwJNlNTU9GuXbt6cza9vb2Fd71jx47o2LEjJElSjUvXDRO13r17A6jb/ChTLsjIo9mtWzecOXMGjz322E17iX9Lzdvb2+27Qfavn+04Xf4jvrj4A06X/4h//Vz/9xvt7lojoPwd2IoPS7mH8baA5H+P82o38K69/JGRkSgvL8fzzz+Pzp07q3LpGHPuOvPz87mXjTEnoDxw4ACf/GlinTNnDp+sGWOYPn06SktLsXbtWhQUFAiKMVr3QxO/xWLBlClTsHXrVoGuhkKPtABIkoQPP/xQKFyQZRmTJ0+Gw+HguZuSJGlK6CmN+BaVi8myZcvw1FNPISMjQ/DGEgVSv379EBYWBrPZDIfDge7dReAfExODr776CtXV1Rg7dqywsFEluZbFx8fDYDAIn2uF0fv06aM6dsaMGWCM8aIZVyJvd0aLHWNOOUMlP+aFCxf4xkIJjmhRpipWs9mMgQMHciDg6o0k6cabkQK8nUbqSvHx8arcPoPBgMcffxxfffUVV0dS2tWrV1W638p7Dw4O5sDYtUDI1by9vREZGSnwe44ePVooQIuLi8P27dtRWVnJqZH0ej1mzpwJSZKQnZ2tOi+FdZX25Zdf8g0HeXZp3BMgoWdHv/lvf/sbLy5SesZ0Oh1iY2MxfPhw7NmzB8HBwRyA+fn5Cd7SmpoazJs3T8hnNBgMnCmCitdsNptKpWnNmjVgzLmhoDQKh8MhbCyoPzp06IDt27er+mLTpk1gjOFPf/oTAPDUBQJqtbW1nF9TC+R16tRJyC8mzzJjDC+++CJGjx7Nc6rdjTebzYakpCT06NGDMyj4+vri448/VgFzem/8/PxUqTTEt2mxWITfQKFxqvL/vTQl/RNZ6Xc/Ye720+j47Icqer2YGTvR8dkPMXf7aZR+95PWK9Vod9EaAeVv3ChPxtY8D3Ez/oyo6dtvCUzGzNiBqMfeQ3C7/Lv20hsMBkF+7vvvv+fVm4w5wZ1rThJ5V9LS0mCxWKDX64Uii4cffpgv7K6LwGeffYauXbsK54uMjET//v0xZswYdOzY0W2BkCzL/F6URRJGoxEvvviiULjw7bff8mtS+I9yD//2t79pPi/iW6TwuSvgkWUZ0dHRnERcCUZIKo/AMnkzlJXd9N/g4GC88sorCA0NhdVq1byX69evgzGnJ0Rp5MFxBbadOnUSwF+3bt1U3hMqekhISFBd78qVKzyXlc6pZaWlpbxIpqSkBNOnTxc8O/RMlNXjNpuN67i72o8//qjKhQsICEBISIhbbyFV43t4eMBms8HLywteXl4NKprU11yJ4JXN398f0dHRnHxc+ZnVakVaWhqKi4tx6NAhXL58Gf/5z38AOOUdTSYTACewoSIpAtrZ2dmqca7kQ01KSlLpQRNJe79+/VR9WVVVxXMuU1JScOLECf48unfvjtDQUK5IoxzbRCI+btw4HqJWmpLf1ZULVmnbt293+8zefvttzWMoF9HLy0tQO2LMudl69dVX683zzMjIgCRJPFWHFIeof65du4aBAwcKz23SpEk4cuSIECXIyMjg1FnEE9m1a1devETV7Q6HA1999RVWrlyJHj16gDEmqAQpm06ng6enp+a4GjVqlPC7qHAtMjISf/7zn8GYk1nh+vXrggTr119/jb59+/4uQuNKKqlvr1XjobVHOe9yfeseff7Q2qP49pr7gtZGu7PWCCh/o3bjxg1Bbs9oNKJpZg7Chi3m1D/1gsn/fh465I/wDou7ay+8MixoNptVC7tyQvj555+xefNmPPjggwJYYMyZcN6mTRvMmTNHUNugSsfz589j+PDhQiiYJtmHHnpIsw+rqqqg1+sREBDAPZsdO3ZsULM4ODgY3bt3x5QpU7BlyxaUl5fzkPwbb7zB6YWU4IZIxLUm6djYWH7N5s2ba2phA+BFTIw5vVCMMbRq1YovOsp+JgBPYUiSIVQaeRi1vDIEqnNycnDkyBGhSj09PR2ff/45oqOjBb491/tUytPNnDlTADaRkZFutbwBp344Vb0fPHgQdrsdTz/9tCZFSkpKCgdIly5dwubNmzFp0iR069bNbYiRMSdQo7zK0NBQrF+/vt5KdbK9e/eCMSeQV3qb33zzTezYsQNr1qwRyLZjYmKEkKLJZEJoaKhAn0P5pbf7nplMJnh6enIdeHr3CHC6jo8HHngAr732Gt+YLVmyhFfNUuW5kjfU1VwLgrTuJzU1FRMnTsQXX3xRb38SrZEkSdi3bx8kSUJYWJhbkOdwODBlyhRNEBUaGoqpU6dyb+SXX36J/Px8AdwqvfcPP/xwvfdmt9uh0+mQmpoq/D0hIQGSJAnk55SGQ/+mNJTTp08jOztbGK+utEG5ubmaHKmkC96hQwcOKIcNG4ZVq1Zh9OjRnAXDHciWJAkRERHIy8uDwWCALMsCqJUkiUc7XEUIiE9z2bJlv2kOyy+//BJvHr+IxNm7b7lINW7WLiTO3o03j2tX2jfanbVGQPkbsxs3bmDnzp3CzpexupBTixYt4B2VjNSR8xFZuE4VBo96YgdaPrUNvt3GYXjRtLv+sl+/fh1HjhzRBIiM1Z+4T98NCwtDZGSkKqwpSRJMJpMQcvTz88Po0aNx8eJFgbvRnZF2tLK6V6mu06FDB+G65KVy52lKSEjg4EuWZYSFhamAgqenJ4qKigRNciWptLe3t4qTTpnT2a9fPxUnZ3JyMg4cOIAXXniBL5iZmZk8vOYqRwkAUVFRvOhIaVSswJizwIPs66+/5ko01D9RUVGq45U5oi+++CLvTwKprVq1Qm5ubr2AEnB6mgmE0oLmSp1ysy0pKQmFhYVYunQpHxfp6elcaUcLVNdnycnJgsdR2U9kr776qvDsk5KSVJ7r9957D4w5cwfPnz8PnU4Hm82G69ev49KlSzhx4gT27t2L9evXY/jw4UhKStLMPaTim5CQkDtWzWsymWC1WuHr64uQkBBER0cjIiJCJXXq2tLS0nD48GGUlpaisrKyXu8fKVFJkoTAwEAAdZXpVFTnzihvkjGnd69ly5ZC3yjvMTQ0VJBEbNOmDSc1r89I3vXFF1/kf/v666+FDUNycjL279/Pi8PmzZvHw87dunXjhV4XL17Efffdp+ovWZY1q9HJCAyTlKuWlZSUCHPS/fffL9ATuTYilVfOm0R/BtQVLioL3ajIh+ZBX19fmM1mnmqhtSGy2WyYPHkyp227k83T0xMpKSkI6TrqjtQPrPhQLU3baHfWGgHlPbYbN25o7lRv3LiBDz74gBPzuls0qEiFchSNHp5o2j4PlogUDCt6ApLBzPNo7nYzGAx8106L7gcffIAxY8YIXpPg4GBMnDgR33//Pf+9J06c4Iuaw+HA7t27OVAKCgpSTV6yLCM+Ph7FxcU4ceIElixZwj+777773Pa33W6H2WyGt7c3L4ag42jCDQ8Px7FjxxAUFCTktZ07dw5r167FuHHj+P24A5rKKulJkyZhy5YtsFgsHFCSrVy5ErIsQ6fTYcOGDbDb7Tzvja6v9Eakp6cLxN+A0/Oal5fHx4mXl5cKOFZUVIAxNcfgH/7wBzDmLG4g8EiV72SXLl0Scjijo6OFlAbAyTOoDMOPGzeO0xBRLp87QHnw4EHk5OSonrG7fEiz2czpm5QLGWNOcK6kjwIgPGMKbd+qvfbaa8I9KInJ//znP/NKfkmSEBsby9/XLl26CO83EZvT75AkSTMk7Gp2ux0lJSUq77RWI3lLu92OiooKnDx5EqNGjVJxLA4fPpyPm8DAQDRv3hzBwcGqvr2dRqFsSiPw8fHh+Zg03g0GA3r27IlBgwbx+WvIkCFYvXo13nnnHXz00Uc4ffo0rl69ioqKCphMJt6vNDe48/K2aNECa9eu5ZvP8PBwPtbPnDnjtp+JWN5ut+Po0aOCp5767+9//zuAumhAaWkp7HY7z2MNDQ1FeXk5amtr0b9/f8378/X1VQFvh8PBK9IZY26957t374Ysy7BYLDylRKfT4fjx47h27ZqgtPPggw9i9OjRaN++vTA3u86l9K7l5ORg+vTpHGwqi7koN3vLli1gzKlyRWTr/fv3v6teTZrTYrsNu6NFqVsbPZV31RoB5T22DRs2QK/X4/nnn+dyZwcPHuSL+616HyjMwRjjYZZ7zUdmNBqxaNEi4XdmZmZClmX0799f2CnHxMRgzpw53OPaq1cvTiqtXNSMRiMPn48dOxbJyckqqg5JkuDh4QGj0Vivl4S8f7NmzRLOodfrMXfuXP69s2fPQpZleHt74/XXX0ffvn0RFhYm3JfVakVWVhaKi4u55FpDE6uXlxeaNGmC7t27Y/LkyVi4cKHAUcmYMxSulDNkjOHTTz+tdyx9+OGHgvf22Wef5Z/R4vfRRx/xv40YMQKMOT2IDocDFy9ehCRJguoHGeVKtmjRgo+noKAgvPLKK3j11VcF0JuamsoBFoXVCFBu3rwZEydORNu2bW8qPzEjI4Pzmep0OuGeHA4H1qxZoyr+yM7OVnkg/fz8+PckSUJJSUm9fam0L7/8UgVud+/ejQ0bNnBPvCzLyM/P58VJV69e5R4yo9GIpUuXAqgDlHQvVKV7KybLMnJycvDWW2/Vu9GcNGmSKoy9cuVKDr6JFocxNRWRj48PMjIy+HPt378/HA4HHA4HLl++jKSkJP7dgQMHYvHixZg+fTrGjx+PwYMHo1evXujYsSPS09ORnJwsjEslsP21wFX5HjZv3hxNmjThwFU5JhhjfP647777UF5erqoYJrnC+Ph4nvOozCX++uuv+ZgEgA4dOqg2STR3kQ44Y07e05ycHEiShDFjxgh52lTlX1FRwQEfPQutOYyEFkwmE7755hue/yxJEgwGA9566y1IkgQvLy/eD1TAd+bMGd4nTZs25WH09u3b1/sclPOZzWbjUR6STSXLyMiAXq/Hzp07NYswb7fRvSW2zkb04yW3X4yq0RJn727MqbyL1ggo77GNHz+evzBt27blJNx3AgTeayD5wAMPYNiwYRyk+fj48AkzMDAQQUFB/HcfOHAAXbt2VYFC5eQlSRIyMjLwxhtvcM5KxhgOHjzIz3Pq1ClN4CxJEmJiYvDQQw9h9+7dwuRMpNXK6yoLF6qrq/Hqq6+iZ8+equ95e3ujTZs2fCF1NaWKxcKFCwE4QcTatWu5akVMTEy9YXTlbyAgowxF1WcOh4NTwNAzqampURXrEJ9ms2bNhL4h8mjXtAHSGabKcvJA0nUMBgM2btwoeNDCw8MRHx+vWuBdn3dYWBhGjRqF1157Df/4xz8AOKU3aeGkKnvXKuRPP/2UA/GxY8di2bJlPDTNmBOc9+zZE0eOHOHgmRZyxkRlJXd25swZGI1GyLKMjRs38nPQgmkwGDBy5EjNKAMAvP/++zxfNi4ujgNz5fNVsg3cjPn6+go0Rr6+vqiqqsLhw4cxYsQI1YaGCmRGjBiBRx99FDk5OarnYDAY0KlTJ04ivnnzZk7ttHz5cs37UKaK1Md0QCDHarXyQrvg4GCBYLyqqoqHtMPCwrB+/XosWbIEM2fOFHgileMmODgYAQEBwnt0u6T+er1e1W8eHh5ISkpCmzZt0LVrV+Tn53Pe0UceeYSnw+zevRvHjx/HhQsXUFZWJsh79urVC0CdljcgErIzxgTP62OPPcY3vERjROYqtEBms9mE4i5JknD69Gk4HA6MGTOG/52AalZWFhhjOHbsGADnhokxJ02Yw+HA6dOn8fLLL/MNstVq1czZlCQJ3t7eSEpKQs+ePZGamgrGnIpFDSkO3WpLTk5G9KjnnEIcGsBw8JpP8dZn36KsogrVtXZc+bEGH5y5gt4v/rXBnMqH1or93Gh3zhoB5T02Aie/90bFMoBzwpw2bRpf7D08PCBJkmbembtwfFRUlIrY+OjRo2CM4amnnuJ/cyVzptA5qZwoJ7/w8HAMGDAAixcvFhadjIwMLF++HF26dFFxaCo1vin/k0I+a9asUf2eF154gR+rpC4BnJWtriHvsrIyIcxVX3P1bFKBkJYpw17kKSEqINL5TUxMVHlprl27xivPlZabmwtJknDjxg1cvHgRXbp0ual79vDwgLe3tyo8PXToUKGCXMuUCiHkeSdbtmwZD6u6ekoqKysxa9YsIcRHGwNS16F8M6X2u6udO3eOV5/v3LmTe58Yc4LSSZMmuT1WaXa7HaNGjRL6QJZlzhQQFxfX4DnIjh07xsO8sixDkiTVGLh8+TL/vQkJCQ0u7kou0pycHJ7ba7VaVaBGaUq5P0mShLxDsu3bt2uq2LgCSjIqPuvduzdycnKETWKLFi2wYcMGeHp6IiYmRjhu3rx5vF9yc3M59U+fPn3w0UcfYeDAgcLmVafTIS4uDt26dUNiYqIQOjebzfDz8+NhVi2weStNp9Px88fGxqJp06Zo2bKlCvjSHElz4pgxY3Du3Dn89NNPboUWgDo2CKrG1+v1Qri8tLSUg3KdTodVq1ZBkiQkJSUJx7uG2GlzvGHDBgDASy+9JNxvQEAAIiMj7zh41Oq/hIyO9QLDnaf+B5+UXcWT75/CH145goLNn+PExR/wn18cGLzm0wY9lecqGimF7oY1Asp7aCdPnvw/JY/Vs2dPoWLZ4XBg0aJF3EMjyzLGjh2LL774AkOGDNGUMwsKClJ5mXr06IHDhw/D4XCAMYYePXrwa9ACRJMe4JTlo7B3eXk5Fi5ciOzsbLfyaa7X79WrF9atW8d/S21tLby9vSHLMkpLS1WKP2R///vfeYiccjqVRMOugLK2tlZIpDcajSgqKsKKFSs4WKDPmjVr5tazKcsyPD09BbA5YMAAMOasvKYxFhsby+89NjbWLRgipZRHH30UEydORNeuXesdpx4eHvD19VV9xxVAMcZw5MiRW3pH0tPT+aLCGMP58+c5BZWvry/Onj1b7/Hl5eUYP368EIILCgpCYWEhzx/09/dXLaYXLlzgG6GePXuqKqebNGlyS78DcBZ3ELDQ6/V47733+PMYO3ZsvcfW1NQIxVPU8vPz+XdKS0sxY8YMtG7dWuVRioiIQM+ePdGvXz+0atVKAFeSJCEoKEhgOzAajdi3b1+992Q2m7n0JD3rAQMGcI/33r17IcsyzGazavOgBSiPHz+O3r17q4rxZFkWaIWSk5M1i8uUaQY05lwZFFz5XF3HZ5s2ber9zXa7XSi06dChAyZNmsQ3rxaLBZ07d8Z9992nOed4e3tzGrHbmWOJc9VqtcLHxwfBwcFCASSBO1mWMXToUEyfPh2LFi3iXLP0HtGz3r17N2w2mxA9IqO59cqVK277r2/fvjwV4uOPPwZj7LaK6Bpqvt3G1ctk0nrBB6q/pczZg+9/qsGhc1cb9FLO3X5a9fsb7ddbI6C8B3b27FkMGjTojuUP/W810tj29/fnyeEmkwkvv/yy8HvXrl3LFyl356IFm5RyqqqqMHv2bAFweXl5Qa/XIzw8HIDTE6XT6fi/yebPnw/GGPdwnj9/Hv3792+wv/38/NC9e3esXLlSFcI8fvw4J6HOysrSzOcjvV4K/5FedEhICKqrqzmgrK2tFWhYSB9aGXomTyu1yZMnC9crKyvDunXrMGHCBHTq1Ommw+jU1+fOncOlS5ewadMmDhrdhaddOS8lSULfvn2FRd7hcGgm/ev1emzcuPGmqrxdjXI6lepI5C1OT08XdIwbMqVkptKjQufT6/Wc17C8vJzndxLQCAgIwAsvvMDBF2MMO3bsuKXfU1xczK9L583KyuLe5L1792oet379en7PaWlpWLhwIX8O48ePV1EFEYk40efIsqw6N23OJElCu3btNCvJGXMW0Gn9zpqaGjDmzK189NFHwVgdjU58fDy2b9/OC6Bci6SAOkD5j3/8Q0X/RaTnNN5clX9oQ+FuQ6R81nFxccL1KU9SOT6VqRtBQUFYsGCBWyovwMnnSucgwnqdTodZs2Zpfn/u3Ln8/Dt37kR5eTmnt6KxNG7cOHz99deYP3++IDQQFhYmgN2cnBy0bt3aGQKOjkZwcLCwEbhdTyp5kb29vREYGIjIyEg+prKzs3HfffdhwIABGDVqFAfDlPceEhKCjz/+mMtDKvNrf22jMRA2fs1t5Uh+UnYVZd9XNfi9js+pCdMb7ddbI6C8y/bTTz/9Lghkb6YRVcb48eMBOEPBtBAnJSXh1KlTmDt3rlB8YTabNZUeSEuYAKXSysvLUVBQIEy0gYGBPFfJdcE7duwYGHMCB62+Tk5OxsqVK8FYXTi+S5cuKsUYb29vdOzYEc8++ywqKip4bhNRFymNFrk5c+YIfyf94YiICFgsFnh5eQmevJ49e2om3//xj38EY4wXM1C19M1YWVkZ1q9ff8uJ8QaDAYGBgcjOzuY0KXPnzuVyjbS4UK4p4CwS6NKli7CQpaWloaCgQCiCoRyvWzHK9fvss894mJ4xJyfnrVpQUBAfh71798bBgwfRvXt31fhIT08XvEcRERHYsmULgDqQP3XqVOh0OoSFhd309UlhhsDxxIkT0a1bNzDmBCNUtat8xhcuXOBhTIvFglmzZmH8+PGaSj2JiYkYP348l04kI35PWZaFgizyJjHGsHr1au5l7NevHzp37qyS5pNlGWlpaVi1ahV++uknngv63HPPCcwJSjCn0+k0uS2vXr0KDw8PYcwo6b8A8Opob29v1fHEY6kFwEmz3Gw2Y8SIEZzqadCgQRg2bJiquIpSdUJDQ4WcZUmSkJaWhtWrV2u+n0oN94yMDMGLp2Xkaad+YYxhxowZcDgcfNOsfD6uxX8pKSma1ekOh0PgXiXwTOFqm80GPz8/yLKMFStW4LnnnsOsWbPw4IMPCv3fpEkTNG3aFLGxsQgNDRVSf25XJvVONcloua1CnNS5e1H57/9gz1dXGvxuzIydjTKNd8EaAeU9sD/96U+qkObvrSkXXWX1cXV1tTB58klBkvDxxx8DqFOyUDYiAtYClEqj3D1lKCkkJATp6elITEx06wWlECCRb1Oe2Lp168CYk8cNcHowlGTrrrl/BIYjIiL4PW3evBmMOaultYxI0F37zx1fpt1uh4eHBzw9PeFwOPhvstlsKsogANzTWFxcjK5duyIuLs5tIYzFYhE8dHq9/qZpYjp37ozLly/j5MmT6Nu3r6pK21UKr7a2VvWddu3aaXqsXI34NLOysvDMM88I9+fv76+SmKvPqLJ6wIABCA8Ph4eHB//M4XDgnXfe4drY1GRZVnmcFi1aBMacBUtE5q5MtXBnVVVVsFqt0Ov1vCqXaIcOHDggFGg0adIEDocDRUVF/De7gi/luK+PjJyMqtR1Oh1POXDlR7TZbKrcvKqqKjz//PMCITs1AuJTp07F1atXuReusLBQyKtctmwZAKdHc+HChbz6n1q/fv1w8uRJ4bpffPEFD+0yxgTmBaCOBmr69Omq30qFe3TMJ598IoxBX19fPv8QaKLUh86dO8PhcODNN99EZmYmB356vR7t2rVDSUkJzp49yyvAGXPmn96M0TWopaSkcPWjixcvQq/Xw2q1oqqqCgCEHGVln7Vo0UKYb4cMGQLGnEVCjIlcnqtXr+bHkXSm0qqrq4V7uv/++4X3V6fTqVIA/v3vfwt54q1ateLAncbqnVpjqBmCYm/LO1nyxWX85xdHg4U51E6X/3hTz7LRbt4aAeU9sk8++eSuJzPfrXb//ffjf/7nfwSuxenTp6NNmzYCMTUtCJIkwcfHB4AzfEfnefLJJ3HixAkBgHp7e9ebZ0eLujvvm9FoRMuWLXnfWq1WTr8zatQofh4vLy/uZUxJSYEkSdw7ojS73Y5t27Zh0KBBqpCu2WxGs2bNeJ6YqwexrKyMF7MojwsPD6/XozF58mQwVkeu3Lx5c8FLkJSUxEGjVmK/zWZDXFwcOnXqJPSrEoQp881IAo48m+PHjxc8MO6aTqdDREQED6tq8SlSqoBrzhiRYbsz4v8jTk4/Pz8EBQXxjUFQUBBffBsyqvA+efIkL3ggOqPPPvtMkId0bSaTCXmDewIgAAAgAElEQVR5eTh06BDPYaytrUVtbS1MJhN8fX0bvD6xEGzcuJGDWyWPJQFId/fg4eGB1q1bY+bMmVztyGw2IyQk5KZ+P1BXzENFHWazmb+rBoOhQe93TU0Nxo4d6zb3z2q1CkBy8+bN/B11zc3s0qULfH19NYtyamtrufrP6dOnVVyw1F8UVVCa3W7nUYDS0lLh3QsICOD3npWVhbCwMJhMJkHRZteuXarzLV++HMnJyZrzDI1FAs3uzG63874IDg7m72VgYCAvVCKPYmZmJsrLy7mndN68eQCc+bFKlZ6EhAReJEaqPgEBASqPLs2D/v7+qmdMClCM1XnOzWYz1qxZg0uXLoGxuuiT0qgokYDuhg0bUFpaqipovBPNaDQiKCXrlsHkCwecObtPbf/qpo/54uIP9T7HRrt1awSU99Ao/+b31GRZxvfff88l6FyBR9OmTfHSSy/x6mECgIwxITTjqphTWloqnCchIYHT/Wzfvh2DBw9GVFSUKmG/ZcuWmDZtGpYvX46srCwVwCJQq9y5Hz9+HIw5qygBJ6hgzEnq25ApaYFcF1eTyYRmzZph8ODBgscrOTlZCCE2bdpUM4x28eJFrFu3jhMNx8XFuS0k0uv1iImJQW5uLoqKirBhwwaVHjLlkjLG3FaDb9u2jS/4sbGxWLp0Kb9mbGysKkRoNBoRHByMiIgITR5JSZLg6emJ+Ph4dOvWDZMmTUJ+fp1uvCvIjo+PV6UskBePvGBt2rRBbW0tcnJyIMsyzyEMCwurN9eNzM/PjwO/q1evgjGnZ0WZ60W/85lnnuEV5JIkCeFlqioniU0Cd/WpP9EzoAp7ApRTpkzBxo0b0adPH00PIGPOghtl4ZfD4YDVaoXVakXLli1hMBga/O2u/arT6YSUC0pbUbIR1Gd2ux2zZs0Squ8TExP5eZR95TpuVq1axce9uypvSgMg3k7igvXx8RFyJr28vLgWNRlxrSrzrpUbl6qqKn5+ur8dO3bwZ+9OsnX79u38HXGlJtPpdPDw8HDLe3vp0iXh+dK8uHDhQh5if//99wEA999/vzDuGRMZLQDgypUr6NOnj9C/xDZBRTSuOdxEuE653GTkBbVYLLBarVi8eDG/Nv3e3r17q7hFKdVI6Vkn/t87vd54eHggtnXOLYHJ5/c5ieef2fvNLR3X6KG889YIKO+RKUOZv5emJORVhuDCw8N5iLV9+/bCxH/hwgVhwabFXMto4XXnMbLZbFw5iDEmaGcrCxfCwsIEqUJJktCtWzcecidPk9IjSdxsrhKIrkaTtrKopm/fvigoKNAsSlHy5BkMBg7WAgICkJuby0GjVsiZPI0UYnv00Udx6tQpnt+YmJjoNvS7detW4Vz1eVHsdjtPAaD+cs3T0+IapEr27OxsrF+/HoWFhejcuXO9BUJmsxnx8fHo0KED4uLi6pLuw8Lw+uuvA4BQhKMsRlIqk8yePRuMOcFDfdQ9p06dAmNOVRgAePvttwUvel5eHl/wSYsZAI4cOcLDdyNGjBC4PRlzepfGjRsHDw8PWK1WTUBx4sQJSJJTYvCHH37Ayy+/LOjSK/uE+qFZs2ZCv6WmpvJxOnPmTDDmBLDkdb1ZIEimpOmaMWMG91I9/vjjt3Qek8mE4ODgW/JKSZKE/v3748svv9QElJTX7LqxW758ORhjgkeyadOmMJlM/N979uwRrtWuXTu37/KBAwf4fdO8RO8lbTIB5+aDPJgGg4ELBVA6hhL4eXh4oLCwUIg87Nq1i8/xNNZd74O8nI899hgqKir4syfvo5LRAoCKBF0ZaqaIQ2hoKPLy8iDLMmRZRkJCAt/QUvHN7aw9BKBpI22xWLjnVa/Xo2XLlnecBk+SJCSkpN50DiWByef3/f2WwGRjDuXdsUZAeY9MKcH2e2iJiYnCjpQxZ5jru+++A+Cc6IjUOjAwkHvLlF4yxupAaXR0NE6ePMlJxLUk5QwGA58wKfeJuChpMXEtXKCcNmXOknLRs9ls0Ol0XEfY9Xm0aNGi3ueWmZkJvV4vEFQ/+eSTnCpDkiS0bt0anTt3vqniK6vViri4OOTm5nISYtdij/Pnz4MxhqKiIv43yuGzWq0qoKfU+fXz84NOp9NUvyGbOXOmZo5eSkoKdu3axf+tDDGfOXMGsizD19e3XkBHYXSll4YKoRrqm0mTJgkeOtJOplQAIluPj49X8WmSDRw4EIw5wSJ50+na69at4xXWM2fOVB177do1HtZr2bIlGHOCnSFDhghhXMacfJbK/ikvL+cbHK181ujoaMyZM4ePG09PT67eQ8CK3jdZllFYWAiDwcA9rUQCTgVDN2PDhw8X7sFiseD8+fOwWCxCTnBDRrl3PXv21KQyYswp+Qc4ybgLCgqETQI1nU6HcePG4dChQygrK+OyoVrV+xQmXrFihfBct2zZItDUpKWl1auTTUbFO3RcdnY234QWFRVhwYIFHDh17txZ2LhRzvTatWtx5swZlRc/OjqabxwMBgNeeuklpKenc67OefPmYfLkyRg1ahR69eqlOU8oGRWU6me32kjD29fXl0cU9Ho99zImJCRgyJAhMBqN0Ol0+OMf/4i1a9cK0SQfHx/s2bOH/36l9CJQt9GjlKLbpURy17y8vBBd9FqDoHDJB04KsRcOlN5yiLyxyvvuWCOgvEe2bdu2O/rS3Yvm5eWFwYMHo3fv3mBMXYQBOKuTKWfuscce4xMjKTycPn1a4IpzbcHBwVixYgWfwGtqalBUVMR38jSxGgwGFBUV8X/37duXL0SkrNKpUyfodDo0a9YMFRUVKCoqEnIvAwICMG7cOFy+fBlAXbitPm3lwMBABAQEwGQyqUCRu4nUYrGopO2oGY1G9O/fH++88w7vV8rvU5osy2jfvr3wt40bN/LcSgJZpPNLHoiCggKeCuD6rJYtW6ZaDFu2bInBgwfz45XeYkobsNvtCAwMhCRJmkVCWqYMcxORN4HNwsJCdOjQwS3XJYXRlYvg5s2bcenSJZ57SDrDSnM4HMJzMplMGD9+PK5cuQLG6gq16lPMcTgcnNOTsbqiLsCZB+26ETKbzSqAEBISgj59+uD111/H6dOnwZgz7YHC6iNHjlQB4q5du4IxJ6hWgrHHHnsMAOrNcXO1yspKngdIBNdEW2a1WnlI9GYUeyoqKriakrLl5uZi/fr1QgFJx44dBXB37tw5wVOm9ax79OiBPXv2qJ5lTU0NvL29odPpUFpaynW5lXPCrYBiQL3ZNRqNQoqJxWLBkCFDUFRUhOHDh+PBBx8U2CCioqIQFhbGgdqdKrKkcUnjIysrC126dMGDDz7I5yjiut2wYQN27tyJo0ePori4WEXQ7rrZo/xsugZtgqg4cdy4cQAAf39/hISE4OmnnxaA9Y8//sgB5bp16/CXv/wFc+fO5f1WnyrWr2mh909EdD08lAt2OivgPzpbgfyVh1WtPjDZyEN596wRUN4jW7hw4R3fyd3NNmDAAH7vyrCdVsjxo48+0gQHrmTL9B2TycRzE91VeTscDl7RKEw0oaGCh448F9nZ2XA4HMjIyIAkSRxskueyX79+Ql5jREQEiouLIUkS4uPjAThzGjdu3Iji4mJ06dJFVaGqbJIkIS4uDm3btuWAomvXrsLCSDyURLbuSs1CfdK7d29s2LBB8NT4+fkhNDRU1S+nT5/m5+nYsSMkSYLJZELHjh3BGMPly5fxxhtvgDGnFOTnn3+OXr16CR4PkshUXu+nn37iixdjzsWV8mcfeOABMCaGiBsy4qGk0LGSyPvKlSuCvF6rVq34Ik30PNHR0W5zNpVhy+LiYrz22msYO3Ysfw46nQ4zZszgoE2ZbnIzgAyok6SUZRmvv/66QCLuCsqpmUwmbNq0SRgDq1at4p/Hx8cLaRtKq62thY+PD2RZxrFjxwSw0rVrV87B2hAR94kTJ/hiP3LkSLRt25ZvLt544w1IksRD+4WFhZrnqK6uxty5cwX1JeX7u379euH7y5YtE77Xpk0bHn6ura3l8rKyLOPo0aMc7CrnQ1mWERERgYEDB+Ldd9+F3W7n0QllX0RGRvJ85cGDB6OgoABDhgxB79690alTJ6SnpyMlJQUxMTEICQnhnjqtDeHNNOV74+XlhcDAQERERPC+oP96e3vD399fdY0nn3wSn3/+OS5fvoza2lrU1NTwsd+tWze+GVcWAtH8WlVVBQ8PD+j1epWoAhltlqgZDAaMGDFCKMgZN24cGGNc/IEsNDQUer0eVVVVkGUZ2dnZ+Ne//oW33npLeD8bCpdrvae/plksFhj8I+sFhZ/+45/1vgcNeSgblXLujjUCyntkgwcP/lVyXne7BQcH4+2331bxpDkcDhgMBiQkJGiGHL/++mtBuUHZwsPD0b9/f2zdupVPkqtWrRI8OkrlD1dThmGUE+bw4cNRWVnJ88rS09P5REkSbIsXLwbgVPdQJvOXlJTwKuqG+sQ1Ib9nz54oKyvjIDY/Px96vR6SJPF8K6VpSS+Sd4gWddcdvr+/P7p168arqbWsurpaoDL561//CovFwgnfy8rKeD6V8tyBgYGCJrCWKQtqGKur7MzIyKj3OFdTEps3adIEjDlVOvbv38+fv8lkgslk4mNjxYoVPJdTr9dj2LBhCAsLg5eXF1577TWesxkbG1vv5iwyMhJdu3bFxIkT8frrr/MUCcYYNm3adFP3T5yYrgCBJPyI2uezzz7j6i7KBTgnJ0cACbm5uQ1ek3IwqX82b97Mc9RILUVL4YRs1apV/LmvX78eDoeDgxUyJeuCMg3Ebrdj5cqV3JNKz6d79+5C/61atUrz2nQc5fsy5ty0TZ06VdhMK3MAW7Vqhfj4eHh7e7sF6bfSyFNP8p9BQUGIiopCUlISWrVqJRQSKfPDlecoKipCRUWF4EEOCgpSpcwoZTmVGy3qRyXIon7ct28fD9dTysXBgwd5qgTNN0TsTmwYrkTvSrt+/bowtmnOlGUZDz74IK5cuSJo0rds2RI//fQT9u7di8GDB4OxunzShgB3y5YtsWTJEnz66aew2+08JeVW+W9vpqWlpSFo0NP1eilvpzVqed9dawSU98jupJrAnWxUcKPMGbp06RLnSSPVm0WLFgGo40EzmUyqRUBZAe7n56eStyOrrq7metaSJHHCX6UNHTpUmFwYY+jVqxefMGnycw190iIaHBzMqyi9vb3dFsK4VpFHRUWhbdu2wm8zm83CAuNwODggNJlMbulwtAClw+FA8+bN+UQMOD0Rr7zyCnr06KEiW/f09EROTg4nWwfAdX6VCz9jznC1Frg3m831LkpKy87OhiRJArG4LMsCufnNmBJQfvfddzAajQLtFG0GtNRGNm/eLHhIGBPl4K5evcqJsGkhpuvpdDq3z5r6isAmhdEBZ0X0uHHjkJiYKDx7pbJKfHw8TyOgnFryfB09ehTV1dVYsGCBkO5A9zFy5Mib6rfHHnsMjDm9PmTvvfeesPFw9XIqvfleXl7cO0jvLlVQkym9ppMnT0ZycrJAAURUN/n5+ZzGiTFnykhERAQCAwPh5eXl9CT9inw/k8nE8/1CQkIQFRWlylV111asWIGzZ8/i+vXrbiuuXU0JfPR6PV555RUATtYH5XtTUFAgHKfX65GZmcn/PW3aNOH5Ul650vLy8iBJEubNm6eSJkxISBC4Wa9evSp4g61WK+bMmQPG6nJT3ZlyA7hz504AzuIgZXRFSRdVX5/GxcVh2LBhWLJkCY4ePQq73Q6HwyHQkQ0bNoz/ffv27XdFdpHmnC59BiLysfcQfRsk5+5a4uzd+PZaw0wRjXZ71ggo74HV1tb+JjW8R44cib/85S9grI7mhIx2tRS2TkpKchv6mDBhAqqrq/lOt3Xr1jyUQ3KIWkaLCmNOD+nhw4dx5swZYTLcunUrbty4AUmSuJeHQrDUfHx8EBER4RZIUCFMly5dUFxcjI0bNwq5XmPHjhV+q2tTcuLV1NQIPJqenp5uJQG1ACUADigZ0yYgrq2t5cTFPj4+wm+yWCw812rLli1Cbhl9TrmHjDmLq+oronG1kJAQ+Pv7w+FwCJXfZrMZ69atu+nzKAGlw+FAamoqX9zOnz8PDw8P2Gy2esHA7t27OTiTJAlt2rRB+/bteX/ExMTwZ9GqVSswJlaJE0NAbGwscnNzb8oLJkkS/P39IcsyL5ZyB9hovBcXFwNwAn3Kf/T19UV+fr7Qh/7+/hgzZozb8CVQl0vJWJ1nqqamBmVlZQLIzsjIwJNPPomxY8dysGmz2ZCeno7U1FTExcVxAG+z2WA2m4VNyO00UmEJDQ1FXFwcmjVrhszMTOTm5qJPnz68qGjs2LFYunQpXnjhBbRr1051TQKNPXr0gMPhwLVr1zBw4EA+RwYFBWH16tUAnJutZcuWaYJWHx8fdOzYEUuWLKl3w+NwOASWBsa0i/GmT5/OP09KSkJlZSUPKY8ZMwa1tbVo3749GHN6X7dv3w7GnKFrVyNASdenAiAlF3FAQADGjx+P8vJyOBwO1bwWFBRU7/tx7tw5SJLEgbKHhwf8/f3deu+VrBNxcXE4evQoDh48yD//8UdtGh3KoVTmw94LkQ5JktC9YO4d9VBuPa7mHm60O2eNgPIeGCXm/283ZThKWeWanJzMib7379+PUaNGcXJwaiaTCU2bNkVRUZFQtJCUlASHw8Fz+Bhj2LZtGw4dOsQnT1pwXY0xZ7HAtGnTNBeM0aNHY+PGjSgqKuJ8evWBAqPRiMzMTCH/jfIj3dmlS5eECvGIiAgMGTJECMtbrVb07dsXJSUlfPLu16+fW9oTMi1ASZyLXbp04SBLK6/v22+/BWNObwmRrZNXt75G/RMREQGj0YioqKiGhqdgBoMBrVq1wqhRo8AY49Xa1B/NmjW7qapaApTl5eUcZBG4Isqm5cuXN3geqjp39RgTFx8AIffz+++/BwB0794djDlBi91ux7vvvssrt5VNr9fDZrPB29tbsxpdybNJUQZJkjBs2DD+HfLm0ZgbMWIE/vrXv2Lbtm2cl9Xf31/YkBmNRoSEhCApKYnn+92sd85dIz5Ti8XCQaZer0eTJk2QkJDAGQBcj/P09MTatWuxd+9enDhxApcuXUJVVZVAizV06NAGnxWxEzRv3lz4e1VVlXBdX19f7tlSvmfR0dF45513NM/9wQcf8O/98Y9/dKts1bZtW8yfPx/ffvstAGdIWen1f+ONN9C8eXPIsqzJFHD27FkhP5LCwkuWLOHnUcqn0pg6d+6ccB4ClA6Hg3+HqqJLS0sxdOhQ4XlHRkZi5syZwhgZPnw4qqqqsGfPHsydOxf5+flIS0urFzQGBwcjMzOTexrJm6rcZFI4Pi8vDwD4Rrq0tJTfP7Fx9OzZ023hTXh4OE6dOsWp4u50o+t2GLfACQh/pafypQ/FZ9Rod94aAeWvtH/9bMfp8h/xxcUfcLr8R01uK6KduBtNp9Npeg5pUiwsLMT69ev5ZM9YnV7uL7/8gm3btvHFV9koJ4/+feLECdTU1PAq4Li4OL6jpsWBQt5USXj16lX+WUZGhsqTx5jTM+pardhQM5lMmDBhAl5//XVcuHBBVUmekpLCf//TTz+t+dy+/vpr7m1grI6yZfHixZxvkUiMXYmos7KyOFegKzGz0rQAZXx8PCRJwpUrV2C327nnYuLEiarjdTod2rZtCwBYs2aNALrJk6YFQmRZxujRo3n+HYXKG7Jr166BMcYJkJOSknDhwgVIkoSUlBSuXy7LMoqKiur1nlCVN43NWbNmweFw8L7U0mx2tcOHDwv5e6mpqQIoTE5OxoEDBwCAA4t+/frxDQVVrrqCRA8PD8yfPx8nT57EmTNn8NFHH+Gdd97B6tWrsWjRIp4q4evrCz8/P5hMprua/yzLMqxWKwfNycnJfLPh4eGBhx9+GFOnTsUTTzwBxpzVt8qxGxcXx4E0GckN5uTkCF7SoKAgzp+oTCuJjIzEzz//DMCZB0hRAnrHV65ceVNjiDZnSuYEAoOyLGPKlCmqqnh3OchKU3rSlB5Bu92O999/nytbKZ+TMoxvNBrh7+8PoC7kT5RErnblyhWVqhlJ51LqDxk5C7KyslT9QF51xkShBaUdOXIE3bt3v+kcUpPJhNDQUD4+IiIicOzYMS6F6RoRSktL4+D54sWLuO+++4T3ITMzkwO3qKgodOnSRcU1SgB0xIgRuH79Oqqqqvhz1ul0GDBgwF2LwFH6UnjHPyD2ie2IusWcyrhZu5A4e3ejZ/IeWSOgvA0r/e4nzN1+Gh2f/RAxLgM4ZsZOdHz2Q8zdfhql3zkryejlv9NhAiLCpn+bzWZ0794dhw8fxueffw7GGM9PpHAFTZTBwcHC/dDkW1hYyD1QLVq04AUHXl5e/Bz9+/fnYILya/R6PZo1ayaQDwPOcA/pCJtMJmRlZdWrCOPqyXjuuedw4cIF7l11VX9Q2sWLF/lETueg0BnZ0aNHucwfY86CnhMnTsDhcPDQIIWRqPJx/Pjx/N6U9x0WFoapU6fC29sbsiyrcttcASWFyJQV9LW1tfwZumoVe3t7w2g0CgtwWFgYli5dysPYyhym4OBgzUpyb29vjBkzBgcPHqwXBFJoS6/Xw2g08jAiUeUcOHAAx48f5xsNPz8/t/rklBNmNBoFiTvKfbRYLG5TBXbs2ME95BRei42Nxd/+9jfs27cPL774oqA6Rf3jLkeWPNu3w7JAx1NRzK14EU0mE9+opKSkYNWqVYJ3d8eOHcjJyRHuy2q1YuPGjXA4HCguLgZjDA8//DA/Rq/XCxKHVEGt0+kwd+5cVFVVYdasWcI5if7r7NmzQj+fPXsWjDFePBQXF4eamhruiS0uLuY0Ta6qTO6soqJCiAxUVlbyOcfHx0d491xBuqtKjNKUpPiMMezdu1fzew6HA48++qjmBkCWZaSmpnL6MZIw1LJvv/1WVb2cl5en6dWkAi5laowy6pGfn889jXPmzEF+fj5SU1Pr9TQqm6+vLz7++GPh2rSxp2daXV0NSZL4BhRwpkoQT67Srl69yinLtFpQUBB69eqFdevWobq6WsVDCTg3exRpuBdt5MiR0PuEIPvJLf9dZ+v3VtLnmdM3NuZM3kNrBJS3YN9eq8ZDa4/ynU9DO6PoGTvxwPN/gclfVHK5k41Ajk6nE+7V4XDwxUKL1oEqUZ955hl89913XAqRVG1qa2shyzJatWoleDKUYUqHwyGEk2RZhs1mQ25uLmJjY93mNJrNZqFwoWnTpjh9+jTXS/b29uZhdUmSBO/j1q1bG3xOFRUVwvVCQkIwceJEXhktSRI6d+4shHiAOiUYxpwJ7ozVeS6bNGnCVUo+++wz9OnTR+XFsFqtAth1BZRKmg6l1dTU8PBicXExhg0bJgBD6sPXXnuNH3P69GkO2iRJwrZt2/hnb731lluPgU6nQ0xMDIYNG4Zdu3YJAJOAM2MM7733Hv/71atXIcsyYmJi+N/mzp3Lr5Gbm8tpSqqqqjjIYcyp2LNs2TLMmTMH48aN47m1jDlDWmlpaYiPj0d4eLhbtZ3baZLk1JMPDQ1FbGwsmjZtioyMDA6WWrdujcLCQsyaNQtLlizB+vXrsX37dhw5coSnb2iBb6Jgce1T6rMNGzagqKiIvwNUvOV6b56enjyvt6ioSLURMBgM6Ny5MwfvO3bswLVr1zhQat26NQfke/fu1byOt7d3vfrpQJ0eNJFVk0eZaJ7at2/Pc2Fv1iiv9/333+e5rUri7k6dOvF3b+XKlYJHLDg4WKUGRNXEf/jDH/gGw2KxqLSqS0tL+Txrs9m4t46eZ1xcnCqa06RJE4wdOxaHDh3CjRs3+Llqa2sF8EvznJKQnuzixYuQJAmJiYnYvXs35syZwz2O7jYy5GnMzMzEQw89xMUGaHNUXFysqp5u06YN9u/fz+mUXJkDkpOTodfr+bh99tlnwRjjEaqnnnoKGRkZ9dL8BAQEqMY9AcrnnntORfIfGRl5T4AljZ8pU6bA4B+JkS/uRNi4NRqKOjsQUfAqUh6aA1uYk13iiSeecCuE0Gh31hoB5U3am8cvInH27gaBpKpN347oae+jWZ9xnFj4Tr5oYWFhyMjIgMFgwLVr17Bs2TLk5uZqUjm0bNkSK1asUFHpkFGo85NPPsHSpUvBGOOTMS1kw4cPx6OPPorc3FzNRcx1waSK2k2bNuG9995TFb4oJ0VarNeuXQsA+PLLL1W/Q1l04c6oupU8bcrjk5OT3RZFUKhTp9Nx2TtayNx59nbt2oWOHTsKHpGWLVtiw4YNsFgsHFASkbBWvmRFRQXGjx8vnMPf31/IYyVFILvdjmHDhgnAa+HChapzlpaWCgv1xx9/jNmzZyM9PV01BgMDA9GuXTsOkJs1a4bCwkIMGzYMDzzwADp37szPFRQUhNDQUPj5+d20Ak59TafTqTgCfXx8kJ6ejq5duyI/P58v5mFhYYK3VpLqJCOVAJr6UUlKTqZFpeNq5EF3NdJKpns5fvw4Xn31VX49LUofUmQaO3asADbdSXBSeNYVhCjTByg3780330RGRgb/7a7nupkiKqUeNPWlt7c3H+/0rG/FqqqqoNfrVaFto9Holkx98+bNwrvapUsX/t2QkBC+EfPz8+ObUSqscTgcGD16NP/9Q4cOFQCEzWYTZB9PnTrFve7KcaPT6RAbG4sHH3xQyBukKE1BQQEHimFhYejZsyf3NLp7D5SgcenSpTh27JgK3FAqiCRJPD1q2rRpuHHjhmYVNV1r3759wnloQ7x27VqcPn2az53K5yDLMqKjozF06FDs3LkTzz//vOq8JpMJ06dPh91uR0VFhSolKjAwEAUFBcKzpPntbjZKO2CM8fSbxUuehyEoFl6xzWEObYLg8CgeRVIWsWVlZd20l73Rbt8aAeVN2IoPb13aSWj/3UXljF94x18y0hZ2/XtwcLAAUJKSkvjvoRC0a27dlV61rScAACAASURBVCtXOG2IFvWJVjMajejatatAQq6VwF9TU6PiOGSMYeDAgQDqFiElmTdx5plMJr7Aenl5udWzJmvZsqXgCZNlGSkpKRwweXh48AmTjIjWXcnMn3nmmZsaIw6HQ5BjpOMtFguvVlZyLlZXV2P+/PnCguHh4cEn/0WLFgm5S9euXcPy5cv5bwgMDOS8eqNHj8agQYPQq1cv5OTkoHXr1khOTkZkZKSwYBoMBq60c6sTuZJHMDAwEJGRkUhISECLFi2QmJgojLW0tDTExsZCkiS8+eab2L9/Pz744ANIksTHYXV1tbC5MJvNmDRpEmpra/H3v/8dM2bMQKtWrYRNiyRJnPy6pKQEdrudk7gzxjhXqvKY9PR01QKuJPvWMovFgsTERP7vyspKgTrFdVNz8uRJQV1EaQQop02b5nbsUHHJmDFj/j97bx4eVZV1D59bc6UyV+YAGZhCIIyBhEnmMRDEiEGQMaLMAiICQiOCiLQIgraiNIKAgCPIII3QgNKIwYgKTUdETERExYgx5ouxvL2+P6r3zj11byUB6f75dmc/z3kgNdy6wxnW2XvttWus927UmjZtimeeeQaqqqKoqIiBmbY0qT+jhAoCH6RBS9qulKR1LbZ27VqJEzhixAjurzWZbzEDiiqQlE/r1q1htVpZC/a2225j725CQoKunjclwU2ZMkV6na6tSZMmOH/+PObPn4927doZ8tGrC0ubzWbExsaiTZs2kuh+SEgIZ3nXZBSNIZ6xVtHi0qVLsFqtsNvthioU4eHhyMvLwxtvvCFFGLStUaNGyMvLw5EjR3Qb49zcXP5MTfN9RkaGoWTVY4895rcy2L+r0TkalfA1cnSYTCYEBATUWoe2zq7P6gBlDbYtv/iGyhZ0HXv/v22Q5eTkYMeOHaisrJQyX4UQUnWZbdu28cJfU3ia6sD26tWLJ3G3280JKxS+JY8mZRNqeV8bNmxgINSiRQtcuHCBJ1Eqz0jH3rVrFwBvmIU8nZcvX0ZJSYmkp2YE9FRVxQMPPMDnTpM7he9UVcWyZct48rPZbJgwYQIKCwtZd1Nb/9iXRlCTUWULs9nMnh9tCwkJQcuWLaWQEYXvIiMjERkZ+ZtKmfny/UJDQyUxZxKeHjBgAHJzczFhwgTcd999ePDBB3khdTgcOp4gia2Tt9pX3Hru3Lk8adPvEEeXjADZ22+/jcmTJ0teE4fDgSlTpjAHV3v/k5OTuS+TWL3WSD8wMTERv/zyCz/npUuXcn+m50EAcseOHRDCuPJPZWUlhKgS3F+1apUEMp5++mnDZ3/p0iX+TEpKCodjawKU5JEy0qlUVVXi4tX07AMDA3mDEhwczP0/LS2Nk8iMjK5v0KBBAKqqT5HskpG0ldG5Pvjgg7r+GxQUBFVVER0dXStACXi9/kYlQk+ePMnj89NPP+XPmM1mvxs/UkbQ6pgC3rFKFXeysrLQokULwxrbRi0xMRGjRo3ieYS81bQZTUxMRJ8+fWoFKGku1soYhYSESBEk6iPaggzx8fFITk72myyWnp4OIfRJOr5G111eXs70Hn9Ny0f3eDyYN28eb3qdTieXvV24cOF1z2HX2q4nGWj48OGSRNIvv/yCZ555BhMnTqy1pmmdGVsdoKzGvigpR5MF+5D6hzfx9JHzOHruW3xX5s2EXPXWJzqwmPP037Atvxgff/kDfvb8CgDovPyQ5Kmsf++rCIpNvKGDKjIyUqqqQpmZ5HVwOBx+QaNWFqVXr15cyUUIgfHjx+vuCYEHIYSUkEEAsby8nBMmRo0axck0TqdTV7LNd1IgIv9rr73G9ADtQtiyZUtYLBbJI/Hxxx+jsrIS06dPl3bwAwcOhKqqCAoKMgxFrlu3ThJiF0JwWJdCJiaTCUOHDkXv3r2RmZmJtLQ0NGrUCPHx8YiIiEBwcDAcDsdvEnemesLh4eGIiYlBQkKC32MlJibioYcewvr169kbsWDBAvz4448S/8vXCCCQDuHDDz8sva/lPObl5QGoXmxdCIHOnTtj2bJlnMUaFxeHS5cu4ezZs1Ko/tVXX8XZs2f5/pK3x+FwICoqSrpWq9WKpk2b4u6775a4fwTyhg4dKp33ggUL+LqMEnyoHrS2n91666349ttvYbPZuMa41g4ePAghvFwtug4CXDk5OX7vMQCMGzeOfyswMBDvv/9+jYAyIiICNptNd/4fffSRLnFNe6/q168v9Xen04mwsLBqs4WDg4PRvXt3TJ06FZs2bUJxcbEkRXX06FH+fa0molaiydd8x15gYCBzewkML1u27JoAJeCV8yJwqgV6tEHS3gt/WrBlZWWw2WwICgrCkCFDqk2EoXnRZrPh1ltvxeOPP85qAZ9++ilWrVol1bmnZuQ1jIiIkHQo/dlXX33FMk9aPqhvcqOqqtIY1Ta73Y4mTZqgYcOGutC22Wz2m/hGxw0ICIDNZtMBM5vNhn/+85945ZVXJJWAPn36YNSoUfxbISEhWLp0KVRVRb169RASEsIg+ffazGYzIiMjsWPHDmzbtk2KEv34Y11Jxt9idYCyGrtj/Qkkz9+LzssPofT/+wUnPvsOL77nBThGgPLxtz7Bxe/Lsf/MZRw/7601KgHKuXvQYM4uROU+dEMHiM1m40xYfzs2LWicPn06T45awKZdEIXQ1+z1/Yw2QSY1NRUOhwOAd5HRLuQ333yz4cRGiw4tDllZWdi7dy977bScl59++gnZ2dkQQuDFF1+UdC+pWa1WXlCbNWuG5ORknvApnHw94s4UPnc4HAgKCoLb7UZcXBwaNmyIFi1aICMjg/l+o0ePlsj82tagQQO0b99e4oXGxMRg5syZKCkpker83n777dJ5kjwOWXVaer728ccf83MgcEii0qSTSMDfX4i0srISW7ZsMaz4ZDab0b59eyxatIj7kxZUVle1Ji0tjUFCdeFZp9Mp0TbovIWonpZQVlbGx6f7Tgk7QggdfUIrbq0o3nKbiqIgJiamRu9FRUUFe4fNZjNMJhMefPBBCGEMKFevXg0hBGbNmgUA+OGHHzBnzhxpAbfZbBg1ahTOnz+Pzz//nMc3ebT279+P7t27S0BSURQsX76cOZvt2rWr1pNDzyc8PJzBZlFREfdFo7KRVPqUftftdnMCFn2HNnQBAQGIioq6JkDp8XjgcDj4vCMjI6WCAkJ4tXTp9+rXr18jaKREmA4dOmDUqFF4/PHHpflg6NCh0jNu06aNrvzpkSNHGKx16dLFcLNF51sToKQx8pe//EV6nTbngwcPRlxcnG78NGvWjDcCZrNZStYjJQlqlFi5ceNGvrajR4+iT58+kue9efPmeOqpp1BaWsoh48GDBwOoSsrRgmeLxYIFCxZI592lSxfp/etZy/5fNO39/e676muE11n1Vgco/di5r380DFm3fsg7+I0AZeK8qv8v3evlmvgCSmoWd70bPjC02bNa8XGjBSE/Px9CeCtAlJWVsd4fcWlIOkdru3fvhhBenqHT6YTNZuNQUnBwMBo0aIC33nqLF24CigMHDsTy5ctx//334+6778bw4cN59+9PhuV6+X7UnE4ngoOD+VyCgoLQqlUrdOrUCX379kVOTo5UlUQIYSi5061bt1r3mcLCQuTm5urCfk6nU5fZferUKQwdOlTiv9Lzo9CZ9tq1maWUge8rB1KdhYWFISwsTKr2QR5at9vNGwWjMnJaU1VVym5PS0tDgwYNdJ5GIy+r2WxGu3btMG/ePCnDvqysDC6XCxaLhQWpfY087AAYRBBoq6kSUGlpKYfzpk+fzqFOIbyeVSqD9/rrrzOAIZmikJAQmM1mnSKAPyMh6dmzZ0v96d5779Xdx8DAQAQEBODRRx/VqUAoimKYbPXss89yX/E9Hgnta/tTly5dsHv3bgDAwoUL+fpo3AUFBTHftbrxFBERgalTp2Lt2rXo06cPP9+4uDiu6FNYWAiTyYSQkBB+JqSHGRAQcE2AcubMmRBCYM2aNVKpw5qaFjTSRuKtt94y3Hhp9YGXLFmie5+qAvnaX/7yF5hMJjgcDtx5550QwgsgjTaSgYGByMjIwOLFi6XNOyUg3n333ZKIuG/UJCQkBF26dOH5UlEUvr8nT55kL7aWYkRar1OnTkXr1q0lKop2XFLBAV8NXNKjFULgwQcflLRfY2JiJJ55q1atcOLECSxatIj7UEZGBkpLS5mf+X+pffXVV7Xuo3WmtzpA6ccW7TpjmNFdHaDUtuoAZYM5uxA1YMoNHQg0UaSlpXGpLwpnG2V0A2BtSQI1Xbp04TAVkeHT0tLQv39/dOjQgSeMuLg4qQzX9er7af/W7n4VRUFKSgq6dOmCAQMG4LbbbsOECRN0ZQbj4uLwpz/9CcuXL5fCPU8++aR0nSRQrTWtBIvL5UJBQQEAoKCgQKoQIoTXI+rPLl++jEmTJkmeisjISMmT66uF6Wv79u3TSRA5HA4sX76cr1lRFOzbtw9AVTankQfZn1Ht7I8++ggAMGvWLP6t5557Dunp6TqQYmSzZ8/m7w0dOhQVFRXYuHEjBg0aZKgs4Ns/IyMjJT4v2eHDhyGE14tr5AmkRLInn3wSQgjWCW3dunWtrr+kpIS9ks899xxOnTqlS56i/1O4kegf/gSwjUxVVbhcLrhcLpSVlbHGY2hoKHtDVVVlbzs1s9nMlAu3243z58/7/Q26juXLl0uv0zPdt28fHnvsMQmkOp1OZGVlYf/+/ewBVRQFq1atAlDlmd2wYQNXp7JarToQ4ttHk5OT0aNHD0yePBnBwcFQFEXSYwTAvxcZGen3mn788Ufs27cPCxcuZI3E6n7bZDLpKBOKovDmQFVV2Gw2JCUlGf7exIkTIUQVnYG8xFozmUzo3Lmz4fe1nsDY2FiOwGh1PIXwAkrtOTqdTqlKkK+IeHh4OMukUSKStk+RV5uSv0pLS7mPNW/enDPhhfB6cO+++25DbqTD4eCNlVYn1vf+aNv999/P7587d06iR2nHEBV5uHr1qt9yvb/XVh3XuM5qtjpA6cduWvHXa/ZQ1hZQJszdg4Spz9/wwRAYGIiePXvyBENeHyG8Hgmn0/mb+H40CYaFhSEmJoZ3x1ow6Ha7MXr0aMydOxePPvoonnzySV4A58yZg9LSUgYM9J3WrVvDYrHAYrHg/vvvh8lkgslkkuSDKEFACK+3w1dfjxJihPAuznPnzuX37rjjDgghOAO0tLSUJ7p69erpvIdUbk0bYmvcuDEDurKyMixcuJAzYoXwenpyc3M5C/Lq1av8XvPmzf32M1VVGbwL4fXuJSYm8jPS/msymXDw4EGd3lxtjLh8JKpO2ZEkxeF0Og25pmSVlZXo1KkThPCCIyOuni+vjQBbUFCQbtPhcrkwduxYSWydtBCpRJ3WiC8phNdrs2TJEgjhBYe1tW+++YY9c5s3b2aQ6tvq1avHC3fPnj1rfXwy0v+bO3cu33caO23atJHuRcuWLfH4449zX8rMzKzR4zpp0iQI4QVQ2qzm+Ph4BAQESJ8tLS3F3LlzJQkVIbyLP20kGzZsyNqG2ix1i8WCZs2acYIHjb2cnBz07NmzWukjKrrQo0cP3qSSyP3ChQsxZMgQNG/eXOLV+utPJpMJw4YNw759+9irJoSAx+Ph5BDtHHTPPfdg+/btEEJg0aJF0v0oLy9nbcyGDRuipKQEAQEBiI+Plz5HlcWmTp1q+Ay0lAuXy4Uvv/yS31NVVaIYhIaGon///jrvo3be7tWrF44fP87HUBQFN910E4Aq3vpjjz0GwFuFSgiBJ554gj9PpUCNMpyDg4MxYsQInDt3Dt9//z1mz54t3ceQkBCMGTMGFy5cQH5+Pt8f36YVNq+oqGDpHt/Wvn175Ofn33CJvP9EGzRokN+a5nVWs9UBSgMr+9mjq4BzwwHl/bththvrOP6Wpp3cXS4XA6ekpCS0aNECHTp0QM+ePaUFpmHDhnj88cc5PJWRkYHPP/+cJ00Cc77lw86ePSstBn/4wx8M76c25Kj19tD3LBYLzGYzT6gFBQUMVrVhw44dOyIkJAQxMTGGvyGE16NK3sKYmBgcO3YMn3zyCYTw1g0vKChgMOTPe5GWlsZeKgJRdF+11+twONCvXz+pzBzZkCFDpAl+9uzZus94PB6JL0ceP8AL4FauXCnJeWhbx44dDc+9OqMs8nXr1vExiouLeaELDg7Gr7/+Kn3nypUrmDt3rt9FPzQ0lD0iJpMJAwYMwMWLF3nRM5vNnHBw+vRp3HnnnbpsWq3YOvXLN954QzoPyt632Wz46quvuLzmtWZlXrx4kQXUtUkfO3bs0FUPcTqdNYI7fxYWFga73Y6XXnqJ7w0dl67/qaeewuHDhxkMzZw5s1bHpmMqirf8psfjwcWLFyGEl4fszyZMmKA7F/ptAoFWqxWqqrKYOLWMjAwOdfrqe27evBlCeJPk7r77brRq1QqhoaE1ZuAqioKAgAAkJydj6NChWLVqFctL0WeysrIkeSdVVRkMud1urjzkLyNem9195swZnk+GDRvGfYfCyVpdRaIPvPLKK7r7SJSLyMhIpiAEBwczXeTChQuSF1h7PjSOhg0bhgkTJiAlJUXy4pGUkc1mQ0REBCoqKtiTSUYcdZPJhE8++QQejwerVq2SFB2oHThwwG9/aNSokeQZ951faNNG/YWkl0hjVwivakdRURFKS0t54659vps2bcL+/ft/c536/1QzmUyoV68e/va3v/m9b3Xm3+oApYGdufSDX6B4wwDl3D2wRiXdsIFA4cpNmzZBiKpsXfK0kByPb4gkLCwMoaGhAKo8RIcPH+Z7QRNBbGwsT8AejwdjxozRTZZUqs/IfEOOVN+XBrH2N1977TXJ++dyudjzZ0SUB4D58+dDCIGdO3dCVVXMnj1bSvZxu92SFyMsLMwvGAkJCUG9evWgqiqDL98WFBSENWvWGB7jyy+/5IoeTZs25WonvvWNacF1OBy6MKHWzGYzZ8nS79vtdvY61NYoM5wqGtFCTVqEQnh5lffeey8yMzMNJWCGDBmCzZs3Y82aNZIHKTc3V6pwQn3szjvvNDyXDRs2MLByOBy6kL8Q3qSAHTt2sMyPEAK9evXiMnMZGRm1vnayiooKCXiYzWbeoOzbt49fo/fdbjdWr159TcC1qKhISlCgPjx27FgeT3a7HUuWLGHKiG/1lershx9+gBCCOXsDBw7kEKXWy6U1Gh8JCQmorKzExx9/jJycHEMvkva5N2/enEGbx+PhDc7NN9+MhQsXSvfSKPJB2fw0V7hcLsTFxdVYFclsNuOWW27Bxo0bpXKVQJU+rRBeAKatEqX1pmqP8+STTzIn25fCcOzYMQghA2WqDuZbjefpp5+GEN7QNFEYKPGKRPp9ryU7O1uiH2glgshOnz6NWbNmIS0tTUf/EcIL8Pbt28f9kDjw2qQiivJof9s3cUZrwcHBcLvdEsVH+wwbNmyoC9nTvOx0OnXC+b78aupLDz74IKsn/F9oxM32JxFWZ/6tDlAa2AfF3/9HAKUt9saVYzSZTFi8eDECAgJgsViwZ88efPjhh3j77bchhFeMWev5I927sWPHQgiBU6dOITY2Fi6Xi+9DeXk5T5AUKn399dd5UUxOTsaZM2eYBF6TALI25KgVwqW6vM899xwfiyReSPImKCgIp06dYi6gb3m2hIQEXR3xixcvMqFcu3iZzWbdIqU1SkjyXRwmTZqEsrIyTJ06lSf9oKAgLFq0SAIcpLnocDiQkpKCoqIiLpF5+fJlrkgkhCw4789iYmLgdrsBwDBsFh0djalTp+qE6n2tuLiYv0Pg9pNPPpHC39rjUl+xWq04dOgQ6zuSl4cWr759++p+i96rzsOnFbs3mUwYN24cli5daphJTp+JiorCokWLIITAtm3barx3WtN6Vho3bix5hoqKiiR+6AMPPIBp06ZJcjgLFy70CyxLSkowa9Ys1sWkPkf9jrK8b7nlFuma3G73dVXwsNlsaNWqFcvJBAUFISgoyPCzDz3kVZWIj483VFs4dOgQbwB82z333IPs7GwOT/ujy4SHh3P29KpVq3Dy5EnJ2x0dHc2ATlupqqioCOvXr5c2kL7jlf4ODAxEUlISRw1atmzJz5AiACQVRHOWNoHEZDJJ4FNrvvJidGytPf/889wXxo0bp/Mu0m+MGjVKAra5ublMKaDratiwoU4kXGu+HFtts9vt0nMIDg7GunXrOEyflZXFSZYWi0UHigGv+Dx932Kx4Pbbb2eAfODAAfTo0cOvBFVmZqauH5WUlEjKDj/++CMWLlyok776v9BoQ1ldMYI6M7Y6QGlg/xc9lNfSLBYLy9+Q14s8FRERESx/Q+DO4XDAZDKxd8JXWJyyVYWofkcMeEGedhKmeuJasfG8vDyJ10jl7UwmE4dVtIkyV65cgRACvXv31v1eaWkpXwe1ZcuW6T53+vRp5OTkSBykxMRELF68GJcvX4bZbEZcXBx/XlVVacJ0OByYNm0aPvzwQwghuMQhlfh77rnndM/BKPveyDp16gSTycS8zFatWsFkMsFqtaJv377SpJ2YmIgHH3zQsAoMeV1MJpNORFwIr/ehV69ekpcjISEBX331Fe69914GYy6XC3PnzoXH40Hz5s2hKIoE0IlDWNtKIfn5+VIY8+DBg8wJo+MYhcx69uyJtWvX1sh5Ki4ulvRQiZt75swZXjSzsrJYP1W7MVJVFYsWLWKvncPhwNSpU1FRUYGKigosW7ZMWkgDAgIwZMgQFBQUsCoCLU7ffPMNi8/T606ns8Z620YWFxeHsLAwlJeXc58dMGCA7nP0LKKjo/HTTz9J7129ehVjx4411FL0bVarFXFxccjIyMCIESMkKsrkyZNrPN/o6GhO2iJuIOANLVM/pDmIvPVFRUXYvHkzpk+fjl69eiE5OVni5vo2u92Obt268bnFxMSgRYsWPK/Q5zIyMnQVdXJyciCEwGeffQbAm/gUHx8PVVVx6NAhQ5kyu92O1NRUTJ06Ffn5+fjjH//I97pnz55QFIXFx4OCgmA2m1FYWIjRo0fzZmPMmDGGGejajP01a9ZgwIAB1WqMtmnTBl27dpXuH817AQEBKCgogKqqWLJkiTSW2rRp41erUlVVSXdY27RZ8cePH+c+SBv4U6dOAfAm72jnk9/C3/9Pta5du+Ldd9+tsU/Xmd7qAKWB/fQf4FA2uH83TDZ9mO96m9lshtPphMPhwKZNm7B69WosWrQI06ZN40FsNpuRlpaGtLQ0NGzYEPHx8TVWR7ie5na7kZSUhNTUVKSnp6N79+4YPHgwRo4cyR5G3+ZwODB9+nS/Hq2PPvpICsVRBiRQJTGiFVoHgJMnT/IipSWaK4qCSZMmobi4GBMmTJDuAYGzrVu3SscieRBfrURVVbF69WrdfSwoKGBAeebMGV1JR98SfdXZ5MmT+ZqF8GZl7tu3j6VLzp8/j8OHD6N3795SvefmzZtj1qxZyMvLkzxn1BdSUlIwceJENGnShGkE586dk7zH0dHRvCCEhYXh0Ucflbx0p06dghACnTp14vvhcrl4A3AtppW10T4vuufa8KpvaC8kJIQ3J+SpVVUV99xzD/f/IUOG6BZPOn9t803SomOtWbPGcLxYrVZ0796dPe1aI5HvSZMmScLYc+bMwfbt2zlkSQkXtbWuXbvy/aXkoujoaOnZECc6ODgYs2fPZk9jWFiYISiz2+0MNvyFr/v3749jx47h1Vdf5ddXrFhR4/kSZYP42Hv27OEwsMvlYjDWvn37Wl1/eHg4goKCMH36dPTo0cOQMqHtK4mJiWjfvr1EG2nRogV76mkjOHr0aM7gttlsuvuQmpqK++67z693kXiHBJIpQiSElzNLdvbsWZ4TgoODdZ7T119/XXcdMTExmDFjBq5cuYKSkhKsWrWKQaTv/NunTx9MmSIriRAgdblcnKHtj2P5448/6qqtUeEF+ttmsyElJYU3SS+++CJTmZYvX46ioiIEBARAURS8/vrr2Lx5M9N/fq/t0UcfrbZIRJ1Vb3WA0o/5ZnmP2fAeJm55H7Nf/hAAsPujS5i45X1M3PI+mi7ch4S5e9BmyQF+7ZUCb1jngdc/xsQt7+O2dcdlQDn5zzd0INACofUcXr16lTOIq6tdTFmjFO4+ffo08+x8yeWzZ8/GrFmzMH78eOTk5KBDhw68mNFkQwkP15tV7q+EYP369SXA1LdvX+Tm5nKYf9myZVi3bh1eeeUV3HPPPSw78tBDD0FRFJ7kfTMhQ0JCMHLkSJw7d471O32BR2VlpY4c72t/+MMf+JgEqMijoiiKFNYj+Z7aGHEIw8LCWDweAHbu3MmJDcXFxVBVFXv37kXXrl39ynUQxUHrzXW73YiJiZEADnl26FqqAw0Udv3oo49YM7Bhw4bXDCgBLy2CwnX0nInvSVw1Ibyc4MrKSrz44ou4+eabuR42ve9wOBh0RkdH48SJE35/U6tHaqQ7CHg1WLt06aIDsoqiICsrS1faj+zll1+GEELyIhOfGfACeEqKyM7OrjVX85577oEQAufOnZMq5NSrVw+pqamG2b5CyPxQq9WKgQMHIj8/n3+XNE6F8IK7qVOn8t9GoI28gWvWrKn2fAlQUoIcteHDh6OyspI9W59++mmtrr99+/a60qiPPPKI4TXHxMRU69k0mUyGHnCr1crzp8PhqDU1QVv+9dFHH+X/G31/5cqVPFbT09MxZcoUCXRRCJ08p0am5SdGR0f7FVsXwsuJ9Xg8TDUx2sCvXr2az6lDhw7MGxXC68EliS9tCwwMxMiRI7kqVr9+/VgBQFsAAwBHAn6PzWhTWGe1tzpA6cd8dSgvfm8MxoAqL2TuOmNCPAC8+9l3VYByzi6E97773zYoHA4HIiMjeSEgr4pvVRAy2kXHxMTA4/FIXhiTyYRp06bh+PHjEEIfpqUd+ZEjRwBUeUV8PXCffvqptBhrdSwVReHa0rm5uZgukwAAIABJREFUuRgwYAC6du2Ktm3bIiUlBQkJCYiOjkZoaOi/RYrC4XCgRYsW6NSpE3vXxo8fj1mzZmHJkiV46qmnsH37dhbqXbhwoWGYqnHjxlAUBS+88IIUZnc4HAxaUlJSYDKZODu3NqaVIOrXrx+/7vF4WHvQd7EMCAhA27Zt0bdvXylUZrfbuVwkmclk4vPVgv/ExETWwbTZbNizZ4/h+V24cIFBqM1mQ3h4OHr06HFdgPLUqVOsf6gFRS1btuTkCX811j0eD7Zt22aY7ep0OtG6dWvMmTMH//jHP6TvaXmNJpOJw6H5+fnIysqSgFSTJk3w2GOPobKyEvv27ZM2bN26ddMlSRUWFkrnYeQRqqioYM9dQkKCYXJbaWkp9uzZgwceeADZ2dk6GSBtI9BoNptx2223YdmyZejTpw+/HhUVVW3CAS34lFBVVFTEIN/hcOjGIPW9P/7xj36PSeNXGyqnCi/0XI0oK/6MMtZ9gbwWuA8dOhQ2mw0Oh4M514WFhcjLy0NCQkKN+rk0bhRFwe23347nn38en3/+ea3OT+vJo/uVmZmp+1xlZSUeeughqY/RczKZTH43OL5GdKScnBxcuXIFN998s9+NPG2uLRaLpLtYWFjI9I2goCDOcKdKOUJ46QJXrlyRIh7Z2dl+I12+ER0C2H369DEsJPH/uvmqS9TZtVkdoPRj/irl3Kh2Iyvl0MSYlZWFrKwsv3pntCDUq1cPHTt2xLhx47B27VqWS3E4HGjZsiV/liQhyChkV1hYyK8NGjQIQggJHJFkzOrVq3Hx4kVd6ITkh4TwAiSqiuMvQ9XX0tPTufwZHXPHjh148803GRjFxsbqeEfaJImkpCROFPBdGK+lEZeRfkf7f99mNpuRm5vL4LJly5Z488038f777+OLL77Azz//7PeaaXGYN28eBg0ahOjoaN35ms1mzJs3T9LEmzZtGoQQGDFiBBYuXCgtdE6nU6rlTC01NVXKuj9w4AB7d7X6nlrThqM3bdp0XYDyzJkzHGb861//Co/HI1EkyGtKCUq+5utZuXz5Mg4ePIixY8eiYcOGEoAg/hv1X7qX5NXWApP4+Hjcf//9hskNgJdDpq2S0q5dOxQUFODSpUuSt0ib8GZkRGmwWCzo1KkTUlNTER4ebii/Q9dJfe2BBx7AoUOH+BoDAgKQn5+P/v37c99p0KABXnrppRqfA/GUR48eLb2+fv16Pn5ISAgOHTqE3Nxc6V653W4sXLhQioaUlJRI42P+/PlQFAWNGjUC4AVDJpPJr5fXyEiqiMT9tSLyNpuNM5eTkpL43vsK77vdbvTu3RuPPfYYRowYUetIijZBqHv37pg8eTKef/55yQPZp08f/nxiYiInEn3wwQdQVRUbN25EmzZt+DctFgtatGih40MbKVoYGckIac8zOTmZAdyECROwc+dOHfWG5n2tdNCoUaOk+ZwAJVEUaC4YOnQoTCYT7HY7zp49i9OnT0s14OkaFi9ejPLyco58hYeHw+Px4OzZs787TqWRTFSd1d7qAGU1RrW8bySQbDBnF6Jzl1x3ScHqmqqqHLINDQ3F2bNnUVJSgmeeeQZCeL0fzZo1Q1hYWI0acZ07d8batWvx4YcfcjjsH//4By+YZI0bN9aJKVdWVuokZ4Twgq/Q0FBJ2Pz222/HiRMnWPKCKtZUZ3l5eRBC4OjRo3wfe/Xqxbv8uLg4KeTrdDrx3HPPQVVVzJs3D0LIYcc33nhD2i1nZGSgvLwcRUVFyM/Px969e7Fp0yasWrWKwXFqaipuvvlm9OrVCxkZGTpvR033t6YFy2KxwGazwWazGXpSLBYL3G432rZti/HjxzMwDAgIwNatW/Huu+9i69atEEJffebcuXP8PLTHjIyM9MupunTpEofiunTpovOukoA3eQ+vFVCeO3eOk7/efPNN6b2PP/5YOlffkqD+PCtGduLECUyaNAkpKSnVJjkIIXDbbbdJGck12dmzZ7mspb926NAh7N69mz2N1YFGi8XCiTCjR4/G6tWr8f777/OzpGxfqkCjrd6iTbhKSUnR8Yurs1GjRvH3tEZRCjq2yWTCjBkzoKoqXn75Zd3mjAA79V+r1cpREpqnSM6IVCRqa5SIN27cOJw6dUqab3JyctCxY0fdPQ0ICEBWVhY2bNhgSP+prKzUhfXHjRsHj8eD4uJibNmyhROEGjZsaBhGVxSFoxxCVEWHqH8GBARwv6NKTxs2bOBnStng2qbVxzQyrawWnQMVYQD0GewkLSeE4KiK9vt2ux3NmzfHtGnTUFBQwIBSCxZpY6Llcp86dUrS1e3Zs6c0D1OWv3aOX7lyJb+/adMmv7q7/6lWXVW0OqvZ6gBlNfZFSTmaLNh348Dk/buRMPs1WMNi/y2DQVsa0beElFEZsZKSEmlA+x5H2xwOB+Lj45lrdO+99+LDDz+Ey+VCw4YN+ZgnTpwwrGlLIT1tZRMhvIASAI4ePcq8Sd8MTF/buHEjhKjiJxnxBRs0aCDx78hIAF2baQp4ky5IjFwIr0fPX0g6PDwcNpuN+UcLFy7k77ndbhw6dAgAeOFITk5GZWUlzp8/j27duunu78yZMzFz5kwMHz4cLVq0qFYU2mq1wmKx/CZeqpFWnvacAgIC0KZNG8ycORPLly/Hs88+i1dffRVHjhxhT0tkZKTkvdZWzXjllVeuCVBqyftaoK+106dPS+ebkZGBr776CmPHjmXPs69npTorLy+v1pNP9+Tmm2/G3r17r0mHksKxtWkOh0MHGl9//XUGIgMHDvT723T+d911F/bv3y954OkZVadv6s8oEqEoilRSkDKVL1y4gBMnTnDYMyIiAocPH5aeo68MkNlsRkhICF/Ljz/+yP3YYrHgxx9/vObzJMBtNF8pioL4+HjO7qdmVIRAa9p+TJQLu92OSZMm+c2G/uKLLySwWVO/MplMSEpKwl133aXzbFKSy/Hjx1n5wGq16kLHAPDOO+9IXOdWrVpxVn9aWhp/jjLYqZynr4QRJYUdP36cN1vaOVU719C8pN2g7Ny5U7o+kkV77733oKoqtm/fLm3YzWYzMjMz8dprr+GVV16Rzh8Avv76a0Ox9f9EM7rPdVZ7qwOUNdi2/OIb6qEMbNnnhg8Cf+AjMDAQHTp0wKJFixAaGqrj4xw6dEhKcqHJCwC+//577Nq1i0Os5Nk0AjLECdTKj7Rp04bDN40aNYLFYtFVuBGiClAC3tAqhVC0YXVfu3z5MoQQhl5Qi8WC/fv3Iz4+HoqiGC4gDRs25IogWlu+fDmEEOyJCwwMxI4dO3Tfpx3+mDFjJBA6ZcoUPiZpJVosFt1CdOXKFdx6663SvdRO4IqiIDY2FkOGDMGWLVs4kUYIoePoqaqKK1eu4MyZMzh8+DDL7dCxb7rpJgwbNgz9+/dH48aN/fLGbDbbdXnNjWq5m0wm9vR07twZ/fv3x7Bhw5CXl4d7770XS5cuZV7q9u3b4XQ6oShKtbqSWg1N30Z6qDWZqqp45plnJJChKAp69eoFt9vN3qUFCxZwqFT7ufj4eOTk5GD79u24cuUKdu/ejfnz52Pw4MFITU2VsuP93SshvNn6JOPizyorK7mmc/369Q01Rgl0ktedWteuXRnsEbf5WsztdjMAeOSRRwCAhdp9uZcPPPAAzz99+vTByZMnpX7duXNnKQnDbrejT58+OHr0KOu1duvWrdbnRgLgWmqOtkVEROg2AMeOHeO5yWq1+k1O/Pvf/y6VqgW88j1EW/DVazSyixcvGo4xX++tkWeTztHtdmPy5Ml47LHHpO+mpaWhuLgYu3bt4tA1bRQjIiL4HIjrTfSUjz76CEJUURiIkkRznBBVZSh97/XEiRMN1xez2YyRI0di3759KC8vZwBotVoZJJK00Pr16yGEl4ayZs0aNGvWTLp+7f/Pnz/PddgTEhIwfvx4vp90HkaZ7TeqPfvss7Xui3WmtzpAWQtb+9dzv90zOXcPgjsO+02h0Jraiy++CI/Hg127dmH48OFo0KCBDgC2bt0aM2bM4Mxc7UDNyMiAEKLGqh3EuSTpidp6y3r06IE1a9bg1KlTUFUVQsiAEvBm01Jtad+syKtXr+rq0ArhFVU+e/YsNm/eLN1fo3KHQFUikW/2oTbzcc2aNezJa9eunY7f5cvH0soYETClSjlkhYWFuP/++9GmTRvDjFmr1YpRo0bpMi/dbjd/vqZsWqBqwXA4HCgvL8eqVat0O/7ExERejLT6moAXeL3wwgto3bo1P1tFUVCvXj1kZ2fjrrvuQs+ePfk98sTGxMTwedIiQWGua+nHxEt1Op0IDg5GRESEVKfd9/Mulwt33nknnnjiCWzZsgX79+9HQUEBLl68iMrKSrz22mvo2LEjL0x0PmFhYezRtNlsDNBoE0Liz2azGaGhodX2c63ETExMDFauXCnVe9aKcCuKgmXLltXK60lJVw6Hgz3fZL7n07VrVw6PFhcXw2KxwOVy6fQnazKTyYTMzEzOciZgYyRgD3gz8ykCQY24qMTFjYqKgsvlQmJiou7eEXgzMi1FwZ9ywZtvvslRAn90h5KSEg7Hulwu3Sbv008/lTbEvtzF7du3My/TZDJh4MCBUii6pKREkqiiNm7cOPbkU4lHIbycb/Js3nPPPejdu3e1a4Pve4qioF+/fiwvpNUCVVWVVQ+Ilx4WFobg4GApg5zC4qTyERAQIPHYtWVBhRBYuXIlFixY4Nd7SPx1AqmDBg1CUVER90MtkC8rK5Puh3YcUXU3qsP+yy+/YPbs2ZLT41rmk2tpTz75pN++WGc1Wx2grKVtyy9GkwX7rplTmXj/G2gw+zUEte73bwWTiqLoFhzAO7kcPHiQOTzaCU+70CcmJqKsrAyKouhC4772ww8/6MIgI0eOxA8//IDvvvuOJ96EhARJ9NmoOZ1OdOzYEWPHjmWw+fLLL7O36MKFC3j00Uc5m5YmHfq/b6UZmoyEELjlllsMF21/pfuaNm0Kp9PJf5eVlbHGHyW8FBUVSWEmOk/6Hfr9yMhIOBwOhIWF6UTEzWYzkpOTMWbMGLz11ltSMgFN7HPmzIHH42HeKoWtfOup+1pBQQEDcu0zJj6mEN7KHaqqIjU1FUJ4OZH+jLx6LVq0kI7Vq1cvvPrqq5J4cmVlJTweDxwOBwNJrZWVlXG4dOvWrQwSBw4ciKlTp2LUqFEYMmQIevbsiQ4dOqB58+ZITk72G9a8nqbtt1FRUUhISOCMaS3gNPo9q9WKyMhI1K9fXwLP2paUlMRi65GRkXzM++67j4Xg6bMBAQH8enW2c+dOznxfunQp1q5dq5O5MeJIEjWkQ4cO1R5fa1SGc/LkycwHVRQF4eHh+OWXXwy/c+nSJUk3VAivV9ViscBsNuNvf/sbywYBXgBK3lftvZgwYQK2b99ebRLVbbfdxvedKioVFxcjKSkJdru9WpCuqiorADgcDtaS1Ibqx4wZw7+pTUwjO3DggFTJKTExURfeT05ORseOHQ2F/ckr61uFZ8uWLRDCK+sFeD2dW7Zs4bFU06a9Xr16nCC0YcMGHDlyBGazGUFBQSgtLZXKK4aEhOh47y+++CKP2ZUrV2Lp0qUcfSCd3y1btgDwzp9WqxVut5s3YUYgz+l08sb76NGjumcREhICh8OBixcvSvedWl5enrSRj4qKqpUI/29pCxcu9Nt/6qxmqwOU12BflJTjjvUnWPqnWjD5r/ejch9Cq849/20DICoqSgJYLpcLOTk5Oh4ilV+jgd6vXz+dVp3FYuGF6/Dhw7rJWVVVPPjgg7pQM+08VVVlPTmaGAmQCeHlNe7cuZPD6DQRGQFt3wnUZDJxAop2sdeGgL/55hsGTsTjTE5O1oVyAK80itlslq4xMDAQiYmJus8eOXJEIpsL4a1lTCFOKsl377338rlqr4kEgCdOnIi//e1vuuOXlJTAbrdzBiyFG202GwPyM2fOwG63S9woX6usrERoaCgURdH1CfIYaXfglBBR24o95eXlWLx4sRQO1j6LiIgIfPbZZxKn1MhKS0v5ftbG46oV0dZ6hqmU4PHjx/k++YbgXS4XGjVqhBYtWiA+Pv6GZpX6A56+Y0oIL+1j4sSJXGPearWynIzVasXo0aMNBdXJLly44FdbsrqQMY2zpUuX1nifgapa1Tt27GANTSEEPvzwQ91nVVXFfffdx/d04MCBKC0txahRo/jekBc8LCyMAaWqqggICEBgYCDWrFljeA8tFgvS0tIwZ84cBn5r167lsbVx40Zs374dQgg8/vjjEMLL3avJPB4PA1KTyYS1a9eyXuKOHTt44yaEsUdWVVU899xzuuQRAjpNmjQB4FU9MAKU//znP5mOoK3I5Ha7YbPZ2HPq8Xgwb948SQN05syZqKysZI1d+m0CjrXp22lpaXA6nRLvnaywsFCibURERODChQuclEOAEqhSjxCiKjpDYutGiTWUUf/UU0+htLQUS5cuhRBVXkgAqFevnsTr1K4bCxYsgMViqZGfer2NNpUtW7aU7slPP3tw5tIP+KD4e5y59AN++rl2HO3/VasDlNdoBw8ehNVdH20nPIKEKc8j4V/hbG14O2X2doT1vgv9bxv7b+n81GiXm56eDovFgmnTpkkafG63G+PGjWMtQSG8WX3kEaFBu3r1auYlaRdjs9mMhIQEDB8+HIMHD2YvW2BgoFSSC/BOtCRyTmHszz77jCcxqvZC2naAzKG8evUqFi1ahPr161+TN+q2227DmjVr8MEHH7Csxe7duwFUVZgxKm+3atUqCFGVJEQheK3Oo/aZ+4Z5BgwYwBO4w+GQzpmAn8ViQVJSUq36FWXoksd13bp10rMcNmwY4uLiEBoaavj9H374QdK+jIiIwNq1a9n7qSgK3nvvPek7lJBlBKJrsm+//VbqV9QURcHTTz/NgNrX+1ZWVsbnqRXhN7LKykpJI/L222+HqqoICgpiD90tt9yCyZMn6wC/ttyd7zmaTCbEx8cjMzMTo0ePZk7WZ599xvW8t2/fjo8//hiHDh3C9u3bOcPV5XJh9OjRuOWWW3jxtVgsSE5ORv369dkz/VvGNW0IAgICEBwcXG0VGOIvP/zww3j66afx0ksv4a9//StOnz6Nb7/9FpWVlYiMjISiKFwOrzojDu7Vq1cZjBr1uXfeeYcX96ioKN34OnPmjI6HGh4ejq1bt/qNWrjdbjRq1IjnGUVRkJKSgpUrV3JWeEhICPNlSZ+VOJq1FaX2TfASwpthDHiTYhwOBxo0aCAVEfAVtjeZTGjXrh1WrFjB854QXi7igQMH/AJK6tc0X4wYMYLnotmzZ6OiogKTJk3ie0CeP1/KzTfffMPznclkwurVqwF4PZtbt27F+PHja6yjTRSEbt26YdKkSVi5cqUE2Bo0aIArV67oAKWqqrxhN+KiA+DQuqIo6NOnj6HYutlsxvLly5kfTGOPrmnnzp3o16+fLrrzW8aW0VijMTxy5Eg4HA4cP3MBi3adwU0r/qqrmJc4dw9uWvFXLNp1Bue+vvZEsv92qwOU12D5+fk8wEl3L7Z+IoITUmGPawprVBIUq0OnxfXvaoqioGfPnkhLS5M4P+fOncOIESMkjwYNxPT0dABVfMFmzZpJ11hRUeG9rthYtGnTxrDE3dChQ7Fjxw4+5sqVK7nW7dChQ/lYxNMkbymFrYm7I4QXwA0aNEhaNBs3bowVK1agsrKSa9rSwA8NDZW0FI0mKQILY8eOxZgxYziUoy1vRxVBWrduDQB47733IIRci7y0tJQzFs1mM2699VYMHDiw2sQWrQdSW8u7NkZhn2nTpgHwhq9p4tf+zhdffMHf+eqrr3jhp3PYunUrysrKODRP4Kt169bS5E/kfZPJ5LfkZXXWpEkTTnwaOXKkdJ70vCZNmsSfr6io4IVm8eLF1R5706ZN3H9NJhNCQkJw9epV7Nq1y2/pQKMWExOD0aNHY968eRy69QW5nTt35oz0kpISCGHs7SLPa1xcHAPYfv366RZUSshasmQJV4Zp2rSp5IGhFh0djQ4dOqBjx47SeA0MDJQiAYqicIb/b5kzHA4HgoODERkZiXr16qFx48Zo1aoVOnXqhL59+7KeIeko0mL+0ksv4YMPPsC5c+c46mAymTBnzhy/Yeby8nLk5OT4zcLWlsr09dDt3LkTnTt31tU9X79+vfR7pPuqparUxrRedCG8Gcbl5eUICgpCQkICb5jT09N1wvYrV66UxguNs7Zt2/Im0263+wWUAKSqTxaLBU6nE7m5ufx8IyMj8dRTT2HDhg0Qogrwao240jTuGjVqhLNnz2LGjBl8HoMHD2b+r5azmJycjEaNGvn1bPoCZ5rnVVVlrj1dt9bLCHiTDrXPrV69eqioqEBlZSW2bt1qqIUZGBgolSYVQkheVK1H9EY3Kv4wYsI0xI18BAlz99RIbaP371h/Al+U+C968r9mdYCylvbuu+9KCyZNtEYT/L9DY9K3JScn6yQxqJzflStXGMxZLBakpKRIk6K2ysa3336ru1atV0sIrwfi1ltvRefOnQ1LlGkHJtkHH3wAIYTEx6SQtN1ux/Dhw6XvxsfH47777tNlUB49epTvsdPpRFlZmQSgRowYweETp9OJlJSUanU27XY7OnTogLFjxyIuLg4mkwkVFRV8DOJNrVixgo/h+4z97fx9pZquFVCqqsp8rMOHD7OEyeeff67zkrZt2xbp6ek6uZ+Kigp89NFH/JxGjhwJAHy/MzIyeEFu0aKFtCm4Ftu3bx+E8Ib+tbZ//36dh65x48ZYvnw5X9u8efP8Hvfjjz/mxA3yvtVmPOTm5rKnWlVVnDhxgpO33G43goODoSiKYcnL2NhYqaRmYmIibDabYU1f2ogZLaQAmENKEjmkz3nfffcB8D7jQ4cO8SKtfX42mw3x8fESH81qtWLZsmUAvPI02jlI+7ljx45h165d2LBhAx577DHMnz8fkydPxsiRI5Gdnc1eQZfLheTkZL7mwMBALlN5PfOWxWKBw+FAUFAQwsLCmBdXU/j1rrvuwt69e5Gfn4+ioiL8+c/eUrTjxo3je3nixAkG2dpNhM1mQ48ePXDw4EH24g8YMKD6DqsxLeVCCC9oFKJq4xUTEyPNc/Xq1cPcuXMNhe2p1Kg20jJ8+HA+18jISPzpT3/SfY887b73pX79+lKyIClaaCM79H2bzYakpCR4PB7WDqUWExPD5UZPnTrFmyl6X7vxXbx4MYTwbpqzs7PRu3dvNGrUqFrPuNPp5BKvVqtVUuWg9UMIweoAiYmJqKysZP5lZGSkLoFU2/+o/7Rq1QqFhYW48847r7lv1qbFxsbCZDJh0PRlqH/vq0i4/41rypFInr8XTRbsw7Z8ee7/X7U6QFkLO3bsGAICAn5Xqv5U2/Xjjz+WFhltycUePXpIk6BRqKldu3bYvHkzVFXFZ599JklKREREcPhYa99//z2Hk30XofDwcPTq1YvDmpTheOXKFcyYMUNXbis5OVkHxMgeeeQR5sTdfvvtPAE4nU7ExsbCarWiVatWcLlcsFgsOhHqq1ev4o033sD8+fMxYMCAakORdB1GPLWwsDD06NEDq1atQklJCQO9BQsWSJ/LycmRvCfXCiiBKtkRl8uFgIAA5p0BwN69eyGEDHAJvCiKghMnTmD9+vVcR3zdunXSsQkMEecuJCQE8fHxMJvN13ye9erVg9lsNpRQUVVVAoLaPhIVFYVnnnkGO3fuxPz581mSirif/p6LdqGhvrV//37s3r0bQuiTs8i0nqjk5GRDUGC1WiU+G33n1VdflT5HHFkC4SkpKfj111+lz9C4oHvvCyi19yg0NBR2ux1vv/027rjjDr8cSSG8CW60wJvNZjRq1AjFxcU89tu3b19jco8/6R+tmUwm5t+uW7cO+/btg9VqlSq63HTTTRg6dCi6dOmC+vXrc0JLTc+uts2XgxwSEoLExESkpKQgLi7OcBwPGzYM69evx86dO3Hs2DGcO3cOP/74o25T8NNPP3H/WbJkCQIDA2E2m9nrRs3tdiMoKMhvSBfwrgskJ+X7GaqGRY6H4OBgLF26lD9XWFio89T5E3e3WCxo37699BrxWxctWoSysjKpMg/93s6dO/nzpGxBz0RVVXg8Hi7UEB0dbTgPnz9/nvuldmMfHBysWw+1/GUKcbdo0QLjxo2DEN6N5YgRIyCEXmEDqFJVoPO5EX2pphYVFYXWI+d6AaIPfe1a29q/ntNd0/+a1QHKf9nXX3+N1NRU5OXl4eDBg/j111/x66+/YseOHbXacf+n29ixY3kBSU9Ph9lslrgmMTExOpHo8ePH6waTEQm6RYsWMJlM1SaAUEKHdgHo16+fjitDtaPpb5fLJUlX+MoGAd7Fliq/EDEckMHB1KlTERMTwwuPUUjIyKZPn87npS0XWF0jUffMzEwMGzaMJ0zSzHz22Wf5s+Hh4Vxt5noAJSBXsiA5kIMHDzJnSggvoV8r1RIWFsaLWFBQED744APDY/fv3x9CCOZ4de/eHZmZmVAUxa8+n69R2TutN8nXrkUrTquB6XQ6MWzYMGRmZkr9uXnz5njqqafg8XhYV2/OnDkAwAsWUQW0RiFDAl4kS0JGIW5tmUFSO+jUqRMAY01I8pikpaUxSCgrK4PFYpE2Af4AJVClz6cdM2lpadi0aRPuvfdeSWrId2EdNWoUVFVlTzGN+eoq+2jFyWlDqjWqoCSEV2xfVVVJpL13796YO3cu0tPTdfQG0ujcsWOHIX3CN3mQWmpqKqZPn468vDwGvNpKMtHR0YiMjERISAicTqcEbmvbKDFI69ElUOQvktGiRQsGWzNmzMCRI0fw97//Hd999x1UVUV5eTmDUV95M6AqKYeSa+h+2e12XWIJSXIJYZxlHBUVxdWQyDp16gRFUbBixQq+r+3bt8fXX3+NlStX8rV27NiRa8Nr54uXXnqJk4O6desmQed/AAAgAElEQVRW7WZEOx/ZbDZJE/XLL79kmgRl+teUrGa32zFx4kSsX78en376KR8rLS0NJpOJx97ly5dhNptrleV+va3JgHE3VGd6+/+4p7IOUP7LaOKngeB2u3Xaar+XRiHB4OBgvPTSS5wcYDKZMH78eAwdOpQnytjYWK53SwkO5FHYu3evFJ6gFhAQwJ5Ef9UhtJmKFK668847oaqqTqNR2wIDA9G+fXsOG/fu3Vs67uXLl3ly7dSpk25xIv6kVu5l8ODBNT7f4uJiPPjgg8jIyKjWU5mcnIwTJ06wZ5NEq/2F0SlMSddM/adbt24cgr8eo0UnOzubQ8WUqd24cWMA4CxXbejMYrHgz3/+c7XHJv1QIbyJAHSchx56qFbnRny3y5cvG4rf+1ukXS4XMjIy0LZtW10SDfVrLZ2APEl5eXnS76uqyoLk9Df1C63Ui1aLsby8HK+88grfq4YNG+If//gHJxxoKzgBXn6oxWLBuXPn/FatoQSWdu3aQVVVphVotRD9AcrDhw+zbJMQXjBgVCHq6tWrPL6N+i2NQ/rXZrNJZfd87fjx41AUBXFxcTqvGoHH+Ph47N27l++V7/M0m81ITEzEyJEja11FiJ5306ZN8fzzz/N8RfPNCy+8INX8TktL8zv3+N5bIbzeYl8OasuWLXHLLbdg4MCB6Ny5swRUb9RcbDabGZySpFTjxo25H/ft2xc5OTno27evYQiZPpeTk8MUjYcffli6zg4dOnBJU8Db37UAOTAwEC+//LL0ndLSUo42WSwWLF68GD/99JPu9+fPn1/jsyPvLa0JDodDGmckZG42m2GxWNjTmZSUBJvNhhkzZqBPnz5+5wVFUfjZBQYGMkD95JNPeHze6OZwOGAJif5XmNvYM5n6hzfx9JHzOHruW3xX9jMAYNVbn1QLKJss2Pc/zamsA5T/sl9++eV354U0aiTRsHLlSt0A1ZbCKysrw7hx43jS8eU+ajX3+vbti+LiYpSUlGDmzJm8OAnh3cmPHTtWOjYtPCaTiRcT4udod6bt2rXDli1b8Msvv2DXrl24/fbbDcXWW7Zsifvuuw/r169nr5Q/UXLia2m/TyXFtFZYWIg5c+boRMRNJhPq16+PrKwsHRfSN0HJ6Jja43Tt2pVrMfvrO4qiIDMzE2PGjMETTzxRY4UUMm1Y22QyITc3FyUlJWjQoAGCg4Nx+fJl5qOS9yMpKYm/FxERgTVr1hjyALUArEuXLszHMpISoUQYAo0EdI08EOTJ7dixoxSy0t7ntm3boqKiAmvWrPHLP05JSUFBQQEL6H/55Ze68woODkaDBg34by1VoKysDKqqsvaeVgOP+GbkRSGvr69nj8p6ksdk+fLlhs+Jso87dOjAJfW05gsoX3vtNd4QKorC2bLDhg3THbusrIzv96pVq6CqKmev1zRXDRw40K/HmRJOcnNz+bWSkhKJo+g7VyiKt5LL0aNHr6kMJRnNQ/n5+QCq5IkCAgIYKGv7VPfu3Ws8JnmmhaiKdOTn5+uS/KKjo3XqFe3bt8f27dv5Wgjc22w2lJWVITs7m8+JPIHESyVptLCwMKSnpyM1NRVJSUkSL/W3riUWiwVBQUFwu90Mtpo2bYoOHTpItKGmTZtiwYIFWLVqFV544QXs27ePeakVFRU4cOAAz82+BSH27NlT4z0ePXo0f37z5s147bXXuD9opaioz2hlwOgeUi10RVF4HWrTpg22bNnCYNMfV5o20b/lXvo2s9mM6OhoROU+hAbVyP91Xn4Ipf/fLzjx2Xd48T0vSK4JUCbP34s71p+o/cD4L7M6QKkxbbLK77W9//77KC4u5oQc7WAzShKorKzEjBkzDI916623cjjE186fP68bzHFxcVJYo0GDBobcRJPJVG15MkpM8HeN9evXx9SpU3V1iKlm7Jw5c6RF76mnnkJBQQGmTZumExEnSZexY8fi4MGDUmlE34nKH4glo0XHZDLpZFKAKo/V4MGDa/Ru+9ZwfuKJJ3Dy5EksWbKEASItZqGhoeyp7dWrFxRFkfhXJpMJ69evB+ANa06dOpWfSVBQEBYtWqQDAVo5nuHDh7Pgdt++fWv0NJIovFaM3vf4tOjdfPPNOHnyJIQQvGj4gtHg4GBkZ2dj6NChOu92YGCgYV9KTU2F3W6XXqPQXHp6Oi+EM2fONHyWZ86cke6hlm8GQOII+4oy+5o2ScxXDJsAZb9+/djjajabkZOTw2OvYcOGMJlM+Prrr/l75eXlvLGjpJznnnsOQnjB5c8//4zp06dLYy8xMVG3cSQqxJo1a6T7SPNHt27dDLnVJDROY9C3HvS12NmzZ3ksao3kcrSeRUVRGEST/qQ/c7vdCA0Nhc1m09Fzjh07pssaFsLrffXNFAeqqA9CCH4u69at4746ZswYAF7JIZPJZKgWoDVtuUmLxYJhw4bh9OnTOHnyJLZs2QJFURAUFCTpPlqtVmRkZPC4c7vdiI+P5w3Z9Urm+As/OxwOpKamon379ujevTsGDx6MkSNHYvLkyZg/fz57JgmQrly5kosTEE2jf//+zM+kv8moUtShQ4eYzlBQUMDlarX6qU2bNoXFYoGqqrhw4QL3A3+SQ7+lmUwmWN31rymU3fqhv3j7bA2Aktqn3/xvSgrVAUqNaUOBv8fmy03Jzs5GRUWFxK2Lj49nLwDgBW/aKjPUbDYbJk6cWG1Yiao9HD16FNnZ2X4lS+rXr4/58+dzWMs3ROnPhJDJ1yS4qwWLFosFjRs3Rl5enrQIaic63+siEXFtGTGy/Px83qmHh4fj4MGD7PG0Wq2G1YYAYNu2bfwb/j5TUVHBJfwAwOl0csKMEF6vy7x58ziMHh4eXu0i0aZNG85A7dChA1RVlfQ/hfCCMaPMZVVVsXDhQl6MHA4HBg0ahNmzZyMrK8tvGTv6LHkax44di7Vr1+LDDz/EnDlzIETN+pHaBAHA6xXUVuqglpaWZviMCgoKdJVUGjVqhEceeYSBNXFZfb1w5BURQtSKbqDlAmZmZuLixYu8GSC+Xk3JLhcuXOBjDBw4UHoGlAVMfXP8+PE6AfN33nkHQlTRP37++We+X1pOHZXC1NJAVFWVAKHD4cCdd97J1Vx8wYTFYvHLy6T/7927V3eNxFslYHUtRptQGhfac9cqSmzatEmKjhC1w8jOnDkDIbwqD/Hx8QgNDUVhYSFyc3OlCAZ5RjMzM6VSolarFTfddBPTA0iH1rff5Ofn8+sjRozgmu/+xtySJUskUD9p0iTdHEvcTCrxefToUWkT3LZtW76G9evXS5ER8g6mpaXB4/Hgq6++wocffoi33noL27Ztw9q1a7F48WLMnDkT48aNQ05ODm666Sa/5QopS/t6eKm+f9NclpycjLZt2/Jzp41bbGwsHnnkEaxbt469vJ06dWLvJXGWAe+Gx2w2w+PxYOzYsdd0brVpkf2nVOud/C2AMnn+XizadeYaR8l/h9UBSo35Zsr9XprFYmFuCb3Wt29fDmeSsPnUqVN5YhgyZAhmz54t1Q+mElpCVCUCWCwWDB8+3NALRJmE9913n1+PG4Xt1q9fz96S2lZeEUJIE6l2kj59+jQnJtRGKDouLs6Qg0ZWUVHBWc4mkwnTpk1jLwV5Mii8uWTJEum75K0Vwhv2qc4IQKxcuZKTcgoLCxnUa/lO5eXlyMvL48ne4XDwAuub6UpNO/GHhoZi+fLleP/996GqKr7//nvs3LkTc+fORVZWFpo1ayYBWt9mNpuRmZnJCyDRAYyssrISdrsdYWFh1V4/eevod9u1a6cDLLNmzWKv1N133214HEow2rZtG7p16ybx31q3bs18RV8Vgm+//ZZ/yx/w15rFYkHr1q0ldQMaP2vWrIEQXg94dUYSXdSPbr75ZsydO1cCq+np6dVqfVLoW5v9S0lHgF43VWukNjBr1iz2AlssFkMQX1OrrupOaGioJK9UGzt+/DiE8AI4bbLSlStXmHZBG7z69eujoqJCSvjr0KGDYQUhev7vvPOOBEJpbrv77rsZ0GjLlf7888+6Uq4BAQHsQWvZsiWEEJg+fTp/R1tqVQh94kxlZSVmzpzJYXaXy4WkpCRDHcpPP/0UQnjlcLRGgF1LD6GxTv8GBgZixYoVteqTZLt37+axQ/2KPN00HrXzrqqqrPkYGxuLF198kZM5s7KyMGHCBOTm5mLAgAHo3LmzNLYJBJNSwPWEqqmKlJYfeqNrd9vtdjSYsuHf6qG86Y9/rdXz+W+zOkD5L3v11Vf/I/qRv6WZzWbMnj2bPXVNmzZFaWkp0tPTWdj87NmzUhiFBlB5eTn+9Kc/8WuXLl3C9u3bOeHDZDJhwIABzCUrLy/HH/7wB+k4iqJg6NChzF166KGH0KZNG2nioMGvLYloZAcOHODvUDlF0ibzeDx4+eWXceuttyI+Pr7Wz6V58+aGi/aGDRt4sm/RooXEBwXAE218fDwD7b59+0JVVRQVFTEo9639bWSqqsLlcsHlcumSctasWcPHIrFhIbzJJxSyJoI70Rd++OEHvPrqq9V6FP01q9WKqKgoZGZmYty4cRg1apQUPoqIiMDXX3+NyspKKfyrzeIkI97s888/7/faiU9Imo++fZdKsr3zzju4evUqL+okKq01u90uVfBRVRWbNm2SxKPpmWk9ahRqVBQFYWFh1YK4b775BkJ4Perbt2/XHffEiRM1qh2cOnUKQng9LWVlZdL9DQkJYakhoyxvrZHHjTZPWkADVIWHn332Wd13jxw5AiG8EYv+/fsb6hsK4QWL33zzDZcJ9Sdo3bp1a8yePVsXciZKR3UbN19r3LgxFEVBREQEA8qjR4/ydc6YMQMA2PudnJwMj8fD95Xmr7Vr1/Ixy8rKYLfbdeffv39/PmcqtOCrk6q177//HrNnz5a4hTR2haiiL6xbt076ncDAQBQUFKCsrAxjx47lOS88PByPPfYYVFX1WymHqupQtR+tderUCUJ4uY2+G3i73Q632y157moyimbY7XYcOHAACQkJCAoKAlAlvk+NsvrpdRIjB2BYehEAq2Ro7wFtYqgqE20ce/TogXPnzuHYsWPYuXMn1q9fj0cffVS691lZWejevTvS09N5HF+vPmp1rX5So2uWCLpWQJk4d8//ZJnGOkAJYMeOHb/LhBwtiGjatKlUfisvL48nwJSUFFitVuTm5rJXS7vTJa3HtLQ0HpwEYAAvuKMQmRDGWozBwcHsKejZsycURWEPX3l5uW7gK4qCQYMGSeF3Mi1Q7datGyoqKljbUSshQ7/bqVMnSWroxIkTuHz5MpYtW2YotB4VFYWBAwdixYoVzHt0Op1+s58DAgIYcH711VcseRMTEyNVa6mOF6o18iKQqDxZUVGRzhOWk5MjfZfkQLZt28aexpSUFMmT69tHSFQ6NDQUTqfTsC9rOZvaxUpRFPTo0QNnzpxhMNShQwfpnEpLS2E2mxEXF2d4vR999JHOG6alR/To0QNXr17F5cuXYTKZOPlHVVWu1hMSEsJA5bXXXoMQctUirVVWVvI9puZ0OhkUjxo1ius7+6oIaI04l1QNyel04u2338aUKVP4HtakdtC8eXMoioKsrCwee/TvuHHjqpUN0hrVtxbCGASlpqZKteepbnKPHj10G0iqmzxp0iSd1mFaWhqHG7WKFvR+bGys9OxsNhtSU1MxZcoU3uzcdttt1V4L2Z49eyCEt3pWdHQ0oqOjJW1ZbTY8UCXp1bRpU3g8Hp4TCHxGRkZK4X2TyYR+/fph+fLlEMLLLQWqIk3XInZOfUDL4VUUBVOmTMH777/Pfz/99NPcN+j+xcbGYuPGjdLxjAAlcYm7du1qeA6ff/65lLiilRPSnlO7du2qvZZffvmFPa7x8fG4dOkSAHAEBPDO2YqiSFEv6n8xMTHSBs8IUD7zzDMQoqpwRXFxsURfat68OYCqZCyjTSrg9VTTd7TSXQA4unGjE3MSWnW+ZjmgawWUCXP34MylH6p9Tv+N9j8PKLdu3fq780z6hjop/OmbCLJp0ybdQEtISMDLL7/MCzV5hehzFL7RcqFeeeUVZGZm6o6l5ShqNf7q16+P4OBg/nvKlCkQQuCZZ57B1atXdZNgaGgoRo0ahcLCQgZU5EUx8rylpKSwiDhQJRMjhF7m4p577oEQ3mQlWjx9QyRWqxXdu3fH2rVrdaDQ4/FACMGcPfKY+Jb6qk5z0choYWratClOnz7NYVEhvNp7Dz/8MN8Du92OhIQEnei79vn7Xk9AQEC12balpaXYs2cPHnjgAWRnZ9eKs6ndSEydOpWPTwkZ2vBycXEx8vLypD5iNpsxfPhwyetAmpxk5MXUJsE89dRT3Mc3btyILl26QFEUQxFyrYWGhiI2NhZz5syRZIhCQkIwatQoBs7+woNablZycjL3N8C7uGtlfYxAFMktUWvQoAFeeuklqKrKHhby6lUHKFVV5co5QujVBmjxr1evHjp16iRtohRFQXR0NMxmM6KiogyB7/Hjx3VVtShMPHDgQFy6dInHFyUGnThxApMnT0azZs0MOZfjx4/H4cOHq+2DJJpfWlqK6OhoPk5ERITf5J677roLQniBb0lJCUwmk467TcehSEN5eTmE8GbKE4e2trQbskaNGsHlcgHwep0pXO7byPNJrWvXrob3wAhQNmvWDIqi+C3ksHnzZh7rCQkJrG9ZUFAgrVEul4vLIPpaUVERbwy1ZUGppK62NG6zZs1gMpl083WPHj0kmoEvoLxw4QLMZjOCgoKk/ubxeKQ8BC1/WBsp+Omnn/DZZ5/h3Xff5eRA2hSlpqbijjvuQHZ2tqGk3Y1o4Y3b/kcA5QfF31fT4/477X8aUBYWFv4uPZPa1rBhQ+Tn58NiscBisXDW5dmzZ9G5c2fps926dYOqqtixYwdPyoB3cSDwQmK8TZo0Qd++fdnzpSgKUlNTsXbtWpw5c0ZK9KGQFZndbucdKHkno6Ki+P2LFy9yJnJeXp7Og6Jtdrsd/fv3x7p163D58mWueqOddElE2shD9vrrr0MIr1yFluQvhBdYdOrUSSckHBISgi5duuDRRx9lb9jDDz+MgIAAxMXFoaSkRJdtXBu9Nq2R1p52ISDJI3+gjhbO9PR0PPnkk3j77bclj0xUVJQEDK5HvgWo4jnOnTsX2dnZSE5O9ntOtHhTucwePXpIYV16PykpiT1KpHNI9bG1RuLfsbGx0usnT56UsturS8ggS0tLg81mQ3l5OVwuF8sraUEueTjee+896btnz57la/atcKQ1rWh9WloaiouLdWOvUaNGOHjwoPQ9j8fDmzlaXI1M/f/Ze/PoqKrse/y+mlOVeSITScjAEAgBAoEkzPPUKPMkkxEkyBAGMSA0oCioIAgyKZMNKjSIIIJ0CyKiiCKtCI00goJ0vuk0xhjpdLqM1fv3R61zct9QCSj057fQs9ZdSqrq1av77nDuOfvs7fFwqnPw4MH8bLZu3YpHH30UmZmZqgOSTCL+xz/+kVOfycnJ7BBp7f333+fokbzeKYrCDj8dAlq0aGF4jXPnzmHWrFm6Qjiz2YyEhASMGDEC+/fv537cunUrhPDCCUpKSvh7jbhltUYRRnnuxMbG4tFHH1VRLsnCDXa7nR3tnJycW54bTqcTKSkpqr/J1fvaNaugoIDnYv369XUHVa1DSRCfvn376r772rVrjN0kDXAt/dSyZcv4+2k8uFwuzJ07l8fA66+/DqvVqqP0AaqlUp9++mn+G8EoZDlRwvKSAEBZWRl/97Rp07B+/XreS+655x4MGzYMffr0Qfv27ZGZmYlGjRoZQi4In34re9+dCvRYI+v9FqG8Q/ardijdbjfmz5/POEJfVcz/q2b0/VQJePz4cSaOlZ29zMxMVbqauAgdDodqkWvQoIHhBE1ISMDvf/973YlUURS4XC4ujhDC69DRRkG8eSSlJaevrl69yvdUW0GNlsD46NGjEMKLxfF4PKxlK4QwpDi6ceMGhPA6BfK9CqGOKrrdbrzyyivo378/YmJidH2RlpbGmD5yJmmhpchd586dddil0tJSvP7666r0tFyMITc/Pz+OMo0bNw7PP/88zpw5gytXrvCGIoTA2rVr8eGHH/L3UhXmxYsXUVZWxuOkJgLrmqxBgwbw8/PT/f3q1atcVU6tpoimLMdH/1+vXj18+eWX6NSpk6FDCQAPPvgghFDDLgBvVJUiZ3Xq1DEsxpCN5DjpnuXrnTlzBgMGDFDxEdarVw+PP/44Nm/erIKG1GZaWT659ejRw+fn3G43QzXatGlj+B6K2Hfs2BEzZsxQRUWp/wlO8uabb/p0lHr37g0hhGp8VlRU8N9NJhMefvhhuN1u3fgkWUfqKyO1FrKrV69CCC+UYP78+WjVqpVONScmJgZWqxUWiwX79+/nNcDpdPq87tmzZzFw4EAdNyxpm1Mx0LFjx1RjLycnB9evX+e5QiTzt2KUpejTp4/q7zIdDjWtDCU56i6XSwXv0TqUxL8rR8E9Hg+mT5/O1+vbty8qKyt5XMtr6rVr11RjYvz48exA2+12Xj9sNhuWLVuGnTt3Yu3atVi8eLEKd5+Tk4Pc3Fw0a9bMkP2DnuGt7l1msxk2mw1Op1OFD5efY69evTBkyBCMHz8es2bNwiOPPAIhBJo1a4Z33nkHf/nLX3gvpoI0yjzQ329HU6wOxP+Gobwj9qt2KMn++9//4tSpUz6B6ne60QS2Wq14+umnVVgWskOHDqlwhK1ateLCFyrKoY1aCG+VMQAUFRXpJBep2Ww2PPfcc6q+oOIkl8vFUUI63coLDfHomUwmxMbGGpKIy5+xWCxcPHH48GHGLNF70tPTsWHDBng8HubNHD16NKexk5KSfD4/2RHPyspCcXExpxxJulBrHo8H+/btY25A7XOPioqC1WqFw+FAcXExQwXsdjuSk5MRHBx807xwXbt2rXWTq6qq0tFCmUwm/h0yYTCRbt9qxS2Zv7+/LgIimxFxtslkQk5ODhYsWIB58+b53Iy0zz0rKwujR4/GihUrcOrUKfz0009cMR4cHKzrFxnfGRAQYEjPQiZr/8p0PVqjDVobnVMURYcXNTK56lj+vNlsrlWukopthBAq9oAPP/yQcafyM7darRzhWbBgAcrKyiCEb9wd2aJFiyBE9QF0/fr1nH1o3rw54+hIenPevHmq9UT+bkVRdBywskVHR+uiocXFxViyZAlyc3MN8b4WiwWBgYGq/rp27RrGjx+vwnDWqVMHU6ZMQUlJCaevyZlYtmwZevToASEE/va3v3F6Ve6/mylW0Ro5qaQUtW/fPp0DQ9kOIbwH2+XLlxse0mfMmAFA7VAS5RhhBH/88Uf88Y9/5INrUFAQCgoKsHDhQhQUFOC+++6Doiiw2WzIzs5G06ZNDdXHfi4vJcn0ys8pNjaWDwaJiYno3bs3R4Op0eEnKSkJf/vb3/D9998brmsej0eFAxXCm9LWPhvieqUxC3hT8zQvBg0a5FOt6Zc0h8OB2AdfvCnHcMzmjzBx+yeYteszAMD+M0WYuP0TTNz+CRrMP/hblbfGfnMoNfa/JDfX0opQRJEmoaIoWLJkCd+TyWRCq1atoCgK/Pz8GIdEDmV+fr5uEsvfl52djQsXLvBEpu9PSUnBhQsXcODAAb62Vp/W5XIhMjJSFUkz2jSSk5MxduxYHDp0iFPNwcHBvKHJRveUmZmpOvVri3CE0EvjAd60pZwSlk/0csqRFnkjS0xMREBAAK5du+azOtaohYWFIScnB2PHjsXAgQMZ/2i1WjF69GiUl5fD5XJxCkouqDKyNWvWQAihw7oJoadyoYiKENXKSTdrxLdnFFk7ePAgOnTo4DNCQTRF2shN3759UVJSggMHDmDevHno168fH4qMou4Oh4MjUc2bN2dn8z//+Q/MZjMaN26MDRs2wGQywWQyGT57wEuJIoTXya/NkZD7Va4QJv47LbE54I3Uy+uBn58fioqK2CkTQqBbt241RlKpKIc279DQUFWfKIqCxo0bY8qUKfjkk08AeDdVq9WKiIgIdmbl9K6RffDBBxDCi3Um2IfL5cIrr7zC76FqZeL783g8qrSu7HDb7XafhUhUPPPOO/pNk1gOZL5HbeGcw+FQOTNBQUEYMWKEITMEVRKbTCa4XC7Y7XYVtRWRZFN79dVXa+wnI5s/fz6E8DrZWgqiDRs28DOoV68ehPAeEOfNm4fJkydj6NChSElJ0eG2aQ7dyppi1EwmExwOh2pPkO+RHK2QkBAVBrpp06Z46aWX8NFHH+Hrr79GXFycCve+Z88edlqF8BY0VVVV6Xg2z549q4K4WK3WWosTidCcMgd073Xq1FFBmSIiImC32zFjxgx0794dqampCAwMvONBHUVRkDJ0zk3xUF77zveBMXfpEcPP/MZD+ZuxzZ49+46lvmlipaamciifFlvil/voo48ghLpYxWw2Y+TIkTyRaTFwOp2cpqSFRbuw1alTB9HR0bDZbHyaJIzl6tWr+TRM77fZbLhw4QL3h8fjwbFjx2pMOZjNZgwdOpSxUVeuXFFJ9GkJjcmEqJZMc7vdWLFiheGpX64oB7wO1ZgxYzjKVKdOHUOKDrfbzVx3c+fORWlpKfbs2YNHHnkEvXv3vinQd506dRAUFGR4Qo6MjOR0nsPhwNSpU1X4MJfLxd9PutO+TFbWaNmypUrDNjQ0VFfc4nQ6eZxqX6vJaHxRWvPUqVMqB1AIdXopKyuLo87a4oyIiAhDYnIAqpR3eXk5Dhw4gPnz56Nfv35o3LhxjXrvgYGByMrKQu/evdnxGDlypOr6VVVVjOfzhfsjO3v2rIojr6ioiKX/oqOjebw5HA706tULM2bM4PlpsVgwYsQIrvy/fv06AgMDYbfbecPURvqrqqqwd+9eDB06VOegCCG4P9PT031GrilKHxISAofDUetzlQ8ZQgjVfAS8RUZUSKGNqvbq1YvnWc0FPt0AACAASURBVL9+/VScnw8//LDOWSe6pe7du+vugw6rQnijqlVVVXC73TXKEQYGBqJt27ZYunSpSi2ITFsIQ+lQohpKTEzk3yCEFz6wc+dOpqYpLCzExIkTMWLECPTp0wcdOnRgvF9CQsJtiX754o2lsRUZGYkGDRpwH9SpUwezZs3CqlWrsH37dhw6dAinT5/GtWvX4Ha7UVVVBYfDgaCgIK6EJo1rAHj00Uf5O2SFr0OHDjEkSlEUtG/fHhcvXoTdbkdaWhoAcODA4XDg4sWLMJvN/JqREpBWT5tgBkb2008/wel0wt/fnzMR2vXc6XQarvG0XrZv3x7jxo1TiTL80uejbQFxqbeMo7yV9ptSzm8GQA3Cv5NNURRMmjQJHo+HsX/Hjx9XRRVpgerWrZvuPmmSOxwO1YSj1OSOHTtUlaNE7wCA02i0SRN9ihDeqMa8efMwcuRIJCYm6hZJRVFgt9sZvD1jxgze2K1WKzp37syYr0WLFmHGjBkQQmDlypW63yBEtUMpG+kyazed4cOHY82aNeyEJyUlcbGAEF5uN63TWL9+fZ8RN+o3WuQ7d+6M1157jV/fvHmz6r7OnTuHgoICnTOkKIphYQJROhFNiy9uzsOHD/O1iHA9MjISiqJg/Pjx3BedOnXiyufk5GT4+fnBarXCz8+v1opossWLF0MIb4RSHmsxMTGYNWsWvvvOW5lIfXLt2jVcvnzZcFG32WyYMGGCYdq3Jgwl2cqVKyGEt/J0/vz5/FxDQkJ86nxHRUUhKyuLHTW73a4r8JFt69atMJvNMJlMzEaQkpKCMWPGQAiBb7/9FuXl5ZgzZ46uyj4lJYUjNQT7oGKchQsXAvCS/9PG53Q6ERERoRpv5Kjn5OTgzJkz7JTHxcXVCIMgh0KI2g8jBw8e5GdpNpuZA5DM4/Ewn6uRZChhhen7HnroIY7G0XN+4IEHVM85Pj5e5+gSTZAQXqdv27ZtquwD9d/rr7+OoqIiPP3002jbtq1uPlksFoSGhiI5ORmtWrVCs2bNVOMvICDgFx36qXJce43g4GCG2DgcDgwcOBB5eXmYOXMmFixYoIqqHjt2DCUlJYaR8YkTJ/r8bpvNVqs4AhlxQtKYo2jsqFGjeL2ljJKWW/fjjz/WVap37doVhw8fhslkgt1uZ87OrKwsKIrCz5cgNSSjSEVSubm5nPa2WCwMESguLsaOHTswY8YMPow6HI4aI400Lx599FH87W9/M5wLRLN0p1rMyCVIuAW1nJtpv2l5/2Yqkzf3O9XMZrMqpUxAd7mNGDECVVVVjNvZsGEDv//IkSPo0qWLztkbO3asbmLSomKz2VRYFavVioyMDJw4cYIr8LRgfT8/P7Rs2RLz5s3DpUuXeMMl/Fx2djZfb+vWrarP5+bmMokynVi19yaEsUNJDhjJ68mbHbUGDRpgypQp6N27N6fHjRxHPz8/BvYL4S20OXv2LDweDzsJQlSnjsvLy/laspWXl2PkyJG8CYWFhfHmY7FYdHrEMTExMJvNiI6OxmeffQYhvJFHrdHiLYRXpg2o3uCJ3Pz69etMa2S1WrFs2TIutti2bRuE8KaOa7LS0lJMnz5dtSmGhoZi3Lhxus3o0KFD/J5PP/0Uq1evVm0OGzduxPr16zkKbTabMWTIEFXBwc04lIBXj9lms6G8vBwmk0n1O+TIZm1QFHIss7KyMGrUKKxYsQK/+93vIIS38IYwgYQzDgsLg9VqhdvtVmliO51ONG/eXIXri4yMxOTJk7nvAgMDsX79evTs2dNQZ5j4FktKSlQ8lARJob6szbGgZ37fffcZvl5WVsbRO4vFgrCwMMNiKyqc81VpTkVa169fZ9xcixYtmKCeDowmkwlZWVlYunQpR2y7dOmCgQMHqvgujQ6ht3P9lHHZOTk56N27N4YNGwaz2YzQ0FAMGDCA53tycjLeffddlJWVwePxoLKyEvn5+apnSYWOxBagZZkgI9UfIbwVzzWZEXRFTls3btwYa9eurRGqIWMRHQ6HSv41MTER169fx65du3jtJlEK2S5cuKAr9LJYLCpsMgUn5Mpw2ndkdbVJkyZhxowZukOCUaNI44QJE3jN3LNnD4qKini9NiJoLy8vx5o1a9C1a1dDPuTbOYackfGIn/naLZOc19TqzzuIb0prxlXfzfabQ6kxWZf3TrarV6/ixo0bGDNmjKG0FKWrKioqmGqme/fuKqetXr16KmoSI2xL3bp1ueJSURQ8+eST2LJli2EqIjAwEK1bt+bohMViwaJFi/haxCHocrmgKAo7xW63mxegsLAwTvMqioIuXbowH5mWekcIvUNJqZzf/e53iIqK4uKHmvqSXg8NDcX999+PNWvWsNNIVl5ezk7C6tWrOQoohFdhhIw4F4XwSkEWFxejb9++vIDGxcWpCH4XLlwIIbyO3tatW7kwQYsbo2f86KOPoqKiQoVfo3SZx+NhB9Eojbt3716+LkWk3n//feZy0xKBV1ZW4sknn1ThTKk/tVEs7ZihsSGPN9L9lTlRd+3axc/bZDKhZ8+e+Oabb27aody+fTuEqMZb+SKfB4CNGzfyc7DZbNizZw9v3A0bNtThE+X7lp1NGgeyxFtoaCieffZZ1Zg5d+4cBg8erKs8lltYWBi6deuGNWvW4MMPP+S5ExgYiL1797JDSdmC1NRUfP311zyHdu7c6fP3UsGYw+HQbbxLlizhe2/bti1KS0vRp08fCCFw4sQJHDhwAC+99BJHYkNDQzF69Gjce++96NKlC1q3bo309HQkJyczcXRAQIDhuvBzmslkgr+/PxITE9G4cWNYLBZYrVb069cPI0eOxKRJkzB37lwsW7YMmzdvxhtvvIEPP/wQly9fxo0bN+DxePDOO+9g3LhxSElJMXRgxo8fr6qsJjw0APz73/9Wza9JkyZh6NChPD4iIiKwZs0auN1uCOGN/pGKjTYzIRupz9QGQ6AMDjViiNi5cyeysrJUJPht2rTRkbyTER4xJiaG53xsbKxqnNKaERgYaIjVlp1CavHx8Tz2PB4PrFYrEhMTsWPHDkyfPp3FK4yeLcGt5HnRokULLqKScbtAtTQowbrkQrWwsDAUFhaiXbt2ugwBOf2LFi26Y7jKxv3G39YI5Y6PjTlGfy32m0OpMaq2vRODV24JCQk8SWJiYlj5hlIYgDf1+8ADD6ick8jISEydOhXXr1/HqVOnVCoCERERqgIBotxp1KgRK7AY3cvkyZNV0SXAy5tGkYnY2Fh88sknnKIUojod8tVXXzHerFevXrzQHT9+XKWBazabOSJERpvh7Nmz0bt3b3ZMamqtW7dGXl4epk2bhuzsbBWuz2azYfXq1T5P/aWlpbwoyyk9uufi4mIoisJpm/DwcBXu1RdNz+HDh3nxk6NAfn5+iIyMROfOnXUFUvTMqKIxJycHf//735m03FcKu6qqCmPHjuX7Sk9Ph9vtZhzpyZMn8eKLL6Jp06Yq9oBOnTrhz3/+M1wuFyvVGBk5ePJBRQjBeN1Tp05xulDezA8fPqzCpFJ062aM+sBkMtWYBvZ4PKqI4PDhwxkLuWPHDgBeuiDa6NLT03HPPfegcePGPp1NIbzYNHI2n332WRw4cACLFi3SkYhrW8OGDbFmzRrdeHvmmWfY2ZPTjomJiTz+z549y8UWc+fOxaZNm/D0009jzpw5yM/P11FWhYSEoF69eggLC1Ntrj+H349SvnJxFLEXpKeno02bNroq/oYNG2LlypUoLCysUSP8nnvu0a0lAFgp5+eaLAygbRaLBSkpKcylKT+PN954QxWVj4iI4LECVGekqPhHSx1kZITHXbt2re6169ev8+Ga+oMOSxRVBLzzeNWqVUx2LoTXSe3Ro4cqkyRjUmkdNZICJX3u4OBgfPvtt6rXSGPebDZj+/btyM7O5u80m82GcBYt24QQXk7Rixcv4r///S9f+6uvvlJFQH0xT9A1L1y4wPuCtjgtOjoa9957L7Zv3w6324309HTY7XYA4Hl+J1rzkYVeh/AXRiqff+fLWsfO3W6/OZQGJhPH3qlBLIQ3HUPqI7Lz4nA4VFXOQUFBXLQhF7EQSLtJkyY86SMjI7F48WK0a9dOV0QRHh6uOwXWFBHyeDyYNGkS35cc6bp+/Tr27Nmjinwa2bvvvqvanChyUVPUsVmzZqqNfNKkSbxgavW0ichdW8TUunVr7Nq1S+eglJSUqAqY5MpHwrLKPJ8EC6jNiouL+Znl5uYy358svUhpaiMHwOl08sa3a9euWr/v/Pnz/NmAgABWGJH7OTMzE9u3b+c+8MW3J5vc71Q8YrfbVRCNDz74gA8I2kjnJ598osLuZmRk4MMPP6zxt+zduxdCeJ2mmozofwoKCphtgA4G+fn5ePHFF7kyXIaIAN6NzyjqQoUPvpwyk8mEoKAgxvmZTCb4+fmporiK4pWwa9iwIVq0aIGGDRtyZkB7rV9C7izPmcDAQDRt2hQ5OTno0aMHBg0axBGi9u3bY82aNYwzXbVqFYqLiw0PWh9//DGE8EbOtXbixAlV2nHDhg067Wu5ydXXWvslDqXH41FJYcp0NllZWcjIyFA5RQQ5kQ8foaGhfI0ePXrwwZsijrQ+3gzt0J/+9Cd+nrKk4OOPP647tJCR8pafn5/KYQS8XLoyHzLN6aFDh6qc4e7duyMuLg7BwcGG90U0WiEhIXjxxRcxffp0lXN7M+OsV69euHjxIuM35TVfq+UtmxyRzcjI4PT7hQsXMHv2bMNxHx8fj44dO3Kfadk4goKC4O/vr2P8uBMtoFkPJBW+gfiH994yZrL+vIO/+sgk2a/eofzXf6pwruh7/OXqdzhX9D1uVP4Im82G8PBwnsy3kwNLbqRdvHz5ct4k6DU/Pz/06dMHJ09WA3wbN24MIbwOB4GjFyxYwETdRhuY2WzGyy+/rKrAln/P1KlTa+0j7SlUCMGbu8PhwN69e/Haa69xpLFBgwa18jRS37Zs2RJnz55lLNh9993HjoyiKCp8HzlkRs5r165defNMS0vjBcxut6Nbt244duwYgGoaErq32NhYANXKHtSIsFju/9rM4/FwtWlERAT8/PxUDiXRkwjhxRO53W4u4tDihVwuF1q1aoX58+frMI5kVJSj7dvk5GRDNZLjx49DCKGCMZCVlpayc2YymTB+/HjuQy1tEQC88847OnC/bEQGLkd433rrLcPfQRyKiqIY4sAAb2pdCK90KBkpKAlRDQFwuVzYuXMnDh8+jB07dqCwsFC1IQUGBrKjdacyEXRo0qbKbTYbcnNzMXToUEyYMAGzZ89GQUEBzGYzFEXBc889h/Pnz6O0tBQRERF82KHCNiG8hx1fxV1ECdWtWzdMnjwZQtQuGUpFWkePHjV8vbi42LBoRv6vPM9TUlKYb1a2X+JQ0mHJZrOhuLiYsYxyShTwyugKoWe6EMKbBerduzePcbvdjueff54PkYqi4Ny5m6d6oTUqNTUVp0+f5qhtSEgIr2XaCP3OnTv5AP7UU08ZXre4uBj5+fkqKVEa11RwqSgKioqK8Oqrr2L69Ono1q0bUlJSaoymm81mtG/fHhMnTsTGjRvx5ZfeaFpVVRXmzJmjUqkaMWIEFEVBZGQkPB4P45d94UZJGa1BgwaMrdWOC22Tx2VJSQn3X1ZWFp544glVEMLPzw/9+vXjPe9OtISEBFiC6iBhzDNIKHyzVkqhpLkHkFD4Ju7bePJXjZnU2q/Sobz4jx+wYN85tH/6HSQaDJaYB1/AsKdfgzU83hBcfbta8+bNuQCFNiL6f6MF57vvvoPNZlNFRuTrxcfHc9qRFoF7772XP19UVAR/f38oisIbjhDGDprWiLpC23wVwtStWxc5OTnIy8vD2rVrcfbsWZY5JI1fIbwOKTmntKjRRqGtbjfiSSOjSANFzOjUL6fR6TtbtmypivDJi3fbtm1x7do1VqYwkkqrzZ588knuF8I7kaNJv2379u0oLS2FEIKjbRSxHj58uAoSQX2akZGBvLw89OnTRxVpjomJ0cEFjKrqKerwwQcfqP7++OOPc9+YTCa8+eabrHwRGRlpWOgBAG+99Rbz5Gm1mQlDWVRUpMOgvvzyy6isrOQUelRUFL8eHx+PqVOnYsyYMejfvz+6du2KFi1aMEVUdHQ0wsLCEBAQoOLn+6UtMDAQCQkJSEtLQ8uWLdGxY0f07dsXI0aM4MhRr169eMMMCAjwSSdlND9ktoGBAweqHP5PP/2UsaknTpzAxYsXIYQXRyxHexVFUUXEjCwgIIAPQwkJCbUS6hPOUI7MeTwebN68Gc2aNfOJXYuJiUFRURFHsBo3box+/frx+2NjY1VFRz/XoZRZF+QxRmlcmrsPPPCAyglp164djh8/jiVLlqBt27Y1OltCqCUJb8YITy4/m/z8fBQXF6u4I7X25ZdfMoa3b9++hs/n/PnzhmwfNY0xmXJHFgegZlT8KJvH49HBHAYMGIAbN24w84nFYlGNP6KUI6yv0X06HA6sWbOG13hq8iGZxpv8jGgcydrjf/nLX27LXK+ptW3bFtawugjrPhFx+Rt1afD4R/Yjd8nbWLDv3K+WGqgm+1U5lN+UVuC+jSdVJwyf7ZE3kFD4JjJnboElqI7PNM/tav379+dIjZ+fH5xOJzweD06fPo0pU6YgLS1Np0BRr149jBs3DvXr14fVauXfScTDQlRH2EpKSnjC0kJPmxhtliUlJdi9ezdmz56NXr163VSkMSYmBvfffz87jbVtYMnJyTCZTLh8+bJqw6X2u9/9juldjhw5ovv8uXPndDxpQLVW7tKlS3WfKS4uVqVuaKHT/ha5ah3w6hvXJBdXk5GEpBCCI1W5ubkoLy/nCDjRHVmtVthsNp2z4PF4cPToUQwfPlwHVaAFXn7GR44cUVUnaws+yKmlZyRHVqg/8vPzVbrxM2fOhBACW7ZswYkTJ7Bv3z5s3rwZy5Ytw9y5c/maVFzQqlUrNG7cmK8XGhoKf39/1UHoVprWqQ4LC0NsbCySk5N5LMnvr1Onjs/qUNKgDw8Ph8ViAQDm4QsKCjKM6l65coWrcsmCgoJU3Ko//PADDh48iPnz5+Oee+7Racf7+l05OTlYvnw5PvroI5w4cYL7XQuN6NmzJzMS1CT1CIDhGhaLxWe0V7bU1FQe4wcOHED79u1VPJTNmzfH1q1b8dVXX6kif1u2bAEAjv6SClB5eTlGjRqlYkNYuXIlIiMjb9mhPHDgAH+fHOkHqiEfiYmJOkypLxWosrIyrFq1Cl26dNFFXW02Gzp16oRVq1bVStwNVBfLUKM1lZR8SIDCyNxuN2NCY2NjsX79ehQUFKBbt258GLiZFh0djXnz5unS9EVFRfysCO+5evXqWn/TkSNH+NqyQo3soMbGxhpSyimKV+1sxowZnHmbO3cuv0fL+XvlyhUcPHhQN9602QOKdu/ateu2yi/ebAsKi4QrrgFs0fWR3XswFKujVtWqX7P9ahzKVz++ivrzDtbuSGpa/MN7Ue+RfQho1uOODFiLxcISdFSlSdWG8kJps9mY3oP+NnnyZADVSjmykfPZpEkTXL9+nRfQZ599lp1GOkX7chgp0pidna26F1oMqWgnPDzcZ8pMa5R2JW4zbXO5XHC5XD6jYkA11Y68uVK1phyRJRs9ejSE8EaEp06dapgSE0LgpZdeUn2OqiMPHz58U79NazKuMzo6mh0WSmHK2D2t81dRUYFFixap8GL+/v7o1KkThg0bhkaNGqmeG6kUDR8+XKU93bRpUzz22GOYPXs2swX07NlTFZU1wgpTRPDnjGc/Pz++t7p16yI1NRUZGRnIyclB586dVY4gvW/mzJnYvHkzj1nqK4qk5+Xlqfpn7dq1jJf0RVDvcDjQvHlzPPLII/jiiy/4syEhIYiJieF/E/asY8eOumdIGDQZK0rRFqNU/x/+8AcI4Y14lpSUMD5Uu/ka3a92XLpcLqxbt44dhvT0dBW7gpFRZEurk+7LHA4HnE6nal1JTU3FU089xc9g3759fG9yFIlomYSoruAlq6ysxJQpU/hgQVG0m9XZJr5E6rd169apXl+7di3fk6JUK76Eh4frZCGN7KuvvuIxaBSFDQwMRG5uLpYsWaKqnL527ZoKLyhzwZ45c4YdK1l6saioCK+88go7jbWlpxVF4THdunVrTk/LEbrQ0FBVpXirVq2wY8cOFBcX87VlRSdZrMKX0Tyw2WwAgN27d/s8HLlcLmRmZrID7AuGUVxczEVJ2t/oa7wdO3aMn0n79u35HiwWy/+JUymPCfr/P/zhD7X256/RfhUO5ep3Lv6i6i0Skg/MHnJHBmrr1q11uqk06aZNm8YnPqKHmTt3Lqc4jxw5onMoSYZNu2j52sjq1q3LEViLxYJNmzapFn5ycIXwqjJQ9XjPnj1Vp9Du3bvXKENHJld/C+FNM3g8HixevFilaDJx4kSf8m9G/Jx+fn5o0KCB6n2EvwoLC1NxDVJkTrvYJSQksAwZpfm7du16S+MNqMYFCiH4hB8WFoZLly7B4/GoIqQdO3bEjh078Nxzz6Fv376qKCMVfCQnJ6N+/fqoW7cuIiMjERQUdFsUJBwOh654KzU1Fe3atUOvXr0wdOhQLqJ64oknsH79euzatQtHjx7FuXPncP36dXg8HibHJ0eqNtqgn376CfPnz1cVok2dOpX1md9//32OmCQmJvJ4rKysrLHil/rEz8/PZzGVyWTSRRlIW16GCpw5cwZCeA9QslF0TJtG3LlzJxRFgb+/P0uNyjyUJ06cQK9evQyfW2JiYo1FgHa7nQ8B4eHhHNmUo1NEYSWE8IlXBbzO1OjRo1VR79jYWDz88MO66BxRftntdhw+fBj/+Mc/GAdIn23YsCFMJpNhhNfj8WDBggWq5zx58mT85z//8Xl/x48fZ8hFcnIy8xXSGkHrGjmU9evXV2VghBC1sgXIGadly5bhqaeeUlFIEWUZvcfpdDKTghCC4RBCCCxZsgRCVCtJZWdns4OudVbJsU5MTESHDh3Qo0cP1XtSU1NRVlaGYcOGQQi9I0hjPykpCT/99BPWrVuHJk2a6NZ2KnChdHSjRo1q7BOK1NO9ELTI13jctGkT3n//fQhRO/H+V199pVM7EsLLm2wUDfZ4PKoDr6IoyMvLQ0VFBb744gsIIWpU2vpfNFIZ+s3Udtc7lK9+fPW28kxF5w68IwOUQNchISG4fPkyc4uNHTsWQDWdC0UCPvvsM5jNZlgsFnbCqOrb6PomkwnZ2dnIy8vDunXrcO7cOY6UERh97969rL7w2GOPobKykrFK1IjwNy4ujqOI8inUZrNh1apVPp/HypUrVZGYoKAg1evjx49XLRgWiwXDhg3TLTwyPydFbOrVqwd/f39+DxFJUwsODsZTTz3FyiHBwcGoW7cuzGYz4wvl/mrZsiUTb1+7dg2nT5/GoUOHsH37djz33HNYsGCBDu/XunVrVTGGyWRi8uSfOzbMZjPsdjtcLhdCQkIQFRWFxMREjmKEhITwBjdy5Ejk5OQgLi7O54ZgsViwZs0aAF6sqYyfPHTokO6ZUTHRa6+9VuNcI63okJAQ5Obm1spD+Y9//ANCeEnqyYmmfkpMTGR5yaVLl6Jnz54qR1vbP0JURzFffvllLnRZsWKF6jsJn6gtMHC73QgODobJZOJNvKaIYFhYmGrs7tu3j4urZHyY7FDKtmfPHuTk5OiyA+SUUNRtypQpuPfee9GkSROfv99ut/Nr9PmRI0eqnM3r16+joKCAHQwhqtOaBQUFut8nc8vGxcWponQ7duzQba5CGON2ySIjI+Hv7696zqNGjdLRY3300Uec+n///fehKAoyMzMxY8YMdtJcLhfmzJmDqqoqVo956623VKleUnExMnLW6KBMB/aysjJ06NCB7+/xxx/H/v370aVLF926ajKZfGY6ZCq3Dh06ID8/H5s2bdLhjAEvfZS8XvTo0QMejwdBQUEIDw/XvZ94krVzq7i4WAf18Pf3h8Ph4PvMyMjQcfM+//zzhuwHBAFYsWIFYyiffPJJFeaf9goj7ksSUpDHm7aFhISo7ufHH3/EzJkzVUWZhOsMDQ3FxYsXcf369TsmjXyra3LTpk1rPBj9Gu2udii/Ka1A/XkHb5szGf/IfsTPfA2OsNtLY/DGG28wpUvv3r35/mNiYmAymTBu3DhOQQYGBvp0GuvWrYvc3FzYbDY+UdOGLYRXuk82kkpbvnw5/03W4ZYnLmFmyChyIXMzyjJ0qampqtP1hQsXmNtQXvi0p1u5unXHjh0qjsLevXvj73//O7+XNhwqfCH80kcffaRKjbhcLvTu3RsPPfQQ7rvvPvTr109VFe/v74/o6GjeYG9Ho2dksViQlJSEJk2aoFGjRjUS9NatWxczZ87EpUuXDOUMjSwgIACJiYmGr5WXl9cYxYyMjFRRq+zbt8/wOjdu3ICiKCr5Tl+2atUq1WZTkxGVyrvvvgvAmy6uaQOiRptfUFAQFi9eDI/HA7PZjKysLL72hQsX+FBy77338sZF97d3717d/Zw+fZqrWwkD6wuzeP/990MIgU8++QSHDh3iQgxt1MKXQwkAly9f5rmpbcSq4HK58M033/BnCNMZHx+PBQsW4N5770Xjxo19Hh7MZrPKabXZbOjQoQNOnTrFhyitHKMvblnZaNPv3Lkzj+maJDDlopxt27Yx9tJkMqFfv34oLi7WFSdRxFUWLli2bJnqfsrKymA2mxEXFwcA+OMf/8i/1egZE1tAeno6OnXqBEVRVNcrKirC7NmzGTL0c2AfW7duVaW8fdmWLVs4Krhy5UqWWKQ5qYV5kBHUiOZNRUUFz5unnnoKJSUlmDJligqPSQeN6Oho5ObmGmKyk5KSsGHDBgQEBCAiIoK/j5R0iDZo2bJlus/t27cPlZWVWLx4sUo1yeVyoX///jzvTCYTc7DS67t27UJeXh7fvVpdmwAAIABJREFUI8E2aG9Yvnw573/y+kkY9P/L5nA4sG/fPmzcuBHTp09H165dkZqaekuMAXeT3dUO5X0bTyJp7gGk/f4trHv3Eo5d/Ce+veE9Uax4+28qZ7HenDfx2Jt/xbt/K8H/+/7f+Lf7J3xZcgNrj36J9IWHqp3K2fsQOfSx2zoomzdvzrgsinwYOR42m42dxgceeADr1q1jKgU6sZ4+fZonqhDV6jSEWSRCcsCrJiGEwKBBg1T9Jmt700Jep04d1YmZKpS1TmpVVRVGjhzJC8DYsWMxZswY/veIESNUFcn+/v44fvw49uzZg8cffxxCeFNoEydOxPDhw9GnTx8muKXPWK1WBAQEcFT3l/Y/LaBxcXGcClMUBa1bt9Zt+DabDa1atcL69evx6aefoqioCG63G2+99RYviNTnWh7KCxcucERFbpmZmTcFFTCyhg0b+lTtOHbsGG8ctDHKESJtRCM0NBSdO3c2LEyoX78+LBbLTWHgZDnJmhzjqKgoOJ1OLF68GDk5OT4dei2FSmRkpI5UOiIiQrUJAt70uJZUmqJTvvqbnCyn0wmTycRE1Fq7cuUKhPDCNYg+yWgTMXIoPR4PJk6cyM9k8ODBcLvd7Oxom9lsVhWoUdEO/Y2ob1asWMFFX0apVu116W+ZmZkYOXIkli1bhqVLl9bKLUvZEz8/PyiKgq1bt/L3jRw50vAzRlXeBw4c4AgUrQ+KouD1119neI8Q3kKrmtRrxo0bByG8Dg8dzAlfK0fcS0pKYLPZYLfb8cILLzCUIyUlBQEBATWuJaGhoZgwYYIu0ti/f/8a15Zx48bhnXfe0c0bumdZFhQAZs+ezZ99+eWXDX8v4Yrj4uJQWVnJjB6kL0/2+eef85qlvS+Xy4U+ffowcbqMgSXJWzocaR1KoBqjn5qaqhtbspACGUFZhPAqupWUlOg+V6dOHWzatAmffvophBAoLCwE4N3T5IMvjfd77rkHzzzzzC9e/29XkyPWMmb712R3rUN58R8/sBOYu/QIyv/9I05e/havfORN2Wodyka/fws/VP6Il09ewcTtn2DohhN47M2/oqzCjb/94wddpNMSVrO28M9tdrtd5TRSJMCXnq/H4+FI4unTp1UOi5YolnAscuGKw+FAWloa/5u0jp1Op0qC0WQyIS0tDUeOHMHOnTuxdu1ahISEwGQy4f7778fgwYPRs2dPtG3bFs2bN9fR3tB1fk6fEJ7K4XCooi12ux3169c3jML5+flh5cqV2LlzJ9555x2cPXsW//znP+HxeFRUJNOnT9f16YEDB6AoXsWir776CqmpqbBYLJgyZYoqghYaGoq8vDyuqrfZbCoOPpfLhZSUFOTn5xtqPgtRnR77uQ4lbWgyfu1f//oXR2vNZrMKtkCYNrkfu3fvjt69e+sA+IGBgWjbti2WLFmCuXPnQoibB6MTJjg2NlaFg7106RLmzp2rw9EqioK4uDh06dIFiqLwM5XHkMVi8cnfR3J2RiaTSterV4/VN3wZRVi02EmtUaTIiOBd/r1CVDuUb731FkdO69ati9OnT/N7qShv3bp17OzLm25ISAjy8vLw2WefwWQyISEhgQspGjdujJycHNUc0xLb37hxA4cOHeLIJm2ARvPSarUiKioKLVu2ZGfz5MmTTN1ls9nw17/+FWazGYGBgVizZg1/Ni0tTTeea6INIuyp0fxo1KhRjc8A8B4cbDYbV967XC5ER0ezY9yiRQuWmDT6DhnTOHz4cI7s+fv7Y/Xq1Swq4XQ6deTeRC8mhEBpaSnmzJnD807+DnpegwYN4uxJw4YNDRWx5OioEWcsEasLUR3NLCwsxBdffIHZs2ejWbNmqiIrIbx0XF27djUsBrJaraqD09mzZyGEwKhRowDoHUoqnvPVnyEhIVi+fDmPO4/Hw8wWQni5gokPWB5/BDOgA+mBAwdYCpdwlPKepN0P/v/SEhMTVWpCvya7ax3KBfvOGVZ0N3vsTwCMI5QZj/1J9/6J2z8BAEzb8Wn132fvQ2i3B2/rIKQNVj7JElWIEMYVqGT0WZm7bMiQIYz3W7VqFRYuXIipU6fypK5Tpw6ys7M5NRkTE8OTU5tauNlGFeNWq9Xw87RQOp1OFS9ZUFAQXnzxRbhcLgQEBODChQv4/vvvfUbDLly4YAjypmaz2XxKFwLVJ3wjjWSy3bt3M4Ceoga0oF66dAkjR45UpY1MJhPy8/NRVlbGHJjyghsQEIBevXpxFCYoKAgrVqzg92gVgG7WaPGlSMyaNWu4nzMzMxnfRIv2wYMHUVpaqsJt2Ww2hj243W7s2LEDAwYMYMJ8uW+dTifmz5+Pr7/+usb7kkmIAwICVFRC8mbUq1cvHDx4EB6PR4VjlPlfrVarKlKclpamYxUg7K0RnguoJpWm8VaTyZAPGWIhG8meCiGwfv16n9cih3LKlCk8Zmnj1JrT6eTq86qqKiaYNhrjWoeB+rRBgwZchVwbbMLpdCI1NRVut5sjuUFBQejVqxfS09MRFhbm8xDodDrRsmVLLjjLyMjgzAE9c9nJ9uVQXrlypUZYRk1YyL///e94+eWXUVBQwFkPLbWaPD+FEIiKikJ+fj5L+Q0dOhSA1+nJy8vj/h4xYoRqbdiwYQPfZ7NmzbjoaufOnRBCqA4z8tj/+uuv8fvf/x5ZWVm6ZxYTE4P+/fvj1VdfVVU4C+HFztM47Nq1q+peiNGCWmhoqOp3E+MDzRmtMAIVoGnpljIzM7Ft2zZ4PB6EhoaychU5lAsXLuTouHYs3rhxA263GwUFBdxP/v7+mDt3LmNuiW2DWsOGDWE2mxEVFYVDhw7xQYv6if6blpbGOGaPx8NOpvwbbkeB4u1oFosFs2bNqnHe3c121zqU7Z9+xxAH6cuh9NWyl3gpY5566wvV32MffPG2DkRKxTz77LOYN28eHnjgAS4soPR1SkoKkpKSEBMToyJ3/rnfaeQ4ulwupKWlsbOUnZ2tqoROSUnBxo0bsX//fq7ClbFrixYt4k2oU6dOKC8vR1lZGdq2bcvXeOSRRwB49V0pkkWVkqNHj6712e7fv1/HKym3pKSkGj9PuMzaCN23b9/OVbva3/nNN99wtFKuINc2l8uF48ePo6qqSpW6HTFiBACvvB1tYmPGjKn1t2uNKpHHjx/PHIQul0ulVwxURz0cDgdH1oTwpknJCUhKSsJf//pX1ec8Hg/279+PESNG6IoQHA4HMjIyMGvWLE73njhxAg8++KChw5OSkoLx48fj+PHjLAMqm0ziLTeKSl69epWxaTR2qFCI0rA1pUa//PJLvqYvUmkqLCJKHLnCnOzzzz9XHZpkGInWyKGk9+bm5hpqXZOmtDarcPbsWRUDhMPhYK4+aiaTCZ06deIo04oVKyCEb0wsUC3D2blzZ4ZB/O53vzPsE4pszp8/n9ekmrTRZejCwIEDcfLkSUMeyj179qgc5tatW+PMmTO4evWqavyEh4ejd+/e6Nq1K5KTk2tMTyuKwo7JCy+8gNdee40PytHR0fz79u3bByG8hUT79+/n9S4hIQGff/65YZ9VVFRwFNlkMmHWrFkIDw/neyF6MbfbzX1DOHJZFrR///5o27atDscYGRnJa8TXX3+NqqoqLhKKjo7G7t27kZeXx1h0amazGQ0bNkR+fr6K2aBNmzY+o/YUha1Xrx42btyIjIwMfhZWq5Vff+ONNwzlG7Ozs1FeXo5nn30WQqix8B6PB4sWLfJJjeRyufiwQYWTL7zwAjweD0aNGqUa11poS1VVlWEwYfbs2TeFv/5ftPfee8/nvLvb7a50KG/8p8pQAefnOJQz//gZACDvpY91BTqK9X9zKpKVcQIDAxEeHo64uDikpKSgadOmOixcdnY2Fi5ciFWrVmH79u04dOgQTp8+jWvXrsHtdsPj8TDoXy5eIfJbAv5TKpyiPwQaj4qKYtLkBg0awGKx4KOPPmKgfWhoqAo/A4AjTuQcE+5n8ODBsFqt7PAYVUKSvfTSS4xxNJlMuOeee1BcXIznn39e12dUxaw1Ot1rwfi+jNI7tBl4PB4cOHCAcUkDBw5Eq1atfKZe7HY7XnrpJT7ZUzRZxtjIBM7Nmze/6YIcoNoxoDZ8+HBd1JV+s9Zha9u2LV9DxrmOGjXKMHJLwPpp06bh/vvvZ0qXmsbu1KlTWVUkLS0NHo8HFy5cgBDV0aFDhw7pIAFmsxnbt29nXlL5WV2/fh2DBg3i746KimInqiapwXPnzkEIwQ5ZfHy8TvmD6JiqqqoMOTC/+OIL2O12mEwmHD58WMV2oLWzZ8/yeLXZbHjjjTd83htJhxphNktKSpCdna3rH3njpf+2aNGCD2dGcA4yOgySvvjNKMVQOleGHdy4cQP79+9XHahkHlJti4qKQnJysmrNSklJwbPPPotp06aha9euhhRq8nxKTExEx44dMWnSJGzevJnXDIrWk8Px7rvv4ocffuC1xWq1ssJWQUEBzzd6zRecQmsffPCBquCF1IZkZS/igo2MjMTIkSMhhD5qC6jJ1uWDnhDeCF+dOnV0h1XZCbfZbMxjrLU6deqoCPjJDh06xH0pRDXutbKyEk888YROdYtahw4d4OfnB39/f9X3UX8///zzqu/Zv3+/jgLNarUiMjKS31NVVQWHw4GgoCBMmzaNxzL9RhlmIBeMduvWTQXR+b/kp9Q+s5vRg79b7a50KM8Vfe/TQbwVhzLrybfxzx8q8dm1MiTO0b9ujax3WwYhLU5JSUk4cuQIaxQPHDiQfxOlUYy49SiCRg6B2Wyu0TEDvBNZPkE+9NBD/Bo5joTvkvFpRCFDeEFZMUJRFEyaNEm3uFHKeNiwYfB4PMjPz+cFIy4ujjdumfKHzOPxYMWKFbwwWa1WjB49mlPar776KhRFQUBAAC5duqTayAIDA/HYY4+p7mfixIkQwotfu1lbu3YtX5PSRYqicBRCURQ0adIEa9euZb68jRs36tKV/v7+cDqdhou8nOINCgq6qSpBObJiNpt1cpRktIFoIwZEAUV2/vx5jvwGBAToaIIqKys5XV+3bl1VlIiojbSOREpKCsaNG8eYzmbNmjHc4emnn+aDhbyJhISEcGSHdO6NqqRv3Lihqg4VwptG9HVQoGsdOHCAHQqHw8Hpc9K1nj9/Pn+GikYOHjyIy5cvcyEKYWVpbMtsB1VVVTqpudrSYHa7HQkJCfzviooKLFiwQLW5u1wulSNGspgBAQHYuHGjTioxKCjIkAYKqI4G2+12HD9+vMZ7A7yHErvdzmlQrf3lL3/h5xcfHw/AS2VTk3Poq9F1kpOT8eCDD2LdunUYMmSIqgp4yZIlhs85JCSEI+nz5s1j/PCcOXNU2vPyfXXo0OGm1HFkI1wgXYP4XMlkjKAQXoxrTTjpqqoqPPLII/xMausjOoA9+uijEMI422KxWJCZman62/fff89k7EVFRSz7OmbMGCxcuLDG50XrnTw/AO+6EBgYyPuOfPCnZzlgwADODAkh0KdPH4YNyKlw2gt79OihghkkJiby9xOulPpLHjcbN27k3/R/0fz8/G55LN1Ndlc6lH+5+t0vdiibLvoTzv+/cvzzh/+g7VNHDN9ji65/WwYhpZTr1q2LkydPQlEUREVF6egsiJdLNqrepolLFdbaz8v2r3/9ix0YmqR0XQJky5g+bQXtoUOHeNGTNbmN+PqI2ke70ROfmryAWq1WFZB73rx57CwT8bVcfEIpM6fTyc4RSQWazWaOhvr5+aGgoAClpaV8vwQ4v1mbNm2a7rklJiZi0aJFPiOKLpcLSUlJHAWiz5nNZvTr109VkEH9npCQwIcCrXIPWWlpKTv9dOKvqdCE+EaF8EYF6f+1mt5kK1as4M0yKSkJPXr00BE9u1wutGnTBosWLdI5pufOnePNwyj1LTdyROW5oCWzDw0Nhc1m80ly73a7VRQiTqcTjzzyiC5SQJFSus6ePXu4cOOxxx5j50wep3JlMDmTe/bs4de/++47CFGNcd65c6eKOuvtt9+GEMYOMdnrr78OIbyFFWvWrFHRANlsNnTt2pWd3uLiYh02V4jqCt/KykosWbJE5Vg6nU7cc889OH36NCorK1WR6tq0wckoS1ETpICoxITwamknJyersLra5u/vj8TERNSrVw9xcXEIDg42TKPb7XZERUWhRYsWaNSoETuMTqcTDz/8sOo5U0aBxq4Q1XrQBw8eVPWdoiiqg8CtGFEaPfzww6r+nDBhAgDoyPdlXXPAe2DYvHkz+vTpoyJMp37JycnBk08+ia+//poxzUZ906BBAy5YlPvhn//8J4TQR+wJX7tjxw5UVVVh9erVKsdYHm9UoEmHL7nFxMRg1qxZ7DydOHFCtQ9ZrVaMGTMGGRkZKtJ7raMt4/4tFgtfZ968edxPMg3RoEGDeH6WlZXp7isoKAhnz56tEWN/J5vJZMKAAQN+K8q5m+yXRijTFx7C53//HqX/cqPHymM+33e7IpS+NlqHw4GAgACEhYWxrjRtVJ07d+bTnIxtW716NYYM8Sr69OrVS+fsfP755xypGjFiBCoqKvizixYt4tOd7BxqOf6uXr2qkrsjnWbtBl5ZWakjH5dNCK+KjLz5PfTQQ5g0aRKfTAMCArBw4UKdcyxXYl++fJn/TipBQgi0aNECy5Yt41SSvGjLCju+7Nq1axg/frxq0aONrLaiFABMzC2EwNGjR1n3Wk7VhISEYMyYMbhy5QrjTLdu3crOsJaLbvHixXxNiqwQzYeRY1tVVcVOXUFBAeLj49lhDQgIUDlpN27cwPr169GjRw8dibbdbkf79u15bD3zzDM1/nZZKefKlSuYP38+QyLkJm9mkyZNMrwW0VjVlM4GvJs4RVDp2hMmTOB+SUtL01EsffXVV6p0+3PPPae7LhE7CyHwyiuv6F5PSkqC1WrlaJjdbmf4SE08lGRURSzLUWZlZWHnzp26cU8R5H79+uk2Mvn5p6enw2q1YtasWSpVGJoDDofDMCNgZD/88AMsFgtiYmJw7do1bN++HVOnTkWXLl0Y02hUPEQFf0brm68Ue1FREYTw4pUXLlyI/v3711ogJIQXZzlkyBA888wzqrEbGRnJBV80T6hpVbVu1uQ0LT0f2ZGV5/fq1at5HVi8eDG6du2qm1shISHo2LEjzGazT05ZcsS6du3qMwJnNpuRkZGBmTNncuZIPgAQU0N2djbjK2ns0KFOxvBSBTvBAoTwFkn169dPFSkPCQlRzeOUlBS43W5UVVVxgR0Z9VPPnj1VY4NgKITXPHr0qIpcPyIigvGlEREROHbsGBcw0dqwZs0aPrz/Xxfp3Mz+cjfaXelQ/usXYCjJmSyrcKP3c+/5dCZvJ4ZS67A0aNAAbdq0QXp6OlJSUhAbG4vw8PAaT/u1NUqH07+dTicrrmgX6qioKEycOBGFhYWYN28ehPBiVt577z2MHTuWN74+ffpwClgIPQ8aRdF8VcEK4cX8+fn56bjSwsLCeFPWGun82u12Hd+Xx+NRLep0T88995zq+j169DCMzpSXl6OwsFCViqVG/GdCeKPJRlJzstGCTUokLpcLUVFRALxO1pgxY1QSYnTP9evXR1lZGadb09PTceLECY76hYSEqCIrhB/cv3+/ri/IWbHZbFxtOWrUKE7j16tXDx07dtSNwbCwMHTv3h1Tp05lhzwmJgYnT56ExWKpdTMmh9LtdmPatGm8wGv1x7V9HBkZiV69emHjxo0qByk2NhZms7nGdBIB/K9evYr169dzf5rNZgwZMgT+/v6cjpVNjnTExsaqKsWvX7+uKp6ggjLZ5IKzHj16qFKbvhzK48ePo3v37qpxn5aWhlWrVvnEYFHE6MEHHwRQHTWUaVcoEkYpd4KGrFy5Uufcmc1mzJgxQ1ckpHUafUlCUsEgjaFJkybp5llgYCAef/xxREREqL5/yJAhhhkUeoa+ouc3btzAn//8Z3Y2Y2NjayQfDw8PZ1EGIbwZgCeeeIL7i9Kut2IE0dGua3IkjVpubq6u/yIiItCzZ0+88MILPFaoWtyIJogODzLTB63LiqJgyZIlhvNLCG/wYdKkSYbp4UaNGvF4c7vdjEOk6CDgFdegMSrDHSorK9GnTx9d39N9vPLKK0xpJRfWHD9+nN/r7++PZ599Fm3bttVd5+LFi4bk+nPmzFGxkdDn+vXrB8DLvkD7U3Z2Nt577z00btz4lvbK29FsNtuvktz8rnQogZ9X5U3O5Pf//hF9Vx+vMSUeM+GF2zb4goODedIGBATU+Lvy8vL4c5mZmXC73Yx7GTVqFHbs2IE1a9bg0UcfZf7Ivn37qopZ4uPjVZrQP5ccnCJdWtxWfHw8LwbBwcHo1asXhgwZgvHjx2PWrFl44oknmLbD12SPiIhgJQjZSOfXarX6rMakTS4yMhKKouD06dN8wpdxPIqioEuXLrhw4QKWL1+O+vXr8wJFnIVCeCNOR44cYUUWcrCSkpJ8bv579+7lhQWopgOZPHmy7r3EHyqf+qOjo7F48WIVRYYQAhMnTtRtxKQtLUcXPB4Pp7dMJhMaN26MsLAwmEwmtG7dWkciHhUVhb59+2Lr1q261LLH48HUqVP5OZMTXBMmjFJOsj7y8uXLudBAdqSPHTvmszCByNZJk13mUNUaOcxydGDXrl0qHGJYWJhKeQYAV5ZScQXpVpeVlfH9PP/880yjRM7OiRMnVJWljRs31t2T7FCeP38egwcPVvU9RasWLFjg83cB1TjY5ORkw3uX52BGRgbjQXfv3q3ilj1x4gROnjyp+4zFYjEkwJZfJ6dxy5YtqqwA4HXKhw8frjokUATP7Xbzd82aNYvHJelWyxYZGVnrGmhku3fvNizMqE3pxmQyYeDAgXj66adx4sSJWgsqKioqYLFYdBXrZ86c8QnvCAkJ4bXEV5SdouvaLANFVdu0aaOb95QZEqI6Yj169Gh8/PHHfJjS/n6TyYSMjAzs379fd72KigreJxYvXgwAmD59On/24Ycfxvfff4+RI0fycw4PD8eqVauwdetWNG/eXPV9fn5+MJlMjCu///77VQILcl9fu3aNx4XcjLChf/rTn/g6WpUmKswiJ75x48b44Ycf+HD+v2xG68HdbnetQ6nloRyz+SNM3P4JZu3yVm3vP1OEids/wcTtn6DB/IOoP+8gPv2mDB7Pf7HgjXO4d837qtZOclDjZ+9DSNcJd2wgdunSBQUFBXj55Zd1J2hSWDCbzbwg0OTRbvC0CdGmnpaWhh9++EHXV3Tald+7YsUKfPHFF4zRpMWpTZs2ePDBBzFs2DD07t0b7du3R2ZmpirtLm9MWvzgrTaz2YywsDDExcWpooatW7fGwIEDMW7cOBQUFGDRokVYvXo1XnnlFcTGxsLhcODdd99lLW0hBJo2bcqVj8eOHdNFIc1mM9q2bYvdu3dzqqVu3bqqiFXr1q2hKAoX9zRo0EC3CZWWlqqUJABwUco//vGPGsetL7UU6v9NmzYZfk5RFHTo0AGA1wEkfkCCJsjPwGQyIS4uDgMGDGC1oZs5TV+5ckVFSE5RAdlKSkpw77338nuio6OxdetWANXRCW2kffDgwaprVFRUYOPGjYZk60J4YRJPPvmkjnOSIo1G+Nj169errpGbm4vz58+jtLSUD1mAl05GxujRXAC86XGz2Qx/f3/07NmT+3LGjBk+lYQIgiE7GxEREZg0aRKKi4vRqlUrKIriEx8KeKPmVEhhxLNJ2FDqb3mjlXHECQkJNyUvGhYWhvvvvx+XLl3iqLxWnpGsqKgIffr04e+rW7cuK14J4XVwaDN3Op38OYquOp1OnDx5EkC18y0XI96qUfRQbu3bt8f169c5skmRRC07BjXCbGZmZmLEiBEqZ5MivytXrsTDDz+MZs2a6YpoZNodGktt27Zlp1KL2yRxCllVC6g+LLRo0cIwmpuUlAQ/Pz+GkpCDSVK98romhPfQKI9DGvfDhw/Hvn374PF4cOPGDZ5zy5YtY2y3EN7UNz3nuLg4Q/iH2+1WBT2oD8gBTUxMREhIiE7Vikz7LCIiIlQRzrNnz8Jms8FsNmPBggWq37N//36YTCaEhoayYpt27v2vWlxcHMaOHfurw1LetQ6lrJSTUPgmrn3nm4old+kR5C494vN1ANj1yTeq690JpRxfvF3kFFHqjRawefPmcYpXCP2jJG1cIYSumEc20i02mUy4fPky3wdNSCG8xRK+SKOBapyb/BtkSTHAm67au3evTs7Q5XJh0qRJGDlyJBcoBQcHq3Aw8qL9c51UX1Qm2mIT6rOUlBQsX74cL730Eg4cOICPP/6YqXMef/xx3hTT09NVCz6lme12O28SDofjpivL5aikFqoghLfSXGvBwcGIjIxEQUGBz43SbDbjzTffVN3rp59+CkVREB4eftN0Fxs3buRrNmnSBFevXsVXX32Fzp07qzB6iqLWMiYqFWoTJkxg3GFN/KNEti7Lt8nPq1WrVky2brVaVTJyZEuXLoUQ3kijXERBDtbbb7/N7/3iiy9440xJScFPP/3Er8lzIiMjg+mzSAJuy5YtuHHjBubOnauKhttsNgwbNgznz5/na1VVVcFsNtcayWjWrBmEEHj11Vd1r127dg3btm3TcVUaPX9/f3/Uq1ePI3mLFi1SEUZv27YNmZmZKiynEF5YhNYuXryI9u3b8/Nu0KCBiiqMqn7pu/38/HRRvW3btjGv5XPPPYcxY8ZACOGTraA2u3jxos+1oWnTpsyQkZuby/hegosEBQWhsLAQAwYMQHp6OsLDw29J2UtRFBQWFqJRo0Ywm83o1q0bFEVBWVmZitCeNN/lyOymTZsghNeBI6OIfJMmTXwWVxIV2XfffWeYbg8NDWUWApkn8sqVK1iwYAGysrJUhzsqnuzTpw//XUshlJqairfeeqvWZ5GVlQUhhI67Njg4GGFhYTp+TLfbzYdgut+JEyfyuh8YGIgej6QuAAAgAElEQVRp06YxZReNNcrOyE2mZiJe2f9F27BhA06dOoV//etftfbP3Wp3rUMJVGt53wzf5M22+Nn7EDV88W0fjN26dWMQc9OmTXHp0iVs2rQJ+fn56NChg44EV14E6P+7du3KkU2q9DSZTFx04ItChNLPFKV57733VNcNDg6uta/plK0lJKYN68iRI6pCHsJXCqHG7ADgyuiSkhLs3LlT5SBpK58rKytx9epVnDp1CgcPHsS2bduYfLh///6cxtQ2s9kMp9MJf3//ny3hJTt7JpMJwcHBfK8EJXA6nbxQNmvWDHPmzMHTTz+NjRs3Yu/evXj//fdx8eJFlJeX46effsKsWbNUFb4VFRVwu91YtmyZisxdURRkZWWhf//+OgddCG/0Zfz48aqqbkpjaY0iSn379q31OZP5qqJMT0/H8ePHVUU5QDUlDzVK3Xo8Ho56jh8/vtbvJWdw3bp1rAuvhWyYzWbMnDlTFXWlqCnhXi9evKhycGmjrKysZEeQHK+YmBh8+OGHuuIZuTCpoqICiqLAbrernOp27dpBCOOiHIqaGhUCkVEhRatWrW6qEEa7JlCTsZ3k+PtyVGi8yYc4Pz8/9OnTB1u3blVJeTZv3hwff/yx7hpaNZOIiAhDpZzz588z/MFqtdaqYuTLbty4wZkRRVFUmthyX6WkpCA4OBihoaH8WeLtjI6ORkVFBTweD959913k5eUZcq366ne73c6OGB1U3n//fVRVVeHgwYMqnHJKSgp/P0X+aGySlGv9+vV9HvKqqqq4yE8e9/K/Bw0aBJPJhJCQkBrx3sXFxVi6dKkh2brcbiVyLBcepaen4+zZs8jLy1NBWiIiIlBQUICPPvpI9f7w8HAoioKrV6+iqqoKhYWFqn3lnnvuUc1j7X0GBQVh//79+O9//8uZpDvZFEVBr169VAfPX6vd1Q7lN6UVOg3uX9Qe2Y/4WXtgCapz2wdlQkICJkyYgNTUVNXiAlRzP8bHx8PtduPSpUtcbSufAI0WOtKpJbzjiy++qJKT83g8vNAlJyer0iW0QN1sNSQ5PJmZmXjyySf5OwlPqSgKevbsyTQzdI9amUTCG/bo0QOXLl1SbWyK4tV0rYmU/NSpUxDCG5UwwocabeBEC2S329G2bVv+XGhoKCZOnIg1a9bg8ccfx4wZMxg316lTJ+Tm5vIiLPNS/tIqQxnLWadOHdStW5epVYzeL//O5s2b469//Su+/fZbdmjkilQjI6d3y5YtN/WsCaukXchJLYQcSo/Hw+lhGlPa1G1VVRU7xVOnTq3xe4kUXebX83g8OHr0KPLy8nT9brPZ0KhRIwQHB+uolaiYpl27drqo3OzZswFUk3lTGzRoECoqKhAaGgqTyYRnnnkGLVu2VG3mbdq0YQ7Pmqq8iVLlxx9/xDfffINt27apnEZf8ooUaezUqRMeeughbN26lQ9ucuUupeFlzsnVq1cjPj4egYGBNfYzzaHs7GwUFhaqVJ6E8DoDf/rTnww/Kx8S6DBrNpt9anlXVlay0IK/v7+hklBNRtW9QnjTujS2AgMDee04dOgQ+vXrx++zWq1MmO3xeDBs2DC+T3kuORwONG3alNO4TZo0QWlpKa91KSkpmD9/PgYMGICmTZvqKrjlcSgr4dB6Xl5ezkEEoJrXNCkpSecEejwe7NixQyekEBcXh927dwNQc+ZSlb1MT1abHT58uEa8IWGaV65cie+++073+dOnT3MK3mQywWw2w8/PT7XG0+FSCxWgKCtlQNq1awfAG4Un6Ab912q1Yty4cfj0009V13jiiSd4T/xfFuN89tlntzBi7167qx1KAHj146u3NULp37TbHRmQ2skVGhqKUaNGYezYsRCi+vQsG53sHQ4HrFYrysvLGacTGhqKdu3aITEx0bBK02QyISAggE+McnonMTERZ8+exXvvvcd/qy3NcfXqVV6ICwsLsWHDBpXzk5qaqtooKFXvC4BPPJmUOt27d69Kho5OobKVlZVh1qxZOmm6uLg4vPbaa/xv2aH+z3/+w+mZhIQEViq5ceMGxo4dqyoqWbZsGTweD9544w3+nWQULVAUhbVzXS4XGjZsCJvNhqSkJJSWluL8+fM4duwYdu/ejQ0bNmDRokX8zBRFQVJSEnJzc1UA9V+CQZWvYbVa4efnh6CgIERERKBu3bpITU1FRkYGWrduzenCwYMHY8aMGXjsscfw/PPP49VXX8Xbb7+NM2fOYMuWLar0qt1uZ1og2uS6dOnCThptLjIUQisLCQA//vgjbyjkzPkySn0T9k62KVOmQAiBPXv2YPLkyUhLS1NheknnmCKWrVq1AgB8++23KnxheHg48vPzdQ78vHnzcOTIER4z1Jo0acL4OpmdQHYoZaeRfoNRipaqp2VuWdlpNDKZW1aex0J4U6I7duxQrQNyhMzIGjZsCEVRsHbtWlWxS1xcnKqgKioqClOnTlUp/MgFWSEhIQwTkDGUWpMj6X5+fj4xm7JdvHiR5Ubp98pGz54qmgHg66+/1vW1dq7YbDYUFhaqCo8IU71161bOQuTn5xveF0EUhPDCCsjZDA8P16WAqQUEBPBBNSgoCEeOHOHo5NGjR9GlSxdVBJaEFITwVkHLJkcB4+LiamWjANTFayaTiXk0s7OzVXuTVtEqMDAQubm5eOyxx3TZoN27d7MOuAxDuX79OoSoxnebTCbV/tOkSRMeu++++y7PSzoAbNq0SSezSHvPqlWrUFZWpsqA3ekWExPzq8NK+rK73qEEgNXvXPzFkcmEwjcR2nb4bR+MISEhHC24ePEiCgsLDRe62NhYDB48GLt37+aF5r777oMQ3lObxWLhDeP+++837AcqDGnRogU6duzoU2KLlGdo8aDUrpEjAHidQ0oTyhukzWbDfffdx6+1bt2aFzfSXqaTudZIGk4IgZ07d6pee+qpp3hhzs7OxoIFC1T6tk6nkyMNJpOJHVlyNAcNGsT9TYtvv379DCN4brcb06dP52iRy+XCnDlzYLfbVRQ0cvqUFniXy8VVk0Z0IGvXruXFunnz5li1ahX69eunIxG32WyGJOJnzpzRFVnI0RUZH9WxY0e0bNkSaWlpqFevHqKjoxEaGgp/f3/Y7fZbwotpm91uR0BAgEqlRG4pKSn8exo1aoSVK1di27ZtOHjwIE6dOoWrV6+isrJSlW6uqeqZSP7r16+ve40ODrIMHB1eEhMT0axZM8PCBIoyjxs3Dnl5ear+79ixo4rMnxo5m/S8CbISFxeHKVOmoHPnziocpVELDw9Hp06dMHnyZJXT+P+x9+bhUVTZ+3h19ZakOxshC4TsQAISlrBvYd9VCIsEFwQEwbAliAgIQgQREARBEAQRBAEFUVQYhCA6ICIoEEFkIrLnh5iJTD6ZGNtM+f7+6O853NtVnYTNmZE5z3OfR0N3ddWtu5x7znvelzScPeXsjMyTW9YTq0rYy99++03iYvQW6f/444953CmK2wlPT0+XcH8nTpxAv379pDEWFxfHh4IePXqwAsrx48d5XHpT5QkICEBoaCg2b97MZPMiplA0TdMwfPhwfkfER+uZ6aBiJVr3mjZt6hWnbrPZkJWVxQcSMd2cm5sLRZFFB4wKUshWrVrF1zWykpISvPnmm7o1t6J55nA40KVLF+Tk5PC9kXiCaCKjh6K4i6y8KaetXLlSotcaOHAgCgsLmfEiPz8fixcv5nt48sknGdPcr18/HbcsHVxF7mGCP0ydOhWAOyJNn4+NjUVBQQE0TUNYWBiv2Z7Pvnr1at29v/vuu7rP0ppAAhd/RDNi7rhb7a5wKAF3pLL2tJ03jKmMfup9RD35LqLbp9+xARkYGChFH0TdXl9fXzRt2lRyHEgJx9OZMJvNXFFrZJqmsbNy+PBhPnUrisKLUFpaGtq3b2/IT0m/7e/vj4SEBHTu3Bnjx4/n06D4+bFjx/Kip2ka01qEhITg+++/5xSrZ4Uv4K4UFhd+T/1bTdOwdOlSKeKiqiratWvHFZT0PA8//DB/LzQ0lKNo48ePr3Dj8vzNWbNm8X3RBnDhwgUmEe7ZsyenmNPS0uBwODjCKgK18/LyOK2kqqqu6jkoKAjt2rXD/PnzERAQoFPBEE2ULVMUd7p179696NSpk7RJidKQ5Rnht/r164cvv/wSw4YN44iMqqqoU6cO0tPT0adPH8bSValSBQkJCYiMjGTA/e2YF1arFVWqVEG1atUQFxeHunXromnTpmjfvj1HKHr16oWpU6diwYIFWLNmDTZt2gRFUXDfffcxZvDLL7+EolzH6lK1eVxcnI5Y33Neej4LjXF/f38MGTKE56CInRTnCvVdVFQUO43nzp1DUlKSYVU4cL1QxKj4ytNWr17NmzDxIpIKFTmEYtHPhx9+CEW5Tv0kRvo1TcPs2bOlA+GoUaPKrUAHYDjekpOTGZs7YMAATgU7nU5dpuXw4cNQlOsY2vIOejt27GDnPyYmhh0asSDo2rVrWLp0qXTIpEaHgpkzZ6KwsBCapuHZZ5/l9+jj48OpUiqIEZkNRFlQb1ZeoaRo5KiJ/ZaUlCStBxaLxSvGm6qdTSYTBg0ahHnz5mHbtm3SZ0jm1mKxYMuWLXx/zz//vCQAMHLkSH4vO3bs4DUMAEcZqVFfi1Q/VqsVzZo10zFn+Pj4IDk5GX5+fjCZTHjnnXd47NlsNund+vn5oVatWnC5XMwVKl6nR48ekvQwVcHTvkL/3axZM6+R4NvVxHcmFvTd7XbXOJSAG1P58OpDiJn8UYWOZdxkd1QyfOCsO4KZVBSFq/SoVatWDVlZWZzmttvtUiqpoKAACxYsQLt27QyxdK1atcLy5ct1J3XRPCshTSYTdu3axfQmYmSoYcOGsFqtOHPmDKZNm8aRyurVq0spObHRRI6Ojsb48eOxYcMGqRKWFjf67qBBg6T7Kyws5AWHcJi0Ie7cuROpqan8G6qqIj4+Xtq0jx49CgC8mf7jH//ga5vNZqSkpEhykZVJrXnasmXLuP/pOYiqQqTsod9JSkpCQUEBXnzxRV06XlHcUaquXbsavjuqUjRSkaFoSmJiIlfImkwmHDlyBFevXuXrR0dHSxjBli1bSvKBnkZ4Rtp8fX19MWHCBMPUmdPpZLL2srIydO7cmTdCz4V3165dOH78OHbv3s3Ex9nZ2cjKysLQoUPRr18/dO3aFc2bN+e+o/R8YGAgU+fcLG8qRfHp+9WrV+doZUBAwC1FaRXFHS0nmh1K2xthKKmAp0WLFrr+PH36NBd4VZSqpHfudDp1ODkRt6oo1zlKSYbz1KlTmDt3Ls+l6tWrS/jTevXqVbrqH7geDaxVq5YOU6qqKgIDA/kw1rJlS+m7dNgUo++lpaUSFCUvL48xr1arFS+88AKzLAwZMgTz5s3zWlQSGxvLh3QqsvE0TdPw8ssvs2NC41aEdzRt2rRC55qMntWbLCsAPogaOStdunRBXl6e9PmSkhLk5OQgOzsb/fr1Q/369cvlDqU53KlTJx7bDRs25PXS4XBg8uTJuvdMIgK0FpFDSRkrVVXxwAMP8Dy69957+TlpfL344ot47LHHUKtWLcN55XQ6paK9srIyKIr7ACFSF5lMJgQHB0uR/oCAAD64E5Z10qRJusK/O9FEJ5z+uzKQgrvF7iqHkizvx//DjO0nkfqiEfn5h4gc+RpqDpzC1EB36rRDRMxPPvkk+vTpo8M6BgYGel3ASEvWW6Mo14IFC9gpdblcOqJsEZiuKDIeh6JDZCKpeKdOnaSNvXXr1hzZ9LZI+vv7Mzk0/b137958/aKiIgatL1myBMB17JK4cNaqVQvz58/niaxpGkaNGsXXFTFMVNl+5coVKIp8kvUmc1ZZE+/JZDKhZ8+euHz5MjRN4yIDWtTFvlBVFampqVi3bl2lNqiIiAhYLBaJZ5R0k0VydRF2QBXJiqLghx9+QFlZGRYvXszYOEVxO9TdunVjp/qXX37ByJEjpfE+derUcot5CIv4xRdfsLPcrl07tGvXDqqqShXBAQEB5Tqyoomk4iIPnWh08JozZw727duHLVu2YMWKFVyMQVXutBE2bNiQI9d2u/22RVJpHoiYUbvdjtatW/PGV69ePUyYMAGzZs1irNm0adOQm5uLH3/8kQ8jIhm/NysuLubxVadOHcMDZEFBAR8c6f6mTp2Kdu3aMZ1TcXGxRINEa53Vaq204wRcjxQ1btyYx0pZWRlefvll3cGX5rdIWO1wOKR1RjRPHenU1FTk5ubiwQcf5HknzsFq1aohLS0NGzduhMvlgslkQvv27VFaWspFKlWrVi33edavX69L5aanp1e6P4DrGPBZs2bp/o2q6D3HX9u2bfHII4/w342kcz2NnKgdO3ZIOtkhISHlOpt+fn5o1KgR0tPTMW/ePBw4cAAul4vp30TJV3IoCWJFLTg4WIoYAm5n1NfXV3efaWlphvdhNpuRkJDAsIRnn31WIleng8r27duRn5+PkSNHShhRGl+jR49mppHbMae9NZvNhujoaNhsNixbtgwmqw++OH0JRy/8jJP5/8A/f638IezPaHelQynaG+s3whoWh7EzF8IaFofQajXueLicGuGNiJtu69atvDGJEcT69etj1apVvFgfOnSI/33EiBEMbk5NTcX69esNcXiUelUUhYtAFOU6aTOgx+Ooqoo2bdrw/1+4cEHi8KOF7/3335f6lApUPv/8c7zxxhvIyMhA+/btERcXZ1ggRJWrdL2UlBS0bt1aSnubzWY89dRT5UrvnT17VqImUpTrkSLx9Nq3b1+ObpCM3c0YOSrp6elSn3pG0MSqeW/UPeUZpbFoUxOr/n/99Vf+HG3slDKjceRpRUVFOp5EMWocFhbG6ipUzODNvvrqK+mZCSfVoUMHafz16tWLN7jmzZvjp59+qvC5RdlDUZOYrLS0FDabTaKAASA5TRcuXEB4eDgsFgs6duxYoRNpt9tRt25dPPzww5g2bRpWrlyJ1atXY/bs2ejZsyeio6PLXR/ECOrNRlJVVYWvry8CAgJQtWpVREZGombNmkhOTkZycjI/Q3x8PMaNG4cZM2Zg8eLF2LBhA/7yl7/gq6++wsWLF5kJwmQysYPk7++PgIAA9O3bl69DmRGK1jqdTh3MxJsNHz4ciqLnYiUjPWgjbFz37t3ZgTGq7j927JgOg+rpMFSvXh3p6enYvn27YUQ1MDAQNWrUAHBd9aUyfLBGLAbt27f3ikX0NBKEEOmxPHk+qWVnZ8NkMiE0NBRlZWXIz8+XdOG9HaiA63ABetdEqL5582acO3dOx7FL84mwoN7GoOhsPvvss1AURUr9E1ZSPPiQDnvPnj35byUlJXzAT0hI4AMWRaVr1KhhyGZQt25dbN++HUVFRbBYLNKBgw7LrVq1kijlYmJidMU6t7MRtGvhqrcQ3PlxNJz2PqL/X30FtdjJHyF1/ieYsf0k8n7Ui4j82e2udygpjSJiP252I6hsM5lMEr6nffv2WLVqFYPLz549y1in8PBwvh+LxSI5LkRWTmTgiqJI+J6ysjK89tprXrnF6LoUxatVqxZXYlKqbty4cTh58qSE6xQXeTHCSEYYNaM0LcmwiY4fEf566y9a+JKTkzFu3Dgpje5ptPjRd5xOJ5YsWcILq+jQkUPvjZ+zPCOnrrLjJTIy0pBmo7JG3JzES2hU9U+8hiLJsaqqXp3wS5cuoUOHDrp7DQ0NxRNPPIG+fftCURRkZWV5vS9RZUlUAKF0JWG8SktLUVRUxNrvpHRRkV25coV5BI0KIShSm56ejjFjxqBjx45eCy+8tbCwMKxevbrcSKynuVwuZGdnG/4WOZxt27Zl0YDMzEycP38ee/bsgaK4YQqLFi3C9OnTMXbsWF6H/P390bx5c9SrVw/x8fGoXr06QkJC4O/vf0vRFyN4isViQVRUFJo2bcoRZfFz9evXx2uvvYYPP/wQhw4dwtmzZ6UxJ0IuykuPU8QpPDwcV65cYedHbEOHDmW6n4MHDxriH8X7VhSl3MIYsnr16jFdFDk8VqvV67vWNI15bAmeIx6iFcUt8lCRwy1GC9u0acNjwmQySVmc1157DYAxF+zGjRv5AJ6YmGjozFJmSVVV2Gw2Lrpq37699C5Hjx7N31mwYAE/29q1a5GTk4NZs2ZxVJWgJeWNJ7q+xWLhviAddsp4nDx5kveeAQMGsAxnUFAQr5mkakXjX5w/1F/kND7++OOM8SYhBOKhjI2N1WWCblej+xkw9AnEDFngdh4nbS8XMkeQuodXH8LFwvKjzH8mu6sdypMnT96RAVhRo5RLaGio5IyYTCYpJUjqKpQi8SzeSElJwaFDh9CkSRNeZImfT9M0TJgwQcK5FBcXY8OGDTxJxBMqVeoqilvhZunSpVAURaIMadq0KY4dO8Y8kYriTp2I2Ccy0mz2tAULFkBRrnONeZ4oHQ4HunbtiuzsbI5sVlSNnpCQgE6dOmHMmDGwWCzw9/dHcXGx7gQuYnYAt7NCVDrl4U4Bt4TeyJEjkZiYqNvYVVXF448/zgvpe++9J/02/TdF727GxD4PCwsz1NE+f/48f6ZVq1a8oYjydoAbp9emTRv+d1I5MdKapnv3pI0qKytj6hvC3lGkXdM0Cedar1496bs5OTmctqpevbohMbZoFy5c4ChGjx490LFjR8THx+vmA40Jup+aNWsiIyMDiqLoNMIVxR0xETHKN2snTpzQpUg9W2hoKJ588knmMxQpry5dugSLxQI/Pz/D9/r7779zijcgIICVZFwuF/Lz83Hs2DEdLjUzMxNDhgzhFLPnXPDx8UFAQEClnIeKmp+fH4KDgxEREYGYmBgkJSWhcePGSE1NRa9evSRM7rx587Bq1SqpoKK8Fh8fj4yMDBw6dAgul4v72dfXF1evXq3w3RC/ZHFxMUdDFUXB9OnTdZ+9evUqH5bp4E6OGFEhieOoTp062Ldvn+46x44d00mGJiQkYM6cOdi2bRtj0W02m/Q9wl6LhZUul4ufwWQyYcSIETpnmNb4l156SYrY1a1bF7t374bdbkdwcLD0nQMHDvCcysjIgKZpcDgccDgcfP3c3Fwp0BISEmI45xTleoZDVVWkp6djwIABfEARabQAN1clrT0NGjSQ1guqmP7xxx8xb948tG3bVndoU1UV3bp1w6pVq7gCf9KkSfj2229vaRwbNepb/4bdEfXku4h9+oMbKuqNn7oDtaftxKbD+j3yz2h3tUNJg/52D8KKms1mg8vlYn5Cz3tISkrC3r17GVfy3XffcdSpQYMGhhPMZDLxgrRixQpOx0ZEREg4F0o5kCwiaYMTSNrofhs1asSn45KSEqYposif0+nUaY5TdMuTOy8xMZGdDPE3aIHxloKmaEh2djbWrl0rpdGdTqdhha3RsxABMJkRT5qmafj4448xePBgxMfHS5uxzWZjh/KNN95g/rzTp0/D5XJJfHqK4t5sxX594IEHbmqsLlu2jK9RXnSEPkMLbevWrTlKmJmZKeFLU1JSvDpzn332Gbp27SrhsJKSkrBkyRKcPXuWU2udOnXCN998A0VxU9YAQO/evaU+MKK+0TQNY8eO5b5JS0vD3/72N6xbt44jjeQ0Gr1Lp9OJ+Ph4dOzYkVNRxAtYUlICRXFHLYw2QLPZjL17y5davRnbuHGj7l4pe2A0xzMyMvDFF1/wgcnonoqKitghS05ONnQ4vdn+/fslFSWK+pEjQdExl8sFu92OoKAglJWVoaCgACdPnkRWVhZv9BERERg5ciSGDx/OKUebzYYGDRogMTER0dHRCAsLY7UosQL5VjZzp9OJGjVqoHbt2sw5KRaYDRgwALNnz8by5cvx9ttvY+/evThx4gSuXr0KTdNYKvW9995jZ96IOeGTTz7hg0hmZiYCAwOlz2iaxnRM999/P7p168bPFhMTg1dffRVDhgyRODrpHinlnpOTw5FEmjuiFRcX89rqeUjPzc3lw31QUBBnAyZOnKjrN6vVKq0RlNWYN2+edM3CwkLeV2g+E9euSJ1FOPYNGzYwTjExMRE5OTmMwRUhWkb7XXh4OFJSUpCeno65c+cy/tlqtXJktDyVJIpM0vN7/kZ0dLSE175dLTg4GFVTH5LoA2+2Lf0kz+vz/VnsrnUoT548eVsIo2+00QJNJ0lKGxAfn7hQ0SQnh2b06NEoLCyEorhVWi5duoQRI0YYYmFUVcWUKVN0z6wo18mcySilQwUWRs1sNiMuLo6LWlatWgUAWLNmDS8GYrTn6NGjUBR3BSYAbN++XeLHE/t+1KhR+Pnnn7lir2HDhrp0bllZGePKjNJVFJEMCAhAenq61CfeHBKKbNKimpCQgKioKGnz9/PzQ0pKCiZPnoy8vDwmr6aq3RMnTkBR3I4bpaeIw41S+9euXWNwuaK4o7DLli2r9FglrV9yjoyqg4Hr3J02m40LvlauXIlVq1ZJz9SmTZsKqU9Eo1SWZ+vfvz+/i5CQEAQGBnIUiKKcZrNZ2rjPnz/PTmOHDh10/S2+M9FpHDt2LObOnQubzQZVVVmRhyw4OBg2mw3jxo2TKumNBANupHr5Ru3HH380VEnq1q0b8zs6HA5dwURAQACGDh2KnJwc7tMjR47wmBo6dGil7+GDDz7gMS2OfZp/hw4d4kPpm2++yfJ0NKdFKykp4RQwYaoVxRhyYWQul0uinalozQ0ODkZsbKyuD291raaooDiPAgICUL9+fY5KmkwmdOjQgeE93bt3x4YNG7Br1y58/fXXuHjxItPkDBkyBGfOnJGI1Wm9ePTRR9G2bVuYTCZOfX/wwQdc0EjRWZHqiIwgElFRUYbr3Jw5c/hA61kA2b59ex3uHXA7w06nE35+frpraprG677J5CayF2mZTpw4we+PCjhbtGgBk8nE73/Lli18D3RPNWrUwDPPPIP+/fujQYMGCA0NrTASHhkZiblz52L//v26ymkKlhDVUElJCXZ5hewAACAASURBVNasWcN8rXeihYaGIjL1gdsqjLL5Tx6pvCscyl9//ZWJk0tLS3Hw4ME7Xg1m1IYNG8YgdtHh2b59u3S/hYWFGDBggLSIDh8+HMD1E6mYgmzSpIlUzSlO7uzsbJ74FJ0S6Sg0TcPcuXOl71WrVg2BgYGIjIzE999/j6lTp6Jx48bSgkAEzv379+dnqlKlioTXczqdsFqtus3hkUce4YU5Li5OuhfCVwUGBkpazACQnZ0NRXFzyHkapYVGjx7NpOZU0U4OWevWrSWlB2+bFOnftm7dGuPGjcP69etx8eJFXjjFFG5+fj6/SwLQkzawzWZDUlISf/bq1atSXwQEBGDWrFnlYvcIouDv748rV65wtMAoSkmRLovFwk4gOVcmk4mdCFLtuRHzpLiivrPb7ejcuTPT1JDUGkXDyCn0FkWmf09KSpKkPo1gFICbxJvgGvv370dpaSleeOEFKcXo5+cHHx8f2O12aU7caWeSrKyszNCpJOf2k08+AQC8+uqrPE48ydYp0mUymQwLkoxs7dq1/L7NZjPS0tJw9epVTnuLRVr5+fn8TlRVZeonb3bgwAE+JBDVmJGVlJRg9erV6NmzJ1esi32QlJSEOXPmID8/XyoEU1UVf/3rX3X9uHz5cklCz2KxoHPnzvjss89w8uRJPuA2atQIa9aswcKFCzFt2jSMGTMGjzzyCEfLqehPVVVUq1at3IjazTTxOqqq8rsWuX5VVcX48eMRHBwMu92OL7/8EufOndM55hSNe/TRRw37eNmyZdJaTGl4OtyPHTtW9x3iNp04caLu3yhyS81sNkvRTE+Hkg6rzz33HH9GHO9paWle17RffvkFe/fuxaxZsyqkPKLIJo1pmuMippswlJ4qUbfa7HY7HOExiJ64TVd4Q63Os3/B6wfO4seiUvz627/wbf4/MGbj1+U6lLWn7fxTYyr/9A6leHr6d7ePPvqIFWI8J/CkSZN4EopE4OJCFRQUxOkastOnT/Pi5XQ68frrr8NkMsFut0tSXYQJIrJkTdMwffp0Pq2LnyVFiHbt2vHvHD9+nDnBsrOz0bJlSx2xOi34nkTs4eHhmDp1KmJjY2Gz2fi0qSh6HkoAWLp0KVchingiTdMM01U//fSTRBDucDhw5MgRnDp1CoqiMNaP5M/E+1VVFcnJyVyZbjabOVXqbbOJjY1Fhw4dkJKSIn2GoAW1atWC1WqFn5+f5FAC7sOCyGWmKO4UZFZWlu5UvnXrVphMbhk+crDOnz8vcXN6jnN6z+ScWSwWPPjgg+zoE6awsvJ2gHtjFzfGPXv24NSpU+jdu7fhGPBs/v7+UqTxzTffZHlK0UpLS9kBUFUV48aNM9yYDh8+rDs8Wa1Wjl5+8803EpaMrvdH8sVduHBB+n2KviuK2+EdP348z1HCApKEpSfek7hf+/Tpw3Q4ZJqmYeHChfwdq9WKIUOGSKnxZs2aSQcAsvPnz/M48cxmeBrJ/Pn4+HDfd+/eHfn5+ViyZAk6deqku29R95kcv7Zt26KkpIQPlCJUhyATnrZw4UIoivsgJEblnE4n+vXrx6nO6tWr66A3gDt6Xb16dZjNZjRv3hzA9cyKorgj9r/99hsAYMyYMVAUt6zqrl27sGHDBixevBj333+/bu1QFPehsGbNmkzqX5GTVF6jNU8kyQ8KCkJsbCySkpJQo0YNXSBE/H8SS1i6dCmKiop0c4fuT6SEKioq0jnDiuIugCHzdCg1TYPNZuMKdjroi/tURdhk4msV2xdffIG9e/cyXVCDBg10EAJxvoeHh0v0bLe7VX/ohXKLbz7L+wn/+OU3TNn2DdJf+wIbv3Sv0WM3HS0XU/nwar1k7J/F/vQO5b8rte3ZaOKLyiYmkwl//etfOWoWHh6Ojz76iCNNzZo1w4EDB6Ao7hMYRTFUVcXEiRMxZMgQ6aRNThbhU958801s3rxZ0h02m81Mo6Io7s1+xowZ0DSNF1NaVIgMuaysDFWqVIGqqrqo4d///ndkZ2cbFiXQ4tq4cWPeYClKRmkWI4cScDsNlO4TOdEoqiPKXRGZtqK4o1s//PADE8B73hORiC9ZsoTT0CaTCcOHD8fLL78MRVEkR/rs2bNYu3YtO4Hh4eGGNBf0jmnDi4iIkBZd0UQloPT0dENn4KOPPpKq/kUj51fE3JFsmZji9fHxMeQTrIy8HeB2OBYsWMDPW95m6W2OeYs0lmeHDh3iqERISAg/54cffog2bdpIm6jJZMJzzz0HTdOwfft2r/dX2Sjf7TSSURVbnTp1JNaFzp07c4Tq2rVrHNlt2LAhzp49y4UJnkwNoaGhiI+Pl8jnMzMzDZ1mosiiRr9H5PcUpfQWdRRhLadOncKUKVMM6b/CwsLQo0cPrFq1Sof1DA8Ph9lshtlslsbR999/DwAchfTEOJ86dYojtvRsV69exdixYxkSRM9Pc8gzldygQQOO6I0cORJ79uyR5gk59CUlJbBarQgNDQXgVoxp27YtjzfiVSX+WJrrns64pmns3Ilt+/btuO+++6Aobu7h2bNnc6FW//790a1bN7Ru3RoNGzaUDiC3UjRFTqrNZuN+9/HxQXR0NAcO6NmIB5MwipGRkXjzzTeZyeHVV19lJ5XWVoIAKYqCbdu24ZVXXuF5641dgrIddA16d56wDnHf+frrr7F3716uYg8ODkZoaOgdyzQ6qtcsN9L46BtfAtA7j5/l/YQr/yhF3JTyU9/fX/1zUgr96R1KwF188+9IcSuK2wH55ptvkJ+fLy2Aqqoyf56maZg4caIUdREpdwIDA1G1alVOY4rpBYfDgaSkJFitVv488fOFhIQAAG+0nmBmi8WCrl27SpEqsYiBKlGpOGj+/Pn8uZKSEsyYMUMXMRArOkUScbElJiaioKCAFyRvVlRUxBil5ORkli8MCwuDxWJBSUkJy4QpittZ9JSopGY2mw2dq9zcXHbgAwMDUb9+fSiKzM85evRoKIo7VU/OnKqqGDlyJN544w2MGTOGSZONFn+qRhejdIsXL2Y5srfffhtvvPEGO1E0Dmw2myHWkUirY2Nj4XK5JOofEZtLFf9GJsrbNWrUCE888QQ6dOjgtchJUdyHD/pOdHQ01q9fj/PnzzPFFTk9FBGmVqNGDUyZMqXCSnpPmzZtmiGnY61atfDiiy/i448/5iKHVatWSREykbZFjOj/0eZ5/3Xr1mU1EXJqzGYzOnXqxBurt8K0a9euYdGiRTp5O9pgO3TogMWLF+voqTyzIiRHSn20bt06hgd4Vi3TIUtVVSnqS9kKinDWqlVLp+wiWtWqVXlMEVenyHFaWFgIHx8fKWJbVlaG0NBQmEzeid7z8vLw4IMP6hzuNm3a8HgTydupWNBqtTLUp2vXrgDAxN0pKSnSodFTSIGstLSU34UnDEekwRGhAna7HQ6Hw2s/idcW1Y78/f0xc+ZM5Obm8t7x008/4bvvvsNf//pXyUG2Wq3o2LEj0tPT0bNnT6SmpqJx48YSrOR274cmkwk1atRArVq1eB2zWq24//77MXToUGRmZiI7O5sj0/fccw+OHTsGm83Ga6eiuAnayYz2HcAt4GA2m3Ht2jWmqLvdlEE1B05BdDnRyY1fXkDxr2U6xb2xm9xKbWnLPy83SjljuxyY+bPYXeFQ/jujlFS8kZ+fr0vD1a1bl++RcHfiJkjavIQPDA4OliocRefPZDJJuDjCWmZnZ0uTLTIyEqtXr8b06dMlSiB/f38MHDhQKsC4fPkyS/+1bt0aZWVlWLZsGe655x4phdalSxdpI5o0aRIUxZ1+pUXaW/+HhIQgOzsbFy9eNHx3v//+O28IRJlCm5xRWrNGjRoYMGAAtm7dirKyMsbWeFPiEPufnEGqTj19+jRycnKgKO70HZ3wU1JSdKk16reIiAjY7XacO3cONpsNQUFB6NChQ7kVy/S9jh07SnyfJpMJnTp1wrlz53T3Syd10dGaP38+NE3jTYNO/OfPn8fatWsxevRoyWk0ug9yfKlQwWq1YtOmTdJvU/p75cqVkiNA1d4ih2CPHj34AGQymZCYmIiFCxeWm34+c+YMHnnkEZ2TYDab8cILL0iffffdd6X3P2zYMN0zecOi/REmRs9F3HRYWBg0TcM777wjHfQaNGhgyLF67do1PPjgg+wIhIaGYuHChVizZg169eqlo6kJCAhAq1atMGfOHC4co3GsqiqOHDkCRXHDQAA31Q1hU9PT06WoHr27mJgYDBo0CNu3b+dIlSetzfDhw6VUq6ZpuggpHeBeeukl6RnpYJKYmAjguiRjdnZ2pfr6iy++0PGq1q5dW6cOFh4ezpFzOkB6YoQjIyMxadKkcoUUAPfBmqjPCHd4/vx5npck+uDr6yvN1W7duhlG74uKivDQQw/xe6a1e8KECSgrK0NISAhUVcWJEyek71HqNygoiL9jtE7R2iyunyILSHFxMc6cOYODBw9i5MiRUjFT586d8dBDD6Fdu3Y8lunffH19UaVKFTidTkNd+xtpdrudn8FqtSIhIQH16tVD8+bNpTUyLi6OOU4rou26kebn54fo0WvKjTB+feFnHLt4Tff3zi99CgCY/G5uud9PffGTSo3p/za7KxxKwL0B3y6ptco2OuU+++yznOIUZb2Id5KiXlWrVsUPP/yADRs28GRPSkrCX/7yF+m67dq144Vu69atEv6RFirSBBY3GJF4muzKlSt44oknpGIVakSZ4+vri2bNmnH/mc1mNGvWDO+8845X8DUBy0Ui9sDAQLhcLmzbtk1Hr0P91ahRI0yePFmKzB0/ftyQgJtacHAwdu3aZXgvlJLxVhkt2rVr15hvjhYW0Rl3OBxeyZSJNFlRrtOBUPTY086dO4e1a9dizJgxaNGiRaXGUkBAAAYNGoRXXnkFXbt21WEIMzMz2WkUi4SMCmFE7s5x48ZxJMDHxwc5OTl8T1FRUYZcfyUlJfD394fZbObUHqUqa9SowZuQyPv5/vvvo1WrVlL6sHHjxkxFUlBQgHHjxkm8pFWqVMFjjz2GCxcuYOvWrRzpSUhIwHfffYcFCxZITo+vr6+hPjJRZP07TEzDk6whzaGNGzeyJJ3T6ZTmSuvWrXHq1Cnk5+ejV69e/L6joqK8jkGXy4W3334b/fr1Q2RkpOGmTlATctY3b96MjIwM1KlTRwcloPukd1SeeUb6d+zYgZ07d7KzTFE1cnxMJpPhoYLgOuSIN2nS5Ib7XDxIerY6derA5XKhoKAAmZmZuixK9+7dbximIUrGPvfcc3xYowIoABKZu/ieW7VqhW+//RZXrlzBvffey++5Ro0aeOutt6BpGkdBqUrf81AFXNdSb926NUpKSiRM+KRJk3Dp0iUuyhTHRUpKSrnPduTIEV4D27VrhxUrVrDqkYhfNOozSpVHRUWxUx8XF4d169Zh8eLFmDFjBkczq1evzu9M3M+qVKkCf39/+Pj4VCiAcbua3RHgtRCH2g8Fxfj0b1d1f2/y/B4AwLy/fFfu92Mnf/SnlGm8axzKP5LEvHr16vj73/+OoqIiKQ1HtBy0WIoObqtWraQF1uVycRRKbJ4ksYC7yttsNkv6zWKrbEHCqVOnDFUsqNWtWxdLly6tdKUsyfdRo+pWMkVRMHDgQOzevduQ89FzQxSrQsVmVOBBNmPGDCiKLAdWke3cuVOXQhk4cGCFfUi4MsJweXMoPe3kyZOSYzR9+nSm1YmMjLzpRTQmJoadxvXr15e7UW7dulXq+549e5brRBC2l/qGjHC4DodDRyQPuCNWK1euRHJysuG7dDgc6Nu3L5N3i1ZWVqYjxPb398f777+Pt99+m//mGbm+EQWc222kOCW2p556SkqpNm7cmOEYR44c0SmzKIo70najik6apmHHjh06vW6jZrPZUKdOHaSlpUmp6RuhlwJkWhta4+bMmYPw8HCEh4ezsEFkZKTXexb10G+Ed9PTRDUrb83hcLDTK8rO3qgVFhZKkeZ69epJDiVFiYnM/Ouvv5YUzqjVqlVLd/AXI56elG9kFHkUlcv279+vi1z36tVLEkkgMYLyjEQoqDmdTuTm5jLFEamrGZnIk5mYmKibi3TAmTx5MgBIgQZPnXDRDh48KN2TEQzkZps1LK5C+p8fCoqx77R3h3JuBQ5lzOSPcDL/HxX2/X+bqcr/7LYbgHL/3WQy6T5n9J2KruN5TW+fv5Hr/P777+Ve/3Zcy/O6v//+u+G1b+S3yrv+zZjnb1fmWW7F6PdUVVUAcJ/cjuv+/vvvFV7vVn7rRvuYfqu88eqtvz3/bjSX/husvLnvbS24mWe8kXFEv0Gfvx1zx9s1yrv2rf4+2Z2es55W0Xru+dnbOWa99ZVnH/zRa6r4+0bf81wLxPu7kfd3W/vSbK3wM//4pUwJ8rPp/h7ka/1///5bhdf47V9/7Pj8Q+xOear/afbvSHlTpGTGjBlSyptwH5TyJvyOt5T3rl27pOumpqZyynvLli1SioBSNnl5eVJky9/fXwI8k+Xn52PUqFHlprx9fHx0Ke+mTZti8+bNN5Xy3rp1q2H0lUjEp0yZIgH8c3NzWQPaqJFyRHkp75YtW1Y4RgoLC1lJSFHcKVTPAqi33nrL8Ls3kvI+e/Ys3njjDWRkZEgV+OW1gIAAPPjgg1i2bBm6d++uG8uZmZlMGF5RylskDB8zZgy6dOkCRXGnvPfs2cMYpfJS3sTrR0VTW7ZsASCnvMUIzbZt29CyZUsp5d2kSRNs3LiRU96ZmZm6lPfQoUM55U2pxJo1a+L06dO6lLePj48Oi6wo/96U9wcffMD3YbFYOPKtqio2bdrERSJOp5ML3EwmE9q2bYvTp08jPz/fMBVqZC6XC5s3b0ZaWhqqV69uGAEmWiYx5T1mzBjUrVtXxzNLc339+vWVSnmLSi4Vpby9ZU0o5U1j8mZT3p5KXNSSkpLgcrnw97//HVlZWToqoNuZ8ha3VzHzIxYyErThypUruP/++7nfIyMjGWrgmfKeM2eO7h4o5d2mTRuUlJRIvLCTJ0/G5cuX0ahRIx5f9Ps3kvJOTU3FypUrK53yJoWe6Ohovr+4uDi88cYbrGMvprzpnYn7WXBwsJTy/iNqIfwia1cYXXzLS1HOmI3u4rHyinL+zBHKu8Kh/E8pyvEshPAsyhHvsTJFOSJ1x40U5axatQrPPPOMVJRDCjPEU6goCvLz87kop1WrVkw0TOkcmvydO3c2LMqJj4/nFGV5RTmzZs0yLEQA3CkwUcf4m2++YZ1xb0U5/fv3x5YtW264KIecHSJAPnXqFKvPVKlShfuxUaNGXotyqlWrBrvdjrNnz3JRTnkSkdQiIiLQqVMnHaayc+fOhil9cshFx3LevHnQNI3HiFiUUxlJQ9HZpKIci8Wiw+xRUc5rr72Ga9eulVuU0717d6koJykpCYsWLWLePyM7e/YsBg8erGMlUFVVt5mKRTlms9mwKIfUmv4d5q0oJzw8HJqm4e233650UY5YrFG1alUsWLAAq1atYhJx8ZkDAgLQunVrvPDCC5LGMa0hX3/9NRRFX5SjqioeeughNGzYUKL3UVUV0dHRSE9P1xXlUJrSZNJrTWuapoO+3KminIMHD+oYBmrXri2pVCmKuyCK5hQV5ZAakLhOPvXUUxUW5fzzn/+sdFGOON+6d+9u+J6LiorwyCOP6IpysrKyuCjHZDLpICFGRTmNGzfGlStXpM89/fTTfA+eRTm///47ioqKkJeXhwMHDmDEiBHSPXfq1AkPPvggUlNTdQfaO1WUQ9RrycnJaNGiBTp16sQH3vj4eIZH3NainMDgCjGUj65x0waNfksmMt93+mqlaIP+h6H8L7b/FNogcdH3pA168sknpUlIusSAnjZIdBCdTuct0QZ169ZNog0SnVRP2iBRPaGkpATZ2dk62iCKWNntdh3RMbXK0gZdu3aNr1e/fn2JNshqtepog0JCQm6JNigoKMiQNoh0xAcPHszRZFVVMWLECLz++uvIyMioFG2QWAjz8ssvM23QO++8gzVr1vDGJFbQV4Y2SIzeik52ZWmDUlJSMHr06ErpZxPRcHR0NNatW2dIG+TJ/xkVFYWpU6feVtqgefPmMW2Q3W7H6tWrvdIGiWTef7RVhjaI1F/o3ZVHG7RgwQLDzTM4OBgdO3bEkiVLdE5QZWiDSHv7008/lb4r0gZ5HmCDgoIk2iDilDQycoTISSiPNohIsStDG3T69GkMGjSIM0DU2rZtWyFtEBVwedIGNW7cWEcbNG/evHJpgzydXqINImEC+m+73Q6n0+m1n8Rri5XnxBcs0gb9+OOP+Pbbb/Hpp59KmRSiDRo4cCB69OiBtm3bIiUl5Y7SBtE8r127NkcdbTYbevfujWHDhmHChAmYNWsW0wbVq1cPubm5t0wb9Pnnn+v2xNvRYseuqzDC+FneT7hW4sLT7+Yi/bUv8Nb/IzYft9k7sfn/qrz/y+0/hdicHA1PYvPPPvvMK7F506ZNmWerXr16vGioqoqnnnoKQ4cOrZDYfNOmTZIyjclkQkREBN+Pv78/pk+fDk3TmG+RrmlEbO5JV1FQUICZM2dyGl9sFOFo0qQJLl68CEW5TmxOqbcbJTYnxQ6R2FxUXUhMTMTZs2fx0ksv6aIViuJ2Ort06YLFixfz5kKRlSVLlkBR3KkdMkpPk7MUFhZmKKtHizSl+ClSWbNmTd2zeRKbk5NmtVoxdOhQFBcXY8eOHTdEbB4aGgpVVaV7s9vtt0xs/tJLL/Hm6m3RFqlFPJu3yHN55o3Y3JNomlp2djY0TcP777/vdf79pxCbJyUlSXRIXbp04Xd07do1rppv0KABfvjhB7zwwgto06aNzmGqWrUqEhIS+J34+Phg3LhxlSI2/+WXXwC4x6FIbP3xxx8bPocnsfnUqVMNic1DQ0PRvXt3vPbaa3z4IxOJzcVxdObMGQA3Tmw+ZswY6YBO495msxkSm9OYGTlyJHJycgyJzX/55RdYrVaEhYUBcI+31NRUXitVVUWjRo2wdu3aConNxSg9tffff5+JzSdMmIDnnnsOEyZMwNChQ9GvXz907doVrVq1QoMGDViLXVxHb6Z5IzaPiYlBbGysVM2fmpqKwYMH83pUo0YNbNiwgYubVqxYUSGxOWWPQkJCvB4gb4bY/KuvvkJOTg5XixOx+Z2CsYV2yyhXJSdmslt6cc2Bs7haVIpfy/6FU/9fUYXSi//jofwvt/9U6UVxAyacy++//w7AvSCRwyV+jqQXfX19+fny8vJ4cXQ4HHj99dc5aiNiUWiBInyfpmmYMWMGR/TERYsWGlExJjc3lzEtM2bMQIsWLbxKLzZr1kzaAMPDwzF58mTExsbCarVKuMGKpBfXrVvHf/cmvUgRO2/Si7RwNWjQQIcVNZJejImJgcPhKFd6sWPHjmjcuLEUOfviiy8AXJde9PX1NZRepEixKL04YcIEnTOwbdu2G5ZepPdMG6jFYsGgQYNuWXpRJGrOycm5IelFSqN36NABY8aMwdq1a71KL1KaU1VVZGZmGmL3vvzyS+53sSKZUrbffPONzuH5o6UXz58/L/2+6CA4HA5kZWXpiLzPnz+PadOmeZVeTEtLw6ZNm3TSi4sWLWL6G6vVisGDB+P//u+6EkezZs24vzylF+nvNyO92KNHD1y5cgVLly5F586ddRQ8RLa+aNEixhiS9KJIYUPVzhVJL8bFxfFhW1Hch2FRejEyMvKmpBdbt27NfUrzY9KkSdi5cyfWr1+Pl156Cb179zbEmVPmITIyUuKqvZlGa56n9GJcXBzq1KmDqKgo3WFKXH8om7Ns2TLD6vgbkV4Uo+QVSS/OmjVLuqegoCAJfmVk3qQXc3Jy8Nxzz6Ffv36oX7++LqtGjaQXRZ3329msIVEVOoa30v6nlPNfbL/++itKS0u5HTx48JbkrG62DRkyBMOHD5c2QkW5nlomKywsRP/+/aXPjBgxAsB1bORf/vIX/nyTJk0YKC3+XlxcHGbNmsVSa7SIiwUvmqZh/vz50veqVauGgIAAREZGIi8vD5MnT0ZKSooOtB8VFYUBAwbg8ccfh6K4cYZius3pdLJjJV7/4Ycf5tRyXFycdC+EDQwMDNTJPJJmrKcqBXAdZzp27FjGQFIE8vXXX4eiuHGgIgjfm8NIEZE2bdpg/Pjx2LBhAy5evIitW7dCUdzRYrL8/HypCGb58uVcGGKz2SSH8urVq1JkJDAwELNnzy634OGtt97ilPmVK1cYv3js2DHdZyliYjabGR5BkWNVVdnJj4+Pr3DB9zQx/Sb2m91uR9euXSWH3MfHhyNt5Ez6+/uXi9kU03GJiYleCyNyc3OZgHv//v0oLS3FvHnzdDJ85KyJcyI4OLjSlFe3YmVlZYZRbHr3RJ9FTprdbpc+T+OP/ruy0dV169bx+zabzejduzeuXr3KjpDIDZqfn89Ot6qqiIiIKPfaBw4ckPgVvVEYlZSUMNl6eHi47p0nJSXh+eefx6VLlyReQVVV8dlnn+n6cdmyZVLxh9lsRteuXfHZZ5/h5MmTktrT6tWrsWDBAkydOhUZGRl46KGH+IBCRWSqqqJatWpSZud2rO2eThm969atW0t/z8rKQnBwMOx2Ow4fPozz589zxJiMChq9EfK/+uqr0lpMfUBO8tixY3XfWbRoERRFwcSJE3X/9thjj0nP4ikg4OlQbt68GYriLkAiE9f4Pn36eF3TfvnlF+Tk5Oiw/UbNZrMhPDycxzRFpLOysvh6eXl5UBTFK+/ozTabzYaIQc+Xq5ZzM+1/Wt5/Uvt3pcJpIRAl8iwWC44cOYILFy6ga9eufF+0SdKpNCMjA4WFhVAUBR06dMClS5cwfPhww7C/qqrM7SU+s6LoucyI944cMKNmNpsRHx/PDhlxaorpMMI+AcDRo0ehKNcLIrZv3y6pwIgb/eOPP46ff/6Z9WsbNWrETjAZbdIBAQGGaJ4WEAAAIABJREFUi1VJSQksFgsCAgIwcODAClMhTqcTCQkJ6Ny5M0ePatasiaioKOneiGz96aefZryWolwvtiJ+uVatWvEGTc6UqqpISkrCtWvXJLUOh8OB5cuXV3qsUh9TNNAbSTsVENlsNl70V65cidWrV0vP1KZNG/ztb3+r1G9rmoZRo0YZ9mH//v35XYSEhCAwMBDr1q2T7tVsNktO3Pnz57F+/XqMHTsWHTt2RHR0tCHPJjmbcXFxHNkkNSNVVZGTkyPdZ3BwMKxWK7KysiT4heemdaedyh9//NFQ67179+7M1uBwOHSRrICAAAwdOhR79+7lPj1y5AiPKc90YHn24Ycf8lwS1ziqEj506JDEOkHvl+a0aCUlJRJumFgQqlWrppujRvbbb7/xWPS8H6P1Nzg4GDExMV5hJTfbRFgGOcYBAQFo0KABFyeaTCZ07NiRD209evTAxo0bsXv3bhw7dgyXL19mDOCQIUPw/fffc1SQmp+fHwYPHow2bdrAZDIxTvWDDz6A2WyG1WrlQkXP1DwA5naMjo42XOdEnk8Rv64o7kyMyWRCmzZtpO9omgan0wk/Pz/dNT2zYa+++ipDMmJiYpCbm6tzKJs3bw6TycTvX+SAJcgPya1SpLFq1aoVBnFq1KiBefPm4cCBA7psAmW1bDYbNE1DSUkJVq9eLQlR3O4WFlcH0RO3VVigcyOt9rSduFhY8bz5b7W71qEE3MU6fwTzvmez2WxwuVyw2WyIj4+HqqrS4lqnTh3s3buXQcnfffcdOz0NGjTQ4alIKpCwkitWrOCoREREhJTapA2BqFSGDh0KRblORG10v40aNWKsU0lJCRwOBywWC15++WUpeiYaOaee+L/ExEROMxv91qhRowzfFRXGZGdnY82aNcjIyED79u0RGxtbbnrac1N59913pevSYtmgQQP+m6Zp2LNnDx599FEd2brdbucFfc2aNVzhevr0aUmGjpqPj490bw888MBNjVWKZimKcXSSjD6Tm5sLRXFHSGh8ZGVlMXUIvdfDhw8bXuezzz5Dly5dpE0gKSkJr7zyCs6ePcsFRB07duTfopQlbVDUXnnlFd31NU3DmDFjeMz17dsXeXl5WL9+PcaNG8cFQuVFNsnZpIMKjZ2SkhLecI1S8qqqSvjT22UbNmzQ/Ralcz3nVp06dZCRkYGDBw+yY2B0T0VFRUhMTISiuCPjN0L0feDAASQlJfFvEq6PHF5yIF0uF+x2O4KCglBWVoarV6/ixIkTyMzM5PdfrVo1PP7443jsscdYQMFms6F+/fqoXbs2oqKiEBYWhsDAQPj5+emiwzfTVFWFv78/oqKikJiYyM6bSF82cOBAzJkzBytWrMCWLVuwb98+nDx5EgUFBdA0jXHR7733HkfiAgICYLfbJaaBffv2sRObmZmJwMBACVqjaRo75Pfdd5908I+NjcXKlSsxdOhQHVzBbDYziXtOTg5rzyvKdfgRWXFxMa+tnhH6Y8eOSbRMRH4uEodTs1qt0hpB9D1iUSXgzoTRvkLBC5JvFSu8aX4RjZHFYkFiYiL27NnDDBzi3DTa7yIiItC4cWMMGjQI8+bN433HYrFwtiowMNDrWCbBBHp+z9+Ijo5m6MPtbKEt+tzWCOXmwzdGSfXfZne1Q/lHqueIrWrVqgCuF1KIk3Hbtm18fz4+PoiKioLL5cL8+fN1uLDGjRvj0KFDaNKkCTs5VNlLleN0/V69eqG4uBhvvvkmLzrib9tsNt58v/rqKwZXi5ilJk2a4OjRo5LSgq+vr2F60ul0Ijw8XPd3Usog9QUxVakobse2S5cumDlzJp544gm0a9dOojcy2nAo0jh27FhYrVb4+/ujuLhYhzcym83SveTn53NKvqIK5M8//xyjRo3iinrP644YMQL79+/n4hDRCaV+njp16g2PUTKKXCiKO/Vj5FiIuL1WrVrx7zocDhw6dD3Ncvr0abRt25YX/9q1a2P37t04efIk+vfvL9Fb0XOIEAvAHTEmOUzaiL/77jsA7rFHfWQymSSIAODeWGnjjYyMrJAn8sKFC+wE9erVC506dUJCQoJXZ5PuJyEhgaNvRowDCQkJUlT9Zu3EiRMV0paEhoZi4sSJ7NSIMBcah35+fl4dRqpU9vf3Z8oYl8uFS5cu4euvv8auXbuwYcMGLFmyBDNnzsT48ePx6KOPckbBcy7Y7XbGY98q/MfPzw/BwcGIiIhAbGws6tSpgyZNmqBdu3a499572SG22+2YP38+Vq9erVM88tbi4+PxxBNP4NChQ3C5XBx99vX1NeRI9TQ64BUXF3P0XFEUTJs2TffZq1ev8lpDkTYq/qNIGEERFMVdsS/SpZEdO3ZMR+MUHx+P2bNn47333uN5KTJzAOCAwNq1a/lvnrRMI0eO1EUZ6XqLFi2SWB7q1q2L3bt3w263Izg4WPrOgQMHeE5lZGRA0zQ4HA44HA6+fm5urqRAExISYliMJe4nqqpi0KBBGDhwIAdKlixZIv32kSNHeN42aNCAnVRFUTB69GgA7kj/3Llz0aZNG92hUFVVdO/eHatXr+bD7KRJkyR6rNvVzGYzAlo+gJjJH91ypPKVT7yzIPxZ7K52KIHr9A7Eu0cT93YPTKPNjP67Q4cOWLVqlVTVS1Qs4eHhvGBQFTHdX61atQC4MZT0N5FmpqysDCtXrvQKbKY0EOGhatWqxTJaJBk3btw4nDx5ktNAnn3Vp08fXZ9SZXpGRobu31wuF1OGiJO2vD4npyY5ORmZmZl46623vFYPk9Qi9ZnT6eQiH0VRMGvWLP4snc5vVNIOkGXdKlNpWL169RvGLYoWFxcHVVXxzDPPQFGMU47EGSqOLVVVvXLpXbp0yRAcHxYWhtGjRzN/H1X7V9QPomQcpaiob0pLS1FUVMQURxaLBTNmzKjwufPz89lxNNKwfuqpp6Ao7ujouHHj0KlTJ07ZVXYeh4aGYuXKlTck0ehyuTBjxgwdtyw9m6K4C1DoIJCZmYmzZ89i9+7dUBQ3TnThwoWYNm0axowZw1g7f39/NGvWDPfccw/i4+NRrVo15ve7FaoXo2ihxWJBVFQUmjVrhvbt2+vmYYMGDbB69Wrs2LGD8X7imCOsX2JiYrkwAnICw8PDkZ+fbyhqMHToUHYQDx48yLARo0b94E3TXLR69epxIRKJD1gsFq/vWtM03HvvvTx+zGazLvLVtGnTcrMEACTaqrZt20oFkuIhfeXKlQCuF7bce++9fI2NGzeyA5eUlMRZIs/7pfdrs9l4znbs2FF6l+SoAe5DPUGt1q1bh927dyM7O5uJxX18fCo8ZLRv356vQX1BuG3KiH377bc8Fwke43K5EBQUxPf2yCOPAIBU9OepKS/SadGYGzx4MIDrGMqYmJhbKogqr1mtVjjrd0Xc0+9XWPlthJmsPW3nnz4ySXbXO5SU8qQJHRoa+ocU7IiV16SnSlW9nos/Ley0CB46dIgn5IgRI9g5a9euHdatW4f77rsPEREROqJ0uq6oXrN48WLuC4fDIenZqqoq4XEuXLgg6c/SxCfyXjIq0Pj888/x+uuvc6SR0tNG/UGgeUVxR1nbtm0rpfbNZjMmTpxYLtHwmTNnOBpCbdKkSQCA559/nv+WlpbGxVHeOP8qYwQrGDhwoIRn8nx/YuGBCGSvrFExUHp6OoDrTlxUVBR+/fVX/hxFfaiPqQjB04qKijBlyhTpYCCqUISGhjIZtUi+b2RfffWV9IwUhaXoJbVevXrxgt+iRYtKRQYLCgp4QxKjNmTEt0p8rmSEJQPcYzY8PBwWiwWdOnWq0Pm32+2oU6cOHnroIUyZMgWvvvoqVq1ahVmzZqF79+6Iiooqd33wLDS5mbVBVVX4+voiICAAoaGhqFGjBmrVqoX69eujfv36/Azx8fHIzMzEzJkzsWTJErz11lv4+OOPcfToUVy+fJnVWVRV5QhqQEAAAgIC0K9fP75OREQExo8fzxErp9NZocNERpRE9erVM3TSLl26JI1F8Tl79OjBGZNx48bpvnv8+HFddsKz7yMjI5Geno7333/f0KkNDAxEjRo1AABZWVk8byoyz0JFRXEf/H/44YdK9Qsp/VAltKZp2LBhg44ZQlHcMB6TyYTQ0FCUlZUhPz+foSl2u50FLozs8OHDUBSFnXTK+GzevBnnzp2T9gCHw8FrKjnL3sZgSkoKBg0ahPnz52PmzJn8jsX9y2q1Svyg5LD37NmT//bLL7/wsyQkJLDjSLCYyMhIQ7zsPffcgw8++ABFRUWwWCySMAXtdy1btpQisrGxsZLS1u1uLTr1QtjA59zRygocS1LQeXj1oT81ZtLT7nqH8ug338IaFoelmz6CNSwOr73hJvkVMX53iuvqnXfegaIoePLJJ9G7d2+d8ktQUJAhjyBwPRLnrZFCy8KFC3nzdrlcOtUIkQqCFnmyKlWqSBN5//79MJvNsFgs6NKli9QvLVu2ZKfR2yZJlePi38UIZ1FRETtpL7/8MgBw5EYsrqhZsybmzp3LwG1S46DFU8QJUvTxypUrUBRFqvKOiYm5pbEjnohNJhN69uyJ/Px8aJomRWA9C0NUVUVqairz2VVkERERsFgsUjpUVCOijZQ2X88I8A8//ICysjIsWrQISUlJ3E8+Pj7o0aMHK2WUlpZi1KhR0nNNmTKl3Mhdnz59oCiKxB2ZmpqKdu3aQVVVKboTEBCA9957r1J9e+3aNU5Te9tQiW919uzZ2Lt3L95++20sX76cMXLDhw/HgAEDeEw1aNCAo2W3A+PnuT6IjpvdbkebNm04VZqcnIyJEydi9uzZHAGbPn06Tpw4gZ9++gn/+te/oGkawsLCyiXyBtxYO6JLSUpKMoRrEJWWyP4wdepUydkuLi7Gww8/LDkdVqsVFoulUuOSjA4yKSkpPFZovImcm+L8mzt3Ln/f4XB4VbKiiBS1tm3b4vjx4wwB8CzyqVatGvr06YMNGzbA5XLBZDKhffv2KC0tZQJtghx5szfffFPHq1ueAIOR0f4hZkTIXC4XXnrpJd2+0rZtWzz88MP89549e1ZY+DR79mwoipsQXIyKVkRhRDK3Dz74IObPn4/PP/8cLpeLYQEi9y8FXYj4XfwNT+qxyMhIidaOTCxK9Jw7NWvWZKnIZ599lvt+9uzZvF9t374dly9fxogRIyTYAf336NGjpdT5nWpWqxXR9Zqharcn0GDae7o0eOxkN2n5jO0n/7TUQOXZXelQ5v34f5ix/SRS539icLr4ENVHvoYH5m2BNaT8aMStNorkUatWrRomTJjAG6WPj48UySkoKMCLL76I1NRUXWGOorgLMFasWFEucP/777+XKh4p5U2KA2IasmHDhrBarThz5gyeeeYZ/l61atW8RhppQsfExCAzMxMbN27E5cuXAbhP/XQypk3Oc6EuLCzkReL555+XOBd37typIxqOj49nRzwqKgpHjx4FcN3ZEyOaZrMZjRs35gXbx8cH+/fvv+Hx88orr+g2yipVqqCsrAyapjEWip4xKSkJhYWFWLhwoSEBPJGtL1u2TOccrFixAopiDB8QU46PPvooX+/IkSMoKCjgdyxWrlssFrRq1apcx07EvCmKG6+WlZVlyOPodDqZcqasrIwjM0bzZteuXTh69KgO75eZmYkhQ4agb9++6NKlC5o2bcrvKDAwEKGhoRLe72YdQavVKhWf0eanKG5n91Y3I5KGU5TrLAAEHaH/B9xFQyaTybBa//Tp01BVFUFBQRXyZtI7dzqdOgeUNmhqBFsglZ5vv/2Wq+YVxQ3JEKvT69Wrd0PV8BQhq1Wrli4KZzabERgYyFi4li1bSt8lah8Ri11aWsrzKDY2Fnl5eRzdslgsmDNnDkdHBw8ejPnz5yM1NVU3L+n7JGlas2ZNHZYa0PN50tzxxJBX1tGm9bk8h5CUejybyWRCly5dJHo3wD1uKD3dt29fJCcnV5jmtdvt6NSpE4/tRo0a8Xrp5+eHSZMm6d5zZGQkzGYzr0XkUIr0U4SRVBR39oGe88knn4SiuAuAhg0bhpo1axrOK6fTKWVPysrKoCgK7r//fhQXF0sY1KCgIAnLGRgYyAc1gvdMmjSJnes72ei9Wq1WBAYGwmT1wbHzf8fRCz/jZP4//pRyijdid5VDebGwBA+vPiSFpL22pz9AzOSPEDbwOdhDqnstDLkdLTAwUCJ6Ful1fH190aRJE52kYEREhA6sbDabDVODZJqmcSr88OHDEi6SHJ0+ffpwpNFbZDYgIAA1a9ZEly5dkJmZyVFEceEYM2aMVCFJUZmQkBB8//33vFkMGDBAd5+ikoyi6KuaNU3DK6+8Ijm1FPUjHB89D8nMAZCUFcaNG8dp3hdffLHCsaNpGrKzs6WUEW2CtDH07NmTq+jT0tLgcDi4ylt08s+cOSNRC3m+R1ow582bB39/fx2Ru2h0+KDWokUL5OTk6DBUycnJlcIJjh8/HoqioF+/fjh06BAee+wxia8wKSkJAwcORO/evTkSXKVKFcTHx6N69eoICQm5bRF9SmdXq1YN8fHxuOeee9CsWTN06NCBU1u9evXCtGnTsHDhQqxdu5YpTO677z7u8y+//BKKcr0QgzC+cXFxhilI8T14PouoMDVs2DAeD57V/DRGxMNORkYG3njjDZw9exZJSUlesXyLFy+GorhxcBUZUUKpqspUVGfPnpXuVYQtEDabDm2BgYFcIKRpGh/iqP9HjhxZYZRs7969huONYEQDBgzgyKTT6dRdj9K2xLX7t7/9jaPTvXv3lvpox44djAmPjo7miLBIwVNUVIRly5YZ4jDpkDRjxgwUFhZC0zRMnz6dsbA+Pj4c/aU0vkieHRwcbCiHKhplexSl/O2V3rMnw4cn1MfHx8dwTtntdsa9UqTRUy2KMjcWi4VViDRNw5w5cySBhREjRvB7ITnbtLQ0ANcdSmrU15cvX2ZuY6vViqZNm0qOH+1f9evXZ5nZLVu2SMpg4rv18/NDrVq14HK5dM6hj48PevbsyeIRAKTCLpFUv3nz5nc8Uim+sz179pT7nu8mu2scyk2HL6D2tJ0VO5IeLfqp9xH39HY4G3S77XqhiuLejAMCAgC4F1JKZXpuTpGRkRg4cCC2bdvGzgWlIIhqoiLOOopapKSkVFg9HRAQwJsARSbfeecdw+tqmsZ4PDHFZrPZ8NBDD/Ei06JFC466kGJQ/fr1Da+5Z88evp/NmzdL/zZ37lzeLFu2bIkZM2ZIm4evry9HQVVV5WIYSsn269cPgKxnfd999xlu7i6XC5mZmRy9cTgcmDp1Knx8fBAdHc2fI0oRRbmOIXI4HOzYemr9Am4qIBpTDRs2xNKlS9G7d2+JeJn6sXnz5pg5c6YUxTl27JiuKET8nvhv7dq1Q+PGjVGnTh3GGgUHB8PhcPDGdLNjmCqGq1SpYhiZFGXo6tatiyVLlmDDhg3YtWsXvv76a1y6dAkulwulpaU8jsor2MnPz4fJZELt2rV1//buu+9CUWSqItrgY2NjUb9+fQmzZTKZEBUVxZGtIUOGYNiwYVI/dujQAbt379ZhvWhD7t69OwB3lEVVVdSoUYMLhCo6iIaEhKB9+/aSswlcl7ZbunSp134g++abb9gJGTRokDQWFUXBpk2b+P5EyMvw4cMNxzwVDlH0i+h5xKKy3Nxc9O3bVzrUxcfHc8SoR48eLDN7/PhxXhO8ZQQIL7pp0yZ2krzJgnrS2lBlv2d0n56VUsHNmzc3jGDSs06YMIHpacRCI6okJgUxs9mMt956y+v7WLVqFV/XyIj8/UbnGTFgfPLJJ3xvnrh3AOxkU59XrVrVsKAHcBfyEe7SbDZjwIABKCwsRO3atWEymZCfn8+Or6K44VkulwubNm1CWlqaLuNC2Eqz2Yxz584BuJ7upgNdaWkpfz42NpYpnsLCwgwFOhTFzQriaVu3btWtW7QmEF72j2iiDPDdbneFQ7n0k7xbKvcnnETVdg/fsUHpmboIDg7G4MGDMWzYMCiKcVUvnfSoKq+oqIgLboKDg9G6dWuWEfT8PXIayaEST3SxsbE4ceIEPv30U/5bRZXQFy5c4IXg6aefxsqVKyWsS82aNaUNiTZ5p9NpeD3CIFHk57333kNubi6noMTICtm1a9fw1FNP6Ra5yMhIdjQUReEUPOBWUaINOCYmhiEGxcXFePTRR9lBqlKlChYuXAhN0/DBBx9AURSJOJ6cdZPJxNFmh8OBxMRE5hstKCjAyZMnsW/fPmzZsgUrVqzAzJkz+Z2ZTCbExcWhVatWzM0mbgy30kwmE2w2G/z8/BAYGIiwsDBERUWhdu3aaNiwIVq0aME0Hw888ACefPJJzJ49G8uWLcPmzZuRk5ODEydOYO3atVJRl91ux/nz5zF9+nRe3Dt37sy0RHSYEDdyzwMC4Hbc6bpUSOXNSKNdpEIiI77Sd999FxkZGUhKSpLmlsViQc2aNZGWlgZFuU7yX1BQIEWKQ0NDkZGRIY1hRXHjHvft2yc5bQTLIHoX0QkUU94XL17Ehg0bMH78eC5a8uSgpeuJ3KoPPvig5Gwa2T//+U9pzNA8VhQFP//8MzZv3szrgMlkMtSYF42wtsuXL5eIv2vUqCGxRkRERCAzM1OC5lA60mq1Ijg4mPGOxCBhZNR3iuI+EH7++efl3h/ghu+IRXiemOi6deuyjCEpVp07d07X1579b7PZMHnyZKm/KZuzdu1ajjp748wVZSVnzpyJtLQ0JCcnIyQkxGvkLCAggA+8gYGB2LdvHzuN+/btQ+fOnaVK8XvuuQfLli2Dosi4dwASRRbRzlVkW7du5bWV4BiK4qYfE+ePiEGn+27Tpg1mzZrFOuXUtm7dytHNhg0b8m8VFBRAURTGeauqKvVLcnIyj91PP/2U5yXh/VevXq0rvqE1csmSJbh27ZqU5bvTrXr16iybfLfbn96h3HT4wm0lJg1v2eeODMqYmBiMHDkStWvX1ukOUwEOVfV+//33fPoWI0JGNCl+fn58srZYLHj99dclvVtN03iDiIuLw2OPPcbXEaXwKmMUiWrcuDHmzJnDFesi9qZbt24cZaN79IwskCPbrVs3nDlzRhdR8hZZITty5AgUxV2EYeSMUcGPaJmZmVAUtwPbpk0b/l6VKlUwcuRILF26FNnZ2cjKyuITfYcOHdCqVSuODtGiKHIh3mrz9fVFREQEoqOjERUVheDgYMP3LD5nSkoKvvvuO/z888+MOwsMDCy3z4jmpzzIhGjz5s3T3UNgYCCTc3fo0AGqqkLTNAkrrKoqrFarRIRfVlbGpNVG1b6inT59mscYmaZp2Lt3L4YOHarrd5vNhjp16iAoKEjSsQauU5W0bt2a+4/GPDm1Tz/9tHS9fv36oaSkBFWqVIHJZMLChQslzKeiuCNhlF40wlCS0fj87bffJGezc+fOSEhI0BXp0dhyOByIjY3lyOaaNWu4+lgsEKpVqxYsFgsrYdntdixbtgzR0dGcFfFmNIdatmyJSZMm6XS6Q0ND8fHHHxt+V9M0rgimuW82mw15aQF3xIoI2J1O5w3Tay1fvpzfX0REBK9vVJylKO4D8b333itxQIoFiaSAZTabpXfp4+OD5ORk5g+tV68eCgsLORKbkJCAZ555hp1GI75T6vvw8HDJIYuOjkZRURFUVeVMDY23uLg4nSOoaRrefvttNGvWTLrHyMhIHm+iAAIVIZVX4OVpe/fu1an/iK1KlSro1KkTO26e9vXXX/MhkvrSk+eX0tmeQRRiPSGO4rZt2wJwMwXQYYjmhM1mw7Bhw3Ds2DHpGrNnz+Y9UaxKv9Pt+PHjNzBi/7z2p3YoLxaWoPa0naj77F/w6qdn8FneT/h7sZtmZdGev+mcxRkfnMTRCz+j8J8u/Fr2L1y+9gs+OJ6Pzi99ypHK6Inb4Fu1xm0biOQcdOnShVNm9evXR15eHlavXo1Ro0Z5LcLxbF27dkVWVhY2bdqEefPmcfqAFnUjqS/geuEHpXD/+te/Sk5LeQoGZFRhJ26CoaGhfMrfu3evVHks4jc9SYaJc7GgoABvv/22VCywbt066bOlpaU4f/48Dh8+jB07dmDdunUsFZeWloZevXrp+poWOz8/PzidTq8Ypcq8O7om6S/T8wcGBkJVVfj5+bGz1qhRI0ydOhULFizAmjVrsH37dhw8eBBnzpxBcXExNE3DU089JW16JSUlTGxPCy79dvPmzdG3b19JDYWan58fVznT34wqToHrC7zIgVeReZM8q1evHvbv388OJZlnAYJIp0ILf2UonMg5Wr58OQYNGoSYmBjdoYEopkQteKpGp006Ly+P34uiuFNlu3btktLuFJmrXr06Dh48yJrS9Hsi9vaf//wnFEXGUlKlt6IYO5Q074wOOGTTpk2DorgjqaKzaUTqbjTOqXXv3p0xpYR39HbAoPEmQnx8fX1x7733Yu3atfwOFMUdeTKKFItVvbQGGTmUp06d4gOt1WpFUFCQ174oz4qLi9lBUVWV+UkVxe2kity9wcHBEtUUjU3KAmmahv3792P48OFcxFNR/9L7pmgardcHDx5EWVkZdu7cKUV2xQhxo0aNpCAC4Zhr167tFTtdVlbGBzXPAAC1/v37V6rA68qVK5gzZw5at25d7j5DUKHKmHgASU5OxokTJ3RKQqGhocjKysKXX34pfT4kJAQmkwkXLlxAWVkZnn76aZ1WuDiPPe8zMDAQO3bswO+////sfXl4FVW2/ak739yMZB4gkIE5IcwkgMwgEAYRBEEmAQUEZZYZUQahQQIIDYJANzwEQSQyiIpPEdQoIk+hEVGByIsh0iEdY0zHy+31++O+vVOnqm4SFPu9H7q/73xibt26VadOnbPO3muv/S+fZWPvZFMUBT179sStW7eq3T93q93VgPKhrTlImHsEbZ99G8U//Yycb/6O3R95vWNGgDLr+Jd47q0vMe6vp/H/TqT+AAAgAElEQVTA5g8wY99/4evvS/DjP93otOod1p+KHPzMbzIwjcrE0QQZGBjIYUOa6BcsWFApAfzs2bO8WzPim5GR+LLJZMI333zDk8qwYcN4smrevLmuvKLatDWchRBSWb9//etf+OGHH/Dqq6/qAJDL5cKECRMwdOhQ1rmk0md0jPrfRmHC6jRfoFHLO6Q+S0pKwnPPPYedO3fi6NGjOH36NFcQeuaZZ1jLMiUlRVqcCTjb7XYOtVHVo+qYejE2uk+jZI3g4GBERERg2rRpPjPwzWYzXnvtNelaz549K2ngVcfIg0D3npubi8uXL6NLly6SJBHJ05BpuX3jxo1jWSESKjay8vJy7N692xDEulwutGzZEgsWLMDVq1dhtVql8BrZs88+CyG84WitlJEQ8mbrwoULDBqTkpKkhUItnZKamopvv/0WAPCnP/0JQghs374dJSUlmD9/vsSftNlsGDx4MGvOAl5QYDabWcXAl1EIlbiQart27Rp27dolyXUZ1RJXezYJMD/11FPs2fR4PPjLX/6CZs2a6by1Wo4e4F3ISYKI5hc1LSYwMFAC+k6nUwcod+7cyXzJtWvXctZ6dTUwja7JKIQthDdaQfJY5JEGgDVr1vB8M2fOnGqFp33NHbNmzUKDBg1gNpvRrVs3KIqCmzdvcqIeeewcDofk3XvxxRchhJA4o6QD26hRI5/AnzbON2/elGgo1GrUqMEeT3WZxytXrmDBggVo2bKlNFcoioKYmBhkZmYy/1qd5S6EF5CrCxj4Mkq61Hohg4ODOXFPbeXl5dL80LlzZzz66KP8/aCgIEydOhV2ux0mk4nf1wsXLujuW+2RpWIP/462adMmfPzxx/jxxx+r7J+71e5aQHnp+g+GIeu0p71hGiNAadQ6r34XAJB1XOZhWkLvnJdS27p06cKeRnV4GgCHXiicCIAnBa1c0LFjxyBERVi8QYMGhpp15AVRH/vcc8/hb3/7G7p27SpNOK1bt8a4ceMwePBg9OzZE+3bt0ezZs2k0Lv6378U/FEzm80ICwtDzZo1JSHuNm3aYODAgXj44Ycxbdo0PP3008z3i4uLg8PhwIkTJxiMC+EFAJGRkQgNDcU777yj08Q0m83IyMjA/v372YMaFxcnAenWrVtDURSe8I2qhBQWFjLop2pGVJf9+vXrlY5bylL2tXht27bN8HuKoqBDhw4AvOCAvG8E3rV6fbGxsZyJriiK5M3zZVevXpXCSEZVkgoKCpifKITX60NhdMqu1iYSaTP9S0tLsWXLFvTs2VNXwk4IgVatWmH58uW6DU5RURGEqKi+oTbyBtL9t2vXDhcuXEBhYSFMJhN757Ozs3n8krd5zZo1ALzZ02azGf7+/ryYm0wmTJ06FXXr1jXM2v7www8hhAzywsPDMX78eOTl5aFly5ZQFKVSOZri4mKWTPruu+90n6sTbYiHR8+b+trpdHJt86rex9DQUIwePRpfffUVyyBp9QbJ8vLypFByXFwcnn76aT7XiBEjOGFOzaEkyR+Xy4WPPvoIQAU94HY8YVojDq26tW/fHt9//z2OHTuGRYsWMfgyAt5CeDeCUVFRaNGiBYYNG4ZVq1YhJycHbrebQ+Nr167FrFmz0LRpU12yps1mkxJd6Brod7WAjKI7tPkko6Smpk2bGoJKkkwjzjjxRdW0JSEqqDiRkZG6jXl8fDyGDh2KQ4cOwePxSJI9q1evxueff87HkyeVnrNRYlJ5eTnX6Vb3h1pOLiQkBOHh4YbPT/ssIiIi8Oc//5k/P3/+PGw2G8xmMxYtWiQ9w8OHD3OkyO12M3f3TtGPbqfFxsZi5MiRvztu5V0LKBdlnzfM6L5dQEnHr37zYsXfZ2UjpOsjd2zwhYSE8E4sICCg0vsiQCmE12tYXl7Ou8jhw4fjpZdewvPPP4958+Zx1Y7evXvzpGMymRichYeHc2j2l1w3ZTxqw+Px8fEcZg8ODkavXr0wePBgPPLII5g1axaWLVvGO0eS5NAucuHh4Thx4oTu/klc3Wq1ck1jrVHmY3h4OHOIKNNTW2Kza9euuHTpEtasWYN69epJHjZaAOx2O44fPw6PxwOz2cxhG7WouNZIvsNmswEA1z83ygg8ffo0+vbtK9EFoqOjsXTpUgwYMEC6XqNavrRLV5dI9Hg87NkymUxo1KgRatSoAZPJhNatW+tCW5GRkejduze2b9+uAzcejweTJ0+WeKVaKSStkVdGndS0atUquFwuRERESMkuJ0+eRFZWFjp37qzjoBFn65FHvO+bEYgl27NnD4SoKGcHAC+//LLkKQwNDdWV7ST5EUoqoOetFlffsGEDYmJioCgKe7o++OADKTnAqKqQmkN54cIFDB48WPLiU6hv4cKFPu8LqMi8JqoAGS2a6nc4LS2NJXv279/PYT8/Pz988MEHDHK1oIMAifYdp887dOiACRMm4MUXX9RlDRcVFWHo0KGSV494u1RuVQiBGTNmcPJQcnKyjocXERFR5RxoZPv27ZPebWpVzW0mkwn333+/BBors9LSUlgsFp239fPPP2dwo+3DkJAQ9iD7UuBo06YNFEXRJV4SZaVNmza6914NZEnLc8SIEfj4448ZFGqvxWw2o0mTJjhy5IjufKWlpbwhWbJkCQA5W3rmzJkoLi7GQw89xM85LCwMa9euxbZt25CWlib9ntPphMlkYn1eNdAl3V6ya9eu6ZLK1NehtjfeeEOiGtF8CVRwu8nJ0rhxY/zwww+VlvL8rVpVkYe70e5aQGksWl49QFlnzmEkzzuKzqvfwRvn8/H9D/9Em+XHpWNix2+5YwNPW2u7bt26aN26NVJSUpCYmIjY2FiEhoYa1g2ubqMEGfXLHh0djTp16uhCO1FRUZgwYQLmzJnD3svu3bvj5MmTGD16NJ+nV69enHErhF4ah/QpfVU6EcIrc0LeF/U1hIaGYu3atYY78+PHj8NkMsFut0shRKAie5wmVJKfUUtfCOHllBmV/ysuLsbcuXMNFyeqQy2El1+nLntoZOSdmDJlCgAv0CUR8MuXL2PEiBHSs6drrlu3LoqKingSTE1NxQcffMDAKDg4WPJyUNhOm/Xu8XiY92e1WhlwDR8+HH/+858hhJf836lTJ102c2hoKLp27YpJkybxZ7Gxsfjoo49gsViqTNQiDqVWdklNOzAKKUZERKBXr17YunWrtLiS2HJlpTeplnBubi42bdrE/WmxWDBkyBAEBARIUk/qZ04LlNYjrS7/KIRXwUBr6jrE3bt312mOCqHnUJ48eRI9eshSZPXr10dWVpZPUEPA8JFHHgEAplxQn5rNZk40IU8aRSSysrIMwcWMGTN0STDXrl3Df/zHf2DKlCno2rWrlB2unVMojE5gc+3atdIxgYGBWLx4McLCwqTvDx482PDdpmfoK8u7pKSEPY0kW1OZxzUsLAx16tThPoqPj2ewbbFYKqXx+DKSFlJ7zgBIHGdq7du311FQwsPD0aNHD2zevJnHCkUmjOTFCCx27NiR/0bzsqIoWLZsGY8jLa0nOTkZjz32GGbPnq17durxVl5ezvPLggUL+HdiYmKkTSFZWVkZMjMzdX1P17F7926mB5E+KgAuoCGE13u+evVqXifU7dKlS+yUuPfee+HxePCvf/0Ls2fP5ntU0xv69u0LwLs5p/UpPT0d7733Hs+B/85mt9urFfW52+yuBJQl/3SjdhUex8oA5T9/ruBMff19CTqvftdQSkix/naudOLaBAQEIDQ0FDExMezBqlu3Lrp06cLeETUY27BhA9fw7dmzJ3766Sepb7SadaWlpfzdxYsX8y5R7YEwm81o1aoV//+1a9ekl5TK2GkXwrKyMgQEBMBsNhtKngjhTTZQA93HHnsMkyZN4jBFQEAAFi5cqFt8jh49CpPJBIfDIV2resJq1qwZ/vSnPzEgUk9+ai+WL8vLy8Ojjz6qA1tOp5M11iozp9PJoOnEiRMcJqWJUgiv92LUqFG4evUqA5O//OUvvAiNHTtWOueSJUv4nPfccw+KiorYi2EkQO12uxnMTZkyhZNYSFBd7Y0sKSnB5s2bce+99+rkQex2O9q3b89jqyoxeHVSzuXLlzF37lzDKkHqsWtUDQio4Of68u6QkZdHzTUeP34890vDhg3hcDik71y+fFm6V6MEGbWu4O7du3WfJyQkwGq1StnUJB1UWZY3GdES1MCwZcuW2LNnj27cU3axVqLFZDJJz5+qqEybNo29Tup3wOFwwOVyVdqfZD/88AMsFgtiYmJ0YDMpKUnHl1Q/W19gb+XKlYa/RfWgW7VqhUWLFqF///7V4jSGhYVhyJAhWLVqlfQ8IyIi2EtKY5daddUrtOZ2u+FwOBAYGMjPh3iQQlTU0xbCq4dK88DSpUvRrVs3XcZ8SEgIlyr1VQ6WIixdu3aVygKrm8ViQZMmTTBjxgwsX74cQgiJIjN37lwI4QVa6enp0nijCNn06dP5eKrDri5lu3jxYvTp00eKpqgjbEJ4ecfl5eVSkikZ6W/27NlTGhs0Rolq9M4776C8vJzBZnh4OD/X8PBwvPfeexz1EcKrH7thwwae24y87f/OVp315W60uxJQns/7R5Uh7MoAZa9176H/hlN4fM+n+OxaEb7/oYwzvdXNGqEnQv+SRgTmWrVqIScnB4rirYSjXkxIzJk4eWTq+q1CVCTSaL+vNrVmHU3SlLRz7tw5COGVPiELDw+XOC/Hjh3jCYS+73A4DEHjBx98wGRv9fVQNQ9agGkBomM8Hg8WLlzI4UGHw4FJkyZJXsEDBw5AUbzVSEiKiErLURa3EBWlAwsLC3kSNeLZVWbamsJCeL0dixYt8llJxOVycca6NsO8X79+Enmc+j0+Pp6pBNqMdrLCwkIGn1arFeHh4TpJHLWpw1ZqvT8K3WptzZo1/HwTExPRs2dPndi6y+VC69atsWjRIklsHfDynEg6pCr+EoVa6f+NyttRXWJfPMPy8nJ+7nRtc+bM0W1wiGtI5zlw4ABXS3r66afhdDoREBAgjdOCggLYbDbY7Xau9kESLQBw8+ZNCFHhPdq7dy9HEpKTkzlUXRmgJHrEnDlzsHHjRjRu3Jj72mazoUuXLizHlJ+fLz0Hej+eeuopAN5N3LJlyySA53K50L9/f5w5cwZlZWWc+CaEQEFBgc/rUhtxHn1xeAFgxowZfN4OHTogKSnJZ6KhEF4PVa1atVC7dm3ExMQgKCjIEDTa7XZER0ezML+a46otHagWDCfwTRVfqAKMWhC9OgkmRvbUU0/xc1UneZE2Jek4UiPPMVlZWRl27NiBzMxMREZG6hIDMzIysGTJEly5coVFxI2KBpDOqraa1vfffw8h9JuwJk2aQAjBm5UNGzZIYFA93ognTlnn6hYbG4uZM2dyxOCDDz6Q+tZqtWLEiBFITU2VMti165V6s26xWPg8pPxRWloqJRwNGjSI30/iTKt/NygoCOfPn/epQvFbN6JQ/N64k2R3JaD8NPfmrwKU6tZw4ev4/od/4s2/5es+s0X71uu6nUahuYSEBBw/fpzFzAcMGMD3RELIRiCAFjACLmaz2WdlBDK32y1N9o899hh/RrtCAjykewYACxYs4InnyJEjkhyMoiiYMGGCDshS9Z8hQ4bA4/Fg/PjxPAHUrFmTifRGIucejwdr167lXb3FYsHw4cM5lPfSSy9BURT4+/vj66+/lkI+QUFBeOaZZ6TrobBhXFxcpf2jNhIQFqIi7K0oCk/waqFh4gtt2bJFt0MOCAiAy+VCaGio7jfUXofg4GD87W9/q/K6jhw5wt44s9nsk1NKyVla3qQWCF64cIHDdgEBAXjllVekz8vKytgDWKtWLV29ZsrAVP9GUlISxowZw8LvaWlpHI5duXKljtNKiwyVt1u1ahUv3ForKSnB6NGjpQUxNjbW50Zq9erVEELgyJEjku7oO++8A6BCPkkd8iPawdGjR3H58mU4nU4oioIjR44AqBjbamDidrsxdOhQKSSn9vwYmd1ul7xTpaWleOqpp6TsbZfLJSUhREZGwul0IjAwEFu2bNHprgYFBfksSKD2plannn15eTnsdjtCQkIMP//000/5XolWkJ+fr8sSrk6j8yQmJuKRRx7Bxo0bMWjQIH7OwcHBWLFiheFzDgkJ4fdy/vz5DPZmz57NnquLFy9K10We/tsxt9stjTuHwyFt6rTAqWHDhpVyjt1uN4elq1ORjaIc8+bNgxACy5Yt052TNEjV9o9//IMpRnl5eTzvjBw5EosXLzbMFqdGYF8r81ZWVobAwEBed3bu3MkJj/Qs77vvPqksY2ZmJiecUvKREIKjbkQJoA1pnTp1+LkSLUCrEasoCrZu3fpv1Z/UNqfTedtj6W6yuxJQ/loPpbblfPN3fFVQ8pt5KKs7wSqKgoCAAISFhSE2NhaJiYlISUnRCSBTOcKsrCxJ8iY3NxdlZWUSt05dBWPdunUAvFVvFEXhJAPyTlA4IioqihMb6tWrB4vFgtOnT/OEERISolvIaOKiUC4BiUGDBsFqtfLkXBkQVk9UJpMJffv2RX5+Pp5//nldn23YsMHwHOXl5Xy/VdW1BiokckwmE8xmMzweD44cOcLXe//99+uEhtXN4XBg586dHO6mfvjiiy/4N8hzIoQ3TF9Zxq/W3G639HtDhgzReebontX6gUIItGvXjs8xYsQIBkAjRoww5PGtW7cOQng9FqNHj0ZCQoLPpAcas5MnT2YZJJJAIXHywYMHA/ACXm02t8lkwq5du+ByueByuaRndePGDdx///3c59HR0XxtlYXFz58/Ly1a8fHxkofO4/GwXJXb7cbEiRMhhMCYMWP4mIsXLzJwPn78OOLi4uB0Og1/79y5czxebTYbsrOzfV4bqSkY8XoLCgok3VYh9EoK9N/mzZuzRNLUqVN9/t7bb7/N31EUBStWrPB5LNmcOXMghJCOLSkpQXZ2tuSJpmQMo3ERHR2N5ORkiVeYmJiIrKwsTJkyBd26dasU1NhsNuZsjh8/Hlu3bsVXX30FoCIhg7xT7777Ln744QcGaBaLBefOnQNQUciA3gmr1Yrly5dX2QcAcOrUKSmsTfSDbt268THkoYyIiODEqYCAAJ0kUlFREdauXWuYkObv74+oqCidl1+9HthsNgQHBxvOZaRooTXaYFK/DBs2DIAXGC5ZssRnudAOHTrA6XTq3kfqb+2ce+TIEYl+QJvwiIgIPkZNH5g6dSqPG7pHPz8/9u7m5uZyv3ft2lWiDlFk59eutb+2+fv7V1t+7W60uxJQ/vgrOZTa44tKy/HWheu/KYfSarXCbrdjzZo1WLBgAcaNG8cZ1DT5JicnS0k6AQEBv0oSwUizzc/PDw0bNmTPV3p6ugREkpKSsGXLFmRnZ3O9bTW/cvHixbyT7dixI4qKilBUVCQRrymxQYiK8nC0CFamR0h25MgRqT60ttWpU6fS7xPwNdrVq23Xrl08SSiKouOREjChkKzRtbhcLpw8eRJut1tKTBg6dCiACkqAEF4vwe0a1RkeO3Ysl6FzuVy68oY0Tux2u8ThWrNmDXuqExMTDZOcsrOzMWTIEF3Izel0Ii0tDTNnzmQC+ocffojx48cbSrIkJSVh7NixOHHiBGrUqKETzNcCXmrEt7t69Srr+9FzPnjwIICK2vCVhWTVIsh9+/Y1XIRJfYBAQu3atXXHnTt3jqVLhKio5W1kxKGkhTIjIwN///vfdccdP34cQsiZ+vRbam8aJdOp+8dkMqFTp04MRilJqzIASxuRzp0783jIzMw07JOSkhIcPXoU8+fP5zmpRo0aPjmN6uTBgQMHIicnBxEREbrM6FdffVUCnq1atcJ//dd/ITc3V5rXwsPDkZmZiW7duvnkbKpBFgGzzZs3Y//+/VImMN1fdnY2hBDIysrCoUOHeL6Lj4/36ekvLS2V5KJmzpyJ8PBwPj/REsrLy7lvyNO+ZcsW5vf179/fUEQ8IiKCAdiVK1fgdrsZrEVFReHAgQMYN26cLmPZbDajfv36GD9+vBTBatOmjU7vkYyAWZ06dfDCCy8gNTVVolnQ59nZ2YZJM23atEFxcTF7/dU6lx6PB0899ZRPkXSXy8XAmpKwtmzZAo/HI+m8mkwmKaGHxi3VuVe3WbNm6d6L/6323nvv+Xzv7na7KwEloM/yHrntI4zf9Qlm7POWSDr0WR7G7/oE43d9gnoLjqLxomM4+20RFh86j1HbP8aQFz7E3AOf46uCEpSWu5G5/qR0vphHXrijg5Dkc9QT+tGjR/lzdYaf1sjFr85GHTRoEN58803Otlu8eDGmTJnCE1ZUVBQyMjKYOB8bGyuVDqyOqK+2UbidknS0n9OO2M/PD0OGDOG/BwcHY/PmzfDz80NAQAAuXLiAmzdv+vQgXrx4kWVpjJrNZjPU2ySjLE2Hw+GzusH+/fsZzFNYk3bKX331FYYOHSpRBkwmEyZOnIji4mKUlJRg4cKFOq5bjx49GMQHBgbyZCyEzFm9HSOvDHmEN2zYwP3crFkzzmKl53n06FEUFhZK126z2VhrkUTE77vvPh1vkp7dokWLuF65L+vUqRN/NzAwECkpKboSmkJ4wRhJmJSXlyM4OBiKokgSIlarVarZ3KhRI52kFHnRfWXt7t27l/ugqspP6uxwrQ4s2enTp/kefKkYABWAcvLkybwQWiwWw6pFpCkIQNI8NGq+NBTr1q3LfeeL26v+veTkZJSXlzOPOzAwEPfeey8aN25caSIMCcrT91JTU2G1WhlMar1xkZGRhpVyrl69Wumm2CjrmSwvLw8vvfQSJ5up5xhtI/AfFRWF8ePHM42FvOQejwdjx47lZ6r19G/atImvs2nTpjwuXn75ZT4/GdGTFEXB5cuXWURc+8xiY2MxYMAA7NmzhzmGlGgycuRIHofdunWT5imKOFCrUaOGdN9msxkJCQlcQlGbQEi0HfUcTd7tXbt2wePxICQkhOkNVI/7qaeekiqPUXM4HCgpKUF5eTkef/xx7id/f3/Mnz9fUpdQf69evXowmUyIiorC66+/znxK6ieKvDVo0ID5+R6PR5JSo+f6v6E1adQsFgtmzJhR6Xt3N9tdCyi1OpTXbvqeXNs++zaS5x3F7o9ycen6Dyj5pxs/3/Igr+gnvPLpNXTRJOTUusM6lOpmt9tRs2ZNZGRkYMyYMfyikEdLaySKK4SX89ivXz8+lzbkRbtdtZafw+GQ9PPUmnXkPTSbzTCZTGjYsCHeeecd7Nu3D5s2bUJISAhMJhPGjh2rEzqvXbu2DlRWlvVZWTOZTEw8V5/Tbrejbt26hpOJw+HAmjVrsGfPHhw/fhyff/45rl+/jlu3buGVV17h47QeIQA4dOgQFEWB0+nE5cuXkZycDKvViscee0wKdYWGhmLs2LFMWideKZnL5UJSUhImTpwohWfUjUB4ZfyqyoxExNWl1X788UfmLJrNZilL0+PxYNGiRVI/duvWDT179tRdY1BQENq1a4cVK1YwV+uvf/1rta6Lxk5cXJwUwv/6668xb948neYcbWpISJsWSPV1WiwWn9nBap6v1mgD4XQ6UadOnUoTmIAK+ZeqQD4tgFar1Wd1F22W97Fjx/h7NWvWlBKzaLHeuHGjoVRPSEgIxo4di88//5wzggkYNWzYEG3btpUAYPPmzbFz507emJGnccGCBejfvz97nI1Ao9VqRXR0NFq2bInhw4dj9erV+Pjjj+F2uxEaGgqbzYbz58/DbDYjMDCQZaiE8AJ+7Xj2BSgBL9j3NS9oxb6NrKysDDabjcO7LpcL0dHRfF/NmzdHUlKSz99wuVyIj4/HPffcgyFDhvA77nK5kJWVxVn4fn5+OjFvyoQWQqCwsJB5kFoKDD2vQYMGMfitV6+e4caX5jNFUQwB9RtvvMHnJdA5e/ZsXLx4EU8++SSaNm0qgVdFUVCzZk106dLF0GtotVolqgWJmVPiIgFK2lBT4pOv/gwJCcGaNWukBEubzcbOjPXr13OhB/X4s1gsWLJkCW+SDx8+zIl0iqJg9OjRPK9QMp9RotL/dqtdu/YfSTl3m/mqlHOn2p2slJOWloahQ4dCCC9ICQ4ONuTkacHmhg0bWAeSJFrOnDkDISrCTnPmzAEAdOvWDUJ45RrIfvrpJwjhDUup7a9//av0u6GhoYiMjERYWBgfU1hYCCEEOnXqJH2XEhJoEnj44YcxatQo9swNHTpUCuH5+/vj1KlTOHjwIJYuXcqLCJVizMzMRGpqqrQDt1qtCAoKgsvl+kU1uLVNzUslaRsKcas9Y0J4QWPLli2xadMmnDlzBteuXUN5ebmU+U597nK5pAXxiy++kKrIUGvatOkvBpT169fXSeGQvffee+y1VgsK04Ss9ZiQiPj69et1xHJflWCMjBYEISr3kkVFRcHPzw9Lly5FRkaGzxCZFuiGh4frQmFaJQLACzQojF67dm38/e9/Z8+4r/5etGgRhPCCB5PJ5DML+sqVKxBCoG3btuyVN9KdM5IN8ng8mDBhAj+TgQMHory8HPv37ze8f4vFwolDQEXJPQqxEghfvXo1iouLDSMERos/HdOiRQsGjStWrODM96VLlxreO9ELKEFpx44dfK6HHnrI8DtGgFJLXSGt3AMHDkjlR6OiovDiiy8anhcAV2bZtWsXh/IpvKzmcqsz9rds2QJ/f3+YzWYkJyf7lD5Svxvjxo3D1q1bcenSJT6n+n026uMxY8bgnXfe0b03dM3+/v44ffo0/11dg1ybGU722GOPQQivh7OsrIwpPJTpT0bA0Mhr63K50KtXLw45q8uVkgwZ3acWUAIVoNcIqFutVnTs2FEqZ6rWKy4qKkJBQYHumiIiIrB161acPXsWQnhBMuBd09RzAI33fv36ccnT/wtNDW7VHPnfk921gBKoqOV9J4FkrZkHETlkyR0diNnZ2bh16xaE8IqFk1HIkRXeHiQAACAASURBVCoMUIatLxAVFxfHYWyn0ykJZQuhB3+HDx/mhYjs6tWrUsiPzh0fHy95gGjiU2e3aiVTvvzyS/7s4sWLzP1RE/LV3BvACwwCAwMBeCufUPKOyWRCr169pBDkqVOn2LPl8Xh41/vJJ59IxHKXy4XevXtj0qRJGD58OPr16ydlafv7+yMmJsYnoKluU0+s6nrICQkJaNSoEerXr1/pohUbG4upU6fi0qVLVYYryQICAlC7dm3Dz4qLiyvNGI2IiJAmal+cu5KSEiiKgrZt21Z5PSRsbbVaeZPjyyi7/913veVNd+zYIVWeqaqfAwMDsWTJEq5gpOa4Xrx4kT2B9913Hy/olLxD3Eu1URg7IiKC69v36NHD8NpJieGTTz7BsWPHWBNVDTaAynUoL1++rKtrT61hw4ZMuaB64YD3/VQUBbVq1cKCBQvQr18/PtboPFQ/Wr3odejQAadPn2bwrC2rePnyZZ2otNZoM6KmNlC43sjUgFKbXNevXz/k5+fj7NmzsFqtMJvNeP/991mah64/JCREl91dVFQEs9nMqg0Ugvb1jPft2wchvMlxdO1aebYnn3yyWpnWvtr27dvRvXt3KIqi+3217dixg6M/a9as4cQrmn/VyWBqo00h0T5KS0v5vXn22WdRUFCASZMmSYlutNmNjo5G+/btdcU0hPDyKTdt2gR/f39pc6YFlKS8QC0xMRGHDh1iySqSaxLCuzHr378/v3cmkwnnzp1jQOpyubBv3z6MHTtWyuIXwsvvpd+j9U89f6plqv63mt1ux2uvvYYXX3wR06ZNQ7du3VC3bt3fpag5cJcDym8LS1F3/tE7ByafPIRaMw7AEhR5xwcmeUSCg4PxzTffsBdg1KhRACoSRGgnSWEvi8XCQMiXZ5Mm5fT0dPZsnjt3jvUJafAfPHiQw9LPPPOM5OGhRlIz6uzW/Px8Ps5ms3G2uJGtW7dO2slp+WzEhaNJxWKx4MEHH9R5zEpLS9nDQPyaOnXqSNJDtPumFhwcjOXLl8Pj8SA2NhbBwcGoWbMmzGYzFi5cqOuvli1bIiwsDDabDXl5eTh79izzUtetW8e81FGjRmHAgAHo1q0b2rRpIyUlUC3xXxqaoZC43W6Hy+VCSEgIoqKiEB8fz2AkODgYvXv3xoMPPoihQ4ciIyNDV6dc3axWKwtvl5SUSFnCRjIzJBWllRHSGiW0hISEoF27dlUCyuvXr0MIb+iPFkkav7Vr14afnx/MZjNWrFiBnj176sTWqdHG5+GHHwbgfVcoeYS4oWSUmPPEE09Ifyf+pslk4kSKlJQU5sFpLTQ0VBq72dnZTJNQ80t9AcoDBw4gPT1dt8FQAxmbzYbJkyejX79+aNy4sS4LWP0d6htalIcPHy5xAAsLCzF16lQpcYF4tFTJSdsflIwRGxsrcVOJE0eNwEFWVpbPZx0ZGclFGmgMjhgxQhfy/fjjj2GxWGCxWHjD2KxZM0yfPp1BrMvlwuzZs+F2u5nic/ToUeTl5fF79vTTT/u8FvJSU717yvwuKipiWhDxXLOzs9GlSxfdczKZTD7faTXwueeeezgb/dKlS7pQ6Pnz5yU+MwH4oKAgKSJE9s033/Dvqy0/P1+n9uHv7w+Hw8HX2aRJEwk8FxcXY8OGDejatatuQ2Kz2dCxY0esXr2a3+slS5awjiU9Q0VRDHnLhYWFOlF9bQsJCZGu5+eff8aMGTP4PhRFYQ92jRo1cOnSJdy4ceMX8fvvdDObzUhNTa2yWtrvze5qQAkAL32ce0c9lP6p3e744GzdurWkN6dujz/+OD7//HMAYDLynDlz2AP39ttvo0WLFrBarXzPJA6r9bj58mLExcVxqNdsNmPr1q3Si966dWs+dsaMGfjuu+948pszZw6DgB49elQrdEsJSNTatWsHj8eDp59+msEYaVr6ktCh3by6IoHT6dRVvyBx3tDQUJ6o/Pz8OEykBczx8fFcjuzGjRsQwitRcbv29NNP8zlJSDo0NBRff/01PB6PBBw6deqEvXv3YsOGDejbt69OaiMoKAhJSUmoV68eatWqhYiICAQHB98RIrrD4dBlqCclJaFdu3a49957MWjQIPj7+8NkMmHJkiXYuHEj9u7di7fffhvnzp1DQUEBPB4PV7MJDAxEQUGBVCnHyNxuN+bNm8dj0uFwYMqUKRwa++CDDzjzOT4+nsdjWVkZ0tPTfd4P9avD4fAp3G4ymdC+fXvpb5SooAZFJDbfpk0b6Viqnf7ggw9Kf3/55ZfZq0iedDWgPHXqFHr06GH43OLj4ystraoGjWFhYVizZg1zGsnIoyeEwOuvv+6z7y9fvoyRI0dKXqqYmBjMmDFDt3GjhDSqb379+nUdF5o872oeL5nH4+ENCT2Xxx9/vNKF+OTJkzCbzbBarUhMTITZbGZ916VLlzKNg8ZtcnIyCgoKpPmuMmqGx+ORqjatWrUKzz77LAOv0NBQREVFSffo5+cn/Y02cEII1uKl60lPT2fwa0Q9UHM2yZNJn1N9cwK9tLkhIzmihIQEuN1ubNiwAY0aNdLN7cSfJ89lgwYNKu2TS5cuMU2AxlhlfPcXX3yRq5Jpo0xau3LlimFm9siRIw01Gz0ej24OfPjhh1FaWoovvvgCQghd9bJ/d3M6nbpoxB/2OwCUALD+Py/9OiD55CHEzz6MwPRBd3xgms1mBAUFwePxMCmfds7qychms6FevXrSYjR58mQA0AFKALywpqSk4MaNG/wCrl69GgcOHMCTTz7JSS6+vJpOpxNxcXE6TwpNauQxCQ8P57BlVXby5EkIIZjTqW0ulwv+/v7w8/PzeQ7i6KnDkZT5qE44IiPh3CZNmmDq1Kk+PQvahBPy4B4/frxa96Y1NVCLjo7mBZequlBGsxAC+/btk75bWlqKp59+WtLkc7lc6NixIx544AFd+NxisSAxMRHDhg3j8SOEN/t2yZIlmD17NpfB1Hr7jICMtrpPdRtxM2lMxcXFITk5GampqUhPT0fnzp0l/Ur677Rp07h8XaNGjbivKKGGvI9kf/7zn/kafYWNHQ4H0tLSMGvWLInTFBISIoVnqeawkZICbVzUSTcEJLQSS0AF/5iANVXBqYzqQE07Ll0uFzZt2sSgsTKPKRmBxK1bt/o8Rm0OhwN+fn6SdyspKQnLly9n0Jednc3XpgZt6gRANQcP8AJ/dQlVup/qcHABr4wSRWCE0NfN3rhxI1+T2lsYFhZWrZKSly9flmpCa5+FOiFN7YG7du0a0tLSpDnSarXCz88Pn332GSsUqEPe3333Hfbs2YNp06ahe/fuzNn0NQ7UY7pVq1b48ssv4fF48Omnn/IxNWrUkEontmrVCnv37kV+fj6fW534ogWmRkbvAa0lL7/8ss9kQj8/PzRv3pzD6r7AlTp6pZ1ftOONnAcnTpzgzzt06MBJUmaz2adG5r+jqZ9ZdZMTf2/2uwCUgNdTWXf+0dvmVNZ+8jXUnP4KanZ44DcdrP3792evFk3yHo8HZ86cweOPP45GjRrpeD116tTBqFGjOGGCTF0mMCcnBwCkHTyV9CO+khBe7ub333/PYLNXr16oX79+pWF0IbxAafTo0diwYQM+//zzKheMxMREmEwmDt1oW2ZmJpPOKelAbefOnYPJZEKNGjUk7wyVuHv22Wd138nPz5d4PUIYE9W1niiqn/5LjDh4QlQAtoyMDE6aCAsLYw6QzWaDzWbTJYB4PB4cP34cQ4YMkSShqNFi++GHHwLwilWrw6JakNqzZ08IUeG9OXPmDHNUaeGfOHEihxxPnz6N6dOnQwiBHTt2ICcnB4cOHcKOHTuwevVqzJ8/X9Lly8jIQKtWrdC4cWM+X2hoKPz9/X9xbV31d5xOJ9e1T0hI4LGkPj4yMlLi6Kqb1WpFw4YNERYWxu/LpUuXeFNn5GEjzmKjRo34b0FBQZJgdElJCY4cOcKcRrUSgK9mMpnQtm1b9jSeOnUKFosFVqtV6lMhvMDg9ddf539XZsSXtlgsXHygMktOTuYxfvToUXTo0EECamlpadi2bRuuXLkiAd7t27cDqNB0pRBzcXExHnroIR6boaGhWLduXaVZ3r7syJEj/Py1kQfyElNtehorJpPJpw7tzZs3kZWVhc6dO+s4hDabDZ06dTJMSDMySiCktnPnTgBgENeyZUufHMry8nKO+sTGxmLz5s0MNqszdqhFRUVh/vz5unGbl5fHm1kKpxPFpTKjiID6ewRW6e+xsbEYPnw46tSpI60LiqIgJSUFU6ZMYR1PdfSqQYMG0vt89epVvP7667rxRiFyOo5UM/bv3/+Lqi792hYcHMxrBclBaaMbf1iF/W4AJeDlVD60NQfxsw9XCSzrzPZ6JRMefu434UwK4d3Vq+vAql9Qo8oVhYWFsNls/LJpF9OaNWvyzpYmerXHLi8vj0W6yfMjhKhWhQjK6lY3LUmaGnk2MzIyJLB54MABCOENr6n1wygrnIAAgRF15QkALFmiKIpOfJjkOsiTVFJSgvnz50s7WvrNli1b8oIkhJxF3LZtW+Tm5rIcSGZm5m2PsyVLlvAzooQhAgk0Oe3evZv7lKrnJCcns4i4trQhiYiPHTsWmZmZEsCMiYnR7dyN+GyUhPH+++/rrpcAgMlkwpEjRzhzOTw83GclmNdff52TUbQVjijknZeXh969e/O91KxZE7t370Z5eTmuXbuGM2fOICoqij+Pj4/X8VKJMqAoCqKjoxEWFobAwEDJE/prW2BgIGrXro0GDRqgefPm6NChA4c1CXT36NGDa6j7+/sjKCioSs8jjYO6devqsrrJ1MkoH374IfM8+/Tpo/PufP/995WOvYCAAAYlaqqAL8vMzIQQQtqceTwe7NixA02bNq204k1eXh5v1Bo3bow+ffrw8bGxsVJW8C8BlAB4zhBCrqJF8yZxMseNGycpMrRr1w7vvfceli1bZigirm2+5Kh8GcnZqJ/z+PHjcf36dZhMJs6A19pXX33F1+xLXP/ChQtSSLeqMa4oCvz8/DiMTtqg6qalZ2jN4/HoBNMHDBiAkpISvPCCV3PZYrFI8kL/+te/cPLkSQ6rG3EbHQ4HNmzYoNNUVfOMabypnxHds3r9Untof6tGvGGr1YqQkBA0bdkGne8fgejG6Rg/ewkUqwPXr1+/rbHye7LfFaAku3T9ByzKPo97/vSfuoo6tWcfRuyjLyCmzxPwi07w+aLciUbcyOeeew5CCGnX7HQ60atXL/YwAhXcw/379/NuaeHChcwHUodYCeyZzWbs2rWLF7CrV69K9/P4449X2V+XL1/mHSY1AoEOhwPZ2dl49dVXMXv2bPTu3btank0CVs2bN8fnn3/OQuUPPfQQ848URZEmHgJlRhVuiFielZWFBg0a8OJtt9vRvXt3rl5ANXbVIVkAzAGkRouyuv+rMo/Hw/qPBMTUskHqxJ8DBw6gvLwc4eHhUBRFx6vz9/dHq1atKhURVxPu1S0hIcHQ20Z0AyNtu8LCQg6vk7aoOrFAa2+//TbXRjYK/ZIHRg2ofNWVXrx4MV+7L68aSeo0btyY/zZmzBj+HgFsyhp9++23sXfvXsybN0+qIRwYGChJQ/0W77XJZIK/v7+OSmCz2ZCRkYEHHngA48aNw4wZM/DEE09ICUTnz5/HjRs3GDQDYC8x9aOv8KLH44EQ3o0YRSkqK0UJVNQvV8sSqS0/P1/nzVPrBqrfJSG8myK18gPZLwWUAPDII4/wu/zdd98xR5zmOxrPlLhoNF/HxsaiV69ePMbtdjs2bNggiXzfTmYuzVHJycmSpz8kJEQquqA2EtdXFMUngP3uu+8wfvx4qZoVjWvyalMijFEYvbJs//bt2+PRRx/Fli1bOIxONcTVuqcPPfQQqx14PB5+f3ytFdeuXYOiKKhXrx5vuLTjQtvU47KgoID7r3Xr1li2bJkEbp1OJzIzMyXpoTvdaEMeHx8Pa2hNxPWbivoz9zLdTU1/u2flf2JR9nlcuv5DtcfL78V+l4BSbT/+043zef/Ap7k3cT7vH/jxn26eqCojyd+JlpCQwFItYWFhvIA7HA5pEQwKCmJARzvN8vJy9pA0btyYX96IiAgsXboU99xzjy7ZghYp9d8q03fT6uWpw8Y3btzAgQMHeIL0VcbwxIkTktYcLbaVTTZNmjSRrnPChAnYsmULTzjaa9yzZ490r2azGW3atMH+/ft115Ofn8/9bLVaedEGKuopqzl5qampPpM7tOelzOp27dqhvLxcp0NJgNho0nc4HAyyX3755Sp/j+pSC+ENT1HykbqfmzVrhr/+9a/sBSGNPrU0ldbU/U4g12az4ZtvvuFjTp06xUkTWk/x6dOnJa9aWlpalaCceIbBwcGVHkeJClOmTGGvLiWz0RihxAJ1shbg3RR16dJF1/cOhwNBQUE+F2JKiiKPkdls5vdTXe4vODiYvZv169dHzZo1dWCfgOPtzBHq49VAKTAwEKmpqcjIyED37t1x//33o2/fvhDCuwFYv349hw/Xrl2LvLw8wxrDH3/8MYQQmDdvnu6z999/X9IqfeGFFzBz5kyfCgK0OTOyXwMoPR4Pv7NBQUESr7hVq1ZITU3VVWGKiYmRIg8hISFSdSZKHqTIhqIoCAsLq1YdZqLXKIoi0VSeeeYZHZglU4vrnzx5UjpfSUkJ5s2bJ0UZAgMDMWTIEIma0717d8TFxfl8T4gDGRISgu3bt2PatGlS2cTKxp66by5evMiJVOq525cuJgAp+zstLY03hhcvXsTs2bMNf7tmzZro0KED95m2yERgYCD8/f0rVay4U81sNmPK/CWIGPwMFy+pLIJJEc6Htubg28LqSbz9Hux3Dyi15na7q0Wg/7VNXUkmOjpa8rZQiPHatWsYN26cFN6MjIzE5MmTUVBQwLp5dJ6IiAgpyzo/Px9CVFTR8DWhPPbYYygsLJT64Y033mA+XlxcHD755BNkZWXxd6h+sS/Nuvfee0/K5qYQqtpzJoQXfJFn01emu7q1bt0ao0ePxhNPPIHWrVtLi7bNZsOGDRt8LgqFhYXsbVEvSnTN+fn5UBSFuTrkPaSJ1cjzAgBvvfUWT/yzZs3iv/v5+SEiIgKdOnXScSDVIWAhvPxKkj3x8/PzmS3vdrsxcuRIPk9qairKy8sRGRkJRVGQk5ODrVu3okmTJnztpD34xhtvwOVyITEx0ef4J805bfjL6XQiNzcXp0+fZo7lxx9/zN87fvw4A3ECYVXJBpFRH5jN5iqzc9UgYejQoVyhhWqXf/bZZ8z/aty4Mfr27YtGjRpVWns6KCgIrVq1wogRI7BmzRocO3YMS5YsqVRsXQgvL2zjxo268bZy5Uoel2pKS3x8PI//8+fPMwiaN28etm/fjlWrVmHu3LmYOHEiC2aT5ygkJAQJCQlS7WgaR78EpFosFjgcDu4ru92OxMREpKSkoHXr1rrnX79+faxZswZPPvmktNnVtr59+0phUbJfAyiBiuxmo2axWJCcnMyeZ/XzOHjwoLTZDA8Px0svvcSfE2+QIhe9e/eu8lqoz7Ti+oB3jlGDuH79+unE9QHve0xVeNRKB/fee6+kCzpx4kTpuZnNZqSkpOh+lzbcwcHBurmcxiBFq9q0acO/SRskozGi3jAJ4dXFvHjxovSOaqNXNWrUMOwz+vzixYtcKli74YqKikK/fv2wc+dOlJWVISUlhatabdy48bbG+O20rl27IiK9P2rPOohaMw/eVo5FwtwjqDv/KF76OLfKcfN7sD8ApcYuX778mw1cdcvNzUVJSQlGjRplGLakhYf0Fk0mE3r27Cl5TWvXri1N/EZkcvKUqD2JO3bsMExKCQgIQKtWrRhsWSwWKTxK1SsCAgKkbFO1Zl1oaCjvtBVFQdeuXVl6ZO7cudK1CaHn9syfPx9CeLmLxK2rikNEQKFGjRoYPXo0nn/+eXz22Wc6AWQKI61fvx4ej4czFPv06aO7RyEEPvvsM+Tn56Nv374+uWEk1WK1WrF9+3YsW7bMEIjQM54/fz5KS0vh8XjYo0T36PF4WH+0efPmumd58OBBPi95zE6dOsVyUgsWLJCONxIapg3Ip59+6vMdqFmzJt+verzZbDZYLBaYzWZe9Pbt28fPm8botWvXqpQNIqMwJfEkK/OYb926VaIyvPLKK7w4kZalEWi02WyIiYlh0EjjwGaz8XOpUaMGVq9eLY2Z8+fPY+DAgT6TfGi8d+3aFevXr8epU6d4UxQYGIjs7GyWDaL7S05OxpUrV+ByuaAoii5xSm3kYXQ4HDrQqpa5adu2LQoLC1klIicnB0ePHsXOnTu5IkuNGjUwcuRI3HfffejatSvatGmDlJQUrnRCeqkOh+OOUAEoEhEfH4+GDRtywlFmZiaGDh2KCRMmYM6cOVi5ciW2bt2K7OxsvP/++/jqq6/www8/4NatWzh+/DhGjx5tmHwlhMAjjzwibWpq166NgIAAAN55k/rDZDJh0qRJePDBB3l8hIWFYf369awO0a9fP04+2bZtm89nQh5NX7xiMrXHTgivtI7b7caePXvQsmVLKUM7PT0dBw4cMDzP8uXLIYSXJ03vfExMjDROac4gZQGtkVqFutWqVYsjIR6PB1arFbVr18bevXsxbdo0Q2++uvn5+UlzQ7NmzXg+2717t/T7NKeTEoA6uhIaGoq5c+finnvuMUyUEsJLafitnDzNmjVDYPoDrDP9a9Rg1v/nHzJCfwBKjakz3X6rphbjBoDc3FzdMQ8++CDcbjfLlmzZsoWPf+edd9C1a1fd4jly5EjdwkN1nG02m7TztVqtaNKkCT744AP2cmhD/CQNMXfuXHz99dfsZSMQm56ezufbtm2btPC2a9eONQpp8tF6n+g+tUayHFQCTAh9Vna9evUwefJk9O7dmz0mRhOg0+lETEwM91X//v0ZbB49epSPe/TRRwF4s1TpXGorLi7G8OHDpexVNfDW1s6NjY2F2WxGTEwMlxJr0aKF7l7VpcMmTJgAAOjfvz+EEFi0aBEA4MaNG+yhsdlsWL16NYfPaTFp2rRppeOahIbV/RgSEoJRo0bpOJoU0hPCm+S0fv16CdRv27YNmzZtkioqDRkyRPKMVBdQUl3o4uJimEwm6T6Ki4tx6NAhzJ8/v1KvmBBe0BUTE4PWrVtjxIgRyMrK4gVOXd6OhPPDwsJgtVpRXl6OKVOm8PPz8/NDWlqalC1PUQHqO39/f2zevNmw/jkdv3z5chQUFEg6lORtosWRMoN9Gb37VFNZa1oh7tDQUEOgQ3xno2o9AFCvXj04nU7cuHGDAXHz5s11mxeTyYQ2bdpg5cqV/LvdunXDwIEDpU2LdgN4JwCq+hz0b4vFgoyMDPTs2RODBw+G2WxGjRo10L9/f35PExMT8c4776CwsBAejwdlZWWYOHEiP8vAwED2cJaWlsLlcsFisXABB7URd1MIYzF4tRElw+geFEVB48aNsWnTpio98vQMnE6nJCgfHx+PGzducB10l8tlyD++cOGCjv9usVgkqgpFJZYsWcJ/o7GnBqOPPfYYpk2bhubNm1cJ8GrVqoX27dtj3LhxPB5eeeUV5OXlcQib9EXVVlxcjI0bN6J79+6VbuTuxHhyOByo0TLzjupU7/mdeyr/AJQao4y237qRcLfH4+HapO+99560S6NJUZvtDFRMAg6HQwpZ0I73pZdekrhs6rJ5RUVFEEJg2LBhALwlwOg4Pz8/LFy40FAagq7bbrfzDnzq1Km84FitVnTu3JmFjxcvXsyai0ZZx0IYA8pr167pwHJQUBCGDh2KjRs38iRbp04dnD9/nuV3zp8/j8LCQhw8eJDD6PXq1fO5oFG/qTXPqDSbEHpPxblz5/D4448bli2rVasWhg0bhiNHjvAiQRxKAsi+kinUm5hJkyax91RRFIwbN477onPnzlxZJDExEX5+flxmU1txxJc988wzEMJLT1BnkkZHR2P69Om4efMmAHCfXLt2DV9//bWhR9tut2P8+PGGZSKrAyjXrFkDIbwgf/78+RKAMfJKK4qCqKgotG7dmr13drsd0dHRPn9DXd6O5KiSkpKYNvD3v/8dxcXFePLJJ3Ve5aSkJE6co80HeeKpbvK+fft44XO5XPzc1O+TEN7N19mzZ9nrUrNmzUrBhNvt5vFZlbD+0aNHJY6nWjMTAFeGUhRFV2YRqNjA0DOeNGmSRAmx2WwYN26c9Jxr1aqlqyF/5MgR/s6sWbOwa9cuHfjIyMjAgQMHkJ+fj5UrV6Jdu3Y6kWqLxYIaNWogKSkJLVu2RNOmTaU5LigoSIrq3C5gJd1K7RwTHBzMwNhut+P+++/Hww8/jGnTpmHRokXSO/Duu+8iPz/fkF6j5TOrm81mq7aGIaky0Jgj3U8auzSWtNWZACAnJ0fSy6RxRPqe6mS6Vq1aQVEUfr7PPvsszxFARSJj27ZtOTGGKgkBXqrQ3r17MX36dKYLkcaxr36g92Lu3Lm6MDrZ6dOnb+u53m6rUasu4me++qs9k+pWd/7R3zWn8g9AqbFZs2b95qWdkpKS2LNBXj8KBxBJXs37sVgsGDp0KIe09+/fz7vS3NxctGjRgl9eCm3TdyMiIhAdHQ2bzcYv7d69eyGEN/Q7bNgw6Xi73S6J4JI0BE0URpO32WzGkCFDpExy8l4pilIpr0adZLR69WpJXkW9AKgnHLfbjVGjRjHPhzKytVZeXs7XPW/ePB3Y1O7ctY3O7at+emRkJHu2HA4HJk+eLHFEqSKGEFVXk1BfS/PmzXnDIIQXYL311lvS8X5+fjxO33zzzUrPrbacnBwI4Q29A14tyn79+knC1sRpFMKb9ECfaZO8IiIifCYsqQGl2tPYt29fNGzYsNJKF0FBQWjdujV69+7Ni7jWS+d2u9mLWJV39vz58wwWFUVBXl4ecy/V1U8cDgd69eqFadOm8ftJpT8pe/XGjRsIinF2DQAAIABJREFUDAyE3W73WW701q1bLP+krshCjcZMSkqKT1A5ZcoUfvZa4GZklHBFbdCgQdJYvHLlCsxmM/z9/XUbAFImMJlM6NOnj6QLOGvWLB1oKigogBBe3qHW1Jy/du3awe12c4KaL+AXFBSE9u3b60TEycgbSo14ykSlqVOnDmusCuHVC9y/fz9efPFF/OlPf2Je6rBhwzhbuEWLFmjYsCFq1659R6Sn1CLs2jmE3hX15jY8PBzTpk1DVlYWdu7ciaNHj+L06dPIzc1FWVkZbyiCgoK4Ypeal0xhZCG81cvIjh07xhEkRVHQoUMHXLp0CXa7HQ0bNgTg3YCoa8+bzWb+zEjnVz0XCeHdFBjxZAHv2KeIVHl5Ob+/2k2WEdj08/Njz+aoUaM4YvZr6qr7ai6XC0ljs1Br5kEMeeFD7D39Lb4uKEFpuRv5/yjDm3/LR+9171UKHnMue/mwOz64InEqH9pafWWQu83+AJQa+3dklFFTh5hbtGjBgFH9sq1YsYIXeJPJxBpjTqeTw+ZUKUc9mdNipP7/9PR0XLx4kY8joJCcnIyLFy/iyJEjrKGmzuoFvOAoMjISqampPu/HbDYjISEBI0eOxNGjR3lRDgkJ4VJ0ahPCKyau9mJYLBa0bdtW9xzUIX+yixcvSlmI6qxut9vNn02fPt3n8ybe1bVr16rUqlO30NBQpKenY+TIkRgwYABvDKxWK4YPH47i4mK4XK5K692qbcOGDRBCGPZvp06dpGPV4IHC5NU1kpYxEsg+duwYOnTo4HPhDwkJwcqVK9nLSa13797Iz8/HoUOHMHfuXPTt25fHltFi7XA4eOw3a9YMWVlZOHPmDMrLy2E2m9GoUSNs2rSJM7Z9VX05dOgQn6+q7FziWmoXKEVR0LZtW1ZbUNvu3bslcO10OpGXl8cATAgvqKqs3CiFvAmMh4aGSsBDURQ0bNgQkyZN4rD8Tz/9BKvVivDwcMydOxdCCMPrUxuVwZs8eTInR7lcLonvS9GXjIwMAJCqc9G1qJ+Rr7KnJElkJDVEFBetkoL2+aufQWBgIB588EHDai5UUctsNsPlcsHhcKBmzZr8ubpajxBCSriprlFG84IFC3QbgM2bN2PevHkQoiKRr1u3bliwYAEmT56MIUOGIDk5WceDp/tX1+n+JaF/8iaqw+Xq+tg0loKDg6UQcWpqKrZv344PP/wQ33zzDeLi4iRFiwMHDkBRFB6Xa9asYZ1fk8nE9c3PnTsn0TqsVmuVwu9UipI2XNQXUVFREpUgLCwMdrsd06dPR48ePVC3bt1qabv+2qYoChq06cwg8PDn3+H9r29g3quf44HNH2D8rk9wJvcmfr7lwZAXPjQEkwuyz+F6sff9UANKal8V/D4lhf4AlPB64T7++GNMmzbt35Lh7atZrVasWLGCPRjqUN6xY8ckHlmLFi04hEqAUh1qWb16NQBvOGLs2LE+f2/t2rVSX9BEQ95PoCKUpZ4Q77//fty4cQMmkwkxMTGYPXs2mjVrJnEJ1d+xWCw4fPgwAC9HT60pRuXKXnjhBXg8HjzxxBMQQmDEiBFISPBqgSYkJPh8fmo5lpYtWyI/P58X1YkTJxp+59atWzh48CB7N7WTfVRUFIeTr1+/zoDEbrcjKSnJZ1jWqHXp0qVKgWm32y1lVgrhXUTJc6mudEEhKV+e36rM39/fZzUR+lx7b8SfW7hwIebOnavLAjZaCIUQEqfxzJkz8Hg87LkIDg7W9QslrwjhBRpaWSK1kUyKEJVLIZGoshEPr1WrVlX2FwEKbTObzYbhfrWpExAoRAh4PcXq5DU6xmKxMAhZuHAh01Oqqs5BWp4kSbNp0yYOE6elpfGGjsDwggULdJs2q9XKCXcEbo0sOjpaV97wu+++44Q0I4+SxWJBYGCg1F95eXl49NFHpTKgERERmDRpEgoKCtCnTx8IUaERuGrVKq5Ec+nSJa4Pre6/6sj+aO3EiRMQoqLaz2uvvaZTnAgMDGRe4Y0bN7Bq1SquSqRuJH2jLr340ksv8XwGAD///DNeeeUVps4EBQVh2rRpWLx4MaZOnYrhw4cz2MvIyECTJk3YG68dK78kw58UN9TPKTY2lgEpeXy1lWlI+7hOnTr44osvcPPmTcN5zePx6FQtgoODdc+GKChqGaWysjJe5wYOHMibkTsZNXQ6najR7VGWBmr2zJs6QNhg4ev4/ocynPzqhu6zts++jZJ/uvHIX73viBZQJsw9gkXZ1dc0vZvsdw0oy8vLsWDBAp6wfutQd1XNKNubXraTJ0/CbDbDYrFIFSGaNWsm6SbWrl0bVqsVDodD2kmqv6NutWrVwoIFCyQvy+7duxlUkvCvEN7sQuJbDho0CEAF4V/tHczNzeXf0wJMbUtNTZU8Ie+++y6EqOCYkfSREMZVQkpKSiCEF+CSjiQ1df3n8vJy7Nq1C/3790d0dLRuIm7YsCGDJJq8iVtG3jbK1FTbzZs3kZ2djTlz5iAzMxMNGjTwqV/qcDgQGxuL9PR0jBo1CuvWrcPZs2dx5coVicS/ceNGfPjhh/y7VEXl0qVLKCoq4nHqS8aoKqMkDK1dvXpVkrkRovIa1OrNAgHQOnXq4Ouvv66UQ0kbH63nsbi4mKtuREZGVur5AyqAIoFQ9fk+++wz3HfffRL3rk6dOliyZAlefPFFvl5/f/8q+4tE2o1aZaUQy8vL2eOlLetJRov0Pffcg+nTp0tSW0IIfucVRcFrr73mc2NCSVrq8VlaWiqVcZwxYwaHn9W/ER8fD6fTye8qJYMZGSUQdu3aFfPnz0eLFi2k81FCGnEUDx06xM+gsjKm586dw8CBA3XvDp2LNk8E/mjsUYY7vSvNmjWrdr1wMvL4ayWDtJ54ehfV0RTakLpcLinjXA0oAS/n1Gw2S4lrHo9HcmL07t0bpaWlPK7VcypV7qLfHTt2LIMtu93OkQ1K2tu3bx82bdqEZcuWYebMmfx527Zt0a5dOzRt2tQQEKtl6G6nmUwm2Gw2+Pn5GXoZY2Njce+992LQoEEYM2YMpk+fjieffBJCeHWHjx8/jk8++YQjAkRrIO/ona7hHfPoC1XyId//+ga+/r5E9/cTl77H6+fyET/b6yAx8lDe86f/vK0xeLfY7xpQXrx48X/VI1mdlpCQgJycHKm+MuDN3lNXJRDCm1Ti8XiYI0l6ZTk5Oez1cLlcMJvNSE5ORo8ePXiyVxQFDRo0wLp163D+/HndZBMeHs79ZrfbubZxaWkprFYrIiIi+HOqnJCYmIjRo0cb1qGmZrfb0aNHD2zatAnXr183zLIkD2tMTIzuGb766qsQQmDdunXweDzSdQcFBaFNmza6TFw1Z+uVV16BEAJLly6Fn58fYmJiUFhYKGX5CmEs/FyZbdu2TVr4hPACysDAQJ+eTQKKzZs3x7p163DixAn20Arh9d6ogeftLpxkBDJmzZqFPn36ICEhwec1UUjM4XDgwQcfRJcuXZgfq/48Pj6eJZcIVGgz5QHvBsBisegSaU6fPi1V60hOTq7yPlJSUmCz2Tg712w2Y9CgQdKzI6+v1uN24cIFvucBAwb47MvNmzfzuVJTU3Ht2jVcvHhRqoaSlJSE48ePS99TUy6E8J1h7fF42PM1cOBALoX4l7/8BQsWLODog/p+YmNjMWDAAOzZswc///wzAG+SltZrSHbq1CkGPur5TlEU5t8S8G3WrJnhOc6dO4dp06bp3guTyYT4+HhdQhptPMeMGYOCggL+3fT0dMMqTmqjJBD1uxMTEyOJfxPAJrPb7TzHpaen3/a74efnh6SkJOlv9CyM5qwpU6Zw1KJu3bq6pDgtoHzrrbcghHEp12vXrnGSI3kNtREEtRoEjQd/f3/Mnz+fNxEHDx5kio06YxuoSCpTV+hRJ8Wpxzi911lZWSguLsbq1ashhDcB84UXXmAg279/fwwdOhSZmZno0KED81LVYX71OPklyVO/dv00aorNWWUiTuNFx1D8088MHKnN2v8Zin/6GS2XvlUpoKw9+zB+/Ofte8v/f7ffNaAEKrxxv8XAvWMvwP+EKbQJEDt27NBde61atbB3714MHjyYFzv15EyAZOTIkXye/fv3Iz09XfcCqxePyZMn8/E1a9aU+DgUuti4cSOKiop0Ei/BwcEYMWIELl26xB5PmnS0iR5CeCWBnnvuORYB9ng8fP1aLUsKj3/00UcMvrSeZqvVio4dO+L555/XTfzknUhPT4cQFXIgkydPls5RVQk7rRF/tV69ejh//jyDBiG8gthLliyRPAy1a9f2maiifS42mw1Op7PSRbOoqAivvfYa5s6di8zMTE6EqSxMr07MmTx5Mp+fgKKax5ebm4uxY8dKJeJIPkjN8dKWW6QayAcPHuS/rV+/nrU4d+zYgXbt2kFRlCoz14ODgxEdHY2ZM2dKYdOgoCCMGDGC+cZGAtQAJIH4hIQEyXt05coVNGzYkD8fPHiw7vtqGRf1u+fxeJiq8NBDD0EI34AS8I5vtSJDgwYNpM9LS0shhLfAgLYutaJ4S+SZTCZEREQYhuDff/99neeTAGSvXr2Ql5fH7xfVKc7JycGECRNQv3593TuqKArGjBmDEydOVDoGSTqruLgYEREREo9UW/udjGSdUlJSUFhYCEVRGCSpx78QAleuXJH6Z9CgQSwVpeUdV2VJSUkMyM+ePctya9rWsWNH6Vruuecewz7QAkoAXBL222+/NbyGnTt3SjXtiSN/5swZ6RpcLhfWrFlj+LvqhMju3bvzMWVlZRBC4L777pOux2w266gPnTt31kWshKiolHP58mWYzWYEBARI0SW32800BCEEJ00JIaRNRGlpKa5cuYKPPvqINXQp/N+oUSMMHz4c/fr1qzJp8pe2sOS0Kr2TBz79b/x8yyMl5rRa9haKf/oZs1/5jP8GGAPK+NmHcT7vH5WMuLvTfveAEgBefvnl/5OeSvVEXrduXSmxgyrr+Pv7o0GDBryYE5hS7xITExPx7bffIiUlhSdDdXjwzTfflDx7fn5+OqAaGBjIk0znzp2hKApPVqWlpTo+j6Io6Nu3ryEXi+QwhPB6VcvKynhisdls0nkCAgKQnp4u1V/OyclBXl4eli5dargbjoyMRO/evbFq1SpeSJ1Op0/BYj8/PwZT3333HXt+IyMjJa9ZVWR0shUrVkAIL5BVl17Mzc1liShq999/v/RdAp579+5lMNigQQOfmY7EewsODkZQUBCcTqfhWKZwe5s2bSSeoqIo6Ny5My5cuMCgTMsrLC4uZk1NI/vss890ISk1qO/YsSOKioq47CVV6vF4PKw1GhQUxLWUyetMmehaKy8v5z6m5nQ6eUMxfPhw9qpUJrlD9dtpk0Nl8SZOnMh9GBwcDJPJ5NOrRuOrT58+utrWDz/8sKRDWZlRMosQXs+P1ho2bChVErp58yaysrLQuXNn3UakRo0a6NKlC8aPH6/jAqampjJYovdMvSmIioqSnh1lB0+aNInrqT/wwAOV3gvZ4cOHIYQXxFClnOXLl3OlHq2oOyX71KtXD263m6sFURQlPDychdiF8G60unfvzpziNWvWAKjwcJLsTXWMxoBaEkxRFEyaNAmffvop///GjRt1FWSioqJ0gvxGgJJkcHzxYa9cucJzLZ1fC/YURTEseqA2t9vNHvSYmBjmzzocDp6PSktLoSiKFD2iuS4qKkramGgBJeDl6ApRIUeXm5srRS4ogkXeVCPBdQCcwS5EBceUrHnz5hyCv1Prs6IoqN28Y6Vgcu3b3tyEBdnnpL+/deE6cr75u/Q3wDeg/DT3ZqXP6W60PwDl/9grr7zyf95TaTabMX36dKk6SHFxMYfFAOBvf/ubboGhsKC6fFVeXh727NkjZZD36tUL//3f/w3AO+FQFRj1y9i/f3+uvrF48WKkpaVJLztNIL40F8nU4tkkAUS1dN1uN/bv34+BAwciLi6u2pNJo0aNOASoth07djA/rFGjRjrNNgIisbGxHB7v0aMHPB4Prl69ymCuOgkcHo8HLpcLLpcLfn5+EqBct24dbxLU3sLIyEjOYqdFm3hsRUVF2Ldvn6Ent6pGmcKtW7fGqFGjMGzYMMmTFx4ejoKCApSXl0u6g0aTP3mOKqsiQuAwMDBQ9y6ZzWbW+Dt58iSKiorYe56WlqbzrJHXVt2vO3bsQNOmTaXxEBsbiyNHjvBx5NVQFAUhISGVhldJ/mbMmDHYs2ePdN64uDjk5OTAZDIZlrojI9H6jIwM/PjjjxK9gpIthKgaUJ47dw5CVIAndUQAqAhPvvDCC7rvEu+4b9++6Nmzp0+1gg4dOqCgoAC3bt3CjBkzDL3VFosFaWlpmDlzJusUkg0bNgxCCM4Aro4lJyfzu02lF0+cOMH3+fjjjwOokABKSEiA2+3mfhXCC2rVSWklJSWw2+26eaFHjx68KSGpISNwTnbz5k1Mnz5dyuym91aIiix2Ne1BCO8m/syZMygpKcHo0aOld3rlypXweDyGgBIAV+Oh61QbbSYPHz4sbfqoD0JDQ5GSkmIoCG5kVNXHbrfjzTffRHx8PFcSUm/qhfAmE3k8Hv57XFwcex+NACVQAdzV1d5oPSEtVJp3O3bsiC+//BInT57EgQMHsGXLFixfvlzq+169eqFDhw5o3rw55wX8ksSjqlp8k7Y+weRzb30JAFhx7Avp7+N3fYKfb3nQb8MppDx1jBsA/MdHuUh56hgS/6e+9x8eyj8MQIVExf+1ZrVa4e/vLwFFdTIAAcrHHnuMJ9n+/ftj1qxZPNmZTCbWtiMwQS/sgw8+aOh9I5HvGTNmcPhQ2xRFQVpaGrZt28YTcXXDTeoF9P+x993xUVX522f6TCa9F1LpJYFAQkfp0jtSpIjSCWxESmDRiKAUQak2siwIKqhLWaQIRhZxEYKC0SwbUdggyyJiFrIxxnH27vP+Mb/vl3vm3klRfH++7+b7+ZyPmJm55dxzz3nOtzyPEEKq6KWcLdJzra6PYmJi8Mknn/g8V2VlJXs8SIqNvD1UiEL5dupqXMBD/UKTmvek6m3z58+HEJ4qeyI2V9Mb+fv7c7J9RUUFJk+ezJOxzWbjYiZfkpPqRTQ4OBirV6/GuXPnoCgKbt26hf3792vC3L4AuclkQrt27RiAGI1G1KtXT/e+qDI7JCSkyvunkGNQUBAMBoPEkUotOzubxwopFHkbeXJ37dqFe+65R+JGTE9P58KFAwcOSL/75ptv+Dz5+flVXisAmM1mpKenS6wDQnjA2fr16yGEwObNm6s8BqkYkedvyJAhWLRokVSskpGRUSW4pRy64uJi3uCoQajL5YLRaGS+WrURJ+EjjzzC3kaTySRRHtW03XPPPT6vMTg4uNbMAqQuY7FYJC3vmzdvchUxgYr4+HhUVlZi0aJFfD3t2rXTLc4aPXo0hPBsTtQpFkJ4VJCmTp3Kz2P06NH8u8rKSqxYsULKb/Xz8+OoBOUQEtAFZMopITzV92pzuVyYO3cugyen08meYW8jj7X3cywsLOTfer/rahnU1atX12hMkh04cIDXANo0eot3qDcIiqJwuk9UVBReffVVPPTQQxDCA/gmT56MkSNHok+fPujUqZMmmkTXa7Vaf5JXkSrQ1XmiesWqP6fZ/YN0cygJTD577HPNZ8/9z2dV2ZRXztblUP5vX8CvybwXlV9ro5d4wIABqKyslMLV9erVk8LMiqLoUrxYLBbMmDHDJ9ccAHTo0AEGgwEnTpzAgAEDfFbB16tXDzk5OZxz+fDDD9eov4UQUpjEbrcjJSVF8sZZLBY0bNgQkydP5sme8nS8CwTo+40bN8a0adN0SbfPnj3LYaTQ0FC8++67XFlqNpt9ghAqdBLCN1CprKyE1WpFWFgYAHDFIwHVrl27YuHChRzGri6nsXXr1uypaNu2LRRFYa8DNV/UOm63G0uWLJHIgQcNGoQFCxZgwIABVXo81eHxiRMnYsOGDTh37hxXZa5atarK50qeCyEEX4seuElNTcWf//xn3WdEOa3UGjZsiFWrVjEoI2+ot2eTAK0QQvIO+zJ1VXGHDh1w9epV9iJR7l513qDLly/zMdT0RYqiSHlkFosFkyZN0gCkkydPQog74fkffviBUwjU+uwUDVADU0VRpMItu92OKVOm8MbE27tjsVgkXkMhtDm6ao8vGXkM1bnXNTUCdvReqK9d7VHevn07V/nTM/dlRMc0duxYxMXFITg4GMXFxRg9erTkoSUw0q5dO7Rs2VLix7z33ntx+PBhvha9cXPmzBn++7hx4xAWFgaDwaD7zimKguXLl0th5GnTpuH777+XvkdsFKRadOLECWnT3KZNGwZnW7duRXFxsXQ/BoMBqamp+PHHH/H3v/8d586dwzvvvINXX30VGzZswNKlS5GdnY1JkyZh2LBh6NKli09QRuCttuDPe1xRnr8QnhSrNm3a8HOn8RkTE4NVq1Zhy5YtvIHq2LEjV7ATPyoAyRP74IMP1uraatLipudJgHHNUQ8H6vr8i7qey04r8zHqpVOaBgBHiq5j1Eun0OrJd+qqvP+3L+DXZNXpBf8a2kcffYSrV68yuFJPBCQHpzaXy8WFK94TAHFJ6hl55bzDi2pvXkJCAvr166ehBjIajVXmGyqKUqVmenx8PGbPnq3Jv9y/fz+EEJLnVQjPbv3cuXOYM2cOWrRoIU3ORLY+YcIEHD16lL2Subm5GjBXXViSijRMJpOuhB2FBAcMGKAJWXk3NWgjCqGPP/4YTz31FHspqO+DgoIYRPTo0YMr6Ok5qMm/9bSKly5dqkngp0IbITweHMoFvO+++2pUwNOuXTtMnDgR69evZw+p2mhRHTJkCOeOqXP11C0wMBADBw7E4MGDNTls/v7+umOpWbNmsNls0t+osjgjIwMTJkyAEL41l4uKiqQwv7pICACysrL4Gk6cOFHluFCTg3uTfZNHqk+fPuxJM5lMGDZsGL979evXh9Fo5IIYwOO9pu8//fTTAIAtW7ZACE+u4A8//ICsrCzJw5+UlKQJd4eGhqJnz57YuHGjVOREXreuXbtKOtzUHA4HJk+ezO8gjRdfxTRV2YULFyCEZ8OmNgrje9MOUUW6d8jd28LCwhAcHAyr1apJS/jggw84B08CEnFx2Lp1q2a8lpaW8nfouVCeoBB3gHRRUZFGSUbP1AUlZrMZI0aMQGFhIQoKCrBjxw4IITj3mb5nsVjQtm1bfu/Cw8MRGxvLm56fqujjzW+rnoOaN2+Otm3bolu3bhg0aBDGjRuHWbNm4be//S173um9ffbZZ1FeXo7Lly9zhKtv374SvZI6b5UIzvPz89kDTMpcQngcA2SNGzeG2WyGoii4dOkShPBE0Xr27Klh6fi5zWQyIaTnVOahXPb2XwAAx4tvYMjmDzStqnxLoI6HUm11gPJ/7Mcff/xVFuZ4NwoRrlmzRjPBUFUg4MkzUue2eC805G00GAzo1asXSkpKcPPmTWRnZ0teAofDgUmTJkl5h8QjqJZEpHC8ug/btGmDHTt2wOVyYd++fRg1ahQSEhI0/dyyZUssWLAAW7duZSCklhNTm1plhZreIldcXMxk6+rqZaPRiPj4ePTr10/Dx1edR0vtKTAajejcuTN7Gn2NHSIEV/NO1oTSRO1RMBqNGDlyJEpLS5GQkIDAwEBcv36dyYmpP5KTk/m5RkRESHlnalMUhT1gnTt3hqIosFqtXCyjNnW1+MCBA30SwdMCRSCZvieEDBjatGmDyspKbNiwwadUXZMmTXD27FkGapTXq7bAwEAkJCTw/5P+u9PpRHl5ORRFYa+oGhC63W6WGzUYDOzJu3r1qnR8KvohupMVK1bo9iUBrbZt28JoNGroXryLcvbt28dAlgj9hbjD66q28vJy9uBTVS9V11Y3VxGnoZ6Rl1tduU4V1fQcvecKg8EAu92O48eP/yS6KhrPZ86cAQDO53Y6nbryfGqw4csol1uIOxKuBQUF6N+/v7TJjYqKksaa0WhERkYGXnvtNb4X2iySEoyaMshgMGDVqlXIycnB9OnTWSM7JCREknCMjo5GaGioJDP5U/P/iAg+PDyc568mTZqgXbt2Eght3LgxlixZgvXr12Pnzp04fPgwOx1cLheOHj3KkRzvAh8SmqjKaGMmhMCOHTuwZ88eHg+00QHAG3y1UAZFC9xuN65cuQKDwcDrUHp6Onbs2IHf/OY36NmzJ4PWqjyfd6uZTCbENE5nAPjhpW+r7IPaAsrEnDqlnP96o4lfXflIoa9fW6Pco8DAQLzxxhsM5gwGAyZNmoTBgwfzSxgTE4Nt27YBAFdSUxX3oUOHdKkZnE4nh2p95X2R9yQ9PR2/+93vIITA5MmToShKlTrN/v7+yMzMZBDUq1cv6bjXr19nIKDHWUf3npiYyB7lgQMHVvt8r1y5gqVLl6J9+/aaBVPdkpOTcerUKQ1ZuS+PndVqRVxcnOaeu3btqinKqY0RkBg0aJCko240Gpkvj2hr1ADbbDZrKk69TZ3aMW/ePD4OKYVUZ2FhYbBarbh+/boENps1a4bQ0FCfC4Cfnx/atm2LVq1a6XorSQaT/p82NpMnT5bOTzRSpI+uBshqD+GVK1cYZFZUVOCtt97ivmrQoAGKi4u54MBb2rNRo0Ywm824ePEiX2u/fv0kMEUe6YyMDCiKwnl9akJqX1XeJ06ckKh8MjIydItdbt26xQBCb9xS/iG9j1artUrC+1OnTsFgMCA2NlYDDKnwigqdfHnGiHty7NixOHDgQI0AJhWDNW7cmDlaCRT7+flhx44dKC0tZeCZmppaZTqOum/puOqNo7+/P9LS0jB06FD07dsXHTt2lPJw79ZcbDKZOLUlMjIS8fHxaNSoEY/j++67DyNGjMB9992nK/JAfTxixAiNR5qMvJZktLFQ5xl6V8yXlZXxe242m/HEE0/gu+++4/P6omHTM/JUUtSzKNonAAAgAElEQVSBNhZkVEhIJPzEIZycnAyr1cqg0de8QCIadC/ErHDx4kXs3Lnzrj0rdbPb7Ygc9SQS5u+rlkKoNq1Oy7vOAABff/01mjVrhsmTJyM/Px///ve/8e9//xu7d++G3W7/1XkvJ02axCGXjIwMmEwmKdQbFRWlCeNRcjW1iIgI3R10ixYtOE/Hl5HGME0kJpMJvXv31oQnbDabtBA6nU6pso88C2pTFIXJt8PDw9nzSsUHQniqYKOjo3mSItBcnRE1CRGq13TyIYWb+++/X+L+s9lsUpJ7aGgok0VTUU5tjUK3QtyRjszPz5fUjtLT06WwekhICOdmBQQE4Ny5c7rHpnumKtSuXbuiffv2MBgM1coIklHIripuTm/SffUi5t3UVFF2ux0jR45E+/btpbSGZs2aYdOmTXC73VzAQGoa5KlSF1KQEXihBYsIm8ko1KmmLCkvL4fBYOCcLpfLxTmd8fHxuHHjBpPtp6WlMaD67rvvWD2FrCraoLy8PH4P6T5TU1Oxbds2zJ07F2lpaT5zXcePHw9FUZiwWggPqPT2tKqtsrISAQEBMJlMUjSD7OLFi3ys7OxsKIoiybl2794dixYtQmZmpq46DpGt621CIyMjdfP4mjVrhjlz5mDSpEno1KkThBAS8IuOjkZERAQCAwPhcDh+cr4fFXvQOKNNsxrkqMdnamoqv09z587F+++/L8kNVlRUVNmX9H653W7k5ORwf9lsNilvnM5Lm2N1zqy679TCEoCnItxgMGD16tU8RjIyMvD1119jzZo13IcdOnTgEL66sHL37t0MYO+5554qw/dEr0Xvj5oF4urVq8zqQJ5bXyF29Zowc+ZMbN26VYouUd6kEJ58ymvXrvHa8kusv+agKCTO31styXltWqMlh/BVac3m0f8frQ5Q1sA++OADXW7G/81GL+Knn34q7cwjIyP5pezatauUN6WubKTWpk0b7Ny5E4qi4PLly5LUYnh4uKaKFvAswjNmzNC9rrCwMPTs2RPR0dEwGAwcKi8tLcUjjzwihWuE8CRsq1Vx1KbmrKOq3tjYWPj5+SEmJgYWiwVpaWnw8/OD2WzWLKZU9bxo0SL06dOnSs8kPVs92cTg4GB07doVa9euxc2bN7la/LHHHpO+N2LECMlb81MA5VdffcVeNafTKYET0lRXL8x2u529yadPn0ZeXh7ztr344ovSsb1zl4KCglCvXj2YTKZaXyf9Ti+/UVEUn/mSkZGRePnll7F//3789re/xaBBgzhnU+/90guBUTj90KFDOHDgAITweKj0TL0JqV+/vm7FsMViQXp6Ov8/Pdc//OEP0vceffRRCHHHY9ekSRP8+9//lr4zc+ZMCCG4730BSkVREBwcDJvNhvfffx9jx46V3mPvlpiYyJ+bTCY0aNAAV65c4b+1bdu22uIhAvkvvPCCz+8QkTjdw6FDhyTqFrPZjM6dO2PIkCHo0qUL4uPjfc6N1QELX408Xer3Lzk5GU2bNkVcXJzue3z//fdj69at2L9/P06dOoUvv/xS91lXVFSw53v58uXw9/eH0WjUyGuGhoYiICCA8/r07IMPPmAw7f0dYimgTX5QUBCeeuop/t7nn3+uyV0dMWKE7nnMZjMyMzOlvxEDR25uLsrLy6VCOCE80Su1Q4HyHOl5KIoCt9vNzCaRkZEaOjXAM37VErBCeNKgSPPd+3nTd+gdTU1N5aKahg0bslTvrl27NOfauHEjH0udMqM3D9ytFtt5xF31UO4q0F/L/lusDlDW0D788ENpV04Tha88sF9i8KtbSkqKRGehrjy8efMme1TMZjOaNGkiTcLqils9fWziAKNdYVRUFIYNG4aOHTv65LgTQg5fExkwEd8CHt4/q9UKq9XKAJFf7NhYzJs3TwNQTpw4wX3scDhQXl4u5TeNGTOGJ0uHw4HGjRtXWVBit9uZlzEuLg5GoxGVlZVYvnw5hLgTMl21ahUfw5sLTQ90GgwGDTCuLaD0Dt0ScL18+TLeffddKazepk0bZGZmStfl5+eHyspKFBYW8nMaO3YsFEVh5aR27drxotaiRQvu27Vr19b4OoE7Um7ePH9HjhzRhPYaNmyI1atXc+h+0aJFPo/7l7/8hSlXjEYje++qe6dGjRqFdevW4aOPPoKiKDh9+jR7YEJDQxl0Ez+e2mJiYiQ6nKSkJNhsNvznP//RfJdAuRAeHlZvc7vdDPIVRdEASipIUxe3qecU0q6mv1ksFjz11FMAPJsN9RyknntOnjyJ/fv343e/+x2eeeYZLF68GDNnzsQDDzyAgQMHMnhxOp1ITk7me/b394fNZvtJfH+02SNJUepnX+T66jZ9+nQcOnQIZ8+exZUrVzhtRu31Pn36NIMZ9YbDarWie/fuePfdd9nb17dv32pG7B0rKyuT+FhJpYjemejoaKlSOy4uDgsWLNDdPBFNGEVa/vnPf2LUqFF8rZGRkbpKTYqi6M6l8fHxEti6fv06hNBP+7BarUhOTobb7WZFJmrR0dE4fdoTej1//jzzstLnanaFpUuXQggPkB8wYAB69OiB+vXrV7kB9/Pzw7333sua7Z9/fodWh9YPmv+F8KQSuVwufP/998yP63a7sXfvXowaNQrx8fHSmKG5Nz09HcXFxRwRuNstNjYWwZ1GIzHn7Z/tqdz03hc1HoP/v1odoKyFFRQU8GRPO8KYmBhNccfAgQN/kcGv13r06IHU1FQmNgc8xSNjxoyRFnZ6QTMyMgDcyaf0lnmrrKyEwWBAdHQ0WrVqpQFmgYGBGDZsGN544w0JjOgRCVPuDeWGEX0R0ZII4ckxGjRokOSdUVPEbN68mRcvITw7fW9VFnUjKbEOHTpg0qRJePDBB2EymWAwGLBmzRq+Nm9eP6IHUauzlJWVcdjLaDRixIgR6N+/v08KDovFIlV/1xZQ0k6eQrckueY9vtSe2OvXr2PQoEHSYrtz506Ul5ezzKY6EV7tSSGQWVWubFXWqFEjGAwGnDx5EmPHjtWEQYUQmDFjBn+/srKSCwP0wJjaXnnlFR4TRqMRgYGBuH37Ng4cOIDQ0NAag5/o6GiMHz8eCxcuhMFgQHBwsMaT16lTJxiNRgB3QuDdu3fXXBN5O2NjYxnoquXtyIgcetmyZfj8888hhEfpivTN1dcXFRWFtm3bokOHDpocQHU+qcFgkPj5fmpzOBwICgpCREQE5/u1atUKHTt2xH333cfAm1IjaOP81ltvobCwEJcvX+bPjEYj5s+f79ODV1FRwVKbeq1z585YsWIFbty4wXm5lDe5b98+dOzYUQIZpHalPp/FYoHFYoHD4ahyPPl6ltSIXD8gIACJiYlcuJSRkSHNow0bNsSaNWuk94U29mrSfaJm8mUE4oTwbAwcDgfGjBkjFdVt2rSJUza2b9+uOUa3bt2k+aFhw4a4cOECHnnkEb6O/v37IygoiIUr6JwpKSmoX7++rqeR5jJ6xpRa8+yzz0JRFJ7XKQeYRBjIbt68Ka0bRJLucrmwc+dOieZKPd7V8qNCCElbnVgXfonWu3dvBLXuh+SF+7nyuzY5k42WHPqv90yS1QHKWhrR3dCuv2ef/hg0cSaademHBpldYbDYOVeRPEy/VLNarQDuEJtnZWVJ+TlhYWGYPHky5/3RpEMLKv3tueeewyOPPILU1FTJ62EymZCUlIQxY8Zg8ODBvGP19/eX+PUAz46ZwkZEJEz8fKmpqRwiV3NUCiHv7B977DHEx8fXylNy//33Y+PGjfjkk0+Yj5PC9BR+dDgcGpofoiyhYgzioVMTxpPl5+drQrj9+vXjSdM7x9Zms3FfqtVeqrI//vGPEOJO6PbFF1+UnuWoUaM8u+ngYN3fl5WVSdX5YWFh2LBhA/eJwWBAQUGB9BuSJ0xMTKzRNartxo0bumDBYDDgpZde4r7xBm/qkOPq1aurPIfL5dLQGymKgoCAAAbJw4YNQ1ZWluRxooUwMDDQJzl8bGws2rVrhwkTJrBM3aVLlzBv3jwIIfDaa6+hsLAQ7777Lnbt2sWbRKfTiQkTJmDYsGGcvmE2m5GSkoL4+HhEREToFl/UplG+n9PpRHBwcJXpNgaDAaGhoXj66afx0ksv4a233sKf/vQn/OUvf8G3334Ll8vFudJVEf+TUaGRutJZb8ydPHmSx2dkZCROnjwpff7ZZ59pZB9DQkLw+uuv66beCOHxJNevX59zAqni/9lnn5UkOmmDeuvWLQghuLDQWzfelxUWFmr6kwAbRXMSEhJgt9v5NwcOHECXLl14fjQajWjdujVWrlwpFW82aNAA7777rk+lHBrXdP6xY8fyXDRv3jwN7RcBO7XsLuB5/+jdNhqN2LBhAwBPTuPOnTvx0EMP6UZS1M3f3x/Jycno2rUrZs6cieeee04KNSckJODmzZsapRxFUThf0ldKgFoq1xf1j9FoxOrVqznHk949+mzfvn3o3bu3hgbu57xbvprZbMaIidMQM+YpBorVAcnEnLcxLu/0f3XOpLfVAcqfYIMnTEPDUYvRdP5uJHq5yRMWHkDc9Dw0HLUY90/x8D9SeOuXaBEREZLXwt/fHyNGjNBUjD755JP8HT8/P/Tq1Uuz8NFu32Aw4E9/+pNmolAUBUuXLtWEaqiYQz3RPPjggwAgFb4kJCRgz549yMnJYUoYi8WiO0noVZa2bt0aDz30kLQYqCUev/nmG6bSITqWlJQUlJaWap5h06ZNJW1kwENyrQcAjx8/rgGUQ4YM4bAYJdLThGg0GjVhSyJb1yPyLi0thc1mg9VqxeLFi/m4NpuNF9+ioiIGqr7M5XLxb9XFHE6nk/Mq1VRCv/3tbyFEzZWNSI5TDRTUzyI8PByXLl3iHERfC6o65EgLYVW2Z88eCXTQv+Pi4vD999/jz3/+s0TFo94U+fn5oUGDBkhNTUVsbOxdTe6vSY4gjYOGDRtixowZmD9/PiuJkEfSbDZj4sSJ+O6773z2weXLlyUPpvq8VanbEChcvnx59Q8YwAsvvAAhPEUbb7zxBp9DL1WAiNupT/v27YuysjKmZVI/j9DQUM4HJt1yPz8/bNy4UbcPzWYzWrRogXnz5jEf5ebNm1lBatu2bcxOQBsjPa+yt7ndbsnzvXHjRvj7+8NgMGDXrl3SBqZ3796695yXl6cBxbTZbtSoEQB9LW/6vZohg8zbQ+t2u7F48WLuW4fDgezsbLhcLsyZM0fqM6KSqslGPDU1FQ6HQ5cirLi4WMpxp4JIPelFUtMR4g6VXWlpKZ599lndDUNYWBh69+6N559/HmVlZZxipPZuqnmg1feSmJiIxx57DCaTSZNbebcaRU7S0tJw8et/IXd/Ee555j0keQHJpP8hLc/dX/RfSw1UldUBylrYV6UVGJd32gMcq3ONL/wjEnPeRuaCVxAUm+JTZeZuNm9SZcAzgR07dkyXvFjdkpKSuLpVnfeoZ7dv39ZMaGPHjsWtW7fw7bffco5mQkKCRB6t1xwOB4enN27ciMLCQrz55ptMJXHp0iWsXr1aUvtR71hpAidbt24dfzZ8+HDd3XNFRQUMBgPatWsn/b1x48ZS6Eyd7G4ymbB48WKUlJRwKJkmPqfTyeeh80dERLBUYVVk6++88w7nHBEIdDqdyMnJgdvtxl//+le+FyFkGTk9+/jjj5kzUD0xE2AVwsN5qCgKc+917tzZ5/Hcbjeef/55NG/eXAqr9+zZE3v27OEJ3ul0wuVycQ4hVWaq7bvvvsOlS5fw4Ycf4tVXX+WFvV+/fpzvN2jQIHTr1g2ZmZlo3rw5UlJSEBMTc9fyktXvYWRkJJKSkni8qj1jvsKA4eHhiI+PR1RUlG6OWXJyMjZv3oyysjJERETw+ebPnw+32y1RBfn5+WHBggXVFtPs2bOHN3rLly/Hxo0bpRw/IQQzC6iN2AJqokFPVlJSAiE87AKU/2Y0GhESEoIff/xR9zfXrl3TbJrj4+NhNpthMplw6tQpREVFMaC8ceOGRgnJz88PU6dOxe7duzFp0iQ0aNBAelZWqxVNmzbFyJEjud/pvbly5QpT1FRFYaQoCntV7XY7/vrXv/I9kxd44sSJVc6nR44ckZTJkpKSNCk4SUlJzJzgbZQaRNElMqLHoY341atXsWPHDtYsr24jFB8fj27dumHWrFnYtm0bjh8/zkCzrKyMxzhxQXqnCLz22mucGvTcc8/h6aef5s3AI488AiHuAMqKigpYLBaEhobyRlsvFcPhcPAG0FscQFEUBAUFwW6348qVKxg/frzm91OmTJE8szSn3o15wFfzrrL/7gc3iq7dxrkr/0TRtdv/lXKKtbE6QFlDe73gChotOVStK1wPWCbM24M+s5bx5PxLvQyvvvpqlYnOQnh2xdnZ2dKETt5ACt3s2bOnyr4g7yLxnNX0nrp3745NmzahsLCQQ8zetEEHDhyAwWCAw+HQ0HHcunUL8+fP1xD0hoaG4sKFC9ixY4fk2fRFjk5FPN6VhkOGDIEQAi6XCxs3buTJKyMjQxNy8q5Wnz59On9GpNhCyNXHFy9e1CVbp2axWDB+/HhNPmNYWBh/vyYePXoudrsdFRUVWLduncbDSl5Gk8mE2NhY6feKomD79u1IS0vjZ0vUJoMGDcLUqVPRtWtXScZOCE++Inm9CZDRIlWbcUweXofDgcDAQERERHCemJ432+l0YurUqdi4cSNee+01HD16FOfPn8e1a9eYVL9jx45SuFIIIeVTkmSmEILDt1R1ajKZOA/N1zWrtYujo6OxZs0aVgoRQnCeM/XNihUrasTfOHfuXH6W3pKf3tfTpUsXXLt2DYDMwVmV51PPjEYjOnTowLKna9asgRD6HjvAAxD1lKEMBgODssjISDidTi7MUreAgACf13L69GnMnDkTTZs29UmhdPDgQfaKqzlA1VZaWspecafTqeG4/PLLL2G326VqdrXt2rWLQZnRaET//v25r+n46txFag8++CBXT/ft25f//sYbb+Crr77Cjh07MGfOHPTo0YPHtt774j3uDQYDevfuzephRC8G3PGCGgwGlp8NCQlBYGCg5AUkvtLp06dDCA+oV8vVHj9+XNo0rV27FosXL9aVvKVxL8SdosUBAwZouGDJysvLpf5Qz4G0KSfv5Y8//ohHH32U++Vua3ur26ZNm3yOxTqr3uoAZQ1s43v6+p41B5WesHi3rFW/yEvga6Hz9/dHu3bt8MQTTyA4OBgxMTHSfR0/fpwnaTU4ADwT5N69ezk83aRJEyac1Tt/eHi4NPmkp6fzxFK/fn2YzWZER0dL5xdCBpRHjx5lbsfi4mKfz4MqH9VFC9TMZjMOHTrEoNM7twvwSN1ZLBbNgr5y5UoIcYcsWo8wGLjDyzZhwgQGoTSp0zGfeOIJvh7vxevmzZtSaE0I2etKRVGDBg3CK6+8InlN1CF+wLN43LhxA5999hny8/OZloOeU5cuXTBy5Ej06dOHybr1xooaENV27HkTRhuNRgaWnTt3Rt++fXH//fdjypQpmDdvHp566im88MILePPNN/Hmm28yWH799dd9PvMrV674vIbk5GQUFVUvdaYoCl566SXJw2w0GtGtWzfWaHY6nVi8eLEm/4/oYYYPH47du3ejtLQUBw8exJIlSzBo0CA0b97cJ/WRd5s2bRrOnj2roRxSm8vl4uIH4r70NgLAixYtko7fpUsXXtz/9Kc/VdsvesclDygpBPmiHFq8eDGDnd69e+PMmTPSJqRjx46SeILNZkPv3r1x4sQJ9tbVRBWHrKioCPPmzWMtaO85kKjO1O/2Bx98IOUk+uJbvXDhAs+HgYGBADybCsr/M5vNHInxZVevXq02hUfPA66OKoSFhWHWrFkcyqffpqWl4cqVK9i/fz8XthDHplonnYrtcnJyANzRYSeuVSrmoTmO5mjv1KDCwkJMmzbN5/2MHz8ehw8fRkVFBYNMi8XCROfLli0DcIdvtW3btli3bh2aNGki3b/6319++SUURYHNZkNiYiImTZrEcxb9lzznv0R7+eWXazwW60xrdYCyGnu94Mpd5alK6jH2F6MVouPGxsbib3/7m3QfRqNRE8ouLS1l74PecdTN4XCgXr16nD/56KOPorCwEE6nU8rHOX36NOdRqht5MF566SX+rhB3AOWJEye4GEFPMURtFMojT6DejjUhIYEBgnoBuX37NoTQ5p0piiJRwjzwwAM+Q5GhoaGwWq344YcfAEDiowwLC8O7774LADwBJiUlweVy4eLFi1wAou7r7OxsZGdnY/To0WjRogWCg4N9Jp8TTcdPJXf2JprXe+Z+fn5o06YN5s6di1WrViEvLw979+7F+++/j44dO0IIT0hfzVunLkDbs2cPunXrpgl5+zJ1yHH//v263/nss8+k623fvj2+/vprTJo0iRfoqp6Zt1VWVmoIpvX6ZOjQoTh06FCt5AbJ41PdOyWEx/MYGxuLtm3bYvz48Xjuueewd+9eXqD79+/v89x0/VOnTsWRI0c0QCUiIoK1uGtjakoj2gypSdEvXbqE06dPM2gNDw/H8ePHUVJSAofDAYPBoAkDk5eX7uVf//oXj2Oz2Yx//av2+Whms1kSSfDu79jYWIlaTQj9DabaiP2C3gMh7hBx+1LuIU/j7Nmz0b1792q1p00mE5KTkzF9+nRs27ZNisQQ2Prwww8519JisehWeZ88eVLaHLVs2RKrV6+GEELKtfbWYT99+rQ0Jg0GD0H6qVOnMH36dDRu3FiaU9VzEf2b5jhAznEWQjBgPXPmDBRFweuvvy6laJhMJnTo0AF79uzBH/7wB+n6AY/IiC8v6C/daiqQUWf6Vgcoq7CvSivQaMmhuwcoFx5AwqN/gD0s7hd5GRRF4WrI4OBgFBUVobS0lBPtExMT2dNYXbVcp06dsGnTJnz66ae8CFA+X5s2bbiPGjZsCD8/P6nfXC6XboWh0WiUFhUhPIDy9OnTMJvNsFgs+Pjjj6t9Lg8//DCE8HhfaFLs2bMnLwCxsbFSeMzPzw8vvfQSFEVhb44auOzfv1+a8Nq3b4+Kigr87W9/w+nTp3HgwAFs27YNa9euZcLiZs2aYfDgwejevTvatm2r8fz9nGpEyl2y2WzMEej9HbPZjLCwMLRu3RoPP/wwU4I4nU689tprOHPmDCfTJyQkSKCEqGy8QU54eDiOHTum2+fXrl3jxbtLly4a4PbFF1/wfQOoFaCk31O1vHe1bmFhoQSgQ0JCpM+Li4u5EMCXV5nsww8/xPTp09GkSZNq85pHjhzpk3Rfz4qKihhw+2r5+fkcoh08eDCaN2+O0NBQn8/YG2wWFBRw31N+Hamo7N+/X8qZpX83btxYAgDVGeWzeZPFk2wjefuMRiMeeeQRKIqCt956S+OFa968OQYOHMj3ZrFY2AtGDAGkuOWL1NuX3bx5E0J4eCvPnz8vRStGjhyJTp06afrU4XCgX79+yMvL0/VSulwuzWbroYceYi3qV155hUFjSkqKT3JvIkund0oIwTnsfn5+kke/ZcuWyMvL4/eTwJ66eafbeNvu3bs110DUbAAQEBCAyMhI/v/f//73/N2GDRtq7sFms6FFixaYM2cOzp07x/MIaXML4SnaAjx8tEajEXa7HefPn5fAdPfu3aW8ZBof6gIv8sIK4QFz6lz5/4322muv1Woc1plsdYCyChuXdxopiw+i2eOH8cKfvsSJi9/g23KPV+q5Y59XCyBPX/aIzkvi8Qv2I2r08rv6EtDE2a9fP/Tr169Kzwt5Gjt27IiHHnoImzdv5pxIdXW0EB6eMbUXijwX6nA0VZGqAQbtUNetW4erV6+yGgM1KiwRwkPTQ163Dz/8sEbPJSMjg6s96Zi7du3CoUOHuEgkOjoa/fr185lvk5SUJKkK0aRX276nkC9NnETcrvddk8mEMWPGMCht2bIl3nnnHZw7dw5///vfq+SCpGtbtGgRBg0axEpE3sdfuHChxFNJUpMPPPAAlixZInmOHA4H+vTpo7nOpk2bSgUJR48eZRBBYTRvUyt1bN++vdaAEvCQmhNIeu+99+B2u6VkffI2qcN7alu/fj33fWZmJq5fv45jx47hwQcfREqKXBhns9nQvHlzHr/qvjQajRJAqYrYGvAALfV7k5GRgY8//hjXrl2T3kWn01nl/ZPModlsRqdOnaoEm/Q86H4XLVqEY8eO8Xj28/NDQUEB+vbty+AmISGBgUBVRiTZajlKwBO6pOMHBQUhPz8fI0eOlPhHw8PDkZubKwE2tUa32WzG4sWLYTAYmGewQYMGMBqN1QIntZH859atWwF4cvIotG6z2TjfkYoCnU6nxusVGhqKHj16YPXq1RgzZoxPr78v0JiSkoJu3bohKysL27Ztk6JC6jkvOTmZNxrnzp3jHOXWrVvzOamqXb0RT0pKkviFqzLiD1Vfb3JyMkdxpkyZgj179ugWSfr5+Uk51uPGjZPmcwKUBPZo7A0ZMoRTlC5cuIBPP/1Uw8GcnJyMZcuWoaKiAkVFRTAajQgNDYXb7caFCxd+dZLGvnJw66xmVgcofdjFr//FILDTynyUff8jTl/6Fq+d8XgsqgOUj+3/DF+XeUIkEqD8n2YJj//FXgqHw8Fa07QACyF8Lojvv/8+hPCQtLvdbmniNRqNyMrKwp///GcIoaWYoQIXytXasGEDhPAU7Kjtiy++kBZGtUfQYDBg1KhRmDJlCu6//3706dMHnTt3Rnp6Oho3boyEhARERkYyJ98v0V+pqano1KkTU+xMnjwZ8+bNw/Lly/H8889j9+7dGD16NIQQePzxx3Xz32i3v337donewm63M0E66XGHhYXVODxLfHtCyDyZbrebKzC9w51+fn5IT09Hz549pX632+2w2+3SQmU0Gvl6jUYjHycxMZE93larFW+//bbu9V2+fBkGgwEtWrSA1WpFaGjoTwKUgCffi/Sa1bRWLVu2xAcffD20aBAAACAASURBVAAh7nhBvc3tduP111/XpRZxOBxIT0/HggULmIaGTB3mNBgMnHJRUFCAAQMGaIitV69eDZfLhYMHD7Jn1GDw6KKrtYkBj/dUfR3vvPOO5rorKys5JSQpKYl5+dRWVlaGQ4cOsWeTNgZVFXAYjUaMHDkSy5cvR69evXg+8KXeQkbAjDhjS0pKmBHA4XBoiPbpGqpSW4qKikJwcLBUzEbhRXquPXv29Pl7b5syZQqE0Hrv1IBsyJAhsFqtsNvt7BktLi7Gww8/jMTExGqLO9TetQceeEADGqsydfERbU7at2+v+Z7L5cKyZct0RSgMBoMm792X0TgcPnw4bt68icGDB1fJXUqRj6+++oqP4e3pJ3BFgFIIj9LWzZs3ORwvhMdz6Utq1TuETAC3V69eGqaCX0P74x//WKP+rjN9qwOUPix3f5FuRXerJz0LQlWAstPKfJT/4MbUVzz5S96AMmHBftQb/MhdfRFo8li1ahXfw61bt6QQgq9kdCIdJw9KUVER5x96S989+uijyM7OxqRJkzB8+HCuDI+KiuJJVE1NQeCgtvdC+X5OpxMhISGIjo5GQkKCNMn37t0bo0ePZi3vlStXYsuWLdizZw+ys7N5UX3iiSc4LEOLovp8gYGBGDt2LC5evMihOO98KZfLBZvNJkn0eZs6l5KoPigsZjAYpEWGZDJrYhTSCgkJkciW9+7dC4PBAD8/P1y5cgWKouDQoUPo0qWLTy/phAkTNIt3WFgYoqOjsXv3bgaf3oUrVZGQqxWRiPC+fv36PwlQ3rhxg8ELNX9/f+bApL/t37+flTcGDx6soRZyOBx8L5GRkSxDp2fkMRZC+FzADx48KBFbq8fqgAEDfHrXiMtRDXTU6Raff/45b+AGDx5c41zN3/zGw3F78eJFBAcHMziqV68emjdvrgF91NQeeYvFgr59++LMmTO8uSEFKSE8RRSzZs2SuBC9751AgZrfVM+INsgbYI8aNQoul4vzrr2LznxZZmamZmOxYsUK3XuOjo5mrkm9z4kE3/vvFouFKYJsNptms+DLKIwvhOCcRiGEhrUC8IR81V712bNnSywWRqMRDzzwQJXnJrENmoeryuFs3rw53G63xGjhbevWrZOu6cUXX5TuIT8/X3PcgIAAjB8/HhcuXIAQno2vmt9TbeoirV9bqyk5fp3pWx2g9GH3rH5PFyzWBFCeuPgNDn92HYk5Ho+OnocyfkbeXS3OMZlMsNvtsNls2LZtG5577jk89thjyMrKkihcUlNT0aJFC9SvXx+xsbFc3apeJGpzXvq+2rMVHh6OlJQUNG/eHJmZmejWrRsGDRqEcePGsbyg9+/tdjuysrJ8hn0LCwulMKSapoe8dN55YmfPnuWFNT09XTrnzJkzcfXqVUybNk1SWaGFX03iC4C1ZL133Iqi4LnnntOE0+jcTZo0wYULFzRyY7WpbCXFHwqJHjx4UMpd+vLLL5Gfn48ePXpIgJuIoadMmSJ5FITwhNiIbL1hw4bssSSAQt+LiYnhYwYHB2PlypUS6KEK0o4dO3J/kJdXj4evKiPyYiFkMYDf//73AOSwujewCwoKwj333IPVq1dzRbSiKMjOzmZANGjQIM1Gga5f3fQKRBRFwbp163SLBSwWC+655x4cPnxY8zvaRMyYMUO6pwULFuD111/XlQWtiXXp0oUBO4kHREVFSc+GaI8CAgKwYMECDB48GC1atPApXWmz2RhY6eUA2+129O3bF6dOnZKKKapTPALuAMrMzEwew+StdzqdDLwyMzNrdP+hoaEICAhAVlYWunXrVqU6kdlsRnJyMjIzM6UUhNTUVC7SUVdCHzhwgPvDezPctGlTzJs3D3/5y190r4skFSmH9cSJE/xbNeguKiriOSEwMBD79u2TjkN0QOrnFB0djTlz5uDmzZv49ttvsXbtWq6+V7fw8HD07t1bIh+ncUr9fe+990IIff5SwJNCQGF7uga104DukTZ/JpMJr776Ko4ePQohBFauXCkV2+3Zswfbt2/3WUT1a2krV67Ef/7znxqNwTrTWh2g1LHyH9wahvyaAsoFbxWi7PsfkfnUsSoBZcLCAzBYtNW2/zeaxWJBYGAgwsPDOTxIQCo8PBxDhw7FxIkTGYTQZE3eTrPZLHlC/f39ORTtTQzrbVevXpVCTZ06dcLq1asREhICITxhpkmTJqG8vJx/s2XLFvb4UX6XOnmaEvT1QmZlZWUaMPX0009rvvfZZ59hxIgRUkg9MTERubm5uH79uoav0e12Y8mSJdxvdrsdc+bMQWFhIYTwFC6ptbxffvllzQLhnRbgy0jTmELfLVu25NzNXr16Sd6o5ORkLF26VNcbTZRCBDa9SYITExPRvXt3aRFNTEzE9evXMX/+fO4bNSE3EZ6rc23VXpmaWEFBAT+jsLAw5OfnswQgXa8eRVSPHj2YRLwq++qrrzjH0W63Iy8vD4BnUSdg2r9/f/acqBVMFEXBY489xue32+2YPXs2KisrUVlZiRUrVkjKIH5+fhg0aBA++ugjBiZCeIjNb9y4wYsv/d1ut+uqJ1VnsbGxCAkJQUVFBT+Xvn37ar73zDPPMBhQv1OAh/HgoYce0q3615szYmJi0LZtW4wZM0by6Kn12n1ZVFQUg3E1w8Lzzz/P45DGMVWml5SUYPv27cjKyuJCmKo8jTabDV27dmWvaVRUFHva1R779u3ba5gkqBL60qVLADw8s3FxcVAUBcePH2cApm5Etj5z5kwUFBTwuI+KikL37t1hMBiQkpLC49dkMqG4uBjjx4/nqMWDDz6om/qyefNmPs+mTZvQt2/fKkP06enpTMNE/UdV+E6nEx9//DEURcHy5culUHOrVq18Vq8risKa5t5Nrbx06tQpHoPkaabCm4sXL0qbv/8bAh8/t3Xp0qXG+fx1JlsdoNSxomu3fXofqwKUbZ8+hrLvf0TOHwr5b4A+oEzMeRuWyKpVZGrTDAYDli1bxuHfw4cP49NPP+X8pOzsbHz88ccMgCZOnAgA7DE8f/48YmJipMKB77//nhcbqsLct28fLyYpKSkoKirSlRLTs+vXr/PCrJ7UyLOTl5fHk6DJZMLw4cM5BB0QEIDz589zyNabMy0xMRE2m03629WrVzV8dUJ4vKlqAORtQnjCy96Aa/r06SgvL5e0dgMCAvDEE09IniFafOx2O5o0aYKSkhKYTCb4+/vj+vXrUojVW+lHz6Kjo7kQRS8/MCoqCnPmzME333xT5XHUXI7kmbl48SITDHsXKNFYsVgsyM/Ph6IoePrppyUNayH0Ca/ps6oKjSorK5mqyWg04qGHHsKyZcskJRLvMR4VFYXc3FwIUTVvpZ5t376dN0cNGjSQQMaVK1ckLeHFixcjKyuLx39AQAByc3N9hqRLS0sxb948yQOjBj7z588HIOdrCuEB0Hqh0OrMarWiZcuWnG4QEBDgkyCc8pzj4uJ0wcO7777LqjPeLTs7mz2bYWFhPgFBaGgoMjMzMW7cODz77LNSNTrgGbfkjVUXjZWUlGDLli0amqGqCmHIK5eWlsbPkEQMysvL+W8jRoyQilBIH1rPvCuh6dhqI7oyp9OJSZMm6ZKtU4haTfQ+atQoDVVPgwYNWKlHz9QV1d4RJHUFvxAeD+eLL76Iy5cvQwjP5og8h2azWXfDpQasZrMZo0eP5hz7d955B127dvUJYNu1a6cZR6WlpZIa2+3bt6UN9/9LjeZBemfrrOZWByh17NyVf/4kQHnswtc4felb6W+Ab0BpjdFfOH/qSwDcId2mhHpSHaC8rbKyMvbENGvWDCEhIQgODgZwpyJYXeFL4DEmJoYXU7fbjQcffFBTCKJXTED27bffMhDJy8vDsWPHpEn4vffe4+/u2bNHCq04nU4mrk5PT9etfKS8pb1790JRFMydO5c9bQMGDGDidbrekJAQn+AgKCgI9erVYyJsvf4OCAjwmTf297//nfumSZMmiIuLg8FgkDjwjh49yhOX3W5HQUGBz74zm82IioqSwnU2mw0PPPBAjXPOgDtVxEajkfMSAeBvf/sbHzcyMhLz589H+/btNV5Bf39/DBo0CNu3b8eGDRu4f00mE0aOHCmBfAIokydP1r2WrVu3Mii32+26IcuBAwcy+Tk9tx49eviUzqyJuVwuqbKd9IEBDwUKLbD0eVhYGDZs2FArHsqSkhIN36jT6cTEiRN5gbXZbFi+fDlTRFWnTqU24lIlb1C/fv2Y+1KtdKI2ej8SExPhcrlQWFiIYcOG6eZaqr2PaqYHt9vN3tihQ4fi8ccf53C7d7+px2lERAQ/Pz8/P8TGxup6GtX/bzabMXz4cLzyyiuazd/WrVv5exaLRcpJ9VbsoY3ppk2bGNB6q03RplvtaSVvvjcYo3zC0NBQBmC0waG0I71xrM5lJ75FtRUWFiI7OxupqanSMahPOnbsiCNHjvA4PHPmDPeTulLcO1VhyZIlPsdRYGAgwsLCJDCv/n2DBg00gJDmZbvdjt/97nfS8RRF0dx/YGAgli5dqpt3+WttJBvrTeJfZ9VbHaDUsZ/ioZy+8yP8+G8Fgzd/gNQnjnADgFfPXEHqE0dQ36vIxxZdtb72T2nqSdnf35930ElJSVJOo1qCq379+lizZg3Wr18PITzJ+JcuXcJTTz0FIQTnPXnrSP/1r3+VFpHHH39ctz9v3brFVYBqEKZePEwmEz744AMAkDyp6ny+9u3bIzAwUKO4A3iAshAerwUlpUdHR+PUqVPMuzhq1Ch8/PHHvPNOTk7Wvd7U1FT2dnrnKHlTz/Tu3VuXLJk8bxQK0pOBdLvdUv7m0KFDeefvcrmwZs0anxrsHTp00L32qiwiIgIBAQHYsmULH6OkpISBamBgoKZ6/ebNm1i0aJFPz1RwcDCHMg0GA/r06YOvvvqKqaNMJhMvyoWFhXj44Yc1nl+TyYSkpCSMGzeOx6V3teWSJUsghCfMeO3aNTRt2hQmk6lWQA/weK0JRBFgttlseOONN5jLk5qfn1+VHtaqjDzcRPqsXqjp/jdv3izJ2z3yyCM1OjYV+ghxhy3g6tWrEMLjnfJlVBmtTmlQa77TfKEoCvbu3Sv1Rbt27TjnTy3zB9zRoU5MTMTUqVORlpZWI65bKihLTk7GkCFDsHbtWrzzzjvSd/r16yelb5CsoBCe9BwCm4qiaOjJhJCrwIuKing+GTFiBI8deu5qKUXy4OnRyNAmPSIigjecgYGBnLtbUlLC77V3Dia9R8OHD8eUKVM0JOJUCGS1WhEeHq5bDOhyuVgK9OLFi3C73Vi3bh1Hd9RNj1WAjArnKN3I+3k/+eST0j3MmjULgOzppw3H7du3pTQVer7bt2/H4cOHdYuefo3NaDQiPj7e58aszqq2OkCpY9/9hBzK5459Xu1xp7xyViI5v9s5lP7+/ujZsyd7IJ1OJ09gP7fqmv5ts9m46lqdP0ifh4aGYsKECVi4cCFWrlyJDRs28GRCXH5qYnMhPJ4Ws9kMs9mMhQsXcr4kccydP3+eq8mF8Cz0BD7JysvLGbwZjUYsWrSIP6O8S8qbUofF6tWrp/FCED2QupCnYcOGrH1bXl6O3NxcDTXIyJEjmZJGTfXTvHlzn2NCURTJe2G1WpGYmCjJGNJ/jUYj8vPzmZS7NmDqyy+/5IUUAHvpqHjGz89PCvl5m8vlYi694OBgXYCpHldq76a/v7/m+xQ2PHnyJN8HecgffPBBzfkJUArhSZegMO6WLVtq3AfXr1/nsbhz507Ju6Zu8fHxDBq8abJqYpRLl5OTw/1O707r1q0lAJGamoq1a9cyb2L79u2rBbHkjVRTHAFAXFycRmTg1q1bWLBggVQ5TO8QvS8NGjRAQUEBhJDzes1mM5o2bcobSvrdsGHD0K1bNyQnJ/v0NAYEBCAlJQXdu3fnfrZYLDh06BAef/xxDBkypNowunrsDx8+HG+//TaDSYPBALfbDbfbjZycHGkOys7Oxq5duyDEHT1ossrKSi6OIrlBPz8/xMXFSd+j8HFWVpbuMyCZVuqTv//97/yZoigSmA4ODkafPn0kT633vN2jRw8JxBgMBs41pTzGZ555BsAdnl+1p5U8qnq0aoGBgRg9ejSKi4vxz3/+E48++qiUVx4cHMya4wUFBVLxmLqpCxV/+OEHDd0W/btt27YoKCjwyTTwa24DBw6sNie7znxbHaD0YbWt8u60Mh+jXjqlaQBwpOg6Rr10Cq2efIe/X2/6lrv6ItAL3aJFCyiKgkaNGvHEHh8fr3uPAQEBCAwM5EmoU6dOPPlTHltaWhr69u2L9u3b8zni4uJ4p28wGHxS1NSmqUOeFCru1KkT+vTpg5EjR+Lhhx/G/fffL/0mJiYGGzduxFNPPSVdw6ZNm6T7DAkJ0dD9lJaW8oJFSeuApzJc7b0VoupcvevXr2PmzJlSODoiIkLS337xxRerHGuHDh3ShHxtNhtWrVrFurxCCAa0JJdJgLsmRrmnRFf06KOP8nFffvllZGRkwGw2V3scdZ7h4MGDUVlZie3bt2PAgAG6ng7vFhERoRveP378OITQqvqQ0bgkzxFVKrdq1apG919aWiqlXJw/f15DM6Tue+BOLqx3iLQqoyp3p9OJ8vJyrmQODg7mEKla5pOuwWw2s6c3LCysSpoYug91YRwAzJ07l8fJ6tWrpY2Kw+HAgAEDcOTIEckr/uyzzwIA0z1t3boV27ZtQ1ZWFm8+fW1AHQ4Hg8asrCzeRHjLPdL5qtqwlJeX4/Dhw3j88cclsnlf5yaFIO/PKTVGURRYrVafUQiiSiNv8dy5czXf0ZOrJaMqbJqH1BKV9MyFEJJqjhCCPbJ0bj2ydcqLJSYL9Zjy3uiUlZVxekmLFi1QXl7Ox8zJycH06dN1OSIdDgfnWapVdbz7R90WLlzIn1+8eFFTqETvEPGR3r59WxON+LW32ihj1ZnW6gClD/PmoZy49Qym7/wI8978BABwoPAapu/8CNN3foTGj/mWZwT0eShDek696y8D7fT9/f25alE9+aiNPBKTJ09GeXk5q5DQImQwGDQSd1S1Wr9+fTgcDlitVg4pBQYGIiEhAceOHWNgQYtl//79sWrVKp7gxo4dy+o8vkIhVquVc55q2w8GgwEOhwOBgYG8+AYEBCAtLQ0dOnRAz549MXToUKk4xte11Ibep7i4GKNHj9Ycx+FwaCpsz58/jyFDhkgeBXp+FOZWL0R79+7l3xJXYOvWrWt8bSEhIQgJCZE8jVFRUTAYDAgLC+PirOrUShRFkcBXixYtEB8fL12r1WrVBQImkwmtW7dGTk6OlPtZXl7O3nQ10bLayBsGAM899xwfz2AwVOvRU6dczJkzR+LBi42NZRCyb98+9iwlJyfj3LlzCAoKgslkqnGu6vz58yGEJ8VBPQ68Ux4URYG/vz8cDgeeeeYZTSGSwWCQKmnJKMTqDf4VRcGmTZs080GXLl0YMCxZsoTvj64tICAAycnJ1b5nERERmDNnDjZt2oTevXvz842JiWEqreLiYpZXpWdCaTR+fn6cq1oTIyqw9evXS5uY6prNZkNMTAwyMzO5gO3o0aO6ldRqwu4nn3xS83loaKguL+mRI0eYsovSCMLDwyW1JGoBAQFo3749nnzySakYifKZp06dioqKCuTl5emqnAUGBqJTp05SOgb1r5oWbdKkSXxsuu9Zs2YxIwSNKbXnlLyUc+bMke6vtLSUv/PEE09IkZrIyEip0KlVq1Y4ffo0cnNzeQy1a9cOZWVlGgfA/wvtH//4R43HaJ1prQ5Q+jC1Uk5iztu4+k99UnAA6LQyv1aAMjHnbZjD6t21l8BqtTJFha/wEVVIdu/eHbNnz+ZJQr0jmzRpkvQbPQ+Y+jtqwtpmzZox6Tbl+ND3yJPlbUIIaXEaMGAADh48KPErkn333Xdc+bhr1y6myFA3i8XC4cTmzZsjJSWFQ2FOpxN2ux1ms/kncW2azWbY7XYEBAQgLCwMsbGxzLXZtm1bdO/eHYMHD8b48eMlUnB1i4+PR+vWrTU8j3PnzkVpaSkqKyvZOzp69GjpOvPz86W+S0tLg9ForJHazqeffgohPMoh5C3q27cvFEVhMmhaDL15NsmIRFztfaFmMpnQtm1bPPHEEzye1LmfVdG8tGjRghdAX+cGAIfDIWlLq0msvT11aisvL+fjqzc69G9v9aiFCxfydwwGA1fAe3M86lllZSWsVivzcBKpvhD6FaMEtsg7VlZWhpycHImY2mq14oEHHsAXX3yBv/3tbwwIqLDjyJEjuPfee6UwusFgwKpVq7B161bMmjULbdq0qTKfkd6/0NBQzJkzBzt27MCVK1d4LOrRW5WVlWHixIl83tDQUKxduxbPPvsshPBsYhVFQUBAAKdT1AZQut1uOBwOvu6IiAhNwc2iRYtYCzohIQFDhgxBamqqzzC6Gmw+8MADWLNmjbRpHTJkiPSM9QoAjx8/zsCsU6dOkrdX3egZVmX0jniTaROzxeDBg7mgT33sJk2aSMwMxNMKyJ5TeratW7fG9u3b+d5OnDiB3r17S97DZs2aYePGjSgrK+NN7sCBAwHcAd7qtAKz2awp+OnUqZP0eW3XsV9D+/bbb2s8RutMa3WAsgojLW9fYPGntIT5+xAz5qm7+hKEh4dLEx8BL1o0KTTlK99JDTa7du3Kn6l3vWS04AohE4nTJFhRUcEhmAkTJjC4cjgcGoCqnvQMBgPq168PwFPlrVaAIUtLS4PZbGawmpSUhM8++wwulwu/+c1vpAmvb9++cLvdGjoQshdffFGjKEGLA4XujEYjhg0bhl69eqFDhw5IS0tDw4YNUa9ePYSHh/+svFQ6vrcaUGJios/FPzExEUuXLsWWLVswdarHw/3b3/4Wt2/frhLskHwiLZ7ePJwUYhPiDjtAeXk5XnzxRdx33326yhudO3fGihUr+LexsbG4du2ahsT9D3/4A6tnqHWpbTabJA8qxJ2ChKlTp0o5si6XC0J4ipbURspEZrNZd8NSWVkpgXeqRv/mm29gtVqRkpKi+Q2pjsydO5crmimdYvjw4T77GJA3W/7+/vjoo484h9IXBUl4eDisVqvm+j/55BNNha26r+rVqyeNd4fDgZCQkCq5CoOCgtC9e3cJNKo9XydOnODzU9hZCE9KhC9zuVzIzs7ma/H39+eqYSKif/rpp5nYvKZ29epVvn91OotaIpT+FhAQoPv8y8vLmXO3OrBJ86LVasWIESOwZs0aBm0XL17E2rVrJU8dNb2q7rCwMPTu3btaYv/r16/DYrHA4XBIeXvNmzeXKNAURUGHDh10n6nNZkODBg2QnJwsAUTa0PjimCSjSJP3nEPFWW+++SbPiwaDAffddx8mTJjA5woMDMSTTz4JRVFQr149BAUFcf7qr7WZTCZERkbijTfewK5duySPq56oQZ3V3OoAZRX2VWkFGi3xHc6uNZhceABJC/bBHKTlErwbbejQodi1axdcLpekKiKEkKTnXn/9dQjh8UpVRxhsNpsZbBIwIWDg5+fHoVzyFCQlJUGIO8AE8PC3qasCL1++zADUYrHgwoULfGyiAHnttdc4B/TatWsoLS3lSc9iseh6pRRFkYo3aHGdMmUKf64m9rVarZg2bRqKi4thNpvhdDo515AmntpYeXk5e1Uefvhh3QW9ZcuWGg1b8uBERkb+7GpIk8kEq9UKPz8/BAcHSyE0IjSnvFTSK8/NzeVF22azaeiCwsLC0KtXL86Z8taBJkoadWgtOjpakl6k377//vsSv6MQd1SSvMnWTSYTkpOTWQd9xYoVmj6nsF1SUhKHWRVFwbJlyyQVpylTpnC1MElZLl26VHM8Aq9DhgwBIMvQCSF8Uolcu3aNv9OkSRMGCNUBSvL+EC+s2hRF0bzHvhq9K/T+BQUF8fhPTU2tMjeM7m/AgAEA7mwOqRBuwoQJPn+rvtalS5dqxq/T6YSiKLUClAcPHtSAvvT0dJw9exbjx4+HEAJffPEF35/ZbNYdGwAYFHqHMsvLyzmHcMCAARq6nqpacnIyxo0bx5uVuLg4nD17ljdSSUlJ6NWrV42UomguVlMJBQUFSXnvVEWflpbGc2BcXBxSUlJ8bmTbtGkDIQR2795d5fnpnauoqPCpx03vkToX3O12Y/HixRxydzgcMBqNaN68uTQH/9Ltp2zkx4wZg9u3b/O9/Pjjj3jppZcwffr0WrNG1JlsdYCyGnu94Mpd9VD6p2mpLX5O8/Pz0yWP9fb+qMOFVOBANBdk//jHPyCExwug9ux4802qm9VqRffu3TFmzBj+29ixYzX9WFlZiaFDh2p+P3LkSACeCd5sNks5S0QkbLPZpNwv7zClt5EngRYck8mEJk2aSOHvnJwcKVxM5/KWSKwqnKo2RVF4Mfd+PocPH2YaGQI9FRUVWLZsmbQ7djqdvLg//fTTPFlPmDABt27dwvr16xmYR0REsLdm8uTJGD16NPr374977rkHbdq0QdOmTTXezp+al0qqPDQWIiIiUK9ePTRs2BBpaWlo1KiRNNbS0tK4L0iO7ciRIxDiDpF7ZWWlBlTOmTMHLpcLFy9exKJFi9C6dWspx9RgMKBevXoYOXIk3nrrLbjdbrz66qv8eaNGjfDoo49KOZ4ZGRmatAAqMPOlbe9wOCTC+X/961+S5z47O1v6/ieffML97J2vXB2gBMA65A8//DC6du3qs3pa3dSfNWrUCM8//zzcbjdKSkp4DNntdmzfvr3KcVtSUgIhBBdykHexTZs2UBQFFoulWsECb9u4caMEwseMGcPjtTpTF6EJcSenmwpUWrVqBYvFwhvQkSNH8gYtMTGRi87ITp48CSHuUN6Q0b01atQIX3zxBRYtWoQ2bdroFhhWFb41mUyIjo7mOUfNqiFEzZZXAvCLFy+GoigwGAw8jq5duwaLxQKbzaZb4BIWFobJkydjFlNgGgAAIABJREFU//79XEjjPW7q16+PSZMm4b333tMAJupvtdqTr3HXtm1bzjdW9+PatWtrVJB3Nxtdo96GS4/T1mQywc/PTyOpW2d31+oAZQ1s43sXfx6QXHgAiTlvI6jD/XedSqFevXrIyMiAxWLBP//5T6xfvx7du3fX1Rxu1aoVNmzYAJvNplv53b17dwjhIUcmjyPlKhJgmDBhAkuh6VFU0MuuDqNnZWVh+/bt2LNnj2ZSVC/AFMYlabzz589rJirvxVzP8vLyIIQHUHovEE2aNJGS49VGYT6iHaLfjBw50ufO9eDBg6yrTN9PT0/H9u3b4efnx9KLRMY8bdo0zTFu3ryJGTNmSMcICwuTwC3lF7rdbpZuo8/0ijcuXrwojYETJ05g8eLFaNOmjea5RUREoGPHjpIXedasWRg3bhwGDRqEbt268bEiIyMRExOD0NBQOJ3On61HbzabNcofQUFBaNOmDeelUsg9NjZW8zz1+P7oWN58iYBnATSbzfxc9Iw89t6mlpSMiYlBQUEBXn75ZT6fXmoFAcopU6bg97//PWbOnMmgUa//SAnFVw4gfUdRFOzatQuZmZkMZr2PVRMWAPKknzlzhvsyODiYxzs969oYbQ6933XiENWznTt3Ss+2R48e/N3o6GiYzWauYKbNLnn1FEXB5MmT+f5Hjx4tbSL8/f0lMFtYWMhARN3PJpMJKSkpGDJkiMZLbzQaMX36dN5YxcXFoV+/fhxG9/UeREdHIyMjg3M2P/zwQ80GR1EUREdHw2AwsDeSNiB6m1Q617Fjx6TjEPtDXl4eioqK+J1Vb9yMRiMSExMxZswY/PGPf+ScV+9xRhvuGzduaEBbeHg4pk2bJj1L4rb9JZvasUHOCbp+yluOiopiBwtRcQnhAcM/RZGqzmpndYCyhvZ6wRU0WnKo1jmVyYveRvyjf0BKr3G/yEtGqife4VlFUSCEB0DpeTCtVivnwX399ddM/k3eCKokTk9PZ44zIQTWrVsnnUMdUjUajXA6ndWG0e12u+QBbdq0KedC2mw2BAcHc5W6wWDgqmQhaia3R5rJ6kk9OztbqmC/9957NZW7pHsshMDbb7/Nk6cQdzjrAE+F/IABAzQ7YafTKXm91FregGdxpoVRbepinDlz5mD8+PEaD7E3QCgqKmLvpsFgkCTldu/e7TMPk8LI48ePx6FDhySgTJWnQghJueXmzZswGo1ISkriv+Xm5vI5evTowSHeiooKKd9r/fr1WL9+PXJzc/n4tCgHBAQgNTUVDRo0QFxcHAICAn42QFWPxeDgYERHRyMpKQnNmjVDRkYGV1Onp6djxowZWLRoEVavXo28vDzs27cPH3zwAavc6BU8qftIfS4hPPmiW7dulUCj3qaLwtP169dHjx49MHv2bE0ahMViQbdu3Zg/8sCBAxLVVXp6Oo+1I0eO+OQf1CPdV1t4eDiCgoIwe/ZsnheEuKNw1KlTJyl1oSZG1b379u1jzx09V+JXpHdv8+bN0qYxOjpaI6tKJOv3338/37933iHg2UTR83U6nVw0SJvi5ORkTY5pw4YNMW3aNA2vrcvlYiUiIe4U2QQEBGhUja5cuQKDwYDGjRvjyJEjyM3N5fNYLBafmwM12MzJyZEo2LKysjSb6fbt2yM/P59lHL294d78tLQB2rp1K0pKSpCbm4vMzMwqnRrh4eGazTOlZTzzzDMYO3aslNYQFxcn8ZT+0k1NjSWEgF9gCCyRyVi4+gXYoutjw/MvISAgAO3ateP5edGiRTUqXqyzn291gLIW9lVpBcblnUZiztvVAkv6fFzeaTTL7CJNqner0aJE/2+329GzZ0+cPHkSH330EYTwcJEpisIAhV4y2hF7L4ozZsxg9QminKAFkI4xbNgwnnRosjabzWjWrJlGT1udB2az2dC+fXsGm3r3pAZCISEhWLNmDUpKSri4JyoqymeosqSkhHOX6BjeHJCnT5+WFoo2bdrg7NmzTONit9tZPYLALBFJkx63ejKdO3cuq1YQqTmZN6CkCkwiFwc8CxcBw5ycHOn3QUFBsFqtkochNjYWa9as4dC52oPhKwczODgYU6ZMkUjE9YwWDvIukZQmkaDn5+ejoKCA9arDwsKkwiy1Eem71WqVeO5oo2C3230WDBw8eJBDcPQsk5KS8Omnn+Ldd9/Fpk2bJOofWoT13i+qyFUzANSm0e8pLzUwMLDG77HNZuMNSdOmTfHCCy9IMoIHDhxA586dJcDh7++PHTt2QFEUZGVlQQi5OM5kMjHQCAoK4jxHs9mM3NxclJeXY8mSJdIxAwICMGrUKI12dHFxMYQQXESXkpKCyspK/v/Zs2fzNdTUu3Pjxg0YjUYueCorK+M5JygoSHr3vPPffCltAR6vsbrfvSujyRRFwaxZs3Rz64xGI1JTUzF79mwYjUa0aNHC5/muXLmiAen33XefLjChDYiaf1Pt1Rs8eDDKy8vxzjvvIDc3F0OHDq2yQMi7hYSE4L333pPOTeTjxcXFAMBypO3bt+fv+KIXu3nzpkYVSt0iIyPRt29f5OXloaKigucFdbj41KlTktjEL90mTpwIo9GIp556CkEJTXDf4jzETtuChP+J/t1pBxA77WWMWLEblrB4XX7ROvvlrA5Q/gS7+PW/kLu/CPc8855GUScp523c88x7yN1fhC9ueCrG1Hled7vRYue9oBIwmzlzJn73u9+x8oMQHs8F4Jl89+/f7zMPRa2u8fHHH6OyspKTvVNSUjhETKCGvJXkgbt58yZ/lpmZqQEQQnioKebMmVMrmgmbzYbp06dj27ZtKCkpwWeffSZVKjdr1ozvX49fDgAuXLggySpSQvqK/8Peu4dVVW3v43OvfWWzud/lLgIi4h0VLyCKd1LxknfNkySpmZqZeiw1yfKWhtnRRNM0szITNSrTzFIzyUwlMzJ/kREZh8iIQ5zd8v39sb9juuZea6OZeezzMJ5nPuVm7bXnWmuuOccc4x3v++STPHVEhUfOkmYdOnTgRQ5UMEJkvkpzdigBoEmTJpAkCeXl5bDb7TyiopXK1+v1fIFQplbpWfv6+mo6kFSE0qFDBzCmxsq6MuKfIyWOpk2b4ptvvoFOp0OzZs0waNAgfv5p06bV65ymp6cLEZe5c+fy1B5jDufienbkyBHOj8qYg/NSyfWXkJDA6ZTo3gwZMoQvln5+fqqNE43thQsXori4GF988QUOHz6MnTt3Yv369XjyySf5uPb19YWvry/MZvNNgf9vtFFknxze+Ph4JCYmgjEHBveee+7BjBkzOMdlWlqaELVv3Lgxd/7J8vLywJgDsqKs0g8ICMD999+P8vJyIfMQERGB3377DYADVkEbVWKMWLt27Q2NIZpLnHXr6TqnT5+uiQUkFRhXRlhIxhy4OTK73Y7XX38dw4YNU/GhKovEjEYj/Pz8AADPPfccGBNlYJX2/fffqwp0CHv8xBNPCMcWFxeDMUdKVes+0Ds4fPhwzd86evQoMjIyblgcgiKb9F6Ehobio48+wmOPPQbG1EU4SUlJnF5Ma8OdnJzM55CIiAj06NFDBZeiiObYsWNRVVWF6upqLnNJzAnXk9m82WY0GhEcHIzQ0FCMuHcKQkc/ybmc64eZ7UHknH0Ynf8Rvq10TfnXYLfWGhzKP2m//mZHcdnP+LT0JxSX/Yxff1PvYGnS+V83JT+iUpowPj4eOp0OpaWlOHjwICZMmICYmBhh4jGZTEhISMDkyZM5iJwxh9Mhy7LAC7l792588MEHPDLxwAMPaN47xhx4p1mzZmlGfe69915s3boVDzzwAPR6PY80ubo+k8mEdu3a8cpOJRWRK7t06ZIgwRceHo7hw4cLi567uzsGDx6M3bt38+hQVlYW1qxZA8YYunbtqnluLYfyyJEjYMyRJiangQoOnPtFf7Pb7di1axePFF5vAqaFxmQyISIiot7rdzYqwiClH6qipvvRvHlzIcrmytLT0yFJEsrKynhEk6J1FNlYtWrVdc/z5ptvCtfFmCO6uX79en6MkqD+xx9/BHBtQe/Tpw93Oig65rzxstls8PLygtVqdSkjGBMTwzk4dTodl/NkzOG0EaZLp9Nh7NixOHLkCAoKCjhfpp+fn3AN5Bg0bdoU0dHRCAkJ4Wnvm81kSJIk8KUy5tgUxcTEIDY2Fr6+vpoLv81mQ35+PgoLC1FUVITS0lJcuXKFF+gwpl1o52xff/01GHMUZSmturpalXmgjabFYuHXGxERgVdffVXz3EqN79zcXAwYMEC1WfDw8EBKSgoWL17McdKHDx8WHOpt27bVy+H6xRdf8L7q9Xouw7pixQp+nj59+vDNFI0pZ2Ujog2SZZkfQ5Ki58+fx8iRI4XNYHh4OObNmyeMkTFjxuDXX3/FO++8g4ULF/LIpr+/v8sNOKXRR40aheXLl3NSeGUmgxzE3r17AwB3npUQICXZuivmibCwMJw5c4YXdt3qRpCpu+++G4EpgxA1e/f1HUmNTGHc/EK8fKJBAed2WINDeRusrq7ujiR6HT9+PK++HTBggNBnZYU1Y46oiatddE5ODmpqang6uHXr1pwMvD7aCuX5g4ODcezYMZw7d05I47/88su4evWqUPl41113Cb/v7e2NiIgIlxg8d3d3REdHIz09HVOnTuWRTTJSu3BFG6KUClRGaWnSc5W61XIoAQeUQPkMtMYLcRp6e3urJAIJnL59+3aVGoXVahUWj7i4uOsqySgtODgYvr6+Knysm5sbNm7ceMPnIYcScETCaTOj1+tx8eJFzk5QX5SzsLBQwJJ27NgRXbp0EdLg9CwoBaiM9BK2KyoqCt26dRMq1V29E6QcJEkSZxyQZZlXw3p6enL9bBrvtGEqKiriUX0fHx8MHDhQoGLx8/NDdna2y6IwQHSOqUK7trYWFy9eFDIG7du3x/z583HffffxBd/d3R3t2rVDUlISYmJi+Jzj4eHBSf3/TKTVZrNx9Zjo6GiOS+3WrRsyMzP5tWZnZ2PFihVYvXo1OnTooLrf1F8i16+srMTw4cN5fwMDAzk9U3V1NZ5++mnNfnt7eyMtLQ0rV65URWiVJsuySrRBSdNDRvKTNN9duXIF5eXlYMyBKa2rq+NZjdDQUOzZsweMMWRkZKjOpeShlGWZb0aUc0xAQABycnJQVlYGWZYF7k/6e33vR0lJCR9r9PzrczaNRiMfs9HR0Th27BgOHz7M/66k0lEapbzpud1q6FZ97+K4cePgmXI3p937M8Wxa967MbWrBrt5a3Aob5NpKYzcCY1UdpRUPJcuXeK8jFQxTWTYRA+kRWNBNDY02bvSI66pqRGibcpoKZkyAkTpnb59+/JoFzWKkJLJssypPGiC9vLy0nQ2dTq1VnBERARSUlIE59lsNgvRDFmWOb7KbDa7LHzQcihlWeZpW5K2rI9E3NPTE6mpqVi+fDmPvhUVFQmKP9TXNm3a8Iiist0IfQxZp06deEqbvi9JUr0LtpYpHcoffvgBJpOJL3RGo5Hzfc6bN0/13W3btgnOE2OiJGRFRQWGDh3Kr1+v1yMtLQ2SJEGv19dbfW42m5GRkYHp06fjpZde4s7dkSNHMGnSJMTHxwtRIiX2MiYmhuN3KXJKFerHjx9HTU0NFi1aJDjBNL4oOnU9o4iS1Wrln73++utC1bEzVleWZZ6+Vjq89O46wzFID50xR5FDQkKCUDQTFBSEbt26YfDgwZz5gTFHhDk8PBwBAQHw8vL6U6T+BIdwd3eHt7c3goKCEB4efsM8rGvWrMG5c+dQWVl5w9yBhIum50pR7hMnTgiwFueMgcFgQHJyMv83OZ50rh9++EH1WxQhX7BgAccTU4uNjRWeYUVFhXCMu7s7FixYAMYc+Mv6jGAojDkKtwAHNlfJEEER1+ul1Rs3bswjm8eOHYPdbldln8aMGcM/37t3r2YV+q1oer0effr0ga1Fr1tK27ejIVL5l1qDQ3mbbMSIEX8pDuvPtsDAQLzyyiuQZZmnug4dOsT52mJjY/liFxMTwx2sc+fOaToxjDkKSLKysvDyyy/zKNnatWsFR9RZ/URpzs4jLQTjx4/HlStXuFPSpk0bvqhs3boVjF0jwbZYLAJF0htvvIGkpKTrYn4Id6X8rE+fPrhw4QLnwBs4cCB37JYtW6bqv5ZDSXyG5JC6IhEPCwtTyb6R1dTUCLxxhw8f5phXALh48aKms+zv76/i6XM25QJFz5oxJiyoN2JKh5L6WlhYiAMHDvDnT5uSuro6yLKMvLw8HuUyGAwYO3YsGjVqBA8PD2zatAn3338/0tLSEBUVVW/EPzIykjuN27Zt4wTWjDFs3br1hvpPhRbOjilVyROR88cff6y61yaTCampqULhkJZ8obOdPHlSwJ2++OKLHB5AzpcWNRHZunXruELKxo0bNSmSNm7cyPsUEBDAP7fb7XjuueeQmJgobFQyMjKE++cKS0nHKDGv4eHheOihh7BkyRL+vOjcVqsVbdq0QePGjeHl5XVLMjjEl+rm5gYvLy8EBAQgPDwccXFxaNWqlRBxV4okKM8xZcoUjm8mCwwMFO4VcI3MnzGRIN9ut2PNmjVCJbXZbEavXr1w4MAB7oBRAd7hw4d51JLGEI1Rir7Xtxmsqqriv7NlyxY+Z0qShEGDBuHy5cvYsmULP6Z169b45ZdfsH//fh4coKjl9SKPLVu2xLJly3D06FEOw2GM3XIOSp1O51BF8wrCiHUf4pWiUly4XI2aOjvKf67F/s/L0T/vA8FRXLCnGJ+W/oTKX+vwm/13fFf1H+z5rAwZT78vHBc3v7ABU/kXWoNDeZssNzf3jkx7a73MjImVyMrilYiICFUK9dChQ5oOmjOtDh1jNpt5Sn3kyJGa90uWZY5fUjbi/yOjlG9KSgpkWUa7du2g0+l4GpoiBVlZWSrM0rRp0yBJEsdZlpaWYuvWrZg2bRp69OghpN617lN0dDQ6dOjAHaTu3bsL0RJyKMvKyrB48WIVNQzdk8zMTGzevFlInVNq0dmKi4v5eSgqZzabeRThu+++40Vgubm5OHnyJPr37y88Hy8vLyxZskT4vStXrgjpVnKYKioqeGHG4sWLb3i8k0NJFfKkVgQ4JOeIJokWOVqA9Xo9GjVqhMjISE16EyXJus1mw7Rp07BlyxZMmjSJPweDwYDZs2dzp0CWZe6kafGAahnhcCVJwosvvsjJ1l2RXzPmiAS/9NJLwhigAhDGHBEg5+giWV1dHby9vSFJEk6cOCEs7hkZGbhy5Qr0ej06dOhQb79PnjzJHYTx48cLJO40Lui91OLpBBwbloULF6qiTzR/EU8smTOXYceOHXmUtK6ujjvFkiTho48+4lXkyvlQkiSEh4fj7rvvxq5du2C32zk9jrKFh4dz53XkyJG4//77MWrUKGRmZqJbt25o164dmjVrxnGpvr6+sNlsgjjCH2nEcsGYI/rr7++P0NBQfi4lrMDf31/llM2bNw+ffPIJvv32W/z2228CRVhGRgaHBtE9YYzx+bW6uhpWqxUGg8ElTIJS8tSUG24ygvSQnCKZksZMkiR06tQJNTU1eO211wQOx+tFNl3xEd9so/EZMX4Z9p0uw9ELFfjnG2dw9/pjyNn2CU6W/oT//i5jxPMfcUdx9YEv8fS7XyL7xSLcvf4YZr32GS78WI1ff7MjfcUhAVM5Jv+41q1ssFtgDQ7lbbLdu3ff0pfudjRPT08MHz6cp45tNpuKsic3N5dPig8//DCfUA0GA4xGIz7//HOhAtu5BQUFIS8vj6fca2trMXnyZL5rV6aoyAFkzCGNRw7RwIEDwZjDwdLr9UhMTMTly5cxefJkIf3oTMhLFdr1cfUFBATA399fRb5N16i1q6cIidb1klbwzp070b9/fzDGsH//ftXvSpKEzp07C59t2bKFV5tShWphYSEkSeKTfk5ODtq3b6+pBOMsI6jT6dCyZUsMHz6cO2mERWTMUTAFOKIuAQEB0Ol0OHXq1A2Nd6ryZoxxCpkLFy4gPz8f999/P7p06eJygZckCZ6enjxtFxcXh+3bt+PSpUucxsYZ6gA4HEflczKZTMjOzuaLLo2pGTNmuOy3LMuc2ogxB40W2ZEjR4QCLnrWztAPglts3ryZF+RR5I9wYc4FIeTMz5gxQ4jME8E1FWndiEN85coVHh0l52X48OHQ6XRwd3fnVfxKGIEru3z5sgrbx5iDCSA/P19QekpLSxOwySUlJddNYffr1w/vvPOO6lnW1tbC09MTer0eJSUlgoIOjZuwsLDr9l9pixYtEuYUk8kk0IBZLBaMGjUKDzzwAMaNG4dBgwahR48eHIYSGRmJRo0a8Y2Okmj7jzTn7yjnOp1Oh+TkZKSnp2PAgAF8XHh6emL58uV44YUXsGfPHhw7dgxTpkwRnHKlEhfZ9OnThd8gBg6KVN93330AwBkRFi1axM+Znp6On3/+mWMo8/Pz8e6772LRokX8vv1ZqVhXzT8mCZFz9qHN4v2qtHXCY2/hx19q8eFXFfWmt7uvfB8AsPqAWpiEGFga7NZag0N5m4wUM/4uLT4+nlflUnN3d+eLkCzLHAcZEBDAeepo0nZuJItG1YMUAVI2ZfrJ19cXa9aswYkTJ/hkCTi4Jimt5ubmxsm+ldRHStoLDw8P6PV6+Pv7C8/jq6++AmPa4HylJScnw2AwcCJdxhjmz5/Pozc6nQ6tWrVCamqqJh2Kc6MCoW7duuHee++FTqdDo0aNhN8kiqepU6fyz0jRxN3dXYjQAo7NCi1SVMnbrFkzl9c0d+5czYUwISGBYwMZY/j111/5d86dO8f5Oesr8iGnUQmD0Kqe1mrTp0/Hd999x89FKbW8vDwA0IRcOBvBERYtWsRTnPTbL7zwAn9uWrjdyspK7sRSZW7Xrl0xYsQI1cLZsWNHgaC+rKyML9pai2xkZCQeffRR7oApCbKJLYDS/ZIkYcqUKTCbzRxnS0ok27dvd3nvnY10r6m5ubnh4sWLcHNz+0POWE1NDRhzYJidIRHUqKiPsKhaMBi9Xs9JxC9cuAC9Xg9PT0/NojbSfqeNEz3X7du3C05sUlLSDbEOyLIsPJdOnTpxoYNp06Zh8eLF3JFKS0sTMOWkXpOfn4+zZ8+q0uSRkZE8i2M0GrFmzRqerl6zZg0WLVqEGTNmYMKECejfv7/mPKHEsN4sLpXusbu7O3x8fLjjazQa+T2LjY3FiBEjYDKZIEkScnNzsWHDBmET4+3tLfB8OvNQEr6aCgpvdebNy8sLUUMerrei++iFClz4sbpeh7LV4+8AAFbuP6+q/F5QIEpINtitsQaH8jYZRU9u5Yv3Vzea1EgDmj4PCwvj2L8uXboIDgZRSCgnXVdOG2MOHKIyKqZsVLVK/1amCzdt2sRTIyEhISot2l69euH99x07VIpgEnckAJ6Gc9amdTZy5AivyZgjOjpp0iQhLURNmfYyGo38PgUEBKB79+6IiYm5bjU6LXRTpkzBmTNneIV0XFycSh2EbMeOHcK56qPksdvtKs1k52IgnU6nclxJjrNz58480piWlsbT066itU2aNEFqaiqio6P5MaGhoRwrplzMlFXatHCVlJRg/vz5YEwbcqG0M2fOgDEHZx4AvPbaa3zsSpKEnj178gIMJfbt6NGjfDyNHz+e6yIr78+kSZNgtVrh7u6uWQhCGMiAgABUVVVh3bp1HIupbEqqHCU+kTGHg0TjlOQ/ly5dysefs4rM9WzGjBn83HPmzOGsDrNmzfpD5zGbzQgKCvpDeDmdTodhw4bhs88+Q1BQkErLm+AAzrRbq1atAmMOCAmZs2gCXQc1ZZrd2Q4ePMg3mUq4BGMiFKOyshKdO3fmxy1duhTAtTGlnL+tViumTp0qcLwWFhbyDACNded+0KbjoYcewuXLl/k4IExmnz59hO/IsoyKigo+19CcbLVaORdpo0aN0Lt3b46fjYuLEyiorFbrDfNcaq0B9P5YrVae8TEYDGjVqhXn2bxVTa/XIy4uDhFTNrl0FJsveBtX/vNfvHW2XFOZLvafhei+8hDeKS7Hj7/8ho5PHlAdl7r8vRsZ9g32B63BobyNRryDf6cmSRJ+/PFHHDhwAIwxAdjOmCOqlZeXxyNGS5Ys4X9TVurS5ExGlBfUYmNjuRTgnj17MHLkSERGRqo0mlu2bImZM2di5cqVmpJfNHEqiYQpyklyckVFRZoLmZYR1pMmO+Vvmc1mNG/eHCNHjhSebXx8vJDyTkhI0HRASktLsWnTJh6VIGdT6zkYDAZOfzN58mRs2rRJpV7y+OOP8+NdYa52797NIzWNGzfGypUrBSoR5+iLyWRCYGAgQkNDXWIaPT090aRJE/Ts2RPTp08XolgXLlxAt27d+MLZpEkTQTkHuEZaTYtt+/btUVdXxzXSc3NzwZhj4XSlkqQ0X19fHtmrqKgAY46IoxKnRte5dOlSrFy5kqcblTQ/pJJDG5k5c+aAMaZZgEVGEXqK2FFmYsaMGdi6dSsGDhyoSbbOmGNz9e233/JzkXqTu7s7WrVq5bJIy5V98MEH0Ov1wjtETAw36pja7XYhom00GhEXFycwOtA4cB43//rXv/i413IoAbUwwPnz57lspnLj4OnpKRTXAdc2HMoK6aSkJC6jqMQFU//37t3Lnz1tOpxtz549/D1UvvPkXFmtVpeV5ZcuXRKiszQvLl68mL/nJJNKUAKlo/roo48K5ysvL0dmZqZwf6k6nTa7pNCzdOlSMMZ44V9wcLDwvlDFvtlshtVqxdKlS/lv03yVmZmJnJwcjBw5Ev3790daWhqPbirfjT/jpNbXrFYrouMS6qUI2vXpd/jv77KqMCdyzj789t/f+fVe+LEa3Ve+r3mOqDn7NDmjG+zPWYNDeZvsyJEjqiKVv0vLzMzE999/L+jTzpkzBx07dhSiP8oJhhb0F154gX82f/58FBUVCTyO3t5AzQFEAAAgAElEQVTeOHbsmMv79sQTT/DzafXNZDKhVatWHBju7u7Oo5VKqhYC1APgNCnKiCUZVS/efffdqgikxWJB8+bNIUkSLBaLKlp48eJFdO/eXeUshIaG1otXoygSpXaJeJnO07RpU5eRTcLFRUdHC/Qenp6egtNQUVHBsaxGoxErV65ESUkJ8vPzkZ2drdooaDW9Xs+rz3U6HY4ePaq6FioocU6DtWjRot7nTNyc5AD4+voiMDCQvzOBgYEqDXRXRtG806dP83tLONWTJ08K48+5mc1m9O7dGx9++CGPbNfV1XGdeRrX9RlF1Tdv3swdSsJCAtfkAV31wc3NDa1bt8acOXO4E2uxWBAcHHxD1w84JEYNBgMMBgOKiopgNpuF99dVpJustrYWEydOdIlzVY5FnU6HrVu3cqfEy8tLwCmmp6dzaiBnq6urg4+PDyRJQnFxMQIDA6HT6XDy5Enhful0OiFiCTjeVTc3N3h6euLChQvCu6eUNezQoQMaNWoEi8Ui6Mw7b2zsdjtWrVqFpk2bqt4zk8nEna/rEfLb7XYeEQ0KCuLvZUBAAE/P00Y1OTkZZWVlfO5csGABAMeGOy0tjfcjNjaWRzFJMpJ02JVG74ufn5/qGSujuuT0WiwWbNiwoV6MLqW8ybHcvHkzSkpKVIo6t6KZzWYExrVx6Uw+c9DBJflowVnNv/fL+wCD1h7BtB2f4vSlKvz4S62q0ptacZk272aD3bw1OJS3wZ588knBQfg7NuXCcvz4tSq5mpoaVcqaoj2HDh0CcE0GTtkoteSqypuMCgiUlYRBQUFo165dvWTrNPkTpxyleImbLzMzE4Bj4XQVOfLw8OC/q4yOEKaqdevWmn1+4IEHNO+fK91ru90Oq9UKDw8PoSLZZrMJCyvZpUuXsG3bNkybNg0ZGRn1ptHd3NyEjQwpqTgfq4XZ6tatG8rKynDmzBkMGTJEFaG02WyCk1dXV6c6plOnTteFFQCihN3y5cuF/vn5+QmYtusZOXFDhw5FaGiowOkoyzJeeeUVgdKH7ss///lP4TwUbT9w4AAmTpzIF9PrWXV1Ndzd3WEwGHj0lRzKAwcOCJGe2NhYyLIsjBmr1arpyAUFBeHTTz+97u+fOnUKRqMRer2eO/HOxUTu7u6C9jQA/PLLL1ixYoUq+qh8n2bNmoV///vfnCfx/vvvF/pKzlZtbS2eeOIJFVPCoEGDVIVdn376qUCXRE4V2enTp8EYw+zZs1XXSlF5+s6HH34ozBU+Pj5YvXo1GLuGraZ70a1bN8iyjJdeegnt2rXj74DBYECnTp2we/dulJSUcAgKjfkbMWc528TERB6tLC0t5Ty/9P7QPMcYEzgkW7ZsKWzEiOqHopNUOAc4aKPoe+PGjVP1ibCw1O666y4Bv6rFIlBTU4NnnnlG6M/YsWMF+qdbuc4wxmAKidN0AJ9+90sAwNK3v7ghzslmj72FH3/5Dfs/V6fGI+fsw6elP93Qs2ywG7cGh/Ivtl9++eVvh5101Qh7RrvY7du3cweiadOmOHPmDBYuXCg4FRaLRRWZDQoKQllZGRjTdijLysowadIkoSgoMDCQT7RE4EtGKWyr1aqpdhMfH88LH0hpJj09XVV0RMobK1asQEVFBcftmc1mVVEPSe3Nnz9f+HzhwoVgzIEzpeiJcsFVyrYpjZwX6pObmxt++eXGKhEp0qisaL+RZjAYEBAQgI4dO3Kc5sKFC3mKmTEHHZOS1PzgwYPo0aOHcE1JSUm47777BOfe19eX81DeqBHesKioCA8++CA/1z/+8Y8/dB7AwR1Iqfz+/fvj0KFDyMjIUL2L7dq1U+GDX3rpJQCOaCZjDvJvojO6UTt06BAYYxwfSlRUjDGOdXNzcxOiSM4FZ3PnzkVOTo4K30pp5+zsbHz44Ye4evUqP0dxcTHHPNOGDgDef/99/v1169ZxtoCsrCykpaWpCokkSULLli2xbt06VFdX86K05cuXw263w2KxwMvLi1PS0HjSYgGorKyE1WoVNi2+vr6YMGECzxIMHjwYjGlrvC9btgyMMaFQhEyWZXh5ecFisXBHR6fTYcSIERg7dqwKwtGjRw8A4JtHGrM6nQ5JSUlYv3695vupjOC3bdv2uhXyyig4ja85c+ZAlmWe+VA+H+cipmbNmmlSTMmyLECJaLO2adMmMHZNzUiSJKxZswZLly7FnDlzMGDAAOH+N2nSBAkJCYiKikJwcLCQAaKx8b9aZ4yB0S6dyaff/fIPEZkf//rf+OqydvFOQ4Ty1luDQ3kb7Pz585qcin+3RtEtPz8/tG7dGow5HMZ169YJ10tRQOfJXDlJ0cJODmV1dTXmzZsnpJk9PT1hMBh4RSpx8RGBNxnh1kjm8eLFixg6dOh1KyV9fX3Rq1cvPPfcc6r0EKVug4KC0KFDB+j1euHvJE2oLF4h3WbCLhEPZV1dHe655x5hwp43b56wcJHzQs2Z2oacxpycHKSmptZbCOPczGYzLly4wCOb06dPrzeyqUxl0n8HDRqEr7/+Wrh+raIkg8GAF198USA2v1ErLS3lVe90Plro2rZt61LiUssmTZrEz6Hc0CiLCkg3uqysjEdaaMz4+/vzyAw5E84bmeuZs9oQY470K1WaazlIgFhwlpSUhMWLF/Pz5OTkICkpSdg46fV6REVFYeDAgRyO4HxuWZb5s+zYsaMmHpbGrtZ11tbWgjGGIUOG8HQ9URLFxMRg37590Ov1MJlMmhFpwlBevHgR48aNEzY/QUFBwrvqHAWmzZurYiziOmXMEd1T/n5dXZ1wbr1eL8xLgYGByM3NrXdsVVVV8XeBItt6vV6TKQAAj94yxrBv3z6UlZVxJ5DGUnZ2NoqLi7FgwQJhYxsaGsp/Kzk5GV26dEHr1q0RHx+PiIgIBAYGCs7/zXBr0ni0Wq3w8vJCYGAgIiIi+JzcuXNn9OnTB8OGDcOECRM4dIAgDSEhIfjggw9w+fJl6PX6W6oCp9PpoDNaBAzliv3nAQDPHFTT/1yvyruqpg7vnvuhAUN5m6zBobyNdubMmZueAO7E1q9fPwH0LcsycnNzOaBdkiRMmjQJp0+fxqhRowTON+WErsQsWSwW9O3bF0ePHuWLoLLykVI9ykWncePGnLT30qVLWLx4MVJSUjR/T+v3+/btiw0bNvBrqaurg5eXFyRJQklJCV+wnAtdqIDAy8sLK1asAGMOnBQ5p85KOXV1dUIBgdlsxuTJk5GXl6dyfhMTE106jVQIExsbi169emHGjBmc4D0nJ4ePsejoaF6tHBUV5XJBHj16NBhzVJWTs0nncIXZJNybc7/oePobFUjcqFFkh75/8eJFHr3y8fFxSQxOdunSJWRnZwsRl6CgIEyZMoUXgPj5+alkQb/55hvuVPbr108VySTy+z9i586d44uxXq/H66+/zh3d6/FJ1tbWalL0DBo0iB/z1VdfYd68eWjbtq3gNOt0OoSFhaFPnz7IyspC69atheixJEkIDAwUCsfMZjPefffdevtksVgQFxcnRLDuvvtuvjHav38/xxeXlIi6yVpFOUVFRcjMzBTGGKkOKTcvTZs2hcViUfVHiQum61JSXQGiNrrzWGWMXZco3m63C+nrTp064cEHH+T322KxoFu3bujVq5fmnOPp6cklKm9mjiXhAnrngoODhWgm9UOv12P06NF45JFH8NRTT/GoNo0/ckILCwths9k0FZdoblVGX+mdoTZkyBDIsgxZlnkU3lla8la0RpOeR+ScfVi873MAwKHzlzFo7RFVo6rvU99WYdHeYtzzwgmMeP4jzNt1Bl/9P3WdzDUfNlR53yZrcChvs91qmoX/VaPUEeCYdGfNmsUnN3KC2rdvr7r+hx56SPN8kZGRPMJIRkoZyspHKo7w9fUFAHzyySdgzJHqUeJ5JElCWFgYhg0bhqVLlwqLVrt27ZCXl4cePXqogOW+vr48ekLyjQRKf/7551XXQ/gs+u5PP13D5Tg7lFevXkVJSQn69et3QwuJs9O4Y8cOTsrubM6OKmPXKo2J3Dg2NlbF31hZWQlJkhAZGSl8TsTkV69eRWlpqWph0WpEUaIsyqBnM3LkSJw/f16z72R79+7l3yEuPrJVq1bxqmviwyO7cuUK5s6dK6jv0MIuSRIuX77Mo6kpKSkuHesLFy7AYrFAkiTs27cPjz76KD+fyWTCtGnT6qUsIrPb7Rg3bpxwD/R6PV599VUwdo3o/UbsxIkT3CkgJ8h5DHz33Xc84hgXF3fd4j+l1F5qairHF1utVgEf7WzOrAvEEam0goIC6HQ6uLm5CfyQrqq8yYnJzMxEamqqsOFu2bIlNm3aBJvNhqioKOF7Cxcu5Pele/fuXHL1rrvuwrvvvoshQ4YITrTRaETjxo2RkZGBuLg4oWjMzc0Nvr6+8PDwgMVicSlYcKNNr9fz8zdu3BiJiYma1GiSJKFDhw68cCw7Oxtff/01qqur+XOnoiqlUcSW4BEGg0HYIJ0/f56/C3q9HuvWrYNOp0N8fDyAa/AC500VFQrRZv3ZZ58V+hsQEMChPH/l2mI0GtF46COImF2Aj77+t8vxCACRcxw0Qds/LkXJD7+g+jc7/vu7jLKq/+D1Ty+hh0ZBTgMP5V9nDQ7lbbZJkybxySolJYXvsP+OkcvMzEyMHDmST9w+Pj5YunQpZFlGQECAsAs+cOAAunfvriqiUS5QkiShbdu22LZtG2RZ5oD7w4cP8/OcPn2aV9Eq7xlJIY4dOxZvvfWWkE6WZVmV4uvYsSPHBhLZer9+/TQjDMRZOWzYMNXzVNIKLV68GLIso6SkBBs2bIBer4ebm9sfSk/TQqSkParPZFkWOBMHDhyI2tpahISEwN3dnR9HUdbExETh3pBz61wwRCTiZ8+eRU1NDbKzs4Uoi9FoxObNm4Vij7CwMDRp0sQl9RE940aNGmH8+PHYuHEjX9SU0S2KzDkXQHz00Ud80zBx4kSsXLkS8fHx/L66ubmhX79+OH78uMAbSv2eOXPmde/nuXPnYDabIUmSoIGs5DEcN26cyyrpXbt28WhQTEyMUFlLtDE3olCjNB8fH9hsNv6ueHt748qVKzhy5AjGjBmjGldGoxHx8fEYP348pk6dyknCnY9JTU3F2rVrceXKFWzbto1HHlevXq3ZD8JQM8ZUHKVKe+2113gkm6L6Sofy6tWr+OWXX/D888+DMUcKNT8/H8uWLcOcOXOEjYFy3AQFBcHPz0+43pspdiT5TucIu9VqRdOmTdGxY0dkZGQgKyuLFyhNnDgRnp6ecHd3x1tvvcXlFC9cuCAQrffr1w+AoyiHeCiVVd+MOaKaNHc99NBDfOPi7MwfOXKEp+hPnz7NP7fZbPDx8REgKWfPnoUsy1wsQafT8Sg90avRMzt16hQYc/CtyrKMs2fPYu3atbzgx93dXROLTnROTZs2Rb9+/Tju+osvvrjlxTnx7dP+UHr7j7YGpZy/xhocyttsmzdvhsFgwKpVqziY/oMPPuBVz3/UsVTupildeLudU5PJxKN5ZMnJydDr9Rg8eLDgzEVHR2PBggU83davXz/885//FBZdWvBoEp44cSLi4+M1MZnEh1af0YQ9b9484RwGg0GoKKUUtqenJ7Zu3YrBgwejUaNGwoLl7u6Otm3bYvLkyTyyc71FTRlpnDlzJp544gk+ASuxcspqUsZYvTQ7APDee+8J+CslPyLh995771pqZ/z48WDMwckoyzLHLGqp6lARRosWLfh4CgoKwvr167FhwwZhwWnevDkvmCLHlCKc27dvx/Tp05GSkuISt6ds7dq144UezhhMWZaxfv16IR2t1+vRuXNnFBQUCMf6+vry43Q6HVeluRH77LPPVGOtsLAQW7Zs4fhOSZIwcOBA/PDDDwCAH3/8kWcfTCYTnn76aQDXKs6pL/3797/hfpBJkoQuXbpgx44dLt/t0NBQTJ8+XXA8AGDt2rWCVCA5Gc40XN7e3mjbti1/roMHD+apzdLSUmFsDhs2DEuWLMHDDz+M7OxsDB8+HH379kXXrl3Rpk0bNG3aVMVZ6Px+/9lms9nQokULzQ0M3SPqQ58+fVBeXq6KzhO+MiYmBnFxcbx/qampKCkpwblz5/iYBIAuXbqoxiRR+RgMBv6MExISuHLOvffeKwhE0IZbGTWnjIhWMdDBgwd52vvcuXOcNYA2J+S8e3h48I1MVFQUzp49i88//5zfk2bNmmHt2rX4xz/+gU6dOtX7HJSOtoeHB9+wOmcGqKBtz549f4jw/nqNfj/6HysRWY9azs20Bi3vv9YaHMrbbFevXtWMbly9ehXvvvsu3026WjgIP0MvsNFoRFJSEgwGAyZPngzGmKCO8Vc2vV6PiIgI/u/k5GS89dZbuPfee4VIZHBwMB588EGhWpiKUMxmM2RZxttvv82/ExgYqOIxpIl/2rRp+PTTTzlmkTEHDYgrU1akyrLMKUgYY3yhbdSoET7++GNeZFNUVARZlvHll19iw4YNyM7OdokppKbk+KP0tJubm5DyBhwye0SQvHnzZtjtdk44TNEQZUqpbdu2qpRXdXU1T0GTfJ0zxuzy5ctgjKFXr17C5+QEd+jQgSttOFMTlZaWCtizyMhI7Ny5Uzjm66+/FvCS2dnZMBgMvHK5vqKcw4cPIzU1VfWMSQ7O+d5aLBZVxIScCC8vL1URiPIZEz/qHzUlfypjIo/k3r17OR2OTqdDVFQU73ePHj2E91spuUrXUJ92PJndbsfOnTu5vGl9jeiO7HY7ysvLcerUKYwfP151z8aMGYOePXuCMUfRUVJSEoKCgnia/8/MBQRHMJlMcHd3h7e3N3dwaLwbjUb069cPI0aM4PPXqFGjsH79euzcuROHDx/GuXPnUFlZicuXL8NsNvMxQu+XlsyfTueQP920aRN3IkNDQ/lY//zzz13e56SkJEiSBLvdjuPHj3PJTeV7SHhQpXKT3W7nkd+QkBCUlZWhrq4OQ4cO1bw/Pj4+mtrzSviLcwqarLCwkEfvqRhSr9ejqKgIlZWVfA6m4jlyGrUivfRdup9du3bFI488gl27duHf//63EElt2rQpZFkWpBfr6urw8ssvIysr6y+tBPf09IQtOBKRD+9CZD0k53+0xc0vxLeV1xdHaLCbswaH8g6zq1ev4s0330SLFi1ULxhjjuiSh4cH0tLSEBISAp3RgsiWndGkQwZmLFoJb/8gbNy4EYwx7mD+la2qqgpHjhxR0V6Qc+iskKM0OrZRo0YIDw9XpbIYczicStoUJd0IRQTqKyag3bUS/6jk2aPIsPI+16c9HRsbyyd1nU6H0NBQ1SJns9kwefJkWCwW7lDKssz1iLWcoMcee4x/f/DgwTxiopzcDxw4gNWrV/N72759e87f2LNnT9W1R0REaBYzEGE3nYOsuLiYO5l0fREREarvy7LMK5WfeeYZ/uzJyWvTps0NVXmfPHlSIManxe5mQP7x8fHIycnBypUr+bho06YNJwZ/44036u2Ls5GqDvUvOTlZdcyGDRuEZx8fH6+izdm5cycYc0TpLl68CL1eD5vNhsrKSpSWlqKoqAiFhYXYuHEjRo0ahdjYWM30oclkgq+vL4KCgm6ZdrLZbOY0MyEhIYiKikJ4eDh8fHzqzXIkJSXh2LFjuHDhwnXJ5omuiyQpAWD27NlgTORQ1LL169cL19+yZUsVTpr+Pzg4WCjQ6dChA7y9veHn51fvb5D8I4kKAA7Yg3L+pXePtOUXLlzIq7V79uyJ3393qLOUlpbyVLfyfkmSVK/eOD1Pg8GA1157TfOYN954Qzhn//79NVkWqNE4U86b5DQCjmwMYyK0Rqly5unpCR8fH5jNZr550hp3NpsNM2bMwBdffHFLxqSyeXp6Iq7vPbc0QrnjhFrMosFunTU4lHeoXb16FW+88QbH55jNZiQmJsLX1xfTFyxFQJ/JaD5np1qi6pG9iJ3xEhLHLkTm6GxYrVYVx9ytbMpJnfgalROqsnintrYWL774IgYMGCDgsei7HTt2xGOPPSboH6enpwOAJt0I/c6YMWM072F1dTX0ej38/PywYcMGTJo0CV27dq0X48eYI1JI6ekdO3agvLwcU6dOBWMML730kpCCIjtx4gQmT56syTkaHR3Nf7Nly5Yu5QOVnH7/+Mc/wJiDPL1v377CPbVYLDxiSFGTgwcPqs5HzpRzOhgAX2y6dOmCY8eOCQtou3btcPLkSURGRsLT01P1XSL5njx5Mv9s3rx5ghMSHh5er0Op5Es8fPgw7HY7Fi9erMml2bRpU676U1ZWxtPoPXv2rHdRdXd3538PDg5Gfn4+vvrqK5d9IiPc44ABA7jkKGMM27dvR0FBAdatWydIbUZGRgr9NpvNCAkJEca4JEl/yhG0WCzw8PCAn58ff+ckSUKLFi1UkUg3NzcMHDgQmzdv5uPo6aef5tQ4RGGlxRlJRvAIV43mowceeECTfF9plE3Q6XTYv38/p4ZyJV8oyzKmT5+uualr1KgRZs2axcfDqVOnkJWVJWRElO/ghAkT6u2b3W6HXq/n6jNklOLv3r07v98U8aN+kRZ8cXGxoMDTrFkzjvOm1q1bN/z8s5r3sK6ujr+HFBEdNWqUkJ4OCwtzyWVMFf29e/fmuFAiv4+NjYVOp+NV6u+8847w2/7+/vD09OTSozczLv9qvkqdTod5L6klFm+mPfve9d/9Bvtz1uBQ3uEmyzJfAGY8mougEbmInLMPEdfBlkT9P0ez49yX4OYf9pfIZFEzGo1CSrSiogJDhgzhf6c0mPI7tAAnJSXBzc0NBoNBoOWZMGECXzSdHaKioiJV1XFYWBgGDx6MiRMnomvXroiMjNSMskiSJKRLabEwGo149tln+eKclJQkSDNSpImwS85YNbIrV65wpRNnzjv6/cjISIwcORIFBQXCokrVl4TTo43AXXfdpZrAAwMDsX79elXxjdKqqqrAGENqaqrw+eHDh8EYE56JTqdDt27dBIcrIyMDOp1O6CNhK2NjY1W/V15erpI11LKSkhKeZt21axdmzZolcE/SM1ESONtsNgwdOlST4/DKlSsCZo8xR0o3ODjY5UJMqXA3NzfYbDZ4enryooubXSzrw9L6+flxx9P5GHd3d7Ro0QIPPvggjh49iu+//57j/Zo3bw6z2QxApJ0i7r+UlBTVOFcWnMXHx8NgMAjP8OLFi2DMEQl3turqajRr1gyMORyjTz/9lD+PjIwMBAcHw2AwoGnTpqoirdjYWGRnZ+ODDz5QOYtKHKckSSoderKCggLNghDGGOcNdTZS4vL09ETXrl2FfsXHx7skKydr164ddDodd7iJbYDuT2VlJYYPHy48t+nTp+PIkSO8MIUxRxSbnHSSf+3RoweP+huNRixfvhyyLOPMmTN49tlneVEbkbM7XzNBWrTG1YQJE4Trovc6LCwMe/bsAWMMWVlZqKqqgl6v52pf586dQ1ZWlsv7fCe1jIwMAMDLJ0oRN78Qjee9+Ycxk3HzCxsik7fJGhzKv4kNemg5Ih56HZGP7PljO7PZBYh8+A20GvLXpr/DwsJw6dIlrFixAmlpaZqRJoPBgEGDBnEZPcYcxOYHDx4EY45ID02QlAKmxeGhhx7C+fPn8fzzz2PSpEk8be0q6kOTpZubG2bOnIlXXnlFqK6NioqC2WwWiiwOHjyI2tpanhKWJAkPPvggZFnmfSSMZX327rvvqhaF1atX49FHH0VycrLKaWnUqBGysrIQEhLCMaXO0m3R0dEoLi5GTU0NJk2aJERkCOukZTExMTAajcLftXS777rrLtV3KcJJEaiqqipYLBaYTCZcvnzZ5fUrpdpiYmIEuqBvvvlG0Oem40wmE5KSkpCTkwM3NzeYzWYMHTqUO07OXIXkDN4sv9/1miRJ8PHxQUxMjEpRyWAw4OGHH0ZxcTEqKipU976iokIl7ajse3BwMO93fdXSAODl5YXw8HDY7XbupNx7771C5Xbjxo1RUFCAK1eucDyuwWDAnDlzoNPp0KlTJ9V5g4KCVFX0p06d4pstku4jrkEqoqP3iq6Z9NJdka2PGTMGhYWFCAwM5I6pr6+vQL9UW1uLBQsWCNhho9HI38O0tDQYDAbYbDZVdJ/S4j4+PjxqSdrfynFDcopa0XqiHHrqqacAAKGhodDr9RwLW1dXp4LGKFu3bt0E/KMSw/vMM89gwoQJmvrgyubh4cGrpyk66u3tjffff18FgaDIt6+vr0qSlPDzbm5uwjVQxJn4av8uTVlU+G1lDcbkH+eO4vUcycg5+zAm/3gDZvI2WoND+TewNe+V8HT2TYX7/9/3UnOe+EteeufoEC2a3t7ekCQJV65cwcyZMwWeSnJWSCmHtIwHDx6M559/nqeXlMoRWk2JORs3bhwSExOFNHyLFi1QWFiouqdKjsHhw4dz7WMi4j5+/DjHBnp7e/MoUJMmTa77vGRZFqhEvvjiC9Ux5eXlePLJJ9GlSxeBYJoxR3TN2SF//PHHhe/b7Xa0bNmS/91qtWLWrFmqSlZSWdm+fTvy8vK4w6DT6TB27FhUVVVxTKiz/i85xosXL8alS5c4lmrq1Kl45plnsGDBAkybNg3jx49HVlYWMjIyuIyjs6Ov1+tvqvBD+ezd3NxgMpk0x4OPjw9GjBgh/G38+PHYvXs33wy0bt1a0/EuKyvDyy+/jBkzZnBHz8PDw2V/dTodOnTogJycHOTn56OkpARffvkl5syZgzZt2riM/FitVjzxxBOcqkWSJPj5+ameGdnVq1d55JgcVKUTTmNky5YtwvcOHDggZCTIUVIa4atpvK9bt45LQubn5/PjqOCooqKC85kyxrB27VrNPl+4cIGTrWthQWkOiI6Oxrp169CiRQvhmXl4ePBI5NGjR8GYQ6d7w4YNYMwRfSUjWidPT09hg6OshI6MjMTTTz8t0EuReAKxKMiyDIPBgLi4OKNHgPcAACAASURBVE4DNnHiRACOaC5huFu0aCFINSqzG82bN0fHjh2FqLrz+Pf29hbe9dTUVHTp0kWVBQAcMAGtcU4sAcR/qxRSIKN5KyMjA8XFxZg5c+YflmW9E5qXl5fmu1Hywy9YUFCM1OXvIco5MzfHQVq+oKC4gRrof2ANDuUdbi+fKL2loOSu42f/JS8/Rd1CQkJ46shZYUaWZSxevFil9R0eHu6Sx4wodyhK5OHhgVdeeQWMXQP1f/TRR2DsGt6SAOfKKJ6bmxsyMzN5dJFS2FS04opIWCnhZzQaNbWGlVZZWckpdKhpObRa36P+uLrH6enpQkQiICAAHh4eWLp0qVD1P2zYMBw6dAh79+7FunXrNM/VpUsXJCcnIzExEdHR0UJhwM2SO+t0Ov79+oo63Nzc0KlTJ0ydOhWPPvooVq1ahS1btuDNN9/kKfXx48fz66RiCGUBgTPuS6fTcbzk8OHDOUaUnORmzZpBr9fzAgoto0Wa+CoPHjwo0KEEBwcLBV3Xa6NGjcI777wDxhy4VBrjVqsVjzzyCNdM79u3r2Z/zp49yxdW5Xk7dOiA06dPo66ujhfrOJssywJWOCsrS5AXLCsr4789atQo/q4poRz0jtCmDwDnhmWMqajCtOzSpUuCBKWrZjabVQUpCxcuBGPXquL79u0LxhiWLFmCV155BTqdDjabTUX0TscRATjBcYgA31neddSoUWjdujV0Oh28vb1hNptRV1eHXbt2CU6jsr/OfLrKcUjPmDFHMRhFTsnOnz/Po5BEAu9s5eXlwqaMfk9ZBLV06VI+Lilye+LECZd9+zs1g8GAe+6557rj69ff7Cgu+xmflv6E4rKfG+QU/8fW4FDewfZtZQ3i5hei2WNv4V/vX8Dhkh/x7+rfAACr3v1S5Sy+9sm3mue5cLmaRyrDH3od0UntbunLT8UX9913HxhzYK8+//xzroLRpEkTRERE1Et+a7PZ0LlzZ168YDKZEBcXJ1zHkiVLOGkvY0zA05ESxfnz53m159mzZ1FVVYWHH35YiBx4eXlxh0eJL3MmEiblFJ1OJ1RduyJ+PnLkCI/ATJkyRZBnc05NybKMqqoqnD9/Hh9++KGw6FosFvTu3RvJyckICAjQlD9UVkcrpfD+yDMzGo1wc3ODp6cn/P39+QLm7++PlJQU9OzZE5Ik8Q2AzWbDM888g+3bt2P//v04deoUp0tRWlFRkSpqrWydOnXi1abORhEi56hb48aNueoNcf+ZTCYUFhZi9+7dAreeJElo3bo1hzMkJCTgqaeeAmMM69ev1/xdWZa52tLPP//MaZP0ej2PZgcHB3PpQboWvV4PHx8fhIWFISwszCUEw2g0IjIyElFRUQLFFEW/tFSYlPrvjDkiTs7VwlQxvWLFCuFz2qCkpKRwRRU3NzdBslTJsZqUlKSq2KaKcmWa2W63874z5uCRrQ+faLfbVQ4xjWHnz/z8/JCRkcHJ1olShzYBdrtdIDa3Wq2a1dNubm4ICwtDTU0NDAaDpkLPd999h/vuu08FZ2DMUZTnaq5SYpj79++POXPm4I033sDq1auF4keKJNdnhP1kzLHhoCjr3r17+e94eHjwiKPZbBY2BbIs81S2Up3H1f39u7U9e/bUe/8a7M6zBofyDrYx+cfReN6b6PzUQVz5z39x/Ot/Y/vHDnCxK4fyP3W/q/RO+6w+zI+JmF2AwOGP3zLqEWoJCQmIiIhwGZny8vJCXFwcevfujYceeohHGTt16sR51MgRoO8MHDhQdU8I08WYg2+TjGgrKDXYuXNn1XdLS0sFomFqvXr14g4OEQmbTCbuTO7atQuXL18Wqs/9/f3x4IMPYtasWZg4caJQJR0VFYW4uDghLUa4v5tJ+17vO0TGnpCQgMGDB6v452hBN5vNMJlMLuUD6+rqeKp+9uzZAMDpgfR6vctCCkC7Cp8xEbO1dOlSdOvWDYw5HPnFixerzkNVyc4YzQ8++ACMXeNfDQkJUWmrm0wm+Pj4ICkpSXAuGWP8WbZs2VKz/+SkZmZmcmfJz89PNaYtFguSkpL4dShTji+++CIYc3CHfv/999ixYwcvLiNexvqeZZs2bZCTk4Px48cLVFnBwcECh6vSSAXK3d1dcOwefvhhMMbw1ltvAQDy8/MFEv29e/fy63TmKgWu0elMnTpV9Td3d3c0btyYF5uEh4ernteFCxcwevRoYZ6RJAmDBw/mkVPaqERGRqJXr17CNdPxkiRh2bJl/Pz/+te/+N+1dN0pwk28ocTOsHbtWnz22WdYs2YNJkyYgJSUlBuSEdTr9ejSpQt27dqFyspK1NTUgDGGoUOHCr/7zTffQK/Xw2KxCLRXPXv2dEkZVFtbC8auOZ+SJPH3jbFrBSlKTlSr1Yp+/fqpZDAZczj5xAV7I/Kud3KzWCyC89xgfw9rcCjvUCv54RfNlHWrxx3UD64cyl9/s99Q6tvgp016+2ea1WpFXFwcTws2adKEO4laxti1dNq7777LCzCotW3bVvWdTz/9VFiMOnTowB0kWuQZY9i3bx/eeecdbNu2DXl5eVi4cCGmT5/OozW+vr4qdQeiA/ozhR56vR5ms5n3T6/X82hHcHAw0tLS0L9/f4wcORLp6el8waVq5Pfeew9ffvklfv75Z8FBoAjmgAEDuLNkNpsxatQozcXFYDCgffv2qvT7fffdV++4q62t5Q7pggULuIP47LPPqo6trKzE9OnTBXocX19f3HvvvUhJSYEkSQLmLysrC4CDlofufXh4uEA707ZtWxgMBtVvlZaWcseuU6dOKmxVQUEBGGOYO3cuv47c3FzV9TPGVEVVFMlyNabbtm3LyfaVRlHP4OBglJSUwGAwwGq1CpE+IjZXEqOTszlz5ky0bNnyuspWkZGRSE1NxaRJk7BhwwaUlJRwlS0AWL58ORhjmDNnDv+MnCXnZ6vkIKXWvXt34ThZljlZvhaGrUmTJrBarQCuSXRaLBbs2rULDzzwgAoWEBAQAF9fXyEySxFVYjbo0qUL7+O2bds0+0nOH43/Pn36qPpNdD0jR45ESkrKdTGNCQkJ6N+/v4qdgJpOp0NiYiLWrl3L74XFYhHUpWRZ5lhvSs+TQAW1jh074uzZs0J/yfldsWIFHnzwQeH4e+65h5OIa+EfzWYz2rdvj8ceewzffPON8P1bHSy43U2v12PIkCGqcddgd741OJR3qC0oKNasZLslDuXsAgT2nfKXTAbt27fH5cuXMWDAADDGXGK8AIdDmZmZiY8//hj79u3D5s2bMWPGDCHdRFKH7du3R/PmzbmjpiyUUS4yN9oI76esAtU6jqIqU6dO5enF9u3bY+3atcLCGRsbi99++024Pnd3d16BHRISAp1Oh2PHjqG0tJRHNC0WC/Lz8xEXF6eJpSKz2+08PU0ayIw5MIJKR5pSZMrrcb62pKQkXoyhZTU1NSqeUNIZ1nLU3N3dkZWVJfAaKquQc3NzOSRh69atAK5pkNP9Hzp0KOrq6uDv769KURYUFAhOvrIwgyw1NRWMMU0VqoqKCowePVq4HuKo1KrgTklJQW5uLr777jt+DsIZOp9/wYIFfBFkTK2JruVQOj/XuXPnunQqDQaDZmSTtLLJ2SROz7Nnz+LSpUtgTI3NVJLrKyO4RqNRcFAJJ7lw4ULNPvfv3x+MMdjtdtTU1HANaGo2mw19+/blcIn58+fzv6Wnp6vuIUXTlJy1lFrv168fdu/eLSg3KZvJZILNZtOkhyI4Aj3jrl27oqCgQMA0lpeXq6J58fHxkGUZr776Ktq3b8+fjV6vR8eOHeHn5yfws9LYmDVrFv+MCM5PnTqF9u3ba7575IzfCJE/yW9OnjyZO9bKzWFdXd3/iTQ3tZdeeklz7DXYnW0NDuUdaqnL3rupCOXv8lX8+Estfpev4vuf/4PNx/4/tFj0jvpcU1+45ZOAUpnB399fKDBxd3eH2Wy+KbyfcvGgxTAsLAxNmjTh+CJKKdOxo0ePRl5eHrZt24a3334bx44dg7u7u4oDj5Q8nnvuOVRUVAh8ecrJ/IUXXgAAmM1mNG/eHIcPH+bXR4t9SkqKkJokhxJwSBUSPpPOfdddd/G0js1mQ+PGjesdE1SxTWl9paPYvHlzHD16VDj+xIkTmDp1qksOUpvNhtzcXE0M3PHjx4VjBwwYIKSSTSYT0tPTVQ4U4FjcaIGfP38+gGv8nEajUSiiuHjxIr8eUihSOozkxJvNZuzfv5/TtyidV1mWYTQaXVbgX7lyBWvXrkV6enq94+vtt992ee/Xrl0LxphKghIA5yL09PRUwQlcOZS1tbXIycnh98nLy0uTzslms3Fnvry8nEc2e/XqhdjY2HrT6EFBQTyyuXr1ag4tadWqFWpqajB//nz+PFu0aIHq6mph4+IKG0mUXtHR0fz7RqORO/09e/bkkUFy5khH3JUR3VH//v0hyzLy8/PBmKMyX8n1WF+jvjRp0kSgm6GIq5ubG48ylpSUIC0tTXjPKbsQGhoq9M1utyMvLw/NmjUTju/Zsyd/JxMTE4XvkENJdvHiRXTv3p1/Pzo6WhNbquyLcm5Zs2YNP1dVVRUv6iGhhLFjx97y+fx/1QwGgyYJfIPd+dbgUN6BVv2bXUWHcCMO5eN7P8fjez/H6PzjGJ1/HHkHS1BTZ8dXl6uR8NhbKiohg8X9lk8GysVNWUBjtVrRqlUrdO7cGX369OGRkvj4eOTm5mLt2rV45ZVXcPDgQYSEhMBms3EcF9EPKSdypX344Yd8MYuJiYFer0dYWJhwDDki69atEz632+2QJAmJiYkcw7V69WrU1dVh1apVQqSONKWJusZgMGDnzp24cuWKgA0kBQ2lQ3no0CHurBqNRnz00Ue8D7IsgzF1Cs/ZCC+nvN+UOvb19eWaw0qrra2F0WjkCit+fn4qaiXGHHjBESNGoKCgAHV1dfxeKI+TJAlt27bFtm3bXDobdrtd0LlWGqnOREVFqb6/fv167lz5+fnh4sWL6NKlCxhzUEd9//33ABxYNUpDkpHWMGEyKyoqsHz5cqSmpqrShddLB8bGxmLZsmUqx5DIwJ0xhfv27QNj13CqcXFxQprY2aGsqqrCiBEjeD8CAwPx3HPPAQDXgdbpdNi0aZOqX4SH1LLy8nL4+Phw4n2dTufS2bRarTyyqYwuGo1GjhPWogXatWsXhzJQP5OTk7Fjxw7Isgy73S7gjGnMTJ06FUFBQULkWZZlfPbZZ8jLy8M999yDlJSU61YnR0ZGIjMzE3PnzkVBQQEKCwuh0+ng7++P++67T4WHJLL1iRMncsqjESNGCOlt2hTq9XpUVFTwaKVz5ThZdXW1IE9KbeDAgQKm09mhpGf0z3/+U9h4K1tUVBQ2btzIi6C2bNnC589mzZoJWExZljFixAgwxlye7+/YJEni2NEG+/tZg0N5B1px2c8u09X1OZRabdLWTwAAj+/9XPU3U5AaX3azrUmTJtDr9ZBlGbIsY9q0aarFTEn7AogYSqUpNbBJSWLBggWCXri/v7+wa1emLqnCmNKry5YtA2PaxQcABD5HLe3xp59+mi+gyusZMGCA4MTt37+fRwNDQ0NhsVgQFxeHnj178kWLQPfKqtxjx46BMYbHHnvM5ZjYuXOnkBpzd3fnSj7EWWcwGLBjxw7he+PGjQNjDh7K5ORk6HQ6vmCdOXNGpRlfX9OqRFaaLMtcAzs0NFRTepH4D4nnT2nPPvus6jd79eqlcj5p0Se5yVatWoExh1KJcnHV6XQICQnBwIEDsW3bNtTW1goKTsrx8uabb6Jr167c0SPs7+bNm/nvS5IkFHv99NNPAtE7UUwlJiby75BDmZOTg379+vF3IiIiQnhWJGdJz5gc+pdffhmZmZmC/J+rdCApvDB2Da+6atUqfi/69u17Q5FNxhxVx5MmTcLs2bPRpUsX7uzrdDr+jLXeJ2csYG5uLvLy8jgVFb0Xzr9H6Wn6G22cDAYDJEnSjIQD19LGI0eOhMFgQHx8vEuydWWLiYkRxsq+ffsAOJgaGGO4//77NX8PAKeConddGWkMCAhATk4Oh2BoiRloNbPZjFWrVgljnYp26PySJGHKlCnCMRQ5/7/SdDqdatPfYH8fa3Ao70D7tPSnW+ZQRs3dh19/s2Pv6TK1QxkSd8smAgLDDxkyBPn5+XjjjTfw2muvcXUPakp+QVoIlEaTKIGy7XY7fH19ecFMo0aNBM1sT09P7mBMmTKFc8/RRFxcXAxJkuDr66tZYFBbW8ujfM6RT6VRaouaMvIVGBiIqVOn4vLly5BlGVOmTFEt1snJySgvL0ddXR18fHwgSRKnPVq0aBEYY/jggw9Uv7thwwYeJdXr9dypdqZzUVIWkcZ2ZWWlILm2bds2vsgrrbi4WKBFqq9lZ2drapHLssyd04kTJyI9Pd2lljel65z5Ocn5Vd67gIAAHD58WDiO0vFEe0THSpKE8PBwDB8+HLt37xaed1FRkVCgERISIugvDxs2jG+GNm3ahFatWgkchGlpabDZbAgJCeHnpAIvZRqcroFI1Mn5oBYfH4/9+/cL10OVyE2bNoXdbhd0tClSWlVVJVRN+/v7Iy8vT8A+AuDUNW+99RZ/F3x8fDTJ9QFH1IyilEraG61mMBgQHh7OHW9/f3+cO3cOJ0+exOOPPy68E64woT4+PkhISBAijT/99JMwjpQpbp1OhzfffFOz72RKXfVly5YJf3vttddcFuZQs9lsePXVV/l48fDwQGBgoMvfI/1txq5phX/xxRfo27evZpRVkiR4eXnxDWlqaipKS0v53xMSErjja7PZMH/+fPz+++98I7x582YUFRXxYjlfX18+hpwd+P8LTalo1mB/L2twKO9Au5URyqi5+1BTZ0fBZ9+p/mYMjP6fTBiSJPHCG7PZjIiICMTHx6N169Z8cWjRogWys7Mxa9YsrqLDGON6zuXl5Zg7d66w8586dSpPVdNnlJ7W0t6uq6vjEUOKvGjZgQMHVKD/JUuW4OzZsxg6dKgQ6YiKisKUKVME8mSTySTwKp46dQo6nQ4BAQGw2+1CkQPgWFSffPJJvkCbTCZMnDgRNTU1sFqtPDLi7IwrSdXbtm3LCZ5p8VFiDS9fvoypU6cKuD1nTJfJZEJqaqomBtPHxwfdu3fH6tWrUVFRwTcUo0ePBoB6HcrLly9zWiYlPyf1xWKx4ODBg0KxSkREBBISElTPgShocnJyNNPwdXV13LGi9CtFjxhzFElQhLNJkyZCf2pra7F06VLuAFMbMGAAxowZA8aukesrjaiSlMVlgYGBmjKLFGGLiYkRnj85jocOHRKOr62txZQpU4QN1YIFC/i1k1NIDkrbtm2vS79Cmzi6R8pr1ev16NmzJzp27IiAgIAbYkAwGAzcYad7YDAY6nXSlEbwAsZck74rrbKykjtrRCW1fv16Pp70ej2GDRuGyspK/q4aDAZV1FCn0yEoKIhv4LR044Fr1GWSJCEnJwcJCQmCI+lKFcrNzQ179+6FLMt8TLVq1QqA45kvWrSIPz+z2cwLD5XjeuHChfzcf/dqbq1mtVqFDUaD/b2swaG8A+3Xm8RQarXJLzkoWRbuKRY+j3hkL3RG16osf7SVlZVxvdodO3bg+eefx1NPPYVHHnkEVquVLyh0PC2IFosFPj4+vGjnVlQqms1mIQXu7u6OXr16YciQIZgwYQJmzJiBBQsW8LRiVlYWj645E5AvWrSI49IKCgp4xaqbm5uwUB86dAgZGRmqhcTDw4Nfa4sWLXiamiKemZmZaNKkCdzd3WG32zF79mxBUeXhhx/mjsb+/fvBmIN/Mzo6mkviKU2WZU7FwpgD/E9WU1PDCzOo2Ww2DB06FKdPn+ZO8KFDh7BmzRp+D+mannvuOb6IaRUU+Pn5YcmSJfj+++/rdSgBcB7SpKQk1NXVcTJ6nU6HgoICZGdnIy4uTrVoBgUFIScnBwcPHuRymZIkaXJrbtmyhUcwExMTOQZNmRomp4HS1VarlRfBKK2yshLNmjUT+kLylcoir/379wvRXnJ4taq8iTA9IiJC1X8aA+7u7irCccARuZ8/fz53kCwWi6qSnZx7V1ZdXY1HH31UgFIYjUZERUWhRYsWLotGlCTaN8Krqjxm9OjReP7553H+/HmXMph0TfTeKKuntcxut/N5w9/fn/fbZDLxiHpNTY3AcUvR6TZt2qCyshKrVq1Cenq6ikqMyNbz8vKwZ88ejBkzRjVHmUwmNGvWDFOnTuWbhoyMDNVYoXun3IB++eWXqutZs2aNIAwwevRofPfdd6pn9X+x6XQ6JCUlNXBQ/k2twaG8Q825ynv8po+Rs+0TzHrtMwDA3tNlyNn2CXK2fYL4RwvR6amDKPr/KvFYQTHGb/oY4zZ9jLWHvkLtf3/H+fJf0PRRsSgn/P6Nt3QSePLJJzmZ8qpVq8RrSU3lzgWp0dB3SS6RLD09nWvbVldX4+uvv8bRo0dhMBj49/r164fJkydj5MiRXCmmXbt2aNSo0XU5/f7INdEiQBWqoaGhvOCEMcciPmDAAIwbNw6ZmZl8AfTw8BAIiiVJ4tFGSZIwffp0yLLMuepMJhM8PDx4lMPb2xtLlixRLbhEnVJRUcGjJK4KeShSKUkSxo8fj8TERGEhjI6OFqJflGadNm2acJ5t27bxjQDpShuNRkiShMLCQh5Rdt4MkBMxf/58l4Tow4cPB2NqWTvl/U1KSsKMGTOwbNkyHlGKi4tDSUkJpkxxUF85V+WWlpbytCnRMimtqKiI99n5WomFwHkMA46oFz0vnU4nOFze3t7cUZAkCf369ROok5wdyieeeAKMMTRq1EgFIaAiLUqpJycna94/OnbVqlWaUWRnHldZlnHixAkMGTKk3gpjxq5hGuPj47lzI0kS5syZg+rqakE6kKK14eHhkGUZ5eXleOWVVzBz5kz07t1bFeFVNqvVioiICHTt2hXjxo0TMI+5ubl8A0RsAVr2zDPPCGPOYDBg9uzZfCNWXFzM379hw4YJGwMtKEB1dTWXD9WiI6L7wxhTcUvSOKK+JCQk4Ouvv4Ysy1i3bp2qgKZHjx4cC6w0oqNyVuwxmUzo3bs3VyX7v9jCwsLw448/unzeDXbnWoNDeYeaMw/lpZ/UuDWyzk8dRNLCt/HW2XJ8W1mD/9T9jt/sv+Primr86/0LaL7gbRUPpW/PnL90UggMDESbNm0wePBgHn16/fXX0bRpU/j6+gqRJ7PZjODgYCxatAhhYWHw8vJCeXk5x4eRpjCluA0GA7755huOPaMqWbKNG7WdZS+v/5+96w6L6ljf39m+LOzSq1IFERUFjAUr9ha7othQY6Im4RpjJRJMNBpjLNFgLsbkaiwR9XqtxO71YsVuiGIJsYQgEkRERFiX9/fH/mbcs7ugSTD3JtnveeYRd0+ZMzN75p1vvu99dTh9+jQHQR06dMCaNWuwZMkSJCUlQSKRwN7eHl27duXgTqPRICgoCD4+PnB1dX1mnNkvKeZbbjKZDCEhIejZsyfi4uIwfvx4zJgxAx999BFWrlwJmUwGT09PXL9+HSUlJWjQoAEEQbAAbFlZWSAS64ILgoCmTZti48aNUCqV8PPz48czUvCqtvwZwGGTm7mHhvEHGgwG7NixA3FxcRYTsUqlQnh4OCZOnIiPP/4YAwYMsAqC3NzckJiYiOvXr1vUQ6/X83g/lmHMrs3iHydOnMgn8969e1v1dDCaIiJLRZ7s7Gzuperbt68I1N+6dYufxyQcp02bZhE35+/vjw8++ABlZWW8jqaURgsXLuS/EWveRxYjmpSUhJdffhlEhPfff99q37B2Z7yv5iU0NBTe3t5Vbo9qNBpRHKqfn5+Flx4QJ5yZlnHjxvHfJPO+WzMPDw84OjryxUPTpk052KwqQUilUqF27dr8nN69e4s8m6WlpRgzZgwfjzqdjgNHtlhavXo1XySwJD4m72nKJVleXo7169ejb9++XLLTtI0CAwOtyomq1Wo0bdoUycnJOHnyJA+fYM9jaoysvVWrVnBwcBA9s0ajQb9+/XD+/HmkpaWJxpREIuG/ZUEQ0Lp161+luPVrC/stm3PT1nRxdHTEv//972qlPG32v202QPk/alUp5dRUqUmlnICAABw4cABz5szhk7E1dYfnLWyCUKvVeOutt7hOc0lJCQ4fPgwio1dKKpVaxGUZDAa+dbt06dIqA/LNM86Bp0o7bAIzVR4xtY4dO0IQBBH9SPPmzZGRkYH9+/djw4YNSElJgVwu58oxffr0QWBgYJUeD3bfXztRsJhEc+CgVCpF29Tx8fF82+zjjz/GP/7xD84hePXq1Spf5own89ixY6KseCJL3W3gqad5z549aN26dbU67qz+RNZ5Hs3t22+/tdj6GzlyJN+i9/LysrptDTwNG2BbnuYeWcAYU8j6NiAggIcVzJ8/n7fj7NmzRfFu48ePx44dOxATE8PHjyAIIvWn2NhYnpXr4uJiFbgBT4nFDx8+DL1ez/Xcz549C8A4xs+ePYulS5di8ODBz6TbMS2urq4YN24cf6aLFy/y8RsVFQVBEKyC8OzsbJF3nhW2pW/uBTY3RhuUm5vLE8vatm0LvV6PkpISHn4yYsQI7pUMDg6GTqez+psw/8zZ2RmXL1/GzZs3eXwk42bUaDSi+FXTPmnZsqWF5KNOp+P936tXLwDAmTNneNzz48ePeciKabINK1qtlj8DM0aT1rx5cxgMBigUCoSHh+Pu3btISEiw2Gpn7z9ThZ7jx4+LEpBeRDHd4WFtzHhH2b+Mnuq33kOlUqFt27b8/ZScnFztGLLZ/77ZAOX/sDEt75oEkkYt79k1rqrQt29fLFmyxEJ2raaKUqlE79698f3333NOOSLCpk2bRG3GsmxNdb7N1VCIrAf7M++XRCKpNrOU6TMTPQVCLKvX1Ex5KAHgu+++s8phx0pISAjnvzMYDCgsLMSlT6p1kgAAIABJREFUS5dw+PBhTtWSnJyMqVOn4rXXXkNsbCyf0M37kyU+MQWVX9reTEFFrVbzSV0QBAQHB4u2700n0fj4eHz88ccYNWqUVW48JycnREREVEuhEhcXh/379z/TS8E0lU2LIAh45513qj3P19cXEokEhYWF0Gg0oqxtc2MecLVajVWrVlmAGI1Gg8TERAv2AIPBgDVr1iAqKsoqGHJ0dKxSmxsAevbsCSJCZmYmPvnkE+7ZEgShShocdp9mzZohNDTUqkZ1ZGSkiBAeACerz8nJ4Z4700xpg8GA0aNH8xCQoUOH4vr16yJgEx4eXm2bAxDxUOr1ek6l5ebmxgHd3LlzeR+Zeg8B4MqVKxaLkqreYaYAW6fTYfHixThx4gQWL15ssRgiMoLRDh06YNmyZSKQz3YkTJkZGNckU/KJjo7m9VepVBbeYKVSycMLmAJPcXExiIyhO+ZJfUx8gf3fx8cHU6dOxf3795GRkfFM7fGaKhKJhCty7fhmL+TuAfj7pt2QuwegVbsOvP1ZXZ/1jmHvD6lUih49emD9+vV4+PAhAODgwYOoX7++VR5dm/2xzAYo/4ftVmEpQmam1xyYnLYDvpO3QOni/cJeRL9HMZX9S0tL4+21detWEFlu3W7fvp0fb+oJkMvlWL9+PfR6vUhFpSqQUV5eLuIxbNasGQwGA8/qZd4HZgxQHj9+XDSRRUVFcf1qBhRNi6+vL9555x2+Hcqys4ODgwEYExfGjRsn8qxIpVJMmDAB/v7+EATBKvVGSkoKBwYymYx7SyMiIjBjxgyMHz8ecXFx6NmzJ9q1a4cmTZogLCwMAQEB/FjTyfLXyF2yv2UyGVxcXODu7l6lN9vBwQH169fHK6+8gtWrVyM9PR2nTp3CzZs3LSQP2fXNKZFMbcOGDSAiDB8+HMDTLcjqtmrT0tKsTpYLFy58rq25S5cugUgc3iCVStG9e3ccO3YMZ86cwSeffIKRI0eiefPmXBO6qrbTaDR4+eWX+XiVSqVYsWKFSEaUyJi8NHbsWEgkEnh4ePCwEyIjSfahQ4e4t79Lly58nDEuR8AYCsHAUEBAgChe8MKFC6L6mSacWTNzYnPgaVISEWHQoEH8c3Ot7KysLBHFE9HTmNSQkBBIpVJs2LABkydP5rsZzxqLjo6OfNx99dVXVvuScYOysIVFixbx70pLS0Vgavr06SIKJya3aB6rKpVKLUChh4cHpx0DjDrsSqUSPXr0sDj299jqXrFiBeQutTFgXhq8X1sBv+k7LOYR79dWoP/cDZC71BaNLfPCgGTr1q2RmpqKn3/++Zm/GZv9cc0GKP/H7evMmzXqobRv1PmFv5B+7yKXy+Hq6spXzDNnzsThw4d55iwDDkRGjrP8/HzO6WY6WcfExKBz5878OFNbs2YN95AwENi7d2/+PbtHu3bt+GdKpVK0/dmuXTuLVXhgYCA0Gg1XSTGdNBiVEcvejYmJEWVpa7VaDB48mCvKzJkzB0RPOTyt2alTp0TgxtPT87mA0dy5c/k5rq6uaNq0abUKHaxN33zzTYwYMUIUHuDp6cnjUl1cXLiX9dcW80lWIpHAx8cH9evXx0svvYSYmBj06tWLJw5NnToVH3/8MQc0vXr1wvfff889Jszy8/NFvKZET8mszWMvq7KrV6+K6lUdIJBKpXB2doYgCLCzs0NiYiK2b9/OZehYP7OkErVaLYprUygUiIuLE42x+Ph4EBHWrl2LGzduoFOnThb69abeUgbImjVrxn9b5tyOjBuW3ZfxwJomnJmbOaAsLy/nC0MG2KdMmcIpjAYMGIAjR46IOClfeukl7Nu3T7TNLggCoqOjkZOTwz275kWr1SI4OJiHwlQVWsIShFq1aoWxY8di3rx5/LvWrVvzuqekpPAFlkQisbp4Y+8RIiMlVFVee0EQ4O/vj6FDh2LXrl1ch50l2xkMBk7J9aJL27ZtUadRM4S9vtw4X0zbXv188v/fh/9tBWQ6D9E7lcgoC7lw4UL8+OOPz/Vbsdkf32yA8g9gyw5erREw+enBa0hMTPxdXk6/Z5FKpVVuubCJg00AgYGBHGyaZ0o6OTlx+hgmsXf79m3uXVSpVFwtRq1WIyQkRNRPTNWnYcOGotjNl19+mUsHmpvpdUz5M9nn5hOfTCZDly5dcOTIEX6NgoICnu0ulUpRXFxc7XjKy8sTJTJYSwxhlp2djWnTplnEeJmTiG/evBmCIECtVmPIkCGi6zNwYmdnZ6E3zowp07A4tdLSUuTm5mLfvn0YM2YM6tata3W718XFBUFBQRxom44Dpp3+S7061jxcUqlUtJVap04ddO/eHYMHD8bYsWMxcuRI9OzZE82bN0dwcDBcXV2txsuachQ6ODiIPFAeHh5cSahHjx4WbXTt2jWL66nVah7ScefOHYtzysrKoFAo4OLiIhovpl4lT09PHgPJMu+JjIsja3GebJwzIJmeno7jx4/z2EhXV1cL/kzzLW8Wx5iQkIC8vDwORljCFEuAEQQBMTExoiSt27dvi9rNnCXAy8sLQ4cOxfLlyzlDQ3l5OVxcXKBQKHiMaH5+Pvd8Nm7cGCEhIVXGbNrZ2cHLy4uPQaVSyZ/BGoBm49G0biqVCt27d+dhBomJiYiKirIaAtK2bVt8/vnnHAQ3b94cP/zwwwt7h06dOhX24Z0RMG0bfKds/WU7X1O2InDaNtg36gKpVIoZM2ZYpUOy2Z/fbIDyD2JfZ95EyMz0XxxTGZi4CyEz07Eh07gd9fDhwxrNVP5fKoMHD0ZZWRkOHTqEOXPm8MQNmUz2XITMpkDCzs4Of/vb3/jk0rNnTzx69Ij3R0BAAOzt7fn/DQYDli5dyr0+LF7IHHSaGlPcMPV0xsXFVVk3Vj+FQmFBN8JA2/Po4DIwYQpsGPH7mTNnkJCQgPr161sFRF5eXlXGOG7YsAGCIMDe3t7iHoIg4PXXX7eqVpSdnQ0iwsSJE0X8nKa2bds2C9Juc88mu9fbb7/NqWrs7OywZs0aODg4QKVSIS8vD1lZWTh06BA2bdrEPadjxoxBv379RJ43U7lBV1dX2Nvb/6bYY0EQoFAooFarRYDbz8/PAsgoFApER0dj5syZiI+Pt8iwlcvl2Lp1KwDjooSpIVmzt99+G0RiOi9PT09IpVKMGDGCA2XTZ/P09LR6LUadFB0djW+//RZEYp7IxMREDuo7derEFysMUBoMBk6HNHbsWH6eqdISq0vv3r259+/kyZOYMGECQkNDLZKQ2P2sZaizjHo2Hsw5LUtKSjh7gqnl5eWJQjGqSypj4gwtW7ZETEyM6P0qk8nQsmVLbNu2TdT2pgAfMIaxzJkzx+p7Sq1Wo0ePHiKvZ00VBwcHtGrVCq5th/Ht7F8bTuU3fScW7bkEm/11zQYo/0B2q7AUw1ae4EDxWUDSb/pODFt5ArcKxZRD77777u9KO/F7lcDAQL7NbU1X+cyZM3yyZi97FxeXasGmIAho27Yt5s6dK9pG79q1K4iM6jbJyckc3CgUCp6YJJVKq6TiAYwKPESEefPm4cCBA+jQoYOFR4P93b17d5SWlmL27NkICHiqcKTRaNC/f3/u5XiWGgnbuu7WrZuFrrWpd0+hUCA0NJTHj/n4+MDBwUFEN2TNWGKH6fhq0KCBVdUfZkuWLAER8UmX3XPVqlUoKCjgXiS5XI4FCxbA19cXKpUKgDGW7csvv0SPHj0svKgqlUoEkqZOnWpRX0axZBrr5uvri549e/JxUl0WtZubG7p164Zx48bho48+wrp167By5Uq89tprokVAYGAg2rZti6ioKNSrVw9+fn68jRQKBZRK5a9KnjLdvtZqtXB1dYWPjw/q1KmDhg0bokWLFujQoQMkEglkMhkSEhL41nCHDh14ZrrpNVm9zLkAc3JyIJVK4eDggLKyMhgMBu5BNLW8vDwRx+rSpUs5oIyMjATR0zhWxqNpTskjkUjQvn17BAUFWSS5hIWF8fhGVhh1lTVjoQIKhcLqQmj8+PEgEmvVs6xsRttEZASsFy5cQH5+PjZt2sST+Ozt7avsO7VaLdpGT01NhVQq5Qo55u1LZPTSsvCd+vXr/ybGjOqKi4sLvLy84Nmyf42GVTHnhc3+emYDlH9Au3rnAZK3ZaHNgoMWijr+03eizYKDSN6WhWv5D6yeX1BQUC19zR+5qNVq7h0LCQkRecRu3Lgh4sEznVzKysosJtaqikKhsOBkVKvVmDFjBudDZKoc5tmqpsYmRVPgGBAQgEmTJnFFDVN6nFq1avFknoKCAiQkJIiy6tmkxrJlze3cuXO8/qaAxrSEhYXh4sWLAICPP/4YRMat2JKSEoSGhnIgV52ZZsHPmzePf75y5UqRLvmAAQNQWFjIt1kZyCwpKeHZruyZYmJicP/+feTn54Ooat11Fl/YtWtXqwku7u7uGDVqFJKSkhATE/PM3wFLEOnVqxfeeecd7NixA66urnBycuJbzV27dhWNpRMnTkAmk0Emk/FEMWtKOcXFxTyx6pNPPsG5c+dEalKm44v97ePjg27dunGQwcZhvXr1EBgYCG9vbx6XymikfotXVSaTwcnJCV5eXrwv6tWrx+NS5XI5NBoNZs6ciYULF2LVqlXYsWMHTpw4gU8//ZQvdEzDUphuelJSEo8rlMvlVYZ4NG7cGFOmTOEZ1oBYiYZd21zznRkTXBAEoUp+U5VKBZ1OB4PBwJO3TL2SMplMdM758+fRp08fUV0ZKLa3t+db1c/aRjcFm6ZhCG5ubrh+/bposVqThS1iPALD4DflX7/aM2mthMxMt3Bi2OyvYTZA+Qe3h4/1yMq9j7M37yEr9z4ePrbcUrRmr7/+eo2pyvwvltq1a4vk7LZt2yby/pl7DpctW2YBLjQaDdLS0kTB5u7u7tWqjCgUCri7u3OCYyJj0gery+3bt/HKK6+IPDLu7u5ISEgQJUd8/vnn/PtGjRphwoQJHBj079+fX89gMHDgYFovHx8fTJ48GatWrcKAAQMs+Dg1Gg2ioqKgUqmg1WpRUlLCqWBCQ0OxYMECPkmymEwm6VidLNrYsWNF93F1dbWI6dyyZYtIQ12j0UAul/Pvz5w5w8GaIAjYvXs3/45RRllTFwGegubw8HAsWbKEb3U+z1hv27Yt3nnnHbzzzjsgMgIna9asWTNIpVKUl5dzGqhatWohLy8PZ8+ehVwuh0wmw7Fjx3D9+nUQWQeUgBGYWPOAjh07loPvVq1aYfHixdxzRWT01DGQ4uvrW2V/MKusrBQBGwZIZTIZevXqhYkTJyI+Ph79+vXjlD6mxVSF5rfwpT5PX0ilUjRq1IiDzYCAAKSlpSEjIwPZ2dmiBLYLFy7gzJkzvM3N+UfLy8uhVCrh4OAAQRDg5eVl1UvJErSmT58uerY2bdrwMffFF19g1KhRFgTvWq2WL76cnZ1RVFSEzp07QxAE0T3y8/ORkJAAIuPOSXVg0/Sz37ooqKq4uLggcPQiDP77EaSduoXr+SUoLdcj734Z9n6Xhx5L/8NBYsCMnXh/53f495V8/HT/ER6VP8G1/BIsP3QNDWeJhTMCE3dh2ErrPLA2+3ObDVD+RS0nJ+dPue3NipeXFx4/fgzgqYdCqVRi//79XFVk9+7dyM7O5qDD3t4eaWlpuHDhAt9m69GjByorK7FhwwZR8DwDp127dsWhQ4cwd+5cDBw4EI0bN4a7u/szYzYZmbhKpeL1NDcW9N+vXz/eZ8wDx2IDJ0+eDCIjpUlZWRlat25t9X5sQurcuTPnugTAyZ9ZDCWTYGTtUVhYyI9lIDM9Pd2irqWlpTwGLjg4WFQPT09PC3lBwKh/biqD16xZMw5mBEHg1xs5ciQ/x8vLC3Z2djAYDDh9+jQWL16MESNGoFmzZvD29q6Sp9HZ2RkeHh4W8pDmNEjBwcGcg7MqihMWTsHakY0vhULBJUKZt8waoCwqKsLkyZMtFFkYePDx8eGLmxkzZojuXVJSgpkzZ1possfGxoo8eNbs73//u+icnj17Vrk4YCEdqampIh7Xbt264fbt2/w4Bu5OnjyJAwcOIC0tDcuXL8ecOXMwefJkvPLKKxZeV/PCst9/DWhiyVKm/e7p6Ym6desiIiKCe/CbNGnCk+saNGiA5cuXIy0tDQcPHsS3336LO3fuiBJ9NBoN0tPTUVRUhDfffFN0T0dHR4wYMQI5OTkIDg7mCwKdTscXhdYAJQCMG2dUKDNtw3379vH3BZP1NP3Nvoii0WgQ1qID/KbvxM6LP+Ho9QK886+LGJR6DOPWnsaZm/dQ8cSAwSuOw2/6TtR79xs8KKvAuhM3MG7tacSmHsP7O79DUWk5rtx5YJXerqodMpv9ec0GKP/CNnjw4Col2f4shQEW5kECjBO6VCqFRqPhL+24uDjR9jjTeyYi0URTq1YtkWKIQqGwqspSXl4OmUxmAdoZ6DCvp1wuh7u7OyIiIjBw4EDMnTuXe0YFQeCADwBWrFghmkBZLKj5NRs0aMB5KdlnkZGRWL16NffSMFqbAQMGADDqELNjJRKJSNaSqaqYe9u+/fZbnogwePBgGAwGxMTEQCKRYNasWSAyekytgRcm62j6PEqlEps2bcKTJ0+4JzMmJsZC1s60MMqd+vXr8+1QtmXZr18/vhhQq9V49dVXeUiCUqnE1KlToVarLUCNTCZDUFAQ4uPjRYlIrI1M1WFMwdqIESP45wxQvvXWW5g/f75I19rOzg69evXCqVOnkJubK6KVUSgU1ZLrAxBRMbHi5uaG8ePHW1DZHD58WDSO9+/fX+21MzIyQEQYPXo0FAoFFAqFqO4tW7bEpUuXLOJfAeDevXtYvHgxYmJiqn2/NG3aVOSV/9e//gUiwpIlS1BUVITs7GxkZGRwsQJWmCe+RYsWorhU08QltVr9ixSEzItp/KtpCQoKQosWLdCpUyf069eP/+5kMhlmz56NdevWYc+ePXz7uqKiQtSuzZs3h1Qq5f9/7733LO7h4+ODNWvWAAAePHgAiURSrRjAr3m2hg0bwrP7m/Cdug2Rs/dagMF6736Duw/KkHGtgHsoG72/x+K4cWtPAwD+tuGchZcyeVtWtWPMZn8+swHKv7Cx7cE/e9FqtZgxYwaPn9q+fTv3CLi6uvKYQfO2MSfN/uKLL/j32dnZIhAUHByM9PR0fPXVV4iMjBSBnujoaD7xzJo1C4AR1BIZt74GDhyIiIgIuLu7VzkJCoKA+vXrIzw8HP7+/hYTjFqtRpcuXZCamsozWxMSEvDDDz9AIpFAqVRyuhIiI4Bt164d9uzZAzc3Nzg4OGDTpk18C3rv3r0cJA4ZMoTHhgqCgPbt2/N2+PLLL7mHKSUlhX/OACUATJ8+HUTGpAbTMAQA2L17t+gZq4tpZHUPCAhAr169MHPmTOzcudMqTVLbtm1F5zK5RNPtTlOvs2m4QK9evTBlyhQ0btxYBMIkEgl8fX05NyXznN64cYMfx67TqVMn6PV6fPjhh6J6yOVytGnTxsLLq9frRRrjz5IyNCUhZ0labdu2FcXb+fr6YsqUKejQoQP/jI0vtoCozkyTTRi4PXXqlAjIMk7W6OhoREdHV8kgIQgCdDodAOPYZzKnMpmM65Sz7WBzrlYmV2k61k0ZFkxt7969XPua0Rtt374dgNG7e+7cOZ4AtWTJEgwbNqza3QSVSgUnJyfev2xr/deQ+puCa2dnZ6v3bdasGYYPH4433ngDSUlJ3Etv2oe/tTD+UiNpedWxkEevF+D63ZJqj2kxz7gwmf/NZYvv2iw4+MwxZrM/l9kA5V/cOnTo8KeOpWQvc/O/mQfC1dVV1B7m27BEhPHjx3P+wGXLlvFje/ToASLiqhimpVGjRjxTGjBuCTMPyvz585Geng4io562uZWVlfHEllq1aj0X5RHR0wzqQ4cOwdXVFXK5HF5eXhAEgfNWlpWVYd68eahTpw4/z3SiU6vVuHHjBgAjxRSb0EJCQlBUVASdTscpahhptr29PU6fPi16BlNA+eTJE54R6+DggKZNm4qSPEyLTCaDo6OjCBgxz51UKq02yQkwghV2L9bPpkDX3MrLyzF48GB+vEQisaA2unHjBpKTk62Subu7u/PnYKpLjBbH/LhVq1ZZjd+7ffu2BUG5RCKxGlrA7Msvv+TjJzc3l8tkFhcXIyMjA126dBH1K1vgrF27FkFBQVUScpsaA6oDBw4UfZ6Tk4Px48dbtAXjEDXNSlapVDhy5IhVpZw9e/bwzPxatWohIiKCjxnACJpZwpZOp0NGRgb32js6Ola5Xb9t2zb+O7cWX8p+e9boktjf0dHRor4qLS2FIAho3rw5AGDXrl0QBIH/NkeNGoXdu3dj7dq1+OSTTzhpe3x8PPr27YuOHTtytoL/9q6QXC6HoFBXm4jTIHk3ih9V4Jtv86oFlG9vPA8AGLM60+I7/+k7nzum32Z/DrMByr+4HThw4L/6cvu9SqtWraqMTXJ3d0fnzp35pC4IAjp37owjR46AyKhTnpWVxb1PAwcOxJkzZ3iMIyv29vZ84nZ1dRUBSkCc1csyyk3l7LKzszF16lRO8G0KBtjk9+qrr+LAgQPcmxUUFAR3d/dq42Hd3NwwcOBAzJkzB4cOHeITcWFhISZNmiQCAEyTm4FK4Gk2ukaj4TKMpgk8xcXFePLkCU6dOoXFixdj+PDhHBBWFdNo3hdbtmyx8DQWFxdjxIgRIkDt5uZmFZTl5uaie/fuonZgW96bN2+u9jdQWloq8kTqdLpqt5vz8/OrpYoxLaw+VSXl7Nq1i/ctA3BZWVk86aaq5CPmBWceX7YNHxERgatXryIkJIS3v6lUKaOyIiKRp9ncGKUVEaFPnz6YNGkSwsPDRf0plUpRq1atKr11gYGBvK+sAUrACBpNE87kcjnKy8tRVFTEt9gbN27MY3BNY3ydnJyQnZ1ttf5MYUelUoniFQ0GA48bNi9DhgxBeXk5fH19IZVKRfHDgFEmVSqVci+oUqnktFOdO3dGZWUlCgoKkJ+fz2Moy8vLkZubi0ePHmHLli2i+/n4+CArK4tni7PfnF6vR35+PueWfe+999CmTZsafR/K3QOqBYpbzv6IiicGUWKOeWk6dx/uPijD+dtF8J9h/Zis3PtVjjGb/fnMBij/4lZZWYnGjRv/qRN0TIHCN998A8CYSfzGG29YHCMIAvz8/DBy5Ejs27cP7u7ufHvt0qVLFlyHREYVCzb5lJWVYfz48SJptlmzZvGJtbCwUJQl+sYbb1iQiDOg4uHhwWP3SktLOYg5duwYBEGwIE3/4YcfOMg1neSteThZzKapp5JtS7L/e3l5YdKkSSgsLMTq1astxoiLi0uViTDs/vXr10fv3r2RlJSEzZs3izxx06dPR7169Z5JRfT48WMOkIiMXtSkpCQYDAZkZ2ejdevW/H5169blYPvkyZOQyWRWgYypMQ8zI45m7d+qVSsLUMGM8Syy+pg/t3nx8/OzuNaMGTNAZIzj3L17N/z8/ODg4ADAqJUtl8shlUpFqkiAEXBIJBKEh4eLPjelsREEgccFM97JhIQENGjQQFTHFi1aWKjaHDhwoErvcXBwMMaMGYPDhw/DYDBg06ZNVseXRCLBkiVL+DWrApTMGAcjaw/TBZSpubi4wNHREYsXL+biAevXrxcdw+KCWeKSg4MDTpw4gS5dulj1RhKJ5Ur37t0LIktyfRZKwjyTK1aswPvvvw87Ozuu2MS+r4p8n5WhQ4dySUKNRmNBrM6eISwsDOfOnatSVvLXFoVXSJVA8ZMDxpCDpG3fVnlM+Ht7cOmnYtx98Bit5h+o8rizN+9V2ec2+/OZDVDaDBs3bvxdAN1/u/j6+kKv18NgMODDDz8UeeZCQ0Px1ltvISIiQgQQ+AvYJLaR/c2OY7q7pqbX60WxVkqlEv3798eoUaNEHiN2vdDQUIwbNw7Hjh3D1KlTQUTYsWOH6JoZGRlcbYXICJismSnlEJGR+qSsrAyHDx/G3LlzERsbi4iICKvgmIGB51lgyGQyngjDQOOuXbtQXFws2vIGxLRMDFCzLeRnkaUDgJOTE7RabZWAIDIyEpmZmTwuuGXLlgCM9FhEhL///e9Wr8v0z3v06IGff/4ZREbdZuYRkslkIl7PgoICnqnLirOzM0aPHo2bN42EztWRrWu1WrRo0YInG3l7e/NscZVKJfJoZ2Zmcj7LzMxMUVsSET777DP+2Y4dO0Txi19//TUA4ObNmxAEQUSBVFpayiUeTftSo9GIgCQjSycibNy4UdRuqampPHub9QMjCLe3t+d9rdVq8d5778Hd3b1aQMliik15V2vXri3yLjJvYFxcHADg2LFj3As9btw4fhzTvj569KiIr5KVhg0b4ocffsCuXbv4Z+YKO4yiifUpIPbasp2G31pYDC9jfLCWyPciisqrjlUAuGifUTJx/m7LmEhWGs7ajYs/3kfhw3J0WXK4Wk+nzUP51zIboLSZKJv29yr/rTgiuVzOAZmdnR3efvttODo6QqlU8u3DsrIyq/rVbPL08vJCZGQkn0idnZ0t2tRgMHD+O/PrmHt/NmzYIDq3du3aVXrtWGylk5NTlf3JvHmm22SDBg3iXlK9Xo+vvvqKZzWHhoZWCS6fNRkmJiaKttGZMUBpTsvEgEnv3r35daoiKWd24cIFEBmzpydNmmR1LA0bNgzFxcWoX78+BEEQbR+aklab2rlz53gcLYub9Pf3h1KpBGCMtWOLDp1OJ+IjZSUxMbHaurMsb1NtatPz7ezsEBUVhWnTpoHoKUUUsyNHjnBNcpbp36BBA0ilUuj1ehQWFqJly5Z8bE+ePBkSiQQ6nQ7l5eWcvunUqVMAjL/1bdu2YfDgwdVmQXt5eeH27du4dOkSiJ4mZs2dO5d7sRUKBcaOHSvSoGfZ/Hq9HjNnzhTFWarVaoukLGaMTJy1NUvakUgkmDRpEgwGA491Nd3mLiws5J72fBC7AAAgAElEQVTBiIgIDvqsec0lEgkuXbqEBw8eICsrS5TY5u3tjRkzZmD8+PGIi4vj7WZvb4/g4OBqpRdrqqhUKoSEhHCPuYeHBxISEpCcnGyRZPZb34H+wXUtYigZmFy078ozwWRRaTm6f1L1drgthvKvaTZAaTMAsMhGfVGFJSzMmzcPRCTa6n3e5JOaKLVr10Z+fj6Apx69tm3bolGjRtxDwDKhXV1doVQqsWDBArRp08aqFJqbmxvGjh2L3r17Wyi0aDQaNGnSBC+//LLIs+Hh4cF1nbds2QIAXAmmS5cuVvuJSdcRETZt2mTxPdvGHzlyJDIzM0WUK6ZJBKaFeRoZYXVSUhLS09NRXFyMgoICrvqhUqmqjIlk7eXm5obGjRuLuAuJjFt85skuLEnB39+/2rHJuA69vLxE15w2bRrWrl0rolcisowNTE5OBhFh9uzZ/DO9Xg8nJydIJBJkZT2lN2EE15s3b0ZqaiqPxWOFjQ1Gfj506NBq627KQ8kSTIgI7dq1w9ChQ+Hv72/hFWzYsCEmTZrE42sPHDjAY/YYCG7SpAnmzJnDF2Zt27blXrZPPvkERMS35QMDA9GnTx+eoMXuxUCSq6srbty4wWP8TI+pVasW34Jmx9vZ2WHq1Km8P1kWv1qttuAbZdKKpjGSI0aMwIMHTzkKCwsL+dZwgwYN+OLkyJEj3Auq0+mgUCig0Wgwd+5cTJkyBWPHjkVsbCy6dOlSo7Q6/+3CxvOtW7dQXl4uInKvqRIWFgbfCV9y8PfxXiNI/+TA1WeCyfuPKtBzWUa1YNKW5f3XNBugtBkAcCqUF1UYh+CePXtARNiyYxdUXnWQuHAFXIMbw9HV44Xe37Qw2hOZTIahQ4eKSLgFQbDgamTE1aZZt/n5+Rg+fHiVIFir1UIikSAgIMCirRMTE0X3YyAlPT2dkyibx7UBxi0+IuN2rkqlglwux+7du7Fo0SIMHz6cJ1s8b5kzZ44oEYbVa+vWrQCA06dPcw9TfHw8P06n00Gr1YoIqwVBgFarhZOTU5U8mwxsDhgwAHPmzBHpMffq1cvquDSljJHJZBgyZAgKCgrg4uIi4udMT0/n9xUEAe3ateM0UQaDAVqtFmq1moMgFi/50Ucfie6XlpYmqrdEIkFUVBTmz5/PgZ9cLsf69eshl8vRqFGjan9XDFAycMcI7YmMMaSsfgxs+vr6itqPhUN0796dtwHR07ABJycnkZLQw4cPsWLFCgs1FyIjKGvdujXmz5/PF1MsNm/Xrl1wdHTkXmUWc2hOndW9e3eRN3rp0qX8+4iICFy4cAH79+/Hhg0bkJKSgtmzZ2PSpEl8O9fUK6rRaCwWHr9Vhce8ODg4oHHjxmjdujX3lLP2DwoKQmpqKjZt2sQ99Pv27cOTJ0+wefPm38RjWRPlRS6wZTIZ6gyaAd+p2zB753cAgEPZ+eiTcsSi+E03yimeu1UEg6ESyduzLI5p/dFBGw+lzWyA0mZG27t3r0gukMi4Nftb1RpMPXJKd3/0eHcVao1bCb/p5pQVO+Dz2ufw6zcZcpfaL/RF/f7771tQ/bCJzTQ4n1lhYSGIjFyTHTt2tEoiziZwQRDg7OwsajcHBwdER0djzpw5yM3N5VJu69ats/CAabVaaDQafm+9Xo/MzEwsWrSIe3E8PDyqnWzq1q3LYxrT09P5lnGdOnV4vaRSKebMmSN6zuLiYhAZYwhTUlJ4LOWXX34pOi48PBwKhQKAMc6vOu7IefPmITY2FpGRkVXybLI6OTo6YsCAAZg9ezbi4+NFCQ1hYWEiIJOVlQWJRAJnZ2fo9XoeB9ypUyeuiEJkXDycOXOGA9OEhAROQs7iLI8dO4Zu3bpZeF8XLlyI8vJy6PV6nrzUsWNH/rxM7rI6Y1vGRE/J9XNzc7lKTuvWraHX69G+fXsIgsAXMadOncKbb76JsLCwKtv35ZdfRn5+PicRrypsISkpSbRwKCsrw82bN3Hq1CmkpaXx5BZWn9jYWJGKjzWAVxXx97OK6QLK2udNmjRBu3bt0LNnT8TFxWH8+PFITEwUMSqYcjoKgoC6deti0aJFFr/Lvn37WvQHi/MUBAElJSX886tXr0IikcDe3p5n2/+vFGsx3b+1CIIAjbcxjvL499YVoZj5Td+Jlh9aZxtgtun0LQsPpU0p569nAgCQzWxGREVFRTRgwAB68803yc7Ojk6ePEknTpyg48ePU1FRERERyeVy0uv1z7yWTqejBw8eUL169cixVh363vklUvlHECoNJEikVZ4nEAgkkOTuVbr9z/n0pDi/xp7P3Ly9vcnT05POnz9PlZWVZGdnR2VlZXTnzh0iIlq9ejXt2LGDLl68SMXFxfw8Nzc3ioqKon79+lFoaCi1adOGZsyYQY0aNaJhw4aRwWCgefPmUXJyMikUCtLpdPTTTz9RZWUlERFJJBKqrKykxMREGj16NBUXF9OgQYPo+++/N7aBIJCTkxOVlpZSeXm5uH0EgZydncnLy4uKi4vp9u3b1LNnT/rxxx/p/PnztHr1ahoxYoTFs7Zr144OHz5MRETvvPMOLV++nIqKiqh27dq0bds2ioiIICKiOnXqUE5ODgEgrVZLR48epQYNGoiuNXToUFq/fj0VFxeTVqulx48fU1BQEP30009ERCSTyejJkydEROTp6UmDBg2ipKQkcnV1JSKiiooKOnHiBPXv35/u3btHjRo1om+//ZafY83CwsIoLCyMGjduTC1atKDo6GhaunQpTZs2jbp27Upnz56loqIiun//PtnZ2dHly5dp7NixdPToUSIiCg0Npby8PCotLaXKykpSq9XUs2dP+uabb+jBgwdERFS7dm0aNmwYKZVKmjVrFq1Zs4bi4uKoQYMGdPnyZZowYQKlpKTQo0ePaODAgZSenk5ERFOmTKEPP/yQJBKJqM4//PADRUZG0v379ykgIICuX7/Oj6msrKRu3brR3r17yd3dnaRSKT169Iju378vusbDhw8pPz+fFi1aRJ999hlV97qWSqWkVqtJpVLRvXv3+Hhj31VWVlZ7vjWTSCSkUCiovLycAJCjoyM9evSIKioq+DFOTk6k1+uptLSUZs6cSc7OzuTs7Eyurq7k7u5O7u7u1KRJE5JIJHTnzh2qrKykvn370vbt2/lvgYjIzs6Ojh07Ro0aNRLV4dq1a1SvXj2L+js5OdH+/fspICCAWrRoQVeuXCFBECgpKYk2bNhAV69epYYNG9KJEyfIzs6OKisrycvLi+7evUtEREFBQZSdnU0ymYyIiCZNmkSLFy/+Re3ze5lSqaTKysrnevc+jykUClKr1WTXYyopfcMJJNTIdYmIpBKBogNdaM2YZjV2TZv9McwGKG32TANAN2/epMzMTDp58iQdP36czp49S+Xl5SQIAkkkEjIYDPx4Nkm8++67tHj7SXLtMoEMlSBBKnv+e1YaSEKge/v+Tg/O7X4Rj0Xe3t4UFxdHw4cPpwEDBtC1a9eIyAja2M9CEATy9PQkrVZLV65cofXr19OQIUP4NSorK0kmk1HHjh1p7969dO3aNWrevDndu3ePpFIp1alTh7Kzs6miooI+++wzWrNmDZ05c+a56ieXyykyMpK6dOlCn376Kd2/f5+KiopIq9XyewcGBtLNmzeJiKh37960detWi+vcuXOHgoOD6eHDh+Tu7k75+flUWVlJr7/+OqWmphIAGjBgAKWkpFBYWBgVFhZS7dq1KTs7m+zs7Cyut3z5cnr99ddp8+bNFBAQQH369KHbt2+TUqmk8vJyUqvV5OvrS1euXCGNRkOlpaVERBQQEECjR4+mt99+m9RqNTk4OJC7uztduHCB3njjDVq9ejURGQFpp06dyN7enjZv3kyCIJBMJhOBGNY+ADgQbdasGc2dO5eio6NJpVIREdGtW7fotddeoz179lgFUy4uLtSvXz969913qVatWkRE9PjxY7Kzs6PIyEh68uQJXbhwgUaPHk1ffPGF6NyBAwfS5s2bici4yFi9ejX5+/tTQUEB7dy5kxYuXMjBUnh4OIWFhdGDBw/o4cOHVFpaSqWlpZSXl8cXK4IgkFwuJ4PB8KvAn7kpFArSaDRUVFREzs7O1KRJE3JwcCCtVkuOjo7k6OhIBoOB3n//fdF5oaGhlJKSQu3bt+efvfnmm/Tpp5/S4cOH6c6dOxQbG0tyuZy8vb35+CMi6t69O33wwQfUuHFj0TU9PT2JiCgrK4uaNGlCN2/epKZNm9Lhw4cpMzOT2rZty48NCwujDz74gA4cOEAbN27kAFClUtGIESMoMTGREhMT6euvvyYAot9rbm4ueXt7U2VlJQ0fPpzWr1/PF0ZJSUm0detWSk5OpoKCAlq+fDmFhobSd999R1u3bqWBAweKQPif3Tw8PGj7waM0/OurVP6k5p5bKZPQ/rfaUm1ny3eHzf7cZgOUNvtV9uTJE8rKyuIg8+jRo3TlyhUiMgKCrl270pEie9K1HsZf+r/YACJBIPW1/ZT9zyU1/ARiT5q52dvb05IlS2jkyJEkk8no4cOHpNVqqUWLFtzrxUyn05GTkxNdv36dzp49S//+97/po48+osLCQiIiDrTMTavVklQqpYqKCiorK6tyMtPpdFRcXExjxoyhlStXir775ptvqHv37kRE3GNoaj///DMFBwfT/fv36aWXXqJTp07Rli1bqG/fvkRk9KL16NGDLl++LDrvpZdeoszMTKv1+eGHHygwMJCCgoLo+++/J0EQaNy4cfTpp5/S5s2baejQobxdAdDBgwdp7ty5lJGRQRUVFSQIAtWvX5+ysrLIzc2N7t27RwaDgYOOO3fuUEJCAvXq1Ys6duxIb731Fi1atIgqKiooMzOTjhw5QhcuXKCrV6/S7du3qaCgwKKOcrmcHB0dydPTkwwGA/3444/cE8m+HzVqFA0aNIh+/vlnKiwspHv37lFRUREVFxfTxo0bqaSkhIiMnjA3NzcqKyuj8vJyKi8vJ71eTxUVFdV6Va0ZW4BJpVKSyWSkUCiIiLhn0tnZmVQqFT148IBKS0tFoFIikRAAmjdvHpWWltLs2bPJ0dGRcnJySK/Xc4/6kSNHROexcT5q1ChaunQp2dvbExHRkSNHKCYmRvQMkydPpgULFljU+86dO+Tl5UURERF0/vx5UqvVdOnSJfLz86N79+5RbGws7d+/nx/v5OREffr0oeTkZPLz8yNPT08+zh8/fkwTJ07k3sB169bRsGHDaPbs2fSPf/yDcnJy+HVUKhXpdDrKz8+n/Px8cnd3JyKiixcvUteuXSkvL48fa21BlZqaShMmTCAYw7soMjKSL+heeeUV+uKLL5571+XPZGq1mn766SdydHSkDadu0fQt39bYtef3a0ixL/nW2PVs9scxG6C0WY1ZSUkJffnll7R48WIq9WhEmvav1tzFM9fRzYNf19z1/t/Mt/RMTRAE+tvf/kYLFy4kiURCoaGhdP36dTpy5AgdO3aMzp07R1euXKGzZ8+KPLTmJggCtWzZktq3b0/h4eE0YMAAGjp0KK1du5Yfc+XKFQoNDaXg4GDS6/V048YNi+vI5XIaOXIkffbZZ9xj5+HhQcXFxQSAoqKi6PTp0/z4+/fvU506daiwsJBSUlJoxIgR5OTkRK6urqKJeNmyZZSQkMD/r1QqSa/Xk16vt9jGJXoKAIiI6tWrR7t27aKAgAD+/fXr16levXr05MkT6tmzJ23bto17rdPS0ujDDz+kixcviu731ltv0bx586iiooLq1atHOTk55OfnRzdv3qTz58+TwWCggoICC/B3+PBhunDhAhEZt3VdXV3p4cOH1QL0X2pKpZKDP6VSSSqVim8tnzt3jry9valZs2b0n//8hy8i7Ozs6LPPPiOVSkWxsbGUkJBAixcvtmjPEydO0HvvvUe7d1v3wqtUKlq0aBH179+fPDw8qEOHDhy4ffLJJzRx4kRyc3Oj69evk1arpS+++IJeeeUVio+Pp5deeon+9a9/0dmzZ+nevXv8mhqNhiorK6msrIyIiPz8/GjPnj0UERFBMpmM7t+/b7Xf3d3dqaCggFQqFWVlZVFQUBD/7scff6TatWvTkCFDSC6X0/bt2zlI9vb2prt379KTJ09IJpPRhg0bqH///kRkXJi2a9eOjh49yj2NCoWCHB0dqaCggP8mnZ2dqbCwkCoqKmjEiBGUlpZGgiDQmDFjaPXq1RwQRkdH044dO8jZ2ZnXbffu3dStWzciIoqLi6N169YRkdHDHx4eTt99991zjYM/k5nvtHx66Bp9vPfqb77ulM516fWYOr/5Ojb7g9qLD9O02V/NLt3Kh//UrdVqxf6iMm0Har/9T6hdLXkAf2tJSkoCYMy0Xb16NSIiIiyOYckfVamHsESTnj174t1330V6ejpKSkqg0Wjg4+PDCc7nzZuHTZs2gYgs9KXj4uJARJzChukNswQG8wQIrVbLE54WLFiAXr16gYgwa9YsAEBJSQnPwjbVC2dJCampqTAYDOjfvz+IjAkxZ86c4frkRMYEF1Puxtu3b4sSXswTUkpLS5GTk4MTJ05waUZW19GjR6Nnz54WlEvmCRoSiaRGteUVCoWIbsjLy6vaLGKpVCrKsvbw8MCBAweq1I1WKpVo2LAhrl27xpNCWP3r1q3LpU2nTJkCg8GA/fv3Iz4+HkFBQRbZ8AEBAaLEoPHjx/P7MP7NvXv3iu7P6L48PT3x8OFDC05VZqYk3uZFq9UiOjqak4Cz34SpmUq0pqamWm0LqVTKta4BY2JRz549Re3t6+uLefPm4euvv0bz5s1Ffd20aVOkpaXxMVdSUoJOnTrx7+3s7PhvrW7durh+/TpmzpzJ68y4GmUyGaeI0uv1vP8ZtZBMJquW/urPXGQyGWJiYlBZWWnRf19n3kTIzHQEJu76Re/nwMRdCJmZjg2ZNy2uabO/ltkApc1q3IatPIHAxF0Ie/cbfPbv6zh89S5+LnkMAFhcBWluUOIuvL/zO1zOK0ZZxRMUP6rA6Rv30Hf5UeMxU7fBPfb9Gn25MhWQrl274qWXXoKXl1e1Gcts8vP09MQ333zDs0QXLFgAIiPtT0VFBQoLC/H48WNoNBqEhobi/PnzHGwwObgffvhB1GaOjo4WBOmm2r83btzAjRs30L59ewvAJQgCPD09+WR78OBBnqVrnsmt1+s54bqPjw8HMikpKZg/fz6mT5/OwSmbgEJCQkQ0NKYKQL+WCYCdo9Vq4eLiAgcHBxHAMgUh0dHReO+997B06VKsW7cOe/bswdmzZxEfHw8iQr169UT9VqtWLSxdupRTBDG6GKbPfebMGRAZpRXLysowbtw4C4Bh7ZkY9VGjRo3Qv39/zJ49G66urlCr1bxNFixYgPLyck7CzYqDg4PomdRqNRo3boypU6eiSZMmEASBP4O3tzfPZGY65D4+PrCzs7P6e2M8m4xw3JRsnfFAmmZAM+5LuVxulTeVyJgdn5iYiO+//56Tq7P+iYmJsVoPV1dXkRpOfn4+5zCVSqVWx4qXlxc0Gg1cXFysXpMRnJvSCykUCkyfPh2lpaVQKpXQ6XQ4d+4cPv30U3Tu3LnaBclvZa34oxe5XI6rV69abWsAuFVYimErT3Cg+Cwg6Td9J4atPIFbhaVVXtNmfx2zAUqb1ahdvfOAv3BafngAxY8qcOL7n7H+pHH1ag1QBszYif2X76D4UQXm776M2NRjiP9HJhbuzcbQ/3+5sSJzqXkvJZERJLm4uKBBgwbo06cPByHr16/HhAkTLGh64uLicObMGaxbtw4fffQRiIzk0gyY2NnZcZlENhGbXuPDDz/Enj178PDhQw5wTLkeAXAJRna9tLQ0pKWl4b333nuuiVIikUCtVkOtVkOhUNQIv5+TkxN8fX05GG/evDm6du2KgQMH4pVXXsHkyZMxZ84crtZjTkY+efJkAECdOnVE9EjMcnNzMW7cOAvvXcuWLZGXlwfASMXTr18/0fd+fn6YMmUKJ+FmPItMYnDMmDGi+zRr1gxExMnDAYi801KplJPId+/eHYMHD0ZkZCQ8PDyq5CfUarXw9fWFl5eXSCGGlbp162LWrFlcxQcw0tUwAKTRaLhq0qFDh/hYYnyd3bt3r/J3x8aKIAgoKyuDwWBAUlISr4dKpcKbb77JVWWIxN5Og8GA9PR03i7WxtOQIUPg4+MDhUJhoToEGCUPZTIZAKNHk9W/bt26ouu5uLjAw8ND9Jm9vT0H/MyYZrnpGOjatesz+RmlUqmoj+RyOTZu3Mi11E25Tf9KRRAEvoPxLLt65wGSt2WhzYKD8LeigNNmwUEkb8uyUQPZTGQ2QGmzGrXkbVlWV7aN398DwDqgfG9HFp4YKjmJbpVl6ja4dhlfYy/YyMhIvPbaayCy9LoUFhZCIpGIdKaXL19e4zq7pp4pjUYDtVpd4+TObJLV6XQiMnKJRIK5c+fi888/x5YtW5CRkYHs7GwUFRVxtRXTolQq+VZ9amoqiJ5qRpvaqlWr+IQulUrRt29fZGZm8i36rl27Qq1Wo06dOlbHkMFggFwuh6+vL/r06SOqg3m7dOnShQNNwKhpTWQEMUyGz9/f3wIA5eTkgIgQHh4OABg6dCiICE2aNMHmzZtFUqQajUak6QwYOTsZN6W1elVVXFxcMGPGDOzduxfx8fEcVOl0OlRUVIjucffuXZG2tTWye2Zvv/02P06n0/Ex5eDggOTkZP78w4YN4/1irl/NzNPTE1KpFCkpKSJPtOlz+Pj4YNy4cTh+/Dg/b/To0SAirp9uPs7VarWor8rLy7nikOkYq1+/PqKjo5/b08i0ytesWcNBY1FRkQhU2tnZYe3atfjxxx/5LsFfqTCRhapCN6qzh4/1yMq9j7M37yEr975NTtFmVZoNUNqsRq2NmWLC8wDKW4WlOHb95+eK16k17vMae8m2bNkSJ0+e5HKQffv2xcyZM/HGG29g+PDhXAItKCgIgYGBL4Rg2Lw4OjoiPDyce/ZatGiB119/HV27dhVN7CNHjkROTg7fdt+9e7eF52b69OlYvXo1Xn75ZXh4iJWI2GQbHR2N3NxcUR9++umn/HuVSoW8vDxs2LCBx6CFhITg8OHDICKMGzcOgBEEfvzxxyKCdyISkUeXl5dz3WkiI0m4NVu7di2ICO+++y4SExP51rx5kcvlWLZsmYWkI9M7Z9u65s/HjKnlsLjR8PBwEfA8ePCgqM+bNm2KqVOnomnTplY1uTt27IiUlBQUFBQgIyMD8+fP59dmEpvV9TvbRt+/fz+f+A0GA+8LZ2dnq9uVZWVlPJbXFAAuWbJE9Dy7d+8GEfFFRcOGDa22Cwu1YMT2+/fvB2BUTho3bpyof9m9/P39LfrJ3t4egwcPxuXLl+Hh4QEPDw8YDAZcuHABy5Ytw6hRozgor87r6O/vjx49emD69OnYunUrCgsLMXDgQBAZPd4MIEokEnTr1g23b9/mggGbNm1Camoq95ZaU3H6q5R9+/ZZ7W+b2aymzAYobVZjVvJYb7E98ixA2XyecbL68mgOPj14DXcfPIb+iQFX7jzApI3nLK7jO20HBPmfO6De2dkZEolEFI8GgOtyS6VSkfKJwWDgE2jv3r1Fikf16tXD7t27uacrKCgIffv25WCZFTs7O9SvX58DQnt7e66sw/SZKyoqeGwgU0pp2rQpEhMTOdhUq9V466230LZtW0gkEqvjhF1DKpVysMJMr9dzgMBAi0qlQrt27Ti4Y8/CvIJSqRTNmjXDxo0bYTAYRCBsxowZVY5XpptORAgNDcWTJ09E3+fm5oqe17yfwsLCuKd2wIABVu9hquVdWFgokseUy+W8H6x54+RyOe8PFmIgkUiwevVqfv28vDxRX/r4+HAp0YiICA4oi4uLufc7Ly+PSz1OmzbNap3Z865du9bi+7p160Imk+HChQvo0KGD1bhjR0dHREZGon379mjevHmVHlx2nzp16qBBgwa8HcyTtzw9PTFx4kQUFBQgPz8fEokEQUFBvE579+4VqekQEbp168bbyDTZ7K9WpFIpYmNjq/wd2MxmNWU2QGmzGrOs3PtVeharApR9Uo4AAIrLKnDlzgOMX3saw744gZ0XfwIATPvnBYtryd1rRhpNo9Fg9uzZSElJwQcffAAi45bkTz/9hMePH4u2Ef8bRRAErFy5EpWVlcjLy4NcLuceFk9PT5SWlsJgMHBt8qFDh/K+MNekJjKCTVNbt24diIxJOeYxf0qlkidUTJgwQXTehQsXLLYNtVotZs+ezQFMTExMlYAyKSkJRE+Te2bNmoUNGzagSZMmImDVokUL/POf/+Tn3bx5k4PK2rVrQ6/XIyUlBfXr1+fARKlUIjAwkLefRqMReUlNbfLkyfxemzZtwvfff4/ExERERUXBzs7OYlI2B+F16tTBrl27oFKpEBYWZvUeDFC2bt2a913r1q1F291EhOzsbJSXl+PIkSOYP38+Bg8ejKioqGqzkU29eoIg4IMPPsCjR48AAIMGDQKRMcbVYDDw7HwWo2kwGODl5QVBEHD06FFRG5s+e+fOnUXPYzAYOCPBr0lwady4MaZMmcI9jU2aNIFEIuFAW6PRYP369fjyyy9BRHjrrbfQt29fvmAheipFaL4YAYAVK1aI7mdvb8/rWdNhJM/7G/5vvkNYG5iGGtjMZi/KbIDSZjVmZ2/e+8WAsu9y42T2WP8E0R8eEH138cf7yC16ZHEthVdIjb1sdTodPvroI57EwCbh32N7+3mLt7c3BzO7d+/GrFmzQGTMZm7RogWIrHvIWIas6cRWu3ZtDioAiLTW/f39sWrVKrz66qsICQkRARa5XI66deti1KhR6Nixo9WkGRa/BlQPKNn2/bp16yxAEctOX7RokdVzWaKMIAiiJI7S0lIkJyeLkoCY58wa2GN0M9aSZ9gW7rBhw5Ceno5WrVrx7+rUqYPLly+jd+/eHKBIJFbf/2oAACAASURBVBKoVCqr9d2+fTs/19HREenp6fy769ev83Gm0WisxqM6OzvD0dGRg82xY8c+E6TI5XK4urpyryb711zbOicnB1KpFA4ODigrK0Nubi4HYOvXr+ehIMnJyejSpQu/TnXAhSXETJ8+HatWrcKsWbPQpk0bizq7ublZZGTHxsZyuqPIyEhIJBIR/dH+/fvRvHlz0Xhp2LAhp8AqKyvj2fQsKYwV09jhv1oxpyizmc1elNkApc1qzH6NhzLm40MAgEs/FVuc8+nBawCAyNl7X4iH0rz8L3gTqium3qLp06fzz82zfw0GA9/iYxP2ypUrMWTIEA4EXVxcEBDwtB1DQ0Ot9inLfA4ODrbw8DDvWb169UBk9Dh+8MEHAKoGlBcuXLDw/jHg5+npiXr16lkACdNziQiNGjWCUqkUxfcBxhhNnU4HQRAwdOhQEYiws7ND7969MXz4cBEFDdFTz1WrVq3wn//8RxR3mJWVxesbGhoq+q64uBgjRozg48bFxYXHLZaXl3MvIauztcxoLy8v2NnZ8TaIjIzkMZ9ZWVkgMnqeDxw4INouN6Vx8vPz457NIUOGICoqSkQjZVoY2AwPD0f//v3RvXt3EBkXGgzcOzk5VekZlUgkcHV1FXkM3d3dcevWLQDG7HmpVGrxnB4eHnBzc0NKSgo6deoEBwcH0XUdHBzQrl07LFq0iG9ps4QpU2NZ6PPmzUNUVBTvO5lMZrEIjI6OxsGDB3ms7Isq1cV/sgXQm2++Kfo9/h5FKpUiIiLCIpTDZjZ7UWYDlDarMXv4K2IoAxN3obRcbxVQphwyAsrG7+95ITGUbDJyd3f/XV/0v6WkpqaisrKSAwEiY5IMS0wx5f5r0aIF8vPzRbFzZWVlaNq0qWjSYRyF5pnMAPDZZ5+J7h8QEIDY2FhERkaKAAuLqSQyAis22QNGQvRXXnlFxIUolUqRkJCAgoICAEBiYiL/LjAw0Or4atiwIQRBQE5ODi5evAi5XA6pVIqMjAwARhBLRBzU7du3zyJL3LS+o0ePxunTp1FRUQGVSgVHR0cR6Fu9ejXnTpTL5ahdu7bVerHQCNNEJgbc2fb7lClTrJ4rl8sRERGB0tJSdOvWjbfN1KlTeeIJ89oKgoAuXbrwfmIUQBKJxGqsI/PYsWfW6XRwcXF5Ju2OtdK3b1/cvXuX9ye7bnBwsCgpirEm/Pjjj6K6sKScoqIitGnThj8nkZGb1ZxGiLXdnDlzOMA+ffo0iIzAn1l5eTni4+NFix1BEBAUFISoqCgR8K7pYq0dZTIZ7HROGPr6NHiENUPyks8hV9tj8+bNICLuGf89Fq+CIODMmTNWx53NbPYizAYobVaj9muyvLee+xHlegNamm15Z+Xexw8/PxR95v3qihp74fbv3x+enp58Un7RL/iaLhKJhE9qMpmME2KzSbpfv36Ij4/noEqn04mSbl5++WWRt9Db25t7BjMzM0W8jHK5HJmZmaK+zsvLA5HRC9O8eXMLrxMRiTxdOp0OQ4YMAZFlPCcAzrfIJl5TO3ToEIiMlEPMTp06BZlMBplMhokTJ4LIuJVau3ZtUX+yOpj3sSAICA0NxeLFizmgnTt3LgBgzJgxIDJuRWdmZvJtemuxaHv37gWRMQGIjSfWJ8OHDweRdUB57949EBFGjBjBP8vIyLDYnpVKpRg4cKAopODSpUsgMnpNWR/269cPS5cuRXx8PFq0aFElX6ZUKoWTkxNCQ0PRtGnT515Mubq6IiAgQASGzMMJWIb+ypUrRZ97eHjA3t6ej9dWrVph8eLFIDJyvQLGhKxNmzbxrXXT+9jZ2fF+/M9//gMA+Pzzzy3YC8xBniAIv8ti0b9RCzh3fA3hiVssFcKm7UDdt79G0KDpGDT2b79aDOCXvhsSEhIsxpzNbPYizablbbMatVnbv6M1J2+SodI4rNqFuJFaISV7pYwWDGhEOy/+RLu+NepIH7pylx7rK8nX2Y52vNGKfi4ppyUHrlJJ+RMa3MSXOod50Otfn6Vvsu4QEREqDVRydhcV7V9RY/VlGtN/NJPL5RQSEkJlZWWUl5fHdZmJjJrWlZWVFtrkv8ZUKhVJJBJ69OgRtWrVilxcXEir1ZJOpyNHR0f64IMPyN/fn5YuXUo6nY7++c9/0ldffUVFRUUW13JzcyM/Pz86ffo0JScn06xZs0Tf16tXj65evUru7u50584dateuHe3bt49kMhkFBgbSzZs3KT8/n1xdXamiooI2bdpEqamplJGRIbqOvb091a9fn7p160ajRo0iX19fio2NpY0bN5JMJqO8vDw6evQoffTRR5SZmUlPnjzh2tVSqZSCg4Pp0qVLFBISQqdOnSKtVksZGRnUpk0beuONN2jZsmWi+z1+/JjUajX/f7du3ahDhw40b948ru0dFhZGx48fJ61Wy4/bsGEDDRkyhFJTU+nVV1+lyspKmj9/Ps2fP5+Ki4v5cZ07d6Z//etfpFKp6OLFi5SRkUGzZs2ie/fucS33x48f/1979x0dVbk1cPh3pqX3HkISAqGFHkAICU2KgKIUJUoRBMGGiiLKVYFrQYqIwr0iH4pSLCgoEcul92YoSugBQgBpIUA6aXO+P+IcGBJImyDgftaatWDmtJlMMnv2+757W12TpS+2o6MjHTt2pEGDBixatIikpCQGDRrEnDlzmDZtGm+++aZVH3qj0cjatWtp0aIF8fHxbNmyhenTp3PmzBns7e2LnQfAYDDg7u6Or68vvr6+rFu3jqioKDIzMzl48KDWO15VVRRFQa/X07BhQ4KDg4mLi2P79u2EhYXh7e3NlStXcHR0JDIyku3bt7N8+XK+/vprVq5cydmzZ0t8j177nAMCAmjVqhWdO3dmx44dLFiwgLy8vJvuVxntuvfmsHskpuDGqOZCFJ3+xhubC0GnJydpFxf/919cdHmkpaVVyd8fX19fEhMTrd5vQlS5vzWcFXedazvlhLz2k3ry4o1bcl2bkew8fZ266sBZNT0nT83JK1B3Jl9Uh3zxW/EV3t7VbfYtvkePHsXm091Jt3Hjxqk5OTlq165dtfuuLRWjqkVFxi1zyyyZmqefflqdMGGC+uKLL6qDBw9We/fuXWwRA39le1xcXG6Y6Srv7fqsjKXYer169bR2jwEBAerEiRO1+YIeHh5aZ6DIyEj1vvvus1pIdO1Np9Np2atrWbJmlgzltYsUCgsL1dmzZ2tllyw3Pz+/YnX7nJ2dVX9/f6v7rs0o6vV6ddOmTVaPT5s2zer6evbsqWU5LTUdjx07po4ePVrLNNrb22vvy9IWh3l4eKj16tVTe/ToYbVSWlEUbTGPRX5+fok1PatXr67++OOP6ttvv61CUU/6a11bXikgIEBNSkpSN2/erJUeKq0/ellvgYGB2oKzBQsWaOffv39/iYunrn9v1a5dW33qqafULVu2qKqqqk8++WSV/e6ZTCb1/ucnqtVfXqKGvPpjmWroXtugIWT09+o9j41SoXiJJFvcvvvuuxv+3RWiqkiGUtjcwM+2s+VYqpaltAW9Asr5RI5+Nsp2x9TrrbIzdyKTyUReXh7R0dG4u7vz008/0b59exYuXMj999/P77//jr29PR999BEPPPAAISEhGAwGzp49i6urK7NmzWL8+PGkpKRoWa1x48axcOFCjh07hqIodOjQga1bt+Lu7s7p06cpKChgyZIlvP/+++zYsQMoyg75+fnRqFEjgoKCWLZsGSkpKbRu3Zp9+/aRnp4OXM0IVzYzrCgKRqORwsJCCgsLcXR0JDs7G0VRaNasGT4+Pri4uHDx4kVWr16N0WjkjTfeYNKkSVy5coWff/6ZFi1a4OnpiU6n47PPPuPJJ58sltV1cnKiS5cuTJgwgfHjx7N06VKOHz+Oj48Pffv25ddff0Wv1+Ps7ExhYSEZGRlW+x89epRatWrRp08f9uzZQ2JiIgCRkZGcPn2aM2fOaK97SfR6Pfb29mRnZ6OqKp6enuj1elJSUjhz5gz+/v5W28+cOZPnn38eQLvmlStXMnHiRDZv3kx+fr7V9q+88gpTpkzR/t+yZUvi4+P5/PPPGTx4MMnJybRs2ZLz588D8NVXX9GtWzcWLlzI22+/rd1va3Z2dri7u3Px4kWra9bpdDRt2pQpU6aQlJTEsGHD8PX1xcfHhyNHjpCbmwtczdBafj9sqWbNmpia9iS71r2gqqAo5T/IX/uFpu1h/ax/lbq5Xq/Xfmeu/5ulKIqWIbazs8PZ2ZlNmzahVOS6hKgECSiFzZ28mE2n6evJLbDdUI6dQceKF2J4ot+DrFmzxmbHvRv07duX7777DoCuXbuyYsUK7bEePXrw7bff4ujoCBQFBP3798ff35/s7GzS09Oxs7NjyJAhvPbaa4SFhREWFkZiYiKbNm3imWeeISEhQTteq1at2LNnD9nZ2QC4uLiQkZHB0aNHCQsL07br2LEj69ev1z78Nm/eTJ8+fTh37hwAGzduJDo6moKCAuLi4hgwYECJw6nXCggIoFGjRuTk5JCVlcWZM2c4ffo0BoMBFxcXsrOziwUU5WUwGCgoKMBkMmEymcjJydGeg+ULiJeXF5cvX6awsJCgoCDGjh3L3Llz2blzJydPnsTf3x+dTscff/zBDz/8wNtvv01AQAA6nY6UlJQSAxxHR0dCQkKoWbMmbm5ufPnllwwfPpzZs2cDkJeXx6BBg1i0aBEANWrU4MiRI9pQvcVDDz1EXFyc9jyu/dJUs2ZNBg8ezBdffMHRo0cBePXVV5k0aZK2f2ZmJv7+/uTm5jJ79myeeuopCgoKeP3115k0aRIeHh4oilJlgeTNPPvss0yZMgVHR0dOnDhBzZo1sbOz4/z589r7+9ChQzz++ONs3769wu+Bm6lfvz4Zvg3RtRpos2MGnV7P5vlTre5TFAU3Nzd8fX0JDAwkMDAQf39//Pz88PPzs/q3j48PBoPBZtcjREVJQCmqxDfxJ3jt+4TSNyyjyb0b0q9FMJcvX6ZJkyacPHmyUhkuo9FYLFtzJ3N3d6ddu3Zs3LiRixcvAhAdHW01vzAvL4/XXnuNjz76CLPZjMFg4JVXXuGtt97SPpAefvhhFi9eTFxcHD179iQ5OZnnn3+en376SXu9DQYDvXr14pNPPuHXX39lwIABfPrppwwdOlQ71/UBJYDZbMZkMmn3hYWF4ebmxqFDh7QAVVEUvLy8cHJyIicnp1jg4ujoyNChQ+nZsyfdu3e3yrYCfPvtt8TGxmrz/YxGIz///DMuLi6kpKSQmprKggULWL16NTVq1ODixYukpaXh6OhIvXr1uHLlCgcPHqSwsBAPDw/y8/PJy8sjPz/fJsHJjYIcNzc3q7mOhw8f5ssvvyQ8PBxfX1/8/Pywt7fHx8eHCxcuAEU/c0vGEOCDDz7g5ZdfLpZ59/LyYteuXQQFBdG4cWP27t3L0KFDWb58OadOnSo2n3X9+vW0b98eKMqA//LLL9jb29OuXbvbIqNvMBgwm82YzWZiYmK49957iYqKok2bNkyaNIm3336b6tWr88svv9CwYUObndfd3R29my9OD08iqrY/vZoGERnsQYC7Pek5BST8eZmPViey93S6tk/zEA/6RgYREehGbT9n7Ax6oiev4dTlv+Y8qyrmgjyqJ8xjUO/utGzZEn9/fwkSxR1JAkpRZf6zNpH3Vxyu9HFe6VKHZzvU0v6/Z88eWrZsqWWjhDUXFxdcXFw4ffo0/fr149NPP2XkyJF8+eWX5Ofn4+7uTmFhIZmZmWzfvp0WLVpo+2ZmZuLm5oaDgwOurq6cOVO0gMrDw4OMjAxUVdUW/NSoUYN///vfDBo0iMGDB/P5559rx7k+oExISGDOnDnMnDmz2HC3JfgbP34848aN07Ju77zzDm+++SZDhgzBYDDw5ZdfaoGnRVBQED169GDQoEFERUUB8K9//Yv33nsPgHXr1tGuXbtir1GdOnU4fLjovTlo0CDmzZunPbZy5Uq6dOnC/fffT1xcHLt372bkyJFs3bq11NfeMvzt4OCAvb09iqKQlJRkFeTpdDoMBkOFh2IVRUGn01kdD9BeU71eT0BAAM2aNePAgQMkJiZiZ2eHh4cHZ8+e5b777mPGjBm4uLjQpEkTzp07x6RJk3j11VfJy8ujY8eObN68GSjKcF++fFn7/9/N29ub/Px80tLSbjhlRVEU6tevj5eXFxs2bLDJeS0/M88+47Cr3pD/DmiBh6ORXxLOkHg+E08nE0/GhNGwmhuD5v7G1mNFi7FeuDechyOD2Hc6HVd7I61relkHlIBOgTY1vVkw9B6bXKsQfxcJKEWV+ib+BON/3EeBWS3XnEq9TsGgU3irZwT9WgQXe3zhwoUMHGi7Yae7gbe3Nw0bNmTr1q0lDh8HBAQwceJEBg8eTGJiIvXq1cPJyUkbhv7www/57LPPOHLkCFCUnerWrRvjxo2jWbNmPPLII3z33Xds3ryZadOmERcXp32gBwcH89xzz/H555/j4eHBmTNnSEpKwsPDo9iKb29vbx566CGqVavG+++/T1ZWFoqicPjwYWrVKvriUFBQgKurK0ajkUuXLhULMqFoNXd+fr72xUKv1+Pn56cFwaqq4uHhwZEjR/D09NTOP3v2bJ5++mlUVUWv13PixAnOnj3Lpk2b2LVrF4cOHWLHjh0UFBQUew0twbCrqyt169bVht0tr4OrqyszZsxg4MCBbN26laFDh3Lo0CEAmjdvzuzZs2nWrBkLFixg0KBBzJ07lyFDhnD+/HmGDRvGTz/9pM3969u3L/Xq1ePSpUukpaUxf/58CgoKaNmyJcnJyVy4cKHYNV4fXJbHtQGaJZN8O2QkSxIcHExycjIFBQXEx8fz3nvvsWzZMgwGgzYlwdZfOO18Q/F/4j8AeDmZSM2y/kLgaNKzfnR7Dp3LZMBn24Gi6ZWWT9gnY8J4vXu9YgGlxapRbanl62LTaxbiVtKVvokQFRfbIphVo9oRFeYFFAWKN2N5PCrMi1Wj2pUYTAIMGDCAZ599ViaeX+PChQvo9XoGDhxISEhIscerVauGnZ0dZrOZ8PBwPvjgA9LT0/H29sbJyYmxY8eSnJxMTEwMRqMRJycnli5dSrNmzQAYN24cAB9//DE1atTAxeXqh9+JEycYM2YMBw4cYMuWLSQlJQGUWD4oJyeHefPmsWzZMi3zpaoqtWvX1srnvPzyy+Tk5PDee+9ZzROMjIwEirJQmZmZPPfccxw+fJixY8dSq1YtTp8+jVpUXxdFUbh06RIBAQEsWLCA3377jebNm/PUU09pc9QKCwupVq0akZGRvPDCC8ybN4/4+Hjs7e21c+p0OgYNGsSlS5e0OZQ6nY7t27dz4sQJ8vLymDt3LoqikJ6ezuDBg9Hr9URHR2vB5LBhw4iPj9deS0vmzDJc7evry48//qhlWVVV5auvvmLatGn4+PhQq1Yt8vPz8fHxIT4+nrNnz6IoCu3ataNJkybatVavXp3du3ejqiqFhYWkpqbSsmVL7TUDaNq0KWPGjGHEiBHExsbSuXNnq4ynu7s7Tk5Ot20wCfDnn3+yZs0aDAYDv//+O8uWLcPT05OUlBTOnj3L+vXr8fb2tuk5/aP7opqLXpPrg0mA7LxCEs9nEuB29b1T1nSNXqewcNsJm1ynEH+bW7KWXAi1qKTQ+Li9atupa4p11Al97Se17dQ16vi4vWriufQyHS83N7dchZlv5e3a1nSW2/VFmG/F7doONpabTqdTXVxcrF63atWqqfPmzdNKDlkKfU+ePFlV1aIi3IMGDapQl5Wb3SzlZmrVqqWV33Fzc1P1er3q4+Nj9fO+dOmS1vUnISHBqiPQ7t27VaPRqCqKog4ePFht0qTJTUvN6HQ61d3dXSvZ0rRpU/XHH39UL126pE6cONGqV/nmzZutrmPIkCEqUKwLyc36RdesWVONj4/Xtm3RooVqMBis9i8sLFRNJpNas2ZNNT8/Xx0zZkyxkk06nU5t2rSp9rNatmyZCkUda4YNG6b9rGNjY9X8/HytIHuXLl3UjIwMtX79+ioUtctMS0tTVVVVR40aZXUOS2eeO+lm6Y7j5eVVJX8P7O3t1cARc25aDqjB+P+padl56q8JZ0p8/J2f96uqqhZr4GC5tZ26pkx/94S4XcmQt/hbZOUWcDw1i7wCMyaDjlAvJ5zsyj8J/c8//6RRo0Zcvnz5by1QbllVaylfczOenp7awpmqUL9+fXr37s25c+c4cOAAycnJnDx5stT9hgwZQvfu3Wnbti3e3t64ublhNpt59NFH+eyzz6rseq/l4ODAlStXUFWVunXrsnnzZm24unHjxuzZs4eJEyfi5OTEzp07iYuLsyoCfi29Xq9lIS3bXD/vztvbm6ysLHJycpg+fTrTp0/nxIkTuLu7M2XKFIYPH06TJk3YvXu3tk9ycjKhoaH06tWLxYsXM3PmTN5++22tiPkjjzwCwOnTpzGZTFZVCYxGI126dGHLli0YjUZtugHAokWLiI2NZcSIEZw6dYo1a9ZYFay37P/444/z0UcfceXKFapVq4bZbObkyZNaMesHHniAQ4cOac+1bdu2rF+/XjvG448/zvz583F2diY0NJS9e/cSHBzMsmXLaNGiRZUWAr9TKSYHqo/69qYjItMfacL9jQLo9fFmq4U5FqUNeSvA3gldK/R3UIjbwt8c0ApRaevWrfvbWidaMlkjR45UAXXq1KlqtWrV1Af7PKJ6hzdR3cIaq0bfGiX2H7+2LaEtb76+vmpubq565MgRdcCAAaqbm5vV42FhYWq/fv1uWpD6VvQaLstNURS1evXqN8w2Xp+N6tWrl7ps2TL18uXLqqqq6syZM1WdTqc9n5CQEDUlJUWdNWuW2qVLlxIL2wcEBKjvv/++mpKSonbq1EkFihUs9/X1VY1Go1Um2lKEvDyvncFgUBs3bqzOnTvXqtc5FGWNX3rpJdVoNKpeXl7qnDlztNaOer1ea1G4ePHiYr8TkZGR2nGaNWtWrGXkxIkTtccbNmyoFhQUqD/88MPf/vOu6M3Ozk7t3bu3+vrrr6s6nU7LQNvq+E5BdW6anfxo9WFVVVX1zbiEG25TWobS0m5WiDuVzKEUd7x27doxderU0jesArVq1cLV1ZXExETaPxjLvL3ZODwymd9rDcSpzzu4P/IugU/MJPil76j21Bx8uz2L0as6QKl1Fyvq/Pnz2NvbU6tWLRYuXIher2fo0KEcPHgQf39/jh07RpMmTbTFJL/99ht+fn5Wx1Bvk4ELVVU5efIkmZmZ6PV67r//fl5//XWWLVvG/v37tZXUEyZMwN7enh9++IGVK1fi4uLCI488wsiRI3FxcSEhIYFRo0aRnJxMVFQUw4YNY/ny5cycOVOrYQhFGcyzZ88yevRofHx8tJXdDzzwAKdOneLKlSvExsaSkpJCfn4+WVlZ2r6WbGJ5XruCggL++OMPnnjiCS3D2b59e5KTkzl16hRpaWnk5+czffp0hg0bxpkzZ1i8eDFOTk5asfg5c+Zw4sTV+XdDhgxh586dNGzYkK5du2olg8aOHQsUlVayzIc1Go0kJCRgb29Pr169KvIjui3k5uayZs0a3n33XQwGA3379rXp71d+4Y1/pi/cG87zHcOZsvwg87cmV+o8eTas3SvErSZD3uKuoKoqDz/8MEuXLr1liwksw19DnhvNT+ddcKjRrNR+voqqoioKLll/cnD+OArSzt1wW1tc3+TJk3nllVe0+9LT07X6i6GhoaSmphbr7nI769evH/Pnz+fixYvUrl2bjIwMFi5cSP/+/blw4QLNmzcnOTkZOzs7cnNzadKkCZs3b9aCxqeffppPPvmE2rVr4+joyO+//46dnR3Tp09n9erVLFmyhNdee43mzZuzaNEitm3bVqbpArZmMpn47LPPGDx4MP7+/pw6dUp7bPPmzcTExODp6YmPjw8HDx4EICoqimrVqvHdd98RERHBnj170Ol0bNiwgb59+5KSkqJ1jrm+9JC4OaNvDQKfmFns/hfuDWdUp9pMX3WYj1Yn3vQYpQ15A/w8MpqIQDebXLMQt5oElOKukZGRQWRkJMeOHavSD0oHBwdycnIwGAzY1++IR+cRKHo9iq7sc59UcyE6VHI2zuP8tqU2zwi2aNGCvXv3kpOTw4ABAwgODmb58uUcOHDAao6nh4cH9957L3379uWdd95h7969Nr0OWwoJCSE5OVkLDrOzs4sVVN+6dSvR0dGYzWbs7OxISEggPDxce9xsNmvFvQHuu+8+lixZgqOjI2azmWrVqnHu3DmtPufZs2fp3bt3mWpQVpWePXsSFxcHFD1nPz8/cnJySExMpEaNGuzatYsRI0ZobTBNJhOrV68mKiqKX375ha+++opNmzZZBcY6nY6IiAhatWrF2rVrtVJRd7qwsDA+/vhjIiIiiIiI0LK4leXk7onXiHlWcyhHdqzFy53rMGNNIh+sLL3ersyhFHc7CSjFXeXgwYNERkaSk5OjBWn+/v6cPXvWpueJjY1l9Vkjjq36aSVqysuyn+vx9SR8Y9sh++rVq+Pi4sL+/fu1+/R6PcHBwURHR9O9e3eGDx9ORkYGffv2ZcWKFTb78K1K9erV48CBA0BRUfPt27cTGBgIFNXRfOmll9DpdPTr14+vv/4avV7PwoUL6devn1X7R0sGs2XLlmzdulUrTWSpz+ng4EBERATbt2//257rtXQ6HVFRUaSlpZGQkMDs2bMZNGgQ58+f5/z580ydOpVvv/221HaDBoNBKyl0t/L39y+xRmdlODo64j3kvyguPgAMi67BGz3qs+7Q+RIzk7tPXgbA08nEPTWKFpV1qudHn2ZBvLE0gdSsPC5m5bE96erivBAvR9aP7mCzaxbiVpOAUtx1vv/+e/r06QMU9Z4+c+YMJ06csFkWsFevXqxKysHzvudscjwAzyO/snvxf212PCiadA8qSgAAHiZJREFUHxcaGkp+fj7Hjx/H3d2dbdu2UadOHaBoFXJ4eHipq9JvR4GBgZw+fRq9Xs9LL73E4cOHiYuLw8PDg61bt1KnTh22bNlCp06dyMnJITg4mBMnTqDT6Rg9ejTvvfceffr0YenSpVaroHft2sVDDz30twxzVzWDwYCDgwMmkwmz2VxijVBxY81HTCbVoz5mFL55shWt/qqtW5LQsT8D0KqGJ98Mb13iNtuOpRI7ZxtQVIdy4D0hTOgZYfsLF+IWkYBS3JXGjBnD1KlTefXVV5k8ebLNjhsSEsKfl69QbfgsHO3tef7e2tQPdCUiwBUvZzs+XHWYD6/LWBx/r8cNj3f0fCYdP1gHhXnkfv8m547tv+G25TV8+HCmTp2Kq6srH374IaNGjUKn0/HYY4+h0+k4cOAAO3bsuG0W4FSWo6Mjw4YNo02bNrRt2xZ/f3+mTZvG6NGjgaKpCnv37iUsLEzbp1u3bvzvf/+jWbNmZGdna/MR70T16tWjY8eOPPLII9SqVYuxY8cyf/587XEvLy/Gjx/Ps88+S1paGkFBQXfkl4myaNCgAStWrNCy15WhKApfffUVkR160PlD27RyLIl0yhF3OgkoxV2psLCQhIQEvv76a6ZMmWL1mF6vx2g0YjAYtJvRaLS6mUwmjEYjdnZ2mEwmzp07R3JyMtnZ2VQfOBkloC7VPZ355fkYDpxJ59iFLB5tGVxiQNm0unux62tS3Z3xD0Tw8bojTFl+CNVcSG7yHlK+G2/zepqW4fi77Vfd19eX8+fPl2lbS8tERVHw8fFBVVXy8vLIycm5I+suWt6z19apDA0NZciQITzzzDN06dKF3bt3U7NmTTZs2MCkSZOYM2cOV65cwcXFBV9fX44ePVql12jp0e7u7s7ly5er9FzX0+l0dOjQgdWrV1fqOAaDgbi4OLp37w7AwM+2s+VYarnayJZGr1OICvOSXt7ijicBpbirqapKWlqaFiAaDIZKtWtctmEHI38tvjLbw9HI7je7lBhQlmRqn0b0aRZEhw/WkZx6NUv055ynKEg9dZM9y6+0eXXizn2N3N3d+eKLL5g5cyYbN260Co6bNm3Ktm3bMJlMQNGCpGHDhvH5559X6TVZivy3adNGa61pYXmdry8wfzvS6XQsXrzYqpzSyYvZdJq+nlwblvexM+hYNaod1T0dS99YiNuY1KEUdzVFUXB3d8fR0RGj0Vjp3t87LzuU2o+8NE4mPd0bBrA96aJVMKmaC3Fp2r1Sx76Ws7Oz9u8hQ4bw/fff069fP9zdi2dM71Rubm6MHDmSadOm8dJLL2nBE0BwcDBHjhzRFqHs37+fdu3aWe2v1xeVeLoTg0mAzp078+CDD7Jq1Spmz56tvb8VRWH37t04OjrSunVrvvzySx588MEqDyYt5wa0YFIx2mP0rYEpoDZG3xro7RxxdXUFoG7dulV6Lf3796/QfpZh7utrc1b3dOTfNp7n+FbPCAkmxV1B6hMIUQ5rD52v9HDXA40DcbIz8M2OE1b3Kzo9DmHNucT/Ver4Fvn5+XTr1o1169bx+eefM2/ePFxdXW/58GNVSktL44cffiAsLIwNGzZgMBj497//zf79+1m0aBHh4eEMHToUNzc3Zs2aRXZ2Ng4ODtjZ2XH58mUaNGiAh4cH69at+7ufSoV89913BAcH065dOxYuXIiTkxNr166ladOmzJo1i48//pht27axbVvR4g9nZ2eCgoKqdK5ofn4+Rq/quDTrgVN4SxQXH+svcqqKPucSNXPPYEjail1SEoGBgSQlJdn8Wq79glFWiqLwxRdf0K9fvxIfj20RzIXMXN5fUXqpoNK80qUO/VoEV/o4QtwOZMhbiDLKzC2g4YTllPQLU54h7x+ejiLMx5mWE1cVGzpTVZWTHzyMmm/bLjp36pBueURHRxMXF6f1/t66dSudO3fWutk4OTnxxhtvMGbMGAAee+wxFi1a9Lddr615eHiwcuVKIiMjAUhKSqJHjx4cOHAAo9GIq6ur1o2nqjSL6cypwJiyFflHRUUhyJBB/Mcv4aYvICUlpUqvryxmz57N8OHDS93um/gTjP9xHwVmtVxfMvU6BYNO4a2eERJMiruKDHkLUUbJqVklBpPlEe7rTNNgD5b+/meJ87AURcHgEVDJs1z166+/oqoqZrOZDh3u7hp3GRkZnDp1itTUVB5++GFiYmLIysrC2dkZnU5HVlYWv/zyC+np6eh0Oj788EOcnJz+7su2mUuXLtG8eXPs7Ozw8vIiLCyMAwcO0LdvXzIzM7lw4QItW7asknM3adKE2t2GkNrqGRxCGgPcNJgEUCnKWp7KcyRg6H8x1m1fJdfWrVu3Mm/70UcflSmYhKJM5apR7Yj6q3xQaVNhLI9HhXmxalQ7CSbFXUcCSiHKyBZ9dvu1KOrjvSj+xnUOFb2x0uex6NatG25ubsTGxrJ27VqbHbckJc1PDQ0NrdJzXuuPP/6gcePGeHt7s3jxYoKCgli8eDEZGRmkpKQQHR3Nxo0b8fb2pmXLlgQEBFj14r4bxMTEUFBQwMWLVwtmW3p/GwwGfvvtN5uf88knn+SEcz1yG/dB1RmglECyGJ0eVWfE2OZxXFs/YvPrs7e3x97evtTtJk+ezPPPP1+uY1f3dGTB0HtY+WJbBt4TQoiXI9f/FigUFS0feE8Iq0a1ZcHQe2TOpLgryRxKIcrIZKjc9y+jXqFXk2rsOXWZ/Wdu3JVGLcyv1Hmul56efkuGdq8dUreU6QkKCuL48eNERkayc+fOKr+Ga+l0OozGouDcZDLRtm1bDh48yIULF4iPj7+l13KrbNy4scT7bdk15lpt2rTh6+3JeHUvCsQquujNsp9Hu0HUCPDij+9n2ewaL126xOLFi7n//vtvuM2ECRO0qRAVEe7nwoSeEUwggqzcAo6nZpFXYMZk0BHq5STtFMU/gmQohSijUC+nYtmH8uhUzw8vZzu+3XHj7KSqqhRcOlOJs1w1bNgwTp48yddff22T45WVYrRH7x2CKaA22w//iWK014JJy6rqqhIREcH58+fp3bs3ycnJPPjggxgMBlxcXJg4cSKZmZm0adOmSq/h7xYaGsprr73G0qVLWbFiBY0bN66S87i4uLB97xG8uj5tu/m5qsrFGp1wCwwrfdsyWrdunTavtiSvvvoq48aNs9n5nOwMRAS60TTYg4hANwkmxT+GvNOFKCMnOwPBno4kX7xa6qd9bR8cTHqc//rQqOXrTLcG/kDRivAr+VeHyfs1r05OXiFxv5++4Tn02RdttiBn7ty5JCUl8eyzz9rkeNdzcnLiypUrODk5Ed68LSdMITjXbkmhg6dVpkpVVQounyXnaDyZu3+lMLXq2hru37+fTp06cfLkSS3IsdQ7tLOzY/DgwVov8FvBy8uL1NRULWN7Kxw/fpxJkyZZLcQKCgoiICDAppnZjIwMwp74NwWKjqia3vRqWo3IYA8C3O1Jzykg4c/LfLQ6kb2nrbPxEYGujO1Wj6bV3Sk0q2w5msq7v+zn5KUcUBR0egN2MYNhke2CvJUrV/LKK68wbdo0q5/DCy+8wHvvvVfpcmJCCFnlLUS5TPhxHwu2J2urOjeN6UCQR8nzoaInr+HU5aJOJgFu9mwa05Glv//Jy9/9UeL2ln6+LfTH6dOnD7m5uVXzJGzAycmJrKws3v1oNh9tOVemVb2oZlB0mE/v4+yyD8m3USb2duTi4kJGRgajR4/m/fffJyIign379gHc0uCyKguIuwSF4zlgOgD/fawZHo5Gfkk4Q+L5TDydTDwZE0bDam4MmvsbW48VrS6v6ePE0mfasP9MOrPWH8XOoOelTrVxczDSfeZGLmZdLcx+bZF/na5oMK2ir9u6deto164d9913HytWrEBVVZ566ik+/vhjCSaFsBEJKIUoh8RzGbekn++ePXu47777OHfuXIU/RLds2cLcuXP59NNPbXZ9lgClRo0aODXqTEb4faA3gFL22TOKaqawIJ829qf55t2RNru2azk7O9O1a1dGjBiBi4sLO3bsYNmyZaxYsaJKzncjitEeg0cAit6IWphPwaUzNi8JdSMnTpygevWiRWA7d+6kVatWNp1L6dFpOC7NeqDo9Hg5mUjNsm5h6WjSs350ew6dy2TAZ9sB+M+jTWkd5kW799eRmVt0LdXcHVj7cnvmbk5i0v/+qo+pmmnilE5suJ5Lly5x/Phxjh8/TmJiIsePH+fSpUvaeRRF0brzlPRxptfreeaZZ5gxYwZfffUV/fv3Z/DgwXz22WdaoCqEqDwZ8haiHML9XIip5V1l/Xxr+boA0KhRI3bt2kWPHj34/fffKxRUrlmzhuBg25YmKSwsJCIigjMejTDX64mqquXO8KiKDp3BxNbCGjR//HV2zp9o8xqZBoOBJUuWsGTJEpsetyyMXtVxbtoNh5rNMbgHlDD8f4Yrx3aSsesX8qtw+H/kyJGkpaWRkJBg8/qTXl5e2NdqqWWkrw8mAbLzCkk8n0mAW9EKa71O4d66fny/+5QWTAL8eTmHbcdS6RLhdzWgVHRccggkNrbkUldZWVkkJydrgebx48c5duwYR44cITk52ap4f2FhIUuWLGHGjBnExsbi5eVFp06dJJgUwsYkoBSinCb2akin6ettGlAadAoTezW0us/f359NmzYxcODACgVGb7zxhq0uz0qyvhpe0UUt7So8XPjXfikBrfGP6k1q/DKrPtSVZQkoKjtUWhrLPMWAgABydI749HiBPM8wbXi/pO2NHoGYIgNwiXyAUPsrbJ7+LIbcNK5csW3mMi4uzqbHu9aVAhUnN7+bbuNiZ6BBoBtbjhYFsyGejjiY9Bw4m1Fs2wNn04mu5Y2dQafVZz2Rmk1WbkGJi1qcnJyoX78+9evXL/HcmZmZWsCZlJSEh4cHUPR+6Nq1a7meqxCibOQrmhDldCv7+To4OPDtt9/y+uuvl+t4EyZMYNasWRVqPXcjer0eg5ufzVf1Glv3x+zoadOMUcOGDdm3bx+FhYUUFhayYcOGKstIjRo1igzfRngO+IBct78ywqVMAbAU9U7KNhI0YjbOjbvY/LoURWHcuHGsXbuWxYsX4+3tbbNj59m5lfpl4q0HG+Bg0vOftUWdo9wdi96LadnFvzikZeej0ym4OlytwaoCx1MrVifU2dmZiIgIevTowXPPPVfhnt5CiLKTDKUQFXAr+/nqdDreeecd6tSpwxNPPIHZbC414xYcHExwcLBNs35ms5laj/yLXEWHs52BkR3DqR/oSkSAK17OdjdsOxnbojr97wkh1MuRArPK4bMZfLLhGGsPnS/KVOr0eHcbydmvyxc030xCQgLt27cnMDAQDw8PMjMzbZ6l9PDwwNnZmcUHMvHqNpICVUXRly9jq+j0qKqKU4fheAaGcPiHmTa7PlVVCQoK4siRIyxZsoQLFy7Y7NilFd9/qXNtejWtxrgf9xZb5X3T7yLXPWaLZgJCiFtDAkohKui5DuF4O9vdsn6+AwcOJDQ0lJ49e5KRkXHD1budOnWif//+XL58WVusYAsNo7uQ5lUTBfBwNPFYy2AOnElnxf5zPNqy5OcwqlNtXrg3nIXbkpn8v4PYGXQ8HhXK54NbMGLhTpbvO4ui02MX0hiDV5C2qtcWUlJSqqw3tIuLC+np6fhF9San4YNA5Yf/c+t0xbNFEhfjf7LVZZa5jWB5OdrfOPP9wr3hPN8xnCnLDzJ/a7J2/+W/MpPuTsX3dXM0YjarpF+xLupf2WYCQohbR35bhaiEW93PNyYmhh07dlCjRo0bFgmPiYnBZDIRHx9vs2DSycmJi571Uc1FQeypyzk0emsF/eZsY8rygzfc75HmQfyWdJE34vay6cgFVh88z5Pzd5Cek0/fZtW07VRzIZ4tH7TJtVqud+zYsSxcuJB3332XOnXq2OzY8FcNxkYtya7Xw2bD/6qq4tR2CIZS5iaWh52dHTExMYwbN47WrVvb5Jgmk4nBfXtQLJ1IUTA5qlNtpq86zMfrjlo9lnwxm5y8Qur6uRTbr66/C8cvZln1t1coaiYghLgzSEApRCXd6n6+NWvWJD4+nrZt21plxRRFwWg0Eh0dDcDChQsr+IyKVklbGI1GTCYTZv96N68zWYKCQpWMXOusU26BmdyCQuvgQafHGNLEZjUBs7KycHd3JygoiO7du5OWlmaT414rrXY3+Gv4/7X76jL/iZbsfL0Tx9/rwYv3hpe4z+CoUFaPaseht+/jt7H38s6DDXC1L3qtlb+KenveZ7tC9Hl5eSxZsoThw4dz5kzF634qioJOp+PNN98kMzOT6VMmEeJpHeyN7FiLUZ1qM2NNIh+VMPWh0Kyy+uA5ukb442S6+j4KdLOnVZgXy/eetdo+2MtRuswIcQeR31YhbORW9vN1d3dn+fLlPPfcc/zf//2fdv8HH3xAx44dAbQahKXR64vm8ZnNZkwmEy1atKBt27ZERUXRunVrvLy8yMwtoOGE5SXkpG7u8y1J/KtbPR5pXp3/7T2DnVHPiLZhuNgb+XzLcevrcPMHgx3YqE7jq6++apPjXM/BwQGTTwgONZoBZR/+f717PZ5oU4M5G4+x6cgFwn2dGdW5No2C3Og9awsFZhV0ehxqNLPZ8L+qqvj5+VUqi6rT6QgJCeHrr7/mnnvu0e7vUMdXK/I/LLoGL3euw7pD51l78DxNq7tbHWP3yaJV99NXHSbu2WjmPt7ir8LmOkZ1rs2lrHzmbErSttfrFDrU9q3wNQshbj0JKIWoApZ+vlXJaDTyySefUK9ePV566SVUVaVdu3ba456eniV2SjEajeTnF2UNvb29adeuHdHR0URFRdGkSZMSV4Ynp2aVO5gEmLv5OFfyzbzdM4IpfRoBcCk7j6Hz4tmZfMlqW0VRMHgEkH8+qaRDlYteryc6Opr09HTS09M5evRo6TuVgaIouLq6kle7rdYZyDL8D+DhaCwxoPRztWNIVCjztx3Xai1uOnKB1Kw8ZsQ2pW9kEN/EF9WkVM2FuEXeT+qKT2xyza1bt6ZJkya4uroyadKkMu9n6egzYsQIpk6dipOTdUay/z3BfLH1OFDUpx6gfR1f2tcpHgiGjv0ZgKMpWcT+31Ze61aPj/s3o8CssvVoKsN/2WnVJafQrDKglW1rqAohqpYElELcwRRF4cUXXyQ8PJxly5YREXG1nNG6desoLCzUFuYoikK9evVo3749UVFRtGnThpCQkDINM1d0te3DkUGMv78+87Yms+7weUx6Hb2bVWPOoOY8tXAnGxKtVx7rDLYpc1RYWMj8+fMJDg7mjz/+oEmTJjY5rqqqnDt3jsCHmpdr+L9pdQ8Meh3rDlkvElp94BwA3Rr4awGlotNjF9rMJtcLEBsby8iRI1m+fHmZA0q9Xo+npycLFiy4Yd3Ga4v8x87ZVubr2Xs6XeucU+K5ryvyL4S4M0hAKcRdoEePHvTo0cPqvrp165Kfn09MTAxt2rThnnvuwdXVtULHr8hqW1d7A2/1bMA3O04y8dcD2v3rDqfwzZOtePehhsRMXWu1T2hwEIfPHLbJQhdLsGzr+pOKyQGDe0C59rG8ftcH5gVmFbNZpa6/9c/F4BGAYrS3SZtGZ2dnAFq1akV4eDiJicXnN1pYCrX37t2bTz75BE9Pz5se+1YV+RdC3P5kUY4Qd6kPP/yQ1atXM2HCBDp37lzhYBKKVtuWd7lMTR9nHEx69py6XOyxPafSqO7piOM1izMUYOe6/3HixAkGDhwIUOFg0NnZmV69enHvvfcSGRlZoWOURFEU3KrVLPfiocRzRd1hIkM8rO5vFuyBTqfg7mhd11FRFN6aPov+/ftrQ803WtVfGkv7TTc3N9q3b3/D7QwGA87Oznz11Vd8++23pQaTcGuL/Ashbm8SUAohSuVkZyC4nB/y59KLsmtNq3sUe6xpsDuXs/PIzrs6v9OyqjcoKIj58+ezc+dO2rRpA5S/xqPZbOb7779n5cqV5Zo3WBLLuQMDA3niiScY/MSwch/jwNkMth9LZXjbMLo38MfV3kCzYA/e7dWAgkJzicW+ezzwIAsXLuTChQvExcURGxurBZfXrsIvzYYNG7R/+/j43HC7mJgY9u/fz6OPPlr2J0ZR6azRXWqXa58bKa3IvxDi9iUBpRCiTDrU8bWqs9m+tg/dGvhrCzJq+TrTrYE/3Rr4Y2/UcTrtCr/uPcOjLYMZd399YsK9ubeuLx8/1owWoZ58Wsqq3mbNmrF+/XqWLl1KaGhouYLKsLAwbdi8sLCwQuWIdDodJpOJoUOHsm/fPv78808+/fRThj0xuNzHAnjmq13sTL7Ex/0j2TO+K18/eQ/L955l/5l0zqYXH9q2DJPb29vTs2dPq+CyX79+ZQ4ur61F+uyzz1K79tXgT6/XYzKZmDFjBqtWrSIoKKhCz+25DuFM6t0QO4Ou1Fqs19PrFOwMOib3bsizHWpV6PxCiL+fotqsKa8Q4m6WeC6Dzh9ezXZtGtOBII+Ss5bRk9dw6nIOdgYdg1qH0rtpNYI8HCgwqyRdyGLe1uPE/X7aap9Vo9recCFGXl4en3zyCePGjSMjI6PUNoozZ87kueeeA4oW0tjb25epDaVlZbO3tzcvvPACI0aMKJbVy8otoMENSih5OBrZ/WaXG7ahBPByMuHjYsefl3K4UlDIrjc68+ves4xZskfbRgH2Tuh601JTV65cYcWKFXz77bcsXbqUrKysEjsj7dq1i6ZNm2r/HzJkCPPmzQOgUaNGfPPNN9StW7eUV6ZsTl7M5l8/JLDxyAX0OuWmcystj8fU8mZir4YyzC3EHU4W5QghyuTaVb2FZpXoKWtL3Se3wMycjceYs/HYDbcpy6pek8nE888/z8CBA3nnnXeYMWMGwA07AWVmZmr/Tk1NLTWYtJRXqlevHq+88gqxsbHY2dmVuK1l+D/5YvZNj3kjqVl5pP5VImdwVCiOJgPzth632qYsRb0tmcuePXuWGFxantORI0esAsrGjRuj0+n417/+xZtvvonRePO+3OVhKfKfeC6DL7efYO3h85xIzbYKvpW/nl+H2r4MaBUsq7mFuEtIhlIIUWYnL2bTafp6qy43lWVn0LFqVLtyZaiOHj3KmDFj+P7774vV2nRycuLHH3/UCrynpKQQHBxMbm5usdXjln27d+/O6NGjad++fZmGxyf8uE8r6g1Fw/8OJj3Odgam9m3MT3tO83NCUWeatYfOcyXfTGyLokLzyanZuDoYaV/bh37NqzN1xSFmrb9aJ1OvUxh4TwgTKrjY5drg8tdff+WLL77ggQce0B7Py8sjNTWVgIDyrVSvqKou8i+EuD1IQCmEKJdv4k/w2vcJNjve5N4NK7wQY/PmzTz//PPs2rVLK3nTtGlTdu3aZbXdU089xdy5c7WC7pb5kUOGDOHFF1+0mldYFhUZ/n+0RXWeaFODah4OmFXYdzqNTzcmsfKvWpTXutnwvxBC3I7ka6IQolxiWwRzITOX91ccrvSxKruqt02bNsTHx7No0SJGjx7N6dOnSyyPlJmZqQWTfn5+jBo1iieffLJMpXFKUpHh/6/jT/L1X8XLb0SKegsh7lSSoRRCVMg38ScY/+M+CsxquQpb63UKBp3CWz0jbFoiJicnh08++YSwsDAefPBBq8cmTZrEDz/8wAsvvMDDDz9sk3mDt8vwvxBC3A4koBRCVNg/fVXv7TT8L4QQfycJKIUQlfZPXtX7n7WJNhv+lzqMQog7lQSUQgib+ieu6r3dhv+FEOJWk4BSCCFs4J8+/C+E+GeTgFIIIWzonzz8L4T455KAUgghqsg/cfhfCPHPJAGlEEIIIYSoFN3ffQFCCCGEEOLOJgGlEEIIIYSoFAkohRBCCCFEpUhAKYQQQgghKkUCSiGEEEIIUSkSUAohhBBCiEqRgFIIIYQQQlSKBJRCCCGEEKJSJKAUQgghhBCVIgGlEEIIIYSoFAkohRBCCCFEpUhAKYQQQgghKkUCSiGEEEIIUSkSUAohhBBCiEqRgFIIIYQQQlSKBJRCCCGEEKJSJKAUQgghhBCVIgGlEEIIIYSoFAkohRBCCCFEpUhAKYQQQgghKkUCSiGEEEIIUSkSUAohhBBCiEqRgFIIIYQQQlSKBJRCCCGEEKJSJKAUQgghhBCVIgGlEEIIIYSoFAkohRBCCCFEpUhAKYQQQgghKkUCSiGEEEIIUSkSUAohhBBCiEqRgFIIIYQQQlSKBJRCCCGEEKJSJKAUQgghhBCVIgGlEEIIIYSoFAkohRBCCCFEpUhAKYQQQgghKkUCSiGEEEIIUSn/DwHkEnJdsbrjAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# access and visualize the device topology\n", - "print(ionq_device.properties.paradigm.connectivity)\n", - "nx.draw_kamada_kawai(ionq_device.topology_graph, with_labels=True, font_color=\"white\", arrows=True, arrowsize=30)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "With this information, you can write a circuit to run verbatim on an IonQ device. IonQ currently only supports verbatim compilation for the entire circuit, so every instruction in the circuit will need to be enclosed in a verbatim box. In other words, you cannot have any gates outside of the verbatim box. As well, note that IonQ native gates cannot be used outside of a verbatim box. To learn more about IonQ native gates and the best practice of using them, see the [Amazon Braket Developer Guide](https://docs.aws.amazon.com/braket/latest/developerguide/braket-devices.html?tag=local002-20#braket-qpu-partner-ionq) and [IonQ's documentation page](https://ionq.com/docs/getting-started-with-native-gates). " - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "T : | 0 | 1 | 2 | 3 |\n", - " \n", - "q0 : -StartVerbatim-GPi(3.13)-MS(0.10, 0.20, 0.30)-EndVerbatim-\n", - " | | | \n", - "q1 : -*************-----------MS(0.10, 0.20, 0.30)-***********-\n", - "\n", - "T : | 0 | 1 | 2 | 3 |\n" - ] - } - ], - "source": [ - "circ = Circuit().gpi(0,pi).ms(0, 1, 0.1, 0.2, 0.3)\n", - "verbatim_circ = Circuit().add_verbatim_box(circ)\n", - "print(verbatim_circ)" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Counter({'10': 9, '01': 1})\n" - ] - } - ], - "source": [ - "task = ionq_device.run(verbatim_circ, shots=10)\n", - "print(task.result().measurement_counts)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Programming verbatim circuits onto the IQM device" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The native gates of IQM Garnet are PRx and CZ. Use these gates in verbatim circuits when submiting to IQM Garnet. " - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The native gates for the Garnet device are:\n", - "cz\n", - "prx\n" - ] - } - ], - "source": [ - "# set up the IQM Garnet device\n", - "iqm_device = AwsDevice(Devices.IQM.Garnet)\n", - "\n", - "# list the native gate set\n", - "print(\"The native gates for the\", iqm_device.name, \"device are:\")\n", - "for gate in iqm_device.properties.paradigm.nativeGateSet:\n", - " print(gate)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The native gates need to be programmed on the physical edegs of the device. Let's take a look at the topology of IQM Garnet, shown in the figure below. The topology is a square lattice. The edges are bi-directional where a two-qubit gate can apply on (i,j) and (j,i) where i and j are indices of two qubits. " - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "fullyConnected=False connectivityGraph={'1': ['2', '4'], '2': ['5'], '3': ['4', '8'], '4': ['5', '9'], '5': ['6'], '6': ['7'], '8': ['9'], '10': ['11', '15', '5', '9'], '11': ['12', '16', '6'], '12': ['17', '7'], '13': ['14', '8'], '14': ['15', '18', '9'], '15': ['16', '19'], '16': ['17', '20'], '18': ['19'], '19': ['20']}\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# access and visualize the device topology\n", - "print(iqm_device.properties.paradigm.connectivity)\n", - "\n", - "nx.draw_networkx(\n", - " iqm_device.topology_graph,\n", - " pos={\n", - " 1: (-1,2), 2: (0,2),\n", - " 3: (-2,1), 4: (-1,1), 5: (0,1), 6: (1,1), 7: (2,1),\n", - " 8: (-2,0), 9: (-1,0), 10: (0,0), 11: (1,0), 12: (2,0),\n", - " 13: (-2,-1), 14: (-1,-1), 15: (0,-1), 16: (1,-1), 17: (2,-1),\n", - " 18: (-1,-2), 19: (0,-2), 20: (1,-2),\n", - " },\n", - " arrows=False,\n", - " with_labels=True,\n", - " font_color=\"white\", \n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, let's compose a verbatim circuit to IQM Garnet. The circuit below creates a Bell state. With verbatim compilation, you have control in preparing a quantum state. There is no gate optimization and you can experiment with different ways to create the quantum state." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "T : │ 0 │ 1 │ 2 │ 3 │ 4 │\n", - " ┌──────────────┐ \n", - "q1 : ───StartVerbatim───┤ PRx(1.57, 0) ├───●───────────────────────EndVerbatim───\n", - " ║ └──────────────┘ │ ║ \n", - " ║ ┌──────────────┐ ┌─┴─┐ ┌───────────────┐ ║ \n", - "q2 : ─────────╨─────────┤ PRx(1.57, 0) ├─┤ Z ├─┤ PRx(-1.57, 0) ├────────╨────────\n", - " └──────────────┘ └───┘ └───────────────┘ \n", - "T : │ 0 │ 1 │ 2 │ 3 │ 4 │\n" - ] - } - ], - "source": [ - "circ = Circuit().prx(1, pi/2, 0).prx(2, pi/2, 0).cz(1,2).prx(2, -pi*0.5, 0)\n", - "verbatim_circ = Circuit().add_verbatim_box(circ)\n", - "print(verbatim_circ)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Conclusion \n", - "This notebook introduced the basic functionality of verbatim compilation of Amazon Braket, that allows you to run circuits or subcircuits to be executed exactly as defined without any compiler modifications. You can find further information in the [Amazon Braket documentation](https://docs.aws.amazon.com/braket/). " - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Task Summary\n", - "{'arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2': {'shots': 5000, 'tasks': {'COMPLETED': 5}}, 'arn:aws:braket:us-east-1::device/qpu/ionq/Harmony': {'shots': 10, 'tasks': {'COMPLETED': 1}}}\n", - "Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\n", - "Estimated cost to run this example: 6.400 USD\n" - ] - } - ], - "source": [ - "print(\"Quantum Task Summary\")\n", - "print(t.quantum_tasks_statistics())\n", - "print('Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).')\n", - "print(f\"Estimated cost to run this example: {t.qpu_tasks_cost() + t.simulator_tasks_cost():.3f} USD\")" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.10" - }, - "vscode": { - "interpreter": { - "hash": "590fab68195cf107911461461f81d5c472d3d6127f579badfcfad30f03e5cab2" - } - } - }, - "nbformat": 4, - "nbformat_minor": 4 + "nbformat": 4, + "nbformat_minor": 4 } diff --git a/examples/hybrid_jobs/0_Creating_your_first_Hybrid_Job/0_Creating_your_first_Hybrid_Job.ipynb b/examples/hybrid_jobs/0_Creating_your_first_Hybrid_Job/0_Creating_your_first_Hybrid_Job.ipynb index 29470f399..4aa2d985e 100644 --- a/examples/hybrid_jobs/0_Creating_your_first_Hybrid_Job/0_Creating_your_first_Hybrid_Job.ipynb +++ b/examples/hybrid_jobs/0_Creating_your_first_Hybrid_Job/0_Creating_your_first_Hybrid_Job.ipynb @@ -1,644 +1,644 @@ { - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Creating your first Hybrid Job\n", - "\n", - "\n", - "This tutorial provides an introduction to running hybrid quantum-classical algorithms using\n", - "PennyLane on Amazon Braket . With Amazon Braket, you gain access to both real quantum devices and\n", - "scalable classical compute, enabling you to push the boundaries of your algorithm.\n", - "\n", - "In this tutorial, we'll walk through how to create your first hybrid quantum-classical algorithms on AWS.\n", - "With a single line of code, we'll see how to scale from PennyLane simulators on your laptop to running full-scale experiments on AWS that leverage both powerful classical compute and quantum devices.\n", - "You'll gain understanding of the hybrid jobs queue, including QPU priority queuing, and learn how to scale classical resources for resource-intensive tasks. \n", - "We hope these tools will empower you to start experimenting today with hybrid quantum algorithms!\n", - "\n", - "\n", - "\n", - "## Amazon Braket Hybrid Jobs\n", - "\n", - "Amazon Braket Hybrid Jobs offers a way for you to run hybrid quantum-classical algorithms that\n", - "require both classical resources and quantum processing units (QPUs). Hybrid Jobs is designed to\n", - "spin up the requested classical compute, run your algorithm, and release the instances after\n", - "completion so you only pay for what you use. This workflow is ideal for long-running iterative\n", - "algorithms involving both classical and quantum resources. Simply package up your code into a single\n", - "function, create a hybrid job with a single line of code, and Braket will schedule it to run as soon\n", - "as possible without interruption.\n", - "\n", - "Hybrid jobs have a separate queue from quantum tasks, so once your algorithm starts running, it will\n", - "not be interrupted by variations in the quantum task queue. This helps your long-running algorithms\n", - "run efficiently and predictably. Any quantum tasks created from a running hybrid job will be run\n", - "before any other quantum tasks in the queue. This is particularly beneficial for iterative hybrid\n", - "algorithms where subsequent tasks depend on the outcomes of prior quantum tasks. Examples of such\n", - "algorithms include the Quantum Approximate Optimization Algorithm (QAOA), Variational Quantum\n", - "Eigensolver (VQE), or Quantum Machine Learning (QML). You can also monitor your algorithm's progress in near-real\n", - "time, enabling you to keep track of costs, budget, or custom metrics such as training loss or\n", - "expectation values.\n", - "\n", - "Importantly, on specific QPUs, running your algorithm in Hybrid Jobs benefits from [parametric compilation](https://docs.aws.amazon.com/braket/latest/developerguide/braket-jobs-parametric-compilation.html). \n", - "This reduces the overhead associated with the computationally expensive compilation step by compiling a circuit only once and not for every iteration in your hybrid algorithm. \n", - "This reduces the total runtime for many variational algorithms by up to 10x.\n", - "For long-running hybrid jobs, Braket automatically uses the updated calibration data from the hardware provider when compiling your circuit to ensure the highest quality results.\n", - "\n", - "## Getting started with PennyLane\n", - "\n", - "\n", - "Let’s setup an algorithm that makes use of both classical and quantum resources. We adapt the [PennyLane qubit rotation tutorial](https://pennylane.ai/qml/demos/tutorial_qubit_rotation).\n", - "\n", - "First, we define a quantum simulator to run the algorithm on. In this example, we will use the Braket local simulator before moving onto a QPU." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import pennylane as qml\n", - "from pennylane import numpy as np\n", - "\n", - "device = qml.device(\"braket.local.qubit\", wires=1)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we define a circuit with two rotation gates and measure the expectation value in the $Z$-basis" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "@qml.qnode(device)\n", - "def circuit(params):\n", - " qml.RX(params[0], wires=0)\n", - " qml.RY(params[1], wires=0)\n", - " return qml.expval(qml.PauliZ(0))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Finally, we create a classical-quantum loop that uses gradient descent to minimize the expectation value.\n", - "\n", - "We add the ``log_metric`` function from Braket to record the training progress (see [metrics\n", - "documentation](https://amazon-braket-sdk-python.readthedocs.io/en/stable/_apidoc/braket.jobs.metrics.html)).\n", - "When running on AWS, ``log_metric`` records the metrics in [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/), which is accessible\n", - "through the Braket console page or the Braket SDK. When running locally on your laptop,\n", - "``log_metric`` prints the iteration numbers.\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "from braket.jobs.metrics import log_metric\n", - "\n", - "\n", - "def qubit_rotation(num_steps=10, stepsize=0.5):\n", - " opt = qml.GradientDescentOptimizer(stepsize=stepsize)\n", - " params = np.array([0.5, 0.75])\n", - "\n", - " for i in range(num_steps):\n", - " # update the circuit parameters\n", - " params = opt.step(circuit, params)\n", - " expval = circuit(params)\n", - "\n", - " log_metric(metric_name=\"expval\", iteration_number=i, value=expval)\n", - "\n", - " return params" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "To run the entire algorithm, we call the `qubit_rotation`` function to see that it runs correctly." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Metrics - timestamp=1700084056.91118; expval=0.38894534132396147; iteration_number=0;\n", - "Metrics - timestamp=1700084056.9852457; expval=0.12290715413453956; iteration_number=1;\n", - "Metrics - timestamp=1700084057.0590365; expval=-0.09181374013482171; iteration_number=2;\n", - "Metrics - timestamp=1700084057.128326; expval=-0.2936094099948542; iteration_number=3;\n", - "Metrics - timestamp=1700084057.1863492; expval=-0.5344079938678078; iteration_number=4;\n" - ] + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Creating your first Hybrid Job\n", + "\n", + "\n", + "This tutorial provides an introduction to running hybrid quantum-classical algorithms using\n", + "PennyLane on Amazon Braket . With Amazon Braket, you gain access to both real quantum devices and\n", + "scalable classical compute, enabling you to push the boundaries of your algorithm.\n", + "\n", + "In this tutorial, we'll walk through how to create your first hybrid quantum-classical algorithms on AWS.\n", + "With a single line of code, we'll see how to scale from PennyLane simulators on your laptop to running full-scale experiments on AWS that leverage both powerful classical compute and quantum devices.\n", + "You'll gain understanding of the hybrid jobs queue, including QPU priority queuing, and learn how to scale classical resources for resource-intensive tasks. \n", + "We hope these tools will empower you to start experimenting today with hybrid quantum algorithms!\n", + "\n", + "\n", + "\n", + "## Amazon Braket Hybrid Jobs\n", + "\n", + "Amazon Braket Hybrid Jobs offers a way for you to run hybrid quantum-classical algorithms that\n", + "require both classical resources and quantum processing units (QPUs). Hybrid Jobs is designed to\n", + "spin up the requested classical compute, run your algorithm, and release the instances after\n", + "completion so you only pay for what you use. This workflow is ideal for long-running iterative\n", + "algorithms involving both classical and quantum resources. Simply package up your code into a single\n", + "function, create a hybrid job with a single line of code, and Braket will schedule it to run as soon\n", + "as possible without interruption.\n", + "\n", + "Hybrid jobs have a separate queue from quantum tasks, so once your algorithm starts running, it will\n", + "not be interrupted by variations in the quantum task queue. This helps your long-running algorithms\n", + "run efficiently and predictably. Any quantum tasks created from a running hybrid job will be run\n", + "before any other quantum tasks in the queue. This is particularly beneficial for iterative hybrid\n", + "algorithms where subsequent tasks depend on the outcomes of prior quantum tasks. Examples of such\n", + "algorithms include the Quantum Approximate Optimization Algorithm (QAOA), Variational Quantum\n", + "Eigensolver (VQE), or Quantum Machine Learning (QML). You can also monitor your algorithm's progress in near-real\n", + "time, enabling you to keep track of costs, budget, or custom metrics such as training loss or\n", + "expectation values.\n", + "\n", + "Importantly, on specific QPUs, running your algorithm in Hybrid Jobs benefits from [parametric compilation](https://docs.aws.amazon.com/braket/latest/developerguide/braket-jobs-parametric-compilation.html). \n", + "This reduces the overhead associated with the computationally expensive compilation step by compiling a circuit only once and not for every iteration in your hybrid algorithm. \n", + "This reduces the total runtime for many variational algorithms by up to 10x.\n", + "For long-running hybrid jobs, Braket automatically uses the updated calibration data from the hardware provider when compiling your circuit to ensure the highest quality results.\n", + "\n", + "## Getting started with PennyLane\n", + "\n", + "\n", + "Let’s setup an algorithm that makes use of both classical and quantum resources. We adapt the [PennyLane qubit rotation tutorial](https://pennylane.ai/qml/demos/tutorial_qubit_rotation).\n", + "\n", + "First, we define a quantum simulator to run the algorithm on. In this example, we will use the Braket local simulator before moving onto a QPU." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import pennylane as qml\n", + "from pennylane import numpy as np\n", + "\n", + "device = qml.device(\"braket.local.qubit\", wires=1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we define a circuit with two rotation gates and measure the expectation value in the $Z$-basis" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "@qml.qnode(device)\n", + "def circuit(params):\n", + " qml.RX(params[0], wires=0)\n", + " qml.RY(params[1], wires=0)\n", + " return qml.expval(qml.PauliZ(0))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finally, we create a classical-quantum loop that uses gradient descent to minimize the expectation value.\n", + "\n", + "We add the ``log_metric`` function from Braket to record the training progress (see [metrics\n", + "documentation](https://amazon-braket-sdk-python.readthedocs.io/en/stable/_apidoc/braket.jobs.metrics.html)).\n", + "When running on AWS, ``log_metric`` records the metrics in [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/), which is accessible\n", + "through the Braket console page or the Braket SDK. When running locally on your laptop,\n", + "``log_metric`` prints the iteration numbers.\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "from braket.jobs.metrics import log_metric\n", + "\n", + "\n", + "def qubit_rotation(num_steps=10, stepsize=0.5):\n", + " opt = qml.GradientDescentOptimizer(stepsize=stepsize)\n", + " params = np.array([0.5, 0.75])\n", + "\n", + " for i in range(num_steps):\n", + " # update the circuit parameters\n", + " params = opt.step(circuit, params)\n", + " expval = circuit(params)\n", + "\n", + " log_metric(metric_name=\"expval\", iteration_number=i, value=expval)\n", + "\n", + " return params" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To run the entire algorithm, we call the `qubit_rotation`` function to see that it runs correctly." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Metrics - timestamp=1700084056.91118; expval=0.38894534132396147; iteration_number=0;\n", + "Metrics - timestamp=1700084056.9852457; expval=0.12290715413453956; iteration_number=1;\n", + "Metrics - timestamp=1700084057.0590365; expval=-0.09181374013482171; iteration_number=2;\n", + "Metrics - timestamp=1700084057.128326; expval=-0.2936094099948542; iteration_number=3;\n", + "Metrics - timestamp=1700084057.1863492; expval=-0.5344079938678078; iteration_number=4;\n" + ] + }, + { + "data": { + "text/plain": [ + "tensor([0.67679672, 2.32609342], requires_grad=True)" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "qubit_rotation(5, stepsize=0.5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Great! We see the expectation value change with each iteration number and the final parameters were returned as a list. Now, instead of running on our laptop, let’s submit this same function to be run on AWS." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Running as a hybrid job\n", + "\n", + "You can execute long-running algorithms asynchronously with Amazon Braket Hybrid Jobs, \n", + "which fully manages the classical infrastructure so you can focus on the algorithm. For example, you\n", + "can train a larger circuit, or increase the number of iterations. Note that each hybrid job has\n", + "at least a one minute startup time since it creates a containerized environment on Amazon EC2. So\n", + "for very short workloads, such as a single circuit or a batch of circuits, it may suffice for you to\n", + "use quantum tasks.\n", + "\n", + "We now show how you can go from running your local Python function to running it as a hybrid job.\n", + "\n", + "
\n", + " Note: Only Python 3.10 is supported by default. For other versions, you may use hybrid job scripts, or specify a custom container image from Amazon Elastic Container Registry (ECR) (see \n", + "containers documentation).\n", + "
\n", + "\n", + "\n", + "The first step to creating a hybrid job is to annotate which function you want to run with the\n", + "`@hybrid_job` decorator. Then you create the job by invoking the function as you would for normal\n", + "Python functions. However, the decorated function returns the hybrid job handle rather than the\n", + "result of the function. To retrieve the results after it has been completed, use `job.result()`.\n", + "\n", + "For algorithms that do not need priority queueing or scheduling for on-demand QPUs, you may specify the device as `local:/` or simply `None`. For example, when using a simulator that runs on the same classical host alongside the rest of your algorithm, such as the PennyLane Lightning CPU/GPU simulators, you may set `device=\"local:pennylane/lightning.qubit\"`. \n", + "\n", + "\n", + "The required device argument in the `@hybrid_job` decorator specifies the QPU that the hybrid job\n", + "will have priority access to.\n", + "The device string you give is accessible in the hybrid job instance as the environment variable ``\"AMZN_BRAKET_DEVICE_ARN\"``.\n", + "In the following code, we annotate the `qubit_rotation` function from above.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "from braket.jobs import hybrid_job, save_job_result\n", + "\n", + "\n", + "@hybrid_job(device=\"local:braket/default\")\n", + "def qubit_rotation_hybrid_job(num_steps=1, stepsize=0.5):\n", + " device = qml.device(\"braket.local.qubit\", wires=1)\n", + "\n", + " @qml.qnode(device)\n", + " def circuit(params):\n", + " qml.RX(params[0], wires=0)\n", + " qml.RY(params[1], wires=0)\n", + " return qml.expval(qml.PauliZ(0))\n", + "\n", + " opt = qml.GradientDescentOptimizer(stepsize=stepsize)\n", + " params = np.array([0.5, 0.75])\n", + "\n", + " for i in range(num_steps):\n", + " # update the circuit parameters\n", + " params = opt.step(circuit, params)\n", + " expval = circuit(params)\n", + "\n", + " log_metric(metric_name=\"expval\", iteration_number=i, value=expval)\n", + "\n", + " return params" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we create a hybrid job by calling the function as usual. This returns an `AwsQuantumJob` object that contains the device ARN, region, and job name." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "AwsQuantumJob('arn':'arn:aws:braket:us-west-2:318845237731:job/qubit-rotation-hybrid-job-1700084057462')\n" + ] + } + ], + "source": [ + "job = qubit_rotation_hybrid_job(num_steps=10, stepsize=0.5)\n", + "print(job)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The hybrid job automatically captures the function arguments as [hyperparameters](https://docs.aws.amazon.com/braket/latest/developerguide/braket-jobs-hyperparameters.html).\n", + "In this case, we set `num_steps = 10` and `stepsize = 0.5` as the hyperparameters." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can check the status with:" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'QUEUED'" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "job.state()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Once the hybrid job starts, it will change the status to `RUNNING`. We can also check the hybrid job status in the Braket console.\n", + "\n", + "We can monitor the metrics in near-real time in the [Braket console page](https://console.aws.amazon.com/braket/) as shown below. \n", + "\n", + "![Training to minimize an expectation value.](console_figures/expval.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "After the hybrid job completes, we can get the results with `job.result()`. For this example, it should take approximately 2 minutes." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'result': tensor([0.03642036, 3.10081929], requires_grad=True)}" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "job.result()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Any objects in the return statement are automatically captured by Braket. Note that the objects returned by the function must be a tuple with each element being serializable as text. \n", + "\n", + "Additionally, we can plot the metrics recording during the algorithm. Below we show the expectation value decreases with each iteration as expected." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'timestamp': [1700084189.268808, 1700084189.3246114, 1700084189.3840628, 1700084189.1557567, 1700084189.2123241, 1700084188.8748374, 1700084188.9313, 1700084188.9881024, 1700084189.0439024, 1700084189.099711], 'expval': [-0.9771543186187628, -0.9940804663947356, -0.9985062848699056, -0.7715298984378987, -0.9193547392516985, 0.38894534132396147, 0.12290715413453956, -0.09181374013482171, -0.2936094099948542, -0.5344079938678078], 'iteration_number': [7.0, 8.0, 9.0, 5.0, 6.0, 0.0, 1.0, 2.0, 3.0, 4.0]}\n" + ] + } + ], + "source": [ + "# May need to wait a bit before metrics show up\n", + "# If metrics aren't there, try again after 5 seconds\n", + "import time\n", + "\n", + "time.sleep(10)\n", + "print(job.metrics())" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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5ntMnz592LlzJ7Nnz2bz5s10796de+65hw0bNpRQahHxStHdof0sCKruuj2oBrT9Epo8DzYf+P0z+KEZHF1hTU4R8YwFFbdv307Dhg1Zs2YNsbGxAMybN4+uXbty4MABoqKicj2uQoUKvPfee9x///3ObZUrV+aVV15hwIABBXpvLagoIkXmyP5rFtlhc0xQeHvzjBHAsZ/N65Kl7zGvZN/oWWg8Cuy+1mYWKSPK1IKKiYmJhIaGOksQQHx8PHa7nVWrVuV5XJs2bZgxYwbHjx/H4XDwxRdfcObMGTp16pTnMWfPniUtLc3lJiJSJHYfiOwEMb3Mn+dLEECV66DrRoi531x7aMvz8FMHOLXborAi3skjilBycjIREREu23x9fQkLCyM5OTnP47788kvOnTtH5cqV8ff35+GHH+abb76hXr16eR6TkJBASEiI8xYdHe22zyEi4qJcMLT5D7T5DMqFwLFEmNsc9nxqdTIRr2FpERoxYgQ2my3f244dO4r8+qNGjeLEiRP89NNPrF27luHDh3PPPfeweXNeq77CyJEjSU1Ndd72799f5PcXESmQmF7QdROEt4Osk5B4vwZSi5QQS8cIHT16lD/++CPfferUqcOnn37K448/zp9//uncnpWVRUBAADNnzuTOO+/McVxSUhL16tVjy5YtNGrUyLk9Pj6eevXqMXny5AJl1BghESkxjizYmgBbxoKRDeVjzCvah7e1OpmIxyno329LR+WFh4cTHh5+yf1at27NiRMnWLduHS1atABg4cKFOBwOWrVqlesxGRkZANjtrie9fHx8cDgcl5lcRKQY2H2hySioGg8re5sDqX/qAI1GQeNnNZBapBh4xBihBg0acNNNN/HQQw+xevVqVqxYwaBBg7j33nudM8YOHjxI/fr1Wb16NQD169enXr16PPzww6xevZqkpCTeeOMN5s+fT7du3Sz8NCIilxDe+qKB1GP/Gki9x+pkImWORxQhgOnTp1O/fn3i4uLo2rUr7dq144MPPnA+f+7cOXbu3Ok8E1SuXDnmzp1LeHg4t912G02bNuU///kP06ZNo2vXrlZ9DBGRgnEZSB3810DqZhpILeJmHrGOkJU0RkhELHdqLyT+48LCi7Xug5bvgl+IpbFESrMytY6QiIhXqxADcYsvWpG6uVakFnEDFSEREU9wfiB1/DIoXxvS95rj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BSAlJYVq1S78QlNSUmjevHmex/n7++Pvrysbi4hIKWL3MWdULeuBObYpl7FOLSaUvjNcFytooQtvX2KRLC1C4eHhhIeHF8tr165dm6pVq7JgwQJn8UlLS2PVqlU88sgjxfKeIiIixcbKsU7uUgoLnceMEdq3bx/Hjx9n3759ZGdns3HjRgDq1atHhQoVAKhfvz4JCQnceeed2Gw2hg0bxgsvvMAVV1zhnD4fFRVFt27drPsgIiIiReUpY53yU8oKnccUoeeee45p06Y5H1999dUALFq0iE6dOgGwc+dOUlNTnfs89dRTpKenM3DgQE6cOEG7du2YN2+e1hASERHP5cljnc4rRYXO49YRKmlaR0hERMTzFPTvdy5reIuIiIh4BxUhERER8VoqQiIiIuK1VIRERETEa6kIiYiIiNdSERIRERGvpSIkIiIiXktFSERERLyWipCIiIh4LY+5xIZVzi+8nZaWZnESERERKajzf7cvdQENFaFLOHnyJADR0dEWJxEREZHCOnnyJCEhIXk+r2uNXYLD4eDQoUNUrFgRm83mttdNS0sjOjqa/fv36xpmpYT+TUoX/XuULvr3KF3073FphmFw8uRJoqKisNvzHgmkM0KXYLfbqVGjRrG9fnBwsP6PuJTRv0npon+P0kX/HqWL/j3yl9+ZoPM0WFpERES8loqQiIiIeC0VIYv4+/szevRo/P39rY4if9G/Semif4/SRf8epYv+PdxHg6VFRETEa+mMkIiIiHgtFSERERHxWipCIiIi4rVUhERERMRrqQhZ5J133iEmJoaAgABatWrF6tWrrY7klRISEmjZsiUVK1YkIiKCbt26sXPnTqtjyV9efvllbDYbw4YNszqKVzt48CD/+Mc/qFy5MoGBgTRp0oS1a9daHcsrZWdnM2rUKGrXrk1gYCB169Zl3Lhxl7yeluRNRcgCM2bMYPjw4YwePZr169fTrFkzunTpwpEjR6yO5nWWLFnCo48+ys8//8z8+fM5d+4cN954I+np6VZH83pr1qzh/fffp2nTplZH8Wp//vknbdu2pVy5cvzwww9s27aNN954g0qVKlkdzSu98sorvPfee0yaNInt27fzyiuv8Oqrr/L2229bHc1jafq8BVq1akXLli2ZNGkSYF7PLDo6msGDBzNixAiL03m3o0ePEhERwZIlS+jQoYPVcbzWqVOnuOaaa3j33Xd54YUXaN68ORMmTLA6llcaMWIEK1asYNmyZVZHEeDWW28lMjKSjz76yLntrrvuIjAwkE8//dTCZJ5LZ4RKWGZmJuvWrSM+Pt65zW63Ex8fT2JiooXJBCA1NRWAsLAwi5N4t0cffZRbbrnF5f9PxBqzZ88mNjaWu+++m4iICK6++mqmTJlidSyv1aZNGxYsWMCuXbsA2LRpE8uXL+fmm2+2OJnn0kVXS9ixY8fIzs4mMjLSZXtkZCQ7duywKJWAeWZu2LBhtG3blsaNG1sdx2t98cUXrF+/njVr1lgdRYDdu3fz3nvvMXz4cJ5++mnWrFnDkCFD8PPzo2/fvlbH8zojRowgLS2N+vXr4+PjQ3Z2Ni+++CK9e/e2OprHUhES+cujjz7Kli1bWL58udVRvNb+/fsZOnQo8+fPJyAgwOo4gvkfCLGxsbz00ksAXH311WzZsoXJkyerCFngyy+/ZPr06Xz22Wc0atSIjRs3MmzYMKKiovTvUUQqQiWsSpUq+Pj4kJKS4rI9JSWFqlWrWpRKBg0axJw5c1i6dCk1atSwOo7XWrduHUeOHOGaa65xbsvOzmbp0qVMmjSJs2fP4uPjY2FC71OtWjUaNmzosq1BgwZ89dVXFiXybk8++SQjRozg3nvvBaBJkyb8/vvvJCQkqAgVkcYIlTA/Pz9atGjBggULnNscDgcLFiygdevWFibzToZhMGjQIL755hsWLlxI7dq1rY7k1eLi4ti8eTMbN2503mJjY+nduzcbN25UCbJA27ZtcywpsWvXLmrVqmVRIu+WkZGB3e76p9vHxweHw2FRIs+nM0IWGD58OH379iU2NpZrr72WCRMmkJ6eTr9+/ayO5nUeffRRPvvsM7777jsqVqxIcnIyACEhIQQGBlqczvtUrFgxx/is8uXLU7lyZY3bsshjjz1GmzZteOmll7jnnntYvXo1H3zwAR988IHV0bzSbbfdxosvvkjNmjVp1KgRGzZs4M033+TBBx+0OprH0vR5i0yaNInXXnuN5ORkmjdvzltvvUWrVq2sjuV1bDZbrts//vhjHnjggZINI7nq1KmTps9bbM6cOYwcOZJff/2V2rVrM3z4cB566CGrY3mlkydPMmrUKL755huOHDlCVFQUvXr14rnnnsPPz8/qeB5JRUhERES8lsYIiYiIiNdSERIRERGvpSIkIiIiXktFSERERLyWipCIiIh4LRUhERER8VoqQiIiIuK1VIREJFedOnVi2LBhVsfIwWaz8e2331odo9iMGTOG5s2bWx1DxGuoCIlIrr7++mvGjRvnfBwTE1OiqzvnVQgOHz7MzTffXGI5RKRs07XGRCRXYWFhxfK6mZmZl3UpgKpVq7oxjfc4d+4c5cqVszqGSKmjM0Iikqu/fzXWqVMnfv/9dx577DFsNpvLNdqWL19O+/btCQwMJDo6miFDhpCenu58PiYmhnHjxtGnTx+Cg4MZOHAgAP/617+48sorCQoKok6dOowaNYpz584BMHXqVMaOHcumTZuc7zd16lQg51djmzdvpnPnzgQGBlK5cmUGDhzIqVOnnM8/8MADdOvWjddff51q1apRuXJlHn30Ued75eb82ahPPvmEmJgYQkJCuPfeezl58qTL57r4DFnz5s0ZM2aM87HNZuP999/n1ltvJSgoiAYNGpCYmMhvv/1Gp06dKF++PG3atCEpKSlHhvfff5/o6GiCgoK45557SE1NdXn+ww8/pEGDBgQEBFC/fn3effdd53N79+7FZrMxY8YMOnbsSEBAANOnT8/z84p4MxUhEbmkr7/+mho1avD8889z+PBhDh8+DEBSUhI33XQTd911F7/88gszZsxg+fLlDBo0yOX4119/nWbNmrFhwwZGjRoFmFeanzp1Ktu2bWPixIlMmTKF8ePHA9CzZ08ef/xxGjVq5Hy/nj175siVnp5Oly5dqFSpEmvWrGHmzJn89NNPOd5/0aJFJCUlsWjRIqZNm8bUqVOdxSovSUlJfPvtt8yZM4c5c+awZMkSXn755UL/7s6XwI0bN1K/fn3uu+8+Hn74YUaOHMnatWsxDCNH3t9++40vv/yS//73v8ybN48NGzbwz3/+0/n89OnTee6553jxxRfZvn07L730EqNGjWLatGkurzNixAiGDh3K9u3b6dKlS6Gzi3gFQ0QkFx07djSGDh3qfFyrVi1j/PjxLvv079/fGDhwoMu2ZcuWGXa73Th9+rTzuG7dul3y/V577TWjRYsWzsejR482mjVrlmM/wPjmm28MwzCMDz74wKhUqZJx6tQp5/Pff/+9YbfbjeTkZMMwDKNv375GrVq1jKysLOc+d999t9GzZ888s4wePdoICgoy0tLSnNuefPJJo1WrVs7Huf0+mjVrZowePdol67PPPut8nJiYaADGRx995Nz2+eefGwEBAS7v7ePjYxw4cMC57YcffjDsdrtx+PBhwzAMo27dusZnn33m8t7jxo0zWrdubRiGYezZs8cAjAkTJuT5GUXEpDFCIlJkmzZt4pdffnH52sUwDBwOB3v27KFBgwYAxMbG5jh2xowZvPXWWyQlJXHq1CmysrIIDg4u1Ptv376dZs2aUb58eee2tm3b4nA42LlzJ5GRkQA0atQIHx8f5z7VqlVj8+bN+b52TEwMFStWdDnmyJEjhcoH0LRpU+f983maNGnisu3MmTOkpaU5P3/NmjWpXr26c5/WrVs7P1PFihVJSkqif//+PPTQQ859srKyCAkJcXnv3H7vIuJKRUhEiuzUqVM8/PDDDBkyJMdzNWvWdN7/e1EBSExMpHfv3owdO5YuXboQEhLCF198wRtvvFEsOS8eJGyz2XA4HJd1jN1uxzAMl31yG3f099c5P7Yqt22XynPe+fFPU6ZMoVWrVi7P/b3sQc7fu4jkpCIkIgXi5+dHdna2y7ZrrrmGbdu2Ua9evUK91sqVK6lVqxbPPPOMc9vvv/9+yfe7WIMGDZg6dSrp6enOP/orVqzAbrdz1VVXFSpTYYWHhzvHSgGkpaWxZ88et7z2vn37OHToEFFRUQD8/PPPzs8UGRlJVFQUu3fvpnfv3m55PxFvpsHSIlIgMTExLF26lIMHD3Ls2DHAnPm1cuVKBg0axMaNG/n111/57rvvcgz+vdgVV1zBvn37+OKLL0hKSuKtt97im2++yfF+e/bsYePGjRw7doyzZ8/meJ3evXsTEBBA37592bJlC4sWLWLw4MHcf//9zq+hikvnzp355JNPWLZsGZs3b6Zv3745zsgU1fnPtGnTJpYtW8aQIUO45557nEsHjB07loSEBN566y127drF5s2b+fjjj3nzzTfd8v4i3kRFSEQK5Pnnn2fv3r3UrVuX8PBwwBz/smTJEnbt2kX79u25+uqree6555xnMvJy++2389hjjzFo0CCaN2/OypUrnbPJzrvrrru46aabuP766wkPD+fzzz/P8TpBQUH873//4/jx47Rs2ZIePXoQFxfHpEmT3PfB8zBy5Eg6duzIrbfeyi233EK3bt2oW7euW167Xr16dO/ena5du3LjjTfStGlTl+nxAwYM4MMPP+Tjjz+mSZMmdOzYkalTp1K7dm23vL+IN7EZF3/JLSIiIuIldEZIREREvJaKkIiIiHgtFSERERHxWipCIiIi4rVUhERERMRrqQiJiIiI11IREhEREa+lIiQiIiJeS0VIREREvJaKkIiIiHgtFSERERHxWipCIiIi4rX+H0HDQ1UntDG8AAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "\n", + "df = pd.DataFrame(job.metrics())\n", + "df.sort_values(by=[\"iteration_number\"], inplace=True)\n", + "\n", + "plt.plot(df[\"iteration_number\"], df[\"expval\"], \"-o\", color=\"orange\")\n", + "plt.xlabel(\"iteration number\")\n", + "plt.ylabel(\"expectation value\")\n", + "plt.title(\"Simulator results\")\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Running on a QPU with priority\n", + "\n", + "The next step is to see how well the qubit rotation works on a real QPU. We\n", + "create a hybrid job with the Rigetti device as the priority QPU. We also increase the number of\n", + "steps to 10.\n", + "\n", + "Using hybrid jobs for iterative algorithms is very beneficial because you retain priority access to the\n", + "target QPU. So once your quantum tasks are created in the hybrid job, they run ahead of other tasks\n", + "waiting in the *quantum task queue*. This means your\n", + "algorithm will not be interrupted by other quantum tasks, so it will run more efficiently and\n", + "predictably. Quantum tasks submitted as part of a hybrid job have priority, and are aggregated in the *priority task queue*.\n", + "\n", + "Hybrid jobs have their own *hybrid jobs queue* so that only a single\n", + "hybrid job can run on a QPU at a time. Each QPU has its own hybrid jobs queue. Note that this is a different queue from the quantum tasks. For a single quantum circuit, or a batch of circuit, it’s\n", + "recommended to create quantum tasks instead of hybrid jobs. For more information on quantum tasks and hybrid jobs queue see the [Amazon Braket documentation](https://docs.aws.amazon.com/braket/latest/developerguide/braket-task-when.html).\n", + "\n", + "To get QPU priority, you must ensure that the device ARN used within the function matches that\n", + "specified in the decorator. For convenience, you can use the helper function ``get_device_arn()`` to\n", + "automatically capture the device ARN declared in ``@hybrid_job``.\n", + "\n", + "
\n", + " Note: Only hybrid jobs running on AWS receive priority. Hybrid jobs running locally, or with a mismatched device ARN do not get priority task queueing. \n", + "
\n", + "\n", + "In the previous example, we declared the local simulator outside the decorated function scope.\n", + "However, for AWS devices such as QPUs or on-demand simulators, the device must be declared within the function scope. \n", + "\n", + "
\n", + " Note: AWS devices must be declared within the body of the decorated function.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "from braket.devices import Devices\n", + "\n", + "\n", + "device_arn = Devices.Rigetti.Ankaa2\n", + "\n", + "\n", + "@hybrid_job(device=device_arn) # set priority QPU\n", + "def qpu_qubit_rotation_hybrid_job(num_steps=10, stepsize=0.5):\n", + " # AWS devices must be declared within the decorated function.\n", + " device = qml.device(\n", + " \"braket.aws.qubit\",\n", + " device_arn=device_arn.value, # Make sure the device ARN matches the hybrid job device ARN\n", + " wires=2,\n", + " shots=1_000,\n", + " )\n", + "\n", + " @qml.qnode(device)\n", + " def circuit(params):\n", + " qml.RX(params[0], wires=0)\n", + " qml.RY(params[1], wires=0)\n", + " return qml.expval(qml.PauliZ(0))\n", + "\n", + " opt = qml.GradientDescentOptimizer(stepsize=stepsize)\n", + " params = np.array([0.5, 0.75])\n", + "\n", + " for i in range(num_steps):\n", + " # update the circuit parameters\n", + " params = opt.step(circuit, params)\n", + " expval = circuit(params)\n", + "\n", + " log_metric(metric_name=\"expval\", iteration_number=i, value=expval)\n", + "\n", + " return params" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To get a sense of how long we will wait before the hybrid job runs, we can check the hybrid job\n", + "queue depth with `AwsDevice(device_arn).queue_depth().jobs`. We can also check if the device is\n", + "currently available with `AwsDevice(device_arn).is_available()`.\n", + "\n", + "You can check the queue depth on the devices page of the [Amazon Braket Console](https://console.aws.amazon.com/braket/home). Below, we show the devices page for Rigetti Ankaa-2.\n", + "\n", + "![Rigetti Ankaa-2 showing the queue depths.](console_figures/queue_viz.png)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "When there are no other hybrid jobs in the queue ahead of you, and the device is available, the hybrid job will start running.\n", + "\n", + "
\n", + " Note: Running the following cell will only run once the QPU is available. This may take a long time and will result in usage fees charged to your AWS account. Only run the cell if you are comfortable with the potential wait-time and costs. We recommend monitoring the Billing & Cost Management Dashboard on the AWS console.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "AwsQuantumJob('arn':'arn:aws:braket:us-west-2:318845237731:job/qpu-qubit-rotation-hybrid-job-1700084458165')\n" + ] + } + ], + "source": [ + "qpu_job = qpu_qubit_rotation_hybrid_job(num_steps=10, stepsize=0.5)\n", + "print(qpu_job)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we wait for the algorithm to complete and download the result. " + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'result': tensor([0.0205, 3.1065], requires_grad=True)}" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "qpu_job.result()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we plot the expectation value per iteration number below. We see that on a real QPU, the data is not as smooth as the simulator, but the minimum still is detected correctly!" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'timestamp': [1700084730.969484, 1700084698.0504165, 1700084679.9848497, 1700084664.1287766, 1700084648.2972944, 1700084632.2871127, 1700084616.684862], 'expval': [-0.972, -0.784, -0.548, -0.36, -0.07, 0.11, 0.388], 'iteration_number': [7.0, 5.0, 4.0, 3.0, 2.0, 1.0, 0.0]}\n" + ] + } + ], + "source": [ + "# May need to wait a bit before metrics show up\n", + "# If metrics aren't there, try again after 5 seconds\n", + "import time\n", + "\n", + "time.sleep(10)\n", + "print(qpu_job.metrics())" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df = pd.DataFrame(qpu_job.metrics())\n", + "df.sort_values(by=[\"iteration_number\"], inplace=True)\n", + "\n", + "plt.plot(df[\"iteration_number\"], df[\"expval\"], \"-o\", color=\"teal\")\n", + "plt.xlabel(\"iteration number\")\n", + "plt.ylabel(\"expectation value\")\n", + "plt.title(\"QPU results\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. \n", + " Estimated charges shown may differ from your actual charges. \n", + " Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2)\n", + " Estimated cost to run this example is $39 USD.\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Conclusion\n", + "\n", + "In this tutorial, we showed how to migrate from local Python functions to running algorithms on simulators and QPUs on Amazon Braket.\n", + "We adapted the simple example of rotating a qubit using gradient descent, running this on both a\n", + "local simulator and a real QPU. \n", + "Using Amazon Braket Hybrid Jobs allowed us to run algorithms asynchronously, scale classical compute using AWS, and obtain priority access to the selected QPU for the duration of our algorithm." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "conda_braket", + "language": "python", + "name": "conda_braket" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.13" + } }, - { - "data": { - "text/plain": [ - "tensor([0.67679672, 2.32609342], requires_grad=True)" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "qubit_rotation(5, stepsize=0.5)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Great! We see the expectation value change with each iteration number and the final parameters were returned as a list. Now, instead of running on our laptop, let’s submit this same function to be run on AWS." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Running as a hybrid job\n", - "\n", - "You can execute long-running algorithms asynchronously with Amazon Braket Hybrid Jobs, \n", - "which fully manages the classical infrastructure so you can focus on the algorithm. For example, you\n", - "can train a larger circuit, or increase the number of iterations. Note that each hybrid job has\n", - "at least a one minute startup time since it creates a containerized environment on Amazon EC2. So\n", - "for very short workloads, such as a single circuit or a batch of circuits, it may suffice for you to\n", - "use quantum tasks.\n", - "\n", - "We now show how you can go from running your local Python function to running it as a hybrid job.\n", - "\n", - "
\n", - " Note: Only Python 3.10 is supported by default. For other versions, you may use hybrid job scripts, or specify a custom container image from Amazon Elastic Container Registry (ECR) (see \n", - "containers documentation).\n", - "
\n", - "\n", - "\n", - "The first step to creating a hybrid job is to annotate which function you want to run with the\n", - "`@hybrid_job` decorator. Then you create the job by invoking the function as you would for normal\n", - "Python functions. However, the decorated function returns the hybrid job handle rather than the\n", - "result of the function. To retrieve the results after it has been completed, use `job.result()`.\n", - "\n", - "For algorithms that do not need priority queueing or scheduling for on-demand QPUs, you may specify the device as `local:/` or simply `None`. For example, when using a simulator that runs on the same classical host alongside the rest of your algorithm, such as the PennyLane Lightning CPU/GPU simulators, you may set `device=\"local:pennylane/lightning.qubit\"`. \n", - "\n", - "\n", - "The required device argument in the `@hybrid_job` decorator specifies the QPU that the hybrid job\n", - "will have priority access to.\n", - "The device string you give is accessible in the hybrid job instance as the environment variable ``\"AMZN_BRAKET_DEVICE_ARN\"``.\n", - "In the following code, we annotate the `qubit_rotation` function from above.\n" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "from braket.jobs import hybrid_job, save_job_result\n", - "\n", - "\n", - "@hybrid_job(device=\"local:braket/default\")\n", - "def qubit_rotation_hybrid_job(num_steps=1, stepsize=0.5):\n", - " device = qml.device(\"braket.local.qubit\", wires=1)\n", - "\n", - " @qml.qnode(device)\n", - " def circuit(params):\n", - " qml.RX(params[0], wires=0)\n", - " qml.RY(params[1], wires=0)\n", - " return qml.expval(qml.PauliZ(0))\n", - "\n", - " opt = qml.GradientDescentOptimizer(stepsize=stepsize)\n", - " params = np.array([0.5, 0.75])\n", - "\n", - " for i in range(num_steps):\n", - " # update the circuit parameters\n", - " params = opt.step(circuit, params)\n", - " expval = circuit(params)\n", - "\n", - " log_metric(metric_name=\"expval\", iteration_number=i, value=expval)\n", - "\n", - " return params" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we create a hybrid job by calling the function as usual. This returns an `AwsQuantumJob` object that contains the device ARN, region, and job name." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "AwsQuantumJob('arn':'arn:aws:braket:us-west-2:318845237731:job/qubit-rotation-hybrid-job-1700084057462')\n" - ] - } - ], - "source": [ - "job = qubit_rotation_hybrid_job(num_steps=10, stepsize=0.5)\n", - "print(job)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The hybrid job automatically captures the function arguments as [hyperparameters](https://docs.aws.amazon.com/braket/latest/developerguide/braket-jobs-hyperparameters.html).\n", - "In this case, we set `num_steps = 10` and `stepsize = 0.5` as the hyperparameters." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can check the status with:" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'QUEUED'" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "job.state()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Once the hybrid job starts, it will change the status to `RUNNING`. We can also check the hybrid job status in the Braket console.\n", - "\n", - "We can monitor the metrics in near-real time in the [Braket console page](https://console.aws.amazon.com/braket/) as shown below. \n", - "\n", - "![Training to minimize an expectation value.](console_figures/expval.png)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "After the hybrid job completes, we can get the results with `job.result()`. For this example, it should take approximately 2 minutes." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'result': tensor([0.03642036, 3.10081929], requires_grad=True)}" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "job.result()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Any objects in the return statement are automatically captured by Braket. Note that the objects returned by the function must be a tuple with each element being serializable as text. \n", - "\n", - "Additionally, we can plot the metrics recording during the algorithm. Below we show the expectation value decreases with each iteration as expected." - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'timestamp': [1700084189.268808, 1700084189.3246114, 1700084189.3840628, 1700084189.1557567, 1700084189.2123241, 1700084188.8748374, 1700084188.9313, 1700084188.9881024, 1700084189.0439024, 1700084189.099711], 'expval': [-0.9771543186187628, -0.9940804663947356, -0.9985062848699056, -0.7715298984378987, -0.9193547392516985, 0.38894534132396147, 0.12290715413453956, -0.09181374013482171, -0.2936094099948542, -0.5344079938678078], 'iteration_number': [7.0, 8.0, 9.0, 5.0, 6.0, 0.0, 1.0, 2.0, 3.0, 4.0]}\n" - ] - } - ], - "source": [ - "# May need to wait a bit before metrics show up\n", - "# If metrics aren't there, try again after 5 seconds\n", - "import time\n", - "\n", - "time.sleep(10)\n", - "print(job.metrics())" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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5ntMnz592LlzJ7Nnz2bz5s10796de+65hw0bNpRQahHxStHdof0sCKruuj2oBrT9Epo8DzYf+P0z+KEZHF1hTU4R8YwFFbdv307Dhg1Zs2YNsbGxAMybN4+uXbty4MABoqKicj2uQoUKvPfee9x///3ObZUrV+aVV15hwIABBXpvLagoIkXmyP5rFtlhc0xQeHvzjBHAsZ/N65Kl7zGvZN/oWWg8Cuy+1mYWKSPK1IKKiYmJhIaGOksQQHx8PHa7nVWrVuV5XJs2bZgxYwbHjx/H4XDwxRdfcObMGTp16pTnMWfPniUtLc3lJiJSJHYfiOwEMb3Mn+dLEECV66DrRoi531x7aMvz8FMHOLXborAi3skjilBycjIREREu23x9fQkLCyM5OTnP47788kvOnTtH5cqV8ff35+GHH+abb76hXr16eR6TkJBASEiI8xYdHe22zyEi4qJcMLT5D7T5DMqFwLFEmNsc9nxqdTIRr2FpERoxYgQ2my3f244dO4r8+qNGjeLEiRP89NNPrF27luHDh3PPPfeweXNeq77CyJEjSU1Ndd72799f5PcXESmQmF7QdROEt4Osk5B4vwZSi5QQS8cIHT16lD/++CPfferUqcOnn37K448/zp9//uncnpWVRUBAADNnzuTOO+/McVxSUhL16tVjy5YtNGrUyLk9Pj6eevXqMXny5AJl1BghESkxjizYmgBbxoKRDeVjzCvah7e1OpmIxyno329LR+WFh4cTHh5+yf1at27NiRMnWLduHS1atABg4cKFOBwOWrVqlesxGRkZANjtrie9fHx8cDgcl5lcRKQY2H2hySioGg8re5sDqX/qAI1GQeNnNZBapBh4xBihBg0acNNNN/HQQw+xevVqVqxYwaBBg7j33nudM8YOHjxI/fr1Wb16NQD169enXr16PPzww6xevZqkpCTeeOMN5s+fT7du3Sz8NCIilxDe+qKB1GP/Gki9x+pkImWORxQhgOnTp1O/fn3i4uLo2rUr7dq144MPPnA+f+7cOXbu3Ok8E1SuXDnmzp1LeHg4t912G02bNuU///kP06ZNo2vXrlZ9DBGRgnEZSB3810DqZhpILeJmHrGOkJU0RkhELHdqLyT+48LCi7Xug5bvgl+IpbFESrMytY6QiIhXqxADcYsvWpG6uVakFnEDFSEREU9wfiB1/DIoXxvS95rjhn4ZY842E5EiURESEfEkuQ6k7qiB1CJFpCIkIuJpcgykXml+VbZnutXJRDyOipCIiKeK6QU3bzIXXDyXZg6o1orUIoWiIiQi4smcA6nHXjSQeqW1uUQ8hIqQiIins/tCk+cuGkjdXgOpRQpARUhEpKzQQGqRQlMREhEpSzSQWqRQVIRERMqi3AZSr/yHBlKLXERFSESkrLp4IPXe6RpILXIRFSERkbJMA6lF8qUiJCLiDZwDqf9x0UDqvVYnE7GUipCIiLcoFwxtPoE20/82kLqZBlKLV1MREhHxNjH3aSC1yF9UhEREvJFzIPUYsNk1kFq8loqQiIi3svtCk9F/DaSO+WsgdQfYPFYDqcVrqAiJiHi78DZw88a/BlJnw+YxrgOpHdmQshj2fm7+dGRbFlXE3XytDiAiIqWAX4g5kDrqZljzyIWB1HUehP2zIOPAhX2DakCLiRDd3bq8Im6iM0IiInJBzH3m2aEqbcyB1DsnuJYggIyDsKwH7P/aioQibqUiJCIirirUhs4LzSn2uTLMH+uG6Wsy8XgqQiIiktMfieYZoTwZkLEfji4rsUgixUFFSEREcjp9uGD7/fwAbBxpDqLOzizORCLFQoOlRUQkp8BqBdsv/XfY9rJ5860AkZ0h6iao1gUq1CnejCJuoCIkIiI5hbc3Z4dlHMQ5JsiFzSxLzV6G5B/N25kjcHC2eQOoeIVZiKrdBJGdwLd8CX4AkYKxGYaR2/+Fy1/S0tIICQkhNTWV4OC8Bg6KiJRB+782Z4cBrmXIZv5oP+vCFHrDAX9uhMP/g8PzzBWqjb8tymj3M8vV+bNFIY3BZiuBDyHeqqB/v1WELkFFSES82v6vYd3Qi9YRioYWE/JfR+hcGiQvvFCM0ve6Ph8YdeFsUdV48A8rjvTixVSE3ERFSES8niPbnB12+rD5dVh4e7D7FPx4w4CTu8xSdGgeHFkM2acvPG+zQ9i1ZjGKugnCWhbu9UVyoSLkJipCIiJuln0Gjiy7cLYodavr836VoOoNf50x6gJB1a3JKR5NRchNVIRERIpZxoG/StH/4PB8OHfC9fmQxhfGFoW3Bx9/S2KKZ1ERchMVIRGREuTIgj/WmGeKDv8P/liNy0BtnyBzBlq1v4pRxSs06FpypSLkJipCIiIWOvsHJP90oRhdvNBj+doXxhZFdoZyFfN+rcsd6yQeRUXITVSERERKCcOAE5v/NkV/GTjOXXje5gvhbS+cLarUzByIDXnMfqsBLSbmP/tNPJaKkJuoCImIlFLnTpkz0M7PRjv1m+vzAZFQ9Ubwrww7J5JzYchc1kOSMkNFyE1UhEREPMTJpAuDrlMWQFZ6AQ6ymWeGbt+jr8nKGBUhN1EREhHxQNmZcGwF/DYFfv/80vsHREH5mhAQDv7hF3663K9i3rf6UiEa61QgBf37rWuNiYhI2ePjB5HXw+nkghWhM4fMW4FeOzDvspTbtnLB7pvZVpbGOpWSQucxRejFF1/k+++/Z+PGjfj5+XHixIlLHmMYBqNHj2bKlCmcOHGCtm3b8t5773HFFVcUf2AREbFeYLWC7XfNW1C+Bpw9CmeOwtljf7t/9MJ9x1lzVeyMfeatIOzlLpxRKkiB8g+7MMj775zXfrvoi5yMg+Z2TxrrVIoKnccUoczMTO6++25at27NRx99VKBjXn31Vd566y2mTZtG7dq1GTVqFF26dGHbtm0EBAQUc2IREbFceHvzD2zGQXIOlgbnGKEr/3npsxGGAVmnXAvSxUXp4m1Z6ebMttOHzFtB2OzgV9n1Kzm/yn+d2crtMxjm51g7GKq0AZ8A8yK39nLmTLrSts5SKSt0HjdGaOrUqQwbNuySZ4QMwyAqKorHH3+cJ554AoDU1FQiIyOZOnUq9957b4HeT2OEREQ8nPMPL7j+8S2BWWNZp/M+u5Rbgbp4VW13sJczi5GtnPmVoa3chW15/XTZN5/9cvuZ3zE2H/Pf4uyRPMK6b/C6148R2rNnD8nJycTHxzu3hYSE0KpVKxITE/MsQmfPnuXs2bPOx2lpacWeVUREilF0d7Ps5PpVzITiPfvgGwi+0VA+umD7O86Zxenis0spi+HA10XL4Dh3Yb2lc/nvaj0DMvabY4ciO5XIO5bZIpScnAxAZGSky/bIyEjnc7lJSEhg7NixxZpNRERKWHR3qH5HqRicmy97OTPbxWObQpsUrAh1XgDh7cCRCcY5c/accc587Pj7z9y2/e1nrsfk8Rr5vs9FP8/+kc/ZoL+5eAXxYmRpERoxYgSvvPJKvvts376d+vXrl1AiGDlyJMOHD3c+TktLIzq6gE1eRERKL7tPiZ1lcLuCjnWK6Gh+Th+/kk5YMCmLYcH1l96voIPc3cDSIvT444/zwAMP5LtPnTp1ivTaVatWBSAlJYVq1S78QlNSUmjevHmex/n7++Pvrysbi4hIKWL3MWdULeuBObYpl7FOLSaUvjNcFytooQtvX2KRLC1C4eHhhIeHF8tr165dm6pVq7JgwQJn8UlLS2PVqlU88sgjxfKeIiIixcbKsU7uUgoLnceMEdq3bx/Hjx9n3759ZGdns3HjRgDq1atHhQoVAKhfvz4JCQnceeed2Gw2hg0bxgsvvMAVV1zhnD4fFRVFt27drPsgIiIiReUpY53yU8oKnccUoeeee45p06Y5H1999dUALFq0iE6dOgGwc+dOUlNTnfs89dRTpKenM3DgQE6cOEG7du2YN2+e1hASERHP5cljnc4rRYXO49YRKmlaR0hERMTzFPTvdy5reIuIiIh4BxUhERER8VoqQiIiIuK1VIRERETEa6kIiYiIiNdSERIRERGvpSIkIiIiXktFSERERLyWipCIiIh4LY+5xIZVzi+8nZaWZnESERERKajzf7cvdQENFaFLOHnyJADR0dEWJxEREZHCOnnyJCEhIXk+r2uNXYLD4eDQoUNUrFgRm83mttdNS0sjOjqa/fv36xpmpYT+TUoX/XuULvr3KF3073FphmFw8uRJoqKisNvzHgmkM0KXYLfbqVGjRrG9fnBwsP6PuJTRv0npon+P0kX/HqWL/j3yl9+ZoPM0WFpERES8loqQiIiIeC0VIYv4+/szevRo/P39rY4if9G/Semif4/SRf8epYv+PdxHg6VFRETEa+mMkIiIiHgtFSERERHxWipCIiIi4rVUhERERMRrqQhZ5J133iEmJoaAgABatWrF6tWrrY7klRISEmjZsiUVK1YkIiKCbt26sXPnTqtjyV9efvllbDYbw4YNszqKVzt48CD/+Mc/qFy5MoGBgTRp0oS1a9daHcsrZWdnM2rUKGrXrk1gYCB169Zl3Lhxl7yeluRNRcgCM2bMYPjw4YwePZr169fTrFkzunTpwpEjR6yO5nWWLFnCo48+ys8//8z8+fM5d+4cN954I+np6VZH83pr1qzh/fffp2nTplZH8Wp//vknbdu2pVy5cvzwww9s27aNN954g0qVKlkdzSu98sorvPfee0yaNInt27fzyiuv8Oqrr/L2229bHc1jafq8BVq1akXLli2ZNGkSYF7PLDo6msGDBzNixAiL03m3o0ePEhERwZIlS+jQoYPVcbzWqVOnuOaaa3j33Xd54YUXaN68ORMmTLA6llcaMWIEK1asYNmyZVZHEeDWW28lMjKSjz76yLntrrvuIjAwkE8//dTCZJ5LZ4RKWGZmJuvWrSM+Pt65zW63Ex8fT2JiooXJBCA1NRWAsLAwi5N4t0cffZRbbrnF5f9PxBqzZ88mNjaWu+++m4iICK6++mqmTJlidSyv1aZNGxYsWMCuXbsA2LRpE8uXL+fmm2+2OJnn0kVXS9ixY8fIzs4mMjLSZXtkZCQ7duywKJWAeWZu2LBhtG3blsaNG1sdx2t98cUXrF+/njVr1lgdRYDdu3fz3nvvMXz4cJ5++mnWrFnDkCFD8PPzo2/fvlbH8zojRowgLS2N+vXr4+PjQ3Z2Ni+++CK9e/e2OprHUhES+cujjz7Kli1bWL58udVRvNb+/fsZOnQo8+fPJyAgwOo4gvkfCLGxsbz00ksAXH311WzZsoXJkyerCFngyy+/ZPr06Xz22Wc0atSIjRs3MmzYMKKiovTvUUQqQiWsSpUq+Pj4kJKS4rI9JSWFqlWrWpRKBg0axJw5c1i6dCk1atSwOo7XWrduHUeOHOGaa65xbsvOzmbp0qVMmjSJs2fP4uPjY2FC71OtWjUaNmzosq1BgwZ89dVXFiXybk8++SQjRozg3nvvBaBJkyb8/vvvJCQkqAgVkcYIlTA/Pz9atGjBggULnNscDgcLFiygdevWFibzToZhMGjQIL755hsWLlxI7dq1rY7k1eLi4ti8eTMbN2503mJjY+nduzcbN25UCbJA27ZtcywpsWvXLmrVqmVRIu+WkZGB3e76p9vHxweHw2FRIs+nM0IWGD58OH379iU2NpZrr72WCRMmkJ6eTr9+/ayO5nUeffRRPvvsM7777jsqVqxIcnIyACEhIQQGBlqczvtUrFgxx/is8uXLU7lyZY3bsshjjz1GmzZteOmll7jnnntYvXo1H3zwAR988IHV0bzSbbfdxosvvkjNmjVp1KgRGzZs4M033+TBBx+0OprH0vR5i0yaNInXXnuN5ORkmjdvzltvvUWrVq2sjuV1bDZbrts//vhjHnjggZINI7nq1KmTps9bbM6cOYwcOZJff/2V2rVrM3z4cB566CGrY3mlkydPMmrUKL755huOHDlCVFQUvXr14rnnnsPPz8/qeB5JRUhERES8lsYIiYiIiNdSERIRERGvpSIkIiIiXktFSERERLyWipCIiIh4LRUhERER8VoqQiIiIuK1VIREJFedOnVi2LBhVsfIwWaz8e2331odo9iMGTOG5s2bWx1DxGuoCIlIrr7++mvGjRvnfBwTE1OiqzvnVQgOHz7MzTffXGI5RKRs07XGRCRXYWFhxfK6mZmZl3UpgKpVq7oxjfc4d+4c5cqVszqGSKmjM0Iikqu/fzXWqVMnfv/9dx577DFsNpvLNdqWL19O+/btCQwMJDo6miFDhpCenu58PiYmhnHjxtGnTx+Cg4MZOHAgAP/617+48sorCQoKok6dOowaNYpz584BMHXqVMaOHcumTZuc7zd16lQg51djmzdvpnPnzgQGBlK5cmUGDhzIqVOnnM8/8MADdOvWjddff51q1apRuXJlHn30Ued75eb82ahPPvmEmJgYQkJCuPfeezl58qTL57r4DFnz5s0ZM2aM87HNZuP999/n1ltvJSgoiAYNGpCYmMhvv/1Gp06dKF++PG3atCEpKSlHhvfff5/o6GiCgoK45557SE1NdXn+ww8/pEGDBgQEBFC/fn3effdd53N79+7FZrMxY8YMOnbsSEBAANOnT8/z84p4MxUhEbmkr7/+mho1avD8889z+PBhDh8+DEBSUhI33XQTd911F7/88gszZsxg+fLlDBo0yOX4119/nWbNmrFhwwZGjRoFmFeanzp1Ktu2bWPixIlMmTKF8ePHA9CzZ08ef/xxGjVq5Hy/nj175siVnp5Oly5dqFSpEmvWrGHmzJn89NNPOd5/0aJFJCUlsWjRIqZNm8bUqVOdxSovSUlJfPvtt8yZM4c5c+awZMkSXn755UL/7s6XwI0bN1K/fn3uu+8+Hn74YUaOHMnatWsxDCNH3t9++40vv/yS//73v8ybN48NGzbwz3/+0/n89OnTee6553jxxRfZvn07L730EqNGjWLatGkurzNixAiGDh3K9u3b6dKlS6Gzi3gFQ0QkFx07djSGDh3qfFyrVi1j/PjxLvv079/fGDhwoMu2ZcuWGXa73Th9+rTzuG7dul3y/V577TWjRYsWzsejR482mjVrlmM/wPjmm28MwzCMDz74wKhUqZJx6tQp5/Pff/+9YbfbjeTkZMMwDKNv375GrVq1jKysLOc+d999t9GzZ888s4wePdoICgoy0tLSnNuefPJJo1WrVs7Huf0+mjVrZowePdol67PPPut8nJiYaADGRx995Nz2+eefGwEBAS7v7ePjYxw4cMC57YcffjDsdrtx+PBhwzAMo27dusZnn33m8t7jxo0zWrdubRiGYezZs8cAjAkTJuT5GUXEpDFCIlJkmzZt4pdffnH52sUwDBwOB3v27KFBgwYAxMbG5jh2xowZvPXWWyQlJXHq1CmysrIIDg4u1Ptv376dZs2aUb58eee2tm3b4nA42LlzJ5GRkQA0atQIHx8f5z7VqlVj8+bN+b52TEwMFStWdDnmyJEjhcoH0LRpU+f983maNGnisu3MmTOkpaU5P3/NmjWpXr26c5/WrVs7P1PFihVJSkqif//+PPTQQ859srKyCAkJcXnv3H7vIuJKRUhEiuzUqVM8/PDDDBkyJMdzNWvWdN7/e1EBSExMpHfv3owdO5YuXboQEhLCF198wRtvvFEsOS8eJGyz2XA4HJd1jN1uxzAMl31yG3f099c5P7Yqt22XynPe+fFPU6ZMoVWrVi7P/b3sQc7fu4jkpCIkIgXi5+dHdna2y7ZrrrmGbdu2Ua9evUK91sqVK6lVqxbPPPOMc9vvv/9+yfe7WIMGDZg6dSrp6enOP/orVqzAbrdz1VVXFSpTYYWHhzvHSgGkpaWxZ88et7z2vn37OHToEFFRUQD8/PPPzs8UGRlJVFQUu3fvpnfv3m55PxFvpsHSIlIgMTExLF26lIMHD3Ls2DHAnPm1cuVKBg0axMaNG/n111/57rvvcgz+vdgVV1zBvn37+OKLL0hKSuKtt97im2++yfF+e/bsYePGjRw7doyzZ8/meJ3evXsTEBBA37592bJlC4sWLWLw4MHcf//9zq+hikvnzp355JNPWLZsGZs3b6Zv3745zsgU1fnPtGnTJpYtW8aQIUO45557nEsHjB07loSEBN566y127drF5s2b+fjjj3nzzTfd8v4i3kRFSEQK5Pnnn2fv3r3UrVuX8PBwwBz/smTJEnbt2kX79u25+uqree6555xnMvJy++2389hjjzFo0CCaN2/OypUrnbPJzrvrrru46aabuP766wkPD+fzzz/P8TpBQUH873//4/jx47Rs2ZIePXoQFxfHpEmT3PfB8zBy5Eg6duzIrbfeyi233EK3bt2oW7euW167Xr16dO/ena5du3LjjTfStGlTl+nxAwYM4MMPP+Tjjz+mSZMmdOzYkalTp1K7dm23vL+IN7EZF3/JLSIiIuIldEZIREREvJaKkIiIiHgtFSERERHxWipCIiIi4rVUhERERMRrqQiJiIiI11IREhEREa+lIiQiIiJeS0VIREREvJaKkIiIiHgtFSERERHxWipCIiIi4rX+H0HDQ1UntDG8AAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import matplotlib.pyplot as plt\n", - "import pandas as pd\n", - "\n", - "df = pd.DataFrame(job.metrics())\n", - "df.sort_values(by=[\"iteration_number\"], inplace=True)\n", - "\n", - "plt.plot(df[\"iteration_number\"], df[\"expval\"], \"-o\", color=\"orange\")\n", - "plt.xlabel(\"iteration number\")\n", - "plt.ylabel(\"expectation value\")\n", - "plt.title(\"Simulator results\")\n", - "\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Running on a QPU with priority\n", - "\n", - "The next step is to see how well the qubit rotation works on a real QPU. We\n", - "create a hybrid job with the Rigetti device as the priority QPU. We also increase the number of\n", - "steps to 10.\n", - "\n", - "Using hybrid jobs for iterative algorithms is very beneficial because you retain priority access to the\n", - "target QPU. So once your quantum tasks are created in the hybrid job, they run ahead of other tasks\n", - "waiting in the *quantum task queue*. This means your\n", - "algorithm will not be interrupted by other quantum tasks, so it will run more efficiently and\n", - "predictably. Quantum tasks submitted as part of a hybrid job have priority, and are aggregated in the *priority task queue*.\n", - "\n", - "Hybrid jobs have their own *hybrid jobs queue* so that only a single\n", - "hybrid job can run on a QPU at a time. Each QPU has its own hybrid jobs queue. Note that this is a different queue from the quantum tasks. For a single quantum circuit, or a batch of circuit, it’s\n", - "recommended to create quantum tasks instead of hybrid jobs. For more information on quantum tasks and hybrid jobs queue see the [Amazon Braket documentation](https://docs.aws.amazon.com/braket/latest/developerguide/braket-task-when.html).\n", - "\n", - "To get QPU priority, you must ensure that the device ARN used within the function matches that\n", - "specified in the decorator. For convenience, you can use the helper function ``get_device_arn()`` to\n", - "automatically capture the device ARN declared in ``@hybrid_job``.\n", - "\n", - "
\n", - " Note: Only hybrid jobs running on AWS receive priority. Hybrid jobs running locally, or with a mismatched device ARN do not get priority task queueing. \n", - "
\n", - "\n", - "In the previous example, we declared the local simulator outside the decorated function scope.\n", - "However, for AWS devices such as QPUs or on-demand simulators, the device must be declared within the function scope. \n", - "\n", - "
\n", - " Note: AWS devices must be declared within the body of the decorated function.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [], - "source": [ - "from braket.devices import Devices\n", - "\n", - "\n", - "device_arn = Devices.Rigetti.AspenM3\n", - "\n", - "\n", - "@hybrid_job(device=device_arn) # set priority QPU\n", - "def qpu_qubit_rotation_hybrid_job(num_steps=10, stepsize=0.5):\n", - " # AWS devices must be declared within the decorated function.\n", - " device = qml.device(\n", - " \"braket.aws.qubit\",\n", - " device_arn=device_arn.value, # Make sure the device ARN matches the hybrid job device ARN\n", - " wires=2,\n", - " shots=1_000,\n", - " )\n", - "\n", - " @qml.qnode(device)\n", - " def circuit(params):\n", - " qml.RX(params[0], wires=0)\n", - " qml.RY(params[1], wires=0)\n", - " return qml.expval(qml.PauliZ(0))\n", - "\n", - " opt = qml.GradientDescentOptimizer(stepsize=stepsize)\n", - " params = np.array([0.5, 0.75])\n", - "\n", - " for i in range(num_steps):\n", - " # update the circuit parameters\n", - " params = opt.step(circuit, params)\n", - " expval = circuit(params)\n", - "\n", - " log_metric(metric_name=\"expval\", iteration_number=i, value=expval)\n", - "\n", - " return params" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "To get a sense of how long we will wait before the hybrid job runs, we can check the hybrid job\n", - "queue depth with `AwsDevice(device_arn).queue_depth().jobs`. We can also check if the device is\n", - "currently available with `AwsDevice(device_arn).is_available()`.\n", - "\n", - "You can check the queue depth on the devices page of the [Amazon Braket Console](https://console.aws.amazon.com/braket/home). Below, we show the devices page for Rigetti Aspen-M-3.\n", - "\n", - "![Rigetti Aspen-M-3 showing the queue depths.](console_figures/queue_viz.png)\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "When there are no other hybrid jobs in the queue ahead of you, and the device is available, the hybrid job will start running.\n", - "\n", - "
\n", - " Note: Running the following cell will only run once the QPU is available. This may take a long time and will result in usage fees charged to your AWS account. Only run the cell if you are comfortable with the potential wait-time and costs. We recommend monitoring the Billing & Cost Management Dashboard on the AWS console.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "AwsQuantumJob('arn':'arn:aws:braket:us-west-2:318845237731:job/qpu-qubit-rotation-hybrid-job-1700084458165')\n" - ] - } - ], - "source": [ - "qpu_job = qpu_qubit_rotation_hybrid_job(num_steps=10, stepsize=0.5)\n", - "print(qpu_job)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, we wait for the algorithm to complete and download the result. " - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'result': tensor([0.0205, 3.1065], requires_grad=True)}" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "qpu_job.result()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, we plot the expectation value per iteration number below. We see that on a real QPU, the data is not as smooth as the simulator, but the minimum still is detected correctly!" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'timestamp': [1700084730.969484, 1700084698.0504165, 1700084679.9848497, 1700084664.1287766, 1700084648.2972944, 1700084632.2871127, 1700084616.684862], 'expval': [-0.972, -0.784, -0.548, -0.36, -0.07, 0.11, 0.388], 'iteration_number': [7.0, 5.0, 4.0, 3.0, 2.0, 1.0, 0.0]}\n" - ] - } - ], - "source": [ - "# May need to wait a bit before metrics show up\n", - "# If metrics aren't there, try again after 5 seconds\n", - "import time\n", - "\n", - "time.sleep(10)\n", - "print(qpu_job.metrics())" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "df = pd.DataFrame(qpu_job.metrics())\n", - "df.sort_values(by=[\"iteration_number\"], inplace=True)\n", - "\n", - "plt.plot(df[\"iteration_number\"], df[\"expval\"], \"-o\", color=\"teal\")\n", - "plt.xlabel(\"iteration number\")\n", - "plt.ylabel(\"expectation value\")\n", - "plt.title(\"QPU results\")\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - " Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. \n", - " Estimated charges shown may differ from your actual charges. \n", - " Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2)\n", - " Estimated cost to run this example is $39 USD.\n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Conclusion\n", - "\n", - "In this tutorial, we showed how to migrate from local Python functions to running algorithms on simulators and QPUs on Amazon Braket.\n", - "We adapted the simple example of rotating a qubit using gradient descent, running this on both a\n", - "local simulator and a real QPU. \n", - "Using Amazon Braket Hybrid Jobs allowed us to run algorithms asynchronously, scale classical compute using AWS, and obtain priority access to the selected QPU for the duration of our algorithm." - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "conda_braket", - "language": "python", - "name": "conda_braket" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.13" - } - }, - "nbformat": 4, - "nbformat_minor": 4 + "nbformat": 4, + "nbformat_minor": 4 } diff --git a/examples/hybrid_jobs/0_Creating_your_first_Hybrid_Job/console_figures/queue_viz.png b/examples/hybrid_jobs/0_Creating_your_first_Hybrid_Job/console_figures/queue_viz.png index 054595705..511519ad0 100644 Binary files a/examples/hybrid_jobs/0_Creating_your_first_Hybrid_Job/console_figures/queue_viz.png and b/examples/hybrid_jobs/0_Creating_your_first_Hybrid_Job/console_figures/queue_viz.png differ diff --git a/examples/hybrid_jobs/7_Running_notebooks_as_hybrid_jobs/result/ankaa-2/0_Getting_started_papermill.ipynb b/examples/hybrid_jobs/7_Running_notebooks_as_hybrid_jobs/result/ankaa-2/0_Getting_started_papermill.ipynb index 8a9179a98..8f126202d 100644 --- a/examples/hybrid_jobs/7_Running_notebooks_as_hybrid_jobs/result/ankaa-2/0_Getting_started_papermill.ipynb +++ b/examples/hybrid_jobs/7_Running_notebooks_as_hybrid_jobs/result/ankaa-2/0_Getting_started_papermill.ipynb @@ -1,522 +1,522 @@ { - "cells": [ - { - "attachments": {}, - "cell_type": "markdown", - "id": "21a58fee", - "metadata": { - "papermill": { - "duration": 0.003786, - "end_time": "2023-02-21T16:43:45.362940", - "exception": false, - "start_time": "2023-02-21T16:43:45.359154", - "status": "completed" + "cells": [ + { + "attachments": {}, + "cell_type": "markdown", + "id": "21a58fee", + "metadata": { + "papermill": { + "duration": 0.003786, + "end_time": "2023-02-21T16:43:45.362940", + "exception": false, + "start_time": "2023-02-21T16:43:45.359154", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "# Example notebook \n", + "\n", + "This notebook is a copy from `examples/getting_started/0_Getting_started/0_Getting_started.ipynb` with a small modifications for use with [Papermill](https://github.com/nteract/papermill) and Amazon Braket Hybrid Jobs. \n", + "\n", + "## Papermill parameters\n", + "\n", + "Papermill is a tool for parameterizing, executing, and analyzing Jupyter Notebooks. \n", + "To parameterize a notebook, we need tag a cell that contains all the parameters. \n", + "We can only tag one cell, and for simplicity we place it at the top of the notebook. \n", + "Full instructions are available here https://papermill.readthedocs.io/en/latest/usage-parameterize.html#designate-parameters-for-a-cell. \n", + "\n", + "Below, we tag the parameter `shots=1000`. \n", + "We can then run the notebook as usual cell-by-cell to see the results. \n", + "\n", + "We additionally add two Braket specific parameters called `device_arn` and `results_dir`. \n", + "These will be overridden when running a Hybrid Job. \n", + "\n", + "**In the following cell, we added a tag called `parameters` for Papermill to recognize. If you don't see the tag, follow the instructions above.**" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "2436f1be", + "metadata": { + "execution": { + "iopub.execute_input": "2023-02-21T16:43:45.371205Z", + "iopub.status.busy": "2023-02-21T16:43:45.370808Z", + "iopub.status.idle": "2023-02-21T16:43:45.379588Z", + "shell.execute_reply": "2023-02-21T16:43:45.378335Z" + }, + "papermill": { + "duration": 0.015001, + "end_time": "2023-02-21T16:43:45.381543", + "exception": false, + "start_time": "2023-02-21T16:43:45.366542", + "status": "completed" + }, + "tags": [ + "parameters" + ] + }, + "outputs": [], + "source": [ + "# Papermill parameters\n", + "shots = 1000\n", + "\n", + "# Braket specific parameters\n", + "device_arn = \"arn:aws:braket:::device/quantum-simulator/amazon/sv1\"\n", + "results_dir = \".\"" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "a0fb6bd8", + "metadata": { + "execution": { + "iopub.execute_input": "2023-02-21T16:43:45.389513Z", + "iopub.status.busy": "2023-02-21T16:43:45.388977Z", + "iopub.status.idle": "2023-02-21T16:43:45.393453Z", + "shell.execute_reply": "2023-02-21T16:43:45.392426Z" + }, + "papermill": { + "duration": 0.010707, + "end_time": "2023-02-21T16:43:45.395539", + "exception": false, + "start_time": "2023-02-21T16:43:45.384832", + "status": "completed" + }, + "tags": [ + "injected-parameters" + ] + }, + "outputs": [], + "source": [ + "# Parameters\n", + "shots = 1000\n", + "device_arn = \"arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2\"\n", + "results_dir = \"/opt/braket/model\"" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "c8f24ceb", + "metadata": { + "papermill": { + "duration": 0.003094, + "end_time": "2023-02-21T16:43:45.402021", + "exception": false, + "start_time": "2023-02-21T16:43:45.398927", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "# Getting started with Amazon Braket\n", + "\n", + "In this tutorial we prepare a maximally entangled Bell state between two qubits. \n", + "We then run our circuit on a local simulator and obtain the results." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "472c72f6", + "metadata": { + "execution": { + "iopub.execute_input": "2023-02-21T16:43:45.409445Z", + "iopub.status.busy": "2023-02-21T16:43:45.408896Z", + "iopub.status.idle": "2023-02-21T16:43:47.305956Z", + "shell.execute_reply": "2023-02-21T16:43:47.304998Z" + }, + "papermill": { + "duration": 1.90327, + "end_time": "2023-02-21T16:43:47.308212", + "exception": false, + "start_time": "2023-02-21T16:43:45.404942", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "import time\n", + "\n", + "import matplotlib.pyplot as plt\n", + "\n", + "%matplotlib inline\n", + "\n", + "from braket.aws import AwsDevice\n", + "from braket.circuits import Circuit\n", + "from braket.devices import LocalSimulator\n", + "from braket.jobs.metrics import log_metric\n", + "from braket.tracking import Tracker # cost tracker\n", + "\n", + "cost_tracker = Tracker().start()" + ] + }, + { + "cell_type": "markdown", + "id": "a7a2db04", + "metadata": { + "papermill": { + "duration": 0.002877, + "end_time": "2023-02-21T16:43:47.314835", + "exception": false, + "start_time": "2023-02-21T16:43:47.311958", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "## Build a circuit\n", + "\n", + "Let's build a Bell state with two qubits. By calling `Circuit()` we create an empty circuit, and we can just add gates to the circuit. " + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "0928121e", + "metadata": { + "execution": { + "iopub.execute_input": "2023-02-21T16:43:47.322937Z", + "iopub.status.busy": "2023-02-21T16:43:47.322367Z", + "iopub.status.idle": "2023-02-21T16:43:47.329784Z", + "shell.execute_reply": "2023-02-21T16:43:47.328703Z" + }, + "papermill": { + "duration": 0.014274, + "end_time": "2023-02-21T16:43:47.332315", + "exception": false, + "start_time": "2023-02-21T16:43:47.318041", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T : |0|1|\n", + " \n", + "q0 : -H-C-\n", + " | \n", + "q1 : ---X-\n", + "\n", + "T : |0|1|\n" + ] + } + ], + "source": [ + "# build a Bell state with two qubits.\n", + "bell = Circuit().h(0).cnot(control=0, target=1)\n", + "print(bell)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "253f5e35", + "metadata": { + "papermill": { + "duration": 0.003065, + "end_time": "2023-02-21T16:43:47.338674", + "exception": false, + "start_time": "2023-02-21T16:43:47.335609", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "## Submit the circuit to the local simulator and obtain the results\n", + "\n", + "Next, we choose either a local simulator or an Amazon Braket device. " + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "b7c90b2f", + "metadata": { + "execution": { + "iopub.execute_input": "2023-02-21T16:43:47.346544Z", + "iopub.status.busy": "2023-02-21T16:43:47.345827Z", + "iopub.status.idle": "2023-02-21T16:43:47.822456Z", + "shell.execute_reply": "2023-02-21T16:43:47.821578Z" + }, + "papermill": { + "duration": 0.482774, + "end_time": "2023-02-21T16:43:47.824541", + "exception": false, + "start_time": "2023-02-21T16:43:47.341767", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "# set up device\n", + "if \"local\" in device_arn:\n", + " device = LocalSimulator()\n", + "else:\n", + " device = AwsDevice(device_arn)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "2366ca95", + "metadata": { + "execution": { + "iopub.execute_input": "2023-02-21T16:43:47.833244Z", + "iopub.status.busy": "2023-02-21T16:43:47.832639Z", + "iopub.status.idle": "2023-02-21T16:44:18.319776Z", + "shell.execute_reply": "2023-02-21T16:44:18.318577Z" + }, + "papermill": { + "duration": 30.49638, + "end_time": "2023-02-21T16:44:18.324694", + "exception": false, + "start_time": "2023-02-21T16:43:47.828314", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'00': 494, '01': 22, '10': 50, '11': 434}\n" + ] + } + ], + "source": [ + "# Run the circuit and get results\n", + "result = device.run(bell, shots=shots).result()\n", + "\n", + "# get measurement shots\n", + "counts = result.measurement_counts\n", + "counts = {k: counts[k] for k in sorted(counts)} # sort results\n", + "print(counts)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "c41e8691", + "metadata": { + "papermill": { + "duration": 0.003065, + "end_time": "2023-02-21T16:44:18.331341", + "exception": false, + "start_time": "2023-02-21T16:44:18.328276", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "Hybrid Jobs enables logging of metrics during the job. \n", + "In the example below, we track the total cost of running the circuit on simulators or QPUs by using the cost tracker.\n", + "\n", + "We also track the number of counts in the \"00\" state. It is best practice to log all metrics per iteration at a common timestamp to avoid duplication." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "0e6ee106", + "metadata": { + "execution": { + "iopub.execute_input": "2023-02-21T16:44:18.339367Z", + "iopub.status.busy": "2023-02-21T16:44:18.338979Z", + "iopub.status.idle": "2023-02-21T16:44:18.365109Z", + "shell.execute_reply": "2023-02-21T16:44:18.364151Z" + }, + "papermill": { + "duration": 0.032881, + "end_time": "2023-02-21T16:44:18.367429", + "exception": false, + "start_time": "2023-02-21T16:44:18.334548", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Metrics - timestamp=1676997858.3620458; cost=0.65;\n", + "Metrics - timestamp=1676997858.3620458; counts_00=494;\n" + ] + } + ], + "source": [ + "total_cost = float(cost_tracker.simulator_tasks_cost() + cost_tracker.qpu_tasks_cost())\n", + "\n", + "timestamp = time.time()\n", + "\n", + "log_metric(metric_name=\"cost\", value=float(total_cost), timestamp=timestamp)\n", + "\n", + "log_metric(metric_name=\"counts_00\", value=counts[\"00\"], timestamp=timestamp)" + ] + }, + { + "cell_type": "markdown", + "id": "3f4a07f0", + "metadata": { + "papermill": { + "duration": 0.003183, + "end_time": "2023-02-21T16:44:18.374145", + "exception": false, + "start_time": "2023-02-21T16:44:18.370962", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "**The following cell saves the results to a file**\n", + "\n", + "The use of `results_dir` is that any results are saved to the correct directory when called from a Braket Job. Below, we save the measurement counts to a .pkl file. " + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "31102e41", + "metadata": { + "execution": { + "iopub.execute_input": "2023-02-21T16:44:18.382365Z", + "iopub.status.busy": "2023-02-21T16:44:18.381771Z", + "iopub.status.idle": "2023-02-21T16:44:18.386881Z", + "shell.execute_reply": "2023-02-21T16:44:18.385954Z" + }, + "papermill": { + "duration": 0.011421, + "end_time": "2023-02-21T16:44:18.388857", + "exception": false, + "start_time": "2023-02-21T16:44:18.377436", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "import pickle\n", + "\n", + "# save measurement counts to a file\n", + "with open(f\"{results_dir}/results.pkl\", \"wb\") as f:\n", + " pickle.dump(counts, f)\n", + "\n", + "\n", + "# re-load the results with\n", + "# with open(f\"{results_dir}/results.pkl\", 'rb') as f:\n", + "# counts = pickle.load(f)" + ] + }, + { + "cell_type": "markdown", + "id": "1347bd65", + "metadata": { + "papermill": { + "duration": 0.003234, + "end_time": "2023-02-21T16:44:18.395896", + "exception": false, + "start_time": "2023-02-21T16:44:18.392662", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "**The following cell saves the figure to a file**" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "5da96893", + "metadata": { + "execution": { + "iopub.execute_input": "2023-02-21T16:44:18.404309Z", + "iopub.status.busy": "2023-02-21T16:44:18.403735Z", + "iopub.status.idle": "2023-02-21T16:44:18.607364Z", + "shell.execute_reply": "2023-02-21T16:44:18.606471Z" + }, + "papermill": { + "duration": 0.210402, + "end_time": "2023-02-21T16:44:18.609650", + "exception": false, + "start_time": "2023-02-21T16:44:18.399248", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.bar(counts.keys(), counts.values())\n", + "plt.xlabel(\"bitstrings\")\n", + "plt.ylabel(\"counts\")\n", + "\n", + "# Save figure to a local directory or Amazon S3 location\n", + "plt.savefig(f\"{results_dir}/histogram.png\")" + ] + } + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "conda_braket", + "language": "python", + "name": "conda_braket" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.10" + }, + "papermill": { + "default_parameters": {}, + "duration": 35.15558, + "end_time": "2023-02-21T16:44:19.133234", + "environment_variables": {}, + "exception": null, + "input_path": "/opt/braket/input/data/input/0_Getting_started_papermill.ipynb", + "output_path": "/opt/braket/model/0_Getting_started_papermill.ipynb", + "parameters": { + "device_arn": "arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa 2", + "results_dir": "/opt/braket/model", + "shots": 1000 + }, + "start_time": "2023-02-21T16:43:43.977654", + "version": "2.4.0" + }, + "vscode": { + "interpreter": { + "hash": "5904cb9a2089448a2e1aeb5d493d227c9de33e591d7c07e4016fb81e71061a5d" + } + } }, - "tags": [] - }, - "source": [ - "# Example notebook \n", - "\n", - "This notebook is a copy from `examples/getting_started/0_Getting_started/0_Getting_started.ipynb` with a small modifications for use with [Papermill](https://github.com/nteract/papermill) and Amazon Braket Hybrid Jobs. \n", - "\n", - "## Papermill parameters\n", - "\n", - "Papermill is a tool for parameterizing, executing, and analyzing Jupyter Notebooks. \n", - "To parameterize a notebook, we need tag a cell that contains all the parameters. \n", - "We can only tag one cell, and for simplicity we place it at the top of the notebook. \n", - "Full instructions are available here https://papermill.readthedocs.io/en/latest/usage-parameterize.html#designate-parameters-for-a-cell. \n", - "\n", - "Below, we tag the parameter `shots=1000`. \n", - "We can then run the notebook as usual cell-by-cell to see the results. \n", - "\n", - "We additionally add two Braket specific parameters called `device_arn` and `results_dir`. \n", - "These will be overridden when running a Hybrid Job. \n", - "\n", - "**In the following cell, we added a tag called `parameters` for Papermill to recognize. If you don't see the tag, follow the instructions above.**" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "2436f1be", - "metadata": { - "execution": { - "iopub.execute_input": "2023-02-21T16:43:45.371205Z", - "iopub.status.busy": "2023-02-21T16:43:45.370808Z", - "iopub.status.idle": "2023-02-21T16:43:45.379588Z", - "shell.execute_reply": "2023-02-21T16:43:45.378335Z" - }, - "papermill": { - "duration": 0.015001, - "end_time": "2023-02-21T16:43:45.381543", - "exception": false, - "start_time": "2023-02-21T16:43:45.366542", - "status": "completed" - }, - "tags": [ - "parameters" - ] - }, - "outputs": [], - "source": [ - "# Papermill parameters\n", - "shots = 1000\n", - "\n", - "# Braket specific parameters\n", - "device_arn = \"arn:aws:braket:::device/quantum-simulator/amazon/sv1\"\n", - "results_dir = \".\"" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "a0fb6bd8", - "metadata": { - "execution": { - "iopub.execute_input": "2023-02-21T16:43:45.389513Z", - "iopub.status.busy": "2023-02-21T16:43:45.388977Z", - "iopub.status.idle": "2023-02-21T16:43:45.393453Z", - "shell.execute_reply": "2023-02-21T16:43:45.392426Z" - }, - "papermill": { - "duration": 0.010707, - "end_time": "2023-02-21T16:43:45.395539", - "exception": false, - "start_time": "2023-02-21T16:43:45.384832", - "status": "completed" - }, - "tags": [ - "injected-parameters" - ] - }, - "outputs": [], - "source": [ - "# Parameters\n", - "shots = 1000\n", - "device_arn = \"arn:aws:braket:us-west-1::device/qpu/rigetti/Aspen-M-3\"\n", - "results_dir = \"/opt/braket/model\"" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "c8f24ceb", - "metadata": { - "papermill": { - "duration": 0.003094, - "end_time": "2023-02-21T16:43:45.402021", - "exception": false, - "start_time": "2023-02-21T16:43:45.398927", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "# Getting started with Amazon Braket\n", - "\n", - "In this tutorial we prepare a maximally entangled Bell state between two qubits. \n", - "We then run our circuit on a local simulator and obtain the results." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "472c72f6", - "metadata": { - "execution": { - "iopub.execute_input": "2023-02-21T16:43:45.409445Z", - "iopub.status.busy": "2023-02-21T16:43:45.408896Z", - "iopub.status.idle": "2023-02-21T16:43:47.305956Z", - "shell.execute_reply": "2023-02-21T16:43:47.304998Z" - }, - "papermill": { - "duration": 1.90327, - "end_time": "2023-02-21T16:43:47.308212", - "exception": false, - "start_time": "2023-02-21T16:43:45.404942", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "import time\n", - "\n", - "import matplotlib.pyplot as plt\n", - "\n", - "%matplotlib inline\n", - "\n", - "from braket.aws import AwsDevice\n", - "from braket.circuits import Circuit\n", - "from braket.devices import LocalSimulator\n", - "from braket.jobs.metrics import log_metric\n", - "from braket.tracking import Tracker # cost tracker\n", - "\n", - "cost_tracker = Tracker().start()" - ] - }, - { - "cell_type": "markdown", - "id": "a7a2db04", - "metadata": { - "papermill": { - "duration": 0.002877, - "end_time": "2023-02-21T16:43:47.314835", - "exception": false, - "start_time": "2023-02-21T16:43:47.311958", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "## Build a circuit\n", - "\n", - "Let's build a Bell state with two qubits. By calling `Circuit()` we create an empty circuit, and we can just add gates to the circuit. " - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "0928121e", - "metadata": { - "execution": { - "iopub.execute_input": "2023-02-21T16:43:47.322937Z", - "iopub.status.busy": "2023-02-21T16:43:47.322367Z", - "iopub.status.idle": "2023-02-21T16:43:47.329784Z", - "shell.execute_reply": "2023-02-21T16:43:47.328703Z" - }, - "papermill": { - "duration": 0.014274, - "end_time": "2023-02-21T16:43:47.332315", - "exception": false, - "start_time": "2023-02-21T16:43:47.318041", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "T : |0|1|\n", - " \n", - "q0 : -H-C-\n", - " | \n", - "q1 : ---X-\n", - "\n", - "T : |0|1|\n" - ] - } - ], - "source": [ - "# build a Bell state with two qubits.\n", - "bell = Circuit().h(0).cnot(control=0, target=1)\n", - "print(bell)" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "253f5e35", - "metadata": { - "papermill": { - "duration": 0.003065, - "end_time": "2023-02-21T16:43:47.338674", - "exception": false, - "start_time": "2023-02-21T16:43:47.335609", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "## Submit the circuit to the local simulator and obtain the results\n", - "\n", - "Next, we choose either a local simulator or an Amazon Braket device. " - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "b7c90b2f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-02-21T16:43:47.346544Z", - "iopub.status.busy": "2023-02-21T16:43:47.345827Z", - "iopub.status.idle": "2023-02-21T16:43:47.822456Z", - "shell.execute_reply": "2023-02-21T16:43:47.821578Z" - }, - "papermill": { - "duration": 0.482774, - "end_time": "2023-02-21T16:43:47.824541", - "exception": false, - "start_time": "2023-02-21T16:43:47.341767", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# set up device\n", - "if \"local\" in device_arn:\n", - " device = LocalSimulator()\n", - "else:\n", - " device = AwsDevice(device_arn)" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "2366ca95", - "metadata": { - "execution": { - "iopub.execute_input": "2023-02-21T16:43:47.833244Z", - "iopub.status.busy": "2023-02-21T16:43:47.832639Z", - "iopub.status.idle": "2023-02-21T16:44:18.319776Z", - "shell.execute_reply": "2023-02-21T16:44:18.318577Z" - }, - "papermill": { - "duration": 30.49638, - "end_time": "2023-02-21T16:44:18.324694", - "exception": false, - "start_time": "2023-02-21T16:43:47.828314", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'00': 494, '01': 22, '10': 50, '11': 434}\n" - ] - } - ], - "source": [ - "# Run the circuit and get results\n", - "result = device.run(bell, shots=shots).result()\n", - "\n", - "# get measurement shots\n", - "counts = result.measurement_counts\n", - "counts = {k: counts[k] for k in sorted(counts)} # sort results\n", - "print(counts)" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "c41e8691", - "metadata": { - "papermill": { - "duration": 0.003065, - "end_time": "2023-02-21T16:44:18.331341", - "exception": false, - "start_time": "2023-02-21T16:44:18.328276", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Hybrid Jobs enables logging of metrics during the job. \n", - "In the example below, we track the total cost of running the circuit on simulators or QPUs by using the cost tracker.\n", - "\n", - "We also track the number of counts in the \"00\" state. It is best practice to log all metrics per iteration at a common timestamp to avoid duplication." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "0e6ee106", - "metadata": { - "execution": { - "iopub.execute_input": "2023-02-21T16:44:18.339367Z", - "iopub.status.busy": "2023-02-21T16:44:18.338979Z", - "iopub.status.idle": "2023-02-21T16:44:18.365109Z", - "shell.execute_reply": "2023-02-21T16:44:18.364151Z" - }, - "papermill": { - "duration": 0.032881, - "end_time": "2023-02-21T16:44:18.367429", - "exception": false, - "start_time": "2023-02-21T16:44:18.334548", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Metrics - timestamp=1676997858.3620458; cost=0.65;\n", - "Metrics - timestamp=1676997858.3620458; counts_00=494;\n" - ] - } - ], - "source": [ - "total_cost = float(cost_tracker.simulator_tasks_cost() + cost_tracker.qpu_tasks_cost())\n", - "\n", - "timestamp = time.time()\n", - "\n", - "log_metric(metric_name=\"cost\", value=float(total_cost), timestamp=timestamp)\n", - "\n", - "log_metric(metric_name=\"counts_00\", value=counts[\"00\"], timestamp=timestamp)" - ] - }, - { - "cell_type": "markdown", - "id": "3f4a07f0", - "metadata": { - "papermill": { - "duration": 0.003183, - "end_time": "2023-02-21T16:44:18.374145", - "exception": false, - "start_time": "2023-02-21T16:44:18.370962", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "**The following cell saves the results to a file**\n", - "\n", - "The use of `results_dir` is that any results are saved to the correct directory when called from a Braket Job. Below, we save the measurement counts to a .pkl file. " - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "31102e41", - "metadata": { - "execution": { - "iopub.execute_input": "2023-02-21T16:44:18.382365Z", - "iopub.status.busy": "2023-02-21T16:44:18.381771Z", - "iopub.status.idle": "2023-02-21T16:44:18.386881Z", - "shell.execute_reply": "2023-02-21T16:44:18.385954Z" - }, - "papermill": { - "duration": 0.011421, - "end_time": "2023-02-21T16:44:18.388857", - "exception": false, - "start_time": "2023-02-21T16:44:18.377436", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "import pickle\n", - "\n", - "# save measurement counts to a file\n", - "with open(f\"{results_dir}/results.pkl\", \"wb\") as f:\n", - " pickle.dump(counts, f)\n", - "\n", - "\n", - "# re-load the results with\n", - "# with open(f\"{results_dir}/results.pkl\", 'rb') as f:\n", - "# counts = pickle.load(f)" - ] - }, - { - "cell_type": "markdown", - "id": "1347bd65", - "metadata": { - "papermill": { - "duration": 0.003234, - "end_time": "2023-02-21T16:44:18.395896", - "exception": false, - "start_time": "2023-02-21T16:44:18.392662", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "**The following cell saves the figure to a file**" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "5da96893", - "metadata": { - "execution": { - "iopub.execute_input": "2023-02-21T16:44:18.404309Z", - "iopub.status.busy": "2023-02-21T16:44:18.403735Z", - "iopub.status.idle": "2023-02-21T16:44:18.607364Z", - "shell.execute_reply": "2023-02-21T16:44:18.606471Z" - }, - "papermill": { - "duration": 0.210402, - "end_time": "2023-02-21T16:44:18.609650", - "exception": false, - "start_time": "2023-02-21T16:44:18.399248", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plt.bar(counts.keys(), counts.values())\n", - "plt.xlabel(\"bitstrings\")\n", - "plt.ylabel(\"counts\")\n", - "\n", - "# Save figure to a local directory or Amazon S3 location\n", - "plt.savefig(f\"{results_dir}/histogram.png\")" - ] - } - ], - "metadata": { - "celltoolbar": "Tags", - "kernelspec": { - "display_name": "conda_braket", - "language": "python", - "name": "conda_braket" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.10" - }, - "papermill": { - "default_parameters": {}, - "duration": 35.15558, - "end_time": "2023-02-21T16:44:19.133234", - "environment_variables": {}, - "exception": null, - "input_path": "/opt/braket/input/data/input/0_Getting_started_papermill.ipynb", - "output_path": "/opt/braket/model/0_Getting_started_papermill.ipynb", - "parameters": { - "device_arn": "arn:aws:braket:us-west-1::device/qpu/rigetti/Aspen-M-3", - "results_dir": "/opt/braket/model", - "shots": 1000 - }, - "start_time": "2023-02-21T16:43:43.977654", - "version": "2.4.0" - }, - "vscode": { - "interpreter": { - "hash": "5904cb9a2089448a2e1aeb5d493d227c9de33e591d7c07e4016fb81e71061a5d" - } - } - }, - "nbformat": 4, - "nbformat_minor": 5 + "nbformat": 4, + "nbformat_minor": 5 } diff --git a/examples/hybrid_jobs/8_Creating_Hybrid_Job_Scripts/Creating_your_first_Hybrid_Job.ipynb b/examples/hybrid_jobs/8_Creating_Hybrid_Job_Scripts/Creating_your_first_Hybrid_Job.ipynb index efa68bb88..908f97dae 100644 --- a/examples/hybrid_jobs/8_Creating_Hybrid_Job_Scripts/Creating_your_first_Hybrid_Job.ipynb +++ b/examples/hybrid_jobs/8_Creating_Hybrid_Job_Scripts/Creating_your_first_Hybrid_Job.ipynb @@ -1,606 +1,602 @@ { - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Getting started with Amazon Braket Hybrid Jobs\n", - "\n", - "This tutorial shows how to run your first Amazon Braket Hybrid Job. To get started, we consider small circuits with only one qubit and one gate.\n", - "\n", - "\n", - "## Learning outcomes\n", - "* Get setup to run your first hybrid job\n", - "* Write an algorithm script to run on Braket Hybrid Jobs\n", - "* Understand how to run scripts or functions\n", - "* Create a hybrid job on Braket simulators or QPUs\n", - "* Monitoring the hybrid job state\n", - "* Save results from a hybrid job\n", - "* Using a specific AWS session\n", - "* Running hybrid jobs with priority on QPUs\n", - "* Use local hybrid jobs to quickly test and debug scripts\n", - "* Create a Braket Hybrid Job using the Braket console" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Getting setup to run Braket Hybrid Jobs\n", - "\n", - "When you use Amazon Braket Hybrid Jobs for the first time, you need to create an IAM role with the right [permissions](https://docs.aws.amazon.com/braket/latest/developerguide/braket-manage-access.html#about-amazonbraketjobsexecution). This role allows your hybrid job to perform actions on your behalf while it is executing your algorithm, for instance, access S3 to return the results of your hybrid job. To create the role or check if you already have one please visit the Permissions tab from the left menu of the Braket Console.\n", - "\n", - "## Writing an algorithm script\n", - "\n", - "To create a Braket Hybrid Job, you first need a Python script to run. In this example, it's contained in `algorithm_script.py`. The script is printed in the code cell below for convenience. \n", - "\n", - "As shown, each of the circuits has only one $X$ rotation gate with a random angle. The circuit is repeated five times with different random rotations. Note that the algorithm script does not specify the backend Amazon Braket device ARN explicitly. Instead, it is provided through environment variables such as `os.environ[\"AMZN_BRAKET_DEVICE_ARN\"]` that are passed to the algorithm script when creating the hybrid job. " - ] - }, - { - "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, - "source": [ - "#### This block is a copy of the algorithm script.\n", - "\n", - "```python\n", - "\n", - "import os\n", - "import numpy as np\n", - "\n", - "from braket.aws import AwsDevice\n", - "from braket.circuits import Circuit\n", - "from braket.jobs import save_job_result\n", - "from braket.tracking import Tracker\n", - "\n", - "t = Tracker().start()\n", - "\n", - "print(\"Test hybrid job started!\")\n", - "\n", - "# Use the device declared in the creation script\n", - "device = AwsDevice(os.environ[\"AMZN_BRAKET_DEVICE_ARN\"])\n", - "\n", - "counts_list = []\n", - "angle_list = []\n", - "for _ in range(5):\n", - " angle = np.pi * np.random.randn()\n", - " random_circuit = Circuit().rx(0, angle)\n", - "\n", - " task = device.run(random_circuit, shots=100)\n", - " counts = task.result().measurement_counts\n", - "\n", - " angle_list.append(angle)\n", - " counts_list.append(counts)\n", - " print(counts)\n", - "\n", - "# Save the variables of interest so that we can access later\n", - "save_job_result({\"counts\": counts_list, \"angle\": angle_list, \"estimated cost\": t.qpu_tasks_cost() + t.simulator_tasks_cost()})\n", - "\n", - "print(\"Test hybrid job completed!\")\n", - "```" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Creating your first hybrid job\n", - "\n", - "Once the script is finalized, you can create a Braket Hybrid Job with `AwsQuantumJob`. When the hybrid job is created, Amazon Braket starts the hybrid job instance (based on EC2) and spins up a Docker container to run your algorithm script. Other configurations can be specified via keyword arguments. See the [developer guide](https://docs.aws.amazon.com/braket/latest/developerguide/what-is-braket.html) and other example notebooks to learn more about how to customize your jobs\n", - "\n", - "This example uses the following inputs for `AwsQuantumJob`:\n", - "- device: The ARN of the Braket simulator or QPU to use in the hybrid job. It will be passed as an environment variable to the algorithm script. \n", - "- source_module: The path to a file or a Python module that contains your algorithm script. It will be uploaded to the container for running the Braket Hybrid Job.\n", - "- wait_until_complete (optional): If True, the function call will wait until the Braket Hybrid Job is completed and will additionally print logs to the local console. Otherwise, it will run asynchronously. The default is False." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "from braket.aws import AwsDevice, AwsQuantumJob\n", - "from braket.devices import Devices" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "pycharm": { - "name": "#%%\n" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Initializing Braket Job: arn:aws:braket:::job/\n", - "...............................................\n", - "\u001B[34m2021-11-10 20:55:24,467 sagemaker-training-toolkit INFO Invoking user script\u001B[0m\n", - "\u001B[34mTraining Env:\u001B[0m\n", - "\u001B[34m{\n", - " \"additional_framework_parameters\": {},\n", - " \"channel_input_dirs\": {},\n", - " \"current_host\": \"algo-1\",\n", - " \"framework_module\": null,\n", - " \"hosts\": [\n", - " \"algo-1\"\n", - " ],\n", - " \"hyperparameters\": {},\n", - " \"input_config_dir\": \"/opt/ml/input/config\",\n", - " \"input_data_config\": {},\n", - " \"input_dir\": \"/opt/ml/input\",\n", - " \"is_master\": true,\n", - " \"job_name\": \"BraketJob--\",\n", - " \"log_level\": 20,\n", - " \"master_hostname\": \"algo-1\",\n", - " \"model_dir\": \"/opt/ml/model\",\n", - " \"module_dir\": \"/opt/ml/code\",\n", - " \"module_name\": \"braket_container\",\n", - " \"network_interface_name\": \"eth0\",\n", - " \"num_cpus\": 2,\n", - " \"num_gpus\": 0,\n", - " \"output_data_dir\": \"/opt/ml/output/data\",\n", - " \"output_dir\": \"/opt/ml/output\",\n", - " \"output_intermediate_dir\": \"/opt/ml/output/intermediate\",\n", - " \"resource_config\": {\n", - " \"current_host\": \"algo-1\",\n", - " \"hosts\": [\n", - " \"algo-1\"\n", - " ],\n", - " \"network_interface_name\": \"eth0\"\n", - " },\n", - " \"user_entry_point\": \"braket_container.py\"\u001B[0m\n", - "...............................................\n", - "...............................................\n", - "\u001B[34mRunning Code As Subprocess\u001B[0m\n", - "\u001B[34mTest job started!!!!!\u001B[0m\n", - "\u001B[34mCounter({'0': 88, '1': 12})\u001B[0m\n", - "\u001B[34mCounter({'1': 58, '0': 42})\u001B[0m\n", - "\u001B[34mCounter({'1': 54, '0': 46})\u001B[0m\n", - "\u001B[34mCounter({'0': 100})\u001B[0m\n", - "\u001B[34mCounter({'0': 100})\u001B[0m\n", - "\u001B[34mTest job completed!!!!!\u001B[0m\n", - "\u001B[34mCode Run Finished\u001B[0m\n", - "\u001B[34m2021-11-10 20:55:58,953 sagemaker-training-toolkit INFO Reporting training SUCCESS\u001B[0m\n" - ] - } - ], - "source": [ - "# This cell should take about 5 mins\n", - "job = AwsQuantumJob.create(\n", - " device=Devices.Amazon.SV1,\n", - " source_module=\"algorithm_script.py\",\n", - " wait_until_complete=True,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In this example, the algorithm is defined by a single file, so the `source_module` is `algorithm_script.py`. Depending on your application, there are other options for setting the source module. For example, if you wish to only execute a part of `algorithm_script.py` at the start of a Braket Hybrid Job, you can package that part to be a `starting_function()`. Then assign the function as the entry point by adding the `entry_point` input argument." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "source_module = \"algorithm_script.py\"\n", - "entry_point = \"algorithm_script:starting_function\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "If your algorithm script requires other dependencies, you can put them all in one folder, say the `algorithm_folder`. The input arguments would then be" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "source_module = \"algorithm_folder\"\n", - "entry_point = \"algorithm_folder.algorithm_script:starting_function\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Checking hybrid job state and loading results\n", - "\n", - "The status of a Braket Job can be checked by calling `job.state()`. The state will be one of \"QUEUED\", \"RUNNING\", \"FAILED\", \"COMPLETED\", \"CANCELLING\", or \"CANCELLED\". " - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'COMPLETED'" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "job.state()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Once completed, the result can be retrieved using `job.result()`. Logs and metadata are also accessible via `job.logs()` and `job.metadata()`. If you lose the reference to the hybrid job object, you can always reinstantiate it using your hybrid job ARN as `job=AwsQuantumJob(\"your-job-arn\")`. The ARN of a hybrid job can be found in the Amazon Braket Console. By default the ARN of a hybrid job will be \"`arn:aws:braket:::job/`\". " - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "counts: [{'1': 12, '0': 88}, {'0': 42, '1': 58}, {'0': 46, '1': 54}, {'0': 100}, {'0': 100}]\n", - "angles: [-0.6634809825751307, 1.8729107298836103, -1.8816578492668359, -0.04308463076559567, 0.03224990551866221]\n" - ] - } - ], - "source": [ - "results = job.result() # will return once job.state() = \"COMPLETED\", should be 6 minutes\n", - "print(\"counts: \", results[\"counts\"])\n", - "print(\"angles: \", results[\"angles\"])" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "# print(job.logs()) # uncomment to print logs" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You can also download the result to a local directory." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "job.download_result() # download hybrid job result to local directory" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Task Summary\n", - "{'arn:aws:braket:::device/quantum-simulator/amazon/sv1': {'shots': 500, 'tasks': {'COMPLETED': 5}, 'execution_duration': 0.081, 'billed_execution_duration': 15.0}}\n", - "Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\n", - "Estimated cost to run tasks in this job: 0.01875 USD\n" - ] - } - ], - "source": [ - "print(\"Quantum Task Summary\")\n", - "print(job.result()['task summary'])\n", - "print('Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).')\n", - "print(f\"Estimated cost to run quantum tasks in this hybrid job: {job.result()['estimated cost']} USD\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Increase performance by running hybrid jobs on QPUs\n", - "\n", - "With Braket Hybrid Jobs, you can run hybrid algorithms on all QPUs available through Amazon Braket. When you select a QPU as your device, your hybrid job will have priority access for the duration of your hybrid job. Quantum tasks created as part of your hybrid job will be executed ahead of other tasks in the device queue. This reduces the risk of certain tasks being delayed or drifting calibrations on the device. To secure priority on a device your job needs to wait for the device to complete running or already queued jobs. Before submitting the job on a device, you can check the queue depth for the hybrid jobs. To check the number of hybrid jobs queued on the device call `device.queue_depth().jobs`." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'2'" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Select the device on which you will be submitting your hybrid job.\n", - "device = AwsDevice(Devices.Rigetti.AspenM3)\n", - "device.queue_depth().jobs" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You can seamlessly swap the SV1 simulator for a QPU by changing the device argument in `AwsQuantumJob.create()`. For instance, the code below will create a hybrid job with priority access on the Rigetti Aspen-M-3 device:\n", - "\n", - "
\n", - " Note: The following cell uses the Rigetti Aspen-M-3 device; before you uncomment and run it, make sure the device is currently available. You can find QPU availability windows on the Devices page in the Amazon Braket Console\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "# qpu_job = AwsQuantumJob.create(\n", - "# device=Devices.Rigetti.AspenM3,\n", - "# source_module=\"algorithm_script.py\",\n", - "# wait_until_complete=False,\n", - "# )" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You can check the position of your hybrid job in the queue by calling job.queue_position().queue_position. The queue position is only returned when the job is in \"QUEUED\" state, else None is returned. You can also check why the queue position value is not returned by calling calling `job.queue_position().message`. Here, `job` is the variable to which you assign your job creation. " - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'3'" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# qpu_job.queue_position().queue_position" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "When you create the hybrid job, Amazon Braket will wait for the QPU to become available before initializing the hybrid job. Note that the Braket Hybrid Job will automatically select the AWS region where the device is available. As mentioned earlier, the specified device is provided to the hybrid job in the environment variable `AMZN_BRAKET_DEVICE_ARN`; the script `algorithm_script.py` uses this variable to choose the Braket device to use.\n", - "\n", - "In variational algorithms, there are usually optimization processes that update parameters of a fixed parametrized circuit. When executing such algorithms on a supported QPU with Hybrid Jobs, parametric compilation can improve the performance of the hybrid jobs. All you need to do is to submit the parametrized circuit using free parameters in the algorithm script. Braket will compile the circuit once and manage the compiled circuit of the Hybrid Job. There is no recompilation for subsequent parameter updates to the same circuit, resulting in faster runtimes. An example of algorithm script that uses a parametrized circuit is in `algorithm_script_parametrized_circuit.py`. Use this algorithm script in the place of `algorithm_script.py` and submit a hybrid job to a supported Braket QPU to use parametric compilation. See the Amazon Braket developer guide to learn more about [the usage of free parameters](https://docs.aws.amazon.com/braket/latest/developerguide/braket-constructing-circuit.html#braket-gates) and [parametric compilation with Hybrid Jobs](https://docs.aws.amazon.com/braket/latest/developerguide/braket-jobs.html)." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## AWS Sessions\n", - "\n", - "You can customize the default location where Braket Hybrid Jobs saves and loads results in Amazon S3 by providing the AWS session information. The name of the S3 bucket needs to start with \"amazon-braket-\", and it must be in the same region as the hybrid job being created." - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "from braket.aws import AwsSession\n", - "\n", - "# Set Amazon S3 bucket\n", - "aws_session = AwsSession(default_bucket=\"amazon-braket-bucket-name\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "To create a Braket Hybrid Job with this S3 bucket, pass `aws_session` as an argument to ` AwsQuantumJob.create()`:\n", - "\n", - "```python\n", - "job = AwsQuantumJob.create(\n", - " device=Devices.Amazon.SV1,\n", - " source_module=\"algorithm_script.py\",\n", - " aws_session=aws_session # using specific S3 bucket\n", - ")\n", - "```" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Debugging with local Braket Hybrid Jobs\n", - "\n", - "For faster testing and debugging of your code, you can run a hybrid job locally in your own environment. This feature requires Docker to be installed in your local environment. Amazon Braket notebooks have Docker pre-installed, so you can test local hybrid jobs in hosted notebooks instantly. To install Docker in your local environment, follow these [instructions](https://docs.docker.com/get-docker/). When a local hybrid job is created for the first time, it will take longer because it needs to build the container. The subsequent runs will be faster. Note that local hybrid jobs will not be visible in the Amazon Braket Console.\n", - "\n", - "To run a hybrid job in local mode, make sure the Docker daemon is running, and then simply create a `LocalQuantumJob` instead of an `AwsQuantumJob`. Local hybrid jobs always run synchronously and display the logs." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Using the short-lived AWS credentials found in session. They might expire while running.\n", - "Boto3 Version: 1.18.33\n", - "Beginning Setup\n", - "Completed 50.5 KiB/50.5 KiB (72.5 KiB/s) with 1 file(s) remaining\n", - "...............................................\n", - "...............................................\n", - "Running Code As Subprocess\n", - "Test job started!!!!!\n", - "Counter({'0': 79, '1': 21})\n", - "Counter({'0': 84, '1': 16})\n", - "Counter({'0': 91, '1': 9})\n", - "Counter({'0': 85, '1': 15})\n", - "Counter({'1': 94, '0': 6})\n", - "Test job completed!!!!!\n", - "Code Run Finished\n" - ] - } - ], - "source": [ - "from braket.jobs.local.local_job import LocalQuantumJob\n", - "\n", - "# This cell should take about 2 min\n", - "job = LocalQuantumJob.create(\n", - " device=Devices.Amazon.SV1,\n", - " source_module=\"algorithm_script.py\",\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Task Summary\n", - "{'arn:aws:braket:::device/quantum-simulator/amazon/sv1': {'shots': 500, 'tasks': {'COMPLETED': 5}, 'execution_duration': 0.046, 'billed_execution_duration': 15.0}}\n", - "Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\n", - "Estimated cost to run tasks in this job: 0.01875 USD\n" - ] - } - ], - "source": [ - "print(\"Quantum Task Summary\")\n", - "print(job.result()['task summary'])\n", - "print('Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).')\n", - "print(f\"Estimated cost to run quantum tasks in this hybrid job: {job.result()['estimated cost']} USD\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Creating a Braket Hybrid Job from the Braket console\n", - "\n", - "Besides creating a Braket Hybrid Job programmatically using `AwsQuantumJob.create`, there is also an option to create a hybrid job in the Braket console. Follow [this link](https://us-west-2.console.aws.amazon.com/braket/home#/job/create) to the \\\"Create hybrid job\\\" page. First, we need to give our new hybrid job the algorithm script. The script can be uploaded directly from your computer in the console or selected from files that are uploaded to S3. Here you also have the option to provide input data and parameters to your algorithm. After the algorithm is specified, you have the option to skip directly to the review and create page.\n", - "\n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, you can choose a name for your hybrid job or use the default name. You also have the option to change the default execution role and the default S3 location for uploads.\n", - "\n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Third, select a container environment for your job. The default \"PennyLane\" container is enough for the example in this notebook. For information about using other pre-built or custom containers, see the [Pennylane](../2_Using_PennyLane_with_Braket_Hybrid_Jobs/Using_PennyLane_with_Braket_Hybrid_Jobs.ipynb) and the [BYOC](../3_Bring_your_own_container/bring_your_own_container.ipynb) example notebooks. \n", - "\n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You may also select a Braket on-demand simulator or QPU for your job and configure the execution settings. You also have the option to customize the default locations for checkpoints and output data. We dive deeper into these advanced use cases in other [example notebooks](../2_Using_PennyLane_with_Braket_Hybrid_Jobs/Using_PennyLane_with_Braket_Hybrid_Jobs.ipynb).\n", - "\n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "After finishing all the settings, you can review your selections before submitting your hybrid job. You can now create the hybrid job by clicking the \\\"Create hybrid job\\\" button or return to any earlier step to make edits. We can now view the progress in the Braket console.\n", - "\n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Summary\n", - "\n", - "In this tutorial, we have created our first Braket Job with a simple batch of five circuits using the Amazon Braket SDK and, as an alternative, from the Braket console. We learned how to change the Amazon S3 folder and the AWS region for a job, and how to save results, and how to retrieve queue depth for a device, and queue position for the hybrid job. We learned how to seamlessly change the device to run on simulators or QPUs. We used local mode to quickly test code. Finally, we created the same job using the Braket console." - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "conda_braket", - "language": "python", - "name": "conda_braket" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.9" - }, - "vscode": { - "interpreter": { - "hash": "590fab68195cf107911461461f81d5c472d3d6127f579badfcfad30f03e5cab2" - } - } - }, - "nbformat": 4, - "nbformat_minor": 4 + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Getting started with Amazon Braket Hybrid Jobs\n", + "\n", + "This tutorial shows how to run your first Amazon Braket Hybrid Job. To get started, we consider small circuits with only one qubit and one gate.\n", + "\n", + "\n", + "## Learning outcomes\n", + "* Get setup to run your first hybrid job\n", + "* Write an algorithm script to run on Braket Hybrid Jobs\n", + "* Understand how to run scripts or functions\n", + "* Create a hybrid job on Braket simulators or QPUs\n", + "* Monitoring the hybrid job state\n", + "* Save results from a hybrid job\n", + "* Using a specific AWS session\n", + "* Running hybrid jobs with priority on QPUs\n", + "* Use local hybrid jobs to quickly test and debug scripts\n", + "* Create a Braket Hybrid Job using the Braket console" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Getting setup to run Braket Hybrid Jobs\n", + "\n", + "When you use Amazon Braket Hybrid Jobs for the first time, you need to create an IAM role with the right [permissions](https://docs.aws.amazon.com/braket/latest/developerguide/braket-manage-access.html#about-amazonbraketjobsexecution). This role allows your hybrid job to perform actions on your behalf while it is executing your algorithm, for instance, access S3 to return the results of your hybrid job. To create the role or check if you already have one please visit the Permissions tab from the left menu of the Braket Console.\n", + "\n", + "## Writing an algorithm script\n", + "\n", + "To create a Braket Hybrid Job, you first need a Python script to run. In this example, it's contained in `algorithm_script.py`. The script is printed in the code cell below for convenience. \n", + "\n", + "As shown, each of the circuits has only one $X$ rotation gate with a random angle. The circuit is repeated five times with different random rotations. Note that the algorithm script does not specify the backend Amazon Braket device ARN explicitly. Instead, it is provided through environment variables such as `os.environ[\"AMZN_BRAKET_DEVICE_ARN\"]` that are passed to the algorithm script when creating the hybrid job. " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "#### This block is a copy of the algorithm script.\n", + "\n", + "```python\n", + "\n", + "import os\n", + "import numpy as np\n", + "\n", + "from braket.aws import AwsDevice\n", + "from braket.circuits import Circuit\n", + "from braket.jobs import save_job_result\n", + "from braket.tracking import Tracker\n", + "\n", + "t = Tracker().start()\n", + "\n", + "print(\"Test hybrid job started!\")\n", + "\n", + "# Use the device declared in the creation script\n", + "device = AwsDevice(os.environ[\"AMZN_BRAKET_DEVICE_ARN\"])\n", + "\n", + "counts_list = []\n", + "angle_list = []\n", + "for _ in range(5):\n", + " angle = np.pi * np.random.randn()\n", + " random_circuit = Circuit().rx(0, angle)\n", + "\n", + " task = device.run(random_circuit, shots=100)\n", + " counts = task.result().measurement_counts\n", + "\n", + " angle_list.append(angle)\n", + " counts_list.append(counts)\n", + " print(counts)\n", + "\n", + "# Save the variables of interest so that we can access later\n", + "save_job_result({\"counts\": counts_list, \"angle\": angle_list, \"estimated cost\": t.qpu_tasks_cost() + t.simulator_tasks_cost()})\n", + "\n", + "print(\"Test hybrid job completed!\")\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Creating your first hybrid job\n", + "\n", + "Once the script is finalized, you can create a Braket Hybrid Job with `AwsQuantumJob`. When the hybrid job is created, Amazon Braket starts the hybrid job instance (based on EC2) and spins up a Docker container to run your algorithm script. Other configurations can be specified via keyword arguments. See the [developer guide](https://docs.aws.amazon.com/braket/latest/developerguide/what-is-braket.html) and other example notebooks to learn more about how to customize your jobs\n", + "\n", + "This example uses the following inputs for `AwsQuantumJob`:\n", + "- device: The ARN of the Braket simulator or QPU to use in the hybrid job. It will be passed as an environment variable to the algorithm script. \n", + "- source_module: The path to a file or a Python module that contains your algorithm script. It will be uploaded to the container for running the Braket Hybrid Job.\n", + "- wait_until_complete (optional): If True, the function call will wait until the Braket Hybrid Job is completed and will additionally print logs to the local console. Otherwise, it will run asynchronously. The default is False." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "from braket.aws import AwsDevice, AwsQuantumJob\n", + "from braket.devices import Devices" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Initializing Braket Job: arn:aws:braket:::job/\n", + "...............................................\n", + "\u001b[34m2021-11-10 20:55:24,467 sagemaker-training-toolkit INFO Invoking user script\u001b[0m\n", + "\u001b[34mTraining Env:\u001b[0m\n", + "\u001b[34m{\n", + " \"additional_framework_parameters\": {},\n", + " \"channel_input_dirs\": {},\n", + " \"current_host\": \"algo-1\",\n", + " \"framework_module\": null,\n", + " \"hosts\": [\n", + " \"algo-1\"\n", + " ],\n", + " \"hyperparameters\": {},\n", + " \"input_config_dir\": \"/opt/ml/input/config\",\n", + " \"input_data_config\": {},\n", + " \"input_dir\": \"/opt/ml/input\",\n", + " \"is_master\": true,\n", + " \"job_name\": \"BraketJob--\",\n", + " \"log_level\": 20,\n", + " \"master_hostname\": \"algo-1\",\n", + " \"model_dir\": \"/opt/ml/model\",\n", + " \"module_dir\": \"/opt/ml/code\",\n", + " \"module_name\": \"braket_container\",\n", + " \"network_interface_name\": \"eth0\",\n", + " \"num_cpus\": 2,\n", + " \"num_gpus\": 0,\n", + " \"output_data_dir\": \"/opt/ml/output/data\",\n", + " \"output_dir\": \"/opt/ml/output\",\n", + " \"output_intermediate_dir\": \"/opt/ml/output/intermediate\",\n", + " \"resource_config\": {\n", + " \"current_host\": \"algo-1\",\n", + " \"hosts\": [\n", + " \"algo-1\"\n", + " ],\n", + " \"network_interface_name\": \"eth0\"\n", + " },\n", + " \"user_entry_point\": \"braket_container.py\"\u001b[0m\n", + "...............................................\n", + "...............................................\n", + "\u001b[34mRunning Code As Subprocess\u001b[0m\n", + "\u001b[34mTest job started!!!!!\u001b[0m\n", + "\u001b[34mCounter({'0': 88, '1': 12})\u001b[0m\n", + "\u001b[34mCounter({'1': 58, '0': 42})\u001b[0m\n", + "\u001b[34mCounter({'1': 54, '0': 46})\u001b[0m\n", + "\u001b[34mCounter({'0': 100})\u001b[0m\n", + "\u001b[34mCounter({'0': 100})\u001b[0m\n", + "\u001b[34mTest job completed!!!!!\u001b[0m\n", + "\u001b[34mCode Run Finished\u001b[0m\n", + "\u001b[34m2021-11-10 20:55:58,953 sagemaker-training-toolkit INFO Reporting training SUCCESS\u001b[0m\n" + ] + } + ], + "source": [ + "# This cell should take about 5 mins\n", + "job = AwsQuantumJob.create(\n", + " device=Devices.Amazon.SV1,\n", + " source_module=\"algorithm_script.py\",\n", + " wait_until_complete=True,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this example, the algorithm is defined by a single file, so the `source_module` is `algorithm_script.py`. Depending on your application, there are other options for setting the source module. For example, if you wish to only execute a part of `algorithm_script.py` at the start of a Braket Hybrid Job, you can package that part to be a `starting_function()`. Then assign the function as the entry point by adding the `entry_point` input argument." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "source_module = \"algorithm_script.py\"\n", + "entry_point = \"algorithm_script:starting_function\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If your algorithm script requires other dependencies, you can put them all in one folder, say the `algorithm_folder`. The input arguments would then be" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "source_module = \"algorithm_folder\"\n", + "entry_point = \"algorithm_folder.algorithm_script:starting_function\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Checking hybrid job state and loading results\n", + "\n", + "The status of a Braket Job can be checked by calling `job.state()`. The state will be one of \"QUEUED\", \"RUNNING\", \"FAILED\", \"COMPLETED\", \"CANCELLING\", or \"CANCELLED\". " + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'COMPLETED'" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "job.state()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Once completed, the result can be retrieved using `job.result()`. Logs and metadata are also accessible via `job.logs()` and `job.metadata()`. If you lose the reference to the hybrid job object, you can always reinstantiate it using your hybrid job ARN as `job=AwsQuantumJob(\"your-job-arn\")`. The ARN of a hybrid job can be found in the Amazon Braket Console. By default the ARN of a hybrid job will be \"`arn:aws:braket:::job/`\". " + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "counts: [{'1': 12, '0': 88}, {'0': 42, '1': 58}, {'0': 46, '1': 54}, {'0': 100}, {'0': 100}]\n", + "angles: [-0.6634809825751307, 1.8729107298836103, -1.8816578492668359, -0.04308463076559567, 0.03224990551866221]\n" + ] + } + ], + "source": [ + "results = job.result() # will return once job.state() = \"COMPLETED\", should be 6 minutes\n", + "print(\"counts: \", results[\"counts\"])\n", + "print(\"angles: \", results[\"angles\"])" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "# print(job.logs()) # uncomment to print logs" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can also download the result to a local directory." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "job.download_result() # download hybrid job result to local directory" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Task Summary\n", + "{'arn:aws:braket:::device/quantum-simulator/amazon/sv1': {'shots': 500, 'tasks': {'COMPLETED': 5}, 'execution_duration': 0.081, 'billed_execution_duration': 15.0}}\n", + "Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\n", + "Estimated cost to run tasks in this job: 0.01875 USD\n" + ] + } + ], + "source": [ + "print(\"Quantum Task Summary\")\n", + "print(job.result()['task summary'])\n", + "print('Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).')\n", + "print(f\"Estimated cost to run quantum tasks in this hybrid job: {job.result()['estimated cost']} USD\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Increase performance by running hybrid jobs on QPUs\n", + "\n", + "With Braket Hybrid Jobs, you can run hybrid algorithms on all QPUs available through Amazon Braket. When you select a QPU as your device, your hybrid job will have priority access for the duration of your hybrid job. Quantum tasks created as part of your hybrid job will be executed ahead of other tasks in the device queue. This reduces the risk of certain tasks being delayed or drifting calibrations on the device. To secure priority on a device your job needs to wait for the device to complete running or already queued jobs. Before submitting the job on a device, you can check the queue depth for the hybrid jobs. To check the number of hybrid jobs queued on the device call `device.queue_depth().jobs`." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'2'" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Select the device on which you will be submitting your hybrid job.\n", + "device = AwsDevice(Devices.Rigetti.Ankaa2)\n", + "device.queue_depth().jobs" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can seamlessly swap the SV1 simulator for a QPU by changing the device argument in `AwsQuantumJob.create()`. For instance, the code below will create a hybrid job with priority access on the Rigetti Ankaa-2 device:" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "# qpu_job = AwsQuantumJob.create(\n", + "# device=Devices.Rigetti.Ankaa2,\n", + "# source_module=\"algorithm_script.py\",\n", + "# wait_until_complete=False,\n", + "# )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can check the position of your hybrid job in the queue by calling job.queue_position().queue_position. The queue position is only returned when the job is in \"QUEUED\" state, else None is returned. You can also check why the queue position value is not returned by calling calling `job.queue_position().message`. Here, `job` is the variable to which you assign your job creation. " + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'3'" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# qpu_job.queue_position().queue_position" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "When you create the hybrid job, Amazon Braket will wait for the QPU to become available before initializing the hybrid job. Note that the Braket Hybrid Job will automatically select the AWS region where the device is available. As mentioned earlier, the specified device is provided to the hybrid job in the environment variable `AMZN_BRAKET_DEVICE_ARN`; the script `algorithm_script.py` uses this variable to choose the Braket device to use.\n", + "\n", + "In variational algorithms, there are usually optimization processes that update parameters of a fixed parametrized circuit. When executing such algorithms on a supported QPU with Hybrid Jobs, parametric compilation can improve the performance of the hybrid jobs. All you need to do is to submit the parametrized circuit using free parameters in the algorithm script. Braket will compile the circuit once and manage the compiled circuit of the Hybrid Job. There is no recompilation for subsequent parameter updates to the same circuit, resulting in faster runtimes. An example of algorithm script that uses a parametrized circuit is in `algorithm_script_parametrized_circuit.py`. Use this algorithm script in the place of `algorithm_script.py` and submit a hybrid job to a supported Braket QPU to use parametric compilation. See the Amazon Braket developer guide to learn more about [the usage of free parameters](https://docs.aws.amazon.com/braket/latest/developerguide/braket-constructing-circuit.html#braket-gates) and [parametric compilation with Hybrid Jobs](https://docs.aws.amazon.com/braket/latest/developerguide/braket-jobs.html)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## AWS Sessions\n", + "\n", + "You can customize the default location where Braket Hybrid Jobs saves and loads results in Amazon S3 by providing the AWS session information. The name of the S3 bucket needs to start with \"amazon-braket-\", and it must be in the same region as the hybrid job being created." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "from braket.aws import AwsSession\n", + "\n", + "# Set Amazon S3 bucket\n", + "aws_session = AwsSession(default_bucket=\"amazon-braket-bucket-name\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To create a Braket Hybrid Job with this S3 bucket, pass `aws_session` as an argument to ` AwsQuantumJob.create()`:\n", + "\n", + "```python\n", + "job = AwsQuantumJob.create(\n", + " device=Devices.Amazon.SV1,\n", + " source_module=\"algorithm_script.py\",\n", + " aws_session=aws_session # using specific S3 bucket\n", + ")\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Debugging with local Braket Hybrid Jobs\n", + "\n", + "For faster testing and debugging of your code, you can run a hybrid job locally in your own environment. This feature requires Docker to be installed in your local environment. Amazon Braket notebooks have Docker pre-installed, so you can test local hybrid jobs in hosted notebooks instantly. To install Docker in your local environment, follow these [instructions](https://docs.docker.com/get-docker/). When a local hybrid job is created for the first time, it will take longer because it needs to build the container. The subsequent runs will be faster. Note that local hybrid jobs will not be visible in the Amazon Braket Console.\n", + "\n", + "To run a hybrid job in local mode, make sure the Docker daemon is running, and then simply create a `LocalQuantumJob` instead of an `AwsQuantumJob`. Local hybrid jobs always run synchronously and display the logs." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Using the short-lived AWS credentials found in session. They might expire while running.\n", + "Boto3 Version: 1.18.33\n", + "Beginning Setup\n", + "Completed 50.5 KiB/50.5 KiB (72.5 KiB/s) with 1 file(s) remaining\n", + "...............................................\n", + "...............................................\n", + "Running Code As Subprocess\n", + "Test job started!!!!!\n", + "Counter({'0': 79, '1': 21})\n", + "Counter({'0': 84, '1': 16})\n", + "Counter({'0': 91, '1': 9})\n", + "Counter({'0': 85, '1': 15})\n", + "Counter({'1': 94, '0': 6})\n", + "Test job completed!!!!!\n", + "Code Run Finished\n" + ] + } + ], + "source": [ + "from braket.jobs.local.local_job import LocalQuantumJob\n", + "\n", + "# This cell should take about 2 min\n", + "job = LocalQuantumJob.create(\n", + " device=Devices.Amazon.SV1,\n", + " source_module=\"algorithm_script.py\",\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Task Summary\n", + "{'arn:aws:braket:::device/quantum-simulator/amazon/sv1': {'shots': 500, 'tasks': {'COMPLETED': 5}, 'execution_duration': 0.046, 'billed_execution_duration': 15.0}}\n", + "Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\n", + "Estimated cost to run tasks in this job: 0.01875 USD\n" + ] + } + ], + "source": [ + "print(\"Quantum Task Summary\")\n", + "print(job.result()['task summary'])\n", + "print('Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).')\n", + "print(f\"Estimated cost to run quantum tasks in this hybrid job: {job.result()['estimated cost']} USD\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Creating a Braket Hybrid Job from the Braket console\n", + "\n", + "Besides creating a Braket Hybrid Job programmatically using `AwsQuantumJob.create`, there is also an option to create a hybrid job in the Braket console. Follow [this link](https://us-west-2.console.aws.amazon.com/braket/home#/job/create) to the \\\"Create hybrid job\\\" page. First, we need to give our new hybrid job the algorithm script. The script can be uploaded directly from your computer in the console or selected from files that are uploaded to S3. Here you also have the option to provide input data and parameters to your algorithm. After the algorithm is specified, you have the option to skip directly to the review and create page.\n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, you can choose a name for your hybrid job or use the default name. You also have the option to change the default execution role and the default S3 location for uploads.\n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Third, select a container environment for your job. The default \"PennyLane\" container is enough for the example in this notebook. For information about using other pre-built or custom containers, see the [Pennylane](../2_Using_PennyLane_with_Braket_Hybrid_Jobs/Using_PennyLane_with_Braket_Hybrid_Jobs.ipynb) and the [BYOC](../3_Bring_your_own_container/bring_your_own_container.ipynb) example notebooks. \n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You may also select a Braket on-demand simulator or QPU for your job and configure the execution settings. You also have the option to customize the default locations for checkpoints and output data. We dive deeper into these advanced use cases in other [example notebooks](../2_Using_PennyLane_with_Braket_Hybrid_Jobs/Using_PennyLane_with_Braket_Hybrid_Jobs.ipynb).\n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "After finishing all the settings, you can review your selections before submitting your hybrid job. You can now create the hybrid job by clicking the \\\"Create hybrid job\\\" button or return to any earlier step to make edits. We can now view the progress in the Braket console.\n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Summary\n", + "\n", + "In this tutorial, we have created our first Braket Job with a simple batch of five circuits using the Amazon Braket SDK and, as an alternative, from the Braket console. We learned how to change the Amazon S3 folder and the AWS region for a job, and how to save results, and how to retrieve queue depth for a device, and queue position for the hybrid job. We learned how to seamlessly change the device to run on simulators or QPUs. We used local mode to quickly test code. Finally, we created the same job using the Braket console." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "conda_braket", + "language": "python", + "name": "conda_braket" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.9" + }, + "vscode": { + "interpreter": { + "hash": "590fab68195cf107911461461f81d5c472d3d6127f579badfcfad30f03e5cab2" + } + } + }, + "nbformat": 4, + "nbformat_minor": 4 } diff --git a/examples/hybrid_quantum_algorithms/QAOA/QAOA_braket.ipynb b/examples/hybrid_quantum_algorithms/QAOA/QAOA_braket.ipynb index 498b9c9c7..d220741ed 100644 --- a/examples/hybrid_quantum_algorithms/QAOA/QAOA_braket.ipynb +++ b/examples/hybrid_quantum_algorithms/QAOA/QAOA_braket.ipynb @@ -1,1121 +1,1121 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "# Use Braket SDK Cost Tracking to estimate the cost to run this example\n", - "from braket.tracking import Tracker\n", - "t = Tracker().start()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# QUANTUM APPROXIMATE OPTIMIZATION ALGORITHM (QAOA)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In this tutorial we show how to (approximately) solve binary combinatorial optimization problems, using the __Quantum Approximate Optimization Algorithm (QAOA)__, as introduced in Ref.[1]. \n", - "The QAOA algorithm belongs to the class of __hybrid quantum algorithms__ (leveraging both classical as well as quantum compute), that are widely believed to be the working horse for the current __NISQ (noisy intermediate-scale quantum) era__.\n", - "In this NISQ era QAOA is also an emerging approach for benchmarking quantum devices and is a prime candidate for demonstrating a practical quantum speed-up on near-term NISQ device [1,4]. \n", - "To validate our approach we benchmark our results with exact results as obtained from classical QUBO solvers. \n", - "\n", - "We provide a step-by-step walkthrough explaining the QAOA quantum algorithm and show how to build the corresponding parametrized quantum circuit ansatz using the ```Braket``` SDK, with simple modular building blocks (that can be re-used for other purposes). \n", - "We use open-source off-the-shelf ```scipy``` optimizers for classical numerical optimization. \n", - "While we demonstrate our proof-of-concept approach using classical simulators for circuit execution, our code could in principle be run on actual quantum hardware by simply changing the definition of the ```device``` object (provided that the gate set used in the ansatz is supported by the device, as is the case here for IonQ; for Rigetti we need to apply one more extra trick as shown below). " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## BACKGROUND: HYBRID QUANTUM ALGORITHMS" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Quantum computers hold the promise to outperform even the most-powerful classical computers on a range of computational problems in (for example) optimization, chemistry, material science and cryptography.\n", - "The canonical set of quantum algorithms (such as Shor's or Grover's quantum algorithms), however, comes with hardware requirements (such as a large number of quantum gates) that are currently not available with state-of-the-art technology. \n", - "Specifically, these algorithms are typically believed to be feasible only with fault-tolerance as provided by quantum error correction. \n", - "In the current __noisy intermediate-scale (NISQ) era__, near-term quantum computers do not have a large enough number of physical qubits for the implementation of error correction protocols, making this canonical set of quantum algorithms unsuitable for near-term devices. Against this background, the near-term focus has widely shifted to the class of __hybrid quantum algorithms__ that do not require quantum error correction. \n", - "In these hybrid quantum algorithms, the noisy __near-term quantum computers are used as co-processors__ only, within a larger classical optimization loop, as sketched in the schematic figure below. \n", - "Here, the undesired effects of noise are suppressed by deliberately limiting the quantum circuits on the quantum processing unit (QPU) to short bursts of the calculation, and the need for long coherence times (as required for the standard set of quantum algorithms) is traded for a classical overhead due to (possibly many) measurement repetitions and (essentially error-free) classical processing. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "__Variational Quantum Algorithms__: Specifically, variational quantum algorithms such as the Quantum Approximate Optimization Algorithm (QAOA) [1] belong to this emerging class of hybrid quantum algorithms. \n", - "These are widely believed to be promising candidates for the demonstration of a __quantum advantage__, already with near-term (NISQ) devices in areas such as quantum chemistry [2], condensed matter simulations [3], and discrete optimization tasks [4].\n", - "\n", - "__Variational Quantum Computing vs. Deep Learning__: The working principle of variational quantum computing is very much reminiscent of training deep neural networks: \n", - "when you train a neural network, you have an objective function that you want to minimize, typically characterized by the error on your training set. \n", - "To minimize that error, typically you start out with an initial guess for the weights in your network. \n", - "The coprocessor, in that case a GPU, takes these weights which define the exact operation to execute and the output of the neural network is computed. \n", - "This output is then used to calculate the value of your objective function, which in turn is used by the CPU to make an educated guess to update the weights and the cycle continues. \n", - "Variational quantum algorithms, a specific form of hybrid algorithms, work in the very same way, using parametrized quantum circuits rather than parametrized neural networks and replacing the GPU with a QPU. \n", - "Here, you start with an initial guess for the parameters that define your circuit, have the QPU execute that circuit, perform measurements to calculate an objective function, pass this value (together with the current values of the parameters) back to the CPU and have this *classical* CPU update the parameters based on that information. \n", - "\n", - "Of course, coordinating that workflow for quantum computers is much more challenging than in the previous case. Quantum computers are located in specialized laboratory facilities, are typically single threaded, and have special latency requirements. \n", - "This is exactly the undifferentiated heavy-lifting that Amazon Braket handles for us, such that we can focus on our scientific problem. \n", - "For the sake of this introductory tutorial, we simply use a classical circuit simulator (that mimic the behavior of a quantum machine) as the device to execute our quantum circuits.\n", - "Within Amazon Braket, the workflow, however, is exactly the same. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## BACKGROUND: QUADRATIC BINARY OPTIMIZATION PROBLEMS" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "__Combinatorial optimization__: \n", - "Combinatorial optimization problems are ubiquitous across many areas of science and application areas. \n", - "Applications can be found (for example) in logistics, scheduling, planning, and portfolio optimization.\n", - "In a nutshell combinatorial optimization problems are problems involving a large number of yes/no decisions with each set of decisions yielding a corresponding objective function value, like a cost or profit value. \n", - "Because of the combinatorial explosion of the solution space with the number of variables, finding good solutions is a daunting task and extremely difficult. \n", - "\n", - "__QUBO problems__: The QUBO ([Quadratic Unconstrained Binary Optimization](https://en.wikipedia.org/wiki/Quadratic_unconstrained_binary_optimization)) model unifies a rich variety of NP-hard combinatorial optimization problems: \n", - "Famous examples include Quadratic Assignment Problems, Capital Budgeting Problems, Task Allocation Problems and Maximum-Cut Problems. \n", - "For more details we refer to the excellent review and tutorial on QUBO problems presented in Ref.[5].\n", - "\n", - "__Maximum Cut__: Among the class of QUBO problems, Maximum Cut (MaxCut) is paradigm combinatorial optimization problem. \n", - "Given a graph $G=(V,E)$ with vertex set $V$ and edge set $E$, we seek partition of $V$ into two subsets with maximum cut. \n", - "In short, we have to color every node either blue or red and we score a point whenever an edge connects two nodes with different colors. \n", - "We then would like to find the solution with the highest score. \n", - "Applications thereof can be found in, for example, (i) clustering for marketing purposes (segment your customer base into different clusters for targeted marketing) or (ii) portfolio optimization in finance (vertex corresponds to asset, with color referring to sell or buy decisions. \n", - "Again, the problem in this specific graph coloring problem is that there are $2^𝑁$ possible solutions for $N$ nodes (an exponential explosion in possibilities), making it impossible to enumerate all possible candidates for relevant system sizes. \n", - "\n", - "__Ising Hamiltonian__: Importantly, there is a fundamental correspondence between QUBO problems and Ising problems in physics. \n", - "Specifically, we can encode the Maximum Cut problem as a __minimization problem__ of an Ising Hamiltonian, where the (classical) cost function reads \n", - "\n", - "$$H_{C}=\\sum_{i>j} J_{i,j} z_{i} z_{j},$$\n", - "\n", - "with Ising variables $z_{i}=-1,1$ and the Ising matrix $J$ encoding the weights of the edges. \n", - "For the sake of this discussion, we ignore potential linear terms and constant offsets (that do not affect the optimal solution $z$ anyway). \n", - "In short, the cost Hamiltonian $H_{C}$ assigns a number to every bitstring $z=(z_{1},z_{2},\\dots)$, and we would like to find the lowest number possible. \n", - "This will be the optimal assignment and solution to our problem. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## BACKGROUND: THE QUANTUM APPROXIMATE OPTIMIZATION ALGORITHM" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In this tutorial we will try to solve for the optimal _classical_ bitstring $z$ using the Quantum Approximate Optimization Algorithm (QAOA). \n", - "To this end, we first promote the classical spin variables $z_{i}=-1,1$ to quantum-mechanical variables $\\sigma_{i}^{z}$ (with the Pauli matrix $\\sigma_{i}^{z}$ representing the observable corresponding to spin along the $z$ coordinate axis in three-dimensional Euclidean space $\\mathbb{R}^{3}$). \n", - "This leads to the following quantum mechanical cost Hamiltonian encoding the optimization problem\n", - "\n", - "$$\\hat{H}_{C}=\\sum_{i>j} J_{i,j} \\sigma_{i}^{z} \\sigma_{j}^{z},$$\n", - "\n", - "which can be written as a matrix of size $(2^{N}, 2^{N})$ with diagonal elements only corresponding to all possible classical values for the cost function $H_{C}$. \n", - "The ground state of $\\hat{H}_{C}$ corresponds to the optimal solution of the classical combinatorial problem.\n", - "\n", - "__QAOA ansatz__: Finding this ground state is generically hard. \n", - "To approximate this groundstate, QAOA prepares a parametrized ansatz state (corresponding to a parameterized gate sequence), whose parameters are iteratively updated by a classical optimizer in a closed loop. \n", - "Specifically, QAOA involves a specific ansatz wavefunction parametrized by a parameter family $(\\vec{\\beta}, \\vec{\\gamma})$, embedded into a larger classical optimization loop to find the optimal values for these parameters. \n", - "As shown in Ref.[1], good approximate solutions to the problem class considered here can be found by preparing the variational state \n", - "\n", - "$$|\\gamma, \\beta \\rangle = U_{x}(\\beta_{p})U_{zz}(\\gamma_{p}) \\cdots U_{x}(\\beta_{1})U_{zz}(\\gamma_{1}) |s\\rangle$$\n", - "\n", - "with single qubit rotations induced by $U_{x}(\\beta) = \\exp(-i\\beta \\sum_{i}\\sigma_{i}^{x})$, \n", - "and interactions described by $U_{zz}(\\gamma) = \\exp(-i\\gamma H_{C})$,\n", - "starting initially from a product of $\\sigma^{x}$ eigenstates, i.e.,\n", - "$|s\\rangle =|-,-,\\dots\\rangle$, with $|-\\rangle = (|0\\rangle -|1\\rangle )/\\sqrt{2}$. \n", - "The family of states $|\\gamma, \\beta \\rangle$ is prepared by alternating single-qubit operations $U_{x}(\\beta_{p})$ with targeted spin-spin interactions generated by the cost Hamiltonian $H_{C}$. \n", - "The depth $p$ can be interpreted as a hyperparameter. \n", - "For $p$ layers of QAOA blocks, there are $2p$ classical parameters to optimize over, \n", - "since each layer $k$ is characterized by just two variational parameters, $\\gamma_{k}$ and $\\beta_{k}$. \n", - "The preparation step outlined above is followed by a measurement in the computational basis, giving a classical string $z$, with which one can evaluate the objective function $H_{C}$ of the underlying combinatorial problem at hand. \n", - "Taking several measurements shots one can build the expectation value $E(\\beta, \\gamma) = \\langle H_{C} \\rangle$ that we report as the objective function to the classical minimizer (while other choices could be possible as well). \n", - "Repeating this procedure will provide an optimized string $z$, with the quality of the result improving as the depth of the quantum circuit $\\sim 2p$ is increased [1]. \n", - "In fact, in principle (in the absence of noise and other imperfections), QAOA can reach the global optimum of any cost function in the limit $p \\rightarrow \\infty$ [1], approaching the adiabatic protocol. \n", - "Thus, in theory the computational power of QAOA increases with $p$, but in practice the number of layers that can be executed without errors on NISQ devices is limited due noise and imperfections. \n", - "\n", - "__Optimization__: Since we are primarily interested in solving the classical optimization problem, within this routine it is sufficient to keep track of the best classical bitstring. \n", - "This means that the wavefunction prepared by the quantum circuit $|\\gamma, \\beta \\rangle$ has to have some overlap with the optimal solution $|z^{*} \\rangle$ that we can read out as bitstring $z^{*}$ in the measurement shots. \n", - "To this end, in principle (i.e., without any training), we could just sample from a completely uniform state that is prepared in a superposition of all computational basis states, as prepared by applying Hadamard gates to all qubits: $|\\mathrm{uniform}\\rangle = 1/\\sqrt{2^{N}}\\sum_{i}|z_{i}\\rangle$. \n", - "In that case (assuming a single optimal solution) the success probability per shot amounts to $p_{\\mathrm{success}}=1/2^{N}$. \n", - "We can then amplify our success chances by just taking many measurement shots. \n", - "For large systems, however, this approach is not scalable as we would need to take an exponentially increasing number of measurements. \n", - "That is why we train our circuits, update the parameters, with the goal to increase our success chances to find the optimal bitstring. \n", - "We can quantify our success chances as follows [6]. \n", - "For a given wavefunction $|\\gamma, \\beta \\rangle$ the probability to find the optimal solution in a single shot is given by \n", - "\n", - "$$ p_{\\mathrm{success}}(\\gamma, \\beta) = |\\langle z^{*}|\\gamma, \\beta \\rangle |^{2},$$\n", - "\n", - "where $z^{*}$ denotes the optimal bitstring. \n", - "If we perform $M$ repeated measurements, the overall probability $P$ for observing this solution at least once is given by \n", - "\n", - "$$ P = 1 - (1-p_{\\mathrm{success}}(\\gamma, \\beta))^{M}, $$ \n", - "\n", - "since the term $(1-p_{\\mathrm{success}}(\\gamma, \\beta))^{M}$ gives the probability of _not_ obtaining $z^{*}$ in repeated $M$ trials. \n", - "Therefore, to have an overall success chance up to $\\epsilon$ close to 100%, i.e., $P \\geq 1-\\epsilon$, the number of required shots has to be \n", - "\n", - "$$ M \\geq \\frac{\\log(\\epsilon)}{\\log(1-p_{\\mathrm{success}}(\\gamma, \\beta))}.$$\n", - "\n", - "Let us illustrate this results as follows: \n", - "If we do not know anything and just resort to a uniform superposition $|\\mathrm{uniform}\\rangle$, for a small system with $N=10$ qubits we can find the optimal solutions with 80% success probability by taking at least $\\sim 1650$ shots. \n", - "For just $N=20$ qubits, however, this number amounts to $\\sim 1.7 \\times 10^{6}$, making this naive approach unfeasible. \n", - "Conversely, if we can train the quantum circuit to obtain $p_{\\mathrm{success}}(\\gamma, \\beta) \\sim 0.1$, we only need $\\sim 15$ shots to have $P\\geq 80\\%$. \n", - "Below we will track and illustrate the best classical optimum as our algorithm proceeds towards a local or (ideally) global optimum. \n", - "\n", - "__Objective function__: Finally, some more details on the definition of the cost function are in order. \n", - "Following the standard approach [1, 4], QAOA tries to minimize the expectation value $\\langle \\hat{H}_{C} \\rangle$, but does _not_ explicitly maximize the success probability [6]. \n", - "However, a low expectation value for $\\langle \\hat{H}_{C} \\rangle$ does not necessarily translate to a high success probability $p_{\\mathrm{success}}(\\gamma, \\beta)$, as can be understood from the following example:\n", - "Consider (for example) a variational state that is a linear combination of low energy excited eigenstates of the cost Hamiltonian $\\hat{H}_{C}$ other than the ground state $|z^{*}\\rangle$. \n", - "By definition, this state will have a relatively low expectation value $\\langle \\hat{H}_{C} \\rangle$ while the success probability is zero (as this low energy state does not have any overlap with the ground state). \n", - "Similarly, a variational state that is a linear combination of the ground state with very high energy eigenstates could have a high success probability $p_{\\mathrm{success}}(\\gamma, \\beta)$, while (at the same time) reporting a high cost value to the classical optimizer.\n", - "To address this issue, alternative methods for the optimization of the variational parameters have recently been proposed. \n", - "While for simplicity we follow the majority of the literature and take $\\langle \\hat{H}_{C} \\rangle$ as cost value that we report to the classical optimizer, here we do mention a potential alternative for future research: \n", - "One approach is to use the Gibbs objective function, defined as $\\mathrm{cost}=-\\mathrm{log} \\langle \\exp(-\\eta \\hat{H}_{C})\\rangle$, with the hyperparameter $\\eta>0$ [7]. \n", - "As compared to the simple expectation value $\\langle \\hat{H}_{C} \\rangle$, this definition of the cost value shows stronger rewards for low energy states, thereby increasing the success probability. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## IMPORTS and SETUP" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "For classical benchmarking we will be using the python library ```pyqubo```, as used in our helper script ```utils_classical```. If not already present in your virtual environment, you can install this library simply with ```pip install pyqubo```. Similarly, as ```seaborn``` are not expected to be present in the virtual environment by default, we will install them via ```pip install seaborn```. Note the ```-q``` to suppress install updates from ```pip```." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# If these have already been installed, this cell can be commented out.\n", - "!pip install pyqubo -q\n", - "!pip install seaborn -q" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "# general imports\n", - "import numpy as np\n", - "from scipy.optimize import minimize\n", - "import matplotlib.pyplot as plt\n", - "import networkx as nx\n", - "import seaborn as sns\n", - "import time\n", - "from datetime import datetime\n", - "import pickle\n", - "import random\n", - "\n", - "# magic line for producing visualizations in notebook\n", - "%matplotlib inline" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "# fix random seed for reproducibility\n", - "seed = 42\n", - "np.random.seed(seed)\n", - "random.seed(a=seed)\n", - "\n", - "# switch to trigger writing training results to disk\n", - "store_results = False\n", - "# switch to trigger printing results of each optimization cycle\n", - "verbose = False" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "# AWS imports: Import Braket SDK modules\n", - "from braket.circuits import FreeParameter\n", - "from braket.devices import LocalSimulator" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "from utils_classical import plot_colored_graph, plot_colored_graph_simple, solve_classical_ising\n", - "# auto reload external files, so that we can edit the external .py file and immediately see the changes here\n", - "%load_ext autoreload\n", - "%autoreload 2" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "# Set up device: Local Simulator\n", - "device = LocalSimulator()" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "## example code for other backends\n", - "# from braket.aws import AwsDevice\n", - "# from braket.devices import Devices\n", - "## choose the on-demand simulator to run your circuit\n", - "# device = AwsDevice(Devices.Amazon.SV1)\n", - "## choose the Rigetti device to run your circuit\n", - "# device = AwsDevice(Devices.Rigetti.Ankaa2)\n", - "## choose the Ionq device to run your circuit\n", - "# device = AwsDevice(Devices.IonQ.Aria1)\n", - "## choose the IQM device to run your circuit\n", - "# device = AwsDevice(Devices.IQM.Garnet)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## PROBLEM SETUP" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We consider a graph coloring problem.\n", - "Given a graph $G=(V,E)$, made of a set vertices (also called nodes) $V$ and edges $E$, our goal is to color each node red or blue, then score a point for each node that is next to a node of different color. \n", - "We strive to find the optimal coloring that scores the largest number of points.\n", - "To this end, we will address the dual problem of finding the minimum energy of the corresponding Ising Hamiltonian. \n", - "To get started, we first use the open-source ```networkx``` library to visualize the problem graph. \n", - "Feel free to play with the parameters $n$ (for the number of nodes) and $m$ (for the number of edges) below to consider other graphs of your choice. " - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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wR/9zLzhh4iIiMia2HShBIDpof3x2jhvk1zrb+N8MC2UayeJiIiI/pNEEARzn1JoEXaml+Pt+Hzo9EKzNus4SCVwlEqwfII/yyQRERHR77CbQgkAF6rrsPi7XCSXXoODVHLXYnn765Ge7oibHMDX3ERERER/wK4K5W0lFTewXVWO48W/oLyqDv/5L0CC34aWj/buiZkj+nM3NxEREdGfsMtC+Z80DTqUVWmg1enR3lGKgW6deAIOERERUTPYfaEkIiIiotax+V3eRERERGReLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQq/x/6+tCJfDntYQAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# setup Erdos Renyi graph\n", - "n = 10 # number of nodes/vertices\n", - "m = 20 # number of edges\n", - "\n", - "# define graph object\n", - "G = nx.gnm_random_graph(n, m, seed=seed)\n", - "# positions for all nodes\n", - "pos = nx.spring_layout(G)\n", - "\n", - "# choose random weights\n", - "for (u, v) in G.edges():\n", - " G.edges[u,v]['weight'] = random.uniform(0, 1)\n", - "\n", - "# draw graph\n", - "nx.draw(G, pos)\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": {}, - "outputs": [], - "source": [ - "# set Ising matrix \n", - "Jfull = nx.to_numpy_array(G)\n", - "\n", - "# get off-diagonal upper triangular matrix\n", - "J = np.triu(Jfull, k=1).astype(np.float64)" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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KF9e/dwfW+Lh6maPZiF1tZqprAzh91rs4TtwtLfAl/2bwMXBEldupWLg+D1IzXh2ybWKq02x//55VbXDWw3dMWDsLl2UXKKdx+/DsZIEX3VrCGc7C1y5l47w6YeQmvUsS2UnK5UV9cdpTxE+7SAm9G2M2JgPkJD+FKt2X8NPf15R9olefQqjuvnh2/CmcLKVIDE9FxsO3MSPWwzw5dUGubz55kQKDWdwR44cQU5ODt5/X/2NyTk5OTh58iRatVJ/+ePV1C9bGx4fCCcLIMQ8HfcfeX03A7E9tAWEMz4+sKzeW9dFaE3u/V+RVbBf12Voja1ZKIT0e632e8t1XYTW3Ng3ELU+/lXXZWjNrXW6/Xug9rtLtX7MGwcHaf2Y2qbxSmGLFq9+75q1tXUZJ4REREREpCv6c/MSERERkT4wzqvHxvp6RiIiIiIqiiuFREREREUZ6YMmnBQSERERFWWk32jCy8dERERExJVCIiIiIhXGuVDIlUIiIiIi4kohERERkSo+aEJEREREvHxMREREREaLK4VERERERSiM9JU0nBQSERERFWWk9xTy8jERERERcaWQiIiISIVxLhRypZCIiIiIAJFCoVDouggiIiIifeH90WqtH/PmH/21fkxt07PLx9d1XYCW+EA4WQAh5imQn9V1EVpjJg6AcMZHeL/XTiTv1HURWhPo0h7CGR/h/V4TXh4d4oMmRERERKQvFi5cCE9PT1hYWCAoKAgnTpwose8777wDkUhUbGvfvn2pz8dJIREREVFRonLYNLRx40ZEREQgKioKp0+fhr+/P8LCwpCUlKS2/5YtW/D48WPldvHiRZiYmKB79+6lPicnhURERER6Zs6cORg0aBDCw8NRr149LFmyBFZWVlixYoXa/o6OjnB3d1du+/btg5WVFSeFRERERGUmEml/00B+fj5OnTqF0NBQZZtYLEZoaCji4+NLdYzly5ejV69esLa2LvV59exBEyIiIiIdK4evuZNKpZBKpSptEokEEomkWN+UlBTIZDK4ubmptLu5ueHq1auvPdeJEydw8eJFLF++XKMauVJIREREVM5iYmJgZ2enssXExJTLuZYvX46GDRsiMDBQo/24UkhERERUVDksmUVGRiIiIkKlTd0qIQA4OzvDxMQEiYmJKu2JiYlwd3d/5XlycnKwYcMGfPvttxrXyJVCIiIionIm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SFkA5tFnQsoCCDOP7iy6vFfrxxxar22p++bn58PKygqbNm1Cp06dlO39+/dHRkYGtm/f/sr9FQoFDhw4gI8++gjbtm3De++9V6rzavzdx/b29pg2bRqmTZum6a5ERERERkkqlRZ700pJt9OlpKRAJpPBzc1Npd3NzQ1Xr14t8RyZmZnw8PCAVCqFiYkJFi1aVOoJIWAEL68mIiIi0kR5vJKmIt68UqlSJZw9exb//vsvvv/+e0RERODQoUOl3l/jlUIiIiIi0kxkZCQiIiJU2kp66NbZ2RkmJiZITExUaU9MTIS7u3uJ5xCLxcoHfgMCAnDlyhXExMQUu9+wxP1L1YuIiIjISJTHK2kkEglsbW1VtpImhebm5mjSpAni4uKUbXK5HHFxcQgODi51DrlcrtGXg3ClkIiIiKgIffhauoiICPTv3x9NmzZFYGAg5s2bh5ycHOXTyP369YOHh4fyEnRMTAyaNm2KWrVqQSqVIjY2FmvWrMHixYtLfU5OComIiIj0TM+ePZGcnIzJkycjISEBAQEB2L17t/Lhk/v370MsfnHBNycnB0OHDsWDBw9gaWkJX19frF27Fj179iz1OTV+JU35Esrj9EJ8NQDz6C8h5RFSFoB59JmQsgDCzKM7K6/v0foxw31K965AXeJKIREREVER+vDyal3ggyZERERExJVCIiIioqK4UkhERERERosrhURERERFmIj06BncCsRJIREREVERxnoZ1VhzExEREVERXCkkIiIiKoIPmhARERGR0dKzbzQhIiIi0q1Nd3Zr/ZjdvN7X+jG1Tc8uHwvlK3qE+HVDzKO/hJRHSFkA5tFnPqju/z9dF6E1989NhOd3e3VdhtbcndRWp+c31qePefmYiIiIiPRtpZCIiIhIt/igCREREREZLa4UEhERERVhrCuFnBQSERERFWGsk0JePiYiIiIirhQSERERFWXClUIiIiIiMlZcKSQiIiIqQmykL6/mpJCIiIioCGO9jGqsuYmIiIioCK4UEhERERXBV9IQERERkdEympXCdet2YvnyLUhOToevrxcmTfoCfn4+ui6rzISUR0hZAObRd0LKI6QsgGHk6dezCb7oHwwXZxtcuZ6IydP24NzFRyX2H/hxID7p0QQe7rZIy8hF7L4rmD7/AKT5MgBAYOPqGDygGRrWrQw310r47KvfsPfg9QrJ0rdp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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# plot Ising matrix\n", - "plt.figure(1, figsize=[7, 5])\n", - "sns.heatmap(J, annot=True, linewidths=.5, cmap=\"YlGnBu\", annot_kws = {'alpha': 1})\n", - "plt.title('Ising distance matrix');\n", - "plt.tight_layout();" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## IMPLEMENTATION OF QAOA WITH BRAKET " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In this section we load a set of useful helper functions that we will explain in detail below. \n", - "Specifically in ```utils_qaoa.py``` we provide simple building blocks for the core modules of our QAOA algorithm, that is (i) a function called ```circuit``` that defines the parametrized ansatz, (ii) a function called ```objective_function``` that takes a list of variational parameters as input, and returns the cost associated with those parameters and finally (iii) a function ```train``` to run the entire QAOA algorithm for given ansatz. \n", - "This way we can solve the problem in a clean and modular approach.\n", - "Here, we show in markdown the definition of the parametrized QAOA circuit. \n", - "For more details, see the corresponding file ```utils_qaoa.py```. " - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The autoreload extension is already loaded. To reload it, use:\n", - " %reload_ext autoreload\n" - ] - } - ], - "source": [ - "from utils_qaoa import circuit, train \n", - "# auto reload external files, so that we can edit the external .py file and immediately see the changes here\n", - "%load_ext autoreload\n", - "%autoreload 2" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "```python\n", - "# function to implement evolution with driver Hamiltonian\n", - "def driver(beta, n_qubits):\n", - " \"\"\"\n", - " Returns circuit for driver Hamiltonian U(Hb, beta)\n", - " \"\"\"\n", - " # instantiate circuit object\n", - " circ = Circuit()\n", - " \n", - " for qubit in range(n_qubits):\n", - " gate = Circuit().rx(qubit, 2*beta)\n", - " circ.add(gate)\n", - " \n", - " return circ\n", - "\n", - "\n", - "# helper function for evolution with cost Hamiltonian\n", - "def cost_circuit(gamma, n_qubits, ising):\n", - " \"\"\"\n", - " returns circuit for evolution with cost Hamiltonian\n", - " \"\"\"\n", - " # instantiate circuit object\n", - " circ = Circuit()\n", - "\n", - " # get all non-zero entries (edges) from Ising matrix \n", - " idx = ising.nonzero()\n", - " edges = list(zip(idx[0], idx[1]))\n", - " \n", - " for qubit_pair in edges:\n", - " # get interaction strength\n", - " int_strength = ising[qubit_pair[0], qubit_pair[1]]\n", - " # for Rigetti we decompose ZZ using CNOT gates\n", - " if 'Aspen' in device.name:\n", - " gate = ZZgate(qubit_pair[0], qubit_pair[1], gamma*int_strength)\n", - " circ.add(gate)\n", - " # classical simulators and IonQ support ZZ gate\n", - " else:\n", - " gate = Circuit().zz(qubit_pair[0], qubit_pair[1], angle=2*gamma*int_strength)\n", - " circ.add(gate)\n", - "\n", - " return circ\n", - "\n", - "\n", - "# function to build the QAOA circuit with depth p\n", - "def circuit(params, n_qubits, ising):\n", - " \"\"\"\n", - " function to return full QAOA circuit\n", - " \"\"\"\n", - "\n", - " # initialize qaoa circuit with first Hadamard layer: for minimization start in |->\n", - " circ = Circuit()\n", - " X_on_all = Circuit().x(range(0, n_qubits))\n", - " circ.add(X_on_all)\n", - " H_on_all = Circuit().h(range(0, n_qubits))\n", - " circ.add(H_on_all)\n", - "\n", - " # setup two parameter families\n", - " circuit_length = int(len(params) / 2)\n", - " gammas = params[:circuit_length]\n", - " betas = params[circuit_length:]\n", - "\n", - " # add circuit layers\n", - " for mm in range(circuit_length):\n", - " circ.add(cost_circuit(gammas[mm], n_qubits, ising))\n", - " circ.add(driver(betas[mm], n_qubits))\n", - "\n", - " return circ\n", - "\n", - "```" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## VISUALIZATION OF THE QAOA ANSATZ" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us first visualize our parametrized QAOA ansatz for a small number of qubits and fixed (i.e., not optimized) parameters. \n", - "For convenience, the parameters are displayed in the circuit (up to a factor of $2$ we have added in our ansatz definition). \n", - "First we prepare the state $|0,0,\\dots\\rangle \\rightarrow |-,-,\\dots\\rangle$, with the superposition state $|-\\rangle = (|0\\rangle -|1\\rangle )/\\sqrt{2}$. \n", - "Following the discussion above, we choose to start out with this state as it is the minimal energy state of the simple driver Hamiltonian $H_{B}$. \n", - "This state preparation is followed by one layer of the QAOA ansatz, consisting of evolution with the cost Hamiltonian by $\\exp(-i\\gamma H_{C})= \\prod_{j,l}\\exp(-i\\gamma J_{j,l}\\sigma_{j}^{z}\\sigma_{l}^{z}) = \\prod_{j,l} ZZ_{j,l}(2\\gamma J_{j,l})$, followed by the single-qubit driving term, $\\exp(-i\\beta H_{B})= \\prod_{j} \\exp(-i\\beta \\sigma_{j}^{x})= \\prod_{j} R_{j}^{(x)}(2\\beta)$.\n", - "Note that the circuit definition depends on the ```device``` object, as the implementation of the ZZ gate depends on the specific gate set supported by the device. " - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Printing test circuit:\n", - "T : |0|1| 2 | 3 |\n", - " \n", - "q0 : -X-H-ZZ(2*gamma)-Rx(2*beta)-\n", - " | \n", - "q1 : -X-H-ZZ(2*gamma)-Rx(2*beta)-\n", - "\n", - "T : |0|1| 2 | 3 |\n", - "\n", - "Unassigned parameters: [beta, gamma].\n" - ] - } - ], - "source": [ - "# create parameters\n", - "gammas = [FreeParameter('gamma')]\n", - "betas = [FreeParameter('beta')]\n", - "params = gammas + betas\n", - "\n", - "# for demonstration purposes use small Ising matrix\n", - "J_sub = np.array([[0, 1], [0, 0]])\n", - "N = J_sub.shape[0]\n", - "\n", - "# get circuit ansatz\n", - "my_simple_circuit = circuit(params, device, N, J_sub)\n", - "\n", - "# print test ansatz circuit\n", - "print('Printing test circuit:')\n", - "print(my_simple_circuit)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We see that our ansatz produces the expected result for shallow QAOA with $p=1$. \n", - "We run one more sanity check for $p=2$ below. " - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Printing test circuit:\n", - "T : |0|1| 2 | 3 | 4 | 5 |\n", - " \n", - "q0 : -X-H-ZZ(2*gamma_1)-Rx(2*beta_1)-ZZ(2*gamma_2)-Rx(2*beta_2)-\n", - " | | \n", - "q1 : -X-H-ZZ(2*gamma_1)-Rx(2*beta_1)-ZZ(2*gamma_2)-Rx(2*beta_2)-\n", - "\n", - "T : |0|1| 2 | 3 | 4 | 5 |\n", - "\n", - "Unassigned parameters: [beta_1, beta_2, gamma_1, gamma_2].\n" - ] - } - ], - "source": [ - "# set number of qubits and fix parameters\n", - "gammas = [FreeParameter('gamma_1'), FreeParameter('gamma_2')]\n", - "betas = [FreeParameter('beta_1'), FreeParameter('beta_2')]\n", - "params = gammas + betas\n", - "\n", - "# for demonstration purposes use small Ising matrix\n", - "J_sub = np.array([[0, 1], [0, 0]])\n", - "N = J_sub.shape[0]\n", - "\n", - "# get circuit ansatz\n", - "my_simple_circuit = circuit(params, device, N, J_sub)\n", - "\n", - "# print test ansatz circuit\n", - "print('Printing test circuit:')\n", - "print(my_simple_circuit)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## QAOA SIMULATION ON LOCAL SCHROEDINGER SIMULATOR" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We are now all set to run some QAOA simulation experiments. \n", - "First of all, you can play and experiment yourself with the number of qubits $N$. \n", - "Secondly, you may also experiment with the classical optimizer. \n", - "Since we are using an off-the-shelf, black-box ```scipy``` minimizer (as described in more detail [here](https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.minimize.html)), you can simply swap between different optimizers by setting the ```OPT_METHOD``` parameter below. \n", - "Some popular options readily available within this library include *Nelder-Mead*, *BFGS* and *COBYLA*. \n", - "As a precautionary warning, note that the classical optimization step may get stuck in a local optimum, rather than finding the global minimum for our parametrized QAOA ansatz wavefunction. \n", - "To address this issue, we may run several optimization loops, starting from different random parameter seeds. \n", - "While this brute-force approach does not provide any guarantee to find the global optimum, from a pragmatic point of view at least it does increase the odds of finding an acceptable solution, at the expense of potentially having to run many more circuits on the simulator or QPU, respectively.\n", - "Finally, the optimization loop may require the execution of many individual quantum tasks (i.e., single circuit executions for fixed parameters). \n", - "For example, when choosing the classical [Powell](https://docs.scipy.org/doc/scipy/reference/optimize.minimize-powell.html#optimize-minimize-powell) optimizer for the graph considered here, we find $\\sim 270$ cycles in the for loop. \n", - "For the local simulator device chosen here by default this is not an issue, but if you run this algorithm on any QPU you may want to adjust the ```maxfev``` parameter to control the maximum allowed number function evaluations (compare comment in the next code block below)." - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [], - "source": [ - "##################################################################################\n", - "# set up hyperparameters\n", - "##################################################################################\n", - "\n", - "# User-defined hypers\n", - "DEPTH = 3 # circuit depth for QAOA\n", - "SHOTS = 1000 # number measurements to make on circuit\n", - "OPT_METHOD = 'COBYLA' # SLSQP, COBYLA, Nelder-Mead, BFGS, Powell, ...\n", - "\n", - "# set up the problem\n", - "n_qubits = J.shape[0]\n", - "\n", - "# initialize reference solution (simple guess)\n", - "bitstring_init = -1 * np.ones([n_qubits])\n", - "energy_init = np.dot(bitstring_init, np.dot(J, bitstring_init))\n", - "\n", - "# set tracker to keep track of results\n", - "tracker = {\n", - " 'count': 1, # Elapsed optimization steps\n", - " 'optimal_energy': energy_init, # Global optimal energy\n", - " 'opt_energies': [], # Optimal energy at each step\n", - " 'global_energies': [], # Global optimal energy at each step\n", - " 'optimal_bitstring': bitstring_init, # Global optimal bitstring\n", - " 'opt_bitstrings': [], # Optimal bitstring at each step\n", - " 'costs': [], # Cost (average energy) at each step\n", - " 'res': None, # Quantum result object\n", - " 'params': [] # Track parameters\n", - "}\n", - "\n", - "# set options for classical optimization\n", - "options = {'disp': True, 'maxiter': 50}" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Circuit depth hyperparameter: 3\n", - "Problem size: 10\n", - "Starting the training.\n", - "====================================================================\n", - "OPTIMIZATION for circuit depth p=3\n", - "Param \"verbose\" set to False. Will not print intermediate steps.\n", - "====================================================================\n", - "Final average energy (cost):\n", - " Return from subroutine COBYLA because the MAXFUN limit has been reached.\n", - " -0.586455292294228\n", - "Final angles: [5.78684986 4.70523429 6.47840919 0.25681156 1.2539245 2.7942261 ]\n", - "Training complete.\n", - "Code execution time [sec]: 6.3666791915893555\n", - "Optimal energy: -6.486032631497276\n", - "Optimal classical bitstring: [-1 1 -1 -1 1 -1 1 1 -1 -1]\n", - "\n", - " NFVALS = 50 F =-5.864553E-01 MAXCV = 0.000000E+00\n", - " X = 5.786850E+00 4.705234E+00 6.478409E+00 2.568116E-01 1.253925E+00\n", - " 2.794226E+00\n" - ] - } - ], - "source": [ - "##################################################################################\n", - "# run QAOA optimization on graph \n", - "##################################################################################\n", - "\n", - "print('Circuit depth hyperparameter:', DEPTH)\n", - "print('Problem size:', n_qubits)\n", - "\n", - "# kick off training\n", - "start = time.time()\n", - "result_energy, result_angle, tracker = train(\n", - " device = device, options=options, p=DEPTH, ising=J, n_qubits=n_qubits, n_shots=SHOTS, \n", - " opt_method=OPT_METHOD, tracker=tracker, verbose=verbose)\n", - "end = time.time()\n", - "\n", - "# print execution time\n", - "print('Code execution time [sec]:', end - start)\n", - "\n", - "# print optimized results\n", - "print('Optimal energy:', tracker['optimal_energy'])\n", - "print('Optimal classical bitstring:', tracker['optimal_bitstring'])\n", - "\n", - "##################################################################################\n", - "# Compute output and dump to pickle\n", - "##################################################################################\n", - "\n", - "if store_results:\n", - " out = {'p': DEPTH, 'N': n_qubits,\n", - " 'ENERGY_OPTIMAL': tracker['optimal_energy'], 'BITSTRING': tracker['optimal_bitstring'],\n", - " 'result_energy': result_energy, 'result_angle': result_angle}\n", - "\n", - " # store results: dump output to pickle with timestamp in filename\n", - " time_now = datetime.strftime(datetime.now(), '%Y%m%d%H%M%S')\n", - " results_file = 'results-'+time_now+'.pkl'\n", - " print(f'Writing results to file: {results_file}')\n", - " pickle.dump(out, open(results_file, \"wb\"))\n", - " \n", - " # you can load results as follows\n", - " # out = pickle.load(open(results_file, \"rb\"))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## POSTPROCESSING AND COMPARISON OF OUR QAOA RESULTS WITH CLASSICAL RESULTS" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In this section we visualize the results we have found with QAOA. \n", - "Specifically, we display the results found for the variational parameters $\\beta$ and $\\gamma$ for every layer in our QAOA ansatz. \n", - "Moreover, we show the solution to our graph coloring problem with every node colored either red or blue (recall that there are just two colors since we solve a _binary_ optimization problem).\n", - "Finally, we compare these results to results found classically using the open-source ```pyqubo``` package. \n", - "Ideally, the two results should agree with each other but this is not necessarily the case for several reasons: \n", - "First of all, for the original small toy problem we have set up there are several degenerate classical solutions with the same optimal quality. \n", - "The classical and the QAOA approach may find solutions with different coloring configurations but the same quality (that is energy). \n", - "Secondly, with QAOA we are not guaranteed to find the optimal solutions. \n", - "Specifically, the deeper the circuit, the harder the classical optimization problem, and we may get stuck in a local rather than global optimum. \n", - "One brute-force approach is then to just re-run QAOA with different random initial seeds for the parameters $(\\beta, \\gamma)$." - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Optimization on graph with n=10 vertices, m=20 edges, optimized with COBYLA and 1000 shots per call; seed=42.\n" - ] + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "# Use Braket SDK Cost Tracking to estimate the cost to run this example\n", + "from braket.tracking import Tracker\n", + "t = Tracker().start()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# QUANTUM APPROXIMATE OPTIMIZATION ALGORITHM (QAOA)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this tutorial we show how to (approximately) solve binary combinatorial optimization problems, using the __Quantum Approximate Optimization Algorithm (QAOA)__, as introduced in Ref.[1]. \n", + "The QAOA algorithm belongs to the class of __hybrid quantum algorithms__ (leveraging both classical as well as quantum compute), that are widely believed to be the working horse for the current __NISQ (noisy intermediate-scale quantum) era__.\n", + "In this NISQ era QAOA is also an emerging approach for benchmarking quantum devices and is a prime candidate for demonstrating a practical quantum speed-up on near-term NISQ device [1,4]. \n", + "To validate our approach we benchmark our results with exact results as obtained from classical QUBO solvers. \n", + "\n", + "We provide a step-by-step walkthrough explaining the QAOA quantum algorithm and show how to build the corresponding parametrized quantum circuit ansatz using the ```Braket``` SDK, with simple modular building blocks (that can be re-used for other purposes). \n", + "We use open-source off-the-shelf ```scipy``` optimizers for classical numerical optimization. \n", + "While we demonstrate our proof-of-concept approach using classical simulators for circuit execution, our code could in principle be run on actual quantum hardware by simply changing the definition of the ```device``` object (provided that the gate set used in the ansatz is supported by the device, as is the case here for IonQ; for Rigetti we need to apply one more extra trick as shown below). " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## BACKGROUND: HYBRID QUANTUM ALGORITHMS" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Quantum computers hold the promise to outperform even the most-powerful classical computers on a range of computational problems in (for example) optimization, chemistry, material science and cryptography.\n", + "The canonical set of quantum algorithms (such as Shor's or Grover's quantum algorithms), however, comes with hardware requirements (such as a large number of quantum gates) that are currently not available with state-of-the-art technology. \n", + "Specifically, these algorithms are typically believed to be feasible only with fault-tolerance as provided by quantum error correction. \n", + "In the current __noisy intermediate-scale (NISQ) era__, near-term quantum computers do not have a large enough number of physical qubits for the implementation of error correction protocols, making this canonical set of quantum algorithms unsuitable for near-term devices. Against this background, the near-term focus has widely shifted to the class of __hybrid quantum algorithms__ that do not require quantum error correction. \n", + "In these hybrid quantum algorithms, the noisy __near-term quantum computers are used as co-processors__ only, within a larger classical optimization loop, as sketched in the schematic figure below. \n", + "Here, the undesired effects of noise are suppressed by deliberately limiting the quantum circuits on the quantum processing unit (QPU) to short bursts of the calculation, and the need for long coherence times (as required for the standard set of quantum algorithms) is traded for a classical overhead due to (possibly many) measurement repetitions and (essentially error-free) classical processing. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "__Variational Quantum Algorithms__: Specifically, variational quantum algorithms such as the Quantum Approximate Optimization Algorithm (QAOA) [1] belong to this emerging class of hybrid quantum algorithms. \n", + "These are widely believed to be promising candidates for the demonstration of a __quantum advantage__, already with near-term (NISQ) devices in areas such as quantum chemistry [2], condensed matter simulations [3], and discrete optimization tasks [4].\n", + "\n", + "__Variational Quantum Computing vs. Deep Learning__: The working principle of variational quantum computing is very much reminiscent of training deep neural networks: \n", + "when you train a neural network, you have an objective function that you want to minimize, typically characterized by the error on your training set. \n", + "To minimize that error, typically you start out with an initial guess for the weights in your network. \n", + "The coprocessor, in that case a GPU, takes these weights which define the exact operation to execute and the output of the neural network is computed. \n", + "This output is then used to calculate the value of your objective function, which in turn is used by the CPU to make an educated guess to update the weights and the cycle continues. \n", + "Variational quantum algorithms, a specific form of hybrid algorithms, work in the very same way, using parametrized quantum circuits rather than parametrized neural networks and replacing the GPU with a QPU. \n", + "Here, you start with an initial guess for the parameters that define your circuit, have the QPU execute that circuit, perform measurements to calculate an objective function, pass this value (together with the current values of the parameters) back to the CPU and have this *classical* CPU update the parameters based on that information. \n", + "\n", + "Of course, coordinating that workflow for quantum computers is much more challenging than in the previous case. Quantum computers are located in specialized laboratory facilities, are typically single threaded, and have special latency requirements. \n", + "This is exactly the undifferentiated heavy-lifting that Amazon Braket handles for us, such that we can focus on our scientific problem. \n", + "For the sake of this introductory tutorial, we simply use a classical circuit simulator (that mimic the behavior of a quantum machine) as the device to execute our quantum circuits.\n", + "Within Amazon Braket, the workflow, however, is exactly the same. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## BACKGROUND: QUADRATIC BINARY OPTIMIZATION PROBLEMS" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "__Combinatorial optimization__: \n", + "Combinatorial optimization problems are ubiquitous across many areas of science and application areas. \n", + "Applications can be found (for example) in logistics, scheduling, planning, and portfolio optimization.\n", + "In a nutshell combinatorial optimization problems are problems involving a large number of yes/no decisions with each set of decisions yielding a corresponding objective function value, like a cost or profit value. \n", + "Because of the combinatorial explosion of the solution space with the number of variables, finding good solutions is a daunting task and extremely difficult. \n", + "\n", + "__QUBO problems__: The QUBO ([Quadratic Unconstrained Binary Optimization](https://en.wikipedia.org/wiki/Quadratic_unconstrained_binary_optimization)) model unifies a rich variety of NP-hard combinatorial optimization problems: \n", + "Famous examples include Quadratic Assignment Problems, Capital Budgeting Problems, Task Allocation Problems and Maximum-Cut Problems. \n", + "For more details we refer to the excellent review and tutorial on QUBO problems presented in Ref.[5].\n", + "\n", + "__Maximum Cut__: Among the class of QUBO problems, Maximum Cut (MaxCut) is paradigm combinatorial optimization problem. \n", + "Given a graph $G=(V,E)$ with vertex set $V$ and edge set $E$, we seek partition of $V$ into two subsets with maximum cut. \n", + "In short, we have to color every node either blue or red and we score a point whenever an edge connects two nodes with different colors. \n", + "We then would like to find the solution with the highest score. \n", + "Applications thereof can be found in, for example, (i) clustering for marketing purposes (segment your customer base into different clusters for targeted marketing) or (ii) portfolio optimization in finance (vertex corresponds to asset, with color referring to sell or buy decisions. \n", + "Again, the problem in this specific graph coloring problem is that there are $2^𝑁$ possible solutions for $N$ nodes (an exponential explosion in possibilities), making it impossible to enumerate all possible candidates for relevant system sizes. \n", + "\n", + "__Ising Hamiltonian__: Importantly, there is a fundamental correspondence between QUBO problems and Ising problems in physics. \n", + "Specifically, we can encode the Maximum Cut problem as a __minimization problem__ of an Ising Hamiltonian, where the (classical) cost function reads \n", + "\n", + "$$H_{C}=\\sum_{i>j} J_{i,j} z_{i} z_{j},$$\n", + "\n", + "with Ising variables $z_{i}=-1,1$ and the Ising matrix $J$ encoding the weights of the edges. \n", + "For the sake of this discussion, we ignore potential linear terms and constant offsets (that do not affect the optimal solution $z$ anyway). \n", + "In short, the cost Hamiltonian $H_{C}$ assigns a number to every bitstring $z=(z_{1},z_{2},\\dots)$, and we would like to find the lowest number possible. \n", + "This will be the optimal assignment and solution to our problem. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## BACKGROUND: THE QUANTUM APPROXIMATE OPTIMIZATION ALGORITHM" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this tutorial we will try to solve for the optimal _classical_ bitstring $z$ using the Quantum Approximate Optimization Algorithm (QAOA). \n", + "To this end, we first promote the classical spin variables $z_{i}=-1,1$ to quantum-mechanical variables $\\sigma_{i}^{z}$ (with the Pauli matrix $\\sigma_{i}^{z}$ representing the observable corresponding to spin along the $z$ coordinate axis in three-dimensional Euclidean space $\\mathbb{R}^{3}$). \n", + "This leads to the following quantum mechanical cost Hamiltonian encoding the optimization problem\n", + "\n", + "$$\\hat{H}_{C}=\\sum_{i>j} J_{i,j} \\sigma_{i}^{z} \\sigma_{j}^{z},$$\n", + "\n", + "which can be written as a matrix of size $(2^{N}, 2^{N})$ with diagonal elements only corresponding to all possible classical values for the cost function $H_{C}$. \n", + "The ground state of $\\hat{H}_{C}$ corresponds to the optimal solution of the classical combinatorial problem.\n", + "\n", + "__QAOA ansatz__: Finding this ground state is generically hard. \n", + "To approximate this groundstate, QAOA prepares a parametrized ansatz state (corresponding to a parameterized gate sequence), whose parameters are iteratively updated by a classical optimizer in a closed loop. \n", + "Specifically, QAOA involves a specific ansatz wavefunction parametrized by a parameter family $(\\vec{\\beta}, \\vec{\\gamma})$, embedded into a larger classical optimization loop to find the optimal values for these parameters. \n", + "As shown in Ref.[1], good approximate solutions to the problem class considered here can be found by preparing the variational state \n", + "\n", + "$$|\\gamma, \\beta \\rangle = U_{x}(\\beta_{p})U_{zz}(\\gamma_{p}) \\cdots U_{x}(\\beta_{1})U_{zz}(\\gamma_{1}) |s\\rangle$$\n", + "\n", + "with single qubit rotations induced by $U_{x}(\\beta) = \\exp(-i\\beta \\sum_{i}\\sigma_{i}^{x})$, \n", + "and interactions described by $U_{zz}(\\gamma) = \\exp(-i\\gamma H_{C})$,\n", + "starting initially from a product of $\\sigma^{x}$ eigenstates, i.e.,\n", + "$|s\\rangle =|-,-,\\dots\\rangle$, with $|-\\rangle = (|0\\rangle -|1\\rangle )/\\sqrt{2}$. \n", + "The family of states $|\\gamma, \\beta \\rangle$ is prepared by alternating single-qubit operations $U_{x}(\\beta_{p})$ with targeted spin-spin interactions generated by the cost Hamiltonian $H_{C}$. \n", + "The depth $p$ can be interpreted as a hyperparameter. \n", + "For $p$ layers of QAOA blocks, there are $2p$ classical parameters to optimize over, \n", + "since each layer $k$ is characterized by just two variational parameters, $\\gamma_{k}$ and $\\beta_{k}$. \n", + "The preparation step outlined above is followed by a measurement in the computational basis, giving a classical string $z$, with which one can evaluate the objective function $H_{C}$ of the underlying combinatorial problem at hand. \n", + "Taking several measurements shots one can build the expectation value $E(\\beta, \\gamma) = \\langle H_{C} \\rangle$ that we report as the objective function to the classical minimizer (while other choices could be possible as well). \n", + "Repeating this procedure will provide an optimized string $z$, with the quality of the result improving as the depth of the quantum circuit $\\sim 2p$ is increased [1]. \n", + "In fact, in principle (in the absence of noise and other imperfections), QAOA can reach the global optimum of any cost function in the limit $p \\rightarrow \\infty$ [1], approaching the adiabatic protocol. \n", + "Thus, in theory the computational power of QAOA increases with $p$, but in practice the number of layers that can be executed without errors on NISQ devices is limited due noise and imperfections. \n", + "\n", + "__Optimization__: Since we are primarily interested in solving the classical optimization problem, within this routine it is sufficient to keep track of the best classical bitstring. \n", + "This means that the wavefunction prepared by the quantum circuit $|\\gamma, \\beta \\rangle$ has to have some overlap with the optimal solution $|z^{*} \\rangle$ that we can read out as bitstring $z^{*}$ in the measurement shots. \n", + "To this end, in principle (i.e., without any training), we could just sample from a completely uniform state that is prepared in a superposition of all computational basis states, as prepared by applying Hadamard gates to all qubits: $|\\mathrm{uniform}\\rangle = 1/\\sqrt{2^{N}}\\sum_{i}|z_{i}\\rangle$. \n", + "In that case (assuming a single optimal solution) the success probability per shot amounts to $p_{\\mathrm{success}}=1/2^{N}$. \n", + "We can then amplify our success chances by just taking many measurement shots. \n", + "For large systems, however, this approach is not scalable as we would need to take an exponentially increasing number of measurements. \n", + "That is why we train our circuits, update the parameters, with the goal to increase our success chances to find the optimal bitstring. \n", + "We can quantify our success chances as follows [6]. \n", + "For a given wavefunction $|\\gamma, \\beta \\rangle$ the probability to find the optimal solution in a single shot is given by \n", + "\n", + "$$ p_{\\mathrm{success}}(\\gamma, \\beta) = |\\langle z^{*}|\\gamma, \\beta \\rangle |^{2},$$\n", + "\n", + "where $z^{*}$ denotes the optimal bitstring. \n", + "If we perform $M$ repeated measurements, the overall probability $P$ for observing this solution at least once is given by \n", + "\n", + "$$ P = 1 - (1-p_{\\mathrm{success}}(\\gamma, \\beta))^{M}, $$ \n", + "\n", + "since the term $(1-p_{\\mathrm{success}}(\\gamma, \\beta))^{M}$ gives the probability of _not_ obtaining $z^{*}$ in repeated $M$ trials. \n", + "Therefore, to have an overall success chance up to $\\epsilon$ close to 100%, i.e., $P \\geq 1-\\epsilon$, the number of required shots has to be \n", + "\n", + "$$ M \\geq \\frac{\\log(\\epsilon)}{\\log(1-p_{\\mathrm{success}}(\\gamma, \\beta))}.$$\n", + "\n", + "Let us illustrate this results as follows: \n", + "If we do not know anything and just resort to a uniform superposition $|\\mathrm{uniform}\\rangle$, for a small system with $N=10$ qubits we can find the optimal solutions with 80% success probability by taking at least $\\sim 1650$ shots. \n", + "For just $N=20$ qubits, however, this number amounts to $\\sim 1.7 \\times 10^{6}$, making this naive approach unfeasible. \n", + "Conversely, if we can train the quantum circuit to obtain $p_{\\mathrm{success}}(\\gamma, \\beta) \\sim 0.1$, we only need $\\sim 15$ shots to have $P\\geq 80\\%$. \n", + "Below we will track and illustrate the best classical optimum as our algorithm proceeds towards a local or (ideally) global optimum. \n", + "\n", + "__Objective function__: Finally, some more details on the definition of the cost function are in order. \n", + "Following the standard approach [1, 4], QAOA tries to minimize the expectation value $\\langle \\hat{H}_{C} \\rangle$, but does _not_ explicitly maximize the success probability [6]. \n", + "However, a low expectation value for $\\langle \\hat{H}_{C} \\rangle$ does not necessarily translate to a high success probability $p_{\\mathrm{success}}(\\gamma, \\beta)$, as can be understood from the following example:\n", + "Consider (for example) a variational state that is a linear combination of low energy excited eigenstates of the cost Hamiltonian $\\hat{H}_{C}$ other than the ground state $|z^{*}\\rangle$. \n", + "By definition, this state will have a relatively low expectation value $\\langle \\hat{H}_{C} \\rangle$ while the success probability is zero (as this low energy state does not have any overlap with the ground state). \n", + "Similarly, a variational state that is a linear combination of the ground state with very high energy eigenstates could have a high success probability $p_{\\mathrm{success}}(\\gamma, \\beta)$, while (at the same time) reporting a high cost value to the classical optimizer.\n", + "To address this issue, alternative methods for the optimization of the variational parameters have recently been proposed. \n", + "While for simplicity we follow the majority of the literature and take $\\langle \\hat{H}_{C} \\rangle$ as cost value that we report to the classical optimizer, here we do mention a potential alternative for future research: \n", + "One approach is to use the Gibbs objective function, defined as $\\mathrm{cost}=-\\mathrm{log} \\langle \\exp(-\\eta \\hat{H}_{C})\\rangle$, with the hyperparameter $\\eta>0$ [7]. \n", + "As compared to the simple expectation value $\\langle \\hat{H}_{C} \\rangle$, this definition of the cost value shows stronger rewards for low energy states, thereby increasing the success probability. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## IMPORTS and SETUP" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For classical benchmarking we will be using the python library ```pyqubo```, as used in our helper script ```utils_classical```. If not already present in your virtual environment, you can install this library simply with ```pip install pyqubo```. Similarly, as ```seaborn``` are not expected to be present in the virtual environment by default, we will install them via ```pip install seaborn```. Note the ```-q``` to suppress install updates from ```pip```." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# If these have already been installed, this cell can be commented out.\n", + "!pip install pyqubo -q\n", + "!pip install seaborn -q" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "# general imports\n", + "import numpy as np\n", + "from scipy.optimize import minimize\n", + "import matplotlib.pyplot as plt\n", + "import networkx as nx\n", + "import seaborn as sns\n", + "import time\n", + "from datetime import datetime\n", + "import pickle\n", + "import random\n", + "\n", + "# magic line for producing visualizations in notebook\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "# fix random seed for reproducibility\n", + "seed = 42\n", + "np.random.seed(seed)\n", + "random.seed(a=seed)\n", + "\n", + "# switch to trigger writing training results to disk\n", + "store_results = False\n", + "# switch to trigger printing results of each optimization cycle\n", + "verbose = False" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "# AWS imports: Import Braket SDK modules\n", + "from braket.circuits import FreeParameter\n", + "from braket.devices import LocalSimulator" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "from utils_classical import plot_colored_graph, plot_colored_graph_simple, solve_classical_ising\n", + "# auto reload external files, so that we can edit the external .py file and immediately see the changes here\n", + "%load_ext autoreload\n", + "%autoreload 2" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "# Set up device: Local Simulator\n", + "device = LocalSimulator()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "## example code for other backends\n", + "# from braket.aws import AwsDevice\n", + "# from braket.devices import Devices\n", + "## choose the on-demand simulator to run your circuit\n", + "# device = AwsDevice(Devices.Amazon.SV1)\n", + "## choose the Rigetti device to run your circuit\n", + "# device = AwsDevice(Devices.Rigetti.Ankaa2)\n", + "## choose the Ionq device to run your circuit\n", + "# device = AwsDevice(Devices.IonQ.Aria1)\n", + "## choose the IQM device to run your circuit\n", + "# device = AwsDevice(Devices.IQM.Garnet)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PROBLEM SETUP" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We consider a graph coloring problem.\n", + "Given a graph $G=(V,E)$, made of a set vertices (also called nodes) $V$ and edges $E$, our goal is to color each node red or blue, then score a point for each node that is next to a node of different color. \n", + "We strive to find the optimal coloring that scores the largest number of points.\n", + "To this end, we will address the dual problem of finding the minimum energy of the corresponding Ising Hamiltonian. \n", + "To get started, we first use the open-source ```networkx``` library to visualize the problem graph. \n", + "Feel free to play with the parameters $n$ (for the number of nodes) and $m$ (for the number of edges) below to consider other graphs of your choice. " + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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wR/9zLzhh4iIiMia2HShBIDpof3x2jhvk1zrb+N8MC2UayeJiIiI/pNEEARzn1JoEXaml+Pt+Hzo9EKzNus4SCVwlEqwfII/yyQRERHR77CbQgkAF6rrsPi7XCSXXoODVHLXYnn765Ge7oibHMDX3ERERER/wK4K5W0lFTewXVWO48W/oLyqDv/5L0CC34aWj/buiZkj+nM3NxEREdGfsMtC+Z80DTqUVWmg1enR3lGKgW6deAIOERERUTPYfaEkIiIiotax+V3eRERERGReLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQqLJRERERE1CoslERERETUKiyURERERNQq/x/6+tCJfDntYQAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# setup Erdos Renyi graph\n", + "n = 10 # number of nodes/vertices\n", + "m = 20 # number of edges\n", + "\n", + "# define graph object\n", + "G = nx.gnm_random_graph(n, m, seed=seed)\n", + "# positions for all nodes\n", + "pos = nx.spring_layout(G)\n", + "\n", + "# choose random weights\n", + "for (u, v) in G.edges():\n", + " G.edges[u,v]['weight'] = random.uniform(0, 1)\n", + "\n", + "# draw graph\n", + "nx.draw(G, pos)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [], + "source": [ + "# set Ising matrix \n", + "Jfull = nx.to_numpy_array(G)\n", + "\n", + "# get off-diagonal upper triangular matrix\n", + "J = np.triu(Jfull, k=1).astype(np.float64)" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoUAAAHqCAYAAAByYzTGAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy89olMNAAAACXBIWXMAAA9hAAAPYQGoP6dpAACNhUlEQVR4nOzdd1xT198H8E/CCEv2UhygiLgAR0GwaqtUWq11z9ZBra27lWoVF9L+Km6tdbXuOqqts1WcOKoVa917rzrYU4QASZ4/fIxEghIMJLn5vJ/XfT0/T8699/vhqD2eOyJSKBQKEBEREZFRE+u6ACIiIiLSPU4KiYiIiIiTQiIiIiLipJCIiIiIwEkhEREREYGTQiIiIiICJ4VEREREBE4KiYiIiAicFBIREREROCkkqlDvvPMO3nnnHV2XoUIkEmHKlCnKX69atQoikQh3797VWU30alOmTIFIJNJ1GUQkMJwUEpXB84nTyZMndV2KXnj69CmmTJmCQ4cO6boUgzN16lRs27ZN12UQEXFSSFSR9u7di7179+q6jFfq27cvcnNzUaNGjVLv8/TpU0RHR3NSWAZlmRROnDgRubm55VMQERktU10XQGRMzM3NdV3Ca5mYmMDExETXZZAaOTk5sLa2hqmpKUxN+dc3EWkXVwqJtCQhIQHh4eGoWrUqJBIJKleujI4dO6rcm/fyPYWHDh2CSCTCb7/9hu+//x5Vq1aFhYUF2rRpg5s3bxY7x8KFC1GzZk1YWloiMDAQR44cKfV9ilKpFKNGjYKLiwsqVaqEjz76CA8ePCjWT909hSdPnkRYWBicnZ1haWkJLy8vfPrppwCAu3fvwsXFBQAQHR0NkUikcp/i+fPnMWDAANSsWRMWFhZwd3fHp59+itTUVJXzPr9P7ubNmxgwYADs7e1hZ2eH8PBwPH36tFida9euRWBgIKysrODg4ICWLVsWW4XdtWsXWrRoAWtra1SqVAnt27fHpUuXXvuzev4zOHr0KEaOHAkXFxfY29vjiy++QH5+PjIyMtCvXz84ODjAwcEB33zzDRQKhcoxZs2ahZCQEDg5OcHS0hJNmjTBpk2bVPqIRCLk5ORg9erVyp/bgAEDVH4ely9fRp8+feDg4IC3335b5bPnVq5cCZFIhBUrVqgcf+rUqRCJRIiNjX1tZiIi/lOTSEu6du2KS5cuYcSIEfD09ERSUhL27duH+/fvw9PT85X7Tps2DWKxGKNHj0ZmZiZmzJiBjz/+GP/884+yz+LFizF8+HC0aNECo0aNwt27d9GpUyc4ODigatWqr63vs88+w9q1a9GnTx+EhITgwIEDaN++/Wv3S0pKQtu2beHi4oJx48bB3t4ed+/exZYtWwAALi4uWLx4MYYMGYLOnTujS5cuAAA/Pz8AwL59+3D79m2Eh4fD3d0dly5dws8//4xLly7h+PHjxR6Y6NGjB7y8vBATE4PTp09j2bJlcHV1xfTp05V9oqOjMWXKFISEhODbb7+Fubk5/vnnHxw4cABt27YFAKxZswb9+/dHWFgYpk+fjqdPn2Lx4sV4++23cebMmdeOCQCMGDEC7u7uiI6OxvHjx/Hzzz/D3t4ex44dQ/Xq1TF16lTExsZi5syZaNCgAfr166fc94cffsBHH32Ejz/+GPn5+diwYQO6d++OHTt2KH/ua9aswWeffYbAwEB8/vnnAIBatWqp1NC9e3fUrl0bU6dOLTbxfC48PBxbtmxBREQE3nvvPVSrVg0XLlxAdHQ0Bg4ciHbt2r02KxERFESksZUrVyoAKP7991+FQqFQpKenKwAoZs6c+cr9WrVqpWjVqpXy1wcPHlQAUNStW1chlUqV7T/88IMCgOLChQsKhUKhkEqlCicnJ8Vbb72lKCgoUPZbtWqVAoDKMdU5e/asAoBi6NChKu19+vRRAFBERUUVy3bnzh2FQqFQbN26VSWrOsnJycWO89zTp0+Ltf36668KAIq//vpL2RYVFaUAoPj0009V+nbu3Fnh5OSk/PWNGzcUYrFY0blzZ4VMJlPpK5fLFQqFQpGdna2wt7dXDBo0SOXzhIQEhZ2dXbH2lz3/GYSFhSmPqVAoFMHBwQqRSKQYPHiwsq2wsFBRtWrVYmPwcu78/HxFgwYNFK1bt1Zpt7a2VvTv379YDc9/Hr179y7xs6IeP36scHR0VLz33nsKqVSqaNSokaJ69eqKzMzMV2YlInqOl4+JtMDS0hLm5uY4dOgQ0tPTNd4/PDxc5X7DFi1aAABu374N4Nnl29TUVAwaNEjlXrKPP/4YDg4Orz3+88uHI0eOVGn/6quvXruvvb09AGDHjh0oKCh4bf+XWVpaKv93Xl4eUlJS0KxZMwDA6dOni/UfPHiwyq9btGiB1NRUZGVlAQC2bdsGuVyOyZMnQyxW/Svs+arjvn37kJGRgd69eyMlJUW5mZiYICgoCAcPHixV7QMHDlRZyQwKCoJCocDAgQOVbSYmJmjatKlyrNTlTk9PR2ZmJlq0aKE286u8/PMoibu7OxYuXIh9+/ahRYsWOHv2LFasWAFbW1uNzkdExouTQiItkEgkmD59Onbt2gU3Nze0bNkSM2bMQEJCQqn2r169usqvn0/0nk8w7927BwDw9vZW6Wdqalqqy6D37t2DWCwudmmyTp06r923VatW6Nq1K6Kjo+Hs7IyOHTti5cqVkEqlr90XANLS0vDll1/Czc0NlpaWcHFxgZeXFwAgMzOzWP/X/Sxu3boFsViMevXqlXjOGzduAABat24NFxcXlW3v3r1ISkoqVe0v12JnZwcAqFatWrH2l/8xsGPHDjRr1gwWFhZwdHRUXmZXl/lVnv+sSqNXr15o3749Tpw4gUGDBqFNmzYanYuIjBvvKSTSkq+++godOnTAtm3bsGfPHkyaNAkxMTE4cOAAGjVq9Mp9S3raV1HCPWQVSSQSYdOmTTh+/Dj+/PNP7NmzB59++ilmz56N48ePw8bG5pX79+jRA8eOHcOYMWMQEBAAGxsbyOVyvP/++5DL5cX6a+Nn8fy4a9asgbu7e7HPS/vkbkm1qGsvWt+RI0fw0UcfoWXLlli0aBEqV64MMzMzrFy5EuvXry/VuZ8ruuL4Oqmpqcp3Z16+fBlyubzYaioRUUn4twWRFtWqVQtff/019u7di4sXLyI/Px+zZ89+4+M+f2fgy08kFxYWluqbR2rUqAG5XI5bt26ptF+7dq3UNTRr1gzff/89Tp48iXXr1uHSpUvYsGEDAJT47Rrp6emIi4vDuHHjEB0djc6dO+O9995DzZo1S33el9WqVQtyuRyXL19+ZR8AcHV1RWhoaLGtvL9VZvPmzbCwsFBOoD/44AOEhoaq7avNbyYZNmwYsrOzERMTg6NHj2LevHlaOzYRCR8nhURa8PTpU+Tl5am01apVC5UqVSr1ZdZXadq0KZycnLB06VIUFhYq29etW1eqexg/+OADAMD8+fNV2kszaUhPTy+2ShcQEAAAymxWVlYAgIyMDJV+z1fUXt7/TSYrnTp1glgsxrfffltspfH5ecLCwmBra4upU6eqvQ8yOTm5zOcvDRMTE4hEIshkMmXb3bt31b6k2trautjPrSw2bdqEjRs3Ytq0aRg3bhx69eqFiRMn4vr16298bCIyDrx8TKQF169fR5s2bdCjRw/Uq1cPpqam2Lp1KxITE9GrV683Pr65uTmmTJmCESNGoHXr1ujRowfu3r2LVatWoVatWq9dbQoICEDv3r2xaNEiZGZmIiQkBHFxcWrfhfiy1atXY9GiRejcuTNq1aqF7OxsLF26FLa2tspXnVhaWqJevXrYuHEjfHx84OjoiAYNGqBBgwbK+ysLCgrg4eGBvXv34s6dO2X+WXh7e2PChAn47rvv0KJFC3Tp0gUSiQT//vsvqlSpgpiYGNja2mLx4sXo27cvGjdujF69esHFxQX379/Hzp070bx5cyxYsKDMNbxO+/btMWfOHLz//vvo06cPkpKSsHDhQnh7e+P8+fMqfZs0aYL9+/djzpw5qFKlCry8vBAUFKTR+ZKSkjBkyBC8++67GD58OABgwYIFOHjwIAYMGICjR4/yMjIRvRYnhURaUK1aNfTu3RtxcXFYs2YNTE1N4evri99++w1du3bVyjmGDx8OhUKB2bNnY/To0fD398cff/yBkSNHwsLC4rX7r1ixAi4uLli3bh22bduG1q1bY+fOncUemnhZq1atcOLECWzYsAGJiYmws7NDYGAg1q1bp/IQxLJlyzBixAiMGjUK+fn5iIqKQoMGDbB+/XqMGDECCxcuhEKhQNu2bbFr1y5UqVKlzD+Lb7/9Fl5eXvjxxx8xYcIEWFlZwc/PD3379lX26dOnD6pUqYJp06Zh5syZkEql8PDwQIsWLRAeHl7mc5dG69atsXz5ckybNg1fffUVvLy8MH36dNy9e7fYpHDOnDn4/PPPlV9d179/f40nhUOGDIFUKlW+xBoAnJyc8PPPP6Njx46YNWsWvvnmG63lIyJhEin04U52IioTuVwOFxcXdOnSBUuXLtV1OUREZMB4PYHIQOTl5RW7N++XX35BWlpauT84QUREwseVQiIDcejQIYwaNQrdu3eHk5MTTp8+jeXLl6Nu3bo4deqUysuviYiINMV7CokMhKenJ6pVq4b58+cjLS0Njo6O6NevH6ZNm8YJIRERvTGuFBIRERER7ykkIiIiIk4KiYiIiAicFBIRERER+KAJERERkQrL6r21fszc+79q/ZjapmeTQqF8R6cPag7fqusitOb2gs4QztgAgA+Elic+aaeui9CKYNf2ENrYFMrP6boIrTEV+0M44+ODDbd267oIrelV630IZ2yAZ39PU0XTs0khERERkW6JRMZ5d51xpiYiIiIiFVwpJCIiIipCZKRrZpwUEhERERXBy8dEREREZLS4UkhERERUBFcKiYiIiMhocaWQiIiIqAiRSKTrEnSCk0IiIiIiFcZ5IdU4UxMRERGRCq4UEhERERXBB02IiIiIyGhxpZCIiIioCGNdKeSkkIiIiKgIfs2dwK1btxPLl29BcnI6fH29MGnSF/Dz89F1WSr6tvTCoDa14WJrgSsPMzHl9/M4fy+9xP6VLM0wukM9hPlXgZ2VGR6l5+K7Tedx6HJisb6D3/PBNx3rY+XBm/hu84XyjKExQxgbTRhCnv1bjmLXrweRmZaN6rWq4JOvOqNmvRpq+x76Ix7H9pzEg9sJAADPOlXR7fN2yv6FhTJsWRqL88evIOlRGqysLVCvqQ+6D24PB2e7CstUWvo2PuvX7cbKFX8iJSUDdXxrYPyET+Hn511i/z274/Hj/I14+DAZNWq4I+Lrj9GyVWMAQEFBIeb/sAFH/jqDBw+SYGNjheDghhj1dR+4ujoqj/Fem2F49ChZ5bhfRfTBoEGdyiVjaenb2Kjzz59HcGzzATxJz4KblwfaDemKqnXU/9k5ufsYzsX9i6R7jwEAVbyroU3/D1X6S3Ol2L/yT1yNP4+n2U/h4OaIoI9a4q32b1dIntIyhLGhN2cUU+HY2COIiVmGYcN6Y+vWefD19cLAgZORmpqh69KU2jf2wPjODTF/11V0mH4QVx5mYvWwEDjZmKvtb2YiwprhzVHV0QrDlv+D0O/2I3L9aSRk5hbr61fdHr2be+LKg8zyjqExQxgbTRhCnn/izmDDgu3oNCAM0csiUM27CmZ9/TOy0rPV9r969haCQhtj7PyhmLhkJBxd7THz65+QnpwBAMjPy8e96w/xUf+2iF4egeHfD0DC/ST8MG55BaYqHX0bn12xxzBj+i8YOqwbft88HXXq1MAXg75Haqr6P6tnzlzDmNE/oEvX1ti0ZTpat3kLI0bMxI3r9wEAeXn5uHL5DgYP6YrfN0/HD/O/xp27jzB86Ixixxo+ogcO/fWzcvv44/fLNevr6NvYqHPx8GnsWboV7/QJwxc/joF7zSpYM2kxnmSo/7Nz9/xNNGzVGANihuOz2aNg62yPNRMXIyslQ9lnz9KtuHnqCrqM6YvhP0WiWad3ELt4M64e159/vBvC2GibSCTW+mYIDKPKN7Ry5Tb06BGGrl1D4e1dHdHRQ2FhIcHmzft0XZrSwNbe2HjsLjYdv4+bCdmYuOEscvNl6B7sqbZ/9+AasLMywxc/H8ep22l4mPYUJ26m4urDLJV+VuYmmDvgLYz/9Qwyc/MrIIlmDGFsNGEIefZsPIxWHZqhRftAeHi5o//objC3MMNfO0+o7T948ido07k5atT2QJUabvh0bE8o5ApcPnUDAGBlY4kxcwcjsHUAKld3hXd9T3wyqgvuXnuA1MSSV7p1Qd/GZ/XqHejWvQ06d3kX3t5VETVlECwszLFly0G1/df+Eou33w7ApwM/Qq1aVTHyy16oV7cm1q/fDQCoVMkKy1ZMwvsfhMDLqwr8A3wwYeKnuHTpNh49SlE5lrW1JVxc7JWblZVFued9FX0bG3WObT2EJu+HoFHbZnCt7o4Ph/eAmcQcZ/YeV9u/2zf9EPhhC1SuVRUu1dzQ8cveUMjluH3uurLPf1fuwL9NILz8asPBzQlNPwiBW80qeHjtfkXFei1DGBvSDo0nhSkpKZgxYwY6d+6M4OBgBAcHo3Pnzpg5cyaSk5Nff4AKlp9fgEuXbiIkxF/ZJhaLERISgDNnrumwshfMTERoUM0ef1978fNTKIC/ryWjkZej2n1CG1bGmTtpiO7pjxNTP8Cu8W0wtK0PxC+9hD26ZwAOXkxQOba+MISx0YQh5CksKMTd6w9Qr8mLyz5isRj1m/rg1qW7pTqGVJoPWaEM1pWsSuyTm5MHkUgEKxvLNy1Za/RtfPLzC3H50m0EBzdUqadZcEOcO3td7T5nz11HsyL9AaD52/44e/ZGied5kv0UIpEItraq47Vs2TaENPsUXbt8gxXL/0BhoewN0rwZfRsbdQoLCvH45n+oGaD6Z6dmgA/+u3q3VMcokOZDJpPD0ubFWFSr64Vr/1xAVkoGFAoF7py7gdSHyajVuI62I5SJIYxNeTDWlUKN7in8999/ERYWBisrK4SGhsLH59kfjsTERMyfPx/Tpk3Dnj170LRp03IptizS07Mgk8nh5OSg0u7kZI/btx/oqCpVDjYSmJqIkZItVWlPycpDLTcbtftUc7JGsI8Ltv/7Hz5dHI8aLtb4tmcATE3EmL/rKgDgwyYeaFDNDh1nHCrvCGViCGOjCUPIk52ZA7lMDjvHSirttg6V8PheUqmO8fviHbB3tkO9purvJ8qXFuC3xTsQFNoIlta6XX0qSt/GJyPjeT32xeq5c+eR2n1SUjLg9NJ9mk5OdkgtcjmyKKk0H3Nmr0O79s1hU2Qi8nHfD1Cvnhfs7Gxw9sw1zJv7K5KT0zF2XP83ylRW+jY26jzNyoFcLoeNg+qfHRv7Skj5r3R/dvat/AOVHG1Rs9GLCV+7Id3wx/wNmN0vCmITMUQiET76shc8G5Z8X2lFMoSxKQ+GMonTNo0mhSNGjED37t2xZMmSYt8LqFAoMHjwYIwYMQLx8fGvPI5UKoVUqjoBkkgkkEg0qca4icUipGZLMf7XM5ArgIv/ZcDd3hKD2tTG/F1XUdneEpO7+qHfgr+RXyjXdbkkEDvWxuGfuDMYN38YzCVmxT4vLJRhUdQvgEKB/l9300GF9FxBQSEiRs2FQgFMjvpM5bMBAz5U/u86dWrAzMwU0VOWYlREH5ibFx9XenNHftuHi4fPYMD04TAr8jP+54+/8ODqPfSJGgQ7Vwfcu3gLOxdtQiVHO9RqpB+rhWQ8NJoUnjt3DqtWrVL7RdEikQijRo1Co0aNXnucmJgYREdHq7RFRUVhypQ+mpRTKg4OtjAxESM1VfXeptTUDDg7O5SwV8VKfyJFoUwO50qqs2JnWwskZ0nV7pOUmYdCmRxyxYu2mwnZcLWzeHY5uro9nG0t8MfYd5Wfm5qIEVjLGX1b1oTvV9tV9tUFQxgbTRhCnkp21hCbiJGZpnpjfFZ6NuycKpWw1zO7fj2Inevi8M3cIajmXaXY54WFMiyavBqpCWkY+8NQvVolBPRvfOztn9eToaYee7X7ODvbIzUl86X+mXB6qX9BQSG+HjUXjx6lYOXKySqrhOr4+dVGYaEMDx8mw8ur+NiWN30bG3WsbK0hFovx5KUHsp5kZMPG8dV/dv7efABHf49Dv++Hwt3LQ9leIM1H3Ood6DVxIHwC6wMA3L08kHDrIY5tOaAXk0JDGJvyIELxeY4x0Gh91N3dHSdOqL8ZHQBOnDgBNze31x4nMjISmZmZKltkZKQmpZSaubkZ6tf3Rnz8eWWbXC5HfPw5NNKDP3AAUCBT4OJ/GQip46JsE4mAEB8XnLmTpnafU7dTUcPFGkXn516uNkjMzEWBTIFj15Lx/vf78eG0A8rt/L10bD/5Hz6cdkDnE0LAMMZGE4aQx9TMFJ4+VZUPiQDParx86gZq1fcscb/YdQfwx+p9+HrW5/DyrVbs8+cTwsQHKRgzdwhs7KzLo/w3om/jY25uinr1a+L48Ysq9fxz/CL8A9Rfmg/w98Hxl55KjT92HgEBtZW/fj4hvHcvActXTIK9w6snLABw9epdiMUiODraljHNm9G3sVHH1MwUlb2rqTwkIpfLcefsdVTz9Sxxv6O/x+Hwr3vwyXeD4eFTXeUzmUwOWaGs2EKLyEQMhT78JQ3DGBvSHo1WCkePHo3PP/8cp06dQps2bZQTwMTERMTFxWHp0qWYNWvWa4/z7FJxxV0rDg/vhLFj56JBA2/4+flg9ertyM3NQ5cuoRVWw+ssP3ATs/o2wYX7GTh3Nx3h79aClcQEm47fAwDM6tsEiZm5mPnHZQDAuiN30LdlTUzu5odfDt+Gp4s1hrb1warDtwAAOdJCXH+s+i/ap/mFyMjJL9auS4YwNpowhDxhPVth6dRf4eVbDTXrVsfe3w9DmpuPFu0CAQA//289HJxt0X3ws0uMO9fFYevy3fhi8idwdndERuqzJ9wtLCWwsJKgsFCGhZNW4d71h/hq+kDI5XJlHxtbK5ia6c/rUPVtfPr3/xDjIxeifoOaaNjQG2t+iUVurhSdO78DAIgcuwCubo4YFfHsKson/dphQL8pWLXyT7Rs1Ri7Yv/GxUu3MCX6cwDPJoSjvpqDK5fvYOHisZDJ5Ej+/1cH2dnZwNzcFGfPXMf58zcQGFQf1taWOHf2OqZPW40PO7SAnZ36e5grgr6NjTohnd/B1jnr4FG7Ojx8qiN++2HkS/PR6L0gAMCWWWtRyckO74V3AAAc+X0/Dq6JRbdv+sHe1RHZac/+XJhbSiCxlMDCygKeDb2xd8V2mErMYO/qiLsXbuJc3L8I0/E7I4syhLHRNt5TWArDhg2Ds7Mz5s6di0WLFkEme/a0momJCZo0aYJVq1ahR48e5VLom2jXrgXS0jIxf/46JCeno27dmli2LFqvlr53nn4IRxsJRrWvC+dKElx5mIkBC48pHz6p4mgJueLFvxwfZ+RiwKJjmNilIWIjWyMhIxerDt3Ckn3qn1rUV4YwNpowhDxBbRohO+MJti7fjcy0LFT39sDXsz5XPnySmpiusnJxYNsxFBbIsHDSapXjdAxvi86fvo/05EycOXoJADA5fLZKn7Hzh6JuI/24YR7Qv/H5oF0I0tKzsGD+b0hJyYBvXU/89PN45eXjx49TICrySoFGjepgxsyRmP/DBsyb+ytq1KiMH38cg9r/vwKVlJSGgwdOAgC6dv5G5VwrV0chMLA+zM1NsSv2GBYt/B35+QXwqOqKfv3bo3+R+wx1Qd/GRp0GrRojJ+sJDqyJxZP0LLjXrIq+3w6GjcOzFdbM5HSV8Tq582/ICmXYOHWlynHe6fM+3v3kAwBAt7H9sX/Vn9g8cw1ys5/C3tUBbfq1x1vtmldcsNcwhLHRNmOdFIoUCkWZ1qgLCgqQkvLsvVfOzs4wM9PGzcmGNaEpmQ9qDt+q6yK05vaCzhDO2ACAD4SWJz5pp66L0Ipg1/YQ2tgUys/pugitMRX7Qzjj44MNt3brugit6VXrfQhnbIBnf0/rjlvdMVo/ZuKVmVo/praV+bqOmZkZKleurM1aiIiIiHTOWFcK9edmHyIiIiK9YJyTQuNMTUREREQquFJIREREVISxXj42ztREREREpIIrhURERERFGOtKISeFREREREWIjPRCqnGmJiIiIiIVXCkkIiIiKsJYLx8bZ2oiIiIiUsGVQiIiIqIiin7/uzHhpJCIiIioCF4+JiIiIiKjxUkhERERUREiiLW+lcXChQvh6ekJCwsLBAUF4cSJE6/sP2/ePNSpUweWlpaoVq0aRo0ahby8vFKfj5NCIiIiIj2zceNGREREICoqCqdPn4a/vz/CwsKQlJSktv/69esxbtw4REVF4cqVK1i+fDk2btyI8ePHl/qcnBQSERERFSESibW+aWrOnDkYNGgQwsPDUa9ePSxZsgRWVlZYsWKF2v7Hjh1D8+bN0adPH3h6eqJt27bo3bv3a1cXi9KzB018dF2A1txe0FnXJWiZcMbmGWHlCXZtr+sStEhYY2Mq9td1CVomnPHpVet9XZegZcIZG10rjwdNpFIppFKpSptEIoFEIinWNz8/H6dOnUJkZKSyTSwWIzQ0FPHx8WqPHxISgrVr1+LEiRMIDAzE7du3ERsbi759+5a6Rj2bFF7XdQFa4gPhZAGEmKfj/iO6LkJrtoe2gHDGxweW1Xvrugityb3/K7IK9uu6DK2xNQuFkH6v1X5vua6L0Job+wai1se/6roMrbm1Tjh/DzwXExOD6OholbaoqChMmTKlWN+UlBTIZDK4ubmptLu5ueHq1atqj9+nTx+kpKTg7bffhkKhQGFhIQYPHszLx0RERERlVR4PmkRGRiIzM1NlK7oS+KYOHTqEqVOnYtGiRTh9+jS2bNmCnTt34rvvviv1MfRspZCIiIhIeEq6VKyOs7MzTExMkJiYqNKemJgId3d3tftMmjQJffv2xWeffQYAaNiwIXJycvD5559jwoQJEItfvw7IlUIiIiKiokRi7W8aMDc3R5MmTRAXF6dsk8vliIuLQ3BwsNp9nj59WmziZ2JiAgBQKBSlOi9XComIiIiK0IdvNImIiED//v3RtGlTBAYGYt68ecjJyUF4eDgAoF+/fvDw8EBMTAwAoEOHDpgzZw4aNWqEoKAg3Lx5E5MmTUKHDh2Uk8PX4aSQiIiISM/07NkTycnJmDx5MhISEhAQEIDdu3crHz65f/++ysrgxIkTIRKJMHHiRDx8+BAuLi7o0KEDvv/++1Kfk5NCIiIioiJEIpGuSwAADB8+HMOHD1f72aFDh1R+bWpqiqioKERFRZX5fLpfHyUiIiIineNKIREREVERZf2uYkPHSSERERFREfrwoIkuGGdqIiIiIlLBlUIiIiKiovTkQZOKxpVCIiIiIuJKIREREZEKI10yM5pJ4bp1O7F8+RYkJ6fD19cLkyZ9AT8/H12XVWZCymMIWdIPH0Dq/j2QZWVC4lENbj16w9Kz5mv3yzp5Ao9W/gwbvwBU/eLZu6YUskIk/7kNOZcuID8lGSaWlrCqUw8uHbvCzN6+nJNozhDG54t+72HUFx3g5mKHC1fuI2LyKpw8d6vE/sMHfoBBn4SimoczUtOysTX2H0yavgFSaQEAwMbaAlGje+CjsKZwcbbDuYt3MXrKapw6f1vrtf/262GsXbkfqSlZqF3HA2PG90D9hp4l9t+/5zSWLNiBxw9TUa2GK0aM6ojmLRsoP3/6NA8L5m7H4QPnkZmRgyoeTuj58Tvo2rMFAODRw1R0DJus9tgxswciNKyxVvNpwhB+r338UV181r0hXBwtcfVWGr5dGI/z11LU9l07qx2C/CsXaz/0z38YNHFvsfZvvwxB7w/r4vtFx7Fq6yWt1/6yT96rjUHtfeFiZ4kr99MRvfoUzt9OK7F/JSszfN3DD2FNq8HOxhyPUnLwvzWncejcYwCAWCTCl10boGNzT7jYWyAxPRdb/rqDBdvKP4vW8fKxcMXGHkFMzDIMG9YbW7fOg6+vFwYOnIzU1Axdl1YmQspjCFmyTp1A0pbf4NyuAzzHTYakajX8t2AeCrOzXrlffmoKkrb+DstatVXa5fn5yPvvHpze/xCe4ybDY9BQ5Ccm4OFPP5ZnjDIxhPHp1qEZpk/qi+/nbUZw+/E4f+Ue/lg7Di5Otmr79+wYgu/G9sLUeZsR0PprDB7zE7p1CMa33/RU9lk843O0btEQn361CE3f+wb7j5zHzvUTUMXNQau17911CvNmbMFnQ9phze/jULtOVYz4YgHSUrPV9j935jYmfrMSHTsHY+3vkWjV2g+jR/6MmzceKfvMnbEF8Ucv49uY/vjtj0no1fddzJz6Gw4fPA8AcHN3wK5DU1W2z4e1h5WVBCEt6mk1nyYM4fdau1ZeGP9FEBasPYNOQ7bjyu00rIh5H472Fmr7D4vej+Ae65XbB59tRqFMjl1/3SnW973mNRBQ1xUJKTnlHQMA0L5ZdYz/uBHmb7mIjybuxtX7GVg17l042UrU9jczEeOXce+iqrM1hs8/ivdG78T4ZSeQkJ6r7PNFh7roE1obU1afQtsxsZix4RwGfVgX/cP0a2JPJTOKSeHKldvQo0cYunYNhbd3dURHD4WFhQSbN+/TdWllIqQ8hpAlLW4f7EJawD74bUgqV4F7r08gNjdHZvzREvdRyOV4vGopnNt/BDNnF5XPTCytUH3E17Bt8hYkbu6w9KoFt559kHf/HgrSUss7jkYMYXxGftYeK389gDW/H8bVGw8xInI5cnPz0b/nO2r7N2vig/hT17Fx+zHcf5CCuCMX8Nv2Y2gaUAsAYCExQ6cPAjFh6nr8feIqbt9LxPdzN+PWvQQM6vueVmtf/0scOnULwUedg1GzVmVETu4FCwtz/LE1Xm3/DWsPIrh5PfT99D141XLHkBEd4FuvGn5ff1jZ5/zZ22jfsRmaBPqgiocTunR/G7XreODyhXsAABMTMZyd7VS2Q3HnEBrWGFZW6ic3FcEQfq992rUBNu66hs17buDm/QxM/uFv5EoL0a2ESU9mdj5S0nOV29uNPZCXV1hsUujmZIXJw4IREXMIhYXyioiCTz+og40Hb2HzX3dw82EWJq7491mWVuqvgHR7pybsbMwxeO4RnLqegocpOThxNRlX72co+zT2ccb+Uw9w6OwjPEzJwe4T/+HohQT41XSqkExaJRJpfzMAgp8U5ucX4NKlmwgJ8Ve2icVihIQE4MyZazqsrGyElMcQsigKC5H33z1Y+75YQRGJxbDyrYvc2yVfSkyJ/RMmlWxhH9KiVOeR5+YCIhHEllZvXLO2GML4mJmZoFFDLxw4elHZplAocODoRQQ2rq12n+OnrqNRAy809X82CfSs7oqwdwOw+8BZAICpqQlMTU2QJ81X2S8vLx8hb9XRWu0FBYW4evk/BDbzVbaJxWIENvPFhXPqf29dOHcHbwWr1tAspC4unHsxyfALqIm/Dp5HUmIGFAoFTp64jvt3kxAU4vvy4QAAVy7dx/WrD/BRlxAtpCobg/i9ZipGfR9nHDv9YlVWoQCOnX6ERvVcS3WMbh/4YMeh28jNK1S2iUTAzLGtsOz3C7h5L0PbZatlZiJGAy9HHLuYoGxTKIBjFxPRqLaz2n1CG3vgzI1URA9oin8WdcauaR9gyEf1IC4y2Tl9PQUh9d3g6V4JAOBb3R5N67jg8LlHao9J+kfr9xT+999/iIqKwooVK7R96DJJT8+CTCaHk5PqZR8nJ3vcvv1AR1WVnZDyGEKWwidPALkcppVUL0WaVrLF04QEtfs8vXkDmfFH4Rmp/r6tl8kLCpC0bRNsmwTCxNLyjWvWFkMYH2dHW5iamiApJVOlPSklE3VqVVG7z8btx+DkWAlxm6dAJALMzEzx85p9mLlwOwDgSU4ejp+8jsiRXXDt5iMkJmegR8fmCGrsg1t31Y95WWSkP4FMJoejUyWVdkenSrh7R/15UlOy4PTSZXFHZ1ukpry4lWHM+O6YOuVXtG8zASamYohFYkyY0geNm6qfJG/fcgxeNd3h3+j198iWF0P4veZgZwFTEzFSilwuBYDU9FzUqmb32v396jijjpcjxs8+otL+eU8/yOQKrK6Aewifc6gkeZYlM0+lPSUrDzWrVFK7TzVXGwTXs8b2Y3cxcMYh1HCvhOgBTWFqKsaPW579o2zJn5dhY2mGfTPbQyZXwEQswuzfz+OPY/fKPZPWCX7JTD2tTwrT0tKwevXqV04KpVIppFKpSptEIoFE/a0MRAZDlpeHx78sh3uffjC1Uf+Xa1EKWSEeLV8CAHDr9Ul5l0cAWjSrizHDOuHLiSvw75mbqOXphllT+uPxyM6YNn8rAODTUQvx08zBuP3vIhQWynD24h38tv0YGjX00nH1r7dx3WFcOH8HsxcMRuXKjjhz6gZmfL8Rzq52CApWXS3My8vHntiTGPjF+zqq1nh0f78Ort5OU3kopX5tJ/TvXB+dhm7XYWWlIxYBqVl5mLDsX8gVCly8mw43B0sMal9XOSlsH1QdHZvXwKiFx3D9YSbq1XDAxE8aIyk9F1uOFL+PUp8pDORyr7ZpPCn8448/Xvn57VdcUnsuJiYG0dHRKm1RUVGYMqWPpuW8loODLUxMxEhNTVdpT03NgLOzdm8arwhCymMIWUxtbACxuNhDJYXZWTC1Lb46UJCchILUFDxYUuShEYUCAHB1xOeoOfl/MHd5dqlJISvEw+U/oSAtFdVHjtarVULAMMYnJS0LhYUyuDqrjoWrsx0SkjPU7hM1ugd+3XIEqzYcBABcuvYfrKwssHDaZ5j+4zYoFArcuZeEtj2+hZWlBLaVLJGQlIE1C0fizv0krdVu72ADExNxsYdK0lKz4eSs/iEZJ2dbpKaq/l5MS8lS9s/Ly8eiH/7AzB8+x9utnj2RXLuOB65ffYi1q/YXmxQe2HsGebn5aP9RkLZilYkh/F5Lz8xDoUwOZwfVP6dODpZIfmn18GWWFqZo/25N/LD6tEr7Ww3c4WRvicPrXjzkZGoixrgvAtG/S3282/c37QUoIj1b+iyLneo9pM62Fkh+afXwuaSMZ/nl///3GQDcepQFVwdLmJmIUSCTY1yfACz58wp2HL8PALj+XyY8nK0x+KN6BjcpNFYaTwo7deoEkUgERZHfGC8TvWaGHRkZiYiICJU2iUQCQPtLzObmZqhf3xvx8ecRGhoMAJDL5YiPP4dPPmmv9fOVNyHlMYQsIlNTWFSrgZxrV1DJvxGAZw+RPL12FQ6t3i3W39y9MrwmqP6DJ/nPrZDn5cGte2+YOTg+O8b/TwjzkxJR/csxMLGxKf8wGjKE8SkokOHMhTt4t3kD/Ln3JIBnf/+827w+lqwu/soPALC0NFf5DxsAyGXy/99XOYcHADzNleJprhT2dtYIbemHCTHrtVa7mZkpfOtVw7//XMM7bZ7dSyeXy/HvP9fQvXcrtfs09PfCv8evoU/f1sq2f+KvoqH/sxXMwkIZCgtlEIlV/w4Wm4igkBf/O3v7lni0fLchHBxfv6pdngzi91qhHJeupyC4UWXs///LoSIRENKoCtZsv/zKfT9o6QVzMzG277+p0r5t/038fUb1frsVMWHYvv8mNu+5od0ARRTI5Lh4Jw0h9d2x79RDAM+yBDdww5q919Xuc+p6Mj4KqaHyZ8TLvRIS05+i4P///FiYm0L+0u8zmVwBsSEuuhlizVqg8aSwcuXKWLRoETp27Kj287Nnz6JJkyavPMazS8UVd604PLwTxo6diwYNvOHn54PVq7cjNzcPXbqEVlgN2iSkPIaQxbHNe3j8ywpYVq8BC08vpB/YD7lUCrtmzQEAj1Yvh6m9PVw7doXYzAySKh4q+z9/eOR5u0JWiIdLlyDvv3uoOmQkIJejMPPZPXEm1tYQmerP60MNYXzmL9uJpbOH4NSF2zh59iaGD/wAVlYS/PLbsydyl80dgkcJ6Zg8fQMAIHb/aYz8rB3OXbyLE2dvopanOyaP7o7Y/aeV/0ELbekHkUiE67cfoZanO6aO74Prtx4pj6ktffq1QfSEX1C3fnXUb+CJX9ceQG6uFB06NQMAREWuhourPYaPevb3ba9P3sUX4XOxdtV+vN2yAfbuOoUrl+5j/P9fZbGxsUTjprUxf/ZWWEjM4F7FEadP3kDsHyfw1ZguKuf+734Szpy6iXmLh2g1U1kZwu+1FZsvYsY3LXHxegrOX0vGgM4NYGlhis17nk2kZnzTEokpTzF7xUmV/bq974N9f99HRrbqbVMZ2dJibYWFcqSk5eLOA9X7ZLWeZdc1zPyiGS7cScO5W6kIf78OrCSm2HT42YrerMHNkJCei1kbzwEA1u+/ib5tfTC5bxOs3nsdnu6VMKRjfaze8+JBoANnHmJop/p4lPoUNx5kor6nAz79oA42Hdb++z2pfGj8X58mTZrg1KlTJU4KX7eKqAvt2rVAWlom5s9fh+TkdNStWxPLlkXrzWUJTQkpjyFksW0SCFn2EyTv2A5ZdhYkHtVQbdhXysvHBempGr1uoCAjA08unAUA3I1RXVWs9uVoWPuof0pUFwxhfDb9eRzOjraYHNENbi72OH/5Hjr2naZ8+KRaFWeV1Ytp87dCoQCixvRAFXdHpKRmYef+05gyc6Oyj52tFb4d2wse7o5Iy3yC7bEnEDVzIwoLZVqtve0HTZCRno2fFuxAako2fHw9MH/JMOXl4ITH6Sqrfv6NauJ/08Ox+Mc/seiHP1Gthgtmzf8c3rVfPFTz/axwLJz3ByaNW4WszKdwr+KIISM7KF9e/dwfW+Lh6maPZiF1tZqprAzh91rs4TtwtLfAl/2bwMXBEldupWLg+D1IzXh2ybWKq02x//55VbXDWw3dMWDsLl2UXKKdx+/DsZIEX3VrCGc7C1y5l47w6YeQmvUsS2UnK5UV9cdpTxE+7SAm9G2M2JgPkJD+FKt2X8NPf15R9olefQqjuvnh2/CmcLKVIDE9FxsO3MSPWwzw5dUGubz55kQKDWdwR44cQU5ODt5/X/2NyTk5OTh58iRatVJ/+ePV1C9bGx4fCCcLIMQ8HfcfeX03A7E9tAWEMz4+sKzeW9dFaE3u/V+RVbBf12Voja1ZKIT0e632e8t1XYTW3Ng3ELU+/lXXZWjNrXW6/Xug9rtLtX7MGwcHaf2Y2qbxSmGLFq9+75q1tXUZJ4REREREpCv6c/MSERERkT4wzqvHxvp6RiIiIiIqiiuFREREREUZ6YMmnBQSERERFWWk32jCy8dERERExJVCIiIiIhXGuVDIlUIiIiIi4kohERERkSo+aEJEREREvHxMREREREaLK4VERERERSiM9JU0nBQSERERFWWk9xTy8jERERERcaWQiIiISIVxLhRypZCIiIiIAJFCoVDouggiIiIifeH90WqtH/PmH/21fkxt07PLx9d1XYCW+EA4WQAh5imQn9V1EVpjJg6AcMZHeL/XTiTv1HURWhPo0h7CGR/h/V4TXh4d4oMmRERERKQvFi5cCE9PT1hYWCAoKAgnTpwose8777wDkUhUbGvfvn2pz8dJIREREVFRonLYNLRx40ZEREQgKioKp0+fhr+/P8LCwpCUlKS2/5YtW/D48WPldvHiRZiYmKB79+6lPicnhURERER6Zs6cORg0aBDCw8NRr149LFmyBFZWVlixYoXa/o6OjnB3d1du+/btg5WVFSeFRERERGUmEml/00B+fj5OnTqF0NBQZZtYLEZoaCji4+NLdYzly5ejV69esLa2LvV59exBEyIiIiIdK4evuZNKpZBKpSptEokEEomkWN+UlBTIZDK4ubmptLu5ueHq1auvPdeJEydw8eJFLF++XKMauVJIREREVM5iYmJgZ2enssXExJTLuZYvX46GDRsiMDBQo/24UkhERERUVDksmUVGRiIiIkKlTd0qIQA4OzvDxMQEiYmJKu2JiYlwd3d/5XlycnKwYcMGfPvttxrXyJVCIiIionIm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SFkA5tFnQsoCCDOP7iy6vFfrxxxar22p++bn58PKygqbNm1Cp06dlO39+/dHRkYGtm/f/sr9FQoFDhw4gI8++gjbtm3De++9V6rzavzdx/b29pg2bRqmTZum6a5ERERERkkqlRZ700pJt9OlpKRAJpPBzc1Npd3NzQ1Xr14t8RyZmZnw8PCAVCqFiYkJFi1aVOoJIWAEL68mIiIi0kR5vJKmIt68UqlSJZw9exb//vsvvv/+e0RERODQoUOl3l/jlUIiIiIi0kxkZCQiIiJU2kp66NbZ2RkmJiZITExUaU9MTIS7u3uJ5xCLxcoHfgMCAnDlyhXExMQUu9+wxP1L1YuIiIjISJTHK2kkEglsbW1VtpImhebm5mjSpAni4uKUbXK5HHFxcQgODi51DrlcrtGXg3ClkIiIiKgIffhauoiICPTv3x9NmzZFYGAg5s2bh5ycHOXTyP369YOHh4fyEnRMTAyaNm2KWrVqQSqVIjY2FmvWrMHixYtLfU5OComIiIj0TM+ePZGcnIzJkycjISEBAQEB2L17t/Lhk/v370MsfnHBNycnB0OHDsWDBw9gaWkJX19frF27Fj179iz1OTV+JU35Esrj9EJ8NQDz6C8h5RFSFoB59JmQsgDCzKM7K6/v0foxw31K965AXeJKIREREVER+vDyal3ggyZERERExJVCIiIioqK4UkhERERERosrhURERERFmIj06BncCsRJIREREVERxnoZ1VhzExEREVERXCkkIiIiKoIPmhARERGR0dKzbzQhIiIi0q1Nd3Zr/ZjdvN7X+jG1Tc8uHwvlK3qE+HVDzKO/hJRHSFkA5tFnPqju/z9dF6E1989NhOd3e3VdhtbcndRWp+c31qePefmYiIiIiPRtpZCIiIhIt/igCREREREZLa4UEhERERVhrCuFnBQSERERFWGsk0JePiYiIiIirhQSERERFWXClUIiIiIiMlZcKSQiIiIqQmykL6/mpJCIiIioCGO9jGqsuYmIiIioCK4UEhERERXBV9IQERERkdEympXCdet2YvnyLUhOToevrxcmTfoCfn4+ui6rzISUR0hZAObRd0LKI6QsgGHk6dezCb7oHwwXZxtcuZ6IydP24NzFRyX2H/hxID7p0QQe7rZIy8hF7L4rmD7/AKT5MgBAYOPqGDygGRrWrQw310r47KvfsPfg9QrJ0rdp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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# plot Ising matrix\n", + "plt.figure(1, figsize=[7, 5])\n", + "sns.heatmap(J, annot=True, linewidths=.5, cmap=\"YlGnBu\", annot_kws = {'alpha': 1})\n", + "plt.title('Ising distance matrix');\n", + "plt.tight_layout();" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## IMPLEMENTATION OF QAOA WITH BRAKET " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this section we load a set of useful helper functions that we will explain in detail below. \n", + "Specifically in ```utils_qaoa.py``` we provide simple building blocks for the core modules of our QAOA algorithm, that is (i) a function called ```circuit``` that defines the parametrized ansatz, (ii) a function called ```objective_function``` that takes a list of variational parameters as input, and returns the cost associated with those parameters and finally (iii) a function ```train``` to run the entire QAOA algorithm for given ansatz. \n", + "This way we can solve the problem in a clean and modular approach.\n", + "Here, we show in markdown the definition of the parametrized QAOA circuit. \n", + "For more details, see the corresponding file ```utils_qaoa.py```. " + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The autoreload extension is already loaded. To reload it, use:\n", + " %reload_ext autoreload\n" + ] + } + ], + "source": [ + "from utils_qaoa import circuit, train \n", + "# auto reload external files, so that we can edit the external .py file and immediately see the changes here\n", + "%load_ext autoreload\n", + "%autoreload 2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "```python\n", + "# function to implement evolution with driver Hamiltonian\n", + "def driver(beta, n_qubits):\n", + " \"\"\"\n", + " Returns circuit for driver Hamiltonian U(Hb, beta)\n", + " \"\"\"\n", + " # instantiate circuit object\n", + " circ = Circuit()\n", + " \n", + " for qubit in range(n_qubits):\n", + " gate = Circuit().rx(qubit, 2*beta)\n", + " circ.add(gate)\n", + " \n", + " return circ\n", + "\n", + "\n", + "# helper function for evolution with cost Hamiltonian\n", + "def cost_circuit(gamma, n_qubits, ising):\n", + " \"\"\"\n", + " returns circuit for evolution with cost Hamiltonian\n", + " \"\"\"\n", + " # instantiate circuit object\n", + " circ = Circuit()\n", + "\n", + " # get all non-zero entries (edges) from Ising matrix \n", + " idx = ising.nonzero()\n", + " edges = list(zip(idx[0], idx[1]))\n", + " \n", + " for qubit_pair in edges:\n", + " # get interaction strength\n", + " int_strength = ising[qubit_pair[0], qubit_pair[1]]\n", + " # for Rigetti we decompose ZZ using CNOT gates\n", + " if 'Ankaa' in device.name:\n", + " gate = ZZgate(qubit_pair[0], qubit_pair[1], gamma*int_strength)\n", + " circ.add(gate)\n", + " # classical simulators and IonQ support ZZ gate\n", + " else:\n", + " gate = Circuit().zz(qubit_pair[0], qubit_pair[1], angle=2*gamma*int_strength)\n", + " circ.add(gate)\n", + "\n", + " return circ\n", + "\n", + "\n", + "# function to build the QAOA circuit with depth p\n", + "def circuit(params, n_qubits, ising):\n", + " \"\"\"\n", + " function to return full QAOA circuit\n", + " \"\"\"\n", + "\n", + " # initialize qaoa circuit with first Hadamard layer: for minimization start in |->\n", + " circ = Circuit()\n", + " X_on_all = Circuit().x(range(0, n_qubits))\n", + " circ.add(X_on_all)\n", + " H_on_all = Circuit().h(range(0, n_qubits))\n", + " circ.add(H_on_all)\n", + "\n", + " # setup two parameter families\n", + " circuit_length = int(len(params) / 2)\n", + " gammas = params[:circuit_length]\n", + " betas = params[circuit_length:]\n", + "\n", + " # add circuit layers\n", + " for mm in range(circuit_length):\n", + " circ.add(cost_circuit(gammas[mm], n_qubits, ising))\n", + " circ.add(driver(betas[mm], n_qubits))\n", + "\n", + " return circ\n", + "\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## VISUALIZATION OF THE QAOA ANSATZ" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us first visualize our parametrized QAOA ansatz for a small number of qubits and fixed (i.e., not optimized) parameters. \n", + "For convenience, the parameters are displayed in the circuit (up to a factor of $2$ we have added in our ansatz definition). \n", + "First we prepare the state $|0,0,\\dots\\rangle \\rightarrow |-,-,\\dots\\rangle$, with the superposition state $|-\\rangle = (|0\\rangle -|1\\rangle )/\\sqrt{2}$. \n", + "Following the discussion above, we choose to start out with this state as it is the minimal energy state of the simple driver Hamiltonian $H_{B}$. \n", + "This state preparation is followed by one layer of the QAOA ansatz, consisting of evolution with the cost Hamiltonian by $\\exp(-i\\gamma H_{C})= \\prod_{j,l}\\exp(-i\\gamma J_{j,l}\\sigma_{j}^{z}\\sigma_{l}^{z}) = \\prod_{j,l} ZZ_{j,l}(2\\gamma J_{j,l})$, followed by the single-qubit driving term, $\\exp(-i\\beta H_{B})= \\prod_{j} \\exp(-i\\beta \\sigma_{j}^{x})= \\prod_{j} R_{j}^{(x)}(2\\beta)$.\n", + "Note that the circuit definition depends on the ```device``` object, as the implementation of the ZZ gate depends on the specific gate set supported by the device. " + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Printing test circuit:\n", + "T : |0|1| 2 | 3 |\n", + " \n", + "q0 : -X-H-ZZ(2*gamma)-Rx(2*beta)-\n", + " | \n", + "q1 : -X-H-ZZ(2*gamma)-Rx(2*beta)-\n", + "\n", + "T : |0|1| 2 | 3 |\n", + "\n", + "Unassigned parameters: [beta, gamma].\n" + ] + } + ], + "source": [ + "# create parameters\n", + "gammas = [FreeParameter('gamma')]\n", + "betas = [FreeParameter('beta')]\n", + "params = gammas + betas\n", + "\n", + "# for demonstration purposes use small Ising matrix\n", + "J_sub = np.array([[0, 1], [0, 0]])\n", + "N = J_sub.shape[0]\n", + "\n", + "# get circuit ansatz\n", + "my_simple_circuit = circuit(params, device, N, J_sub)\n", + "\n", + "# print test ansatz circuit\n", + "print('Printing test circuit:')\n", + "print(my_simple_circuit)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We see that our ansatz produces the expected result for shallow QAOA with $p=1$. \n", + "We run one more sanity check for $p=2$ below. " + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Printing test circuit:\n", + "T : |0|1| 2 | 3 | 4 | 5 |\n", + " \n", + "q0 : -X-H-ZZ(2*gamma_1)-Rx(2*beta_1)-ZZ(2*gamma_2)-Rx(2*beta_2)-\n", + " | | \n", + "q1 : -X-H-ZZ(2*gamma_1)-Rx(2*beta_1)-ZZ(2*gamma_2)-Rx(2*beta_2)-\n", + "\n", + "T : |0|1| 2 | 3 | 4 | 5 |\n", + "\n", + "Unassigned parameters: [beta_1, beta_2, gamma_1, gamma_2].\n" + ] + } + ], + "source": [ + "# set number of qubits and fix parameters\n", + "gammas = [FreeParameter('gamma_1'), FreeParameter('gamma_2')]\n", + "betas = [FreeParameter('beta_1'), FreeParameter('beta_2')]\n", + "params = gammas + betas\n", + "\n", + "# for demonstration purposes use small Ising matrix\n", + "J_sub = np.array([[0, 1], [0, 0]])\n", + "N = J_sub.shape[0]\n", + "\n", + "# get circuit ansatz\n", + "my_simple_circuit = circuit(params, device, N, J_sub)\n", + "\n", + "# print test ansatz circuit\n", + "print('Printing test circuit:')\n", + "print(my_simple_circuit)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## QAOA SIMULATION ON LOCAL SCHROEDINGER SIMULATOR" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We are now all set to run some QAOA simulation experiments. \n", + "First of all, you can play and experiment yourself with the number of qubits $N$. \n", + "Secondly, you may also experiment with the classical optimizer. \n", + "Since we are using an off-the-shelf, black-box ```scipy``` minimizer (as described in more detail [here](https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.minimize.html)), you can simply swap between different optimizers by setting the ```OPT_METHOD``` parameter below. \n", + "Some popular options readily available within this library include *Nelder-Mead*, *BFGS* and *COBYLA*. \n", + "As a precautionary warning, note that the classical optimization step may get stuck in a local optimum, rather than finding the global minimum for our parametrized QAOA ansatz wavefunction. \n", + "To address this issue, we may run several optimization loops, starting from different random parameter seeds. \n", + "While this brute-force approach does not provide any guarantee to find the global optimum, from a pragmatic point of view at least it does increase the odds of finding an acceptable solution, at the expense of potentially having to run many more circuits on the simulator or QPU, respectively.\n", + "Finally, the optimization loop may require the execution of many individual quantum tasks (i.e., single circuit executions for fixed parameters). \n", + "For example, when choosing the classical [Powell](https://docs.scipy.org/doc/scipy/reference/optimize.minimize-powell.html#optimize-minimize-powell) optimizer for the graph considered here, we find $\\sim 270$ cycles in the for loop. \n", + "For the local simulator device chosen here by default this is not an issue, but if you run this algorithm on any QPU you may want to adjust the ```maxfev``` parameter to control the maximum allowed number function evaluations (compare comment in the next code block below)." + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [], + "source": [ + "##################################################################################\n", + "# set up hyperparameters\n", + "##################################################################################\n", + "\n", + "# User-defined hypers\n", + "DEPTH = 3 # circuit depth for QAOA\n", + "SHOTS = 1000 # number measurements to make on circuit\n", + "OPT_METHOD = 'COBYLA' # SLSQP, COBYLA, Nelder-Mead, BFGS, Powell, ...\n", + "\n", + "# set up the problem\n", + "n_qubits = J.shape[0]\n", + "\n", + "# initialize reference solution (simple guess)\n", + "bitstring_init = -1 * np.ones([n_qubits])\n", + "energy_init = np.dot(bitstring_init, np.dot(J, bitstring_init))\n", + "\n", + "# set tracker to keep track of results\n", + "tracker = {\n", + " 'count': 1, # Elapsed optimization steps\n", + " 'optimal_energy': energy_init, # Global optimal energy\n", + " 'opt_energies': [], # Optimal energy at each step\n", + " 'global_energies': [], # Global optimal energy at each step\n", + " 'optimal_bitstring': bitstring_init, # Global optimal bitstring\n", + " 'opt_bitstrings': [], # Optimal bitstring at each step\n", + " 'costs': [], # Cost (average energy) at each step\n", + " 'res': None, # Quantum result object\n", + " 'params': [] # Track parameters\n", + "}\n", + "\n", + "# set options for classical optimization\n", + "options = {'disp': True, 'maxiter': 50}" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Circuit depth hyperparameter: 3\n", + "Problem size: 10\n", + "Starting the training.\n", + "====================================================================\n", + "OPTIMIZATION for circuit depth p=3\n", + "Param \"verbose\" set to False. Will not print intermediate steps.\n", + "====================================================================\n", + "Final average energy (cost):\n", + " Return from subroutine COBYLA because the MAXFUN limit has been reached.\n", + " -0.586455292294228\n", + "Final angles: [5.78684986 4.70523429 6.47840919 0.25681156 1.2539245 2.7942261 ]\n", + "Training complete.\n", + "Code execution time [sec]: 6.3666791915893555\n", + "Optimal energy: -6.486032631497276\n", + "Optimal classical bitstring: [-1 1 -1 -1 1 -1 1 1 -1 -1]\n", + "\n", + " NFVALS = 50 F =-5.864553E-01 MAXCV = 0.000000E+00\n", + " X = 5.786850E+00 4.705234E+00 6.478409E+00 2.568116E-01 1.253925E+00\n", + " 2.794226E+00\n" + ] + } + ], + "source": [ + "##################################################################################\n", + "# run QAOA optimization on graph \n", + "##################################################################################\n", + "\n", + "print('Circuit depth hyperparameter:', DEPTH)\n", + "print('Problem size:', n_qubits)\n", + "\n", + "# kick off training\n", + "start = time.time()\n", + "result_energy, result_angle, tracker = train(\n", + " device = device, options=options, p=DEPTH, ising=J, n_qubits=n_qubits, n_shots=SHOTS, \n", + " opt_method=OPT_METHOD, tracker=tracker, verbose=verbose)\n", + "end = time.time()\n", + "\n", + "# print execution time\n", + "print('Code execution time [sec]:', end - start)\n", + "\n", + "# print optimized results\n", + "print('Optimal energy:', tracker['optimal_energy'])\n", + "print('Optimal classical bitstring:', tracker['optimal_bitstring'])\n", + "\n", + "##################################################################################\n", + "# Compute output and dump to pickle\n", + "##################################################################################\n", + "\n", + "if store_results:\n", + " out = {'p': DEPTH, 'N': n_qubits,\n", + " 'ENERGY_OPTIMAL': tracker['optimal_energy'], 'BITSTRING': tracker['optimal_bitstring'],\n", + " 'result_energy': result_energy, 'result_angle': result_angle}\n", + "\n", + " # store results: dump output to pickle with timestamp in filename\n", + " time_now = datetime.strftime(datetime.now(), '%Y%m%d%H%M%S')\n", + " results_file = 'results-'+time_now+'.pkl'\n", + " print(f'Writing results to file: {results_file}')\n", + " pickle.dump(out, open(results_file, \"wb\"))\n", + " \n", + " # you can load results as follows\n", + " # out = pickle.load(open(results_file, \"rb\"))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## POSTPROCESSING AND COMPARISON OF OUR QAOA RESULTS WITH CLASSICAL RESULTS" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this section we visualize the results we have found with QAOA. \n", + "Specifically, we display the results found for the variational parameters $\\beta$ and $\\gamma$ for every layer in our QAOA ansatz. \n", + "Moreover, we show the solution to our graph coloring problem with every node colored either red or blue (recall that there are just two colors since we solve a _binary_ optimization problem).\n", + "Finally, we compare these results to results found classically using the open-source ```pyqubo``` package. \n", + "Ideally, the two results should agree with each other but this is not necessarily the case for several reasons: \n", + "First of all, for the original small toy problem we have set up there are several degenerate classical solutions with the same optimal quality. \n", + "The classical and the QAOA approach may find solutions with different coloring configurations but the same quality (that is energy). \n", + "Secondly, with QAOA we are not guaranteed to find the optimal solutions. \n", + "Specifically, the deeper the circuit, the harder the classical optimization problem, and we may get stuck in a local rather than global optimum. \n", + "One brute-force approach is then to just re-run QAOA with different random initial seeds for the parameters $(\\beta, \\gamma)$." + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Optimization on graph with n=10 vertices, m=20 edges, optimized with COBYLA and 1000 shots per call; seed=42.\n" + ] + }, + { + "data": { + "image/png": "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KDAwUH/84x/18MMPa9y4cS4vsiYyDEMFRSWeLgMAAI8LqF1LFovFY+d3OgzVrVvXMU4oLCxMx44dU9u2bSVJZ8+edW11NVhBUYliXl7n6TIAAPC4b/54n+r43dQwZpdw+sxdu3bVF198odtuu03333+/pkyZov3792vFihXq2rWrO2oEAABwm0pNuvhLx48fV35+vjp06KCLFy9qypQp+vLLL9WqVSvNmzdPkZGR7qrVI9w16SK3yQAAuMIdt8mc+f12OgyZDTNQAwDgfZz5/Xb6abKdO3dqx44d16zfsWOHvv76a2cPBwAA4FFOh6EJEyYoMzPzmvVZWVmaMGGCS4oqz5o1axQXF6eAgADZbDYNGjSowvajR4+WxWIps/Tv39+tNQIAAO/i9ADqb7755rqTK3bu3FnffPONS4q6nuXLl2vMmDGaNWuWevfureLiYh04cOCG+/Xv31+LFi1yfLZarW6rEQAAeB+nw5DVatUPP/yg6OjoMuuzs7Pl6+uex+KKi4s1ceJEpaamKiEhwbE+JibmhvtarVY1adKk0ucqLCxUYWGh43NeXp5zxQIAAK/i9G2yfv36KSkpSbm5uY51P/30k1588UXde++9Li3uqvT0dGVlZcnHx0edO3dWWFiYBgwYUKkrQ5s3b1ajRo3UunVrjRs3TufOnauwfUpKioKDgx1LRESEq74GAACohpx+miwrK0t33323zp07p86dO0uS9uzZo8aNG2vDhg1uCQ9Lly7VyJEj1bx5c82bN09RUVGaO3eu1q9fryNHjqh+/frl7lenTh21aNFCx44d04svvqjAwEBt27ZNtWrVuu4+17syFBERwdNkAAB4Ebc/Wn/x4kW9//772rt3rwICAtShQweNHDlStWvXduo4iYmJmj17doVtDh06pPT0dD322GN666239Pvf/17SldDSrFkzvfLKK3rqqacqdb7jx4/rV7/6lT777DP16dOnUvvwaD0AAN7Hmd/vmxrkU7duXUcouRVTpkzR6NGjK2wTHR2t7OxsSWXHCFmtVkVHRysjI6PS54uOjlbDhg119OjRSochAABQs1UqDK1atUoDBgxQ7dq1tWrVqgrbPvTQQ5U+eWhoqEJDQ2/YLjY2VlarVXa7XT169JAkFRUV6eTJk07NeP3999/r3LlzCgsLq/Q+AACgZqvUbTIfHx/l5OSoUaNG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jh3ria8AAACqIa+YZ8iTmGcIAADvU+PmGQIAAHAXwhAAADA1whAAADA1whAAADA1whAAADA1whAAADA1whAAADA1whAAADA1whAAADA1whAAADA1whAAADA1whAAADA1whAAADA1whAAADA1X08XUN0ZhiFJysvL83AlAACgsq7+bl/9Ha8IYegGLly4IEmKiIjwcCUAAMBZFy5cUHBwcIVtLEZlIpOJlZaW6tSpU6pXr54sFkul9snLy1NERIQyMzMVFBTk5gpBf1ct+rtq0d9Vi/6uWu7sb8MwdOHCBYWHh8vHp+JRQVwZugEfHx81a9bspvYNCgriP6YqRH9XLfq7atHfVYv+rlru6u8bXRG6igHUAADA1AhDAADA1AhDbmC1WpWcnCyr1erpUkyB/q5a9HfVor+rFv1dtapLfzOAGgAAmBpXhgAAgKkRhgAAgKkRhgAAgKkRhgAAgKkRhtxgwYIFioqKkr+/v+Li4vTVV195uqQa4f/9v/+nBx98UOHh4bJYLPr3v/9dZrthGHr55ZcVFhamgIAA9e3bV99++61niq0BUlJS1KVLF9WrV0+NGjXSoEGDZLfby7T5+eefNWHCBDVo0ECBgYEaOnSofvjhBw9V7N3efPNNdejQwTH5XLdu3fTpp586ttPX7vPqq6/KYrFo0qRJjnX0t2vNmDFDFoulzNKmTRvHdk/3N2HIxT788ENNnjxZycnJSk9PV8eOHXXffffp9OnTni7N6128eFEdO3bUggULrrt9zpw5ev3117Vw4ULt2LFDdevW1X333aeff/65iiutGbZs2aIJEyZo+/bt2rBhg4qKitSvXz9dvHjR0ea5557TJ598omXLlmnLli06deqUhgwZ4sGqvVezZs306quvateuXfr666/Vu3dvPfzwwzp48KAk+tpddu7cqbfeeksdOnQos57+dr22bdsqOzvbsXzxxReObR7vbwMudeeddxoTJkxwfC4pKTHCw8ONlJQUD1ZV80gyVq5c6fhcWlpqNGnSxEhNTXWs++mnnwyr1Wp88MEHHqiw5jl9+rQhydiyZYthGFf6t3bt2sayZcscbQ4dOmRIMrZt2+apMmsUm81mvPPOO/S1m1y4cMFo1aqVsWHDBqNnz57GxIkTDcPg37Y7JCcnGx07drzuturQ31wZcqHLly9r165d6tu3r2Odj4+P+vbtq23btnmwsprvxIkTysnJKdP3wcHBiouLo+9dJDc3V5JUv359SdKuXbtUVFRUps/btGmj5s2b0+e3qKSkREuXLtXFixfVrVs3+tpNJkyYoAceeKBMv0r823aXb7/9VuHh4YqOjtZjjz2mjIwMSdWjv3lRqwudPXtWJSUlaty4cZn1jRs31uHDhz1UlTnk5ORI0nX7/uo23LzS0lJNmjRJ3bt3V7t27SRd6XM/Pz+FhISUaUuf37z9+/erW7du+vnnnxUYGKiVK1cqJiZGe/bsoa9dbOnSpUpPT9fOnTuv2ca/bdeLi4vT4sWL1bp1a2VnZ2vmzJn6zW9+owMHDlSL/iYMAbihCRMm6MCBA2Xu8cP1WrdurT179ig3N1cfffSRRo0apS1btni6rBonMzNTEydO1IYNG+Tv7+/pckxhwIABjr87dOiguLg4RUZG6l//+pcCAgI8WNkV3CZzoYYNG6pWrVrXjID/4Ycf1KRJEw9VZQ5X+5e+d72nn35aq1ev1qZNm9SsWTPH+iZNmujy5cv66aefyrSnz2+en5+fWrZsqdjYWKWkpKhjx476y1/+Ql+72K5du3T69Gndfvvt8vX1la+vr7Zs2aLXX39dvr6+aty4Mf3tZiEhIfr1r3+to0ePVot/34QhF/Lz81NsbKw2btzoWFdaWqqNGzeqW7duHqys5mvRooWaNGlSpu/z8vK0Y8cO+v4mGYahp59+WitXrlRaWppatGhRZntsbKxq165dps/tdrsyMjLocxcpLS1VYWEhfe1iffr00f79+7Vnzx7Hcscdd+ixxx5z/E1/u1d+fr6OHTumsLCw6vHvu0qGaZvI0qVLDavVaixevNj45ptvjN///vdGSEiIkZOT4+nSvN6FCxeM3bt3G7t37zYkGfPmzTN2795tfPfdd4ZhGMarr75qhISEGB9//LGxb98+4+GHHzZatGhhFBQUeLhy7zRu3DgjODjY2Lx5s5Gdne1YLl265GgzduxYo3nz5kZaWprx9ddfG926dTO6devmwaq9V2JiorFlyxbjxIkTxr59+4zExETDYrEY69evNwyDvna3Xz5NZhj0t6tNmTLF2Lx5s3HixAlj69atRt++fY2GDRsap0+fNgzD8/1NGHKDN954w2jevLnh5+dn3Hnnncb27ds9XVKNsGnTJkPSNcuoUaMMw7jyeP1LL71kNG7c2LBarUafPn0Mu93u2aK92PX6WpKxaNEiR5uCggJj/Pjxhs1mM+rUqWMMHjzYyM7O9lzRXuyJJ54wIiMjDT8/PyM0NNTo06ePIwgZBn3tbv8dhuhv1xo+fLgRFhZm+Pn5GU2bNjWGDx9uHD161LHd0/1tMQzDqJprUAAAANUPY4YAAICpEYYAAICpEYYAAICpEYYAAICpEYYAAICpEYYAAICpEYYAAICpEYYAAICpEYYAuF1UVJTmz59/S8eYMWOGOnXq5JJ6ynPy5ElZLBbt2bPHredxp5rwHYCqxgzUAFxm8eLFmjRp0jVvnz5z5ozq1q2rOnXq3PSx8/PzVVhYqAYNGtxilVeMHj1aP/30k/7973871pWUlOjMmTNq2LChfH19XXKeqnby5Em1aNFCu3fvdnt4BGoK7/yvHYBXCQ0NveVjBAYGKjAw0AXVlK9WrVpq0qSJW88BoPrhNhkASVJhYaGeffZZNWrUSP7+/urRo4d27tzp2L5582ZZLBatWbNGHTp0kL+/v7p27aoDBw44tj/++OPKzc2VxWKRxWLRjBkzJF17m8xiseitt97SwIEDVadOHd12223atm2bjh49ql69eqlu3bq66667dOzYMcc+/32b7Oo5frlERUVJunKFJyEhQS1atFBAQIBat26tv/zlL2WOtWTJEn388ceOfTdv3nzdW0xbtmzRnXfeKavVqrCwMCUmJqq4uNixvVevXnr22Wc1depU1a9fX02aNHF874q89957atu2reO4Tz/9tCTpiSee0MCBA8u0LSoqUqNGjfTuu+9KkkpLSzVnzhy1bNlSVqtVzZs315///Odyz3XgwAENGDBAgYGBaty4seLj43X27Nkb1giYRpW9EhZAtfbss88a4eHhxn/+8x/j4MGDxqhRowybzWacO3fOMAzD2LRpkyHJuO2224z169cb+/btMwYOHGhERUUZly9fNgoLC4358+cbQUFBRnZ2tpGdnW1cuHDBMAzDiIyMNF577TXHuSQZTZs2NT788EPDbrcbgwYNMqKioozevXsba9euNb755huja9euRv/+/R37JCcnGx07dnR8vnqO7Oxs4+jRo0bLli2N+Ph4wzAM4/Lly8bLL79s7Ny50zh+/Ljxz3/+06hTp47x4YcfGoZhGBcuXDAeeeQRo3///o5jFBYWGidOnDAkGbt37zYMwzC+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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# visualize the optimization process\n", + "cycles = np.arange(1, tracker['count'])\n", + "optim_classical = tracker['global_energies']\n", + "\n", + "# print information\n", + "info = 'Optimization on graph with n={} vertices, m={} edges, optimized with {} and {} shots per call; seed={}.'\n", + "print(info.format(n, m, OPT_METHOD, SHOTS, seed))\n", + "\n", + "plt.plot(cycles, optim_classical)\n", + "plt.xlabel('optimization cycle')\n", + "plt.ylabel('best classical minimum')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Optimal energy found with QAOA: -6.486032631497276\n", + "Optimal bit-string found with QAOA: [-1 1 -1 -1 1 -1 1 1 -1 -1]\n" + ] + } + ], + "source": [ + "# print the optimal energy found with QAOA \n", + "print('Optimal energy found with QAOA:', tracker['optimal_energy'])\n", + "# print the corresponding bitstring\n", + "print('Optimal bit-string found with QAOA:', tracker['optimal_bitstring'])" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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evvttxEdHY333nsPBgYGqvJhw4bhP//5T5cG15YtW7Zg/vz52LJlC6ZMmXLD+pWVlUhLS4OTk5PWYyMiIqLeQeMEaNOmTfjqq6/w6KOPqq36CgwMxNmzZzVqq7KyEklJSUhKSgIApKenIykpSTVpeenSpZg7d66q/ubNmzF37lysW7cOISEhyMvLQ15eHsrKylR1Xn75ZRw4cAAZGRmIi4vD/fffD5lMhtmzZ2v6UomIiKiP0jgBysnJgbe3d6typVKJhoYGjdpKSEjA8OHDVUvYo6KiMHz4cCxbtgwAkJubq7aC66uvvkJjYyOee+45ODk5qT5efPFFVZ3Lly9j9uzZ8PX1xYwZM2BjY4PDhw/Dzs5O05dKREREfZTGq8D8/Pzw999/w8PDQ618x44danvxdMa4cePQ0Rzs6OhotcedOWpj69atGsVARERE/Y/GCdCyZcsQGRmJnJwcKJVK/Pjjjzh37hw2bdqEX3/9VRsxEhEREXUpjYfApk2bhl9++QV79+6FiYkJli1bhjNnzuCXX37BxIkTtREjERERUZe6pX2A+ipN9hEgIiKinkGr+wARERER9XadmgNkZWUFiUTSqQavXr16SwERERERaVunEqDrT2EnIiIi6s06lQBFRkZqOw4iIiKibqPxMvjy8vI2yyUSCeRyudrxGEREREQ9kcYJkKWlZYfzgVxdXTFv3jwsX74cUinnWBMREVHPo3ECFB0djX//+9+YN28egoODAQBHjx5FTEwMXn/9dRQWFmLt2rWQy+V47bXXujxgIiIiolulcQIUExODdevWYcaMGaqyqVOnwt/fH19++SViY2Ph7u6Ot99+mwkQERER9Ugaj1HFxcW1eebX8OHDER8fDwC47bbb1A4xJSIiIupJNE6A3NzcsGHDhlblGzZsgJubGwCguLgYVlZWtx4dERERkRZoPAS2du1aPPzww/j9998xevRoAEBCQgLOnj2LHTt2AACOHTuGmTNndm2kRERERF3kps4CS09Px5dffonz588DAHx9ffH000/D09Ozq+PTCZ4FRkRE1Pto8v7Nw1DbwASIiIio99Hk/VvjITAAKC0txdGjR1FQUAClUql2be7cuTfTJBEREVG30TgB+uWXX/Doo4+isrIS5ubmapsiSiQSJkBERETU42m8Cmzx4sV4/PHHUVlZidLSUpSUlKg+eBI8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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# get results for variational angles\n", + "gamma = result_angle[:DEPTH]\n", + "beta = result_angle[DEPTH:]\n", + "# get array [1, 2, ..., p]\n", + "pa = np.arange(1, DEPTH + 1)\n", + "\n", + "plt.figure(2)\n", + "plt.plot(pa, gamma / np.pi, '-o', label='gamma')\n", + "plt.plot(pa, beta / np.pi, '-s', label='beta')\n", + "plt.xlabel('circuit depth (layer) p')\n", + "plt.ylabel('optimal angles [pi]')\n", + "plt.xticks(pa)\n", + "plt.legend(title='Variational QAOA angles:', loc='upper left')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Minimal energy found with QAOA: -6.486032631497276\n" + ] + }, + { + "data": { + "image/png": "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GdtxiIiI3JBbT4UFf3+EPPvMmI8T/KuNDAJEROS13HplABjcsOjyTx+CoawMkBx71HBYSiXUCQmI2P8X6z0HRERE3sbtwwAwuCNhx/fvhdTW5rxAoFRCCA5GxP6/QDVrlnPOSURE5IHc+jLBNcrISEz58/tQRkWNar+Cv59QCSEkBFP27mEQICIir+cRYQAAVDNnImL/X+CryRl8YRTbCvukLEbE/+2HOi7OSdURERF5Lo+4THA9WZbRv+d9dD/7HOSensH9BIZ7/FChAGQZioAABD/5awSu/kc+RkhERHSVx4WBa+SBAQzs/wi9b70N06lTgy8Kwt83G7JYrCFBNX8+gtashv/990EIDHRRxURERO7JY8PA9Sw6HUx1dTD97TQsOt3gKkBgINQJCfBZkAQhNNTVJRIREbmtCREGiIiIaOR44ZyIiMjLMQwQERF5OYYBIiIiL8cwQERE5OUYBoiIiLwcwwAREZGXYxggIiLycgwDREREXo5hgIiIyMsxDBAREXk5hgEiIiIvxzBARETk5RgGiIiIvBzDABERkZdjGCAiIvJyDANERERejmGAiIjIyzEMEBEReTmGASIiIi/HMEBEROTlGAaIiIi8HMMAERGRl2MYICIi8nIMA0RERF6OYYCIiMjLMQwQERF5uf8Hywao1f4RDfoAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# visualize solution\n", + "colorlist = tracker['optimal_bitstring']\n", + "colorlist[colorlist == -1] = 0\n", + "\n", + "# plot_colored_graph(J, N, colorlist, pos)\n", + "plot_colored_graph_simple(G, colorlist, pos)\n", + "print('Minimal energy found with QAOA:', tracker['optimal_energy'])" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Classical solution: {'s0': -1, 's1': 1, 's2': -1, 's3': -1, 's4': 1, 's5': -1, 's6': 1, 's7': 1, 's8': -1, 's9': -1}\n", + "Minimal energy found classically: -6.486032631497276\n" + ] + }, + { + "data": { + "image/png": "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GdtxiIiI3JBbT4UFf3+EPPvMmI8T/KuNDAJEROS13HplABjcsOjyTx+CoawMkBx71HBYSiXUCQmI2P8X6z0HRERE3sbtwwAwuCNhx/fvhdTW5rxAoFRCCA5GxP6/QDVrlnPOSURE5IHc+jLBNcrISEz58/tQRkWNar+Cv59QCSEkBFP27mEQICIir+cRYQAAVDNnImL/X+CryRl8YRTbCvukLEbE/+2HOi7OSdURERF5Lo+4THA9WZbRv+d9dD/7HOSensH9BIZ7/FChAGQZioAABD/5awSu/kc+RkhERHSVx4WBa+SBAQzs/wi9b70N06lTgy8Kwt83G7JYrCFBNX8+gtashv/990EIDHRRxURERO7JY8PA9Sw6HUx1dTD97TQsOt3gKkBgINQJCfBZkAQhNNTVJRIREbmtCREGiIiIaOR44ZyIiMjLMQwQERF5OYYBIiIiL8cwQERE5OUYBoiIiLwcwwAREZGXYxggIiLycgwDREREXo5hgIiIyMsxDBAREXk5hgEiIiIvxzBARETk5RgGiIiIvBzDABERkZdjGCAiIvJyDANERERejmGAiIjIyzEMEBEReTmGASIiIi/HMEBEROTlGAaIiIi8HMMAERGRl2MYICIi8nIMA0RERF6OYYCIiMjLMQwQERF5uf8Hywao1f4RDfoAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# validate quantum results with classical algorithm\n", + "solution, energy_min, colors_classical = solve_classical_ising(J, n_qubits, pos)\n", + "# plot classical solution\n", + "plot_colored_graph_simple(G, colors_classical, pos)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Note that QAOA may arrive at a different solution than our classical benchmark code. \n", + "First of all, the classical optimization routine may get stuck in a local rather than global optimum. \n", + "To avoid this, more sophisticated optimization strategies may be employed (as proposed for example in Ref.[4]), going beyond the scope of this introductory notebook tutorial. \n", + "Secondly, even if QAOA arrives at the same classical energy as our classical approach, the coloring may differ since the solution space may be degenerate for the specific example shown here (this means, two different classical bitstrings have the same energy).\n", + "At minimum, you may find an inverted coloring (by swapping red and blue colors), because of the underlying $\\mathbb{Z}_{2}$ symmetry. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SUMMARY" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this notebook we have gone through an end-to-end demo on QAOA and its implementation on Amazon Braket. \n", + "We have built modular core building blocks that may easily adapted to other problems. \n", + "The QAOA routine is tailored towards solving combinatorial optimization problems such as _Maximum Cut_ [4] and arguably one of the most prominent examples of the emerging class of hybrid, variational algorithms and still very much a field of active research today. \n", + "For example, as we increase the circuit depth of QAOA, the classical optimization step becomes increasingly difficult (because of the curse of dimensionality as well known in classical machine learning) and may easily get stuck in local sub-optimal solutions. \n", + "To address this issue some heuristics have already been developed, for example in Ref.[4], but further improvements will arguably be necessary to fully unlock the potential of this approach. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "## REFERENCES" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "[1] E. Farhi, J. Goldstone, and S. Gutmann, \"A Quantum Approximate Optimization Algorithm\", arXiv: 1411.4028 (2014).\n", + "\n", + "[2] Y. Cao, J. Romero, J. P. Olson, M. Degroote, P. D. Johnson, M. Kieferova, I. D. Kivlichan, T. Menke, B. Peropadre, N. P. Sawaya, et al., \"Quantum Chemistry in the Age of Quantum Computing\", Chemical reviews 119, 10856 (2019).\n", + "\n", + "[3] A. Smith, M. Kim, F. Pollmann, and J. Knolle, \"Simulating quantum many-body dynamics on a current digital quantum computer\", npj Quantum Information 5, 1 (2019).\n", + "\n", + "[4] L. Zhou, S.-T. Wang, S. Choi, H. Pichler, and M. D. Lukin, \"Quantum Approximate Optimization Algorithm: Performance, Mechanism,and Implementation on Near-Term Devices\", arXiv: 1812.01041 (2018). \n", + "\n", + "[5] F. Glover, G. Kochenberger, \"A Tutorial on Formulating and Using QUBO Models\", arXiv:1811.11538 (2018).\n", + "\n", + "[6] P. Vikstal, M. Groenkvist, M. Svensson, M. Andersson, G. Johansson, and G. Ferrini, \"Applying the Quantum Approximate Optimization Algorithm to the Tail Assignment Problem\", arXiv:1912.10499 (2019). \n", + "\n", + "[7] L. Li, M. Fan, M. Coram, P. Riley, and S. Leichenauer, \"Quantum optimization with a novel gibbs objective function and ansatz architecture search\", arXiv:1909.07621 (2019). " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "## APPENDIX" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### APPENDIX: Example for Ising Matrix Syntax" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this appendix we provide a small code example to showcase how we obtain all edges with corresponding weights. " + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ising matrix:\n", + " [[0 1 0]\n", + " [0 0 3]\n", + " [0 0 0]]\n", + "Edges: [(0, 1), (1, 2)]\n", + "Interaction strength: 1\n", + "Interaction strength: 3\n", + "All interactions: [1 3]\n" + ] + } + ], + "source": [ + "# example Ising matrix with edges between qubit 0 and qubit 1 (weight=1) and qubit 1 and qubit 2 (weight=3)\n", + "ising = np.array([[0, 1, 0], [0, 0, 3], [0, 0, 0]])\n", + "print('Ising matrix:\\n', ising)\n", + "\n", + "# get all non-zero entries (edges) from Ising matrix \n", + "idx = ising.nonzero()\n", + "edges = list(zip(idx[0], idx[1]))\n", + "print('Edges:', edges)\n", + "\n", + "# for every edge print interaction strength\n", + "for qubit_pair in edges:\n", + " # get interaction strength\n", + " int_strength = ising[qubit_pair[0], qubit_pair[1]]\n", + " print('Interaction strength:', int_strength)\n", + "\n", + "# get all non-zero entries from Ising, with proper order\n", + "interactions = np.array([ising[q[0], q[1]] for q in edges])\n", + "print('All interactions:', interactions)" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Task Summary\n", + "{}\n", + "Estimated cost to run this example with SV1: 0 USD\n" + ] + } + ], + "source": [ + "print(\"Quantum Task Summary\")\n", + "print(t.quantum_tasks_statistics())\n", + "print(f\"Estimated cost to run this example with SV1: {t.qpu_tasks_cost() + t.simulator_tasks_cost()} USD\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.9" + }, + "vscode": { + "interpreter": { + "hash": "590fab68195cf107911461461f81d5c472d3d6127f579badfcfad30f03e5cab2" + } + } }, - { - "data": { - "image/png": "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KDAwUH/84x/18MMPa9y4cS4vsiYyDEMFRSWeLgMAAI8LqF1LFovFY+d3OgzVrVvXMU4oLCxMx44dU9u2bSVJZ8+edW11NVhBUYliXl7n6TIAAPC4b/54n+r43dQwZpdw+sxdu3bVF198odtuu03333+/pkyZov3792vFihXq2rWrO2oEAABwm0pNuvhLx48fV35+vjp06KCLFy9qypQp+vLLL9WqVSvNmzdPkZGR7qrVI9w16SK3yQAAuMIdt8mc+f12OgyZDTNQAwDgfZz5/Xb6abKdO3dqx44d16zfsWOHvv76a2cPBwAA4FFOh6EJEyYoMzPzmvVZWVmaMGGCS4oqz5o1axQXF6eAgADZbDYNGjSowvajR4+WxWIps/Tv39+tNQIAAO/i9ADqb7755rqTK3bu3FnffPONS4q6nuXLl2vMmDGaNWuWevfureLiYh04cOCG+/Xv31+LFi1yfLZarW6rEQAAeB+nw5DVatUPP/yg6OjoMuuzs7Pl6+uex+KKi4s1ceJEpaamKiEhwbE+JibmhvtarVY1adKk0ucqLCxUYWGh43NeXp5zxQIAAK/i9G2yfv36KSkpSbm5uY51P/30k1588UXde++9Li3uqvT0dGVlZcnHx0edO3dWWFiYBgwYUKkrQ5s3b1ajRo3UunVrjRs3TufOnauwfUpKioKDgx1LRESEq74GAACohpx+miwrK0t33323zp07p86dO0uS9uzZo8aNG2vDhg1uCQ9Lly7VyJEj1bx5c82bN09RUVGaO3eu1q9fryNHjqh+/frl7lenTh21aNFCx44d04svvqjAwEBt27ZNtWrVuu4+17syFBERwdNkAAB4Ebc/Wn/x4kW9//772rt3rwICAtShQweNHDlStWvXduo4iYmJmj17doVtDh06pPT0dD322GN666239Pvf/17SldDSrFkzvfLKK3rqqacqdb7jx4/rV7/6lT777DP16dOnUvvwaD0AAN7Hmd/vmxrkU7duXUcouRVTpkzR6NGjK2wTHR2t7OxsSWXHCFmtVkVHRysjI6PS54uOjlbDhg119OjRSochAABQs1UqDK1atUoDBgxQ7dq1tWrVqgrbPvTQQ5U+eWhoqEJDQ2/YLjY2VlarVXa7XT169JAkFRUV6eTJk07NeP3999/r3LlzCgsLq/Q+AACgZqvUbTIfHx/l5OSoUaNG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jh3ria8AAACqIa+YZ8iTmGcIAADvU+PmGQIAAHAXwhAAADA1whAAADA1whAAADA1whAAADA1whAAADA1whAAADA1whAAADA1whAAADA1whAAADA1whAAADA1whAAADA1whAAADA1whAAADA1X08XUN0ZhiFJysvL83AlAACgsq7+bl/9Ha8IYegGLly4IEmKiIjwcCUAAMBZFy5cUHBwcIVtLEZlIpOJlZaW6tSpU6pXr54sFkul9snLy1NERIQyMzMVFBTk5gpBf1ct+rtq0d9Vi/6uWu7sb8MwdOHCBYWHh8vHp+JRQVwZugEfHx81a9bspvYNCgriP6YqRH9XLfq7atHfVYv+rlru6u8bXRG6igHUAADA1AhDAADA1AhDbmC1WpWcnCyr1erpUkyB/q5a9HfVor+rFv1dtapLfzOAGgAAmBpXhgAAgKkRhgAAgKkRhgAAgKkRhgAAgKkRhtxgwYIFioqKkr+/v+Li4vTVV195uqQa4f/9v/+nBx98UOHh4bJYLPr3v/9dZrthGHr55ZcVFhamgIAA9e3bV99++61niq0BUlJS1KVLF9WrV0+NGjXSoEGDZLfby7T5+eefNWHCBDVo0ECBgYEaOnSofvjhBw9V7N3efPNNdejQwTH5XLdu3fTpp586ttPX7vPqq6/KYrFo0qRJjnX0t2vNmDFDFoulzNKmTRvHdk/3N2HIxT788ENNnjxZycnJSk9PV8eOHXXffffp9OnTni7N6128eFEdO3bUggULrrt9zpw5ev3117Vw4ULt2LFDdevW1X333aeff/65iiutGbZs2aIJEyZo+/bt2rBhg4qKitSvXz9dvHjR0ea5557TJ598omXLlmnLli06deqUhgwZ4sGqvVezZs306quvateuXfr666/Vu3dvPfzwwzp48KAk+tpddu7cqbfeeksdOnQos57+dr22bdsqOzvbsXzxxReObR7vbwMudeeddxoTJkxwfC4pKTHCw8ONlJQUD1ZV80gyVq5c6fhcWlpqNGnSxEhNTXWs++mnnwyr1Wp88MEHHqiw5jl9+rQhydiyZYthGFf6t3bt2sayZcscbQ4dOmRIMrZt2+apMmsUm81mvPPOO/S1m1y4cMFo1aqVsWHDBqNnz57GxIkTDcPg37Y7JCcnGx07drzuturQ31wZcqHLly9r165d6tu3r2Odj4+P+vbtq23btnmwsprvxIkTysnJKdP3wcHBiouLo+9dJDc3V5JUv359SdKuXbtUVFRUps/btGmj5s2b0+e3qKSkREuXLtXFixfVrVs3+tpNJkyYoAceeKBMv0r823aXb7/9VuHh4YqOjtZjjz2mjIwMSdWjv3lRqwudPXtWJSUlaty4cZn1jRs31uHDhz1UlTnk5ORI0nX7/uo23LzS0lJNmjRJ3bt3V7t27SRd6XM/Pz+FhISUaUuf37z9+/erW7du+vnnnxUYGKiVK1cqJiZGe/bsoa9dbOnSpUpPT9fOnTuv2ca/bdeLi4vT4sWL1bp1a2VnZ2vmzJn6zW9+owMHDlSL/iYMAbihCRMm6MCBA2Xu8cP1WrdurT179ig3N1cfffSRRo0apS1btni6rBonMzNTEydO1IYNG+Tv7+/pckxhwIABjr87dOiguLg4RUZG6l//+pcCAgI8WNkV3CZzoYYNG6pWrVrXjID/4Ycf1KRJEw9VZQ5X+5e+d72nn35aq1ev1qZNm9SsWTPH+iZNmujy5cv66aefyrSnz2+en5+fWrZsqdjYWKWkpKhjx476y1/+Ql+72K5du3T69Gndfvvt8vX1la+vr7Zs2aLXX39dvr6+aty4Mf3tZiEhIfr1r3+to0ePVot/34QhF/Lz81NsbKw2btzoWFdaWqqNGzeqW7duHqys5mvRooWaNGlSpu/z8vK0Y8cO+v4mGYahp59+WitXrlRaWppatGhRZntsbKxq165dps/tdrsyMjLocxcpLS1VYWEhfe1iffr00f79+7Vnzx7Hcscdd+ixxx5z/E1/u1d+fr6OHTumsLCw6vHvu0qGaZvI0qVLDavVaixevNj45ptvjN///vdGSEiIkZOT4+nSvN6FCxeM3bt3G7t37zYkGfPmzTN2795tfPfdd4ZhGMarr75qhISEGB9//LGxb98+4+GHHzZatGhhFBQUeLhy7zRu3DgjODjY2Lx5s5Gdne1YLl265GgzduxYo3nz5kZaWprx9ddfG926dTO6devmwaq9V2JiorFlyxbjxIkTxr59+4zExETDYrEY69evNwyDvna3Xz5NZhj0t6tNmTLF2Lx5s3HixAlj69atRt++fY2GDRsap0+fNgzD8/1NGHKDN954w2jevLnh5+dn3Hnnncb27ds9XVKNsGnTJkPSNcuoUaMMw7jyeP1LL71kNG7c2LBarUafPn0Mu93u2aK92PX6WpKxaNEiR5uCggJj/Pjxhs1mM+rUqWMMHjzYyM7O9lzRXuyJJ54wIiMjDT8/PyM0NNTo06ePIwgZBn3tbv8dhuhv1xo+fLgRFhZm+Pn5GU2bNjWGDx9uHD161LHd0/1tMQzDqJprUAAAANUPY4YAAICpEYYAAICpEYYAAICpEYYAAICpEYYAAICpEYYAAICpEYYAAICpEYYAAICpEYYAuF1UVJTmz59/S8eYMWOGOnXq5JJ6ynPy5ElZLBbt2bPHredxp5rwHYCqxgzUAFxm8eLFmjRp0jVvnz5z5ozq1q2rOnXq3PSx8/PzVVhYqAYNGtxilVeMHj1aP/30k/7973871pWUlOjMmTNq2LChfH19XXKeqnby5Em1aNFCu3fvdnt4BGoK7/yvHYBXCQ0NveVjBAYGKjAw0AXVlK9WrVpq0qSJW88BoPrhNhkASVJhYaGeffZZNWrUSP7+/urRo4d27tzp2L5582ZZLBatWbNGHTp0kL+/v7p27aoDBw44tj/++OPKzc2VxWKRxWLRjBkzJF17m8xiseitt97SwIEDVadOHd12223atm2bjh49ql69eqlu3bq66667dOzYMcc+/32b7Oo5frlERUVJunKFJyEhQS1atFBAQIBat26tv/zlL2WOtWTJEn388ceOfTdv3nzdW0xbtmzRnXfeKavVqrCwMCUmJqq4uNixvVevXnr22Wc1depU1a9fX02aNHF874q89957atu2reO4Tz/9tCTpiSee0MCBA8u0LSoqUqNGjfTuu+9KkkpLSzVnzhy1bNlSVqtVzZs315///Odyz3XgwAENGDBAgYGBaty4seLj43X27Nkb1giYRpW9EhZAtfbss88a4eHhxn/+8x/j4MGDxqhRowybzWacO3fOMAzD2LRpkyHJuO2224z169cb+/btMwYOHGhERUUZly9fNgoLC4358+cbQUFBRnZ2tpGdnW1cuHDBMAzDiIyMNF577TXHuSQZTZs2NT788EPDbrcbgwYNMqKioozevXsba9euNb755huja9euRv/+/R37JCcnGx07dnR8vnqO7Oxs4+jRo0bLli2N+Ph4wzAM4/Lly8bLL79s7Ny50zh+/Ljxz3/+06hTp47x4YcfGoZhGBcuXDAeeeQRo3///o5jFBYWGidOnDAkGbt37zYMwzC+//57o06dOsb48eONQ4cOGStXrjQaNmxoJCcnO+ro2bOnERQUZMyYMcM4cuSIsWTJEsNisZR54/x/+9vf/mb4+/sb8+fPN+x2u/HVV185+mfr1q1GrVq1jFOnTjnar1ixwqhbt66jP6dOnWrYbDZj8eLFxtGjR43PP//c+L//+z/DMIxrvsOPP/5ohIaGGklJScahQ4eM9PR049577zXuueeeSv7LAGo+whAAIz8/36hdu7bx/vvvO9ZdvnzZCA8PN+bMmWMYxv8fhpYuXepoc+7cOSMgIMARMhYtWmQEBwdfc/zrhaHp06c7Pm/bts2QZLz77ruOdR988IHh7+/v+PzfYeiq0tJSY/DgwUZsbKxx6dKlcr/jhAkTjKFDhzo+jxo1ynj44YfLtPnvIPHiiy8arVu3NkpLSx1tFixYYAQGBholJSWGYVwJQz169ChznC5duhgvvPBCubWEh4cb06ZNK3d7TEyMMXv2bMfnBx980Bg9erRhGIaRl5dnWK1WR/j5b//9Hf70pz8Z/fr1K9MmMzPTkGTY7fZyawDMhNtkAHTs2DEVFRWpe/fujnW1a9fWnXfeqUOHDpVp261bN8ff9evXV+vWra9pUxkdOnRw/N24cWNJUvv27cus+/nnn5WXl1fhcV588UVt27ZNH3/8sQICAhzrFyxYoNjYWIWGhiowMFBvv/22MjIynKrx0KFD6tatmywWi2Nd9+7dlZ+fr++///6630WSwsLCdPr06ese8/Tp0zp16pT69OlT7nmffPJJLVq0SJL0ww8/6NNPP9UTTzzhqKmwsLDC/X9p79692rRpk2PMVWBgoNq0aSNJZW5DAmbGAGoAHlG7dm3H31fDxvXWlZaWlnuMf/7zn3rttde0efNmNW3a1LF+6dKl+sMf/qC5c+eqW7duqlevnlJTU7Vjxw5Xf41r6r5ae3l1/zKwled3v/udEhMTtW3bNn355Zdq0aKFfvOb31R6/1/Kz8/Xgw8+qNmzZ1+zLSwszKljATUVV4YA6Fe/+pX8/Py0detWx7qioiLt3LlTMTExZdpu377d8fePP/6oI0eO6LbbbpMk+fn5qaSkpEpq3rZtm5588km99dZb6tq1a5ltW7du1V133aXx48erc+fOatmy5TVXQSpT69WB3cYvZiDZunWr6tWrp2bNmt1U3fXq1VNUVJQ2btxYbpsGDRpo0KBBWrRokRYvXqzHH3/csa1Vq1YKCAiocP9fuv3223Xw4EFFRUWpZcuWZZa6deve1HcAahrCEADVrVtX48aN0/PPP6+1a9fqm2++0ZgxY3Tp0iUlJCSUafvHP/5RGzdu1IEDBzR69Gg1bNhQgwYNknTlqbH8/Hxt3LhRZ8+e1aVLl9xSb05OjgYPHqwRI0bovvvuU05OjnJycnTmzBlJVwLD119/rXXr1unIkSN66aWXyjwZd7XWffv2yW636+zZsyoqKrrmPOPHj1dmZqaeeeYZHT58WB9//LGSk5M1efJk+fjc/P8+Z8yYoblz5+r111/Xt99+q/T0dL3xxhtl2jz55JNasmSJDh06pFGjRjnW+/v764UXXtDUqVP197//XceOHdP27dsdT5r9twkTJuj8+fMaOXKkdu7cqWPHjmndunV6/PHHqyy4AtUdYQiAJOnVV1/V0KFDFR8fr9tvv11Hjx7VunXrZLPZrmk3ceJExcbGKicnR5988on8/PwkSXfddZfGjh2r4cOHKzQ0VHPmzHFLrYcPH9YPP/ygJUuWKCwszLF06dJFkvTUU09pyJAhGj58uOLi4nTu3DmNHz++zDHGjBmj1q1b64477lBoaGiZq2JXNW3aVP/5z3/01VdfqWPHjho7dqwSEhI0ffr0W6p/1KhRmj9/vv72t7+pbdu2GjhwoL799tsybfr27auwsDDdd999Cg8PL7PtpZde0pQpU/Tyyy/rtttu0/Dhw8sdoxQeHq6tW7eqpKRE/fr1U/v27TVp0iSFhITcUqADahJmoAZQKZs3b9Y999yjH3/8USEhIZ4up8bLz89X06ZNtWjRIg0ZMsTT5QA1GgOoAaAaKS0t1dmzZzV37lyFhITooYce8nRJQI1HGAKAaiQjI0MtWrRQs2bNtHjxYq99RxrgTbhNBgAATI3RcwAAwNQIQwAAwNQIQwAAwNQIQwAAwNQIQwAAwNQIQwAAwNQIQwAAwNQIQwAAwNT+PyAAIEDvTGwgAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# visualize the optimization process\n", - "cycles = np.arange(1, tracker['count'])\n", - "optim_classical = tracker['global_energies']\n", - "\n", - "# print information\n", - "info = 'Optimization on graph with n={} vertices, m={} edges, optimized with {} and {} shots per call; seed={}.'\n", - "print(info.format(n, m, OPT_METHOD, SHOTS, seed))\n", - "\n", - "plt.plot(cycles, optim_classical)\n", - "plt.xlabel('optimization cycle')\n", - "plt.ylabel('best classical minimum')\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Optimal energy found with QAOA: -6.486032631497276\n", - "Optimal bit-string found with QAOA: [-1 1 -1 -1 1 -1 1 1 -1 -1]\n" - ] - } - ], - "source": [ - "# print the optimal energy found with QAOA \n", - "print('Optimal energy found with QAOA:', tracker['optimal_energy'])\n", - "# print the corresponding bitstring\n", - "print('Optimal bit-string found with QAOA:', tracker['optimal_bitstring'])" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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evvttxEdHY333nsPBgYGqvJhw4bhP//5T5cG15YtW7Zg/vz52LJlC6ZMmXLD+pWVlUhLS4OTk5PWYyMiIqLeQeMEaNOmTfjqq6/w6KOPqq36CgwMxNmzZzVqq7KyEklJSUhKSgIApKenIykpSTVpeenSpZg7d66q/ubNmzF37lysW7cOISEhyMvLQ15eHsrKylR1Xn75ZRw4cAAZGRmIi4vD/fffD5lMhtmzZ2v6UomIiKiP0jgBysnJgbe3d6typVKJhoYGjdpKSEjA8OHDVUvYo6KiMHz4cCxbtgwAkJubq7aC66uvvkJjYyOee+45ODk5qT5efPFFVZ3Lly9j9uzZ8PX1xYwZM2BjY4PDhw/Dzs5O05dKREREfZTGq8D8/Pzw999/w8PDQ618x44danvxdMa4cePQ0Rzs6OhotcedOWpj69atGsVARERE/Y/GCdCyZcsQGRmJnJwcKJVK/Pjjjzh37hw2bdqEX3/9VRsxEhEREXUpjYfApk2bhl9++QV79+6FiYkJli1bhjNnzuCXX37BxIkTtREjERERUZe6pX2A+ipN9hEgIiKinkGr+wARERER9XadmgNkZWUFiUTSqQavXr16SwERERERaVunEqDrT2EnIiIi6s06lQBFRkZqOw4iIiKibqPxMvjy8vI2yyUSCeRyudrxGEREREQ9kcYJkKWlZYfzgVxdXTFv3jwsX74cUinnWBMREVHPo3ECFB0djX//+9+YN28egoODAQBHjx5FTEwMXn/9dRQWFmLt2rWQy+V47bXXujxgIiIiolulcQIUExODdevWYcaMGaqyqVOnwt/fH19++SViY2Ph7u6Ot99+mwkQERER9Ugaj1HFxcW1eebX8OHDER8fDwC47bbb1A4xJSIiIupJNE6A3NzcsGHDhlblGzZsgJubGwCguLgYVlZWtx4dERERkRZoPAS2du1aPPzww/j9998xevRoAEBCQgLOnj2LHTt2AACOHTuGmTNndm2kRERERF3kps4CS09Px5dffonz588DAHx9ffH000/D09Ozq+PTCZ4FRkRE1Pto8v7Nw1DbwASIiIio99Hk/VvjITAAKC0txdGjR1FQUAClUql2be7cuTfTJBEREVG30TgB+uWXX/Doo4+isrIS5ubmapsiSiQSJkBERETU42m8Cmzx4sV4/PHHUVlZidLSUpSUlKg+eBI8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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# get results for variational angles\n", - "gamma = result_angle[:DEPTH]\n", - "beta = result_angle[DEPTH:]\n", - "# get array [1, 2, ..., p]\n", - "pa = np.arange(1, DEPTH + 1)\n", - "\n", - "plt.figure(2)\n", - "plt.plot(pa, gamma / np.pi, '-o', label='gamma')\n", - "plt.plot(pa, beta / np.pi, '-s', label='beta')\n", - "plt.xlabel('circuit depth (layer) p')\n", - "plt.ylabel('optimal angles [pi]')\n", - "plt.xticks(pa)\n", - "plt.legend(title='Variational QAOA angles:', loc='upper left')\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Minimal energy found with QAOA: -6.486032631497276\n" - ] - }, - { - "data": { - "image/png": "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GdtxiIiI3JBbT4UFf3+EPPvMmI8T/KuNDAJEROS13HplABjcsOjyTx+CoawMkBx71HBYSiXUCQmI2P8X6z0HRERE3sbtwwAwuCNhx/fvhdTW5rxAoFRCCA5GxP6/QDVrlnPOSURE5IHc+jLBNcrISEz58/tQRkWNar+Cv59QCSEkBFP27mEQICIir+cRYQAAVDNnImL/X+CryRl8YRTbCvukLEbE/+2HOi7OSdURERF5Lo+4THA9WZbRv+d9dD/7HOSensH9BIZ7/FChAGQZioAABD/5awSu/kc+RkhERHSVx4WBa+SBAQzs/wi9b70N06lTgy8Kwt83G7JYrCFBNX8+gtashv/990EIDHRRxURERO7JY8PA9Sw6HUx1dTD97TQsOt3gKkBgINQJCfBZkAQhNNTVJRIREbmtCREGiIiIaOR44ZyIiMjLMQwQERF5OYYBIiIiL8cwQERE5OUYBoiIiLwcwwAREZGXYxggIiLycgwDREREXo5hgIiIyMsxDBAREXk5hgEiIiIvxzBARETk5RgGiIiIvBzDABERkZdjGCAiIvJyDANERERejmGAiIjIyzEMEBEReTmGASIiIi/HMEBEROTlGAaIiIi8HMMAERGRl2MYICIi8nIMA0RERF6OYYCIiMjLMQwQERF5uf8Hywao1f4RDfoAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# visualize solution\n", - "colorlist = tracker['optimal_bitstring']\n", - "colorlist[colorlist == -1] = 0\n", - "\n", - "# plot_colored_graph(J, N, colorlist, pos)\n", - "plot_colored_graph_simple(G, colorlist, pos)\n", - "print('Minimal energy found with QAOA:', tracker['optimal_energy'])" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Classical solution: {'s0': -1, 's1': 1, 's2': -1, 's3': -1, 's4': 1, 's5': -1, 's6': 1, 's7': 1, 's8': -1, 's9': -1}\n", - "Minimal energy found classically: -6.486032631497276\n" - ] - }, - { - "data": { - "image/png": "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GdtxiIiI3JBbT4UFf3+EPPvMmI8T/KuNDAJEROS13HplABjcsOjyTx+CoawMkBx71HBYSiXUCQmI2P8X6z0HRERE3sbtwwAwuCNhx/fvhdTW5rxAoFRCCA5GxP6/QDVrlnPOSURE5IHc+jLBNcrISEz58/tQRkWNar+Cv59QCSEkBFP27mEQICIir+cRYQAAVDNnImL/X+CryRl8YRTbCvukLEbE/+2HOi7OSdURERF5Lo+4THA9WZbRv+d9dD/7HOSensH9BIZ7/FChAGQZioAABD/5awSu/kc+RkhERHSVx4WBa+SBAQzs/wi9b70N06lTgy8Kwt83G7JYrCFBNX8+gtashv/990EIDHRRxURERO7JY8PA9Sw6HUx1dTD97TQsOt3gKkBgINQJCfBZkAQhNNTVJRIREbmtCREGiIiIaOR44ZyIiMjLMQwQERF5OYYBIiIiL8cwQERE5OUYBoiIiLwcwwAREZGXYxggIiLycgwDREREXo5hgIiIyMsxDBAREXk5hgEiIiIvxzBARETk5RgGiIiIvBzDABERkZdjGCAiIvJyDANERERejmGAiIjIyzEMEBEReTmGASIiIi/HMEBEROTlGAaIiIi8HMMAERGRl2MYICIi8nIMA0RERF6OYYCIiMjLMQwQERF5uf8Hywao1f4RDfoAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# validate quantum results with classical algorithm\n", - "solution, energy_min, colors_classical = solve_classical_ising(J, n_qubits, pos)\n", - "# plot classical solution\n", - "plot_colored_graph_simple(G, colors_classical, pos)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Note that QAOA may arrive at a different solution than our classical benchmark code. \n", - "First of all, the classical optimization routine may get stuck in a local rather than global optimum. \n", - "To avoid this, more sophisticated optimization strategies may be employed (as proposed for example in Ref.[4]), going beyond the scope of this introductory notebook tutorial. \n", - "Secondly, even if QAOA arrives at the same classical energy as our classical approach, the coloring may differ since the solution space may be degenerate for the specific example shown here (this means, two different classical bitstrings have the same energy).\n", - "At minimum, you may find an inverted coloring (by swapping red and blue colors), because of the underlying $\\mathbb{Z}_{2}$ symmetry. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## SUMMARY" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In this notebook we have gone through an end-to-end demo on QAOA and its implementation on Amazon Braket. \n", - "We have built modular core building blocks that may easily adapted to other problems. \n", - "The QAOA routine is tailored towards solving combinatorial optimization problems such as _Maximum Cut_ [4] and arguably one of the most prominent examples of the emerging class of hybrid, variational algorithms and still very much a field of active research today. \n", - "For example, as we increase the circuit depth of QAOA, the classical optimization step becomes increasingly difficult (because of the curse of dimensionality as well known in classical machine learning) and may easily get stuck in local sub-optimal solutions. \n", - "To address this issue some heuristics have already been developed, for example in Ref.[4], but further improvements will arguably be necessary to fully unlock the potential of this approach. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "---\n", - "## REFERENCES" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "[1] E. Farhi, J. Goldstone, and S. Gutmann, \"A Quantum Approximate Optimization Algorithm\", arXiv: 1411.4028 (2014).\n", - "\n", - "[2] Y. Cao, J. Romero, J. P. Olson, M. Degroote, P. D. Johnson, M. Kieferova, I. D. Kivlichan, T. Menke, B. Peropadre, N. P. Sawaya, et al., \"Quantum Chemistry in the Age of Quantum Computing\", Chemical reviews 119, 10856 (2019).\n", - "\n", - "[3] A. Smith, M. Kim, F. Pollmann, and J. Knolle, \"Simulating quantum many-body dynamics on a current digital quantum computer\", npj Quantum Information 5, 1 (2019).\n", - "\n", - "[4] L. Zhou, S.-T. Wang, S. Choi, H. Pichler, and M. D. Lukin, \"Quantum Approximate Optimization Algorithm: Performance, Mechanism,and Implementation on Near-Term Devices\", arXiv: 1812.01041 (2018). \n", - "\n", - "[5] F. Glover, G. Kochenberger, \"A Tutorial on Formulating and Using QUBO Models\", arXiv:1811.11538 (2018).\n", - "\n", - "[6] P. Vikstal, M. Groenkvist, M. Svensson, M. Andersson, G. Johansson, and G. Ferrini, \"Applying the Quantum Approximate Optimization Algorithm to the Tail Assignment Problem\", arXiv:1912.10499 (2019). \n", - "\n", - "[7] L. Li, M. Fan, M. Coram, P. Riley, and S. Leichenauer, \"Quantum optimization with a novel gibbs objective function and ansatz architecture search\", arXiv:1909.07621 (2019). " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "---\n", - "## APPENDIX" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### APPENDIX: Example for Ising Matrix Syntax" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In this appendix we provide a small code example to showcase how we obtain all edges with corresponding weights. " - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ising matrix:\n", - " [[0 1 0]\n", - " [0 0 3]\n", - " [0 0 0]]\n", - "Edges: [(0, 1), (1, 2)]\n", - "Interaction strength: 1\n", - "Interaction strength: 3\n", - "All interactions: [1 3]\n" - ] - } - ], - "source": [ - "# example Ising matrix with edges between qubit 0 and qubit 1 (weight=1) and qubit 1 and qubit 2 (weight=3)\n", - "ising = np.array([[0, 1, 0], [0, 0, 3], [0, 0, 0]])\n", - "print('Ising matrix:\\n', ising)\n", - "\n", - "# get all non-zero entries (edges) from Ising matrix \n", - "idx = ising.nonzero()\n", - "edges = list(zip(idx[0], idx[1]))\n", - "print('Edges:', edges)\n", - "\n", - "# for every edge print interaction strength\n", - "for qubit_pair in edges:\n", - " # get interaction strength\n", - " int_strength = ising[qubit_pair[0], qubit_pair[1]]\n", - " print('Interaction strength:', int_strength)\n", - "\n", - "# get all non-zero entries from Ising, with proper order\n", - "interactions = np.array([ising[q[0], q[1]] for q in edges])\n", - "print('All interactions:', interactions)" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Task Summary\n", - "{}\n", - "Estimated cost to run this example with SV1: 0 USD\n" - ] - } - ], - "source": [ - "print(\"Quantum Task Summary\")\n", - "print(t.quantum_tasks_statistics())\n", - "print(f\"Estimated cost to run this example with SV1: {t.qpu_tasks_cost() + t.simulator_tasks_cost()} USD\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.9" - }, - "vscode": { - "interpreter": { - "hash": "590fab68195cf107911461461f81d5c472d3d6127f579badfcfad30f03e5cab2" - } - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} + "nbformat": 4, + "nbformat_minor": 4 +} \ No newline at end of file diff --git a/examples/hybrid_quantum_algorithms/QAOA/utils_classical.py b/examples/hybrid_quantum_algorithms/QAOA/utils_classical.py index 95dff1959..4e7ee9329 100644 --- a/examples/hybrid_quantum_algorithms/QAOA/utils_classical.py +++ b/examples/hybrid_quantum_algorithms/QAOA/utils_classical.py @@ -152,7 +152,7 @@ def solve_classical_ising(J, N, pos): # Solve classical Ising model solution = solve_ising(linear, quad) - # print calssical solution + # print classical solution print("Classical solution:", solution) # get corresponding energy diff --git a/examples/pennylane/0_Getting_started/0_Getting_started.ipynb b/examples/pennylane/0_Getting_started/0_Getting_started.ipynb index 3947579ad..0f6617888 100644 --- a/examples/pennylane/0_Getting_started/0_Getting_started.ipynb +++ b/examples/pennylane/0_Getting_started/0_Getting_started.ipynb @@ -1,830 +1,830 @@ { - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Combining PennyLane with Amazon Braket" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "What is PennyLane? PennyLane is a Python library for differentiable programming of quantum computers, allowing you to train a quantum computer the same way as a neural network.\n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "PennyLane integrates with Amazon Braket to add additional features for quantum machine learning and optimization. This introductory tutorial walks you through how to train a quantum circuit using Amazon Braket simulators and PennyLane's automatic differentiation capabilities." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Setup" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "PennyLane is already installed on Braket notebook instances. On a local machine, PennyLane can be installed by following [these](https://pennylane.ai/install.html) instructions. It can then be imported with:" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:42:09.404557Z", - "start_time": "2024-02-19T21:42:03.275541Z" - } - }, - "outputs": [], - "source": [ - "import pennylane as qml\n", - "from pennylane import numpy as np" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "To use Braket as a backend in PennyLane, we have to create a PennyLane device. Here we will first create a device that uses the local Braket simulator that runs on your local laptop (or on the server that hosts this notebook)." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:42:10.351825Z", - "start_time": "2024-02-19T21:42:09.405882Z" - } - }, - "outputs": [], - "source": [ - "wires = 2 # Number of qubits\n", - "\n", - "dev = qml.device(\"braket.local.qubit\", wires=wires)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Below we will also show you how to scale out simulations to the AWS cloud." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Defining a circuit" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We will choose a simple two-qubit circuit with two controllable rotations and a CNOT gate." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:42:10.355051Z", - "start_time": "2024-02-19T21:42:10.352639Z" - } - }, - "outputs": [], - "source": [ - "@qml.qnode(dev)\n", - "def circuit(params):\n", - " qml.RX(params[0], wires=0)\n", - " qml.RY(params[1], wires=1)\n", - " qml.CNOT(wires=[0, 1])\n", - " return qml.expval(qml.PauliZ(1))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The ``qml.qnode(dev)`` decorator binds the circuit to the local Braket device. Now, every time that ``circuit()`` is called, the quantum computation defined in the function above will be executed with Braket." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Note PennyLane also supports automatic differentiation with PyTorch and TensorFlow interfaces. The choice of interface can be specified using:\n", - "@qml.qnode(dev, interface=\"<interface>\").\n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Evaluating the circuit and accessing its gradient" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's set some values for our controllable parameters:" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:42:10.359085Z", - "start_time": "2024-02-19T21:42:10.356833Z" - } - }, - "outputs": [], - "source": [ - "params = np.array([0.1, 0.2], requires_grad=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The circuit can be evaluated with these parameters using" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:42:10.393070Z", - "start_time": "2024-02-19T21:42:10.359915Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Expectation value of circuit: 0.9751703272018161\n" - ] - } - ], - "source": [ - "print(\"Expectation value of circuit:\", circuit(params))" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:42:10.397595Z", - "start_time": "2024-02-19T21:42:10.394259Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Drawing of circuit:\n", - "\n", - "0: ──RX(0.10)─╭●─┤ \n", - "1: ──RY(0.20)─╰X─┤ \n" - ] - } - ], - "source": [ - "print(\"Drawing of circuit:\\n\")\n", - "print(qml.draw(circuit)(params))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "A crucial element of machine learning and optimization is accessing the gradient of a model with respect to its parameters. This functionality is built into PennyLane:" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:42:10.400540Z", - "start_time": "2024-02-19T21:42:10.398616Z" - } - }, - "outputs": [], - "source": [ - "dcircuit = qml.grad(circuit)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Here, ``dcircuit`` is a callable function that evaluates the gradient of the circuit, i.e., its partial derivatives with respect to the controllable parameters." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:42:10.523442Z", - "start_time": "2024-02-19T21:42:10.401286Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([-0.0978434 , -0.19767681])" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dcircuit(params)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Training the circuit" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Suppose we now want to minimize the output of the circuit by updating its parameters. This can be done using gradient-based optimization.\n", - "\n", - "First, an optimizer is fixed:" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:42:10.526039Z", - "start_time": "2024-02-19T21:42:10.524244Z" - } - }, - "outputs": [], - "source": [ - "opt = qml.GradientDescentOptimizer(stepsize=0.1)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The next step is to run the optimizer for a chosen number of iterations:" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:42:11.062067Z", - "start_time": "2024-02-19T21:42:10.527962Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Minimized circuit output: 0.37261070647126565\n", - "Optimized parameters: [0.4839502 1.13630274]\n" - ] + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Combining PennyLane with Amazon Braket" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "What is PennyLane? PennyLane is a Python library for differentiable programming of quantum computers, allowing you to train a quantum computer the same way as a neural network.\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "PennyLane integrates with Amazon Braket to add additional features for quantum machine learning and optimization. This introductory tutorial walks you through how to train a quantum circuit using Amazon Braket simulators and PennyLane's automatic differentiation capabilities." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Setup" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "PennyLane is already installed on Braket notebook instances. On a local machine, PennyLane can be installed by following [these](https://pennylane.ai/install.html) instructions. It can then be imported with:" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:42:09.404557Z", + "start_time": "2024-02-19T21:42:03.275541Z" + } + }, + "outputs": [], + "source": [ + "import pennylane as qml\n", + "from pennylane import numpy as np" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To use Braket as a backend in PennyLane, we have to create a PennyLane device. Here we will first create a device that uses the local Braket simulator that runs on your local laptop (or on the server that hosts this notebook)." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:42:10.351825Z", + "start_time": "2024-02-19T21:42:09.405882Z" + } + }, + "outputs": [], + "source": [ + "wires = 2 # Number of qubits\n", + "\n", + "dev = qml.device(\"braket.local.qubit\", wires=wires)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Below we will also show you how to scale out simulations to the AWS cloud." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Defining a circuit" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will choose a simple two-qubit circuit with two controllable rotations and a CNOT gate." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:42:10.355051Z", + "start_time": "2024-02-19T21:42:10.352639Z" + } + }, + "outputs": [], + "source": [ + "@qml.qnode(dev)\n", + "def circuit(params):\n", + " qml.RX(params[0], wires=0)\n", + " qml.RY(params[1], wires=1)\n", + " qml.CNOT(wires=[0, 1])\n", + " return qml.expval(qml.PauliZ(1))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The ``qml.qnode(dev)`` decorator binds the circuit to the local Braket device. Now, every time that ``circuit()`` is called, the quantum computation defined in the function above will be executed with Braket." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Note PennyLane also supports automatic differentiation with PyTorch and TensorFlow interfaces. The choice of interface can be specified using:\n", + "@qml.qnode(dev, interface=\"<interface>\").\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Evaluating the circuit and accessing its gradient" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's set some values for our controllable parameters:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:42:10.359085Z", + "start_time": "2024-02-19T21:42:10.356833Z" + } + }, + "outputs": [], + "source": [ + "params = np.array([0.1, 0.2], requires_grad=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The circuit can be evaluated with these parameters using" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:42:10.393070Z", + "start_time": "2024-02-19T21:42:10.359915Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Expectation value of circuit: 0.9751703272018161\n" + ] + } + ], + "source": [ + "print(\"Expectation value of circuit:\", circuit(params))" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:42:10.397595Z", + "start_time": "2024-02-19T21:42:10.394259Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Drawing of circuit:\n", + "\n", + "0: ──RX(0.10)─╭●─┤ \n", + "1: ──RY(0.20)─╰X─┤ \n" + ] + } + ], + "source": [ + "print(\"Drawing of circuit:\\n\")\n", + "print(qml.draw(circuit)(params))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "A crucial element of machine learning and optimization is accessing the gradient of a model with respect to its parameters. This functionality is built into PennyLane:" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:42:10.400540Z", + "start_time": "2024-02-19T21:42:10.398616Z" + } + }, + "outputs": [], + "source": [ + "dcircuit = qml.grad(circuit)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here, ``dcircuit`` is a callable function that evaluates the gradient of the circuit, i.e., its partial derivatives with respect to the controllable parameters." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:42:10.523442Z", + "start_time": "2024-02-19T21:42:10.401286Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([-0.0978434 , -0.19767681])" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dcircuit(params)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Training the circuit" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Suppose we now want to minimize the output of the circuit by updating its parameters. This can be done using gradient-based optimization.\n", + "\n", + "First, an optimizer is fixed:" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:42:10.526039Z", + "start_time": "2024-02-19T21:42:10.524244Z" + } + }, + "outputs": [], + "source": [ + "opt = qml.GradientDescentOptimizer(stepsize=0.1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The next step is to run the optimizer for a chosen number of iterations:" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:42:11.062067Z", + "start_time": "2024-02-19T21:42:10.527962Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Minimized circuit output: 0.37261070647126565\n", + "Optimized parameters: [0.4839502 1.13630274]\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAGzCAYAAADT4Tb9AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAABOkElEQVR4nO3deVxU5f4H8M+ZYRlQGEAFBkXADUFMA0XBzHLBpSyv/VIrt7ablpnSptfKtHuz1SxTqpumpbfMPcsszF1JFEFFcAlQEAcQ0AFEtpnz+4OYGhmGAWEOM3zer9e8as48Z+Z7Oo3z8TzPeR5BFEURRERERDZCJnUBRERERE2J4YaIiIhsCsMNERER2RSGGyIiIrIpDDdERERkUxhuiIiIyKYw3BAREZFNYbghIiIim8JwQ0RERDaF4YaIiIhsip2UH37gwAG8//77SEhIgFqtxtatWzFu3DiT++zfvx/R0dE4c+YMfHx88Morr2DGjBlmf6ZOp8OVK1fg4uICQRBu8wiIiIjIEkRRRHFxMXx8fCCTmb42I2m4uXHjBvr06YPHH38cDz30UL3tMzIyMGbMGDz99NNYt24dDh8+jGeffRYdOnQwa38AuHLlCnx9fW+3dCIiIpJAVlYWOnXqZLKN0FIWzhQEod4rN6+++ip++OEHpKam6rfNmDEDJ0+eRFxcnFmfo9Fo4ObmhqysLLi6ut5u2URERGQBRUVF8PX1xfXr16FUKk22lfTKTUPFxcUhKirKYNvIkSOxatUqVFZWwt7evtY+5eXlKC8v1z8vLi4GALi6ujLcEBERWRlzhpRY1YDinJwceHl5GWzz8vJCVVUV8vPzje6zZMkSKJVK/YNdUkRERLbNqsINUDux1fSq1ZXk5s+fD41Go39kZWU1e41EREQkHavqlvL29kZOTo7Btry8PNjZ2aFdu3ZG93F0dISjo6MlyiMiIqIWwKqu3ERERCA2NtZg26+//op+/foZHW9DRERErY+k4aakpARJSUlISkoCUH2rd1JSEjIzMwFUdylNnTpV337GjBm4dOkSoqOjkZqaitWrV2PVqlV46aWXpCifiIiIWiBJu6WOHz+Oe++9V/88OjoaADBt2jSsWbMGarVaH3QAICAgADt37sTcuXOxYsUK+Pj44JNPPjF7jhsiIiKyfS1mnhtLKSoqglKphEaj4a3gREREVqIhv99WNeaGiIiIqD4MN0RERGRTrOpW8JZMqxMRn1GIvOIyeLooEB7gAbmMC3MSERFZGsNNE9iVrMaiHSlQa8r021RKBRaODcaoEJWElREREbU+7Ja6TbuS1Zi57oRBsAGAHE0ZZq47gV3JaokqIyIiap0Ybm6DVidi0Y4UGLvdrGbboh0p0Ooaf0OaViciLq0A25OyEZdWcFvvRURE1BqwW+o2xGcU1rpi83ciALWmDIt3nMFd3Tugk7sTfD2c0dbRvP/s7O4iIiJqOIab25BXXHew+bu1cZewNu6S/rmbs3110HF3Rid3J3Ryd4avR/U/O7o5oY2jnb6769brNDXdXTGTQxlwiIiIjGC4uQ2eLgqz2oX7u+NmpQ6Xr5XiWmklrv/5SM4uMtre3dkeJeVVdXZ3Caju7hoR7H1bd2TxDi8iIrJFDDe3ITzAAyqlAjmaMqNBRADgrVTg239G6ENDSXkVLl8rxeXCm7h8rRRZ16r/efnaTVy+dhOam5W4Vlpp8nNrurvmbEjC4G7t0aVDG3Tp0BbuzvYQBPPCCbu8iIjIVnH5hdtU030EwCDg1ESMhnYfaW5WYv3vl/DeL+caXIvSyb466LRv++c/q0OPXztnKOzltWq+9cQ3tmYiIqLm1pDfb165uU2jQlSImRxa6yqIdyOvgiid7HFnZ3ez2o4M9kJppRbpV28g+3r1VZ/EzOtIzLxu0E4QgI5uTujSoS382zljW2J2s3d5ERERSYXhpgmMClFhRLB3k41fMbe7a+XkMP1n3KzQ4mLBDaRfvYH0qyXIyL+BtPzqfy8uq9J3ex2o57NrurziMwoR0bVdo+oHOJ6HiIikw26pFqqpurtEUUR+SQUy/gw6v6bkYs/ZvHr3c3Wyw52+7uipckGwyhU9vV3RpUMb2MvrnxqJ43mIiKipNeT3m+GmBWuOkBCXVoBH/vt7o/Z1kMvQzbOtQeDpqXJB+7aOBjVzPA8RETU1hhsTrCncAE3fvaPVibjr3T0mu7y8XBX45JE7cSGvGKnqIpxVF+NsTjFKyquMvmcHF0f09HZBT28XfH/8MjQ3jd/tVdOddujVoeyiIiKiBmG4McHawk1zaEyXlyiKuHztJlLVRUhVF+NsThHO5hTjYsENNPT/oG+fHnhb43mIiKj1YbgxgeGmWlN1ed0or8L53OorOztPq3HwQn69+wwP8sTD/Xxxp68bPF3NmwixBgcqExG1Tgw3JjDc/KWpg0JjxvN0dHNCX1833NnZDX193RDSUWkwJ8/fcaAyEVHrxXBjAsNN86lvPA9QPY/PyF5eOHVZg3O5xbW6tOxkAoJUrgaBJ6B9G/xyJocDlYmIWjGGGxMYbppXQ8bzlJRX4dTl60jKqp54MCnrOq4Wl9d6T1eFHcqqdKio0hn9TA5UJiKyfQw3JjDcNL/Gdh+Joojs6zeRlHUdSZnXkZh1HcnZGpTXEWpuxYHKRES2i+HGBIYby2iq8TwVVTp8fiANH/56vt629wZ2wJQIP/T394CLwr4xZRMRUQvFtaVIcnKZ0CRXURzsZOjn52FW273nrmLvuauQywTc0UmJyK7tENm1PcL83OscpPx3vBOLiMg2MNxQi1ffWlsA4OZsj5G9vHE0vQAXC0r1C4iu2JsGB7kMoX5uiOzaHoO6tcMdndxqLSPBO7GIiGwHu6XIKjRkoPLla6WISytAXFoBDqflI7fIcJCys4Mc4QEe+is7mQWleO5/vBOLiKgl45gbExhurFdjrq6IooiM/Bs48mfYiUsvQOGNCoM2AlDnFSHeiUVE1DIw3JjAcGPdbndcjE4n4lxu8Z9hJx+H/8jHzcr678binVhERNLigGKyWbc7UFn25ySBQSpXPHlXALaeuIy535+sd79dyWoE+7hC6cS7sIiIWjqGG2rVvJVOZrVbG3cJ649mYmCXdhge5InhwV7o5O7czNUREVFjsFuKWjVzloxo6yiHl6sCaVdvGGwPUrliRLAXRgR5IaSjKwTBePcYbzEnIrp9HHNjAsMN3crcO7Ey8m9gd0ouYlNzcfxiIXR/a+ztqsDwYE+MCPbGwC4ecLST69+bt5gTEd0+hhsTGG7ImIaGkMIbFdh7Ng+xKbk4cOEqSiu0+tfaOtphSI8O8HR1wJrDl3iLORFRE2C4MYHhhurS2O6jskot4tIKEJuai90pucgzsvjnrXiLORFRwzDcmMBwQ81JpxNxKluDNYczsC3pSr3teYs5EZF5GvL7LTP5KhE1iEwmoK+vG+7t6WlW+90puSiv0tbfkIiIzMZbwYmagaeLwqx2qw5nYNOJy7j/DhXGh3ZEaGf3Ou+6IiIi8zDcEDUDcxb7bOMoRxsHOfKKK7D+aCbWH82EXztnjOvbEf+4syP827exaM1ERLaCY26Imok5t5iPCPZGXFoBtiRexq7kHIO7rkI7u+EfoZ1wf28V3Ns4GP0MzqFDRK0FBxSbwHBDltSQW8xLK6rw65lcbEnMxqELV/Xz6NjLBdwb6InxoR1xb09PzqFDRK0Sw40JDDdkaY25upJXVIYfTl7BlhPZSFEX6bcrnexx3x0q+CgV+PDX85xDh4haDYYbExhuyNqcyynGlsTL2J54BTlFZfW25xw6RGSLeCs4kQ0J9HbB/NFBODxvKNY/NQB3d29vsr0IQK0pQ3xGoWUKJCJqYXi3FJGVkMsEDOrWHvkl5ThwIb/e9nnF9V/lISKyRbxyQ2RlzJ1DZ9uJbKRcKaq/IRGRjZE83KxcuRIBAQFQKBQICwvDwYMHTbZfsWIFgoKC4OTkhMDAQHz99dcWqpSoZaiZQ6e+0TR7z1/FmE8OYsLncfj5tBpVWp1F6iMikpqk4WbDhg2YM2cOFixYgMTERAwePBijR49GZmam0fYxMTGYP38+3nzzTZw5cwaLFi3Cc889hx07dli4ciLpyGUCFo4NBoBaAUf48/HyyB64/w4V5DIB8RmFmLn+BO5+by9i9qXh2o0KS5dMRGRRkt4tNWDAAISGhiImJka/LSgoCOPGjcOSJUtqtY+MjMSgQYPw/vvv67fNmTMHx48fx6FDh8z6TN4tRbbCnHlucjRlWH/0Ev53NBMFf4YaRzsZxvXtiGmR/gj24XeAiKxDQ36/JRtQXFFRgYSEBMybN89ge1RUFI4cOWJ0n/LycigUhuMNnJycEB8fj8rKStjb2xvdp7y8XP+8qIhjEMg2jApRYUSwt8k5dLyVCrwYFYjn7u2GH0+pseZIBpKzi7DheBY2HM9CeIAHHo/0x4hgL9jJ/7qQy5mPiciaSRZu8vPzodVq4eXlZbDdy8sLOTk5RvcZOXIkvvzyS4wbNw6hoaFISEjA6tWrUVlZifz8fKhUtSctW7JkCRYtWtQsx0AkNblMQETXdvW2U9jL8X9hnfBQaEecyLyGrw5fxK7kHMRnFCI+oxA+SgWmRPhjUn9fHM0o4MzHRGTVJL8V/NYVkEVRrHNV5Ndffx05OTkYOHAgRFGEl5cXpk+fjvfeew9yudzoPvPnz0d0dLT+eVFREXx9fZvuAIisiCAICPPzQJifh0GX1RVNGd7ddRYf/noOVbraPdU5mjLMXHeCMx8TkVWQbEBx+/btIZfLa12lycvLq3U1p4aTkxNWr16N0tJSXLx4EZmZmfD394eLiwvatzc+sZmjoyNcXV0NHkT0V5fV4XlD8cHDfdDLx8VosAH+Wvhz0Y4UaOtoQ0TUUkgWbhwcHBAWFobY2FiD7bGxsYiMjDS5r729PTp16gS5XI7vvvsO999/P2Qyye9qJ7JKNV1Wr90XbLIdZz4mImshabdUdHQ0pkyZgn79+iEiIgJffPEFMjMzMWPGDADVXUrZ2dn6uWzOnz+P+Ph4DBgwANeuXcPSpUuRnJyMtWvXSnkYRDYhr7i8/kYAcs1Y34qISEqShpuJEyeioKAAixcvhlqtRkhICHbu3Ak/Pz8AgFqtNpjzRqvV4sMPP8S5c+dgb2+Pe++9F0eOHIG/v79ER0BkO8yd+fjDX8/B0U6Gkb28IeMdVETUAnFVcCICUH37913v7kGOpgx1/aEg4K/xNz29XTBneHdEBTPkEFHz46rgRNRg5sx8/MHDfTB7WHe4ONrhbE4xZqw7gfuWH8IvZ3LQyv6eREQtGK/cEJEBc2Y+vl5agVWHMvDV4YsoKa8CAPTyccWc4T0wPMizzukciIgaqyG/3ww3RFSLuTMUXy+twJcHM/DV4QzcqNACAEI6umLOsB4YxpBDRE2I4cYEhhuipnftRgX+ezAda49c1IecOzopMWd4d9wbaBhyuLQDETUGw40JDDdEzafwbyGn9M+Q06eTEnOG98A9gR3wy5kcLu1ARI3CcGMCww1R8ysoKccXB9Px9ZFLuFlZHXL82znjYkFprbY112y4tAMRmcK7pYhIUu3aOmL+6CAcevVePHN3FyjsZEaDDcClHYio6THcEFGzadfWEfPHBGHZpL4m23FpByJqSgw3RNTsyqt0ZrXLK+bSDkR0+xhuiKjZmbu0Q/u2js1cCRG1Bgw3RNTswgM8oFIqas18fKu3fkzB0fQCi9RERLaL4YaIml19SzsAgLODHGdzijHxi98x+9tEqDU3LVojEdkOhhsisohRISrETA6Ft9Kwi8pbqcBnk0Nx6NWheGxAZwgC8MPJKxj6wX6s2PsHyv68lZyIyFyc54aILKq+GYqTszV484czOH7pGgDAr50zXr8vmMs5ELVynMTPBIYbopZPFEVsT7qCt3emIq+4HAAwpEcHvDE2GF07tJW4OiKSAsONCQw3RNajpLwKK/b+gS8PpqNSK8JeLuCJQQGYNbQbXBT2UpdHRBbEcGMCww2R9cnIv4G3fkzBnrN5AIAOLo6YP7onxvXtCNmfXVpckJPItjHcmMBwQ2S99pzNxeIdKfqlHEI7u2HRAyHIvl7KBTmJbBzDjQkMN0TWrbxKi9WHLmL5ngv6lceN4YKcRLaFC2cSkc1ytJNj5j1dsfele/Bgn7pDCxfkJGq9GG6IyCp5uSowKdzPZBsuyEnUOjHcEJHVMnehTS7ISdS6MNwQkdUyd0FOc9sRkW1guCEiq2XugpzHLhagSquzSE1EJD2GGyKyWqYW5Py7pbEX8FDMEfyRV2KZwohIUgw3RGTV6lqQU6VUIOaxUCyd0AcuCjucvKzBfZ8cxKpDGdDx7ikim8Z5bojIJpiaoVituYlXNp3CwQv5AIABAR744OE+8PVwlrJkImoATuJnAsMNUeskiiLWH83E2ztTUVqhRRsHOV67PxiT+vtytXEiK8BJ/IiIbiEIAiYP9MPPLwxGf3933KjQYv6W03h8zTHkFvFWcSJbwnBDRK2KX7s2+O6fEVgwJggOdjLsO3cVUR8dwPakbLSyC9lENovhhohaHblMwNN3d8FPz9+F3h2V0NysxAvfJeHZ9SdQUFIudXlEdJsYboio1eru5YItz0Zi7vAesJMJ+Dk5ByOXHcCvZ3KkLo2IbgPDDRG1avZyGV4Y3h3bnhuEHl5tkV9SgX9+k4Do75OguVkJoPpOrLi0AmxPykZcWgEX4iRq4Xi3FBHRn8qrtFgaex5fHEiHKFbPlfNwv07YePwy1Jq/Bh2rlAosHBuMUSF1r0pORE2Lt4KbwHBDRPVJuFSIF78/iYsFpUZfr7lxPGZyKAMOkYXwVnAiotsQ5ueBHc/fBWcHudHXa/5GuGhHCruoiFoghhsiIiOSs4tQWqGt83URgFpThviMQssVRURmYbghIjIir9i8if3MbUdElsNwQ0RkhKeLov5GDWhHRJbDcENEZER4gAdUSgVMrTolALh2o8JSJRGRmRhuiIiMkMsELBwbDAB1BhwRwLP/O4F3d51FlVZnsdqIyDSGGyKiOowKUSFmcii8lYZdTyqlAp8+eieeuisAABCzLw3Tvorn0g1ELQTnuSEiqodWJyI+oxB5xWXwdFEgPMADcln19ZwdJ6/g1c2nUFqhhY9SgZWTw9DX103agolsECfxM4Hhhoia2vncYjzzTQIy8m/AQS7Dogd74ZHwzlKXRWRTOIkfEZEF9fBywfZZgxAV7IUKrQ7zt5zGq5tOoayy7nlyiKj5SB5uVq5ciYCAACgUCoSFheHgwYMm269fvx59+vSBs7MzVCoVHn/8cRQUFFioWiIi41wV9vhschheGRUImQBsOJ6Fhz+LQ1ah8SUciKj5SBpuNmzYgDlz5mDBggVITEzE4MGDMXr0aGRmZhptf+jQIUydOhVPPvkkzpw5g40bN+LYsWN46qmnLFw5EVFtMpmAZ+/phq+fGAB3Z3ucztZg7KeHcOD8ValLI2pVJB1zM2DAAISGhiImJka/LSgoCOPGjcOSJUtqtf/ggw8QExODtLQ0/bbly5fjvffeQ1ZWllmfyTE3RGQJ2ddvYua6BJy6rIEgAC+O6IFn7+kGmczUzDlEVBerGHNTUVGBhIQEREVFGWyPiorCkSNHjO4TGRmJy5cvY+fOnRBFEbm5udi0aRPuu+++Oj+nvLwcRUVFBg8ioubW0c0J3z8TgUn9fSGKwAe/nscz6xJQVFYpdWlENk+ycJOfnw+tVgsvLy+D7V5eXsjJyTG6T2RkJNavX4+JEyfCwcEB3t7ecHNzw/Lly+v8nCVLlkCpVOofvr6+TXocRER1UdjL8c5Dd+Cd8b3hYCdDbEouHlh+COdyigFU32Iel1aA7UnZiEsr4ArjRE3ETuoCBMHwEq0oirW21UhJScHs2bPxxhtvYOTIkVCr1Xj55ZcxY8YMrFq1yug+8+fPR3R0tP55UVERAw4RWdSk8M4I9nHFzHUncLGgFONWHMYj4b74OTkHas1fC2+qlAosHBuMUSEqCaslsn6SjbmpqKiAs7MzNm7ciH/84x/67S+88AKSkpKwf//+WvtMmTIFZWVl2Lhxo37boUOHMHjwYFy5cgUqVf1/IHDMDRFJpfBGBWZ/m4hDf+Qbfb3mr3Uxk0MZcIhuYRVjbhwcHBAWFobY2FiD7bGxsYiMjDS6T2lpKWQyw5LlcjmA6is+REQtmUcbB6ye3h9tHOVGX6/5U2zRjhR2URHdBklvBY+OjsaXX36J1atXIzU1FXPnzkVmZiZmzJgBoLpLaerUqfr2Y8eOxZYtWxATE4P09HQcPnwYs2fPRnh4OHx8fKQ6DCIisyVcuoYb5XVP7icCUGvKEJ9RaLmiiGyMpGNuJk6ciIKCAixevBhqtRohISHYuXMn/Pz8AABqtdpgzpvp06ejuLgYn376KV588UW4ublh6NChePfdd6U6BCKiBskrLqu/UQPaEVFtXFuKiMiC4tIK8Mh/f6+33bdPD0RE13YWqIjIOljFmBsiotYoPMADKqUCpqbya+toh/7+7haricjWMNwQEVmQXCZg4dhgAKgz4JSUV+H17WdQpdVZrjAiG8JwQ0RkYaNCVIiZHApvpcJgu0qpwKT+vhAE4Nv4TMxYdwI3K7iyOFFDccwNEZFEtDoR8RmFyCsug6eLAuEBHpDLBOxKVmP2d0moqNIhtLMbVk3rD/c2DlKXSySphvx+M9wQEbVA8RmFeGrtMRSVVaFLhzZY+3g4fD2cpS6LSDIcUExEZOXCAzywaWYkVEoF0q/ewEMxR5ByhQv/EpmD4YaIqIXq4eWCLc9GItDLBXnF5Zj4eRyO1LF0AxH9heGGiKgFUymd8P2MCIQHeKC4vArTvorHDyevSF0WUYvGcENE1MIpnezx9RPhGNPbG5VaEbO/TcSXB9OlLouoxWK4ISKyAgp7OZY/Eorpkf4AgH//lIp//5gCHRfYJKqF4YaIyErUTAA4b3RPAMCXhzIwZ0MSyqs4Fw7R3zHcEBFZEUEQMGNIVyyd0Ad2MgE/nLyCx786huKySqlLI2oxGG6IiKzQ+NBOWD29P9o4yHEkrQATPv8deUVcSZwIYLghIrJad/fogA3PRKB9Wwekqovwj5VHkHa1BED17MdxaQXYnpSNuLQCaDk2h1oRzlBMRGTlMgtKMXX1UVwsKIWbsz2eHtwF636/BLXmrys5KqUCC8cGY1SISsJKiRqPyy+YwHBDRLaooKQcT6w5hpOXNUZfr1mBPGZyKAMOWSUuv0BE1Mq0a+uIdU8NgKOd8T/Wa/4Wu2hHCruoyOYx3BAR2Yjk7CKUV+nqfF0EoNaUIT6j0HJFEUmA4YaIyEbkFZt3t5S57YisFcMNEZGN8HRRNGk7ImvFcENEZCPCAzygUir0g4eNUSkVCA/wsFhNRFJguCEishE1yzMAqDPg9PNzh1xmKv4QWT+GGyIiGzIqRIWYyaHwVhp2Pbko7AAAO06psWLvH1KURmQxdlIXQERETWtUiAojgr0Rn1GIvOIyeLpUd0V9fiAN7+06h/d/OQdBAJ69p5vUpRI1C4YbIiIbJJcJiOjazmDbs/d0gygC7/9yDu/tOge5IOCZIV0lqpCo+bBbioioFXnu3m6IHtEDALDk57P48mC6xBURNT2GGyKiVmb2sO54YVh3AMC/f0rFqkMZEldE1LQYboiIWqE5w7tj9tDqMTdv/ZiCrw4z4JDtYLghImqFBEHA3BE98Ny91WNuFu1IwddxF6UtiqiJMNwQEbVSgiDgpahAzLynOuC8sf0Mvvn9ksRVEd0+hhsiolZMEAS8MjIQz9zdBQDw+rZk/O9opsRVEd0ehhsiolZOEATMG90TT90VAAD419bT+C6eAYesF8MNERFBEAQsuC8ITwyqDjjzt57G98eyJK6KqHEYboiICEB1wHn9/iBMj/SHKAKvbjmFTQmXpS6LqMEYboiISE8QqhffnBrhB1EEXt50EltOMOCQdWG4ISIiA4IgYNEDvTB5YGeIIvDSxpPYlpgtdVlEZuPaUkREVIsgCFj8QAi0OuDb+ExEf58EQQAe7NsRWp1Ya1FOuUyQumQiPYYbIiIySiYT8J9xIRBFEd8dy8LcDUk4na3BT6fUUGvK9O1USgUWjg3GqBCVhNUS/YXdUkREVCeZTMDb/+iNCf06QScCXx7MMAg2AJCjKcPMdSewK1ktUZVEhhhuiIjIpOorOL3hZC83+rr45z8X7UiBVicabUNkSQw3RERUr+OXruFmpbbO10UAak0Z4jMKLVcUUR0YboiIqF55xWX1N2pAO6LmxHBDRET18nRRNGk7oubEcENERPUKD/CASqmAqRu+Vcrq28KJpCZ5uFm5ciUCAgKgUCgQFhaGgwcP1tl2+vTpEASh1qNXr14WrJiIqPWRy6pnLgZQZ8B5dVRPzndDLYKk4WbDhg2YM2cOFixYgMTERAwePBijR49GZqbx1Wg//vhjqNVq/SMrKwseHh54+OGHLVw5EVHrMypEhZjJofBWGnY9CX/mme1J2ajS6iSojMiQIIqiZPftDRgwAKGhoYiJidFvCwoKwrhx47BkyZJ699+2bRvGjx+PjIwM+Pn5mfWZRUVFUCqV0Gg0cHV1bXTtRESt1a0zFNvLBUxedRRllTpM6u+LJeN7QxB4BYeaVkN+vyWbobiiogIJCQmYN2+ewfaoqCgcOXLErPdYtWoVhg8fbjLYlJeXo7y8XP+8qKiocQUTERGA6i6qiK7tDLYtfyQUz3xzHN8dy4JK6YQXhneXqDoiCbul8vPzodVq4eXlZbDdy8sLOTk59e6vVqvx888/46mnnjLZbsmSJVAqlfqHr6/vbdVNRES1jQj2wuIHQwAAH+0+j++PZ0lcEbVmkg8ovvXSpSiKZl3OXLNmDdzc3DBu3DiT7ebPnw+NRqN/ZGXxC0dE1BwmD/TDc/d2BQDM33Ia+87lSVwRtVaNCjeLFy9GaWlpre03b97E4sWLzXqP9u3bQy6X17pKk5eXV+tqzq1EUcTq1asxZcoUODg4mGzr6OgIV1dXgwcRETWPl6ICMf7O6pXDn11/AsnZGqlLolaoUeFm0aJFKCkpqbW9tLQUixYtMus9HBwcEBYWhtjYWIPtsbGxiIyMNLnv/v378ccff+DJJ580v2giImp2giDgnYfuwF3d2qO0QovpXx1DVmHtvwwTNadGhZu6uo5OnjwJDw/zJ3CKjo7Gl19+idWrVyM1NRVz585FZmYmZsyYAaC6S2nq1Km19lu1ahUGDBiAkJCQxpRPRETNyMFOhpjJoQhSuSK/pBzTvorHtRsVUpdFrUiD7pZyd3fXT5zXo0cPg4Cj1WpRUlKiDybmmDhxIgoKCrB48WKo1WqEhIRg586d+ruf1Gp1rTlvNBoNNm/ejI8//rghpRMRkQW5KOyx5vH+GL/yCNKv3sBTXx/H+qcGQFHHyuJETalB89ysXbsWoijiiSeewLJly6BUKvWvOTg4wN/fHxEREc1SaFPhPDdERJZzIbcYD8UcQVFZFUb28sLKx8I4izE1SkN+vxs1id/+/fsxaNAg2NlJNk1OozHcEBFZ1tH0AkxZFY8KrQ7TIvzw5gO9OMkfNVhDfr8bNebGxcUFqamp+ufbt2/HuHHj8K9//QsVFexXJSKivwzo0g4fTewLQQDWxl3CFwfSpS6JbFyjws0zzzyD8+fPAwDS09MxceJEODs7Y+PGjXjllVeatEAiIrJ+992hwmv3VS+8ueTns9ielC1xRWTLGhVuzp8/j759+wIANm7ciCFDhuB///sf1qxZg82bNzdlfUREZCOevCsAT94VAAB4aeNJHEnLl7gislWNvhVcp6te+XX37t0YM2YMAMDX1xf5+fyflYiIjFswJgj33aFCpVbEM18n4GwO1/ujpteocNOvXz/8+9//xjfffIP9+/fjvvvuAwBkZGTUO7swERG1XjKZgA8f7oPwAA8Ul1dh+upjUGtuSl0W2ZhGhZtly5bhxIkTmDVrFhYsWIBu3boBADZt2lTv7MJERNS6Kezl+O+Ufuju2RY5RWWYvvoYNDcrpS6LbEijbgWvS1lZGeRyOezt7ZvqLZscbwUnImoZsq/fxD9WHEZecTkGdvHA6un9cTJLg7ziMni6KBAe4ME5cUiv2ee5qZGQkIDU1FQIgoCgoCCEhoY29q0shuGGiKjlSLlShAmfx6GkvAoKexnKKnX611RKBRaODcaoEJWEFVJL0ezz3OTl5eHee+9F//79MXv2bMyaNQv9+vXDsGHDcPXq1UYVTURErU+wj6v+Dqq/BxsAyNGUYea6E9iVrJaiNLJijQo3zz//PIqLi3HmzBkUFhbi2rVrSE5ORlFREWbPnt3UNRIRkY3S6kR8fzzL6Gs13QqLdqRAq2uyERTUCjRq/YRdu3Zh9+7dCAoK0m8LDg7GihUrEBUV1WTFERGRbYvPKIRaU1bn6yIAtaYM8RmFiOjaznKFkVVr1JUbnU5ndNCwvb29fv4bIiKi+uQV1x1sGtOOCGhkuBk6dCheeOEFXLlyRb8tOzsbc+fOxbBhw5qsOCIism2eLoombUcENDLcfPrppyguLoa/vz+6du2Kbt26ISAgAMXFxVi+fHlT10hERDYqPMADKqUCpm74VimrbwsnMlejxtz4+vrixIkTiI2NxdmzZyGKIoKDgzF8+PCmro+IiGyYXCZg4dhgzFx3AgL+GkT8d5zvhhqqQVdu9uzZg+DgYBQVVa8FMmLECDz//POYPXs2+vfvj169euHgwYPNUigREdmmUSEqxEwOhbfSsOtJ6VQ9tvOHk1ew92yeFKWRlWrQJH4PPPAA7r33XsydO9fo65988gn27t2LrVu3NlmBTY2T+BERtUxanYj4jEKDGYpf356M/x3NhIvCDj/MugsB7dtIXSZJpNkm8Tt58iRGjRpV5+tRUVFISEhoyFsSEREBqO6iiujaDg/27YiIru0glwl4c2wvhPm5o7isCv/8+jhKyqukLpOsQIPCTW5ursl1o+zs7DhDMRERNRkHOxliHguFl6sjLuSV4MXvk6DjhH5UjwaFm44dO+L06dN1vn7q1CmoVFwDhIiImo6nqwIxk8PgIJfhlzO5WLH3D6lLohauQeFmzJgxeOONN1BWVnsypZs3b2LhwoW4//77m6w4IiIiAAjt7I7FD/YCACzdfR57zuZKXBG1ZA0aUJybm4vQ0FDI5XLMmjULgYGBEAQBqampWLFiBbRaLU6cOAEvL6/mrPm2cEAxEZH1em3baaz7PRMujnbYPmsQunRoK3VJZCEN+f1uULgBgEuXLmHmzJn45ZdfULOrIAgYOXIkVq5cCX9//0YXbgkMN0RE1quiSofHvvwdxy5eQzfPttj6bCRcFHWPBSXb0azhpsa1a9fwxx9/QBRFdO/eHe7u7o0q1tIYboiIrFtecRkeWH4YOUVliAr2wmeTwyDjJH82r9luBf87d3d39O/fH+Hh4VYTbIiIyPp5uigQMzkUDnIZfk3JxaccYEy3aHS4ISIiksqdnd3x73EhAICPdp/Hb6kcYEx/YbghIiKrNKG/L6YM9IMoAnO+S0La1RKpS6IWguGGiIis1uv3B6O/vzuKy6tnMC4uq5S6JGoBGG6IiMhqOdjJsPKxMHi7KpB29Qaivz/JGYyJ4YaIiKxbBxdHfDYlDA52MsSm5GL5Hg4wbu0YboiIyOr19XUzGGAcm8IBxq0Zww0REdmECf18MTXCDwAwd0MS/sjjAOPWiuGGiIhsxuv3ByPc3wMl5VX45zfHUcQBxq0Sww0REdkMe7kMKx4LhUqpQPrVG4jekMQBxq0Qww0REdmUDi6O+Gxy9QDj3al5+Pi3C9DqRMSlFWB7Ujbi0gqgZeCxaY1eW8pacW0pIqLWYePxLLy86RQAwN3ZHtdK/+qiUikVWDg2GKNCVFKVRw1kkbWliIiIWrKH+/ninh4dAMAg2ABAjqYMM9edwK5ktRSlUTNjuCEiIpuk1Yk4m1Ns9LWaLotFO1LYRWWDGG6IiMgmxWcUIqeorM7XRQBqTRniMwotVxRZBMMNERHZpLziuoNNY9qR9WC4ISIim+TpomjSdmQ9GG6IiMgmhQd4QKVUQKjjdQHVd02FB3hYsiyyAIYbIiKySXKZgIVjgwHAaMARASwcGwy5rK74Q9aK4YaIiGzWqBAVYiaHwltpvOuprFJn4YrIEiQPNytXrkRAQAAUCgXCwsJw8OBBk+3Ly8uxYMEC+Pn5wdHREV27dsXq1astVC0REVmbUSEqHHp1KL59eiA+ntQX3z49EM8P7QYAWLD1NC7m35C4QmpqdlJ++IYNGzBnzhysXLkSgwYNwueff47Ro0cjJSUFnTt3NrrPhAkTkJubi1WrVqFbt27Iy8tDVVWVhSsnIiJrIpcJiOjaTv+8v787jmYUIj6jELO+PYHNMyPhaCeXsEJqSpIuvzBgwACEhoYiJiZGvy0oKAjjxo3DkiVLarXftWsXJk2ahPT0dHh4NG4AGJdfICIiAFBrbmL0xwdxvbQST94VgNfvD5a6JDLBKpZfqKioQEJCAqKiogy2R0VF4ciRI0b3+eGHH9CvXz+899576NixI3r06IGXXnoJN2/erPNzysvLUVRUZPAgIiJSKZ3wwf/1AQCsOpSB31JzJa6Imopk4SY/Px9arRZeXl4G2728vJCTk2N0n/T0dBw6dAjJycnYunUrli1bhk2bNuG5556r83OWLFkCpVKpf/j6+jbpcRARkfUaHuyFxwf5AwBe2ngSORpO6GcLJB9QLAiGt+CJolhrWw2dTgdBELB+/XqEh4djzJgxWLp0KdasWVPn1Zv58+dDo9HoH1lZWU1+DEREZL3mje6JXj6uuFZaiRe+S+RaUzZAsnDTvn17yOXyWldp8vLyal3NqaFSqdCxY0colUr9tqCgIIiiiMuXLxvdx9HREa6urgYPIiKiGo52cix/5E44O8hxNKMQK/b+IXVJdJskCzcODg4ICwtDbGyswfbY2FhERkYa3WfQoEG4cuUKSkpK9NvOnz8PmUyGTp06NWu9RERku7p0aIt/jwsBACzbfZ6LaVo5SbuloqOj8eWXX2L16tVITU3F3LlzkZmZiRkzZgCo7lKaOnWqvv2jjz6Kdu3a4fHHH0dKSgoOHDiAl19+GU888QScnJykOgwiIrIB40M7YXxoR+hE4IXvEnHtRoXUJVEjSRpuJk6ciGXLlmHx4sXo27cvDhw4gJ07d8LPzw8AoFarkZmZqW/ftm1bxMbG4vr16+jXrx8ee+wxjB07Fp988olUh0BERDbkrQdDENC+DdSaMry86RQknC2FboOk89xIgfPcEBGRKcnZGoxfeQQVWh3eHBuM6YMCpC6JYCXz3BAREbVEIR2V+NeYngCAt3eeRXK2RuKKqKEYboiIiG4xLdIfw4O8UKHVYfa3ibhRzmV+rAnDDRER0S0EQcD7/3cHVEoF0vNv4I3tZ6QuiRqA4YaIiMgI9zYOWDaxL2QCsPnEZWw5YXw+NWp5GG6IiIjqMKBLO7wwrAcA4LVtyUi/WlLPHtQSMNwQERGZMGtoNwwI8EBphRbPf5uI8iqt1CVRPRhuiIiITJDLBHw86U64O9vjzJUivPvzOalLonow3BAREdXDW6nAhxP6AABWH87A7pRciSsiUxhuiIiIzDC0pxeevKt6Qr+XN52EWnNT4oqoLgw3REREZnplVCB6d1TiWmklXvguCVpdq5rk32ow3BAREZnJ0U6O5Y/ciTYOcsRnFOLj384jLq0A25OyEZdWwLDTQnBtKSIiogbalpiNORuSam1XKRVYODYYo0JUli/KxnFtKSIiomaksDf+85mjKcPMdSewK1lt4Yro7xhuiIiIGkCrE7FoR4rR12q6QhbtSGEXlYQYboiIiBogPqMQak1Zna+LANSaMsRnFFquKDLAcENERNQAecV1B5vGtKOmx3BDRETUAJ4uiiZtR02P4YaIiKgBwgM8oFIqIJhoo1IqEB7gYbGayBDDDRERUQPIZQIWjg0GgDoDztODu0AuMxV/qDkx3BARETXQqBAVYiaHwltp2PXkaFf9s7otKRuVWp0UpREAO6kLICIiskajQlQYEeyN+IxC5BWXwdNFAb92zhj98UGcuqxBzL40zB7WXeoyWyVeuSEiImokuUxARNd2eLBvR0R0bQcfNycsfrAXAOCT3y4gOVsjcYWtE8MNERFRE3qgjw/G9PZGlU5E9PdJKK/SSl1Sq8NwQ0RE1IQEQcBbD4agfVsHnM8twUexF6QuqdVhuCEiImpi7do64u1/9AYAfHEgDQmXOFuxJTHcEBERNYOoXt54KLQTdCLw4vcnUVpRJXVJrQbDDRERUTN5Y2wwVEoFLhaU4t2fz0pdTqvBcENERNRMlE72eO//7gAArI27hMN/5EtcUevAcENERNSMBnfvgCkD/QAAL288iaKySokrsn0MN0RERM1s3uie8GvnjCuaMry1I0Xqcmweww0REVEza+Nohw8e7gNBADYmXMbulFypS7JpDDdEREQW0N/fA/8c3AUAMG/LaRTeqJC4ItvFcENERGQhc0f0QHfPtsgvKcfr25OlLsdmMdwQERFZiMJejqUT+sJOJuCnU2rsOHlF6pJsEsMNERGRBfXupMSsod0AAK9vT0ZeUZnEFdkehhsiIiILe+7ebgjp6IrrpZWYt+U0RFGUuiSbwnBDRERkYfZyGZZO6AsHuQx7zuZh4/HLUpdkUxhuiIiIJNDDywUvRvUAACz+MQVZhaUSV2Q7GG6IiIgk8tTgLujn546S8iq8sukUdDp2TzUFhhsiIiKJyGUCPni4D5zs5YhLL8DXcRelLskmMNwQERFJyL99G/xrTE8AwDu7ziL9aonEFVk/hhsiIiKJTR7oh8Hd26OsUocXN55ElVYndUlWjeGGiIhIYoIg4N2H7oCLox0SM6/ji4PpUpdk1RhuiIiIWgAfNycsfKAXAOCj2PNIztYgLq0A25OyEZdWAC0HG5vNTuoCiIiIqNpDoR3xy5kcxKbkYtyKw6j6W6BRKRVYODYYo0JUElZoHSS/crNy5UoEBARAoVAgLCwMBw8erLPtvn37IAhCrcfZs2ctWDEREVHzEAQBw4O8AMAg2ABAjqYMM9edwK5ktRSlWRVJw82GDRswZ84cLFiwAImJiRg8eDBGjx6NzMxMk/udO3cOarVa/+jevbuFKiYiImo+Wp2IZbvPG32tJuos2pHCLqp6SBpuli5diieffBJPPfUUgoKCsGzZMvj6+iImJsbkfp6envD29tY/5HK5hSomIiJqPvEZhVBr6l5IUwSg1pQhPqPQckVZIcnCTUVFBRISEhAVFWWwPSoqCkeOHDG575133gmVSoVhw4Zh7969JtuWl5ejqKjI4EFERNQS5RWbt0K4ue1aK8nCTX5+PrRaLby8vAy2e3l5IScnx+g+KpUKX3zxBTZv3owtW7YgMDAQw4YNw4EDB+r8nCVLlkCpVOofvr6+TXocRERETcXTRdGk7Vorye+WEgTB4LkoirW21QgMDERgYKD+eUREBLKysvDBBx/g7rvvNrrP/PnzER0drX9eVFTEgENERC1SeIAHVEoFcjRlMDaqRgDgrVQgPMDD0qVZFcmu3LRv3x5yubzWVZq8vLxaV3NMGThwIC5cuFDn646OjnB1dTV4EBERtURymYCFY4MBVAeZW4kAFo4Nhlxm/CIAVZMs3Dg4OCAsLAyxsbEG22NjYxEZGWn2+yQmJkKl4j3/RERkG0aFqBAzORTeytpdT452MtzRyc3yRVkZSbuloqOjMWXKFPTr1w8RERH44osvkJmZiRkzZgCo7lLKzs7G119/DQBYtmwZ/P390atXL1RUVGDdunXYvHkzNm/eLOVhEBERNalRISqMCPZGfEYh8orL0KGtIz749RxOZF7H69uS8eW0fnUO4SCJw83EiRNRUFCAxYsXQ61WIyQkBDt37oSfnx8AQK1WG8x5U1FRgZdeegnZ2dlwcnJCr1698NNPP2HMmDFSHQIREVGzkMsERHRtp3/+rosj7vvkEH47m4cfT6kxto+PhNW1bIIoiq1qJqCioiIolUpoNBqOvyEiIqvy8e4L+Gj3ebRr44Dd0UPg3sZB6pIspiG/35Ivv0BERETmmXlPV/TwaouCGxX4z85UqctpsRhuiIiIrISDnQxLxt8BQQA2JVzGoQv5UpfUIjHcEBERWZEwP3dMi/AHAMzfego3K7TSFtQCMdwQERFZmZdGBsJHqUBW4U18VMdCm60Zww0REZGVaetoh7fGhQAAvjyYjtOXNRJX1LIw3BAREVmhYUFeGNvHBzoReHXzKVRqdVKX1GIw3BAREVmphWOD4eZsjxR1EVYdypC6nBaD4YaIiMhKtW/riNfuq16L6qPY87iYf0PiiloGhhsiIiIr9lBoR9zVrT3Kq3SYv+U0WtncvEYx3BAREVkxQRDw9j96Q2EvQ1x6ATYevyx1SZJjuCEiIrJynds548URgQCAf/+UgrziMokrkhbDDRERkQ14fJA/endUoqisCot+SJG6HEkx3BAREdkAO7kM7zzUG3KZgJ9Oq/HrmRypS5IMww0REZGN6OWjxNODuwAAXt+ejKKySokrkgbDDRERkQ2ZM7w7/No5I7eoHO/tOit1OZJguCEiIrIhCns5lozvDQBY93smjl8slLgiy2O4ISIisjGRXdtjYj9fANVLM5RXta6VwxluiIiIbNC/xgShfVtHpF29gRV706Qux6IYboiIiGyQ0tkeix/sBQCI2fcHzuUUS1yR5TDcEBER2ajRId4YEeyFSq2IVzefglbXOpZmYLghIiKyUYIg4K0HQ+DiaIekrOv4Ju6i1CVZBMMNERGRDfNWKvDK6J4AgPd+OYfs6zclrqj5MdwQERHZuMfCO6OfnztKK7RYsOUU4tLysT0pG3FpBTbZVSWIrWxt9KKiIiiVSmg0Gri6ukpdDhERkUX8kVeMUcsOouqWMKNSKrBwbDBGhagkqsw8Dfn95pUbIiKiVuCPvJJawQYAcjRlmLnuBHYlqyWoqnkw3BAREdk4rU7Eoh3GVwqviTuLdqTYTBcVww0REZGNi88ohFpTVufrIgC1pgzxGbaxVAPDDRERkY3LK6472DSmXUvHcENERGTjPF0UTdqupWO4ISIisnHhAR5QKRUQTLRRKRUID/CwWE3NieGGiIjIxsllAhaODQaAOgPOG/cHQy4zFX+sB8MNERFRKzAqRIWYyaHwVhrvepLZSLABADupCyAiIiLLGBWiwohgb8RnFCKvuAyeLgocuJCHmH3pWPTDGQzu3h7ODtYfDaz/CIiIiMhscpmAiK7t9M/7+rrhhyQ1sq/fxCe//YF5f65DZc3YLUVERNSKOTnIseiBXgCALw+m40JuscQV3T6GGyIiolZueLAXhgd5oUon4rVtybD2ZScZboiIiAgLxwZDYS/D0YxCbEvKlrqc28JwQ0RERPD1cMbzQ7sDAP7zUyo0NyslrqjxGG6IiIgIAPD04C7o2qEN8ksq8OGv56Qup9EYboiIiAgA4GAnw1sPhgAAvvn9Ek5f1khcUeMw3BAREZFeZLf2eLCvD0QReG3baWh11je4mOGGiIiIDCy4LwgujnY4eVmDb+MzpS6nwRhuiIiIyICniwIvjQwEALy36yzyS8olrqhhGG6IiIiolskD/dDLxxVFZVVYsvOs1OU0CMMNERER1SKXCfj3uBAIArD5xGUcTS+QuiSzSR5uVq5ciYCAACgUCoSFheHgwYNm7Xf48GHY2dmhb9++zVsgERFRK3VnZ3c8Et4ZAPD69mRUanUSV2QeScPNhg0bMGfOHCxYsACJiYkYPHgwRo8ejcxM04OXNBoNpk6dimHDhlmoUiIiotbplZGB8GjjgPO5JfjqcIbU5ZhF0nCzdOlSPPnkk3jqqacQFBSEZcuWwdfXFzExMSb3e+aZZ/Doo48iIiLCQpUSERG1Tm7ODpj/50rhy3ZfwJXrNyWuqH6ShZuKigokJCQgKirKYHtUVBSOHDlS535fffUV0tLSsHDhQrM+p7y8HEVFRQYPIiIiMt9DoZ3Q398dpRVaLN6RInU59ZIs3OTn50Or1cLLy8tgu5eXF3Jycozuc+HCBcybNw/r16+HnZ2dWZ+zZMkSKJVK/cPX1/e2ayciImpNZDIBb40LgVwmYNeZHOw9myd1SSZJPqBYEASD56Io1toGAFqtFo8++igWLVqEHj16mP3+8+fPh0aj0T+ysrJuu2YiIqLWpqe3K54Y5A8AWPjDGZRVaqUtyATJwk379u0hl8trXaXJy8urdTUHAIqLi3H8+HHMmjULdnZ2sLOzw+LFi3Hy5EnY2dlhz549Rj/H0dERrq6uBg8iIiJquBeG94C3qwKZhaVYuS9N6nLqJFm4cXBwQFhYGGJjYw22x8bGIjIyslZ7V1dXnD59GklJSfrHjBkzEBgYiKSkJAwYMMBSpRMREbVKbR3t8MbYYADAZ/vSkJF/Q+KKjDNv4EoziY6OxpQpU9CvXz9ERETgiy++QGZmJmbMmAGgukspOzsbX3/9NWQyGUJCQgz29/T0hEKhqLWdiIiImsfoEG/c3aMDDpy/ije2J+PrJ8KNDieRkqThZuLEiSgoKMDixYuhVqsREhKCnTt3ws/PDwCgVqvrnfOGiIiILEcQBCx+oBeilh3AwQv52Hk6B/fdoZK6LAOCKIrWt5b5bSgqKoJSqYRGo+H4GyIiokb6KPY8Pv7tArxcHfHbi/egrWPzXi9pyO+35HdLERERkfWZeU9X+LVzRm5ROZbFnpe6HAMMN0RERNRgCns5Fj3QCwDw1ZGLSFW3nElyGW6IiIioUe4J9MSY3t7Q6kS8ti0ZOl3LGOki6YBiIiIism6v3x+MfeeuIuHSNXyfkAU/jzbIKy6Dp4sC4QEekMssfycVww0RERE1mkrphLnDe+A/O1Mxf8tp/P02JZVSgYVjgzEqxLJ3U7FbioiIiG6Lyk0BALj1/uscTRlmrjuBXclqi9bDcENERESNptWJ+M9PqUZfq8k6i3akQGvB8TgMN0RERNRo8RmFUGvK6nxdBKDWlCE+o9BiNTHcEBERUaPlFdcdbBrTrikw3BAREVGjeboomrRdU2C4ISIiokYLD/CASqlAXTd8C6i+ayo8wMNiNTHcEBERUaPJZQIWjg0GgFoBp+b5wrHBFp3vhuGGiIiIbsuoEBViJofCW2nY9eStVCBmcqjF57nhJH5ERER020aFqDAi2BvxGYWcoZiIiIhsg1wmIKJrO6nLYLcUERER2RaGGyIiIrIpDDdERERkUxhuiIiIyKYw3BAREZFNYbghIiIim8JwQ0RERDaF4YaIiIhsCsMNERER2ZRWN0OxKIoAgKKiIokrISIiInPV/G7X/I6b0urCTXFxMQDA19dX4kqIiIiooYqLi6FUKk22EURzIpAN0el0uHLlClxcXCAITbuYV1FREXx9fZGVlQVXV9cmfe+WwNaPD7D9Y+TxWT9bP0Yen/VrrmMURRHFxcXw8fGBTGZ6VE2ru3Ijk8nQqVOnZv0MV1dXm/2fFrD94wNs/xh5fNbP1o+Rx2f9muMY67tiU4MDiomIiMimMNwQERGRTWG4aUKOjo5YuHAhHB0dpS6lWdj68QG2f4w8Putn68fI47N+LeEYW92AYiIiIrJtvHJDRERENoXhhoiIiGwKww0RERHZFIYbIiIisikMNw20cuVKBAQEQKFQICwsDAcPHjTZfv/+/QgLC4NCoUCXLl3w2WefWajShlmyZAn69+8PFxcXeHp6Yty4cTh37pzJffbt2wdBEGo9zp49a6GqG+bNN9+sVau3t7fJfazl/AGAv7+/0fPx3HPPGW3f0s/fgQMHMHbsWPj4+EAQBGzbts3gdVEU8eabb8LHxwdOTk645557cObMmXrfd/PmzQgODoajoyOCg4OxdevWZjqC+pk6xsrKSrz66qvo3bs32rRpAx8fH0ydOhVXrlwx+Z5r1qwxel7Lysqa+Whqq+8cTp8+vVadAwcOrPd9reUcAjB6LgRBwPvvv1/ne7aUc2jO70JL/R4y3DTAhg0bMGfOHCxYsACJiYkYPHgwRo8ejczMTKPtMzIyMGbMGAwePBiJiYn417/+hdmzZ2Pz5s0Wrrx++/fvx3PPPYfff/8dsbGxqKqqQlRUFG7cuFHvvufOnYNardY/unfvboGKG6dXr14GtZ4+fbrOttZ0/gDg2LFjBscWGxsLAHj44YdN7tdSz9+NGzfQp08ffPrpp0Zff++997B06VJ8+umnOHbsGLy9vTFixAj9+nHGxMXFYeLEiZgyZQpOnjyJKVOmYMKECTh69GhzHYZJpo6xtLQUJ06cwOuvv44TJ05gy5YtOH/+PB544IF639fV1dXgnKrVaigUiuY4BJPqO4cAMGrUKIM6d+7cafI9rekcAqh1HlavXg1BEPDQQw+ZfN+WcA7N+V1osd9DkcwWHh4uzpgxw2Bbz549xXnz5hlt/8orr4g9e/Y02PbMM8+IAwcObLYam0peXp4IQNy/f3+dbfbu3SsCEK9du2a5wm7DwoULxT59+pjd3prPnyiK4gsvvCB27dpV1Ol0Rl+3pvMHQNy6dav+uU6nE729vcV33nlHv62srExUKpXiZ599Vuf7TJgwQRw1apTBtpEjR4qTJk1q8pob6tZjNCY+Pl4EIF66dKnONl999ZWoVCqbtrgmYOz4pk2bJj744IMNeh9rP4cPPvigOHToUJNtWuo5vPV3oSV/D3nlxkwVFRVISEhAVFSUwfaoqCgcOXLE6D5xcXG12o8cORLHjx9HZWVls9XaFDQaDQDAw8Oj3rZ33nknVCoVhg0bhr179zZ3abflwoUL8PHxQUBAACZNmoT09PQ621rz+auoqMC6devwxBNP1LtArDWdvxoZGRnIyckxOD+Ojo4YMmRInd9HoO5zamqflkSj0UAQBLi5uZlsV1JSAj8/P3Tq1An3338/EhMTLVNgI+zbtw+enp7o0aMHnn76aeTl5Zlsb83nMDc3Fz/99BOefPLJetu2xHN46+9CS/4eMtyYKT8/H1qtFl5eXgbbvby8kJOTY3SfnJwco+2rqqqQn5/fbLXeLlEUER0djbvuugshISF1tlOpVPjiiy+wefNmbNmyBYGBgRg2bBgOHDhgwWrNN2DAAHz99df45Zdf8N///hc5OTmIjIxEQUGB0fbWev4AYNu2bbh+/TqmT59eZxtrO39/V/Oda8j3sWa/hu7TUpSVlWHevHl49NFHTS5G2LNnT6xZswY//PADvv32WygUCgwaNAgXLlywYLXmGT16NNavX489e/bgww8/xLFjxzB06FCUl5fXuY81n8O1a9fCxcUF48ePN9muJZ5DY78LLfl72OpWBb9dt/4tWBRFk38zNtbe2PaWZNasWTh16hQOHTpksl1gYCACAwP1zyMiIpCVlYUPPvgAd999d3OX2WCjR4/W/3vv3r0RERGBrl27Yu3atYiOjja6jzWePwBYtWoVRo8eDR8fnzrbWNv5M6ah38fG7iO1yspKTJo0CTqdDitXrjTZduDAgQaDcgcNGoTQ0FAsX74cn3zySXOX2iATJ07U/3tISAj69esHPz8//PTTTyYDgDWeQwBYvXo1HnvssXrHzrTEc2jqd6Elfg955cZM7du3h1wur5Us8/LyaiXQGt7e3kbb29nZoV27ds1W6+14/vnn8cMPP2Dv3r3o1KlTg/cfOHBgi/wbojFt2rRB796966zXGs8fAFy6dAm7d+/GU0891eB9reX81dzl1pDvY81+Dd1HapWVlZgwYQIyMjIQGxtr8qqNMTKZDP3797eK86pSqeDn52eyVms8hwBw8OBBnDt3rlHfS6nPYV2/Cy35e8hwYyYHBweEhYXp70CpERsbi8jISKP7RERE1Gr/66+/ol+/frC3t2+2WhtDFEXMmjULW7ZswZ49exAQENCo90lMTIRKpWri6ppHeXk5UlNT66zXms7f33311Vfw9PTEfffd1+B9reX8BQQEwNvb2+D8VFRUYP/+/XV+H4G6z6mpfaRUE2wuXLiA3bt3NypUi6KIpKQkqzivBQUFyMrKMlmrtZ3DGqtWrUJYWBj69OnT4H2lOof1/S606O9hkw1NbgW+++470d7eXly1apWYkpIizpkzR2zTpo148eJFURRFcd68eeKUKVP07dPT00VnZ2dx7ty5YkpKirhq1SrR3t5e3LRpk1SHUKeZM2eKSqVS3Ldvn6hWq/WP0tJSfZtbj++jjz4St27dKp4/f15MTk4W582bJwIQN2/eLMUh1OvFF18U9+3bJ6anp4u///67eP/994suLi42cf5qaLVasXPnzuKrr75a6zVrO3/FxcViYmKimJiYKAIQly5dKiYmJurvFHrnnXdEpVIpbtmyRTx9+rT4yCOPiCqVSiwqKtK/x5QpUwzuZjx8+LAol8vFd955R0xNTRXfeecd0c7OTvz9998tfnyiaPoYKysrxQceeEDs1KmTmJSUZPC9LC8v17/Hrcf45ptvirt27RLT0tLExMRE8fHHHxft7OzEo0ePtqjjKy4uFl988UXxyJEjYkZGhrh3714xIiJC7Nixo82cwxoajUZ0dnYWY2JijL5HSz2H5vwutNTvIcNNA61YsUL08/MTHRwcxNDQUINbpadNmyYOGTLEoP2+ffvEO++8U3RwcBD9/f3r/J9bagCMPr766it9m1uP79133xW7du0qKhQK0d3dXbzrrrvEn376yfLFm2nixImiSqUS7e3tRR8fH3H8+PHimTNn9K9b8/mr8csvv4gAxHPnztV6zdrOX82t6rc+pk2bJopi9W2oCxcuFL29vUVHR0fx7rvvFk+fPm3wHkOGDNG3r7Fx40YxMDBQtLe3F3v27ClpmDN1jBkZGXV+L/fu3at/j1uPcc6cOWLnzp1FBwcHsUOHDmJUVJR45MgRyx+caPr4SktLxaioKLFDhw6ivb292LlzZ3HatGliZmamwXtY8zms8fnnn4tOTk7i9evXjb5HSz2H5vwutNTvofDnARARERHZBI65ISIiIpvCcENEREQ2heGGiIiIbArDDREREdkUhhsiIiKyKQw3REREZFMYboiIiMimMNwQUavg7++PZcuWSV0GEVkAww0RNbnp06dj3LhxAIB77rkHc+bMsdhnr1mzBm5ubrW2Hzt2DP/85z8tVgcRScdO6gKIiMxRUVEBBweHRu/foUOHJqyGiFoyXrkhomYzffp07N+/Hx9//DEEQYAgCLh48SIAICUlBWPGjEHbtm3h5eWFKVOmID8/X7/vPffcg1mzZiE6Ohrt27fHiBEjAABLly5F79690aZNG/j6+uLZZ59FSUkJAGDfvn14/PHHodFo9J/35ptvAqjdLZWZmYkHH3wQbdu2haurKyZMmIDc3Fz962+++Sb69u2Lb775Bv7+/lAqlZg0aRKKi4v1bTZt2oTevXvDyckJ7dq1w/Dhw3Hjxo1m+q9JROZiuCGiZvPxxx8jIiICTz/9NNRqNdRqNXx9faFWqzFkyBD07dsXx48fx65du5Cbm4sJEyYY7L927VrY2dnh8OHD+PzzzwEAMpkMn3zyCZKTk7F27Vrs2bMHr7zyCgAgMjISy5Ytg6urq/7zXnrppVp1iaKIcePGobCwEPv370dsbCzS0tIwceJEg3ZpaWnYtm0bfvzxR/z444/Yv38/3nnnHQCAWq3GI488gieeeAKpqanYt28fxo8fDy7XRyQ9dksRUbNRKpVwcHCAs7MzvL299dtjYmIQGhqKt99+W79t9erV8PX1xfnz59GjRw8AQLdu3fDee+8ZvOffx+8EBATgrbfewsyZM7Fy5Uo4ODhAqVRCEASDz7vV7t27cerUKWRkZMDX1xcA8M0336BXr144duwY+vfvDwDQ6XRYs2YNXFxcAABTpkzBb7/9hv/85z9Qq9WoqqrC+PHj4efnBwDo3bv3bfzXIqKmwis3RGRxCQkJ2Lt3L9q2bat/9OzZE0D11ZIa/fr1q7Xv3r17MWLECHTs2BEuLi6YOnUqCgoKGtQdlJqaCl9fX32wAYDg4GC4ubkhNTVVv83f318fbABApVIhLy8PANCnTx8MGzYMvXv3xsMPP4z//ve/uHbtmvn/EYio2TDcEJHF6XQ6jB07FklJSQaPCxcu4O6779a3a9OmjcF+ly5dwpgxYxASEoLNmzcjISEBK1asAABUVlaa/fmiKEIQhHq329vbG7wuCAJ0Oh0AQC6XIzY2Fj///DOCg4OxfPlyBAYGIiMjw+w6iKh5MNwQUbNycHCAVqs12BYaGoozZ87A398f3bp1M3jcGmj+7vjx46iqqsKHH36IgQMHokePHrhy5Uq9n3er4OBgZGZmIisrS78tJSUFGo0GQUFBZh+bIAgYNGgQFi1ahMTERDg4OGDr1q1m709EzYPhhoialb+/P44ePYqLFy8iPz8fOp0Ozz33HAoLC/HII48gPj4e6enp+PXXX/HEE0+YDCZdu3ZFVVUVli9fjvT0dHzzzTf47LPPan1eSUkJfvvtN+Tn56O0tLTW+wwfPhx33HEHHnvsMZw4cQLx8fGYOnUqhgwZYrQrzJijR4/i7bffxvHjx5GZmYktW7bg6tWrDQpHRNQ8GG6IqFm99NJLkMvlCA4ORocOHZCZmQkfHx8cPnwYWq0WI0eOREhICF544QUolUrIZHX/sdS3b18sXboU7777LkJCQrB+/XosWbLEoE1kZCRmzJiBiRMnokOHDrUGJAPVV1y2bdsGd3d33H333Rg+fDi6dOmCDRs2mH1crq6uOHDgAMaMGYMePXrgtddew4cffojRo0eb/x+HiJqFIPK+RSIiIrIhvHJDRERENoXhhoiIiGwKww0RERHZFIYbIiIisikMN0RERGRTGG6IiIjIpjDcEBERkU1huCEiIiKbwnBDRERENoXhhoiIiGwKww0RERHZFIYbIiIisin/DwPsQI/yMsJ2AAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "iterations = 20\n", + "\n", + "costs = []\n", + "\n", + "for i in range(iterations):\n", + " params, cost = opt.step_and_cost(circuit, params)\n", + " costs.append(cost)\n", + "\n", + "# Visualize results\n", + "import matplotlib.pyplot as plt\n", + "\n", + "costs.append(circuit(params))\n", + "plt.plot(costs, \"-o\")\n", + "plt.xlabel(\"Iterations\")\n", + "plt.ylabel(\"Cost\")\n", + "\n", + "print(\"Minimized circuit output:\", circuit(params))\n", + "print(\"Optimized parameters:\", params)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Note The circuit considered here is very simple and can be optimized easily by hand. However, the need for PennyLane's automatic differentiation capabilities becomes apparent as we make the problem more complicated, e.g., with more gates and different types of output measurement. In later demos, we will also see how Braket can be used to parallelize evaluation of the gradient, providing a turbocharger for quantum circuit training in PennyLane.\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Running circuits on Braket's on-demand simulator, SV1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "So far we have used the local Braket simulator. This is a great choice for quick prototyping, but it is not suitable for large circuits with many qubits and does not provide a connection to quantum hardware.\n", + "\n", + "Amazon Braket also provides access to on-demand, high-performance simulators and quantum processing units (QPUs) from different [providers](https://aws.amazon.com/braket/hardware-providers/). These devices can be accessed through PennyLane by changing a single line of code, unlocking the potential for machine learning and optimization on quantum hardware and high performance simulators!\n", + "\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:42:11.066378Z", + "start_time": "2024-02-19T21:42:11.064297Z" + } + }, + "outputs": [], + "source": [ + "# Use Braket SDK Cost Tracking to estimate the cost to run this example\n", + "from braket.tracking import Tracker\n", + "\n", + "braket_tasks_cost = Tracker().start()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Each remote Braket device can be selected through its [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). The supported devices on Braket are listed [here](https://docs.aws.amazon.com/braket/latest/developerguide/braket-devices.html). For now, we will pick the on-demand SV1 simulator.\n", + "\n", + "
\n", + "Caution: Running hybrid algorithms on a QPU can take a long time and incur high usage fees charged to your AWS account.\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "In PennyLane, all remote Braket devices are then accessed through a single PennyLane device named ``braket.aws.qubit``." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:42:11.437758Z", + "start_time": "2024-02-19T21:42:11.067501Z" + } + }, + "outputs": [], + "source": [ + "from braket.devices import Devices\n", + "dev = qml.device(\"braket.aws.qubit\", device_arn=Devices.Amazon.SV1, wires=2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "A follow up [tutorial](./1_Parallelized_optimization_of_quantum_circuits.ipynb) shows you how to use the remote device to run multiple circuits in parallel, while the [QAOA tutorial](./2_Graph_optimization_with_QAOA.ipynb) takes a deeper dive into graph optimization, including using SV1 to optimize a 20-node graph." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's execute our circuit on SV1, as well as calculating the gradient:" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:42:18.632136Z", + "start_time": "2024-02-19T21:42:11.439272Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Result of circuit run on SV1: 0.37261070647126565\n", + "Result of gradient calculation on SV1: [-0.19585986 -0.80291741]\n" + ] + } + ], + "source": [ + "@qml.qnode(dev)\n", + "def circuit(params):\n", + " qml.RX(params[0], wires=0)\n", + " qml.RY(params[1], wires=1)\n", + " qml.CNOT(wires=[0, 1])\n", + " return qml.expval(qml.PauliZ(1))\n", + "\n", + "\n", + "dcircuit = qml.grad(circuit)\n", + "\n", + "print(\"Result of circuit run on SV1:\", circuit(params))\n", + "print(\"Result of gradient calculation on SV1:\", dcircuit(params))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "What's next? Check out the other tutorials in this folder to understand how Braket and PennyLane can be combined to solve a range of problems, from graph optimization to quantum chemistry.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:42:19.098494Z", + "start_time": "2024-02-19T21:42:18.633487Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Quantum Task Summary\n", + "{<_Amazon.SV1: 'arn:aws:braket:::device/quantum-simulator/amazon/sv1'>: {'shots': 0, 'tasks': {'COMPLETED': 2}, 'execution_duration': datetime.timedelta(microseconds=299000), 'billed_execution_duration': datetime.timedelta(seconds=6)}}\n", + "Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\n", + "Estimated cost to run this example: 0.008 USD\n" + ] + } + ], + "source": [ + "print(\"Quantum Task Summary\")\n", + "print(braket_tasks_cost.quantum_tasks_statistics())\n", + "print(\n", + " \"Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\"\n", + ")\n", + "print(\n", + " f\"Estimated cost to run this example: {braket_tasks_cost.qpu_tasks_cost() + braket_tasks_cost.simulator_tasks_cost():.3f} USD\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Running on a QPU with Amazon Braket Hybrid Jobs\n", + "\n", + "In this notebook, the classical part of the algorithm was running locally. For longer-running algorithms or those requiring more intensive compute resources, it's recommended to dispatch the algorithm to Amazon Braket Hybrid Jobs, which fully manages the classical infrastructure, allowing you to focus on the algorithm. For example, you can train a larger circuit or increase the number of iterations.\n", + "\n", + "The second benefit of running the algorithm as a hybrid job is that for iterative algorithms that require repeated calls to a QPU, you retain priority for that QPU. Once your quantum tasks are created in the hybrid job, they run ahead of other tasks waiting in the regular quantum task queue. This is because hybrid jobs have a separate queue from standalone tasks, ensuring that only a single hybrid job can run on a QPU at a time. This means your algorithm will not be interrupted by other quantum tasks, so it will run more efficiently and predictably. However, hybrid jobs have a separate queue from standalone tasks, so only a single hybrid job can run on a QPU at a time. For a single quantum circuit or a batch of circuits, it's recommended to create quantum tasks instead of hybrid jobs. Only iterative algorithms benefit from QPU priority queuing.\n", + "\n", + "Note that hybrid jobs have at least a one-minute startup time since they create a containerized environment on Amazon EC2. So for very short workloads, there is likely no need to create a hybrid job.\n", + "\n", + "You can run your local Python code as an Amazon Braket hybrid job by annotating your code with the `@hybrid_job`` decorator, as shown in the following code example. Only Python 3.10 is supported by default. For custom Python versions, you can choose to use a custom container from [Amazon Elastic Container Registry (ECR)](https://aws.amazon.com/ecr/) (see [BYOC](https://docs.aws.amazon.com/braket/latest/developerguide/braket-jobs-byoc.html)).\n", + "\n", + "\n", + "In the following code, we create a hybrid job for 10 iterations targeting Rigetti Ankaa-2. Since we specified Ankaa-2 as the device, this job will run once Ankaa-2 is available and has no jobs running ahead of it." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:42:19.442699Z", + "start_time": "2024-02-19T21:42:19.099758Z" + } + }, + "outputs": [], + "source": [ + "from braket.jobs import hybrid_job\n", + "from braket.jobs.metrics import log_metric\n", + "\n", + "device_arn = Devices.Amazon.SV1\n", + "# device_arn = Devices.Rigetti.Ankaa2\n", + "\n", + "\n", + "@hybrid_job(device=device_arn) # set priority QPU\n", + "def qubit_rotation(stepsize=0.1, iterations=5):\n", + " task_tracker = Tracker().start() # track Braket quantum tasks costs\n", + " dev = qml.device(\"braket.aws.qubit\", device_arn=device_arn.value, wires=2, shots=1_000)\n", + "\n", + " params = np.array([0.1, 0.2])\n", + "\n", + " @qml.qnode(dev)\n", + " def circuit(params):\n", + " qml.RX(params[0], wires=0)\n", + " qml.RY(params[1], wires=1)\n", + " qml.CNOT(wires=[0, 1])\n", + " return qml.expval(qml.PauliZ(1))\n", + "\n", + " opt = qml.GradientDescentOptimizer(stepsize)\n", + "\n", + " costs = []\n", + " for i in range(iterations):\n", + " params, cost = opt.step_and_cost(circuit, params)\n", + " costs.append(cost)\n", + "\n", + " # Record the value of the cost function with each iteration\n", + " log_metric(metric_name=\"cost_function\", value=cost, iteration_number=i)\n", + "\n", + " # Additionally, keep track of cost in USD for Braket tasks\n", + " braket_task_cost = float(\n", + " task_tracker.qpu_tasks_cost() + task_tracker.simulator_tasks_cost()\n", + " )\n", + " log_metric(metric_name=\"braket_cost\", value=braket_task_cost, iteration_number=i)\n", + "\n", + " return {\"params\": params, \"costs\": costs, \"braket_tasks_cost\": braket_task_cost}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "How long will it take the hybrid job to run? \n", + "Let's first check if the device is currently available with `AwsDevice(device_arn).is_available()`. " + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:42:19.614223Z", + "start_time": "2024-02-19T21:42:19.443623Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from braket.aws import AwsDevice\n", + "\n", + "AwsDevice(device_arn).is_available" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we check the hybrid job queue depth with `AwsDevice(device_arn).queue_depth().jobs`. " + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:42:19.958746Z", + "start_time": "2024-02-19T21:42:19.615073Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "'0'" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "AwsDevice(device_arn).queue_depth().jobs" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If the device is available and there are no hybrid jobs currently running, then it should take about 5 minutes to complete. \n", + "\n", + "
\n", + "Caution: Running the following cell will only run once the QPU is available. This may take a long time and will result in usage fees charged to your AWS account. Only uncomment the cell if you are comfortable with the potential wait-time and costs. We recommend monitoring the Billing & Cost Management Dashboard on the AWS console and being aware that hybrid jobs involving a large number of qubits can be costly.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:42:29.440989Z", + "start_time": "2024-02-19T21:42:19.960142Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "AwsQuantumJob('arn':'arn:aws:braket:us-west-2:667256736152:job/qubit-rotation-1708378939963')\n" + ] + } + ], + "source": [ + "job = qubit_rotation(stepsize=0.2, iterations=20)\n", + "print(job)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Once the hybrid job has completed, we can retrieve the results with `job.results()`." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:49:52.814493Z", + "start_time": "2024-02-19T21:42:29.442078Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'params': tensor([0.236, 2.649], requires_grad=True), 'costs': [array(0.978), array(0.954), array(0.962), array(0.93), array(0.874), array(0.848), array(0.816), array(0.744), array(0.638), array(0.528), array(0.328), array(0.24), array(0.072), array(-0.034), array(-0.202), array(-0.32), array(-0.498), array(-0.616), array(-0.672), array(-0.752)], 'braket_tasks_cost': 0.375}\n", + "CPU times: user 160 ms, sys: 16.6 ms, total: 177 ms\n", + "Wall time: 7min 23s\n" + ] + } + ], + "source": [ + "%%time\n", + "results = job.result()\n", + "print(results)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:50:26.336487Z", + "start_time": "2024-02-19T21:49:52.820854Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Minimized circuit output: 0.37261070647126565\n", + "Optimized parameters: [0.4839502 1.13630274]\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(results[\"costs\"], \"o-\")\n", + "plt.xlabel(\"Iterations\")\n", + "plt.ylabel(\"Cost\")\n", + "\n", + "print(\"Minimized circuit output:\", circuit(params))\n", + "print(\"Optimized parameters:\", params)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "ExecuteTime": { + "end_time": "2024-02-19T21:50:26.756331Z", + "start_time": "2024-02-19T21:50:26.338055Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\n", + "Estimated cost to run this example: 0.386 USD\n" + ] + } + ], + "source": [ + "job_cost = job.result()[\"braket_tasks_cost\"]\n", + "sv1_cost = float(braket_tasks_cost.simulator_tasks_cost())\n", + "\n", + "print(\n", + " \"Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\"\n", + ")\n", + "print(f\"Estimated cost to run this example: {job_cost + sv1_cost :.3f} USD\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.9" + }, + "vscode": { + "interpreter": { + "hash": "590fab68195cf107911461461f81d5c472d3d6127f579badfcfad30f03e5cab2" + } + } }, - { - "data": { - "image/png": "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6D5xcXG12o8cORLHjx9HZWVls9XaFDQaDQDAw8Oj3rZ33nknVCoVhg0bhr179zZ3abflwoUL8PHxQUBAACZNmoT09PQ621rz+auoqMC6devwxBNP1LtArDWdvxoZGRnIyckxOD+Ojo4YMmRInd9HoO5zamqflkSj0UAQBLi5uZlsV1JSAj8/P3Tq1An3338/EhMTLVNgI+zbtw+enp7o0aMHnn76aeTl5Zlsb83nMDc3Fz/99BOefPLJetu2xHN46+9CS/4eMtyYKT8/H1qtFl5eXgbbvby8kJOTY3SfnJwco+2rqqqQn5/fbLXeLlEUER0djbvuugshISF1tlOpVPjiiy+wefNmbNmyBYGBgRg2bBgOHDhgwWrNN2DAAHz99df45Zdf8N///hc5OTmIjIxEQUGB0fbWev4AYNu2bbh+/TqmT59eZxtrO39/V/Oda8j3sWa/hu7TUpSVlWHevHl49NFHTS5G2LNnT6xZswY//PADvv32WygUCgwaNAgXLlywYLXmGT16NNavX489e/bgww8/xLFjxzB06FCUl5fXuY81n8O1a9fCxcUF48ePN9muJZ5DY78LLfl72OpWBb9dt/4tWBRFk38zNtbe2PaWZNasWTh16hQOHTpksl1gYCACAwP1zyMiIpCVlYUPPvgAd999d3OX2WCjR4/W/3vv3r0RERGBrl27Yu3atYiOjja6jzWePwBYtWoVRo8eDR8fnzrbWNv5M6ah38fG7iO1yspKTJo0CTqdDitXrjTZduDAgQaDcgcNGoTQ0FAsX74cn3zySXOX2iATJ07U/3tISAj69esHPz8//PTTTyYDgDWeQwBYvXo1HnvssXrHzrTEc2jqd6Elfg955cZM7du3h1wur5Us8/LyaiXQGt7e3kbb29nZoV27ds1W6+14/vnn8cMPP2Dv3r3o1KlTg/cfOHBgi/wbojFt2rRB796966zXGs8fAFy6dAm7d+/GU0891eB9reX81dzl1pDvY81+Dd1HapWVlZgwYQIyMjIQGxtr8qqNMTKZDP3797eK86pSqeDn52eyVms8hwBw8OBBnDt3rlHfS6nPYV2/Cy35e8hwYyYHBweEhYXp70CpERsbi8jISKP7RERE1Gr/66+/ol+/frC3t2+2WhtDFEXMmjULW7ZswZ49exAQENCo90lMTIRKpWri6ppHeXk5UlNT66zXms7f33311Vfw9PTEfffd1+B9reX8BQQEwNvb2+D8VFRUYP/+/XV+H4G6z6mpfaRUE2wuXLiA3bt3NypUi6KIpKQkqzivBQUFyMrKMlmrtZ3DGqtWrUJYWBj69OnT4H2lOof1/S606O9hkw1NbgW+++470d7eXly1apWYkpIizpkzR2zTpo148eJFURRFcd68eeKUKVP07dPT00VnZ2dx7ty5YkpKirhq1SrR3t5e3LRpk1SHUKeZM2eKSqVS3Ldvn6hWq/WP0tJSfZtbj++jjz4St27dKp4/f15MTk4W582bJwIQN2/eLMUh1OvFF18U9+3bJ6anp4u///67eP/994suLi42cf5qaLVasXPnzuKrr75a6zVrO3/FxcViYmKimJiYKAIQly5dKiYmJurvFHrnnXdEpVIpbtmyRTx9+rT4yCOPiCqVSiwqKtK/x5QpUwzuZjx8+LAol8vFd955R0xNTRXfeecd0c7OTvz9998tfnyiaPoYKysrxQceeEDs1KmTmJSUZPC9LC8v17/Hrcf45ptvirt27RLT0tLExMRE8fHHHxft7OzEo0ePtqjjKy4uFl988UXxyJEjYkZGhrh3714xIiJC7Nixo82cwxoajUZ0dnYWY2JijL5HSz2H5vwutNTvIcNNA61YsUL08/MTHRwcxNDQUINbpadNmyYOGTLEoP2+ffvEO++8U3RwcBD9/f3r/J9bagCMPr766it9m1uP79133xW7du0qKhQK0d3dXbzrrrvEn376yfLFm2nixImiSqUS7e3tRR8fH3H8+PHimTNn9K9b8/mr8csvv4gAxHPnztV6zdrOX82t6rc+pk2bJopi9W2oCxcuFL29vUVHR0fx7rvvFk+fPm3wHkOGDNG3r7Fx40YxMDBQtLe3F3v27ClpmDN1jBkZGXV+L/fu3at/j1uPcc6cOWLnzp1FBwcHsUOHDmJUVJR45MgRyx+caPr4SktLxaioKLFDhw6ivb292LlzZ3HatGliZmamwXtY8zms8fnnn4tOTk7i9evXjb5HSz2H5vwutNTvofDnARARERHZBI65ISIiIpvCcENEREQ2heGGiIiIbArDDREREdkUhhsiIiKyKQw3REREZFMYboiIiMimMNwQUavg7++PZcuWSV0GEVkAww0RNbnp06dj3LhxAIB77rkHc+bMsdhnr1mzBm5ubrW2Hzt2DP/85z8tVgcRScdO6gKIiMxRUVEBBweHRu/foUOHJqyGiFoyXrkhomYzffp07N+/Hx9//DEEQYAgCLh48SIAICUlBWPGjEHbtm3h5eWFKVOmID8/X7/vPffcg1mzZiE6Ohrt27fHiBEjAABLly5F79690aZNG/j6+uLZZ59FSUkJAGDfvn14/PHHodFo9J/35ptvAqjdLZWZmYkHH3wQbdu2haurKyZMmIDc3Fz962+++Sb69u2Lb775Bv7+/lAqlZg0aRKKi4v1bTZt2oTevXvDyckJ7dq1w/Dhw3Hjxo1m+q9JROZiuCGiZvPxxx8jIiICTz/9NNRqNdRqNXx9faFWqzFkyBD07dsXx48fx65du5Cbm4sJEyYY7L927VrY2dnh8OHD+PzzzwEAMpkMn3zyCZKTk7F27Vrs2bMHr7zyCgAgMjISy5Ytg6urq/7zXnrppVp1iaKIcePGobCwEPv370dsbCzS0tIwceJEg3ZpaWnYtm0bfvzxR/z444/Yv38/3nnnHQCAWq3GI488gieeeAKpqanYt28fxo8fDy7XRyQ9dksRUbNRKpVwcHCAs7MzvL299dtjYmIQGhqKt99+W79t9erV8PX1xfnz59GjRw8AQLdu3fDee+8ZvOffx+8EBATgrbfewsyZM7Fy5Uo4ODhAqVRCEASDz7vV7t27cerUKWRkZMDX1xcA8M0336BXr144duwY+vfvDwDQ6XRYs2YNXFxcAABTpkzBb7/9hv/85z9Qq9WoqqrC+PHj4efnBwDo3bv3bfzXIqKmwis3RGRxCQkJ2Lt3L9q2bat/9OzZE0D11ZIa/fr1q7Xv3r17MWLECHTs2BEuLi6YOnUqCgoKGtQdlJqaCl9fX32wAYDg4GC4ubkhNTVVv83f318fbABApVIhLy8PANCnTx8MGzYMvXv3xsMPP4z//ve/uHbtmvn/EYio2TDcEJHF6XQ6jB07FklJSQaPCxcu4O6779a3a9OmjcF+ly5dwpgxYxASEoLNmzcjISEBK1asAABUVlaa/fmiKEIQhHq329vbG7wuCAJ0Oh0AQC6XIzY2Fj///DOCg4OxfPlyBAYGIiMjw+w6iKh5MNwQUbNycHCAVqs12BYaGoozZ87A398f3bp1M3jcGmj+7vjx46iqqsKHH36IgQMHokePHrhy5Uq9n3er4OBgZGZmIisrS78tJSUFGo0GQUFBZh+bIAgYNGgQFi1ahMTERDg4OGDr1q1m709EzYPhhoialb+/P44ePYqLFy8iPz8fOp0Ozz33HAoLC/HII48gPj4e6enp+PXXX/HEE0+YDCZdu3ZFVVUVli9fjvT0dHzzzTf47LPPan1eSUkJfvvtN+Tn56O0tLTW+wwfPhx33HEHHnvsMZw4cQLx8fGYOnUqhgwZYrQrzJijR4/i7bffxvHjx5GZmYktW7bg6tWrDQpHRNQ8GG6IqFm99NJLkMvlCA4ORocOHZCZmQkfHx8cPnwYWq0WI0eOREhICF544QUolUrIZHX/sdS3b18sXboU7777LkJCQrB+/XosWbLEoE1kZCRmzJiBiRMnokOHDrUGJAPVV1y2bdsGd3d33H333Rg+fDi6dOmCDRs2mH1crq6uOHDgAMaMGYMePXrgtddew4cffojRo0eb/x+HiJqFIPK+RSIiIrIhvHJDRERENoXhhoiIiGwKww0RERHZFIYbIiIisikMN0RERGRTGG6IiIjIpjDcEBERkU1huCEiIiKbwnBDRERENoXhhoiIiGwKww0RERHZFIYbIiIisin/DwPsQI/yMsJ2AAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "iterations = 20\n", - "\n", - "costs = []\n", - "\n", - "for i in range(iterations):\n", - " params, cost = opt.step_and_cost(circuit, params)\n", - " costs.append(cost)\n", - "\n", - "# Visualize results\n", - "import matplotlib.pyplot as plt\n", - "\n", - "costs.append(circuit(params))\n", - "plt.plot(costs, \"-o\")\n", - "plt.xlabel(\"Iterations\")\n", - "plt.ylabel(\"Cost\")\n", - "\n", - "print(\"Minimized circuit output:\", circuit(params))\n", - "print(\"Optimized parameters:\", params)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Note The circuit considered here is very simple and can be optimized easily by hand. However, the need for PennyLane's automatic differentiation capabilities becomes apparent as we make the problem more complicated, e.g., with more gates and different types of output measurement. In later demos, we will also see how Braket can be used to parallelize evaluation of the gradient, providing a turbocharger for quantum circuit training in PennyLane.\n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Running circuits on Braket's on-demand simulator, SV1" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "So far we have used the local Braket simulator. This is a great choice for quick prototyping, but it is not suitable for large circuits with many qubits and does not provide a connection to quantum hardware.\n", - "\n", - "Amazon Braket also provides access to on-demand, high-performance simulators and quantum processing units (QPUs) from different [providers](https://aws.amazon.com/braket/hardware-providers/). These devices can be accessed through PennyLane by changing a single line of code, unlocking the potential for machine learning and optimization on quantum hardware and high performance simulators!\n", - "\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:42:11.066378Z", - "start_time": "2024-02-19T21:42:11.064297Z" - } - }, - "outputs": [], - "source": [ - "# Use Braket SDK Cost Tracking to estimate the cost to run this example\n", - "from braket.tracking import Tracker\n", - "\n", - "braket_tasks_cost = Tracker().start()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Each remote Braket device can be selected through its [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). The supported devices on Braket are listed [here](https://docs.aws.amazon.com/braket/latest/developerguide/braket-devices.html). For now, we will pick the on-demand SV1 simulator.\n", - "\n", - "
\n", - "Caution: Running hybrid algorithms on a QPU can take a long time and incur high usage fees charged to your AWS account.\n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "collapsed": false - }, - "source": [ - "In PennyLane, all remote Braket devices are then accessed through a single PennyLane device named ``braket.aws.qubit``." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:42:11.437758Z", - "start_time": "2024-02-19T21:42:11.067501Z" - } - }, - "outputs": [], - "source": [ - "from braket.devices import Devices\n", - "dev = qml.device(\"braket.aws.qubit\", device_arn=Devices.Amazon.SV1, wires=2)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "A follow up [tutorial](./1_Parallelized_optimization_of_quantum_circuits.ipynb) shows you how to use the remote device to run multiple circuits in parallel, while the [QAOA tutorial](./2_Graph_optimization_with_QAOA.ipynb) takes a deeper dive into graph optimization, including using SV1 to optimize a 20-node graph." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's execute our circuit on SV1, as well as calculating the gradient:" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:42:18.632136Z", - "start_time": "2024-02-19T21:42:11.439272Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Result of circuit run on SV1: 0.37261070647126565\n", - "Result of gradient calculation on SV1: [-0.19585986 -0.80291741]\n" - ] - } - ], - "source": [ - "@qml.qnode(dev)\n", - "def circuit(params):\n", - " qml.RX(params[0], wires=0)\n", - " qml.RY(params[1], wires=1)\n", - " qml.CNOT(wires=[0, 1])\n", - " return qml.expval(qml.PauliZ(1))\n", - "\n", - "\n", - "dcircuit = qml.grad(circuit)\n", - "\n", - "print(\"Result of circuit run on SV1:\", circuit(params))\n", - "print(\"Result of gradient calculation on SV1:\", dcircuit(params))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "What's next? Check out the other tutorials in this folder to understand how Braket and PennyLane can be combined to solve a range of problems, from graph optimization to quantum chemistry.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:42:19.098494Z", - "start_time": "2024-02-19T21:42:18.633487Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Quantum Task Summary\n", - "{<_Amazon.SV1: 'arn:aws:braket:::device/quantum-simulator/amazon/sv1'>: {'shots': 0, 'tasks': {'COMPLETED': 2}, 'execution_duration': datetime.timedelta(microseconds=299000), 'billed_execution_duration': datetime.timedelta(seconds=6)}}\n", - "Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\n", - "Estimated cost to run this example: 0.008 USD\n" - ] - } - ], - "source": [ - "print(\"Quantum Task Summary\")\n", - "print(braket_tasks_cost.quantum_tasks_statistics())\n", - "print(\n", - " \"Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\"\n", - ")\n", - "print(\n", - " f\"Estimated cost to run this example: {braket_tasks_cost.qpu_tasks_cost() + braket_tasks_cost.simulator_tasks_cost():.3f} USD\"\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Running on a QPU with Amazon Braket Hybrid Jobs\n", - "\n", - "In this notebook, the classical part of the algorithm was running locally. For longer-running algorithms or those requiring more intensive compute resources, it's recommended to dispatch the algorithm to Amazon Braket Hybrid Jobs, which fully manages the classical infrastructure, allowing you to focus on the algorithm. For example, you can train a larger circuit or increase the number of iterations.\n", - "\n", - "The second benefit of running the algorithm as a hybrid job is that for iterative algorithms that require repeated calls to a QPU, you retain priority for that QPU. Once your quantum tasks are created in the hybrid job, they run ahead of other tasks waiting in the regular quantum task queue. This is because hybrid jobs have a separate queue from standalone tasks, ensuring that only a single hybrid job can run on a QPU at a time. This means your algorithm will not be interrupted by other quantum tasks, so it will run more efficiently and predictably. However, hybrid jobs have a separate queue from standalone tasks, so only a single hybrid job can run on a QPU at a time. For a single quantum circuit or a batch of circuits, it's recommended to create quantum tasks instead of hybrid jobs. Only iterative algorithms benefit from QPU priority queuing.\n", - "\n", - "Note that hybrid jobs have at least a one-minute startup time since they create a containerized environment on Amazon EC2. So for very short workloads, there is likely no need to create a hybrid job.\n", - "\n", - "You can run your local Python code as an Amazon Braket hybrid job by annotating your code with the `@hybrid_job`` decorator, as shown in the following code example. Only Python 3.10 is supported by default. For custom Python versions, you can choose to use a custom container from [Amazon Elastic Container Registry (ECR)](https://aws.amazon.com/ecr/) (see [BYOC](https://docs.aws.amazon.com/braket/latest/developerguide/braket-jobs-byoc.html)).\n", - "\n", - "\n", - "In the following code, we create a hybrid job for 10 iterations targeting Rigetti Aspen-M-3. Since we specified Aspen-M-3 as the device, this job will run once Aspen-M-3 is available and has no jobs running ahead of it." - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:42:19.442699Z", - "start_time": "2024-02-19T21:42:19.099758Z" - } - }, - "outputs": [], - "source": [ - "from braket.jobs import hybrid_job\n", - "from braket.jobs.metrics import log_metric\n", - "\n", - "device_arn = Devices.Amazon.SV1\n", - "# device_arn = Devices.Rigetti.Ankaa2\n", - "\n", - "\n", - "@hybrid_job(device=device_arn) # set priority QPU\n", - "def qubit_rotation(stepsize=0.1, iterations=5):\n", - " task_tracker = Tracker().start() # track Braket quantum tasks costs\n", - " dev = qml.device(\"braket.aws.qubit\", device_arn=device_arn.value, wires=2, shots=1_000)\n", - "\n", - " params = np.array([0.1, 0.2])\n", - "\n", - " @qml.qnode(dev)\n", - " def circuit(params):\n", - " qml.RX(params[0], wires=0)\n", - " qml.RY(params[1], wires=1)\n", - " qml.CNOT(wires=[0, 1])\n", - " return qml.expval(qml.PauliZ(1))\n", - "\n", - " opt = qml.GradientDescentOptimizer(stepsize)\n", - "\n", - " costs = []\n", - " for i in range(iterations):\n", - " params, cost = opt.step_and_cost(circuit, params)\n", - " costs.append(cost)\n", - "\n", - " # Record the value of the cost function with each iteration\n", - " log_metric(metric_name=\"cost_function\", value=cost, iteration_number=i)\n", - "\n", - " # Additionally, keep track of cost in USD for Braket tasks\n", - " braket_task_cost = float(\n", - " task_tracker.qpu_tasks_cost() + task_tracker.simulator_tasks_cost()\n", - " )\n", - " log_metric(metric_name=\"braket_cost\", value=braket_task_cost, iteration_number=i)\n", - "\n", - " return {\"params\": params, \"costs\": costs, \"braket_tasks_cost\": braket_task_cost}" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "How long will it take the hybrid job to run? \n", - "Let's first check if the device is currently available with `AwsDevice(device_arn).is_available()`. " - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:42:19.614223Z", - "start_time": "2024-02-19T21:42:19.443623Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from braket.aws import AwsDevice\n", - "\n", - "AwsDevice(device_arn).is_available" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, we check the hybrid job queue depth with `AwsDevice(device_arn).queue_depth().jobs`. " - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:42:19.958746Z", - "start_time": "2024-02-19T21:42:19.615073Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "'0'" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "AwsDevice(device_arn).queue_depth().jobs" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "If the device is available and there are no hybrid jobs currently running, then it should take about 5 minutes to complete. \n", - "\n", - "
\n", - "Caution: Running the following cell will only run once the QPU is available. This may take a long time and will result in usage fees charged to your AWS account. Only uncomment the cell if you are comfortable with the potential wait-time and costs. We recommend monitoring the Billing & Cost Management Dashboard on the AWS console and being aware that hybrid jobs involving a large number of qubits can be costly.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:42:29.440989Z", - "start_time": "2024-02-19T21:42:19.960142Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "AwsQuantumJob('arn':'arn:aws:braket:us-west-2:667256736152:job/qubit-rotation-1708378939963')\n" - ] - } - ], - "source": [ - "job = qubit_rotation(stepsize=0.2, iterations=20)\n", - "print(job)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Once the hybrid job has completed, we can retrieve the results with `job.results()`." - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:49:52.814493Z", - "start_time": "2024-02-19T21:42:29.442078Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'params': tensor([0.236, 2.649], requires_grad=True), 'costs': [array(0.978), array(0.954), array(0.962), array(0.93), array(0.874), array(0.848), array(0.816), array(0.744), array(0.638), array(0.528), array(0.328), array(0.24), array(0.072), array(-0.034), array(-0.202), array(-0.32), array(-0.498), array(-0.616), array(-0.672), array(-0.752)], 'braket_tasks_cost': 0.375}\n", - "CPU times: user 160 ms, sys: 16.6 ms, total: 177 ms\n", - "Wall time: 7min 23s\n" - ] - } - ], - "source": [ - "%%time\n", - "results = job.result()\n", - "print(results)" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:50:26.336487Z", - "start_time": "2024-02-19T21:49:52.820854Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Minimized circuit output: 0.37261070647126565\n", - "Optimized parameters: [0.4839502 1.13630274]\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plt.plot(results[\"costs\"], \"o-\")\n", - "plt.xlabel(\"Iterations\")\n", - "plt.ylabel(\"Cost\")\n", - "\n", - "print(\"Minimized circuit output:\", circuit(params))\n", - "print(\"Optimized parameters:\", params)" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": { - "ExecuteTime": { - "end_time": "2024-02-19T21:50:26.756331Z", - "start_time": "2024-02-19T21:50:26.338055Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\n", - "Estimated cost to run this example: 0.386 USD\n" - ] - } - ], - "source": [ - "job_cost = job.result()[\"braket_tasks_cost\"]\n", - "sv1_cost = float(braket_tasks_cost.simulator_tasks_cost())\n", - "\n", - "print(\n", - " \"Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\"\n", - ")\n", - "print(f\"Estimated cost to run this example: {job_cost + sv1_cost :.3f} USD\")" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.9" - }, - "vscode": { - "interpreter": { - "hash": "590fab68195cf107911461461f81d5c472d3d6127f579badfcfad30f03e5cab2" - } - } - }, - "nbformat": 4, - "nbformat_minor": 4 + "nbformat": 4, + "nbformat_minor": 4 } diff --git a/examples/pulse_control/qubit_spectroscopy/qubit_spectroscopy_sweep.py b/examples/pulse_control/qubit_spectroscopy/qubit_spectroscopy_sweep.py index dc01295e7..c2f300dfe 100644 --- a/examples/pulse_control/qubit_spectroscopy/qubit_spectroscopy_sweep.py +++ b/examples/pulse_control/qubit_spectroscopy/qubit_spectroscopy_sweep.py @@ -27,11 +27,6 @@ qubit = hyperparams.get("qubit", None) assert qubit is not None experiment_configuration = { - "arn:aws:braket:us-west-1::device/qpu/rigetti/Aspen-M-3": { - "drive_frame": f"q{qubit}_rf_frame", - "readout_frame": f"q{qubit}_ro_rx_frame", - "spectroscopy_wf": GaussianWaveform(100e-9, 25e-9, 0.1, True), - }, "arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2": { "drive_frame": f"Transmon_{qubit}_charge_tx", "readout_frame": f"Transmon_{qubit}_readout_tx", diff --git a/examples/qiskit/0_Getting_Started.ipynb b/examples/qiskit/0_Getting_Started.ipynb index ae385b0a6..22b3e7b41 100644 --- a/examples/qiskit/0_Getting_Started.ipynb +++ b/examples/qiskit/0_Getting_Started.ipynb @@ -1,529 +1,610 @@ { - "cells": [ - { - "attachments": {}, - "cell_type": "markdown", - "id": "a477c993", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "# How to run Qiskit on Amazon Braket" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3a9504c9", - "metadata": {}, - "outputs": [], - "source": [ - "# Use Braket SDK Cost Tracking to estimate the cost to run this example\n", - "from braket.tracking import Tracker\n", - "t = Tracker().start()" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "c885d164", - "metadata": {}, - "source": [ - "If you're like many people who learned quantum computing in the past several years, you might have learned how to program quantum circuits with [Qiskit](https://qiskit.org): the open-source quantum Software Development Kit (SDK) first released in 2017. With the [Qiskit-Braket provider](https://github.com/qiskit-community/qiskit-braket-provider/blob/main/docs/tutorials/0_tutorial_qiskit-braket-provider_overview.ipynb), you can run your Qiskit code across any of the gate-based devices on the [Amazon Braket](https://aws.amazon.com/braket/) quantum computing service.\n", - "\n", - "**Note**: if you're running this in your local development environment (i.e. not from the Braket console), you'll need to make sure you've got your AWS account configured properly first to access Braket devices. Check out [this tutorial](https://aws.amazon.com/blogs/quantum-computing/setting-up-your-local-development-environment-in-amazon-braket/) for a walkthrough." - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "b23c5287", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "## Access Braket devices from Qiskit \n", - "\n", - " There are quite a few different backend devices on Amazon Braket, so we'll walk through them one by one and give an example of recommended use cases for each." - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "a94feb7b", - "metadata": {}, - "source": [ - "### Quantum simulators\n", - "Let's start with the ***local simulator***. This is a quantum full state vector simulator which runs *locally* -- that means wherever you're running this Jupyter notebook (e.g. your local development environment or a notebook instance on the Braket console).\n", - "\n", - "**Recommended use case:** Noiseless circuits up to ~12 qubits" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f162ba69", - "metadata": {}, - "outputs": [], - "source": [ - "from qiskit_braket_provider import BraketLocalBackend\n", - "\n", - "local_simulator = BraketLocalBackend()" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "17e2ab4d", - "metadata": {}, - "source": [ - "Next, we have the ***local density matrix simulator***. This simulator also runs on your local machine, but allows you to simulate the effects of *noise* on your quantum circuit. Because density matrices are twice the size of state vectors, the number of qubits you can effectively simulate is half the size as the local state vector simulator.\n", - "\n", - "**Recommended use case:** Noisy circuits up to ~6 qubits" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2bfe0170", - "metadata": {}, - "outputs": [], - "source": [ - "local_dm_simulator = BraketLocalBackend(name='braket_dm')" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "de912d0e", - "metadata": {}, - "source": [ - "Now let's look at Braket's *on-demand* simulators: these run on AWS computing resources and have some expanded features in addition to those of the local simulator. We can list all the available Braket simulators with the following code:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "70a24c64", - "metadata": {}, - "outputs": [], - "source": [ - "from qiskit_braket_provider import BraketProvider\n", - "\n", - "provider = BraketProvider()\n", - "\n", - "provider.backends(statuses=[\"ONLINE\"], types=[\"SIMULATOR\"])" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "d846e7f2", - "metadata": {}, - "source": [ - "First up for on-demand simulators is ***SV1***. This is a full state vector simulator which allows you to simulate larger circuits than the local simulator, along with the ability to [batch tasks](https://docs.aws.amazon.com/braket/latest/developerguide/braket-batching-tasks.html) and run them in parallel, as well as use advanced techniques like [adjoint gradient calculations](https://pennylane.ai/blog/2022/12/computing-adjoint-gradients-with-amazon-braket-sv1/) for variational quantum algorithms. \n", - "\n", - "**Recommended use case:** Noiseless variational algorithms on up to 34 qubits" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "19024712", - "metadata": {}, - "outputs": [], - "source": [ - "sv1 = provider.get_backend(\"SV1\")" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "41c66765", - "metadata": {}, - "source": [ - "The next on-demand simulator is ***DM1***. This is a density matrix simulator which, like SV1, allows you to simulate a larger number of qubits, as well as take advantage of batch execution. \n", - "\n", - "**Recommended use case:** Noisy variational algorithms on up to 17 qubits" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "54e855a5", - "metadata": {}, - "outputs": [], - "source": [ - "dm1 = provider.get_backend(\"dm1\")" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "ae97b1a1", - "metadata": {}, - "source": [ - "Lastly for on-demand simulators, we have ***TN1***. This is a tensor-network simulator, which represents each gate in a circuit as a tensor. TN1 can simulate a larger number of qubits for circuits with local gates or other special structure, but will typically be slower than SV1 or DM1 for circuits with long-range or all-to-all gate structure.\n", - "\n", - "**Recommended use case:** Noiseless quantum circuits with local connectivity and up to 50 qubits" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "ad54a536", - "metadata": {}, - "source": [ - "**Note**: Each AWS resource, (like a file or CPU or QPU) lives in a specific region and may only be accessible from that region. For example, TN1 is only available in the `eu-west-2`, `us-east-1`, and `us-west-2` regions. \n", - "\n", - "To change your AWS region if you're running in a managed notebook, you'll need to use the GUI in the top right hand corner of the AWS console to select your new region, then relaunch or create your notebook from the Braket console.\n", - "\n", - "To change your AWS region if you're running in your local development environment, you run the following code snippet:\n", - "```\n", - "import os\n", - "os.environ[\"AWS_REGION\"] = \"your-desired-region\"\n", - "```" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "cd711dcb", - "metadata": {}, - "outputs": [], - "source": [ - "# If you've switched to one of the regions where TN1 is accessible, feel free to uncomment the following code\n", - "# tn1 = provider.get_backend(\"TN1\")" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "dc6910f0", - "metadata": {}, - "source": [ - "### Quantum Processing Units (QPUs)" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "8bfc8706", - "metadata": {}, - "source": [ - "Amazon Braket also provides access to a number of third-party quantum hardware devices. The following code shows how to view the supported QPUs which are currently online:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f5329bca", - "metadata": {}, - "outputs": [], - "source": [ - "provider.backends(statuses=[\"ONLINE\"], types=[\"QPU\"])" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "4c7a21d4", - "metadata": {}, - "source": [ - "For a closer look at each quantum computer, you can peruse the [Providers Overview](https://aws.amazon.com/braket/quantum-computers/) on the Braket homepage, or the Devices tab on the left side of the Braket console. \n", - "Currently only gate-based QPUs (IonQ, Rigetti) are supported with the Qiskit-Braket provider. " - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "0800b99f", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "## Running circuits on Braket devices\n", - "\n" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "6bf048f4", - "metadata": {}, - "source": [ - "Now that we've walked through each of the quantum devices available through the Qiskit-Braket provider, let's take them for a spin! For this example, we'll create a 3-GHZ state on the Rigetti device, but feel free to choose a different QPU from the commented out devices below." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a5beeb7b", - "metadata": {}, - "outputs": [], - "source": [ - "qpu_backend = provider.get_backend(\"Aspen-M-3\")\n", - "# qpu_backend = provider.get_backend(\"Aria\")\n", - "\n", - "print(qpu_backend)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e9d90ed2", - "metadata": {}, - "outputs": [], - "source": [ - "from qiskit import QuantumCircuit\n", - "\n", - "circuit = QuantumCircuit(3)\n", - "circuit.h(0)\n", - "circuit.cx(0, 1)\n", - "circuit.cx(0, 2)\n", - "circuit.draw()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "32fd1f51", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "outputs": [], - "source": [ - "# run circuit\n", - "qpu_task = qpu_backend.run(circuit, shots=10)" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "9515c95b", - "metadata": {}, - "source": [ - "Each quantum task you run is assigned a unique ARN (Amazon Resource Name), which you can save and use to retrieve the data for your quantum task after its run, even if you close your notebook." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d6f5d0da", - "metadata": {}, - "outputs": [], - "source": [ - "task_id = qpu_task.task_id()\n", - "task_id" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "3b7ee5ac", - "metadata": {}, - "source": [ - "Now, Braket has a separate feature called \\\"Hybrid *Jobs*\\\", which is beyond the scope of this notebook, but which you can read about in the [developer guide](https://docs.aws.amazon.com/braket/latest/developerguide/braket-jobs.html)." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "dec44bb5", - "metadata": {}, - "outputs": [], - "source": [ - "# Retrieve quantum task data\n", - "retrieved_task = qpu_backend.retrieve_job(task_id=task_id)" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "355472d4", - "metadata": {}, - "source": [ - "Then you can check the status of the task to see if it's finished:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "bb84627d", - "metadata": {}, - "outputs": [], - "source": [ - "retrieved_task.status()" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "7c2d97be", - "metadata": {}, - "source": [ - "**Note:** different devices may have different availability windows, so while your task may not run right away, rest assured it will be added to the queue to be run when the device is back online." - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "d6f54cb5", - "metadata": {}, - "source": [ - "When your task is finished, you can retrieve the data:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c510eb22", - "metadata": {}, - "outputs": [], - "source": [ - "data = retrieved_task.result()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "90660ecd", - "metadata": {}, - "outputs": [], - "source": [ - "from qiskit.visualization import plot_histogram\n", - "plot_histogram(data.get_counts())" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "1819e1f8", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "## Running algorithms on Braket devices" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "41520df9", - "metadata": {}, - "source": [ - "You can also use the Qiskit-Braket provider to run built-in Qiskit algorithms on Braket backends. For example, we can run the VQE algorithm to find the ground state of hydrogen. We'll use the local simulator since the problem can be expressed in a basis that only requires a few qubits and will run quickly." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1e7de04f", - "metadata": {}, - "outputs": [], - "source": [ - "from qiskit.quantum_info import SparsePauliOp\n", - "\n", - "# Define the Hamiltonian operator for H2 in terms of Pauli spin operators\n", - "H2_op = SparsePauliOp.from_list([('II', -1.052373245772859), ('IZ', 0.39793742484318045), ('ZI', -0.39793742484318045), ('ZZ', -0.01128010425623538), ('XX', 0.18093119978423156)])" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9c5cbca8", - "metadata": {}, - "outputs": [], - "source": [ - "# Import some utilities\n", - "from qiskit.primitives import BackendEstimator\n", - "from qiskit.circuit.library import TwoLocal\n", - "from qiskit_algorithms.optimizers import SLSQP\n", - "from qiskit_algorithms import VQE\n", - "\n", - "# Define a `BackendEstimator` with a Braket backend\n", - "qi = BackendEstimator(local_simulator, options={'seed_simulator':42})\n", - "qi.set_transpile_options(seed_transpiler=42)\n", - "\n", - "# Specify VQE configuration\n", - "ansatz = TwoLocal(rotation_blocks=\"ry\", entanglement_blocks=\"cz\")\n", - "slsqp = SLSQP(maxiter=1)\n", - "vqe = VQE(estimator=qi, ansatz=ansatz, optimizer=slsqp)\n", - "\n", - "# Find the ground state\n", - "result = vqe.compute_minimum_eigenvalue(H2_op)\n", - "print(result)" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "a5ce5134", - "metadata": {}, - "source": [ - "## What now?" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "a497c6ef", - "metadata": {}, - "source": [ - "The sky is the limit! Keep in mind, the Qiskit-Braket provider is still new and experimental, so if you run into a bug or want a new feature supported, consider [submitting a GitHub issue](https://github.com/qiskit-community/qiskit-braket-provider/issues) and opening a feature branch to join in on the development effort yourself!" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "480d8040", - "metadata": {}, - "outputs": [], - "source": [ - "print(\"Quantum Task Summary\")\n", - "print(t.quantum_tasks_statistics())\n", - "print('Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).')\n", - "print(f\"Estimated cost to run this example: {t.qpu_tasks_cost() + t.simulator_tasks_cost():.2f} USD\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "61350edd", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "base", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.9" - } - }, - "nbformat": 4, - "nbformat_minor": 5 + "cells": [ + { + "attachments": {}, + "cell_type": "markdown", + "id": "a477c993", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "# How to run Qiskit on Amazon Braket" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "3a9504c9", + "metadata": {}, + "outputs": [], + "source": [ + "# Use Braket SDK Cost Tracking to estimate the cost to run this example\n", + "from braket.tracking import Tracker\n", + "t = Tracker().start()" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "c885d164", + "metadata": {}, + "source": [ + "If you're like many people who learned quantum computing in the past several years, you might have learned how to program quantum circuits with [Qiskit](https://qiskit.org): the open-source quantum Software Development Kit (SDK) first released in 2017. With the [Qiskit-Braket provider](https://github.com/qiskit-community/qiskit-braket-provider/blob/main/docs/tutorials/0_tutorial_qiskit-braket-provider_overview.ipynb), you can run your Qiskit code across any of the gate-based devices on the [Amazon Braket](https://aws.amazon.com/braket/) quantum computing service.\n", + "\n", + "**Note**: if you're running this in your local development environment (i.e. not from the Braket console), you'll need to make sure you've got your AWS account configured properly first to access Braket devices. Check out [this tutorial](https://aws.amazon.com/blogs/quantum-computing/setting-up-your-local-development-environment-in-amazon-braket/) for a walkthrough." + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "b23c5287", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "## Access Braket devices from Qiskit \n", + "\n", + " There are quite a few different backend devices on Amazon Braket, so we'll walk through them one by one and give an example of recommended use cases for each." + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "a94feb7b", + "metadata": {}, + "source": [ + "### Quantum simulators\n", + "Let's start with the ***local simulator***. This is a quantum full state vector simulator which runs *locally* -- that means wherever you're running this Jupyter notebook (e.g. your local development environment or a notebook instance on the Braket console).\n", + "\n", + "**Recommended use case:** Noiseless circuits up to ~12 qubits" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "f162ba69", + "metadata": {}, + "outputs": [], + "source": [ + "from qiskit_braket_provider import BraketLocalBackend\n", + "\n", + "local_simulator = BraketLocalBackend()" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "17e2ab4d", + "metadata": {}, + "source": [ + "Next, we have the ***local density matrix simulator***. This simulator also runs on your local machine, but allows you to simulate the effects of *noise* on your quantum circuit. Because density matrices are twice the size of state vectors, the number of qubits you can effectively simulate is half the size as the local state vector simulator.\n", + "\n", + "**Recommended use case:** Noisy circuits up to ~6 qubits" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "2bfe0170", + "metadata": {}, + "outputs": [], + "source": [ + "local_dm_simulator = BraketLocalBackend(name='braket_dm')" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "de912d0e", + "metadata": {}, + "source": [ + "Now let's look at Braket's *on-demand* simulators: these run on AWS computing resources and have some expanded features in addition to those of the local simulator. We can list all the available Braket simulators with the following code:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "70a24c64", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[BraketBackend[SV1], BraketBackend[TN1], BraketBackend[dm1]]" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from qiskit_braket_provider import BraketProvider\n", + "\n", + "provider = BraketProvider()\n", + "\n", + "provider.backends(statuses=[\"ONLINE\"], types=[\"SIMULATOR\"])" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "d846e7f2", + "metadata": {}, + "source": [ + "First up for on-demand simulators is ***SV1***. This is a full state vector simulator which allows you to simulate larger circuits than the local simulator, along with the ability to [batch tasks](https://docs.aws.amazon.com/braket/latest/developerguide/braket-batching-tasks.html) and run them in parallel, as well as use advanced techniques like [adjoint gradient calculations](https://pennylane.ai/blog/2022/12/computing-adjoint-gradients-with-amazon-braket-sv1/) for variational quantum algorithms. \n", + "\n", + "**Recommended use case:** Noiseless variational algorithms on up to 34 qubits" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "19024712", + "metadata": {}, + "outputs": [], + "source": [ + "sv1 = provider.get_backend(\"SV1\")" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "41c66765", + "metadata": {}, + "source": [ + "The next on-demand simulator is ***DM1***. This is a density matrix simulator which, like SV1, allows you to simulate a larger number of qubits, as well as take advantage of batch execution. \n", + "\n", + "**Recommended use case:** Noisy variational algorithms on up to 17 qubits" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "54e855a5", + "metadata": {}, + "outputs": [], + "source": [ + "dm1 = provider.get_backend(\"dm1\")" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "ae97b1a1", + "metadata": {}, + "source": [ + "Lastly for on-demand simulators, we have ***TN1***. This is a tensor-network simulator, which represents each gate in a circuit as a tensor. TN1 can simulate a larger number of qubits for circuits with local gates or other special structure, but will typically be slower than SV1 or DM1 for circuits with long-range or all-to-all gate structure.\n", + "\n", + "**Recommended use case:** Noiseless quantum circuits with local connectivity and up to 50 qubits" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "ad54a536", + "metadata": {}, + "source": [ + "**Note**: Each AWS resource, (like a file or CPU or QPU) lives in a specific region and may only be accessible from that region. For example, TN1 is only available in the `eu-west-2`, `us-east-1`, and `us-west-2` regions. \n", + "\n", + "To change your AWS region if you're running in a managed notebook, you'll need to use the GUI in the top right hand corner of the AWS console to select your new region, then relaunch or create your notebook from the Braket console.\n", + "\n", + "To change your AWS region if you're running in your local development environment, you run the following code snippet:\n", + "```\n", + "import os\n", + "os.environ[\"AWS_REGION\"] = \"your-desired-region\"\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cd711dcb", + "metadata": {}, + "outputs": [], + "source": [ + "# If you've switched to one of the regions where TN1 is accessible, feel free to uncomment the following code\n", + "# tn1 = provider.get_backend(\"TN1\")" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "dc6910f0", + "metadata": {}, + "source": [ + "### Quantum Processing Units (QPUs)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "8bfc8706", + "metadata": {}, + "source": [ + "Amazon Braket also provides access to a number of third-party quantum hardware devices. The following code shows how to view the supported QPUs which are currently online:" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "f5329bca", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[BraketBackend[Ankaa-2],\n", + " BraketBackend[Aria 1],\n", + " BraketBackend[Forte 1],\n", + " BraketBackend[Garnet]]" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "provider.backends(statuses=[\"ONLINE\"], types=[\"QPU\"])" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "4c7a21d4", + "metadata": {}, + "source": [ + "For a closer look at each quantum computer, you can peruse the [Providers Overview](https://aws.amazon.com/braket/quantum-computers/) on the Braket homepage, or the Devices tab on the left side of the Braket console. \n", + "Currently only gate-based QPUs (IonQ, Rigetti) are supported with the Qiskit-Braket provider. " + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "0800b99f", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "## Running circuits on Braket devices\n", + "\n" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "6bf048f4", + "metadata": {}, + "source": [ + "Now that we've walked through each of the quantum devices available through the Qiskit-Braket provider, let's take them for a spin! For this example, we'll create a 3-GHZ state on the Rigetti device, but feel free to choose a different QPU from the commented out devices below." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "a5beeb7b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "BraketBackend[Ankaa-2]\n" + ] + } + ], + "source": [ + "qpu_backend = provider.get_backend(\"Ankaa-2\")\n", + "# qpu_backend = provider.get_backend(\"Aria\")\n", + "\n", + "print(qpu_backend)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "e9d90ed2", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
     ┌───┐          \n",
+                            "q_0: ┤ H ├──■────■──\n",
+                            "     └───┘┌─┴─┐  │  \n",
+                            "q_1: ─────┤ X ├──┼──\n",
+                            "          └───┘┌─┴─┐\n",
+                            "q_2: ──────────┤ X ├\n",
+                            "               └───┘
" + ], + "text/plain": [ + " ┌───┐ \n", + "q_0: ┤ H ├──■────■──\n", + " └───┘┌─┴─┐ │ \n", + "q_1: ─────┤ X ├──┼──\n", + " └───┘┌─┴─┐\n", + "q_2: ──────────┤ X ├\n", + " └───┘" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from qiskit import QuantumCircuit\n", + "\n", + "circuit = QuantumCircuit(3)\n", + "circuit.h(0)\n", + "circuit.cx(0, 1)\n", + "circuit.cx(0, 2)\n", + "circuit.draw()" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "32fd1f51", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "outputs": [], + "source": [ + "# run circuit\n", + "qpu_task = qpu_backend.run(circuit, shots=10)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "9515c95b", + "metadata": {}, + "source": [ + "Each quantum task you run is assigned a unique ARN (Amazon Resource Name), which you can save and use to retrieve the data for your quantum task after its run, even if you close your notebook." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "d6f5d0da", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'arn:aws:braket:us-west-1:606892779558:quantum-task/59f83e11-3b1d-44cb-9d3e-bbb87ce37dd7'" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "task_id = qpu_task.task_id()\n", + "task_id" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "3b7ee5ac", + "metadata": {}, + "source": [ + "Now, Braket has a separate feature called \\\"Hybrid *Jobs*\\\", which is beyond the scope of this notebook, but which you can read about in the [developer guide](https://docs.aws.amazon.com/braket/latest/developerguide/braket-jobs.html)." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "dec44bb5", + "metadata": {}, + "outputs": [], + "source": [ + "# Retrieve quantum task data\n", + "retrieved_task = qpu_backend.retrieve_job(task_id=task_id)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "355472d4", + "metadata": {}, + "source": [ + "Then you can check the status of the task to see if it's finished:" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "bb84627d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "retrieved_task.status()" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "7c2d97be", + "metadata": {}, + "source": [ + "**Note:** different devices may have different availability windows, so while your task may not run right away, rest assured it will be added to the queue to be run when the device is back online." + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "d6f54cb5", + "metadata": {}, + "source": [ + "When your task is finished, you can retrieve the data:" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "c510eb22", + "metadata": {}, + "outputs": [], + "source": [ + "data = retrieved_task.result()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "90660ecd", + "metadata": {}, + "outputs": [], + "source": [ + "from qiskit.visualization import plot_histogram\n", + "plot_histogram(data.get_counts())" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "1819e1f8", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "## Running algorithms on Braket devices" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "41520df9", + "metadata": {}, + "source": [ + "You can also use the Qiskit-Braket provider to run built-in Qiskit algorithms on Braket backends. For example, we can run the VQE algorithm to find the ground state of hydrogen. We'll use the local simulator since the problem can be expressed in a basis that only requires a few qubits and will run quickly." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1e7de04f", + "metadata": {}, + "outputs": [], + "source": [ + "from qiskit.quantum_info import SparsePauliOp\n", + "\n", + "# Define the Hamiltonian operator for H2 in terms of Pauli spin operators\n", + "H2_op = SparsePauliOp.from_list([('II', -1.052373245772859), ('IZ', 0.39793742484318045), ('ZI', -0.39793742484318045), ('ZZ', -0.01128010425623538), ('XX', 0.18093119978423156)])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9c5cbca8", + "metadata": {}, + "outputs": [], + "source": [ + "# Import some utilities\n", + "from qiskit.primitives import BackendEstimator\n", + "from qiskit.circuit.library import TwoLocal\n", + "from qiskit_algorithms.optimizers import SLSQP\n", + "from qiskit_algorithms import VQE\n", + "\n", + "# Define a `BackendEstimator` with a Braket backend\n", + "qi = BackendEstimator(local_simulator, options={'seed_simulator':42})\n", + "qi.set_transpile_options(seed_transpiler=42)\n", + "\n", + "# Specify VQE configuration\n", + "ansatz = TwoLocal(rotation_blocks=\"ry\", entanglement_blocks=\"cz\")\n", + "slsqp = SLSQP(maxiter=1)\n", + "vqe = VQE(estimator=qi, ansatz=ansatz, optimizer=slsqp)\n", + "\n", + "# Find the ground state\n", + "result = vqe.compute_minimum_eigenvalue(H2_op)\n", + "print(result)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "a5ce5134", + "metadata": {}, + "source": [ + "## What now?" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "a497c6ef", + "metadata": {}, + "source": [ + "The sky is the limit! Keep in mind, the Qiskit-Braket provider is still new and experimental, so if you run into a bug or want a new feature supported, consider [submitting a GitHub issue](https://github.com/qiskit-community/qiskit-braket-provider/issues) and opening a feature branch to join in on the development effort yourself!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "480d8040", + "metadata": {}, + "outputs": [], + "source": [ + "print(\"Quantum Task Summary\")\n", + "print(t.quantum_tasks_statistics())\n", + "print('Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).')\n", + "print(f\"Estimated cost to run this example: {t.qpu_tasks_cost() + t.simulator_tasks_cost():.2f} USD\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "61350edd", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "base", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.10" + } + }, + "nbformat": 4, + "nbformat_minor": 5 } diff --git a/test/integ_tests/default_data/default_capabilities.json b/test/integ_tests/default_data/default_capabilities.json index a57bce427..4700dafa1 100644 --- a/test/integ_tests/default_data/default_capabilities.json +++ b/test/integ_tests/default_data/default_capabilities.json @@ -170,7 +170,11 @@ "qubitCount": 30, "nativeGateSet": [ "ccnot", - "cy" + "cy", + "rx", + "rz", + "cz", + "iswap" ], "connectivity": { "fullyConnected": false, @@ -183,6 +187,106 @@ } }, "deviceParameters": {}, + "standardized": { + "braketSchemaHeader":{ + "name":"braket.device_schema.standardized_gate_model_qpu_device_properties", + "version":"1" + }, + "oneQubitProperties":{ + "0":{ + "T1":{ + "value":8.645474408067754e-06, + "standardError":null, + "unit":"S" + }, + "T2":{ + "value":1.2710111632672265e-05, + "standardError":null, + "unit":"S" + }, + "oneQubitFidelity":[ + { + "fidelityType":{ + "name":"RANDOMIZED_BENCHMARKING", + "description":null + }, + "fidelity":0.998913376867117, + "standardError":2.7016428586132974e-05 + }, + { + "fidelityType":{ + "name":"SIMULTANEOUS_RANDOMIZED_BENCHMARKING", + "description":null + }, + "fidelity":0.9975435377199546, + "standardError":0.00015343141167926104 + }, + { + "fidelityType":{ + "name":"READOUT", + "description":null + }, + "fidelity":0.9339999999999999, + "standardError":null + } + ] + }, + "1":{ + "T1":{ + "value":1.3882920379569291e-05, + "standardError":null, + "unit":"S" + }, + "T2":{ + "value":6.747630168122081e-06, + "standardError":null, + "unit":"S" + }, + "oneQubitFidelity":[ + { + "fidelityType":{ + "name":"RANDOMIZED_BENCHMARKING", + "description":null + }, + "fidelity":0.9986572269551187, + "standardError":0.00014421109291307328 + }, + { + "fidelityType":{ + "name":"SIMULTANEOUS_RANDOMIZED_BENCHMARKING", + "description":null + }, + "fidelity":0.9953885567898049, + "standardError":0.00043361019086930177 + }, + { + "fidelityType":{ + "name":"READOUT", + "description":null + }, + "fidelity":0.944, + "standardError":null + } + ] + } + }, + "twoQubitProperties":{ + "0-1":{ + "twoQubitGateFidelity":[ + { + "direction":null, + "gateName":"ISWAP", + "fidelity":0.9773180863130815, + "standardError":0.00408287380553746, + "fidelityType":{ + "name":"INTERLEAVED_RANDOMIZED_BENCHMARKING", + "description":null + } + } + ] + } + } + }, "provider": { "specs": { "1Q": { @@ -204,7 +308,9 @@ "fCZ": 0.8446295075190559, "fCZ_std_err": 0.009150823348255658, "fXY": 0.82638351218334, - "fXY_std_err": 0.01638730580261261 + "fXY_std_err": 0.01638730580261261, + "fISWAP": 0.9773180863130815, + "fISWAP_std_err": 0.00408287380553746 }, "10-11": { "fCPHASE": 0.8710661743452028, @@ -212,7 +318,9 @@ "fCZ": 0.8446295075190559, "fCZ_std_err": 0.009150823348255658, "fXY": 0.82638351218334, - "fXY_std_err": 0.01638730580261261 + "fXY_std_err": 0.01638730580261261, + "fISWAP": 0.955113709939358, + "fISWAP_std_err": 0.006800196783194216 }, "10-17": { "fCPHASE": 0.8710661743452028, @@ -220,7 +328,9 @@ "fCZ": 0.8446295075190559, "fCZ_std_err": 0.009150823348255658, "fXY": 0.82638351218334, - "fXY_std_err": 0.01638730580261261 + "fXY_std_err": 0.01638730580261261, + "fISWAP": 0.9571311463268808, + "fISWAP_std_err": 0.012095424346427125 } } } diff --git a/test/integ_tests/pulse_control/1_6_pulse_results.json b/test/integ_tests/pulse_control/1_6_pulse_results.json index feb27d6cd..c7163e4ed 100644 --- a/test/integ_tests/pulse_control/1_6_pulse_results.json +++ b/test/integ_tests/pulse_control/1_6_pulse_results.json @@ -1,72 +1,72 @@ { - "braketSchemaHeader": { - "name": "braket.jobs_data.persisted_job_data", - "version": "1" - }, - "dataDictionary": { - "populations in |0>": [ - 0.97, - 0.98, - 0.95, - 0.98, - 0.97, - 0.99, - 0.97, - 0.98, - 1.0, - 0.86, - 0.53, - 0.41, - 0.2, - 0.34, - 0.54, - 0.77, - 0.91, - 0.98, - 0.97, - 0.99, - 0.97, - 0.99, - 0.99, - 0.98, - 1.0 - ], - "frequencies": [ - 5161931123.13734, - 5165056123.13734, - 5168181123.13734, - 5171306123.13734, - 5174431123.13734, - 5177556123.13734, - 5180681123.13734, - 5183806123.13734, - 5186931123.13734, - 5190056123.13734, - 5193181123.13734, - 5196306123.13734, - 5199431123.13734, - 5202556123.13734, - 5205681123.13734, - 5208806123.13734, - 5211931123.13734, - 5215056123.13734, - 5218181123.13734, - 5221306123.13734, - 5224431123.13734, - 5227556123.13734, - 5230681123.13734, - 5233806123.13734, - 5236931123.13734 - ], - "task summary": { - "arn:aws:braket:us-west-1::device/qpu/rigetti/Aspen-M-3": { - "shots": 2500, - "tasks": { - "COMPLETED": 25 - } - } - }, - "estimated cost": 8.375 - }, - "dataFormat": "plaintext" + "braketSchemaHeader": { + "name": "braket.jobs_data.persisted_job_data", + "version": "1" + }, + "dataDictionary": { + "populations in |0>": [ + 0.97, + 0.98, + 0.95, + 0.98, + 0.97, + 0.99, + 0.97, + 0.98, + 1.0, + 0.86, + 0.53, + 0.41, + 0.2, + 0.34, + 0.54, + 0.77, + 0.91, + 0.98, + 0.97, + 0.99, + 0.97, + 0.99, + 0.99, + 0.98, + 1.0 + ], + "frequencies": [ + 5161931123.13734, + 5165056123.13734, + 5168181123.13734, + 5171306123.13734, + 5174431123.13734, + 5177556123.13734, + 5180681123.13734, + 5183806123.13734, + 5186931123.13734, + 5190056123.13734, + 5193181123.13734, + 5196306123.13734, + 5199431123.13734, + 5202556123.13734, + 5205681123.13734, + 5208806123.13734, + 5211931123.13734, + 5215056123.13734, + 5218181123.13734, + 5221306123.13734, + 5224431123.13734, + 5227556123.13734, + 5230681123.13734, + 5233806123.13734, + 5236931123.13734 + ], + "task summary": { + "arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2": { + "shots": 2500, + "tasks": { + "COMPLETED": 25 + } + } + }, + "estimated cost": 8.375 + }, + "dataFormat": "plaintext" } \ No newline at end of file diff --git a/test/integ_tests/qiskit/0_Getting_Started_mocks.py b/test/integ_tests/qiskit/0_Getting_Started_mocks.py index 9dc2afb1a..1a353f45b 100644 --- a/test/integ_tests/qiskit/0_Getting_Started_mocks.py +++ b/test/integ_tests/qiskit/0_Getting_Started_mocks.py @@ -38,7 +38,7 @@ def pre_run_inject(mock_utils): }, { "deviceArn": "arn:aws:braket:us-west-2::device/qpu/arn/TestARN", - "deviceName": "Aspen-M-3", + "deviceName": "Ankaa-2", "deviceType": "QPU", "deviceStatus": "ONLINE", "providerName": "Test Provider" diff --git a/test/integ_tests/qiskit/rig_pulse_device_capabilities.json b/test/integ_tests/qiskit/rig_pulse_device_capabilities.json index 70d6f779e..6be646db0 100644 --- a/test/integ_tests/qiskit/rig_pulse_device_capabilities.json +++ b/test/integ_tests/qiskit/rig_pulse_device_capabilities.json @@ -1466,734 +1466,734 @@ }, "2Q": { "0-1": { - "fCZ": 0.9790940239799477, - "fCZ_std_err": 0.010152096226080886, - "fCPHASE": 0.8885675459317975, - "fCPHASE_std_err": 0.006457691905337948, - "fXY": 0.967231170923274, - "fXY_std_err": 0.005499688118093715 + "fCZ": 0.9790940239799477, + "fCZ_std_err": 0.010152096226080886, + "fCPHASE": 0.8885675459317975, + "fCPHASE_std_err": 0.006457691905337948, + "fXY": 0.967231170923274, + "fXY_std_err": 0.005499688118093715 }, "100-101": { - "fCZ": 0.9843360126097026, - "fCZ_std_err": 0.0029266447524518317, - "fCPHASE": 0.9730627758450587, - "fCPHASE_std_err": 0.0057510936255000525, - "fXY": 0.9763106403590708, - "fXY_std_err": 0.005192184982970915 + "fCZ": 0.9843360126097026, + "fCZ_std_err": 0.0029266447524518317, + "fCPHASE": 0.9730627758450587, + "fCPHASE_std_err": 0.0057510936255000525, + "fXY": 0.9763106403590708, + "fXY_std_err": 0.005192184982970915 }, "10-11": { - "fCZ": 0.9906433344275218, - "fCZ_std_err": 0.0027064936617656795, - "fCPHASE": 0.9863304515509859, - "fCPHASE_std_err": 0.00334865084846599, - "fXY": 0.9849304284282457, - "fXY_std_err": 0.0027419443041005287 + "fCZ": 0.9906433344275218, + "fCZ_std_err": 0.0027064936617656795, + "fCPHASE": 0.9863304515509859, + "fCPHASE_std_err": 0.00334865084846599, + "fXY": 0.9849304284282457, + "fXY_std_err": 0.0027419443041005287 }, "110-111": { - "fCZ": 0.9539013264647176, - "fCZ_std_err": 0.006926869814099528, - "fCPHASE": 0.8711234193328536, - "fCPHASE_std_err": 0.006913446609371417, - "fXY": 0.877126371219251, - "fXY_std_err": 0.005208525123829239 + "fCZ": 0.9539013264647176, + "fCZ_std_err": 0.006926869814099528, + "fCPHASE": 0.8711234193328536, + "fCPHASE_std_err": 0.006913446609371417, + "fXY": 0.877126371219251, + "fXY_std_err": 0.005208525123829239 }, "20-21": { - "fCZ": 0.9800136421585469, - "fCZ_std_err": 0.004163411158639649, - "fCPHASE": 0.9206992203442439, - "fCPHASE_std_err": 0.027546914591423045, - "fXY": 0.96122164789965, - "fXY_std_err": 0.0051283993139807985 + "fCZ": 0.9800136421585469, + "fCZ_std_err": 0.004163411158639649, + "fCPHASE": 0.9206992203442439, + "fCPHASE_std_err": 0.027546914591423045, + "fXY": 0.96122164789965, + "fXY_std_err": 0.0051283993139807985 }, "120-121": { - "fCZ": 0.9835138199083926, - "fCZ_std_err": 0.003132928220729733, - "fCPHASE": 0.9875006590589931, - "fCPHASE_std_err": 0.004911283650793183, - "fXY": 0.9793229655351198, - "fXY_std_err": 0.003247215682689063 + "fCZ": 0.9835138199083926, + "fCZ_std_err": 0.003132928220729733, + "fCPHASE": 0.9875006590589931, + "fCPHASE_std_err": 0.004911283650793183, + "fXY": 0.9793229655351198, + "fXY_std_err": 0.003247215682689063 }, "30-31": { - "fCZ": 0.9621244450557882, - "fCZ_std_err": 0.005710658714356064, - "fCPHASE": 0.8735775749166046, - "fCPHASE_std_err": 0.00945499688760675, - "fXY": 0.975777188563332, - "fXY_std_err": 0.003523199210613498 + "fCZ": 0.9621244450557882, + "fCZ_std_err": 0.005710658714356064, + "fCPHASE": 0.8735775749166046, + "fCPHASE_std_err": 0.00945499688760675, + "fXY": 0.975777188563332, + "fXY_std_err": 0.003523199210613498 }, "130-131": { - "fXY": 0.9766186780861371, - "fXY_std_err": 0.004583032180893773 + "fXY": 0.9766186780861371, + "fXY_std_err": 0.004583032180893773 }, "40-41": { - "fCZ": 0.8810376898022058, - "fCZ_std_err": 0.008063339852654524, - "fCPHASE": 0.9137374114232286, - "fCPHASE_std_err": 0.0038136221031306494, - "fXY": 0.8813378042973419, - "fXY_std_err": 0.0059712950689783184 + "fCZ": 0.8810376898022058, + "fCZ_std_err": 0.008063339852654524, + "fCPHASE": 0.9137374114232286, + "fCPHASE_std_err": 0.0038136221031306494, + "fXY": 0.8813378042973419, + "fXY_std_err": 0.0059712950689783184 }, "140-141": { - "fCZ": 0.9511730835938327, - "fCZ_std_err": 0.0042502603152546874, - "fCPHASE": 0.9555641544705441, - "fCPHASE_std_err": 0.004702242153459273, - "fXY": 0.9848140953586731, - "fXY_std_err": 0.002353118536944824 + "fCZ": 0.9511730835938327, + "fCZ_std_err": 0.0042502603152546874, + "fCPHASE": 0.9555641544705441, + "fCPHASE_std_err": 0.004702242153459273, + "fXY": 0.9848140953586731, + "fXY_std_err": 0.002353118536944824 }, "1-2": { - "fCZ": 0.8661716063568727, - "fCZ_std_err": 0.008992785674348013, - "fCPHASE": 0.7963207321886621, - "fCPHASE_std_err": 0.011573697735664029, - "fXY": 0.8183915946649465, - "fXY_std_err": 0.008427820942274475 + "fCZ": 0.8661716063568727, + "fCZ_std_err": 0.008992785674348013, + "fCPHASE": 0.7963207321886621, + "fCPHASE_std_err": 0.011573697735664029, + "fXY": 0.8183915946649465, + "fXY_std_err": 0.008427820942274475 }, "101-102": { - "fXY": 0.9407684735239689, - "fXY_std_err": 0.009745089625842272 + "fXY": 0.9407684735239689, + "fXY_std_err": 0.009745089625842272 }, "11-12": { - "fCZ": 0.9519244392366393, - "fCZ_std_err": 0.007718482267789872, - "fCPHASE": 0.8965452414665172, - "fCPHASE_std_err": 0.0055912908753132755, - "fXY": 0.9681854393219447, - "fXY_std_err": 0.005619162726666191 + "fCZ": 0.9519244392366393, + "fCZ_std_err": 0.007718482267789872, + "fCPHASE": 0.8965452414665172, + "fCPHASE_std_err": 0.0055912908753132755, + "fXY": 0.9681854393219447, + "fXY_std_err": 0.005619162726666191 }, "111-112": { - "fCZ": 0.8984600745631368, - "fCZ_std_err": 0.006577305015218702, - "fCPHASE": 0.8922184795990092, - "fCPHASE_std_err": 0.005900692700539048, - "fXY": 0.9674445185732194, - "fXY_std_err": 0.005348670372644015 + "fCZ": 0.8984600745631368, + "fCZ_std_err": 0.006577305015218702, + "fCPHASE": 0.8922184795990092, + "fCPHASE_std_err": 0.005900692700539048, + "fXY": 0.9674445185732194, + "fXY_std_err": 0.005348670372644015 }, "21-22": { - "fCZ": 0.9531064598360053, - "fCZ_std_err": 0.009429749961803716, - "fCPHASE": 0.8799484607671962, - "fCPHASE_std_err": 0.006583356000303442, - "fXY": 0.8833862919874165, - "fXY_std_err": 0.004521922131692724 + "fCZ": 0.9531064598360053, + "fCZ_std_err": 0.009429749961803716, + "fCPHASE": 0.8799484607671962, + "fCPHASE_std_err": 0.006583356000303442, + "fXY": 0.8833862919874165, + "fXY_std_err": 0.004521922131692724 }, "121-122": { - "fCZ": 0.9632974725738079, - "fCZ_std_err": 0.006903402875778239, - "fCPHASE": 0.869802895903232, - "fCPHASE_std_err": 0.008487971521830225, - "fXY": 0.898574029761559, - "fXY_std_err": 0.004930395605359802 + "fCZ": 0.9632974725738079, + "fCZ_std_err": 0.006903402875778239, + "fCPHASE": 0.869802895903232, + "fCPHASE_std_err": 0.008487971521830225, + "fXY": 0.898574029761559, + "fXY_std_err": 0.004930395605359802 }, "31-32": { - "fCZ": 0.9749562710545099, - "fCZ_std_err": 0.005438102552708571, - "fCPHASE": 0.9574291844960753, - "fCPHASE_std_err": 0.00807047341757759, - "fXY": 0.9691099139351508, - "fXY_std_err": 0.005908060445742746 + "fCZ": 0.9749562710545099, + "fCZ_std_err": 0.005438102552708571, + "fCPHASE": 0.9574291844960753, + "fCPHASE_std_err": 0.00807047341757759, + "fXY": 0.9691099139351508, + "fXY_std_err": 0.005908060445742746 }, "131-132": { - "fCZ": 0.8022424029212519, - "fCZ_std_err": 0.012397556226432144, - "fCPHASE": 0.8410900039049902, - "fCPHASE_std_err": 0.009683661806259364, - "fXY": 0.9641509131962228, - "fXY_std_err": 0.008897547786649102 + "fCZ": 0.8022424029212519, + "fCZ_std_err": 0.012397556226432144, + "fCPHASE": 0.8410900039049902, + "fCPHASE_std_err": 0.009683661806259364, + "fXY": 0.9641509131962228, + "fXY_std_err": 0.008897547786649102 }, "41-42": { - "fCZ": 0.9779275287258516, - "fCZ_std_err": 0.002879844615777592, - "fCPHASE": 0.9818121326013014, - "fCPHASE_std_err": 0.0031155851686161225, - "fXY": 0.9811725251259034, - "fXY_std_err": 0.003046920243784083 + "fCZ": 0.9779275287258516, + "fCZ_std_err": 0.002879844615777592, + "fCPHASE": 0.9818121326013014, + "fCPHASE_std_err": 0.0031155851686161225, + "fXY": 0.9811725251259034, + "fXY_std_err": 0.003046920243784083 }, "141-142": { - "fCZ": 0.8158340489574263, - "fCZ_std_err": 0.011414171670910706, - "fCPHASE": 0.520479436761826, - "fCPHASE_std_err": 0.035284514891173666, - "fXY": 0.850015054741119, - "fXY_std_err": 0.01422194765515955 + "fCZ": 0.8158340489574263, + "fCZ_std_err": 0.011414171670910706, + "fCPHASE": 0.520479436761826, + "fCPHASE_std_err": 0.035284514891173666, + "fXY": 0.850015054741119, + "fXY_std_err": 0.01422194765515955 }, "2-3": { - "fCZ": 0.8157474934595976, - "fCZ_std_err": 0.008691160692946252, - "fCPHASE": 0.808478205074268, - "fCPHASE_std_err": 0.011518514052705478, - "fXY": 0.8436941211797717, - "fXY_std_err": 0.008315680059281768 + "fCZ": 0.8157474934595976, + "fCZ_std_err": 0.008691160692946252, + "fCPHASE": 0.808478205074268, + "fCPHASE_std_err": 0.011518514052705478, + "fXY": 0.8436941211797717, + "fXY_std_err": 0.008315680059281768 }, "102-103": { - "fCZ": 0.9136346309865254, - "fCZ_std_err": 0.004392044989458778, - "fCPHASE": 0.9769755593768591, - "fCPHASE_std_err": 0.007201071020533944, - "fXY": 0.9641783579177879, - "fXY_std_err": 0.007097043978267323 + "fCZ": 0.9136346309865254, + "fCZ_std_err": 0.004392044989458778, + "fCPHASE": 0.9769755593768591, + "fCPHASE_std_err": 0.007201071020533944, + "fXY": 0.9641783579177879, + "fXY_std_err": 0.007097043978267323 }, "12-13": { - "fCZ": 0.981893621367891, - "fCZ_std_err": 0.002817446834737099, - "fCPHASE": 0.9700770858560174, - "fCPHASE_std_err": 0.009046433662122648, - "fXY": 0.9740108645366776, - "fXY_std_err": 0.004093829426945345 + "fCZ": 0.981893621367891, + "fCZ_std_err": 0.002817446834737099, + "fCPHASE": 0.9700770858560174, + "fCPHASE_std_err": 0.009046433662122648, + "fXY": 0.9740108645366776, + "fXY_std_err": 0.004093829426945345 }, "112-113": { - "fCZ": 0.8365211259075176, - "fCZ_std_err": 0.01047927440613234, - "fCPHASE": 0.7720893728787082, - "fCPHASE_std_err": 0.014787538819143414, - "fXY": 0.8263077731739066, - "fXY_std_err": 0.011281842913139868 + "fCZ": 0.8365211259075176, + "fCZ_std_err": 0.01047927440613234, + "fCPHASE": 0.7720893728787082, + "fCPHASE_std_err": 0.014787538819143414, + "fXY": 0.8263077731739066, + "fXY_std_err": 0.011281842913139868 }, "22-23": { - "fCZ": 0.8510367029608177, - "fCZ_std_err": 0.012317125797402689, - "fCPHASE": 0.7658271919468586, - "fCPHASE_std_err": 0.023014581296371017, - "fXY": 0.8272839363590235, - "fXY_std_err": 0.013982256706410122 + "fCZ": 0.8510367029608177, + "fCZ_std_err": 0.012317125797402689, + "fCPHASE": 0.7658271919468586, + "fCPHASE_std_err": 0.023014581296371017, + "fXY": 0.8272839363590235, + "fXY_std_err": 0.013982256706410122 }, "122-123": { - "fCZ": 0.8881666054602684, - "fCZ_std_err": 0.005557443348364504, - "fCPHASE": 0.8941871606653468, - "fCPHASE_std_err": 0.00553511807088736, - "fXY": 0.9224569752389438, - "fXY_std_err": 0.01368862265519627 + "fCZ": 0.8881666054602684, + "fCZ_std_err": 0.005557443348364504, + "fCPHASE": 0.8941871606653468, + "fCPHASE_std_err": 0.00553511807088736, + "fXY": 0.9224569752389438, + "fXY_std_err": 0.01368862265519627 }, "32-33": { - "fCZ": 0.970785215985912, - "fCZ_std_err": 0.005220424559705803, - "fCPHASE": 0.9485150629174635, - "fCPHASE_std_err": 0.00766159339798312, - "fXY": 0.9707806269002607, - "fXY_std_err": 0.005263772239425083 + "fCZ": 0.970785215985912, + "fCZ_std_err": 0.005220424559705803, + "fCPHASE": 0.9485150629174635, + "fCPHASE_std_err": 0.00766159339798312, + "fXY": 0.9707806269002607, + "fXY_std_err": 0.005263772239425083 }, "132-133": { - "fCZ": 0.9162132794491562, - "fCZ_std_err": 0.004117138348620803, - "fCPHASE": 0.8121576393808886, - "fCPHASE_std_err": 0.009787895957375755, - "fXY": 0.8239669633287809, - "fXY_std_err": 0.008416204533292122 + "fCZ": 0.9162132794491562, + "fCZ_std_err": 0.004117138348620803, + "fCPHASE": 0.8121576393808886, + "fCPHASE_std_err": 0.009787895957375755, + "fXY": 0.8239669633287809, + "fXY_std_err": 0.008416204533292122 }, "42-43": { - "fCZ": 0.8300063989396669, - "fCZ_std_err": 0.014460452290115418, - "fCPHASE": 0.8853373625359565, - "fCPHASE_std_err": 0.006871085140222163, - "fXY": 0.9827468739490393, - "fXY_std_err": 0.0040413429834280645 + "fCZ": 0.8300063989396669, + "fCZ_std_err": 0.014460452290115418, + "fCPHASE": 0.8853373625359565, + "fCPHASE_std_err": 0.006871085140222163, + "fXY": 0.9827468739490393, + "fXY_std_err": 0.0040413429834280645 }, "142-143": { - "fCZ": 0.7120929019180673, - "fCZ_std_err": 0.02954353882099402, - "fCPHASE": 0.7562702968400684, - "fCPHASE_std_err": 0.01865608394357641, - "fXY": 0.7836645827848908, - "fXY_std_err": 0.017348346219442107 + "fCZ": 0.7120929019180673, + "fCZ_std_err": 0.02954353882099402, + "fCPHASE": 0.7562702968400684, + "fCPHASE_std_err": 0.01865608394357641, + "fXY": 0.7836645827848908, + "fXY_std_err": 0.017348346219442107 }, "3-4": { - "fCZ": 0.9482432381238229, - "fCZ_std_err": 0.009326677690218839, - "fCPHASE": 0.8961590181951865, - "fCPHASE_std_err": 0.004502613405906507, - "fXY": 0.9452371496179357, - "fXY_std_err": 0.007665715539111835 + "fCZ": 0.9482432381238229, + "fCZ_std_err": 0.009326677690218839, + "fCPHASE": 0.8961590181951865, + "fCPHASE_std_err": 0.004502613405906507, + "fXY": 0.9452371496179357, + "fXY_std_err": 0.007665715539111835 }, "103-104": { - "fCZ": 0.988450572181043, - "fCZ_std_err": 0.002534573486210828, - "fCPHASE": 0.8784289083270062, - "fCPHASE_std_err": 0.01653497375369574, - "fXY": 0.9553996378431662, - "fXY_std_err": 0.007448117689610173 + "fCZ": 0.988450572181043, + "fCZ_std_err": 0.002534573486210828, + "fCPHASE": 0.8784289083270062, + "fCPHASE_std_err": 0.01653497375369574, + "fXY": 0.9553996378431662, + "fXY_std_err": 0.007448117689610173 }, "13-14": { - "fCZ": 0.9656412000544519, - "fCZ_std_err": 0.00564470050491075, - "fCPHASE": 0.876889806596121, - "fCPHASE_std_err": 0.0067197565505599825, - "fXY": 0.8973358517171068, - "fXY_std_err": 0.003895294426693184 + "fCZ": 0.9656412000544519, + "fCZ_std_err": 0.00564470050491075, + "fCPHASE": 0.876889806596121, + "fCPHASE_std_err": 0.0067197565505599825, + "fXY": 0.8973358517171068, + "fXY_std_err": 0.003895294426693184 }, "113-114": { - "fCZ": 0.8377013092167896, - "fCZ_std_err": 0.0099516576223084, - "fCPHASE": 0.8179431095127696, - "fCPHASE_std_err": 0.01182671828811175, - "fXY": 0.8116554020670823, - "fXY_std_err": 0.012692922530915791 + "fCZ": 0.8377013092167896, + "fCZ_std_err": 0.0099516576223084, + "fCPHASE": 0.8179431095127696, + "fCPHASE_std_err": 0.01182671828811175, + "fXY": 0.8116554020670823, + "fXY_std_err": 0.012692922530915791 }, "23-24": { - "fCZ": 0.8249589418208406, - "fCZ_std_err": 0.01107425908048127, - "fCPHASE": 0.7753414975704002, - "fCPHASE_std_err": 0.013128558955271572, - "fXY": 0.8351717296272254, - "fXY_std_err": 0.011318918988902513 + "fCZ": 0.8249589418208406, + "fCZ_std_err": 0.01107425908048127, + "fCPHASE": 0.7753414975704002, + "fCPHASE_std_err": 0.013128558955271572, + "fXY": 0.8351717296272254, + "fXY_std_err": 0.011318918988902513 }, "123-124": { - "fCZ": 0.8518326299550893, - "fCZ_std_err": 0.009117423254404573, - "fCPHASE": 0.8297424701005415, - "fCPHASE_std_err": 0.008370963245655446, - "fXY": 0.9696294029315987, - "fXY_std_err": 0.006673272315754966 + "fCZ": 0.8518326299550893, + "fCZ_std_err": 0.009117423254404573, + "fCPHASE": 0.8297424701005415, + "fCPHASE_std_err": 0.008370963245655446, + "fXY": 0.9696294029315987, + "fXY_std_err": 0.006673272315754966 }, "33-34": { - "fCZ": 0.9819945915286151, - "fCZ_std_err": 0.004352196721827535, - "fCPHASE": 0.9448337979269854, - "fCPHASE_std_err": 0.008522518407311021, - "fXY": 0.9698324843671441, - "fXY_std_err": 0.007178076071785812 + "fCZ": 0.9819945915286151, + "fCZ_std_err": 0.004352196721827535, + "fCPHASE": 0.9448337979269854, + "fCPHASE_std_err": 0.008522518407311021, + "fXY": 0.9698324843671441, + "fXY_std_err": 0.007178076071785812 }, "133-134": { - "fCZ": 0.859050528665709, - "fCZ_std_err": 0.010574506915036969, - "fCPHASE": 0.8626385235291038, - "fCPHASE_std_err": 0.009808764756017205, - "fXY": 0.9249209781287578, - "fXY_std_err": 0.009830633549699559 + "fCZ": 0.859050528665709, + "fCZ_std_err": 0.010574506915036969, + "fCPHASE": 0.8626385235291038, + "fCPHASE_std_err": 0.009808764756017205, + "fXY": 0.9249209781287578, + "fXY_std_err": 0.009830633549699559 }, "43-44": { - "fCZ": 0.8330482400668461, - "fCZ_std_err": 0.010013877187213525, - "fCPHASE": 0.7838917873786777, - "fCPHASE_std_err": 0.011610831822490232, - "fXY": 0.7732785060331436, - "fXY_std_err": 0.013318761541818446 + "fCZ": 0.8330482400668461, + "fCZ_std_err": 0.010013877187213525, + "fCPHASE": 0.7838917873786777, + "fCPHASE_std_err": 0.011610831822490232, + "fXY": 0.7732785060331436, + "fXY_std_err": 0.013318761541818446 }, "143-144": { - "fCZ": 0.9521891948591013, - "fCZ_std_err": 0.009347652224953576, - "fCPHASE": 0.8978730669023317, - "fCPHASE_std_err": 0.007537604649187688, - "fXY": 0.957869167010712, - "fXY_std_err": 0.008253250416707467 + "fCZ": 0.9521891948591013, + "fCZ_std_err": 0.009347652224953576, + "fCPHASE": 0.8978730669023317, + "fCPHASE_std_err": 0.007537604649187688, + "fXY": 0.957869167010712, + "fXY_std_err": 0.008253250416707467 }, "4-5": { - "fCZ": 0.9203875016458946, - "fCZ_std_err": 0.003945899312381095, - "fCPHASE": 0.8985024052840613, - "fCPHASE_std_err": 0.004856669091147067, - "fXY": 0.8925191784179932, - "fXY_std_err": 0.003702194344612207 + "fCZ": 0.9203875016458946, + "fCZ_std_err": 0.003945899312381095, + "fCPHASE": 0.8985024052840613, + "fCPHASE_std_err": 0.004856669091147067, + "fXY": 0.8925191784179932, + "fXY_std_err": 0.003702194344612207 }, "104-105": { - "fCZ": 0.743759308175249, - "fCZ_std_err": 0.014192217679716639, - "fCPHASE": 0.7396457654333167, - "fCPHASE_std_err": 0.0082299901390809, - "fXY": 0.8026419697655902, - "fXY_std_err": 0.010871205035441806 + "fCZ": 0.743759308175249, + "fCZ_std_err": 0.014192217679716639, + "fCPHASE": 0.7396457654333167, + "fCPHASE_std_err": 0.0082299901390809, + "fXY": 0.8026419697655902, + "fXY_std_err": 0.010871205035441806 }, "14-15": { - "fCZ": 0.92932175264324, - "fCZ_std_err": 0.009132108475223657, - "fCPHASE": 0.9722198591114526, - "fCPHASE_std_err": 0.004681232660304156 + "fCZ": 0.92932175264324, + "fCZ_std_err": 0.009132108475223657, + "fCPHASE": 0.9722198591114526, + "fCPHASE_std_err": 0.004681232660304156 }, "114-115": { - "fCZ": 0.8237445927057577, - "fCZ_std_err": 0.012943531495738727, - "fCPHASE": 0.8290430386781533, - "fCPHASE_std_err": 0.015100933067483438, - "fXY": 0.9607520601107147, - "fXY_std_err": 0.007308069129261036 + "fCZ": 0.8237445927057577, + "fCZ_std_err": 0.012943531495738727, + "fCPHASE": 0.8290430386781533, + "fCPHASE_std_err": 0.015100933067483438, + "fXY": 0.9607520601107147, + "fXY_std_err": 0.007308069129261036 }, "24-25": { - "fCZ": 0.8149429482079001, - "fCZ_std_err": 0.011398646419018494, - "fCPHASE": 0.7327658722571201, - "fCPHASE_std_err": 0.01915352134692579, - "fXY": 0.8692279714179892, - "fXY_std_err": 0.010077106922959432 + "fCZ": 0.8149429482079001, + "fCZ_std_err": 0.011398646419018494, + "fCPHASE": 0.7327658722571201, + "fCPHASE_std_err": 0.01915352134692579, + "fXY": 0.8692279714179892, + "fXY_std_err": 0.010077106922959432 }, "124-125": { - "fCZ": 0.8850279747115539, - "fCZ_std_err": 0.006339181887297688, - "fCPHASE": 0.8682166770048722, - "fCPHASE_std_err": 0.00690671695039884, - "fXY": 0.9635024436562802, - "fXY_std_err": 0.0072804706822263525 + "fCZ": 0.8850279747115539, + "fCZ_std_err": 0.006339181887297688, + "fCPHASE": 0.8682166770048722, + "fCPHASE_std_err": 0.00690671695039884, + "fXY": 0.9635024436562802, + "fXY_std_err": 0.0072804706822263525 }, "34-35": { - "fCZ": 0.9810522188735024, - "fCZ_std_err": 0.01171078811254592, - "fCPHASE": 0.9467765835842877, - "fCPHASE_std_err": 0.014516500388134339, - "fXY": 0.9534717596352787, - "fXY_std_err": 0.018205547491469853 + "fCZ": 0.9810522188735024, + "fCZ_std_err": 0.01171078811254592, + "fCPHASE": 0.9467765835842877, + "fCPHASE_std_err": 0.014516500388134339, + "fXY": 0.9534717596352787, + "fXY_std_err": 0.018205547491469853 }, "134-135": { - "fCZ": 0.8944581445495704, - "fCZ_std_err": 0.019820097206996207, - "fCPHASE": 0.8465599840247061, - "fCPHASE_std_err": 0.011237245650204515, - "fXY": 0.9887799536468539, - "fXY_std_err": 0.003234996881258538 + "fCZ": 0.8944581445495704, + "fCZ_std_err": 0.019820097206996207, + "fCPHASE": 0.8465599840247061, + "fCPHASE_std_err": 0.011237245650204515, + "fXY": 0.9887799536468539, + "fXY_std_err": 0.003234996881258538 }, "44-45": { - "fCZ": 0.8214988749556251, - "fCZ_std_err": 0.00994257804148725, - "fCPHASE": 0.7597248855264909, - "fCPHASE_std_err": 0.0198478222755277, - "fXY": 0.8799889691941926, - "fXY_std_err": 0.009457231477950802 + "fCZ": 0.8214988749556251, + "fCZ_std_err": 0.00994257804148725, + "fCPHASE": 0.7597248855264909, + "fCPHASE_std_err": 0.0198478222755277, + "fXY": 0.8799889691941926, + "fXY_std_err": 0.009457231477950802 }, "144-145": { - "fCZ": 0.9557462928130973, - "fCZ_std_err": 0.008654882090831198, - "fCPHASE": 0.7702448662476453, - "fCPHASE_std_err": 0.022069411492136533, - "fXY": 0.9708786075092636, - "fXY_std_err": 0.005360749644961948 + "fCZ": 0.9557462928130973, + "fCZ_std_err": 0.008654882090831198, + "fCPHASE": 0.7702448662476453, + "fCPHASE_std_err": 0.022069411492136533, + "fXY": 0.9708786075092636, + "fXY_std_err": 0.005360749644961948 }, "5-6": { - "fCZ": 0.97920068171402, - "fCZ_std_err": 0.003522998794112177, - "fCPHASE": 0.9500860542087995, - "fCPHASE_std_err": 0.008407865492276458, - "fXY": 0.8651749014511333, - "fXY_std_err": 0.008464347294423193 + "fCZ": 0.97920068171402, + "fCZ_std_err": 0.003522998794112177, + "fCPHASE": 0.9500860542087995, + "fCPHASE_std_err": 0.008407865492276458, + "fXY": 0.8651749014511333, + "fXY_std_err": 0.008464347294423193 }, "105-106": { - "fXY": 0.8285546572246738, - "fXY_std_err": 0.01034032847629725 + "fXY": 0.8285546572246738, + "fXY_std_err": 0.01034032847629725 }, "15-16": { - "fXY": 0.9284753112888499, - "fXY_std_err": 0.008944661047194791 + "fXY": 0.9284753112888499, + "fXY_std_err": 0.008944661047194791 }, "25-26": { - "fCZ": 0.8045395702493906, - "fCZ_std_err": 0.010305264805201607, - "fCPHASE": 0.7019480149828503, - "fCPHASE_std_err": 0.019094691451480458 + "fCZ": 0.8045395702493906, + "fCZ_std_err": 0.010305264805201607, + "fCPHASE": 0.7019480149828503, + "fCPHASE_std_err": 0.019094691451480458 }, "125-126": { - "fXY": 0.9601203110333834, - "fXY_std_err": 0.008702579948895657 + "fXY": 0.9601203110333834, + "fXY_std_err": 0.008702579948895657 }, "35-36": { - "fCZ": 0.9343283003480468, - "fCZ_std_err": 0.015193833047230825, - "fCPHASE": 0.9219937988949445, - "fCPHASE_std_err": 0.01682747716808388, - "fXY": 0.9803766009620039, - "fXY_std_err": 0.009433587473748358 + "fCZ": 0.9343283003480468, + "fCZ_std_err": 0.015193833047230825, + "fCPHASE": 0.9219937988949445, + "fCPHASE_std_err": 0.01682747716808388, + "fXY": 0.9803766009620039, + "fXY_std_err": 0.009433587473748358 }, "45-46": { - "fCZ": 0.7419889491171454, - "fCZ_std_err": 0.024685750809203096, - "fCPHASE": 0.5548458483528721, - "fCPHASE_std_err": 0.0869402376382943, - "fXY": 0.6270324110778965, - "fXY_std_err": 0.0395699348650688 + "fCZ": 0.7419889491171454, + "fCZ_std_err": 0.024685750809203096, + "fCPHASE": 0.5548458483528721, + "fCPHASE_std_err": 0.0869402376382943, + "fXY": 0.6270324110778965, + "fXY_std_err": 0.0395699348650688 }, "145-146": { - "fCZ": 0.9734631494740935, - "fCZ_std_err": 0.005376560811513314, - "fCPHASE": 0.9611610200446888, - "fCPHASE_std_err": 0.008722690741967335, - "fXY": 0.846604942443961, - "fXY_std_err": 0.008279418017560679 + "fCZ": 0.9734631494740935, + "fCZ_std_err": 0.005376560811513314, + "fCPHASE": 0.9611610200446888, + "fCPHASE_std_err": 0.008722690741967335, + "fXY": 0.846604942443961, + "fXY_std_err": 0.008279418017560679 }, "106-107": { - "fCZ": 0.9606129658138876, - "fCZ_std_err": 0.006855033253372123, - "fCPHASE": 0.9507529795718652, - "fCPHASE_std_err": 0.006349215187459163, - "fXY": 0.9691962721246025, - "fXY_std_err": 0.003906805195075843 + "fCZ": 0.9606129658138876, + "fCZ_std_err": 0.006855033253372123, + "fCPHASE": 0.9507529795718652, + "fCPHASE_std_err": 0.006349215187459163, + "fXY": 0.9691962721246025, + "fXY_std_err": 0.003906805195075843 }, "16-17": { - "fCZ": 0.8228938626708487, - "fCZ_std_err": 0.013668433666353142, - "fCPHASE": 0.5687938289867207, - "fCPHASE_std_err": 0.03691816342988419, - "fXY": 0.8901681033584581, - "fXY_std_err": 0.005623810759765808 + "fCZ": 0.8228938626708487, + "fCZ_std_err": 0.013668433666353142, + "fCPHASE": 0.5687938289867207, + "fCPHASE_std_err": 0.03691816342988419, + "fXY": 0.8901681033584581, + "fXY_std_err": 0.005623810759765808 }, "116-117": { - "fXY": 0.817671927321888, - "fXY_std_err": 0.017845382054207604 + "fXY": 0.817671927321888, + "fXY_std_err": 0.017845382054207604 }, "26-27": { - "fCZ": 0.8449649392485367, - "fCZ_std_err": 0.012230337332503055, - "fCPHASE": 0.8846950881171817, - "fCPHASE_std_err": 0.00754263347185179, - "fXY": 0.9698359435717033, - "fXY_std_err": 0.004995849435729705 + "fCZ": 0.8449649392485367, + "fCZ_std_err": 0.012230337332503055, + "fCPHASE": 0.8846950881171817, + "fCPHASE_std_err": 0.00754263347185179, + "fXY": 0.9698359435717033, + "fXY_std_err": 0.004995849435729705 }, "126-127": { - "fCZ": 0.8975885851704277, - "fCZ_std_err": 0.005179429915823619, - "fCPHASE": 0.8753655850944895, - "fCPHASE_std_err": 0.005824609958838502, - "fXY": 0.8855528301010059, - "fXY_std_err": 0.004996679055767137 + "fCZ": 0.8975885851704277, + "fCZ_std_err": 0.005179429915823619, + "fCPHASE": 0.8753655850944895, + "fCPHASE_std_err": 0.005824609958838502, + "fXY": 0.8855528301010059, + "fXY_std_err": 0.004996679055767137 }, "36-37": { - "fCZ": 0.963915517447576, - "fCZ_std_err": 0.0055398585078009965, - "fCPHASE": 0.9469574800901084, - "fCPHASE_std_err": 0.008426169194325388, - "fXY": 0.967832273660681, - "fXY_std_err": 0.004435951451652042 + "fCZ": 0.963915517447576, + "fCZ_std_err": 0.0055398585078009965, + "fCPHASE": 0.9469574800901084, + "fCPHASE_std_err": 0.008426169194325388, + "fXY": 0.967832273660681, + "fXY_std_err": 0.004435951451652042 }, "46-47": { - "fXY": 0.7873373940264515, - "fXY_std_err": 0.024195554606154097 + "fXY": 0.7873373940264515, + "fXY_std_err": 0.024195554606154097 }, "146-147": { - "fCZ": 0.8908407234842728, - "fCZ_std_err": 0.004597414717670822, - "fCPHASE": 0.8205954151541845, - "fCPHASE_std_err": 0.01032177940176636, - "fXY": 0.869177214419277, - "fXY_std_err": 0.005458073589014093 + "fCZ": 0.8908407234842728, + "fCZ_std_err": 0.004597414717670822, + "fCPHASE": 0.8205954151541845, + "fCPHASE_std_err": 0.01032177940176636, + "fXY": 0.869177214419277, + "fXY_std_err": 0.005458073589014093 }, "0-7": { - "fCZ": 0.9492951684331394, - "fCZ_std_err": 0.007599401778496484, - "fCPHASE": 0.8955247071828112, - "fCPHASE_std_err": 0.00614056463501102 + "fCZ": 0.9492951684331394, + "fCZ_std_err": 0.007599401778496484, + "fCPHASE": 0.8955247071828112, + "fCPHASE_std_err": 0.00614056463501102 }, "100-107": { - "fCZ": 0.983695028778175, - "fCZ_std_err": 0.0033504702670214435, - "fCPHASE": 0.9764499156313338, - "fCPHASE_std_err": 0.004002631286931796, - "fXY": 0.9763827126670682, - "fXY_std_err": 0.004148134821876564 + "fCZ": 0.983695028778175, + "fCZ_std_err": 0.0033504702670214435, + "fCPHASE": 0.9764499156313338, + "fCPHASE_std_err": 0.004002631286931796, + "fXY": 0.9763827126670682, + "fXY_std_err": 0.004148134821876564 }, "10-17": { - "fCZ": 0.9650082187719973, - "fCZ_std_err": 0.005421237208805902, - "fCPHASE": 0.9466407431376556, - "fCPHASE_std_err": 0.007975933812818567, - "fXY": 0.9768639050018225, - "fXY_std_err": 0.009649818450346468 + "fCZ": 0.9650082187719973, + "fCZ_std_err": 0.005421237208805902, + "fCPHASE": 0.9466407431376556, + "fCPHASE_std_err": 0.007975933812818567, + "fXY": 0.9768639050018225, + "fXY_std_err": 0.009649818450346468 }, "110-117": { - "fCZ": 0.8843625009416266, - "fCZ_std_err": 0.005426362962190917, - "fCPHASE": 0.8174596373335933, - "fCPHASE_std_err": 0.008938776522521613, - "fXY": 0.9551138371441378, - "fXY_std_err": 0.006520512267118425 + "fCZ": 0.8843625009416266, + "fCZ_std_err": 0.005426362962190917, + "fCPHASE": 0.8174596373335933, + "fCPHASE_std_err": 0.008938776522521613, + "fXY": 0.9551138371441378, + "fXY_std_err": 0.006520512267118425 }, "20-27": { - "fCZ": 0.8291560632729612, - "fCZ_std_err": 0.013692157557331042, - "fCPHASE": 0.857937522825123, - "fCPHASE_std_err": 0.012251892555088129, - "fXY": 0.8427727306377318, - "fXY_std_err": 0.012716395002036423 + "fCZ": 0.8291560632729612, + "fCZ_std_err": 0.013692157557331042, + "fCPHASE": 0.857937522825123, + "fCPHASE_std_err": 0.012251892555088129, + "fXY": 0.8427727306377318, + "fXY_std_err": 0.012716395002036423 }, "120-127": { - "fCZ": 0.9476582492668468, - "fCZ_std_err": 0.0080015440776599, - "fCPHASE": 0.9186396733647348, - "fCPHASE_std_err": 0.004273652287860344, - "fXY": 0.9868104369089571, - "fXY_std_err": 0.0022327772815598254 + "fCZ": 0.9476582492668468, + "fCZ_std_err": 0.0080015440776599, + "fCPHASE": 0.9186396733647348, + "fCPHASE_std_err": 0.004273652287860344, + "fXY": 0.9868104369089571, + "fXY_std_err": 0.0022327772815598254 }, "30-37": { - "fCZ": 0.9858288657580013, - "fCZ_std_err": 0.0025699750240294815, - "fCPHASE": 0.9700004690058286, - "fCPHASE_std_err": 0.00793717023623821, - "fXY": 0.9808292281641949, - "fXY_std_err": 0.0026840153092819894 + "fCZ": 0.9858288657580013, + "fCZ_std_err": 0.0025699750240294815, + "fCPHASE": 0.9700004690058286, + "fCPHASE_std_err": 0.00793717023623821, + "fXY": 0.9808292281641949, + "fXY_std_err": 0.0026840153092819894 }, "130-137": { - "fCZ": 0.9328374618156775, - "fCZ_std_err": 0.014278327644596968, - "fCPHASE": 0.9003507614349272, - "fCPHASE_std_err": 0.00597392472263965, - "fXY": 0.9866390133731839, - "fXY_std_err": 0.00374545940929314 + "fCZ": 0.9328374618156775, + "fCZ_std_err": 0.014278327644596968, + "fCPHASE": 0.9003507614349272, + "fCPHASE_std_err": 0.00597392472263965, + "fXY": 0.9866390133731839, + "fXY_std_err": 0.00374545940929314 }, "40-47": { - "fXY": 0.899851814876584, - "fXY_std_err": 0.004301621462561964 + "fXY": 0.899851814876584, + "fXY_std_err": 0.004301621462561964 }, "140-147": { - "fCZ": 0.9843755548635449, - "fCZ_std_err": 0.00208248656419953, - "fCPHASE": 0.9785701154625548, - "fCPHASE_std_err": 0.003417824673235628, - "fXY": 0.9799559513699908, - "fXY_std_err": 0.0028795682542284463 + "fCZ": 0.9843755548635449, + "fCZ_std_err": 0.00208248656419953, + "fCPHASE": 0.9785701154625548, + "fCPHASE_std_err": 0.003417824673235628, + "fXY": 0.9799559513699908, + "fXY_std_err": 0.0028795682542284463 }, "2-15": { - "fXY": 0.8257966034533853, - "fXY_std_err": 0.008035634364026586 + "fXY": 0.8257966034533853, + "fXY_std_err": 0.008035634364026586 }, "102-115": { - "fCZ": 0.90428870687461, - "fCZ_std_err": 0.020503458458343508, - "fCPHASE": 0.9415462595700675, - "fCPHASE_std_err": 0.009788463641210629, - "fXY": 0.9739857234220792, - "fXY_std_err": 0.003987119902613624 + "fCZ": 0.90428870687461, + "fCZ_std_err": 0.020503458458343508, + "fCPHASE": 0.9415462595700675, + "fCPHASE_std_err": 0.009788463641210629, + "fXY": 0.9739857234220792, + "fXY_std_err": 0.003987119902613624 }, "12-25": { - "fCZ": 0.7813105679013022, - "fCZ_std_err": 0.01552896974412973, - "fCPHASE": 0.8931619745896867, - "fCPHASE_std_err": 0.004510419010624067, - "fXY": 0.9781180345093737, - "fXY_std_err": 0.007205886826577885 + "fCZ": 0.7813105679013022, + "fCZ_std_err": 0.01552896974412973, + "fCPHASE": 0.8931619745896867, + "fCPHASE_std_err": 0.004510419010624067, + "fXY": 0.9781180345093737, + "fXY_std_err": 0.007205886826577885 }, "112-125": { - "fCZ": 0.866401168304546, - "fCZ_std_err": 0.009037495134108248, - "fCPHASE": 0.8544056525485292, - "fCPHASE_std_err": 0.00909970397147449, - "fXY": 0.8741058487585631, - "fXY_std_err": 0.007969672637076094 + "fCZ": 0.866401168304546, + "fCZ_std_err": 0.009037495134108248, + "fCPHASE": 0.8544056525485292, + "fCPHASE_std_err": 0.00909970397147449, + "fXY": 0.8741058487585631, + "fXY_std_err": 0.007969672637076094 }, "22-35": { - "fCZ": 0.9332999558779204, - "fCZ_std_err": 0.013849983988056586, - "fCPHASE": 0.8220708411754836, - "fCPHASE_std_err": 0.015940681702676637 + "fCZ": 0.9332999558779204, + "fCZ_std_err": 0.013849983988056586, + "fCPHASE": 0.8220708411754836, + "fCPHASE_std_err": 0.015940681702676637 }, "122-135": { - "fCZ": 0.9561954588630328, - "fCZ_std_err": 0.008385581660608718, - "fCPHASE": 0.9383144810076174, - "fCPHASE_std_err": 0.010758200664488475, - "fXY": 0.9667568907034786, - "fXY_std_err": 0.007671703395620006 + "fCZ": 0.9561954588630328, + "fCZ_std_err": 0.008385581660608718, + "fCPHASE": 0.9383144810076174, + "fCPHASE_std_err": 0.010758200664488475, + "fXY": 0.9667568907034786, + "fXY_std_err": 0.007671703395620006 }, "32-45": { - "fCZ": 0.872202824361223, - "fCZ_std_err": 0.008002229687173302, - "fCPHASE": 0.9379651409263667, - "fCPHASE_std_err": 0.01408449913725684, - "fXY": 0.860457668998611, - "fXY_std_err": 0.00756504352267765 + "fCZ": 0.872202824361223, + "fCZ_std_err": 0.008002229687173302, + "fCPHASE": 0.9379651409263667, + "fCPHASE_std_err": 0.01408449913725684, + "fXY": 0.860457668998611, + "fXY_std_err": 0.00756504352267765 }, "132-145": { - "fCZ": 0.9470629064675832, - "fCZ_std_err": 0.00863776293586263, - "fCPHASE": 0.855504627576839, - "fCPHASE_std_err": 0.006970672615688262, - "fXY": 0.8781177862150363, - "fXY_std_err": 0.006199999961252495 + "fCZ": 0.9470629064675832, + "fCZ_std_err": 0.00863776293586263, + "fCPHASE": 0.855504627576839, + "fCPHASE_std_err": 0.006970672615688262, + "fXY": 0.8781177862150363, + "fXY_std_err": 0.006199999961252495 }, "1-16": { - "fCZ": 0.9605008246500971, - "fCZ_std_err": 0.007839548466049808, - "fCPHASE": 0.9228304832458268, - "fCPHASE_std_err": 0.00330679576433068, - "fXY": 0.9687399523778342, - "fXY_std_err": 0.005682237504546618 + "fCZ": 0.9605008246500971, + "fCZ_std_err": 0.007839548466049808, + "fCPHASE": 0.9228304832458268, + "fCPHASE_std_err": 0.00330679576433068, + "fXY": 0.9687399523778342, + "fXY_std_err": 0.005682237504546618 }, "111-126": { - "fCZ": 0.8501038576336558, - "fCZ_std_err": 0.013367543727036812, - "fCPHASE": 0.8333170521372398, - "fCPHASE_std_err": 0.011114802456068648, - "fXY": 0.8423376211583773, - "fXY_std_err": 0.013090113551669088 + "fCZ": 0.8501038576336558, + "fCZ_std_err": 0.013367543727036812, + "fCPHASE": 0.8333170521372398, + "fCPHASE_std_err": 0.011114802456068648, + "fXY": 0.8423376211583773, + "fXY_std_err": 0.013090113551669088 }, "21-36": { - "fCZ": 0.950986764070733, - "fCZ_std_err": 0.009124812986593124, - "fCPHASE": 0.955557597824076, - "fCPHASE_std_err": 0.008007903489449296, - "fXY": 0.9667202053025852, - "fXY_std_err": 0.007153649331565315 + "fCZ": 0.950986764070733, + "fCZ_std_err": 0.009124812986593124, + "fCPHASE": 0.955557597824076, + "fCPHASE_std_err": 0.008007903489449296, + "fXY": 0.9667202053025852, + "fXY_std_err": 0.007153649331565315 }, "31-46": { - "fCZ": 0.8002575520969758, - "fCZ_std_err": 0.022055120525759028, - "fCPHASE": 0.8096165561352453, - "fCPHASE_std_err": 0.021493677821151646, - "fXY": 0.7915032708032967, - "fXY_std_err": 0.024015821539729424 + "fCZ": 0.8002575520969758, + "fCZ_std_err": 0.022055120525759028, + "fCPHASE": 0.8096165561352453, + "fCPHASE_std_err": 0.021493677821151646, + "fXY": 0.7915032708032967, + "fXY_std_err": 0.024015821539729424 }, "131-146": { - "fXY": 0.9636159516135971, - "fXY_std_err": 0.007473185104329904 + "fXY": 0.9636159516135971, + "fXY_std_err": 0.007473185104329904 }, "7-104": { - "fCZ": 0.9317227665912846, - "fCZ_std_err": 0.017017267745790324, - "fCPHASE": 0.8833538263969575, - "fCPHASE_std_err": 0.025376487858009656, - "fXY": 0.927346504597264, - "fXY_std_err": 0.010934290748425146 + "fCZ": 0.9317227665912846, + "fCZ_std_err": 0.017017267745790324, + "fCPHASE": 0.8833538263969575, + "fCPHASE_std_err": 0.025376487858009656, + "fXY": 0.927346504597264, + "fXY_std_err": 0.010934290748425146 }, "17-114": { - "fXY": 0.8381919841619333, - "fXY_std_err": 0.014913920721674195 + "fXY": 0.8381919841619333, + "fXY_std_err": 0.014913920721674195 }, "27-124": { - "fCZ": 0.8293486592732632, - "fCZ_std_err": 0.01602864083527247, - "fCPHASE": 0.8464114475069786, - "fCPHASE_std_err": 0.012752775507364832, - "fXY": 0.7962715487836075, - "fXY_std_err": 0.009817785226883988 + "fCZ": 0.8293486592732632, + "fCZ_std_err": 0.01602864083527247, + "fCPHASE": 0.8464114475069786, + "fCPHASE_std_err": 0.012752775507364832, + "fXY": 0.7962715487836075, + "fXY_std_err": 0.009817785226883988 }, "37-134": { - "fXY": 0.95317205389002, - "fXY_std_err": 0.007670379229089973 + "fXY": 0.95317205389002, + "fXY_std_err": 0.007670379229089973 }, "47-144": { - "fCZ": 0.8388122337233748, - "fCZ_std_err": 0.013025733666418021, - "fCPHASE": 0.6992804907525489, - "fCPHASE_std_err": 0.023361477732881487, - "fXY": 0.838312838371346, - "fXY_std_err": 0.01278405246965566 + "fCZ": 0.8388122337233748, + "fCZ_std_err": 0.013025733666418021, + "fCPHASE": 0.6992804907525489, + "fCPHASE_std_err": 0.023361477732881487, + "fXY": 0.838312838371346, + "fXY_std_err": 0.01278405246965566 }, "0-103": { - "fCZ": 0.9551133243354948, - "fCZ_std_err": 0.006357953266291295, - "fCPHASE": 0.9386634883086115, - "fCPHASE_std_err": 0.010631314360044407, - "fXY": 0.9535278568741863, - "fXY_std_err": 0.0066541993598629575 + "fCZ": 0.9551133243354948, + "fCZ_std_err": 0.006357953266291295, + "fCPHASE": 0.9386634883086115, + "fCPHASE_std_err": 0.010631314360044407, + "fXY": 0.9535278568741863, + "fXY_std_err": 0.0066541993598629575 }, "10-113": { - "fCZ": 0.8474232244818282, - "fCZ_std_err": 0.010168918217048805, - "fCPHASE": 0.6055855758052217, - "fCPHASE_std_err": 0.03647704352498973, - "fXY": 0.8262741583414946, - "fXY_std_err": 0.012226802426465531 + "fCZ": 0.8474232244818282, + "fCZ_std_err": 0.010168918217048805, + "fCPHASE": 0.6055855758052217, + "fCPHASE_std_err": 0.03647704352498973, + "fXY": 0.8262741583414946, + "fXY_std_err": 0.012226802426465531 }, "20-123": { - "fXY": 0.9834348123006916, - "fXY_std_err": 0.013299695825637331 + "fXY": 0.9834348123006916, + "fXY_std_err": 0.013299695825637331 }, "30-133": { - "fXY": 0.9692833024227209, - "fXY_std_err": 0.0054492367264791074 + "fXY": 0.9692833024227209, + "fXY_std_err": 0.0054492367264791074 }, "40-143": { - "fCZ": 0.868972694718272, - "fCZ_std_err": 0.01061464822390499, - "fCPHASE": 0.8568328221732961, - "fCPHASE_std_err": 0.010312717536714769, - "fXY": 0.8510346993748032, - "fXY_std_err": 0.006644213537696349 + "fCZ": 0.868972694718272, + "fCZ_std_err": 0.01061464822390499, + "fCPHASE": 0.8568328221732961, + "fCPHASE_std_err": 0.010312717536714769, + "fXY": 0.8510346993748032, + "fXY_std_err": 0.006644213537696349 } - } + } } }, "standardized": { @@ -8114,7 +8114,7 @@ "name": "braket.device_schema.pulse.pulse_device_action_properties", "version": "1" }, - "nativeGateCalibrationsRef": "https://dsq6c4wdong7p.cloudfront.net/native_gate_calibrations/device:arn:aws:braket:us-west-1::device/qpu/rigetti/Aspen-M-3?versionId=.sbF0vCCQLMmN2bPi_YILDyNv7VUJUut", + "nativeGateCalibrationsRef": "https://dsq6c4wdong7p.cloudfront.net/native_gate_calibrations/device:arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2?versionId=.sbF0vCCQLMmN2bPi_YILDyNv7VUJUut", "supportedQhpTemplateWaveforms": { "constant": { "functionName": "constant", @@ -8414,3016 +8414,3016 @@ }, "ports": { "q0_ff": { - "portId": "q0_ff", - "direction": "tx", - "portType": "ff", - "dt": 1E-9, - "centerFrequencies": [ - 375000000.0 - ] + "portId": "q0_ff", + "direction": "tx", + "portType": "ff", + "dt": 1E-9, + "centerFrequencies": [ + 375000000.0 + ] }, "q2_ff": { - "portId": "q2_ff", - "direction": "tx", - "portType": "ff", - "dt": 1E-9, - "centerFrequencies": [ - 375000000.0 - ] + "portId": "q2_ff", + "direction": "tx", + "portType": "ff", + "dt": 1E-9, + "centerFrequencies": [ + 375000000.0 + ] }, "q16_ff": { - "portId": "q16_ff", - "direction": "tx", - "portType": "ff", - "dt": 1E-9, - "centerFrequencies": [ - 375000000.0 - ] + "portId": "q16_ff", + "direction": "tx", + "portType": "ff", + "dt": 1E-9, + "centerFrequencies": [ + 375000000.0 + ] }, "q4_ff": { - "portId": "q4_ff", - "direction": "tx", - "portType": "ff", - "dt": 1E-9, - "centerFrequencies": [ - 375000000.0 - ] + "portId": "q4_ff", + "direction": "tx", + "portType": "ff", + "dt": 1E-9, + "centerFrequencies": [ + 375000000.0 + ] }, "q6_ff": { - "portId": "q6_ff", - "direction": "tx", - "portType": "ff", - "dt": 1E-9, - "centerFrequencies": [ - 375000000.0 - ] + "portId": "q6_ff", + "direction": "tx", + "portType": "ff", + "dt": 1E-9, + "centerFrequencies": [ + 375000000.0 + ] }, "q104_ff": { - "portId": "q104_ff", - "direction": "tx", - "portType": "ff", - "dt": 1E-9, - "centerFrequencies": [ - 375000000.0 - ] + "portId": "q104_ff", + "direction": "tx", + "portType": "ff", + "dt": 1E-9, + "centerFrequencies": [ + 375000000.0 + ] }, "q10_ff": { - "portId": "q10_ff", - "direction": "tx", - "portType": "ff", - "dt": 1E-9, - "centerFrequencies": [ - 375000000.0 - ] + "portId": "q10_ff", + "direction": "tx", + "portType": "ff", + "dt": 1E-9, + "centerFrequencies": [ + 375000000.0 + ] }, "q12_ff": { - "portId": "q12_ff", - "direction": "tx", - "portType": "ff", - "dt": 1E-9, - "centerFrequencies": [ - 375000000.0 - ] + "portId": "q12_ff", + "direction": "tx", + "portType": "ff", + "dt": 1E-9, + "centerFrequencies": [ + 375000000.0 + ] }, "q14_ff": { - "portId": "q14_ff", - "direction": "tx", - "portType": "ff", - "dt": 1E-9, - "centerFrequencies": [ - 375000000.0 - ] + "portId": "q14_ff", + "direction": "tx", + "portType": "ff", + "dt": 1E-9, + "centerFrequencies": [ + 375000000.0 + ] }, "q20_ff": { - "portId": "q20_ff", - "direction": "tx", - "portType": "ff", - "dt": 1E-9, - "centerFrequencies": [ - 375000000.0 - ] + "portId": "q20_ff", + "direction": "tx", + "portType": "ff", + "dt": 1E-9, + "centerFrequencies": [ + 375000000.0 + ] }, "q22_ff": { - "portId": "q22_ff", - "direction": "tx", - "portType": "ff", - "dt": 1E-9, - "centerFrequencies": [ - 375000000.0 - ] + "portId": "q22_ff", + "direction": "tx", + "portType": "ff", + "dt": 1E-9, + "centerFrequencies": [ + 375000000.0 + ] }, "q36_ff": { - "portId": "q36_ff", - "direction": "tx", - "portType": "ff", - "dt": 1E-9, - "centerFrequencies": [ - 375000000.0 - ] + "portId": "q36_ff", + "direction": "tx", + "portType": "ff", + "dt": 1E-9, + "centerFrequencies": [ + 375000000.0 + ] }, "q24_ff": { - "portId": "q24_ff", - "direction": "tx", - "portType": "ff", - "dt": 1E-9, - "centerFrequencies": [ - 375000000.0 - ] + "portId": "q24_ff", + "direction": "tx", + "portType": "ff", + "dt": 1E-9, + "centerFrequencies": [ + 375000000.0 + ] }, "q26_ff": { - "portId": "q26_ff", - "direction": "tx", - "portType": "ff", - "dt": 1E-9, - "centerFrequencies": [ - 375000000.0 - ] + "portId": "q26_ff", + "direction": "tx", + "portType": "ff", + "dt": 1E-9, + "centerFrequencies": [ + 375000000.0 + ] }, "q124_ff": { - "portId": "q124_ff", - "direction": "tx", - "portType": "ff", - "dt": 1E-9, - "centerFrequencies": [ - 375000000.0 - ] + "portId": "q124_ff", + "direction": "tx", + "portType": "ff", + "dt": 1E-9, + "centerFrequencies": [ + 375000000.0 + ] }, "q30_ff": { - "portId": "q30_ff", - "direction": "tx", - "portType": "ff", - "dt": 1E-9, - "centerFrequencies": [ - 375000000.0 - ] + "portId": "q30_ff", + "direction": "tx", + "portType": "ff", + "dt": 1E-9, + "centerFrequencies": [ + 375000000.0 + ] }, "q32_ff": { - "portId": "q32_ff", - "direction": "tx", - "portType": "ff", - "dt": 1E-9, - "centerFrequencies": [ - 375000000.0 - ] + "portId": "q32_ff", + "direction": "tx", + "portType": "ff", + "dt": 1E-9, + "centerFrequencies": [ + 375000000.0 + ] }, "q46_ff": { - "portId": "q46_ff", - "direction": "tx", - "portType": "ff", - "dt": 1E-9, - "centerFrequencies": [ - 375000000.0 - ] + "portId": "q46_ff", + "direction": "tx", + "portType": "ff", + "dt": 1E-9, + "centerFrequencies": [ + 375000000.0 + ] }, "q34_ff": { - "portId": "q34_ff", - "direction": "tx", - "portType": "ff", - "dt": 1E-9, - "centerFrequencies": [ - 375000000.0 - ] + "portId": "q34_ff", + "direction": "tx", + "portType": "ff", + "dt": 1E-9, + "centerFrequencies": [ + 375000000.0 + ] }, "q40_ff": { - "portId": "q40_ff", - "direction": "tx", - "portType": "ff", - "dt": 1E-9, - "centerFrequencies": [ - 375000000.0 - ] + "portId": "q40_ff", + "direction": "tx", + "portType": "ff", + "dt": 1E-9, + "centerFrequencies": [ + 375000000.0 + ] }, "q42_ff": { - "portId": "q42_ff", - "direction": "tx", - "portType": "ff", - "dt": 1E-9, - "centerFrequencies": [ - 375000000.0 - ] + "portId": "q42_ff", + "direction": "tx", + "portType": "ff", + "dt": 1E-9, + "centerFrequencies": [ + 375000000.0 + ] }, "q44_ff": { - "portId": "q44_ff", - "direction": "tx", - "portType": "ff", - "dt": 1E-9, - "centerFrequencies": [ - 375000000.0 - ] + "portId": "q44_ff", + "direction": "tx", + "portType": "ff", + "dt": 1E-9, + "centerFrequencies": [ + 375000000.0 + ] }, "q144_ff": { - "portId": "q144_ff", - "direction": "tx", - "portType": "ff", - "dt": 1E-9, - "centerFrequencies": [ - 375000000.0 - ] + "portId": "q144_ff", + "direction": "tx", + "portType": "ff", + "dt": 1E-9, + "centerFrequencies": [ + 375000000.0 + ] }, "q100_ff": { - "portId": "q100_ff", - "direction": "tx", - "portType": "ff", - "dt": 1E-9, - "centerFrequencies": [ - 375000000.0 - ] + "portId": "q100_ff", + "direction": "tx", + "portType": "ff", + "dt": 1E-9, + "centerFrequencies": [ + 375000000.0 + ] }, "q102_ff": { - "portId": "q102_ff", - "direction": "tx", - "portType": "ff", - "dt": 1E-9, - "centerFrequencies": [ - 375000000.0 - ] + "portId": "q102_ff", + "direction": "tx", + "portType": "ff", + "dt": 1E-9, + "centerFrequencies": [ + 375000000.0 + ] }, "q106_ff": { - "portId": "q106_ff", - "direction": "tx", - "portType": "ff", - "dt": 1E-9, - "centerFrequencies": [ - 375000000.0 - ] + "portId": "q106_ff", + "direction": "tx", + "portType": "ff", + "dt": 1E-9, + "centerFrequencies": [ + 375000000.0 + ] }, "q110_ff": { - "portId": "q110_ff", - "direction": "tx", - "portType": "ff", - "dt": 1E-9, - "centerFrequencies": [ - 375000000.0 - ] + "portId": "q110_ff", + "direction": "tx", + "portType": "ff", + "dt": 1E-9, + "centerFrequencies": [ + 375000000.0 + ] }, "q112_ff": { - "portId": "q112_ff", - "direction": "tx", - "portType": "ff", - "dt": 1E-9, - "centerFrequencies": [ - 375000000.0 - ] + "portId": "q112_ff", + "direction": "tx", + "portType": "ff", + "dt": 1E-9, + "centerFrequencies": [ + 375000000.0 + ] }, "q126_ff": { - "portId": "q126_ff", - "direction": "tx", - "portType": "ff", - "dt": 1E-9, - "centerFrequencies": [ - 375000000.0 - ] + "portId": "q126_ff", + "direction": "tx", + "portType": "ff", + "dt": 1E-9, + "centerFrequencies": [ + 375000000.0 + ] }, "q114_ff": { - "portId": "q114_ff", - "direction": "tx", - "portType": "ff", - "dt": 1E-9, - "centerFrequencies": [ - 375000000.0 - ] + "portId": "q114_ff", + "direction": "tx", + "portType": "ff", + "dt": 1E-9, + "centerFrequencies": [ + 375000000.0 + ] }, "q120_ff": { - "portId": "q120_ff", - "direction": "tx", - "portType": "ff", - "dt": 1E-9, - "centerFrequencies": [ - 375000000.0 - ] + "portId": "q120_ff", + "direction": "tx", + "portType": "ff", + "dt": 1E-9, + "centerFrequencies": [ + 375000000.0 + ] }, "q122_ff": { - "portId": "q122_ff", - "direction": "tx", - "portType": "ff", - "dt": 1E-9, - "centerFrequencies": [ - 375000000.0 - ] + "portId": "q122_ff", + "direction": "tx", + "portType": "ff", + "dt": 1E-9, + "centerFrequencies": [ + 375000000.0 + ] }, "q130_ff": { - "portId": "q130_ff", - "direction": "tx", - "portType": "ff", - "dt": 1E-9, - "centerFrequencies": [ - 375000000.0 - ] + "portId": "q130_ff", + "direction": "tx", + "portType": "ff", + "dt": 1E-9, + "centerFrequencies": [ + 375000000.0 + ] }, "q132_ff": { - "portId": "q132_ff", - "direction": "tx", - "portType": "ff", - "dt": 1E-9, - "centerFrequencies": [ - 375000000.0 - ] + "portId": "q132_ff", + "direction": "tx", + "portType": "ff", + "dt": 1E-9, + "centerFrequencies": [ + 375000000.0 + ] }, "q134_ff": { - "portId": "q134_ff", - "direction": "tx", - "portType": "ff", - "dt": 1E-9, - "centerFrequencies": [ - 375000000.0 - ] + "portId": "q134_ff", + "direction": "tx", + "portType": "ff", + "dt": 1E-9, + "centerFrequencies": [ + 375000000.0 + ] }, "q140_ff": { - "portId": "q140_ff", - "direction": "tx", - "portType": "ff", - "dt": 1E-9, - "centerFrequencies": [ - 375000000.0 - ] + "portId": "q140_ff", + "direction": "tx", + "portType": "ff", + "dt": 1E-9, + "centerFrequencies": [ + 375000000.0 + ] }, "q142_ff": { - "portId": "q142_ff", - "direction": "tx", - "portType": "ff", - "dt": 1E-9, - "centerFrequencies": [ - 375000000.0 - ] + "portId": "q142_ff", + "direction": "tx", + "portType": "ff", + "dt": 1E-9, + "centerFrequencies": [ + 375000000.0 + ] }, "q146_ff": { - "portId": "q146_ff", - "direction": "tx", - "portType": "ff", - "dt": 1E-9, - "centerFrequencies": [ - 375000000.0 - ] + "portId": "q146_ff", + "direction": "tx", + "portType": "ff", + "dt": 1E-9, + "centerFrequencies": [ + 375000000.0 + ] }, "q0_rf": { - "portId": "q0_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q0_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q1_rf": { - "portId": "q1_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q1_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q2_rf": { - "portId": "q2_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 5250000000.0 - ] + "portId": "q2_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 5250000000.0 + ] }, "q3_rf": { - "portId": "q3_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 4125000000.0 - ] + "portId": "q3_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 4125000000.0 + ] }, "q4_rf": { - "portId": "q4_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 5250000000.0 - ] + "portId": "q4_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 5250000000.0 + ] }, "q5_rf": { - "portId": "q5_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q5_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q6_rf": { - "portId": "q6_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 5250000000.0 - ] + "portId": "q6_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 5250000000.0 + ] }, "q7_rf": { - "portId": "q7_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 3375000000.0 - ] + "portId": "q7_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 3375000000.0 + ] }, "q10_rf": { - "portId": "q10_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q10_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q11_rf": { - "portId": "q11_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q11_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q12_rf": { - "portId": "q12_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 5250000000.0 - ] + "portId": "q12_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 5250000000.0 + ] }, "q13_rf": { - "portId": "q13_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 4125000000.0 - ] + "portId": "q13_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 4125000000.0 + ] }, "q14_rf": { - "portId": "q14_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 5250000000.0 - ] + "portId": "q14_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 5250000000.0 + ] }, "q15_rf": { - "portId": "q15_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 4125000000.0 - ] + "portId": "q15_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 4125000000.0 + ] }, "q16_rf": { - "portId": "q16_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q16_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q17_rf": { - "portId": "q17_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 3375000000.0 - ] + "portId": "q17_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 3375000000.0 + ] }, "q20_rf": { - "portId": "q20_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q20_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q21_rf": { - "portId": "q21_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q21_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q22_rf": { - "portId": "q22_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 4500000000.0 - ] + "portId": "q22_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 4500000000.0 + ] }, "q23_rf": { - "portId": "q23_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q23_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q24_rf": { - "portId": "q24_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 5250000000.0 - ] + "portId": "q24_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 5250000000.0 + ] }, "q25_rf": { - "portId": "q25_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q25_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q26_rf": { - "portId": "q26_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 5250000000.0 - ] + "portId": "q26_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 5250000000.0 + ] }, "q27_rf": { - "portId": "q27_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q27_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q30_rf": { - "portId": "q30_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q30_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q31_rf": { - "portId": "q31_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q31_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q32_rf": { - "portId": "q32_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 5250000000.0 - ] + "portId": "q32_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 5250000000.0 + ] }, "q33_rf": { - "portId": "q33_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 4125000000.0 - ] + "portId": "q33_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 4125000000.0 + ] }, "q34_rf": { - "portId": "q34_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 5250000000.0 - ] + "portId": "q34_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 5250000000.0 + ] }, "q35_rf": { - "portId": "q35_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q35_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q36_rf": { - "portId": "q36_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 5250000000.0 - ] + "portId": "q36_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 5250000000.0 + ] }, "q37_rf": { - "portId": "q37_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q37_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q40_rf": { - "portId": "q40_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 5250000000.0 - ] + "portId": "q40_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 5250000000.0 + ] }, "q41_rf": { - "portId": "q41_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q41_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q42_rf": { - "portId": "q42_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 5250000000.0 - ] + "portId": "q42_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 5250000000.0 + ] }, "q43_rf": { - "portId": "q43_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q43_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q44_rf": { - "portId": "q44_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 5250000000.0 - ] + "portId": "q44_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 5250000000.0 + ] }, "q45_rf": { - "portId": "q45_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q45_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q46_rf": { - "portId": "q46_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q46_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q47_rf": { - "portId": "q47_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q47_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q100_rf": { - "portId": "q100_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 4500000000.0 - ] + "portId": "q100_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 4500000000.0 + ] }, "q101_rf": { - "portId": "q101_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 3375000000.0 - ] + "portId": "q101_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 3375000000.0 + ] }, "q102_rf": { - "portId": "q102_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q102_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q103_rf": { - "portId": "q103_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q103_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q104_rf": { - "portId": "q104_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q104_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q105_rf": { - "portId": "q105_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q105_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q106_rf": { - "portId": "q106_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q106_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q107_rf": { - "portId": "q107_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 3375000000.0 - ] + "portId": "q107_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 3375000000.0 + ] }, "q110_rf": { - "portId": "q110_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 4500000000.0 - ] + "portId": "q110_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 4500000000.0 + ] }, "q111_rf": { - "portId": "q111_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q111_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q112_rf": { - "portId": "q112_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q112_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q113_rf": { - "portId": "q113_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 3375000000.0 - ] + "portId": "q113_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 3375000000.0 + ] }, "q114_rf": { - "portId": "q114_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q114_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q115_rf": { - "portId": "q115_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q115_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q116_rf": { - "portId": "q116_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q116_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q117_rf": { - "portId": "q117_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 3375000000.0 - ] + "portId": "q117_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 3375000000.0 + ] }, "q120_rf": { - "portId": "q120_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 4500000000.0 - ] + "portId": "q120_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 4500000000.0 + ] }, "q121_rf": { - "portId": "q121_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 3375000000.0 - ] + "portId": "q121_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 3375000000.0 + ] }, "q122_rf": { - "portId": "q122_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q122_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q123_rf": { - "portId": "q123_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q123_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q124_rf": { - "portId": "q124_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q124_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q125_rf": { - "portId": "q125_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q125_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q126_rf": { - "portId": "q126_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q126_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q127_rf": { - "portId": "q127_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q127_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q130_rf": { - "portId": "q130_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q130_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q131_rf": { - "portId": "q131_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q131_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q132_rf": { - "portId": "q132_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q132_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q133_rf": { - "portId": "q133_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q133_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q134_rf": { - "portId": "q134_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q134_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q135_rf": { - "portId": "q135_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q135_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q137_rf": { - "portId": "q137_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 3375000000.0 - ] + "portId": "q137_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 3375000000.0 + ] }, "q140_rf": { - "portId": "q140_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q140_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q141_rf": { - "portId": "q141_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 3375000000.0 - ] + "portId": "q141_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 3375000000.0 + ] }, "q142_rf": { - "portId": "q142_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q142_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q143_rf": { - "portId": "q143_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q143_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q144_rf": { - "portId": "q144_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q144_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q145_rf": { - "portId": "q145_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 3375000000.0 - ] + "portId": "q145_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 3375000000.0 + ] }, "q146_rf": { - "portId": "q146_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q146_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q147_rf": { - "portId": "q147_rf", - "direction": "tx", - "portType": "rf", - "dt": 1E-9, - "centerFrequencies": [ - 3375000000.0 - ] + "portId": "q147_rf", + "direction": "tx", + "portType": "rf", + "dt": 1E-9, + "centerFrequencies": [ + 3375000000.0 + ] }, "q0_rf_f12": { - "portId": "q0_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q0_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q1_rf_f12": { - "portId": "q1_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q1_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q2_rf_f12": { - "portId": "q2_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 5250000000.0 - ] + "portId": "q2_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 5250000000.0 + ] }, "q3_rf_f12": { - "portId": "q3_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 4125000000.0 - ] + "portId": "q3_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 4125000000.0 + ] }, "q4_rf_f12": { - "portId": "q4_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 5250000000.0 - ] + "portId": "q4_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 5250000000.0 + ] }, "q5_rf_f12": { - "portId": "q5_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q5_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q6_rf_f12": { - "portId": "q6_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 5250000000.0 - ] + "portId": "q6_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 5250000000.0 + ] }, "q7_rf_f12": { - "portId": "q7_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 3375000000.0 - ] + "portId": "q7_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 3375000000.0 + ] }, "q10_rf_f12": { - "portId": "q10_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q10_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q11_rf_f12": { - "portId": "q11_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q11_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q12_rf_f12": { - "portId": "q12_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 5250000000.0 - ] + "portId": "q12_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 5250000000.0 + ] }, "q13_rf_f12": { - "portId": "q13_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 4125000000.0 - ] + "portId": "q13_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 4125000000.0 + ] }, "q14_rf_f12": { - "portId": "q14_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 5250000000.0 - ] + "portId": "q14_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 5250000000.0 + ] }, "q15_rf_f12": { - "portId": "q15_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 4125000000.0 - ] + "portId": "q15_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 4125000000.0 + ] }, "q16_rf_f12": { - "portId": "q16_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q16_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q17_rf_f12": { - "portId": "q17_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 3375000000.0 - ] + "portId": "q17_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 3375000000.0 + ] }, "q20_rf_f12": { - "portId": "q20_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q20_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q23_rf_f12": { - "portId": "q23_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q23_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q24_rf_f12": { - "portId": "q24_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 5250000000.0 - ] + "portId": "q24_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 5250000000.0 + ] }, "q26_rf_f12": { - "portId": "q26_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 5250000000.0 - ] + "portId": "q26_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 5250000000.0 + ] }, "q27_rf_f12": { - "portId": "q27_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q27_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q30_rf_f12": { - "portId": "q30_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q30_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q31_rf_f12": { - "portId": "q31_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q31_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q32_rf_f12": { - "portId": "q32_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 5250000000.0 - ] + "portId": "q32_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 5250000000.0 + ] }, "q33_rf_f12": { - "portId": "q33_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 4125000000.0 - ] + "portId": "q33_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 4125000000.0 + ] }, "q34_rf_f12": { - "portId": "q34_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 5250000000.0 - ] + "portId": "q34_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 5250000000.0 + ] }, "q35_rf_f12": { - "portId": "q35_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q35_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q36_rf_f12": { - "portId": "q36_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 5250000000.0 - ] + "portId": "q36_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 5250000000.0 + ] }, "q37_rf_f12": { - "portId": "q37_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q37_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q40_rf_f12": { - "portId": "q40_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 5250000000.0 - ] + "portId": "q40_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 5250000000.0 + ] }, "q41_rf_f12": { - "portId": "q41_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q41_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q42_rf_f12": { - "portId": "q42_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 5250000000.0 - ] + "portId": "q42_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 5250000000.0 + ] }, "q43_rf_f12": { - "portId": "q43_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q43_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q44_rf_f12": { - "portId": "q44_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 5250000000.0 - ] + "portId": "q44_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 5250000000.0 + ] }, "q45_rf_f12": { - "portId": "q45_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q45_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q46_rf_f12": { - "portId": "q46_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q46_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q47_rf_f12": { - "portId": "q47_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q47_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q100_rf_f12": { - "portId": "q100_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 4500000000.0 - ] + "portId": "q100_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 4500000000.0 + ] }, "q101_rf_f12": { - "portId": "q101_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 3375000000.0 - ] + "portId": "q101_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 3375000000.0 + ] }, "q102_rf_f12": { - "portId": "q102_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q102_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q103_rf_f12": { - "portId": "q103_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q103_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q104_rf_f12": { - "portId": "q104_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q104_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q105_rf_f12": { - "portId": "q105_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q105_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q106_rf_f12": { - "portId": "q106_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q106_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q107_rf_f12": { - "portId": "q107_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 3375000000.0 - ] + "portId": "q107_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 3375000000.0 + ] }, "q110_rf_f12": { - "portId": "q110_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 4500000000.0 - ] + "portId": "q110_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 4500000000.0 + ] }, "q111_rf_f12": { - "portId": "q111_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q111_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q112_rf_f12": { - "portId": "q112_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q112_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q113_rf_f12": { - "portId": "q113_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 3375000000.0 - ] + "portId": "q113_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 3375000000.0 + ] }, "q114_rf_f12": { - "portId": "q114_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q114_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q115_rf_f12": { - "portId": "q115_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q115_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q116_rf_f12": { - "portId": "q116_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q116_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q117_rf_f12": { - "portId": "q117_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 3375000000.0 - ] + "portId": "q117_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 3375000000.0 + ] }, "q120_rf_f12": { - "portId": "q120_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 4500000000.0 - ] + "portId": "q120_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 4500000000.0 + ] }, "q121_rf_f12": { - "portId": "q121_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 3375000000.0 - ] + "portId": "q121_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 3375000000.0 + ] }, "q122_rf_f12": { - "portId": "q122_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q122_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q123_rf_f12": { - "portId": "q123_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q123_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q124_rf_f12": { - "portId": "q124_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q124_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q125_rf_f12": { - "portId": "q125_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q125_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q126_rf_f12": { - "portId": "q126_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q126_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q127_rf_f12": { - "portId": "q127_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q127_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q130_rf_f12": { - "portId": "q130_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q130_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q131_rf_f12": { - "portId": "q131_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q131_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q132_rf_f12": { - "portId": "q132_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q132_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q133_rf_f12": { - "portId": "q133_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q133_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q134_rf_f12": { - "portId": "q134_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q134_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q135_rf_f12": { - "portId": "q135_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q135_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q137_rf_f12": { - "portId": "q137_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 3375000000.0 - ] + "portId": "q137_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 3375000000.0 + ] }, "q140_rf_f12": { - "portId": "q140_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q140_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q141_rf_f12": { - "portId": "q141_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 3375000000.0 - ] + "portId": "q141_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 3375000000.0 + ] }, "q142_rf_f12": { - "portId": "q142_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q142_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q143_rf_f12": { - "portId": "q143_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 3750000000.0 - ] + "portId": "q143_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 3750000000.0 + ] }, "q144_rf_f12": { - "portId": "q144_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q144_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q145_rf_f12": { - "portId": "q145_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 3375000000.0 - ] + "portId": "q145_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 3375000000.0 + ] }, "q146_rf_f12": { - "portId": "q146_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 4875000000.0 - ] + "portId": "q146_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 4875000000.0 + ] }, "q147_rf_f12": { - "portId": "q147_rf_f12", - "direction": "tx", - "portType": "rf_f12", - "dt": 1E-9, - "centerFrequencies": [ - 3375000000.0 - ] + "portId": "q147_rf_f12", + "direction": "tx", + "portType": "rf_f12", + "dt": 1E-9, + "centerFrequencies": [ + 3375000000.0 + ] }, "q0_ro_rx": { - "portId": "q0_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q0_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q1_ro_rx": { - "portId": "q1_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q1_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q2_ro_rx": { - "portId": "q2_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q2_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q3_ro_rx": { - "portId": "q3_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q3_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q4_ro_rx": { - "portId": "q4_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q4_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q5_ro_rx": { - "portId": "q5_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q5_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q6_ro_rx": { - "portId": "q6_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q6_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q7_ro_rx": { - "portId": "q7_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q7_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q10_ro_rx": { - "portId": "q10_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q10_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q11_ro_rx": { - "portId": "q11_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q11_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q12_ro_rx": { - "portId": "q12_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q12_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q13_ro_rx": { - "portId": "q13_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q13_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q14_ro_rx": { - "portId": "q14_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q14_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q15_ro_rx": { - "portId": "q15_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q15_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q16_ro_rx": { - "portId": "q16_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q16_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q17_ro_rx": { - "portId": "q17_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q17_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q20_ro_rx": { - "portId": "q20_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q20_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q21_ro_rx": { - "portId": "q21_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q21_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q22_ro_rx": { - "portId": "q22_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q22_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q23_ro_rx": { - "portId": "q23_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q23_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q24_ro_rx": { - "portId": "q24_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q24_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q25_ro_rx": { - "portId": "q25_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q25_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q26_ro_rx": { - "portId": "q26_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q26_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q27_ro_rx": { - "portId": "q27_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q27_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q30_ro_rx": { - "portId": "q30_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q30_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q31_ro_rx": { - "portId": "q31_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q31_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q32_ro_rx": { - "portId": "q32_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q32_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q33_ro_rx": { - "portId": "q33_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q33_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q34_ro_rx": { - "portId": "q34_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q34_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q35_ro_rx": { - "portId": "q35_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q35_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q36_ro_rx": { - "portId": "q36_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q36_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q37_ro_rx": { - "portId": "q37_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q37_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q40_ro_rx": { - "portId": "q40_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q40_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q41_ro_rx": { - "portId": "q41_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q41_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q42_ro_rx": { - "portId": "q42_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q42_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q43_ro_rx": { - "portId": "q43_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q43_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q44_ro_rx": { - "portId": "q44_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q44_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q45_ro_rx": { - "portId": "q45_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q45_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q46_ro_rx": { - "portId": "q46_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q46_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q47_ro_rx": { - "portId": "q47_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q47_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q100_ro_rx": { - "portId": "q100_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q100_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q101_ro_rx": { - "portId": "q101_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q101_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q102_ro_rx": { - "portId": "q102_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q102_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q103_ro_rx": { - "portId": "q103_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q103_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q104_ro_rx": { - "portId": "q104_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q104_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q105_ro_rx": { - "portId": "q105_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q105_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q106_ro_rx": { - "portId": "q106_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q106_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q107_ro_rx": { - "portId": "q107_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q107_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q110_ro_rx": { - "portId": "q110_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q110_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q111_ro_rx": { - "portId": "q111_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q111_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q112_ro_rx": { - "portId": "q112_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q112_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q113_ro_rx": { - "portId": "q113_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q113_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q114_ro_rx": { - "portId": "q114_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q114_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q115_ro_rx": { - "portId": "q115_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q115_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q116_ro_rx": { - "portId": "q116_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q116_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q117_ro_rx": { - "portId": "q117_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q117_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q120_ro_rx": { - "portId": "q120_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q120_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q121_ro_rx": { - "portId": "q121_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q121_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q122_ro_rx": { - "portId": "q122_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q122_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q123_ro_rx": { - "portId": "q123_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q123_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q124_ro_rx": { - "portId": "q124_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q124_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q125_ro_rx": { - "portId": "q125_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q125_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q126_ro_rx": { - "portId": "q126_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q126_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q127_ro_rx": { - "portId": "q127_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q127_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q130_ro_rx": { - "portId": "q130_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q130_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q131_ro_rx": { - "portId": "q131_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q131_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q132_ro_rx": { - "portId": "q132_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q132_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q133_ro_rx": { - "portId": "q133_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q133_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q134_ro_rx": { - "portId": "q134_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q134_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q135_ro_rx": { - "portId": "q135_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q135_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q137_ro_rx": { - "portId": "q137_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q137_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q140_ro_rx": { - "portId": "q140_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q140_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q141_ro_rx": { - "portId": "q141_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q141_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q142_ro_rx": { - "portId": "q142_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q142_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q143_ro_rx": { - "portId": "q143_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q143_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q144_ro_rx": { - "portId": "q144_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q144_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q145_ro_rx": { - "portId": "q145_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q145_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q146_ro_rx": { - "portId": "q146_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q146_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q147_ro_rx": { - "portId": "q147_ro_rx", - "direction": "rx", - "portType": "ro_rx", - "dt": 5E-10, - "centerFrequencies": [] + "portId": "q147_ro_rx", + "direction": "rx", + "portType": "ro_rx", + "dt": 5E-10, + "centerFrequencies": [] }, "q0_ro_tx": { - "portId": "q0_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q0_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q1_ro_tx": { - "portId": "q1_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q1_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q2_ro_tx": { - "portId": "q2_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q2_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q3_ro_tx": { - "portId": "q3_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q3_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q4_ro_tx": { - "portId": "q4_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q4_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q5_ro_tx": { - "portId": "q5_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q5_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q6_ro_tx": { - "portId": "q6_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q6_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q7_ro_tx": { - "portId": "q7_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q7_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q10_ro_tx": { - "portId": "q10_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q10_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q11_ro_tx": { - "portId": "q11_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q11_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q12_ro_tx": { - "portId": "q12_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q12_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q13_ro_tx": { - "portId": "q13_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q13_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q14_ro_tx": { - "portId": "q14_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q14_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q15_ro_tx": { - "portId": "q15_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q15_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q16_ro_tx": { - "portId": "q16_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q16_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q17_ro_tx": { - "portId": "q17_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q17_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q20_ro_tx": { - "portId": "q20_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q20_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q21_ro_tx": { - "portId": "q21_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q21_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q22_ro_tx": { - "portId": "q22_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q22_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q23_ro_tx": { - "portId": "q23_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q23_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q24_ro_tx": { - "portId": "q24_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q24_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q25_ro_tx": { - "portId": "q25_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q25_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q26_ro_tx": { - "portId": "q26_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q26_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q27_ro_tx": { - "portId": "q27_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q27_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q30_ro_tx": { - "portId": "q30_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q30_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q31_ro_tx": { - "portId": "q31_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q31_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q32_ro_tx": { - "portId": "q32_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q32_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q33_ro_tx": { - "portId": "q33_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q33_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q34_ro_tx": { - "portId": "q34_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q34_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q35_ro_tx": { - "portId": "q35_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q35_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q36_ro_tx": { - "portId": "q36_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q36_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q37_ro_tx": { - "portId": "q37_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q37_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q40_ro_tx": { - "portId": "q40_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q40_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q41_ro_tx": { - "portId": "q41_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q41_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q42_ro_tx": { - "portId": "q42_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q42_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q43_ro_tx": { - "portId": "q43_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q43_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q44_ro_tx": { - "portId": "q44_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q44_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q45_ro_tx": { - "portId": "q45_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q45_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q46_ro_tx": { - "portId": "q46_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q46_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q47_ro_tx": { - "portId": "q47_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q47_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q100_ro_tx": { - "portId": "q100_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q100_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q101_ro_tx": { - "portId": "q101_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q101_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q102_ro_tx": { - "portId": "q102_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q102_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q103_ro_tx": { - "portId": "q103_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q103_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q104_ro_tx": { - "portId": "q104_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q104_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q105_ro_tx": { - "portId": "q105_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q105_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q106_ro_tx": { - "portId": "q106_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q106_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q107_ro_tx": { - "portId": "q107_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q107_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q110_ro_tx": { - "portId": "q110_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q110_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q111_ro_tx": { - "portId": "q111_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q111_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q112_ro_tx": { - "portId": "q112_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q112_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q113_ro_tx": { - "portId": "q113_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q113_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q114_ro_tx": { - "portId": "q114_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q114_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q115_ro_tx": { - "portId": "q115_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q115_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q116_ro_tx": { - "portId": "q116_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q116_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q117_ro_tx": { - "portId": "q117_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q117_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q120_ro_tx": { - "portId": "q120_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q120_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q121_ro_tx": { - "portId": "q121_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q121_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q122_ro_tx": { - "portId": "q122_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q122_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q123_ro_tx": { - "portId": "q123_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q123_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q124_ro_tx": { - "portId": "q124_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q124_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q125_ro_tx": { - "portId": "q125_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q125_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q126_ro_tx": { - "portId": "q126_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q126_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q127_ro_tx": { - "portId": "q127_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q127_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q130_ro_tx": { - "portId": "q130_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q130_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q131_ro_tx": { - "portId": "q131_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q131_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q132_ro_tx": { - "portId": "q132_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q132_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q133_ro_tx": { - "portId": "q133_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q133_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q134_ro_tx": { - "portId": "q134_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q134_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q135_ro_tx": { - "portId": "q135_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q135_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q137_ro_tx": { - "portId": "q137_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q137_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q140_ro_tx": { - "portId": "q140_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q140_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q141_ro_tx": { - "portId": "q141_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q141_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q142_ro_tx": { - "portId": "q142_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q142_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q143_ro_tx": { - "portId": "q143_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q143_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q144_ro_tx": { - "portId": "q144_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q144_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q145_ro_tx": { - "portId": "q145_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q145_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q146_ro_tx": { - "portId": "q146_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q146_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q147_ro_tx": { - "portId": "q147_ro_tx", - "direction": "tx", - "portType": "ro_tx", - "dt": 1E-9, - "centerFrequencies": [ - 7125000000.0 - ] + "portId": "q147_ro_tx", + "direction": "tx", + "portType": "ro_tx", + "dt": 1E-9, + "centerFrequencies": [ + 7125000000.0 + ] }, "q116_ff": { - "portId": "q116_ff", - "direction": "tx", - "portType": "ff", - "dt": 1E-9, - "centerFrequencies": [ - 375000000.0 - ] + "portId": "q116_ff", + "direction": "tx", + "portType": "ff", + "dt": 1E-9, + "centerFrequencies": [ + 375000000.0 + ] } - }, + }, "supportedFunctions": { "shift_phase": { "functionName": "shift_phase", @@ -11529,6235 +11529,6235 @@ }, "frames": { "q0_q1_cphase_frame": { - "frameId": "q0_q1_cphase_frame", - "portId": "q0_ff", - "frequency": 487474130.47860104, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 0, - 1 - ] + "frameId": "q0_q1_cphase_frame", + "portId": "q0_ff", + "frequency": 487474130.47860104, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 0, + 1 + ] }, "q0_q7_cphase_frame": { - "frameId": "q0_q7_cphase_frame", - "portId": "q0_ff", - "frequency": 496674227.2448107, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 0, - 7 - ] + "frameId": "q0_q7_cphase_frame", + "portId": "q0_ff", + "frequency": 496674227.2448107, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 0, + 7 + ] }, "q0_q103_cphase_frame": { - "frameId": "q0_q103_cphase_frame", - "portId": "q0_ff", - "frequency": 278090058.53954065, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 0, - 103 - ] + "frameId": "q0_q103_cphase_frame", + "portId": "q0_ff", + "frequency": 278090058.53954065, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 0, + 103 + ] }, "q1_q2_cphase_frame": { - "frameId": "q1_q2_cphase_frame", - "portId": "q2_ff", - "frequency": 599577348.6156232, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 1, - 2 - ] + "frameId": "q1_q2_cphase_frame", + "portId": "q2_ff", + "frequency": 599577348.6156232, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 1, + 2 + ] }, "q1_q16_cphase_frame": { - "frameId": "q1_q16_cphase_frame", - "portId": "q16_ff", - "frequency": 218186610.1871023, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 1, - 16 - ] + "frameId": "q1_q16_cphase_frame", + "portId": "q16_ff", + "frequency": 218186610.1871023, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 1, + 16 + ] }, "q2_q3_cphase_frame": { - "frameId": "q2_q3_cphase_frame", - "portId": "q2_ff", - "frequency": 485508233.56007266, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 2, - 3 - ] + "frameId": "q2_q3_cphase_frame", + "portId": "q2_ff", + "frequency": 485508233.56007266, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 2, + 3 + ] }, "q3_q4_cphase_frame": { - "frameId": "q3_q4_cphase_frame", - "portId": "q4_ff", - "frequency": 175600369.97056502, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 3, - 4 - ] + "frameId": "q3_q4_cphase_frame", + "portId": "q4_ff", + "frequency": 175600369.97056502, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 3, + 4 + ] }, "q4_q5_cphase_frame": { - "frameId": "q4_q5_cphase_frame", - "portId": "q4_ff", - "frequency": 446163600.4996151, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 4, - 5 - ] + "frameId": "q4_q5_cphase_frame", + "portId": "q4_ff", + "frequency": 446163600.4996151, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 4, + 5 + ] }, "q5_q6_cphase_frame": { - "frameId": "q5_q6_cphase_frame", - "portId": "q6_ff", - "frequency": 256058366.0272715, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 5, - 6 - ] + "frameId": "q5_q6_cphase_frame", + "portId": "q6_ff", + "frequency": 256058366.0272715, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 5, + 6 + ] }, "q7_q104_cphase_frame": { - "frameId": "q7_q104_cphase_frame", - "portId": "q104_ff", - "frequency": 352483209.2102619, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 7, - 104 - ] + "frameId": "q7_q104_cphase_frame", + "portId": "q104_ff", + "frequency": 352483209.2102619, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 7, + 104 + ] }, "q10_q11_cphase_frame": { - "frameId": "q10_q11_cphase_frame", - "portId": "q10_ff", - "frequency": 167073459.84342057, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 10, - 11 - ] + "frameId": "q10_q11_cphase_frame", + "portId": "q10_ff", + "frequency": 167073459.84342057, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 10, + 11 + ] }, "q10_q17_cphase_frame": { - "frameId": "q10_q17_cphase_frame", - "portId": "q10_ff", - "frequency": 370962704.3341443, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 10, - 17 - ] + "frameId": "q10_q17_cphase_frame", + "portId": "q10_ff", + "frequency": 370962704.3341443, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 10, + 17 + ] }, "q10_q113_cphase_frame": { - "frameId": "q10_q113_cphase_frame", - "portId": "q10_ff", - "frequency": 293486970.0435536, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 10, - 113 - ] + "frameId": "q10_q113_cphase_frame", + "portId": "q10_ff", + "frequency": 293486970.0435536, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 10, + 113 + ] }, "q11_q12_cphase_frame": { - "frameId": "q11_q12_cphase_frame", - "portId": "q12_ff", - "frequency": 265503905.23173967, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 11, - 12 - ] + "frameId": "q11_q12_cphase_frame", + "portId": "q12_ff", + "frequency": 265503905.23173967, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 11, + 12 + ] }, "q12_q13_cphase_frame": { - "frameId": "q12_q13_cphase_frame", - "portId": "q12_ff", - "frequency": 220582218.46259323, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 12, - 13 - ] + "frameId": "q12_q13_cphase_frame", + "portId": "q12_ff", + "frequency": 220582218.46259323, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 12, + 13 + ] }, "q12_q25_cphase_frame": { - "frameId": "q12_q25_cphase_frame", - "portId": "q12_ff", - "frequency": 259189346.93458498, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 12, - 25 - ] + "frameId": "q12_q25_cphase_frame", + "portId": "q12_ff", + "frequency": 259189346.93458498, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 12, + 25 + ] }, "q13_q14_cphase_frame": { - "frameId": "q13_q14_cphase_frame", - "portId": "q14_ff", - "frequency": 197832723.0273835, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 13, - 14 - ] + "frameId": "q13_q14_cphase_frame", + "portId": "q14_ff", + "frequency": 197832723.0273835, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 13, + 14 + ] }, "q14_q15_cphase_frame": { - "frameId": "q14_q15_cphase_frame", - "portId": "q14_ff", - "frequency": 396164159.84506506, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 14, - 15 - ] + "frameId": "q14_q15_cphase_frame", + "portId": "q14_ff", + "frequency": 396164159.84506506, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 14, + 15 + ] }, "q16_q17_cphase_frame": { - "frameId": "q16_q17_cphase_frame", - "portId": "q16_ff", - "frequency": 319038844.14550966, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 16, - 17 - ] + "frameId": "q16_q17_cphase_frame", + "portId": "q16_ff", + "frequency": 319038844.14550966, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 16, + 17 + ] }, "q20_q21_cphase_frame": { - "frameId": "q20_q21_cphase_frame", - "portId": "q20_ff", - "frequency": 311437603.3371436, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 20, - 21 - ] + "frameId": "q20_q21_cphase_frame", + "portId": "q20_ff", + "frequency": 311437603.3371436, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 20, + 21 + ] }, "q20_q27_cphase_frame": { - "frameId": "q20_q27_cphase_frame", - "portId": "q20_ff", - "frequency": 315001430.4334167, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 20, - 27 - ] + "frameId": "q20_q27_cphase_frame", + "portId": "q20_ff", + "frequency": 315001430.4334167, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 20, + 27 + ] }, "q21_q22_cphase_frame": { - "frameId": "q21_q22_cphase_frame", - "portId": "q22_ff", - "frequency": 501564835.08097506, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 21, - 22 - ] + "frameId": "q21_q22_cphase_frame", + "portId": "q22_ff", + "frequency": 501564835.08097506, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 21, + 22 + ] }, "q21_q36_cphase_frame": { - "frameId": "q21_q36_cphase_frame", - "portId": "q36_ff", - "frequency": 236473593.85791966, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 21, - 36 - ] + "frameId": "q21_q36_cphase_frame", + "portId": "q36_ff", + "frequency": 236473593.85791966, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 21, + 36 + ] }, "q22_q23_cphase_frame": { - "frameId": "q22_q23_cphase_frame", - "portId": "q22_ff", - "frequency": 358184133.3791632, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 22, - 23 - ] + "frameId": "q22_q23_cphase_frame", + "portId": "q22_ff", + "frequency": 358184133.3791632, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 22, + 23 + ] }, "q22_q35_cphase_frame": { - "frameId": "q22_q35_cphase_frame", - "portId": "q22_ff", - "frequency": 486054871.749653, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 22, - 35 - ] + "frameId": "q22_q35_cphase_frame", + "portId": "q22_ff", + "frequency": 486054871.749653, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 22, + 35 + ] }, "q23_q24_cphase_frame": { - "frameId": "q23_q24_cphase_frame", - "portId": "q24_ff", - "frequency": 274928572.08506554, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 23, - 24 - ] + "frameId": "q23_q24_cphase_frame", + "portId": "q24_ff", + "frequency": 274928572.08506554, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 23, + 24 + ] }, "q24_q25_cphase_frame": { - "frameId": "q24_q25_cphase_frame", - "portId": "q24_ff", - "frequency": 232758815.04620042, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 24, - 25 - ] + "frameId": "q24_q25_cphase_frame", + "portId": "q24_ff", + "frequency": 232758815.04620042, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 24, + 25 + ] }, "q25_q26_cphase_frame": { - "frameId": "q25_q26_cphase_frame", - "portId": "q26_ff", - "frequency": 327156348.60261124, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 25, - 26 - ] + "frameId": "q25_q26_cphase_frame", + "portId": "q26_ff", + "frequency": 327156348.60261124, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 25, + 26 + ] }, "q26_q27_cphase_frame": { - "frameId": "q26_q27_cphase_frame", - "portId": "q26_ff", - "frequency": 208885990.2601022, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 26, - 27 - ] + "frameId": "q26_q27_cphase_frame", + "portId": "q26_ff", + "frequency": 208885990.2601022, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 26, + 27 + ] }, "q27_q124_cphase_frame": { - "frameId": "q27_q124_cphase_frame", - "portId": "q124_ff", - "frequency": 393545414.0230777, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 27, - 124 - ] + "frameId": "q27_q124_cphase_frame", + "portId": "q124_ff", + "frequency": 393545414.0230777, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 27, + 124 + ] }, "q30_q31_cphase_frame": { - "frameId": "q30_q31_cphase_frame", - "portId": "q30_ff", - "frequency": 167941267.9406497, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 30, - 31 - ] + "frameId": "q30_q31_cphase_frame", + "portId": "q30_ff", + "frequency": 167941267.9406497, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 30, + 31 + ] }, "q30_q37_cphase_frame": { - "frameId": "q30_q37_cphase_frame", - "portId": "q30_ff", - "frequency": 254712195.18725064, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 30, - 37 - ] + "frameId": "q30_q37_cphase_frame", + "portId": "q30_ff", + "frequency": 254712195.18725064, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 30, + 37 + ] }, "q31_q32_cphase_frame": { - "frameId": "q31_q32_cphase_frame", - "portId": "q32_ff", - "frequency": 267817592.8926797, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 31, - 32 - ] + "frameId": "q31_q32_cphase_frame", + "portId": "q32_ff", + "frequency": 267817592.8926797, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 31, + 32 + ] }, "q31_q46_cphase_frame": { - "frameId": "q31_q46_cphase_frame", - "portId": "q46_ff", - "frequency": 350929652.66092604, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 31, - 46 - ] + "frameId": "q31_q46_cphase_frame", + "portId": "q46_ff", + "frequency": 350929652.66092604, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 31, + 46 + ] }, "q32_q33_cphase_frame": { - "frameId": "q32_q33_cphase_frame", - "portId": "q32_ff", - "frequency": 250644277.34989896, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 32, - 33 - ] + "frameId": "q32_q33_cphase_frame", + "portId": "q32_ff", + "frequency": 250644277.34989896, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 32, + 33 + ] }, "q32_q45_cphase_frame": { - "frameId": "q32_q45_cphase_frame", - "portId": "q32_ff", - "frequency": 313112321.89396495, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 32, - 45 - ] + "frameId": "q32_q45_cphase_frame", + "portId": "q32_ff", + "frequency": 313112321.89396495, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 32, + 45 + ] }, "q33_q34_cphase_frame": { - "frameId": "q33_q34_cphase_frame", - "portId": "q34_ff", - "frequency": 185638634.2102202, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 33, - 34 - ] + "frameId": "q33_q34_cphase_frame", + "portId": "q34_ff", + "frequency": 185638634.2102202, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 33, + 34 + ] }, "q34_q35_cphase_frame": { - "frameId": "q34_q35_cphase_frame", - "portId": "q34_ff", - "frequency": 234197174.29660448, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 34, - 35 - ] + "frameId": "q34_q35_cphase_frame", + "portId": "q34_ff", + "frequency": 234197174.29660448, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 34, + 35 + ] }, "q35_q36_cphase_frame": { - "frameId": "q35_q36_cphase_frame", - "portId": "q36_ff", - "frequency": 215896528.34976044, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 35, - 36 - ] + "frameId": "q35_q36_cphase_frame", + "portId": "q36_ff", + "frequency": 215896528.34976044, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 35, + 36 + ] }, "q36_q37_cphase_frame": { - "frameId": "q36_q37_cphase_frame", - "portId": "q36_ff", - "frequency": 269698080.87431395, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 36, - 37 - ] + "frameId": "q36_q37_cphase_frame", + "portId": "q36_ff", + "frequency": 269698080.87431395, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 36, + 37 + ] }, "q40_q41_cphase_frame": { - "frameId": "q40_q41_cphase_frame", - "portId": "q40_ff", - "frequency": 213147324.42142272, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 40, - 41 - ] + "frameId": "q40_q41_cphase_frame", + "portId": "q40_ff", + "frequency": 213147324.42142272, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 40, + 41 + ] }, "q40_q143_cphase_frame": { - "frameId": "q40_q143_cphase_frame", - "portId": "q40_ff", - "frequency": 553312006.5202204, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 40, - 143 - ] + "frameId": "q40_q143_cphase_frame", + "portId": "q40_ff", + "frequency": 553312006.5202204, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 40, + 143 + ] }, "q41_q42_cphase_frame": { - "frameId": "q41_q42_cphase_frame", - "portId": "q42_ff", - "frequency": 325460310.17775005, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 41, - 42 - ] + "frameId": "q41_q42_cphase_frame", + "portId": "q42_ff", + "frequency": 325460310.17775005, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 41, + 42 + ] }, "q42_q43_cphase_frame": { - "frameId": "q42_q43_cphase_frame", - "portId": "q42_ff", - "frequency": 515478111.65315574, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 42, - 43 - ] + "frameId": "q42_q43_cphase_frame", + "portId": "q42_ff", + "frequency": 515478111.65315574, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 42, + 43 + ] }, "q43_q44_cphase_frame": { - "frameId": "q43_q44_cphase_frame", - "portId": "q44_ff", - "frequency": 247030878.77983126, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 43, - 44 - ] + "frameId": "q43_q44_cphase_frame", + "portId": "q44_ff", + "frequency": 247030878.77983126, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 43, + 44 + ] }, "q44_q45_cphase_frame": { - "frameId": "q44_q45_cphase_frame", - "portId": "q44_ff", - "frequency": 489617646.96395326, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 44, - 45 - ] + "frameId": "q44_q45_cphase_frame", + "portId": "q44_ff", + "frequency": 489617646.96395326, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 44, + 45 + ] }, "q45_q46_cphase_frame": { - "frameId": "q45_q46_cphase_frame", - "portId": "q46_ff", - "frequency": 175883248.4633157, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 45, - 46 - ] + "frameId": "q45_q46_cphase_frame", + "portId": "q46_ff", + "frequency": 175883248.4633157, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 45, + 46 + ] }, "q47_q144_cphase_frame": { - "frameId": "q47_q144_cphase_frame", - "portId": "q144_ff", - "frequency": 388735180.1585389, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 47, - 144 - ] + "frameId": "q47_q144_cphase_frame", + "portId": "q144_ff", + "frequency": 388735180.1585389, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 47, + 144 + ] }, "q100_q101_cphase_frame": { - "frameId": "q100_q101_cphase_frame", - "portId": "q100_ff", - "frequency": 250072441.24772963, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 100, - 101 - ] + "frameId": "q100_q101_cphase_frame", + "portId": "q100_ff", + "frequency": 250072441.24772963, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 100, + 101 + ] }, "q100_q107_cphase_frame": { - "frameId": "q100_q107_cphase_frame", - "portId": "q100_ff", - "frequency": 232165976.3579757, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 100, - 107 - ] + "frameId": "q100_q107_cphase_frame", + "portId": "q100_ff", + "frequency": 232165976.3579757, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 100, + 107 + ] }, "q102_q103_cphase_frame": { - "frameId": "q102_q103_cphase_frame", - "portId": "q102_ff", - "frequency": 268109022.73908636, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 102, - 103 - ] + "frameId": "q102_q103_cphase_frame", + "portId": "q102_ff", + "frequency": 268109022.73908636, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 102, + 103 + ] }, "q102_q115_cphase_frame": { - "frameId": "q102_q115_cphase_frame", - "portId": "q102_ff", - "frequency": 246740972.0104891, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 102, - 115 - ] + "frameId": "q102_q115_cphase_frame", + "portId": "q102_ff", + "frequency": 246740972.0104891, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 102, + 115 + ] }, "q103_q104_cphase_frame": { - "frameId": "q103_q104_cphase_frame", - "portId": "q104_ff", - "frequency": 193567692.2669819, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 103, - 104 - ] + "frameId": "q103_q104_cphase_frame", + "portId": "q104_ff", + "frequency": 193567692.2669819, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 103, + 104 + ] }, "q104_q105_cphase_frame": { - "frameId": "q104_q105_cphase_frame", - "portId": "q104_ff", - "frequency": 348785823.5444232, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 104, - 105 - ] + "frameId": "q104_q105_cphase_frame", + "portId": "q104_ff", + "frequency": 348785823.5444232, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 104, + 105 + ] }, "q106_q107_cphase_frame": { - "frameId": "q106_q107_cphase_frame", - "portId": "q106_ff", - "frequency": 221791422.25081244, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 106, - 107 - ] + "frameId": "q106_q107_cphase_frame", + "portId": "q106_ff", + "frequency": 221791422.25081244, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 106, + 107 + ] }, "q110_q111_cphase_frame": { - "frameId": "q110_q111_cphase_frame", - "portId": "q110_ff", - "frequency": 158099370.87457204, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 110, - 111 - ] + "frameId": "q110_q111_cphase_frame", + "portId": "q110_ff", + "frequency": 158099370.87457204, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 110, + 111 + ] }, "q110_q117_cphase_frame": { - "frameId": "q110_q117_cphase_frame", - "portId": "q110_ff", - "frequency": 271498059.7771275, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 110, - 117 - ] + "frameId": "q110_q117_cphase_frame", + "portId": "q110_ff", + "frequency": 271498059.7771275, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 110, + 117 + ] }, "q111_q112_cphase_frame": { - "frameId": "q111_q112_cphase_frame", - "portId": "q112_ff", - "frequency": 335285390.8518622, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 111, - 112 - ] + "frameId": "q111_q112_cphase_frame", + "portId": "q112_ff", + "frequency": 335285390.8518622, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 111, + 112 + ] }, "q111_q126_cphase_frame": { - "frameId": "q111_q126_cphase_frame", - "portId": "q126_ff", - "frequency": 141564371.61728132, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 111, - 126 - ] + "frameId": "q111_q126_cphase_frame", + "portId": "q126_ff", + "frequency": 141564371.61728132, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 111, + 126 + ] }, "q112_q113_cphase_frame": { - "frameId": "q112_q113_cphase_frame", - "portId": "q112_ff", - "frequency": 289301605.44952875, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 112, - 113 - ] + "frameId": "q112_q113_cphase_frame", + "portId": "q112_ff", + "frequency": 289301605.44952875, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 112, + 113 + ] }, "q112_q125_cphase_frame": { - "frameId": "q112_q125_cphase_frame", - "portId": "q112_ff", - "frequency": 549354527.6496285, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 112, - 125 - ] + "frameId": "q112_q125_cphase_frame", + "portId": "q112_ff", + "frequency": 549354527.6496285, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 112, + 125 + ] }, "q113_q114_cphase_frame": { - "frameId": "q113_q114_cphase_frame", - "portId": "q114_ff", - "frequency": 162427633.54200944, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 113, - 114 - ] + "frameId": "q113_q114_cphase_frame", + "portId": "q114_ff", + "frequency": 162427633.54200944, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 113, + 114 + ] }, "q114_q115_cphase_frame": { - "frameId": "q114_q115_cphase_frame", - "portId": "q114_ff", - "frequency": 154626750.47907907, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 114, - 115 - ] + "frameId": "q114_q115_cphase_frame", + "portId": "q114_ff", + "frequency": 154626750.47907907, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 114, + 115 + ] }, "q120_q121_cphase_frame": { - "frameId": "q120_q121_cphase_frame", - "portId": "q120_ff", - "frequency": 139483619.56690416, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 120, - 121 - ] + "frameId": "q120_q121_cphase_frame", + "portId": "q120_ff", + "frequency": 139483619.56690416, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 120, + 121 + ] }, "q120_q127_cphase_frame": { - "frameId": "q120_q127_cphase_frame", - "portId": "q120_ff", - "frequency": 439614741.7925588, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 120, - 127 - ] + "frameId": "q120_q127_cphase_frame", + "portId": "q120_ff", + "frequency": 439614741.7925588, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 120, + 127 + ] }, "q121_q122_cphase_frame": { - "frameId": "q121_q122_cphase_frame", - "portId": "q122_ff", - "frequency": 311945759.6768899, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 121, - 122 - ] + "frameId": "q121_q122_cphase_frame", + "portId": "q122_ff", + "frequency": 311945759.6768899, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 121, + 122 + ] }, "q122_q123_cphase_frame": { - "frameId": "q122_q123_cphase_frame", - "portId": "q122_ff", - "frequency": 222484409.0799179, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 122, - 123 - ] + "frameId": "q122_q123_cphase_frame", + "portId": "q122_ff", + "frequency": 222484409.0799179, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 122, + 123 + ] }, "q122_q135_cphase_frame": { - "frameId": "q122_q135_cphase_frame", - "portId": "q122_ff", - "frequency": 317197846.1872384, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 122, - 135 - ] + "frameId": "q122_q135_cphase_frame", + "portId": "q122_ff", + "frequency": 317197846.1872384, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 122, + 135 + ] }, "q123_q124_cphase_frame": { - "frameId": "q123_q124_cphase_frame", - "portId": "q124_ff", - "frequency": 144805221.79034168, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 123, - 124 - ] + "frameId": "q123_q124_cphase_frame", + "portId": "q124_ff", + "frequency": 144805221.79034168, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 123, + 124 + ] }, "q124_q125_cphase_frame": { - "frameId": "q124_q125_cphase_frame", - "portId": "q124_ff", - "frequency": 203586489.72478634, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 124, - 125 - ] + "frameId": "q124_q125_cphase_frame", + "portId": "q124_ff", + "frequency": 203586489.72478634, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 124, + 125 + ] }, "q126_q127_cphase_frame": { - "frameId": "q126_q127_cphase_frame", - "portId": "q126_ff", - "frequency": 275656848.2444173, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 126, - 127 - ] + "frameId": "q126_q127_cphase_frame", + "portId": "q126_ff", + "frequency": 275656848.2444173, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 126, + 127 + ] }, "q130_q137_cphase_frame": { - "frameId": "q130_q137_cphase_frame", - "portId": "q130_ff", - "frequency": 479205824.40691376, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 130, - 137 - ] + "frameId": "q130_q137_cphase_frame", + "portId": "q130_ff", + "frequency": 479205824.40691376, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 130, + 137 + ] }, "q131_q132_cphase_frame": { - "frameId": "q131_q132_cphase_frame", - "portId": "q132_ff", - "frequency": 216554854.2294825, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 131, - 132 - ] + "frameId": "q131_q132_cphase_frame", + "portId": "q132_ff", + "frequency": 216554854.2294825, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 131, + 132 + ] }, "q132_q133_cphase_frame": { - "frameId": "q132_q133_cphase_frame", - "portId": "q132_ff", - "frequency": 263583946.00791973, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 132, - 133 - ] + "frameId": "q132_q133_cphase_frame", + "portId": "q132_ff", + "frequency": 263583946.00791973, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 132, + 133 + ] }, "q132_q145_cphase_frame": { - "frameId": "q132_q145_cphase_frame", - "portId": "q132_ff", - "frequency": 311028793.1356901, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 132, - 145 - ] + "frameId": "q132_q145_cphase_frame", + "portId": "q132_ff", + "frequency": 311028793.1356901, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 132, + 145 + ] }, "q133_q134_cphase_frame": { - "frameId": "q133_q134_cphase_frame", - "portId": "q134_ff", - "frequency": 235405355.124996, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 133, - 134 - ] + "frameId": "q133_q134_cphase_frame", + "portId": "q134_ff", + "frequency": 235405355.124996, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 133, + 134 + ] }, "q134_q135_cphase_frame": { - "frameId": "q134_q135_cphase_frame", - "portId": "q134_ff", - "frequency": 296998499.54160345, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 134, - 135 - ] + "frameId": "q134_q135_cphase_frame", + "portId": "q134_ff", + "frequency": 296998499.54160345, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 134, + 135 + ] }, "q140_q141_cphase_frame": { - "frameId": "q140_q141_cphase_frame", - "portId": "q140_ff", - "frequency": 197186439.13403037, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 140, - 141 - ] + "frameId": "q140_q141_cphase_frame", + "portId": "q140_ff", + "frequency": 197186439.13403037, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 140, + 141 + ] }, "q140_q147_cphase_frame": { - "frameId": "q140_q147_cphase_frame", - "portId": "q140_ff", - "frequency": 229810317.59513775, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 140, - 147 - ] + "frameId": "q140_q147_cphase_frame", + "portId": "q140_ff", + "frequency": 229810317.59513775, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 140, + 147 + ] }, "q141_q142_cphase_frame": { - "frameId": "q141_q142_cphase_frame", - "portId": "q142_ff", - "frequency": 267506134.73537275, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 141, - 142 - ] + "frameId": "q141_q142_cphase_frame", + "portId": "q142_ff", + "frequency": 267506134.73537275, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 141, + 142 + ] }, "q142_q143_cphase_frame": { - "frameId": "q142_q143_cphase_frame", - "portId": "q142_ff", - "frequency": 229459161.56728294, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 142, - 143 - ] + "frameId": "q142_q143_cphase_frame", + "portId": "q142_ff", + "frequency": 229459161.56728294, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 142, + 143 + ] }, "q143_q144_cphase_frame": { - "frameId": "q143_q144_cphase_frame", - "portId": "q144_ff", - "frequency": 208238349.97587523, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 143, - 144 - ] + "frameId": "q143_q144_cphase_frame", + "portId": "q144_ff", + "frequency": 208238349.97587523, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 143, + 144 + ] }, "q144_q145_cphase_frame": { - "frameId": "q144_q145_cphase_frame", - "portId": "q144_ff", - "frequency": 308445431.31160706, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 144, - 145 - ] + "frameId": "q144_q145_cphase_frame", + "portId": "q144_ff", + "frequency": 308445431.31160706, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 144, + 145 + ] }, "q145_q146_cphase_frame": { - "frameId": "q145_q146_cphase_frame", - "portId": "q146_ff", - "frequency": 369968480.1887181, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 145, - 146 - ] + "frameId": "q145_q146_cphase_frame", + "portId": "q146_ff", + "frequency": 369968480.1887181, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 145, + 146 + ] }, "q146_q147_cphase_frame": { - "frameId": "q146_q147_cphase_frame", - "portId": "q146_ff", - "frequency": 157636776.1384021, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cphase", - "qubitMappings": [ - 146, - 147 - ] + "frameId": "q146_q147_cphase_frame", + "portId": "q146_ff", + "frequency": 157636776.1384021, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cphase", + "qubitMappings": [ + 146, + 147 + ] }, "q0_q1_cz_frame": { - "frameId": "q0_q1_cz_frame", - "portId": "q0_ff", - "frequency": 487474130.47860104, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 0, - 1 - ] + "frameId": "q0_q1_cz_frame", + "portId": "q0_ff", + "frequency": 487474130.47860104, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 0, + 1 + ] }, "q0_q7_cz_frame": { - "frameId": "q0_q7_cz_frame", - "portId": "q0_ff", - "frequency": 496674227.2448107, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 0, - 7 - ] + "frameId": "q0_q7_cz_frame", + "portId": "q0_ff", + "frequency": 496674227.2448107, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 0, + 7 + ] }, "q0_q103_cz_frame": { - "frameId": "q0_q103_cz_frame", - "portId": "q0_ff", - "frequency": 278090058.53954065, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 0, - 103 - ] + "frameId": "q0_q103_cz_frame", + "portId": "q0_ff", + "frequency": 278090058.53954065, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 0, + 103 + ] }, "q1_q2_cz_frame": { - "frameId": "q1_q2_cz_frame", - "portId": "q2_ff", - "frequency": 599577348.6156232, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 1, - 2 - ] + "frameId": "q1_q2_cz_frame", + "portId": "q2_ff", + "frequency": 599577348.6156232, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 1, + 2 + ] }, "q1_q16_cz_frame": { - "frameId": "q1_q16_cz_frame", - "portId": "q16_ff", - "frequency": 218186610.1871023, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 1, - 16 - ] + "frameId": "q1_q16_cz_frame", + "portId": "q16_ff", + "frequency": 218186610.1871023, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 1, + 16 + ] }, "q2_q3_cz_frame": { - "frameId": "q2_q3_cz_frame", - "portId": "q2_ff", - "frequency": 485508233.56007266, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 2, - 3 - ] + "frameId": "q2_q3_cz_frame", + "portId": "q2_ff", + "frequency": 485508233.56007266, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 2, + 3 + ] }, "q3_q4_cz_frame": { - "frameId": "q3_q4_cz_frame", - "portId": "q4_ff", - "frequency": 175600369.97056502, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 3, - 4 - ] + "frameId": "q3_q4_cz_frame", + "portId": "q4_ff", + "frequency": 175600369.97056502, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 3, + 4 + ] }, "q4_q5_cz_frame": { - "frameId": "q4_q5_cz_frame", - "portId": "q4_ff", - "frequency": 446163600.4996151, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 4, - 5 - ] + "frameId": "q4_q5_cz_frame", + "portId": "q4_ff", + "frequency": 446163600.4996151, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 4, + 5 + ] }, "q5_q6_cz_frame": { - "frameId": "q5_q6_cz_frame", - "portId": "q6_ff", - "frequency": 256058366.0272715, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 5, - 6 - ] + "frameId": "q5_q6_cz_frame", + "portId": "q6_ff", + "frequency": 256058366.0272715, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 5, + 6 + ] }, "q7_q104_cz_frame": { - "frameId": "q7_q104_cz_frame", - "portId": "q104_ff", - "frequency": 352483209.2102619, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 7, - 104 - ] + "frameId": "q7_q104_cz_frame", + "portId": "q104_ff", + "frequency": 352483209.2102619, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 7, + 104 + ] }, "q10_q11_cz_frame": { - "frameId": "q10_q11_cz_frame", - "portId": "q10_ff", - "frequency": 167073459.84342057, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 10, - 11 - ] + "frameId": "q10_q11_cz_frame", + "portId": "q10_ff", + "frequency": 167073459.84342057, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 10, + 11 + ] }, "q10_q17_cz_frame": { - "frameId": "q10_q17_cz_frame", - "portId": "q10_ff", - "frequency": 370962704.3341443, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 10, - 17 - ] + "frameId": "q10_q17_cz_frame", + "portId": "q10_ff", + "frequency": 370962704.3341443, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 10, + 17 + ] }, "q10_q113_cz_frame": { - "frameId": "q10_q113_cz_frame", - "portId": "q10_ff", - "frequency": 293486970.0435536, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 10, - 113 - ] + "frameId": "q10_q113_cz_frame", + "portId": "q10_ff", + "frequency": 293486970.0435536, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 10, + 113 + ] }, "q11_q12_cz_frame": { - "frameId": "q11_q12_cz_frame", - "portId": "q12_ff", - "frequency": 265503905.23173967, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 11, - 12 - ] + "frameId": "q11_q12_cz_frame", + "portId": "q12_ff", + "frequency": 265503905.23173967, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 11, + 12 + ] }, "q12_q13_cz_frame": { - "frameId": "q12_q13_cz_frame", - "portId": "q12_ff", - "frequency": 220582218.46259323, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 12, - 13 - ] + "frameId": "q12_q13_cz_frame", + "portId": "q12_ff", + "frequency": 220582218.46259323, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 12, + 13 + ] }, "q12_q25_cz_frame": { - "frameId": "q12_q25_cz_frame", - "portId": "q12_ff", - "frequency": 259189346.93458498, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 12, - 25 - ] + "frameId": "q12_q25_cz_frame", + "portId": "q12_ff", + "frequency": 259189346.93458498, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 12, + 25 + ] }, "q13_q14_cz_frame": { - "frameId": "q13_q14_cz_frame", - "portId": "q14_ff", - "frequency": 197832723.0273835, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 13, - 14 - ] + "frameId": "q13_q14_cz_frame", + "portId": "q14_ff", + "frequency": 197832723.0273835, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 13, + 14 + ] }, "q14_q15_cz_frame": { - "frameId": "q14_q15_cz_frame", - "portId": "q14_ff", - "frequency": 396164159.84506506, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 14, - 15 - ] + "frameId": "q14_q15_cz_frame", + "portId": "q14_ff", + "frequency": 396164159.84506506, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 14, + 15 + ] }, "q16_q17_cz_frame": { - "frameId": "q16_q17_cz_frame", - "portId": "q16_ff", - "frequency": 319038844.14550966, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 16, - 17 - ] + "frameId": "q16_q17_cz_frame", + "portId": "q16_ff", + "frequency": 319038844.14550966, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 16, + 17 + ] }, "q20_q21_cz_frame": { - "frameId": "q20_q21_cz_frame", - "portId": "q20_ff", - "frequency": 311437603.3371436, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 20, - 21 - ] + "frameId": "q20_q21_cz_frame", + "portId": "q20_ff", + "frequency": 311437603.3371436, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 20, + 21 + ] }, "q20_q27_cz_frame": { - "frameId": "q20_q27_cz_frame", - "portId": "q20_ff", - "frequency": 315001430.4334167, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 20, - 27 - ] + "frameId": "q20_q27_cz_frame", + "portId": "q20_ff", + "frequency": 315001430.4334167, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 20, + 27 + ] }, "q21_q22_cz_frame": { - "frameId": "q21_q22_cz_frame", - "portId": "q22_ff", - "frequency": 501564835.08097506, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 21, - 22 - ] + "frameId": "q21_q22_cz_frame", + "portId": "q22_ff", + "frequency": 501564835.08097506, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 21, + 22 + ] }, "q21_q36_cz_frame": { - "frameId": "q21_q36_cz_frame", - "portId": "q36_ff", - "frequency": 236473593.85791966, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 21, - 36 - ] + "frameId": "q21_q36_cz_frame", + "portId": "q36_ff", + "frequency": 236473593.85791966, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 21, + 36 + ] }, "q22_q23_cz_frame": { - "frameId": "q22_q23_cz_frame", - "portId": "q22_ff", - "frequency": 358184133.3791632, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 22, - 23 - ] + "frameId": "q22_q23_cz_frame", + "portId": "q22_ff", + "frequency": 358184133.3791632, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 22, + 23 + ] }, "q22_q35_cz_frame": { - "frameId": "q22_q35_cz_frame", - "portId": "q22_ff", - "frequency": 486054871.749653, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 22, - 35 - ] + "frameId": "q22_q35_cz_frame", + "portId": "q22_ff", + "frequency": 486054871.749653, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 22, + 35 + ] }, "q23_q24_cz_frame": { - "frameId": "q23_q24_cz_frame", - "portId": "q24_ff", - "frequency": 274928572.08506554, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 23, - 24 - ] + "frameId": "q23_q24_cz_frame", + "portId": "q24_ff", + "frequency": 274928572.08506554, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 23, + 24 + ] }, "q24_q25_cz_frame": { - "frameId": "q24_q25_cz_frame", - "portId": "q24_ff", - "frequency": 232758815.04620042, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 24, - 25 - ] + "frameId": "q24_q25_cz_frame", + "portId": "q24_ff", + "frequency": 232758815.04620042, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 24, + 25 + ] }, "q25_q26_cz_frame": { - "frameId": "q25_q26_cz_frame", - "portId": "q26_ff", - "frequency": 327156348.60261124, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 25, - 26 - ] + "frameId": "q25_q26_cz_frame", + "portId": "q26_ff", + "frequency": 327156348.60261124, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 25, + 26 + ] }, "q26_q27_cz_frame": { - "frameId": "q26_q27_cz_frame", - "portId": "q26_ff", - "frequency": 208885990.2601022, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 26, - 27 - ] + "frameId": "q26_q27_cz_frame", + "portId": "q26_ff", + "frequency": 208885990.2601022, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 26, + 27 + ] }, "q27_q124_cz_frame": { - "frameId": "q27_q124_cz_frame", - "portId": "q124_ff", - "frequency": 393545414.0230777, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 27, - 124 - ] + "frameId": "q27_q124_cz_frame", + "portId": "q124_ff", + "frequency": 393545414.0230777, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 27, + 124 + ] }, "q30_q31_cz_frame": { - "frameId": "q30_q31_cz_frame", - "portId": "q30_ff", - "frequency": 167941267.9406497, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 30, - 31 - ] + "frameId": "q30_q31_cz_frame", + "portId": "q30_ff", + "frequency": 167941267.9406497, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 30, + 31 + ] }, "q30_q37_cz_frame": { - "frameId": "q30_q37_cz_frame", - "portId": "q30_ff", - "frequency": 254712195.18725064, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 30, - 37 - ] + "frameId": "q30_q37_cz_frame", + "portId": "q30_ff", + "frequency": 254712195.18725064, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 30, + 37 + ] }, "q31_q32_cz_frame": { - "frameId": "q31_q32_cz_frame", - "portId": "q32_ff", - "frequency": 267817592.8926797, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 31, - 32 - ] + "frameId": "q31_q32_cz_frame", + "portId": "q32_ff", + "frequency": 267817592.8926797, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 31, + 32 + ] }, "q31_q46_cz_frame": { - "frameId": "q31_q46_cz_frame", - "portId": "q46_ff", - "frequency": 350929652.66092604, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 31, - 46 - ] + "frameId": "q31_q46_cz_frame", + "portId": "q46_ff", + "frequency": 350929652.66092604, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 31, + 46 + ] }, "q32_q33_cz_frame": { - "frameId": "q32_q33_cz_frame", - "portId": "q32_ff", - "frequency": 250644277.34989896, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 32, - 33 - ] + "frameId": "q32_q33_cz_frame", + "portId": "q32_ff", + "frequency": 250644277.34989896, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 32, + 33 + ] }, "q32_q45_cz_frame": { - "frameId": "q32_q45_cz_frame", - "portId": "q32_ff", - "frequency": 313112321.89396495, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 32, - 45 - ] + "frameId": "q32_q45_cz_frame", + "portId": "q32_ff", + "frequency": 313112321.89396495, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 32, + 45 + ] }, "q33_q34_cz_frame": { - "frameId": "q33_q34_cz_frame", - "portId": "q34_ff", - "frequency": 185638634.2102202, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 33, - 34 - ] + "frameId": "q33_q34_cz_frame", + "portId": "q34_ff", + "frequency": 185638634.2102202, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 33, + 34 + ] }, "q34_q35_cz_frame": { - "frameId": "q34_q35_cz_frame", - "portId": "q34_ff", - "frequency": 234197174.29660448, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 34, - 35 - ] + "frameId": "q34_q35_cz_frame", + "portId": "q34_ff", + "frequency": 234197174.29660448, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 34, + 35 + ] }, "q35_q36_cz_frame": { - "frameId": "q35_q36_cz_frame", - "portId": "q36_ff", - "frequency": 215896528.34976044, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 35, - 36 - ] + "frameId": "q35_q36_cz_frame", + "portId": "q36_ff", + "frequency": 215896528.34976044, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 35, + 36 + ] }, "q36_q37_cz_frame": { - "frameId": "q36_q37_cz_frame", - "portId": "q36_ff", - "frequency": 269698080.87431395, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 36, - 37 - ] + "frameId": "q36_q37_cz_frame", + "portId": "q36_ff", + "frequency": 269698080.87431395, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 36, + 37 + ] }, "q40_q41_cz_frame": { - "frameId": "q40_q41_cz_frame", - "portId": "q40_ff", - "frequency": 213147324.42142272, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 40, - 41 - ] + "frameId": "q40_q41_cz_frame", + "portId": "q40_ff", + "frequency": 213147324.42142272, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 40, + 41 + ] }, "q40_q143_cz_frame": { - "frameId": "q40_q143_cz_frame", - "portId": "q40_ff", - "frequency": 553312006.5202204, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 40, - 143 - ] + "frameId": "q40_q143_cz_frame", + "portId": "q40_ff", + "frequency": 553312006.5202204, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 40, + 143 + ] }, "q41_q42_cz_frame": { - "frameId": "q41_q42_cz_frame", - "portId": "q42_ff", - "frequency": 325460310.17775005, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 41, - 42 - ] + "frameId": "q41_q42_cz_frame", + "portId": "q42_ff", + "frequency": 325460310.17775005, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 41, + 42 + ] }, "q42_q43_cz_frame": { - "frameId": "q42_q43_cz_frame", - "portId": "q42_ff", - "frequency": 515478111.65315574, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 42, - 43 - ] + "frameId": "q42_q43_cz_frame", + "portId": "q42_ff", + "frequency": 515478111.65315574, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 42, + 43 + ] }, "q43_q44_cz_frame": { - "frameId": "q43_q44_cz_frame", - "portId": "q44_ff", - "frequency": 247030878.77983126, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 43, - 44 - ] + "frameId": "q43_q44_cz_frame", + "portId": "q44_ff", + "frequency": 247030878.77983126, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 43, + 44 + ] }, "q44_q45_cz_frame": { - "frameId": "q44_q45_cz_frame", - "portId": "q44_ff", - "frequency": 489617646.96395326, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 44, - 45 - ] + "frameId": "q44_q45_cz_frame", + "portId": "q44_ff", + "frequency": 489617646.96395326, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 44, + 45 + ] }, "q45_q46_cz_frame": { - "frameId": "q45_q46_cz_frame", - "portId": "q46_ff", - "frequency": 175883248.4633157, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 45, - 46 - ] + "frameId": "q45_q46_cz_frame", + "portId": "q46_ff", + "frequency": 175883248.4633157, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 45, + 46 + ] }, "q47_q144_cz_frame": { - "frameId": "q47_q144_cz_frame", - "portId": "q144_ff", - "frequency": 388735180.1585389, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 47, - 144 - ] + "frameId": "q47_q144_cz_frame", + "portId": "q144_ff", + "frequency": 388735180.1585389, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 47, + 144 + ] }, "q100_q101_cz_frame": { - "frameId": "q100_q101_cz_frame", - "portId": "q100_ff", - "frequency": 250072441.24772963, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 100, - 101 - ] + "frameId": "q100_q101_cz_frame", + "portId": "q100_ff", + "frequency": 250072441.24772963, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 100, + 101 + ] }, "q100_q107_cz_frame": { - "frameId": "q100_q107_cz_frame", - "portId": "q100_ff", - "frequency": 232165976.3579757, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 100, - 107 - ] + "frameId": "q100_q107_cz_frame", + "portId": "q100_ff", + "frequency": 232165976.3579757, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 100, + 107 + ] }, "q102_q103_cz_frame": { - "frameId": "q102_q103_cz_frame", - "portId": "q102_ff", - "frequency": 268109022.73908636, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 102, - 103 - ] + "frameId": "q102_q103_cz_frame", + "portId": "q102_ff", + "frequency": 268109022.73908636, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 102, + 103 + ] }, "q102_q115_cz_frame": { - "frameId": "q102_q115_cz_frame", - "portId": "q102_ff", - "frequency": 246740972.0104891, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 102, - 115 - ] + "frameId": "q102_q115_cz_frame", + "portId": "q102_ff", + "frequency": 246740972.0104891, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 102, + 115 + ] }, "q103_q104_cz_frame": { - "frameId": "q103_q104_cz_frame", - "portId": "q104_ff", - "frequency": 193567692.2669819, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 103, - 104 - ] + "frameId": "q103_q104_cz_frame", + "portId": "q104_ff", + "frequency": 193567692.2669819, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 103, + 104 + ] }, "q104_q105_cz_frame": { - "frameId": "q104_q105_cz_frame", - "portId": "q104_ff", - "frequency": 348785823.5444232, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 104, - 105 - ] + "frameId": "q104_q105_cz_frame", + "portId": "q104_ff", + "frequency": 348785823.5444232, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 104, + 105 + ] }, "q106_q107_cz_frame": { - "frameId": "q106_q107_cz_frame", - "portId": "q106_ff", - "frequency": 221791422.25081244, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 106, - 107 - ] + "frameId": "q106_q107_cz_frame", + "portId": "q106_ff", + "frequency": 221791422.25081244, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 106, + 107 + ] }, "q110_q111_cz_frame": { - "frameId": "q110_q111_cz_frame", - "portId": "q110_ff", - "frequency": 158099370.87457204, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 110, - 111 - ] + "frameId": "q110_q111_cz_frame", + "portId": "q110_ff", + "frequency": 158099370.87457204, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 110, + 111 + ] }, "q110_q117_cz_frame": { - "frameId": "q110_q117_cz_frame", - "portId": "q110_ff", - "frequency": 271498059.7771275, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 110, - 117 - ] + "frameId": "q110_q117_cz_frame", + "portId": "q110_ff", + "frequency": 271498059.7771275, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 110, + 117 + ] }, "q111_q112_cz_frame": { - "frameId": "q111_q112_cz_frame", - "portId": "q112_ff", - "frequency": 335285390.8518622, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 111, - 112 - ] + "frameId": "q111_q112_cz_frame", + "portId": "q112_ff", + "frequency": 335285390.8518622, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 111, + 112 + ] }, "q111_q126_cz_frame": { - "frameId": "q111_q126_cz_frame", - "portId": "q126_ff", - "frequency": 141564371.61728132, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 111, - 126 - ] + "frameId": "q111_q126_cz_frame", + "portId": "q126_ff", + "frequency": 141564371.61728132, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 111, + 126 + ] }, "q112_q113_cz_frame": { - "frameId": "q112_q113_cz_frame", - "portId": "q112_ff", - "frequency": 289301605.44952875, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 112, - 113 - ] + "frameId": "q112_q113_cz_frame", + "portId": "q112_ff", + "frequency": 289301605.44952875, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 112, + 113 + ] }, "q112_q125_cz_frame": { - "frameId": "q112_q125_cz_frame", - "portId": "q112_ff", - "frequency": 549354527.6496285, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 112, - 125 - ] + "frameId": "q112_q125_cz_frame", + "portId": "q112_ff", + "frequency": 549354527.6496285, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 112, + 125 + ] }, "q113_q114_cz_frame": { - "frameId": "q113_q114_cz_frame", - "portId": "q114_ff", - "frequency": 162427633.54200944, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 113, - 114 - ] + "frameId": "q113_q114_cz_frame", + "portId": "q114_ff", + "frequency": 162427633.54200944, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 113, + 114 + ] }, "q114_q115_cz_frame": { - "frameId": "q114_q115_cz_frame", - "portId": "q114_ff", - "frequency": 154626750.47907907, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 114, - 115 - ] + "frameId": "q114_q115_cz_frame", + "portId": "q114_ff", + "frequency": 154626750.47907907, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 114, + 115 + ] }, "q120_q121_cz_frame": { - "frameId": "q120_q121_cz_frame", - "portId": "q120_ff", - "frequency": 139483619.56690416, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 120, - 121 - ] + "frameId": "q120_q121_cz_frame", + "portId": "q120_ff", + "frequency": 139483619.56690416, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 120, + 121 + ] }, "q120_q127_cz_frame": { - "frameId": "q120_q127_cz_frame", - "portId": "q120_ff", - "frequency": 439614741.7925588, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 120, - 127 - ] + "frameId": "q120_q127_cz_frame", + "portId": "q120_ff", + "frequency": 439614741.7925588, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 120, + 127 + ] }, "q121_q122_cz_frame": { - "frameId": "q121_q122_cz_frame", - "portId": "q122_ff", - "frequency": 311945759.6768899, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 121, - 122 - ] + "frameId": "q121_q122_cz_frame", + "portId": "q122_ff", + "frequency": 311945759.6768899, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 121, + 122 + ] }, "q122_q123_cz_frame": { - "frameId": "q122_q123_cz_frame", - "portId": "q122_ff", - "frequency": 222484409.0799179, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 122, - 123 - ] + "frameId": "q122_q123_cz_frame", + "portId": "q122_ff", + "frequency": 222484409.0799179, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 122, + 123 + ] }, "q122_q135_cz_frame": { - "frameId": "q122_q135_cz_frame", - "portId": "q122_ff", - "frequency": 317197846.1872384, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 122, - 135 - ] + "frameId": "q122_q135_cz_frame", + "portId": "q122_ff", + "frequency": 317197846.1872384, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 122, + 135 + ] }, "q123_q124_cz_frame": { - "frameId": "q123_q124_cz_frame", - "portId": "q124_ff", - "frequency": 144805221.79034168, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 123, - 124 - ] + "frameId": "q123_q124_cz_frame", + "portId": "q124_ff", + "frequency": 144805221.79034168, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 123, + 124 + ] }, "q124_q125_cz_frame": { - "frameId": "q124_q125_cz_frame", - "portId": "q124_ff", - "frequency": 203586489.72478634, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 124, - 125 - ] + "frameId": "q124_q125_cz_frame", + "portId": "q124_ff", + "frequency": 203586489.72478634, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 124, + 125 + ] }, "q126_q127_cz_frame": { - "frameId": "q126_q127_cz_frame", - "portId": "q126_ff", - "frequency": 275656848.2444173, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 126, - 127 - ] + "frameId": "q126_q127_cz_frame", + "portId": "q126_ff", + "frequency": 275656848.2444173, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 126, + 127 + ] }, "q130_q137_cz_frame": { - "frameId": "q130_q137_cz_frame", - "portId": "q130_ff", - "frequency": 479205824.40691376, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 130, - 137 - ] + "frameId": "q130_q137_cz_frame", + "portId": "q130_ff", + "frequency": 479205824.40691376, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 130, + 137 + ] }, "q131_q132_cz_frame": { - "frameId": "q131_q132_cz_frame", - "portId": "q132_ff", - "frequency": 216554854.2294825, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 131, - 132 - ] + "frameId": "q131_q132_cz_frame", + "portId": "q132_ff", + "frequency": 216554854.2294825, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 131, + 132 + ] }, "q132_q133_cz_frame": { - "frameId": "q132_q133_cz_frame", - "portId": "q132_ff", - "frequency": 263583946.00791973, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 132, - 133 - ] + "frameId": "q132_q133_cz_frame", + "portId": "q132_ff", + "frequency": 263583946.00791973, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 132, + 133 + ] }, "q132_q145_cz_frame": { - "frameId": "q132_q145_cz_frame", - "portId": "q132_ff", - "frequency": 311028793.1356901, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 132, - 145 - ] + "frameId": "q132_q145_cz_frame", + "portId": "q132_ff", + "frequency": 311028793.1356901, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 132, + 145 + ] }, "q133_q134_cz_frame": { - "frameId": "q133_q134_cz_frame", - "portId": "q134_ff", - "frequency": 235405355.124996, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 133, - 134 - ] + "frameId": "q133_q134_cz_frame", + "portId": "q134_ff", + "frequency": 235405355.124996, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 133, + 134 + ] }, "q134_q135_cz_frame": { - "frameId": "q134_q135_cz_frame", - "portId": "q134_ff", - "frequency": 296998499.54160345, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 134, - 135 - ] + "frameId": "q134_q135_cz_frame", + "portId": "q134_ff", + "frequency": 296998499.54160345, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 134, + 135 + ] }, "q140_q141_cz_frame": { - "frameId": "q140_q141_cz_frame", - "portId": "q140_ff", - "frequency": 197186439.13403037, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 140, - 141 - ] + "frameId": "q140_q141_cz_frame", + "portId": "q140_ff", + "frequency": 197186439.13403037, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 140, + 141 + ] }, "q140_q147_cz_frame": { - "frameId": "q140_q147_cz_frame", - "portId": "q140_ff", - "frequency": 229810317.59513775, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 140, - 147 - ] + "frameId": "q140_q147_cz_frame", + "portId": "q140_ff", + "frequency": 229810317.59513775, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 140, + 147 + ] }, "q141_q142_cz_frame": { - "frameId": "q141_q142_cz_frame", - "portId": "q142_ff", - "frequency": 267506134.73537275, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 141, - 142 - ] + "frameId": "q141_q142_cz_frame", + "portId": "q142_ff", + "frequency": 267506134.73537275, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 141, + 142 + ] }, "q142_q143_cz_frame": { - "frameId": "q142_q143_cz_frame", - "portId": "q142_ff", - "frequency": 229459161.56728294, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 142, - 143 - ] + "frameId": "q142_q143_cz_frame", + "portId": "q142_ff", + "frequency": 229459161.56728294, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 142, + 143 + ] }, "q143_q144_cz_frame": { - "frameId": "q143_q144_cz_frame", - "portId": "q144_ff", - "frequency": 208238349.97587523, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 143, - 144 - ] + "frameId": "q143_q144_cz_frame", + "portId": "q144_ff", + "frequency": 208238349.97587523, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 143, + 144 + ] }, "q144_q145_cz_frame": { - "frameId": "q144_q145_cz_frame", - "portId": "q144_ff", - "frequency": 308445431.31160706, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 144, - 145 - ] + "frameId": "q144_q145_cz_frame", + "portId": "q144_ff", + "frequency": 308445431.31160706, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 144, + 145 + ] }, "q145_q146_cz_frame": { - "frameId": "q145_q146_cz_frame", - "portId": "q146_ff", - "frequency": 369968480.1887181, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 145, - 146 - ] + "frameId": "q145_q146_cz_frame", + "portId": "q146_ff", + "frequency": 369968480.1887181, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 145, + 146 + ] }, "q146_q147_cz_frame": { - "frameId": "q146_q147_cz_frame", - "portId": "q146_ff", - "frequency": 157636776.1384021, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "cz", - "qubitMappings": [ - 146, - 147 - ] + "frameId": "q146_q147_cz_frame", + "portId": "q146_ff", + "frequency": 157636776.1384021, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "cz", + "qubitMappings": [ + 146, + 147 + ] }, "q0_rf_frame": { - "frameId": "q0_rf_frame", - "portId": "q0_rf", - "frequency": 5041123495.37456, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 0 - ] + "frameId": "q0_rf_frame", + "portId": "q0_rf", + "frequency": 5041123495.37456, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 0 + ] }, "q1_rf_frame": { - "frameId": "q1_rf_frame", - "portId": "q1_rf", - "frequency": 3830893518.58284, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 1 - ] + "frameId": "q1_rf_frame", + "portId": "q1_rf", + "frequency": 3830893518.58284, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 1 + ] }, "q2_rf_frame": { - "frameId": "q2_rf_frame", - "portId": "q2_rf", - "frequency": 5352339144.50593, - "centerFrequency": 5250000000.0, - "phase": 0.0, - "qubitMappings": [ - 2 - ] + "frameId": "q2_rf_frame", + "portId": "q2_rf", + "frequency": 5352339144.50593, + "centerFrequency": 5250000000.0, + "phase": 0.0, + "qubitMappings": [ + 2 + ] }, "q3_rf_frame": { - "frameId": "q3_rf_frame", - "portId": "q3_rf", - "frequency": 4068847175.65502, - "centerFrequency": 4125000000.0, - "phase": 0.0, - "qubitMappings": [ - 3 - ] + "frameId": "q3_rf_frame", + "portId": "q3_rf", + "frequency": 4068847175.65502, + "centerFrequency": 4125000000.0, + "phase": 0.0, + "qubitMappings": [ + 3 + ] }, "q4_rf_frame": { - "frameId": "q4_rf_frame", - "portId": "q4_rf", - "frequency": 5199590864.69357, - "centerFrequency": 5250000000.0, - "phase": 0.0, - "qubitMappings": [ - 4 - ] + "frameId": "q4_rf_frame", + "portId": "q4_rf", + "frequency": 5199590864.69357, + "centerFrequency": 5250000000.0, + "phase": 0.0, + "qubitMappings": [ + 4 + ] }, "q5_rf_frame": { - "frameId": "q5_rf_frame", - "portId": "q5_rf", - "frequency": 3977554030.90615, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 5 - ] + "frameId": "q5_rf_frame", + "portId": "q5_rf", + "frequency": 3977554030.90615, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 5 + ] }, "q6_rf_frame": { - "frameId": "q6_rf_frame", - "portId": "q6_rf", - "frequency": 5319659771.10988, - "centerFrequency": 5250000000.0, - "phase": 0.0, - "qubitMappings": [ - 6 - ] + "frameId": "q6_rf_frame", + "portId": "q6_rf", + "frequency": 5319659771.10988, + "centerFrequency": 5250000000.0, + "phase": 0.0, + "qubitMappings": [ + 6 + ] }, "q7_rf_frame": { - "frameId": "q7_rf_frame", - "portId": "q7_rf", - "frequency": 3314217812.83718, - "centerFrequency": 3375000000.0, - "phase": 0.0, - "qubitMappings": [ - 7 - ] + "frameId": "q7_rf_frame", + "portId": "q7_rf", + "frequency": 3314217812.83718, + "centerFrequency": 3375000000.0, + "phase": 0.0, + "qubitMappings": [ + 7 + ] }, "q10_rf_frame": { - "frameId": "q10_rf_frame", - "portId": "q10_rf", - "frequency": 5154981592.63446, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 10 - ] + "frameId": "q10_rf_frame", + "portId": "q10_rf", + "frequency": 5154981592.63446, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 10 + ] }, "q11_rf_frame": { - "frameId": "q11_rf_frame", - "portId": "q11_rf", - "frequency": 4041041950.58134, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 11 - ] + "frameId": "q11_rf_frame", + "portId": "q11_rf", + "frequency": 4041041950.58134, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 11 + ] }, "q12_rf_frame": { - "frameId": "q12_rf_frame", - "portId": "q12_rf", - "frequency": 5354464875.45173, - "centerFrequency": 5250000000.0, - "phase": 0.0, - "qubitMappings": [ - 12 - ] + "frameId": "q12_rf_frame", + "portId": "q12_rf", + "frequency": 5354464875.45173, + "centerFrequency": 5250000000.0, + "phase": 0.0, + "qubitMappings": [ + 12 + ] }, "q13_rf_frame": { - "frameId": "q13_rf_frame", - "portId": "q13_rf", - "frequency": 4134538247.87277, - "centerFrequency": 4125000000.0, - "phase": 0.0, - "qubitMappings": [ - 13 - ] + "frameId": "q13_rf_frame", + "portId": "q13_rf", + "frequency": 4134538247.87277, + "centerFrequency": 4125000000.0, + "phase": 0.0, + "qubitMappings": [ + 13 + ] }, "q14_rf_frame": { - "frameId": "q14_rf_frame", - "portId": "q14_rf", - "frequency": 5205101675.22948, - "centerFrequency": 5250000000.0, - "phase": 0.0, - "qubitMappings": [ - 14 - ] + "frameId": "q14_rf_frame", + "portId": "q14_rf", + "frequency": 5205101675.22948, + "centerFrequency": 5250000000.0, + "phase": 0.0, + "qubitMappings": [ + 14 + ] }, "q15_rf_frame": { - "frameId": "q15_rf_frame", - "portId": "q15_rf", - "frequency": 4052736553.74799, - "centerFrequency": 4125000000.0, - "phase": 0.0, - "qubitMappings": [ - 15 - ] + "frameId": "q15_rf_frame", + "portId": "q15_rf", + "frequency": 4052736553.74799, + "centerFrequency": 4125000000.0, + "phase": 0.0, + "qubitMappings": [ + 15 + ] }, "q16_rf_frame": { - "frameId": "q16_rf_frame", - "portId": "q16_rf", - "frequency": 5014219755.19911, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 16 - ] + "frameId": "q16_rf_frame", + "portId": "q16_rf", + "frequency": 5014219755.19911, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 16 + ] }, "q17_rf_frame": { - "frameId": "q17_rf_frame", - "portId": "q17_rf", - "frequency": 3630554220.65662, - "centerFrequency": 3375000000.0, - "phase": 0.0, - "qubitMappings": [ - 17 - ] + "frameId": "q17_rf_frame", + "portId": "q17_rf", + "frequency": 3630554220.65662, + "centerFrequency": 3375000000.0, + "phase": 0.0, + "qubitMappings": [ + 17 + ] }, "q20_rf_frame": { - "frameId": "q20_rf_frame", - "portId": "q20_rf", - "frequency": 5169781386.59244, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 20 - ] + "frameId": "q20_rf_frame", + "portId": "q20_rf", + "frequency": 5169781386.59244, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 20 + ] }, "q21_rf_frame": { - "frameId": "q21_rf_frame", - "portId": "q21_rf", - "frequency": 3949751145.49081, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 21 - ] + "frameId": "q21_rf_frame", + "portId": "q21_rf", + "frequency": 3949751145.49081, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 21 + ] }, "q22_rf_frame": { - "frameId": "q22_rf_frame", - "portId": "q22_rf", - "frequency": 4686149015.90729, - "centerFrequency": 4500000000.0, - "phase": 0.0, - "qubitMappings": [ - 22 - ] + "frameId": "q22_rf_frame", + "portId": "q22_rf", + "frequency": 4686149015.90729, + "centerFrequency": 4500000000.0, + "phase": 0.0, + "qubitMappings": [ + 22 + ] }, "q23_rf_frame": { - "frameId": "q23_rf_frame", - "portId": "q23_rf", - "frequency": 3954892302.172, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 23 - ] + "frameId": "q23_rf_frame", + "portId": "q23_rf", + "frequency": 3954892302.172, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 23 + ] }, "q24_rf_frame": { - "frameId": "q24_rf_frame", - "portId": "q24_rf", - "frequency": 5369478356.03473, - "centerFrequency": 5250000000.0, - "phase": 0.0, - "qubitMappings": [ - 24 - ] + "frameId": "q24_rf_frame", + "portId": "q24_rf", + "frequency": 5369478356.03473, + "centerFrequency": 5250000000.0, + "phase": 0.0, + "qubitMappings": [ + 24 + ] }, "q25_rf_frame": { - "frameId": "q25_rf_frame", - "portId": "q25_rf", - "frequency": 4058236800.80281, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 25 - ] + "frameId": "q25_rf_frame", + "portId": "q25_rf", + "frequency": 4058236800.80281, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 25 + ] }, "q26_rf_frame": { - "frameId": "q26_rf_frame", - "portId": "q26_rf", - "frequency": 5118275642.15201, - "centerFrequency": 5250000000.0, - "phase": 0.0, - "qubitMappings": [ - 26 - ] + "frameId": "q26_rf_frame", + "portId": "q26_rf", + "frequency": 5118275642.15201, + "centerFrequency": 5250000000.0, + "phase": 0.0, + "qubitMappings": [ + 26 + ] }, "q27_rf_frame": { - "frameId": "q27_rf_frame", - "portId": "q27_rf", - "frequency": 3847162264.57585, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 27 - ] + "frameId": "q27_rf_frame", + "portId": "q27_rf", + "frequency": 3847162264.57585, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 27 + ] }, "q30_rf_frame": { - "frameId": "q30_rf_frame", - "portId": "q30_rf", - "frequency": 5207885007.09703, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 30 - ] + "frameId": "q30_rf_frame", + "portId": "q30_rf", + "frequency": 5207885007.09703, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 30 + ] }, "q31_rf_frame": { - "frameId": "q31_rf_frame", - "portId": "q31_rf", - "frequency": 4056278701.73198, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 31 - ] + "frameId": "q31_rf_frame", + "portId": "q31_rf", + "frequency": 4056278701.73198, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 31 + ] }, "q32_rf_frame": { - "frameId": "q32_rf_frame", - "portId": "q32_rf", - "frequency": 5388397363.12095, - "centerFrequency": 5250000000.0, - "phase": 0.0, - "qubitMappings": [ - 32 - ] + "frameId": "q32_rf_frame", + "portId": "q32_rf", + "frequency": 5388397363.12095, + "centerFrequency": 5250000000.0, + "phase": 0.0, + "qubitMappings": [ + 32 + ] }, "q33_rf_frame": { - "frameId": "q33_rf_frame", - "portId": "q33_rf", - "frequency": 4091976373.40596, - "centerFrequency": 4125000000.0, - "phase": 0.0, - "qubitMappings": [ - 33 - ] + "frameId": "q33_rf_frame", + "portId": "q33_rf", + "frequency": 4091976373.40596, + "centerFrequency": 4125000000.0, + "phase": 0.0, + "qubitMappings": [ + 33 + ] }, "q34_rf_frame": { - "frameId": "q34_rf_frame", - "portId": "q34_rf", - "frequency": 5291268325.95264, - "centerFrequency": 5250000000.0, - "phase": 0.0, - "qubitMappings": [ - 34 - ] + "frameId": "q34_rf_frame", + "portId": "q34_rf", + "frequency": 5291268325.95264, + "centerFrequency": 5250000000.0, + "phase": 0.0, + "qubitMappings": [ + 34 + ] }, "q35_rf_frame": { - "frameId": "q35_rf_frame", - "portId": "q35_rf", - "frequency": 3993942956.41148, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 35 - ] + "frameId": "q35_rf_frame", + "portId": "q35_rf", + "frequency": 3993942956.41148, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 35 + ] }, "q36_rf_frame": { - "frameId": "q36_rf_frame", - "portId": "q36_rf", - "frequency": 5242197670.81703, - "centerFrequency": 5250000000.0, - "phase": 0.0, - "qubitMappings": [ - 36 - ] + "frameId": "q36_rf_frame", + "portId": "q36_rf", + "frequency": 5242197670.81703, + "centerFrequency": 5250000000.0, + "phase": 0.0, + "qubitMappings": [ + 36 + ] }, "q37_rf_frame": { - "frameId": "q37_rf_frame", - "portId": "q37_rf", - "frequency": 3882483060.58929, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 37 - ] + "frameId": "q37_rf_frame", + "portId": "q37_rf", + "frequency": 3882483060.58929, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 37 + ] }, "q40_rf_frame": { - "frameId": "q40_rf_frame", - "portId": "q40_rf", - "frequency": 5106253867.98358, - "centerFrequency": 5250000000.0, - "phase": 0.0, - "qubitMappings": [ - 40 - ] + "frameId": "q40_rf_frame", + "portId": "q40_rf", + "frequency": 5106253867.98358, + "centerFrequency": 5250000000.0, + "phase": 0.0, + "qubitMappings": [ + 40 + ] }, "q41_rf_frame": { - "frameId": "q41_rf_frame", - "portId": "q41_rf", - "frequency": 3951078628.88988, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 41 - ] + "frameId": "q41_rf_frame", + "portId": "q41_rf", + "frequency": 3951078628.88988, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 41 + ] }, "q42_rf_frame": { - "frameId": "q42_rf_frame", - "portId": "q42_rf", - "frequency": 5468499941.90279, - "centerFrequency": 5250000000.0, - "phase": 0.0, - "qubitMappings": [ - 42 - ] + "frameId": "q42_rf_frame", + "portId": "q42_rf", + "frequency": 5468499941.90279, + "centerFrequency": 5250000000.0, + "phase": 0.0, + "qubitMappings": [ + 42 + ] }, "q43_rf_frame": { - "frameId": "q43_rf_frame", - "portId": "q43_rf", - "frequency": 4007261640.81757, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 43 - ] + "frameId": "q43_rf_frame", + "portId": "q43_rf", + "frequency": 4007261640.81757, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 43 + ] }, "q44_rf_frame": { - "frameId": "q44_rf_frame", - "portId": "q44_rf", - "frequency": 5331659666.52892, - "centerFrequency": 5250000000.0, - "phase": 0.0, - "qubitMappings": [ - 44 - ] + "frameId": "q44_rf_frame", + "portId": "q44_rf", + "frequency": 5331659666.52892, + "centerFrequency": 5250000000.0, + "phase": 0.0, + "qubitMappings": [ + 44 + ] }, "q45_rf_frame": { - "frameId": "q45_rf_frame", - "portId": "q45_rf", - "frequency": 3962683921.37174, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 45 - ] + "frameId": "q45_rf_frame", + "portId": "q45_rf", + "frequency": 3962683921.37174, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 45 + ] }, "q46_rf_frame": { - "frameId": "q46_rf_frame", - "portId": "q46_rf", - "frequency": 5172766923.21586, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 46 - ] + "frameId": "q46_rf_frame", + "portId": "q46_rf", + "frequency": 5172766923.21586, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 46 + ] }, "q47_rf_frame": { - "frameId": "q47_rf_frame", - "portId": "q47_rf", - "frequency": 3772063307.49461, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 47 - ] + "frameId": "q47_rf_frame", + "portId": "q47_rf", + "frequency": 3772063307.49461, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 47 + ] }, "q100_rf_frame": { - "frameId": "q100_rf_frame", - "portId": "q100_rf", - "frequency": 4763212705.47481, - "centerFrequency": 4500000000.0, - "phase": 0.0, - "qubitMappings": [ - 100 - ] + "frameId": "q100_rf_frame", + "portId": "q100_rf", + "frequency": 4763212705.47481, + "centerFrequency": 4500000000.0, + "phase": 0.0, + "qubitMappings": [ + 100 + ] }, "q101_rf_frame": { - "frameId": "q101_rf_frame", - "portId": "q101_rf", - "frequency": 3552726330.05155, - "centerFrequency": 3375000000.0, - "phase": 0.0, - "qubitMappings": [ - 101 - ] + "frameId": "q101_rf_frame", + "portId": "q101_rf", + "frequency": 3552726330.05155, + "centerFrequency": 3375000000.0, + "phase": 0.0, + "qubitMappings": [ + 101 + ] }, "q102_rf_frame": { - "frameId": "q102_rf_frame", - "portId": "q102_rf", - "frequency": 5089227659.94426, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 102 - ] + "frameId": "q102_rf_frame", + "portId": "q102_rf", + "frequency": 5089227659.94426, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 102 + ] }, "q103_rf_frame": { - "frameId": "q103_rf_frame", - "portId": "q103_rf", - "frequency": 3760924752.15217, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 103 - ] + "frameId": "q103_rf_frame", + "portId": "q103_rf", + "frequency": 3760924752.15217, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 103 + ] }, "q104_rf_frame": { - "frameId": "q104_rf_frame", - "portId": "q104_rf", - "frequency": 4841188568.86085, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 104 - ] + "frameId": "q104_rf_frame", + "portId": "q104_rf", + "frequency": 4841188568.86085, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 104 + ] }, "q105_rf_frame": { - "frameId": "q105_rf_frame", - "portId": "q105_rf", - "frequency": 3784842917.68906, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 105 - ] + "frameId": "q105_rf_frame", + "portId": "q105_rf", + "frequency": 3784842917.68906, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 105 + ] }, "q106_rf_frame": { - "frameId": "q106_rf_frame", - "portId": "q106_rf", - "frequency": 4989678008.37076, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 106 - ] + "frameId": "q106_rf_frame", + "portId": "q106_rf", + "frequency": 4989678008.37076, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 106 + ] }, "q107_rf_frame": { - "frameId": "q107_rf_frame", - "portId": "q107_rf", - "frequency": 3589325143.32157, - "centerFrequency": 3375000000.0, - "phase": 0.0, - "qubitMappings": [ - 107 - ] + "frameId": "q107_rf_frame", + "portId": "q107_rf", + "frequency": 3589325143.32157, + "centerFrequency": 3375000000.0, + "phase": 0.0, + "qubitMappings": [ + 107 + ] }, "q110_rf_frame": { - "frameId": "q110_rf_frame", - "portId": "q110_rf", - "frequency": 4788238974.31863, - "centerFrequency": 4500000000.0, - "phase": 0.0, - "qubitMappings": [ - 110 - ] + "frameId": "q110_rf_frame", + "portId": "q110_rf", + "frequency": 4788238974.31863, + "centerFrequency": 4500000000.0, + "phase": 0.0, + "qubitMappings": [ + 110 + ] }, "q111_rf_frame": { - "frameId": "q111_rf_frame", - "portId": "q111_rf", - "frequency": 3690111020.18588, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 111 - ] + "frameId": "q111_rf_frame", + "portId": "q111_rf", + "frequency": 3690111020.18588, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 111 + ] }, "q112_rf_frame": { - "frameId": "q112_rf_frame", - "portId": "q112_rf", - "frequency": 5073435912.45744, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 112 - ] + "frameId": "q112_rf_frame", + "portId": "q112_rf", + "frequency": 5073435912.45744, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 112 + ] }, "q113_rf_frame": { - "frameId": "q113_rf_frame", - "portId": "q113_rf", - "frequency": 3614361877.91564, - "centerFrequency": 3375000000.0, - "phase": 0.0, - "qubitMappings": [ - 113 - ] + "frameId": "q113_rf_frame", + "portId": "q113_rf", + "frequency": 3614361877.91564, + "centerFrequency": 3375000000.0, + "phase": 0.0, + "qubitMappings": [ + 113 + ] }, "q114_rf_frame": { - "frameId": "q114_rf_frame", - "portId": "q114_rf", - "frequency": 4815718598.49638, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 114 - ] + "frameId": "q114_rf_frame", + "portId": "q114_rf", + "frequency": 4815718598.49638, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 114 + ] }, "q115_rf_frame": { - "frameId": "q115_rf_frame", - "portId": "q115_rf", - "frequency": 3807236178.45921, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 115 - ] + "frameId": "q115_rf_frame", + "portId": "q115_rf", + "frequency": 3807236178.45921, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 115 + ] }, "q116_rf_frame": { - "frameId": "q116_rf_frame", - "portId": "q116_rf", - "frequency": 4895102462.61294, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 116 - ] + "frameId": "q116_rf_frame", + "portId": "q116_rf", + "frequency": 4895102462.61294, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 116 + ] }, "q117_rf_frame": { - "frameId": "q117_rf_frame", - "portId": "q117_rf", - "frequency": 3462725426.453, - "centerFrequency": 3375000000.0, - "phase": 0.0, - "qubitMappings": [ - 117 - ] + "frameId": "q117_rf_frame", + "portId": "q117_rf", + "frequency": 3462725426.453, + "centerFrequency": 3375000000.0, + "phase": 0.0, + "qubitMappings": [ + 117 + ] }, "q120_rf_frame": { - "frameId": "q120_rf_frame", - "portId": "q120_rf", - "frequency": 4835763593.21992, - "centerFrequency": 4500000000.0, - "phase": 0.0, - "qubitMappings": [ - 120 - ] + "frameId": "q120_rf_frame", + "portId": "q120_rf", + "frequency": 4835763593.21992, + "centerFrequency": 4500000000.0, + "phase": 0.0, + "qubitMappings": [ + 120 + ] }, "q121_rf_frame": { - "frameId": "q121_rf_frame", - "portId": "q121_rf", - "frequency": 3742857848.45346, - "centerFrequency": 3375000000.0, - "phase": 0.0, - "qubitMappings": [ - 121 - ] + "frameId": "q121_rf_frame", + "portId": "q121_rf", + "frequency": 3742857848.45346, + "centerFrequency": 3375000000.0, + "phase": 0.0, + "qubitMappings": [ + 121 + ] }, "q122_rf_frame": { - "frameId": "q122_rf_frame", - "portId": "q122_rf", - "frequency": 4981651925.86341, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 122 - ] + "frameId": "q122_rf_frame", + "portId": "q122_rf", + "frequency": 4981651925.86341, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 122 + ] }, "q123_rf_frame": { - "frameId": "q123_rf_frame", - "portId": "q123_rf", - "frequency": 3894877149.49381, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 123 - ] + "frameId": "q123_rf_frame", + "portId": "q123_rf", + "frequency": 3894877149.49381, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 123 + ] }, "q124_rf_frame": { - "frameId": "q124_rf_frame", - "portId": "q124_rf", - "frequency": 4990875011.77469, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 124 - ] + "frameId": "q124_rf_frame", + "portId": "q124_rf", + "frequency": 4990875011.77469, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 124 + ] }, "q125_rf_frame": { - "frameId": "q125_rf_frame", - "portId": "q125_rf", - "frequency": 3711663445.18343, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 125 - ] + "frameId": "q125_rf_frame", + "portId": "q125_rf", + "frequency": 3711663445.18343, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 125 + ] }, "q126_rf_frame": { - "frameId": "q126_rf_frame", - "portId": "q126_rf", - "frequency": 4779755515.25782, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 126 - ] + "frameId": "q126_rf_frame", + "portId": "q126_rf", + "frequency": 4779755515.25782, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 126 + ] }, "q127_rf_frame": { - "frameId": "q127_rf_frame", - "portId": "q127_rf", - "frequency": 3595424853.28865, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 127 - ] + "frameId": "q127_rf_frame", + "portId": "q127_rf", + "frequency": 3595424853.28865, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 127 + ] }, "q130_rf_frame": { - "frameId": "q130_rf_frame", - "portId": "q130_rf", - "frequency": 4892215074.55334, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 130 - ] + "frameId": "q130_rf_frame", + "portId": "q130_rf", + "frequency": 4892215074.55334, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 130 + ] }, "q131_rf_frame": { - "frameId": "q131_rf_frame", - "portId": "q131_rf", - "frequency": 3838480116.53918, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 131 - ] + "frameId": "q131_rf_frame", + "portId": "q131_rf", + "frequency": 3838480116.53918, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 131 + ] }, "q132_rf_frame": { - "frameId": "q132_rf_frame", - "portId": "q132_rf", - "frequency": 5057081444.41013, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 132 - ] + "frameId": "q132_rf_frame", + "portId": "q132_rf", + "frequency": 5057081444.41013, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 132 + ] }, "q133_rf_frame": { - "frameId": "q133_rf_frame", - "portId": "q133_rf", - "frequency": 3744818487.56968, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 133 - ] + "frameId": "q133_rf_frame", + "portId": "q133_rf", + "frequency": 3744818487.56968, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 133 + ] }, "q134_rf_frame": { - "frameId": "q134_rf_frame", - "portId": "q134_rf", - "frequency": 4992594681.92586, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 134 - ] + "frameId": "q134_rf_frame", + "portId": "q134_rf", + "frequency": 4992594681.92586, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 134 + ] }, "q135_rf_frame": { - "frameId": "q135_rf_frame", - "portId": "q135_rf", - "frequency": 3691581298.786, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 135 - ] + "frameId": "q135_rf_frame", + "portId": "q135_rf", + "frequency": 3691581298.786, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 135 + ] }, "q137_rf_frame": { - "frameId": "q137_rf_frame", - "portId": "q137_rf", - "frequency": 3648076723.85652, - "centerFrequency": 3375000000.0, - "phase": 0.0, - "qubitMappings": [ - 137 - ] + "frameId": "q137_rf_frame", + "portId": "q137_rf", + "frequency": 3648076723.85652, + "centerFrequency": 3375000000.0, + "phase": 0.0, + "qubitMappings": [ + 137 + ] }, "q140_rf_frame": { - "frameId": "q140_rf_frame", - "portId": "q140_rf", - "frequency": 4815066393.33025, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 140 - ] + "frameId": "q140_rf_frame", + "portId": "q140_rf", + "frequency": 4815066393.33025, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 140 + ] }, "q141_rf_frame": { - "frameId": "q141_rf_frame", - "portId": "q141_rf", - "frequency": 3660068557.80626, - "centerFrequency": 3375000000.0, - "phase": 0.0, - "qubitMappings": [ - 141 - ] + "frameId": "q141_rf_frame", + "portId": "q141_rf", + "frequency": 3660068557.80626, + "centerFrequency": 3375000000.0, + "phase": 0.0, + "qubitMappings": [ + 141 + ] }, "q142_rf_frame": { - "frameId": "q142_rf_frame", - "portId": "q142_rf", - "frequency": 5033817228.61666, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 142 - ] + "frameId": "q142_rf_frame", + "portId": "q142_rf", + "frequency": 5033817228.61666, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 142 + ] }, "q143_rf_frame": { - "frameId": "q143_rf_frame", - "portId": "q143_rf", - "frequency": 3723511576.10247, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 143 - ] + "frameId": "q143_rf_frame", + "portId": "q143_rf", + "frequency": 3723511576.10247, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 143 + ] }, "q144_rf_frame": { - "frameId": "q144_rf_frame", - "portId": "q144_rf", - "frequency": 4912375574.96348, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 144 - ] + "frameId": "q144_rf_frame", + "portId": "q144_rf", + "frequency": 4912375574.96348, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 144 + ] }, "q145_rf_frame": { - "frameId": "q145_rf_frame", - "portId": "q145_rf", - "frequency": 3647273988.89605, - "centerFrequency": 3375000000.0, - "phase": 0.0, - "qubitMappings": [ - 145 - ] + "frameId": "q145_rf_frame", + "portId": "q145_rf", + "frequency": 3647273988.89605, + "centerFrequency": 3375000000.0, + "phase": 0.0, + "qubitMappings": [ + 145 + ] }, "q146_rf_frame": { - "frameId": "q146_rf_frame", - "portId": "q146_rf", - "frequency": 4844368444.75034, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 146 - ] + "frameId": "q146_rf_frame", + "portId": "q146_rf", + "frequency": 4844368444.75034, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 146 + ] }, "q147_rf_frame": { - "frameId": "q147_rf_frame", - "portId": "q147_rf", - "frequency": 3594564259.8693, - "centerFrequency": 3375000000.0, - "phase": 0.0, - "qubitMappings": [ - 147 - ] + "frameId": "q147_rf_frame", + "portId": "q147_rf", + "frequency": 3594564259.8693, + "centerFrequency": 3375000000.0, + "phase": 0.0, + "qubitMappings": [ + 147 + ] }, "q0_rf_f12_frame": { - "frameId": "q0_rf_f12_frame", - "portId": "q0_rf_f12", - "frequency": 4819015222.89855, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 0 - ] + "frameId": "q0_rf_f12_frame", + "portId": "q0_rf_f12", + "frequency": 4819015222.89855, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 0 + ] }, "q1_rf_f12_frame": { - "frameId": "q1_rf_f12_frame", - "portId": "q1_rf_f12", - "frequency": 3619321004.27842, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 1 - ] + "frameId": "q1_rf_f12_frame", + "portId": "q1_rf_f12", + "frequency": 3619321004.27842, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 1 + ] }, "q2_rf_f12_frame": { - "frameId": "q2_rf_f12_frame", - "portId": "q2_rf_f12", - "frequency": 5154069239.35283, - "centerFrequency": 5250000000.0, - "phase": 0.0, - "qubitMappings": [ - 2 - ] + "frameId": "q2_rf_f12_frame", + "portId": "q2_rf_f12", + "frequency": 5154069239.35283, + "centerFrequency": 5250000000.0, + "phase": 0.0, + "qubitMappings": [ + 2 + ] }, "q3_rf_f12_frame": { - "frameId": "q3_rf_f12_frame", - "portId": "q3_rf_f12", - "frequency": 3845304490.29109, - "centerFrequency": 4125000000.0, - "phase": 0.0, - "qubitMappings": [ - 3 - ] + "frameId": "q3_rf_f12_frame", + "portId": "q3_rf_f12", + "frequency": 3845304490.29109, + "centerFrequency": 4125000000.0, + "phase": 0.0, + "qubitMappings": [ + 3 + ] }, "q4_rf_f12_frame": { - "frameId": "q4_rf_f12_frame", - "portId": "q4_rf_f12", - "frequency": 4969641086.13017, - "centerFrequency": 5250000000.0, - "phase": 0.0, - "qubitMappings": [ - 4 - ] + "frameId": "q4_rf_f12_frame", + "portId": "q4_rf_f12", + "frequency": 4969641086.13017, + "centerFrequency": 5250000000.0, + "phase": 0.0, + "qubitMappings": [ + 4 + ] }, "q5_rf_f12_frame": { - "frameId": "q5_rf_f12_frame", - "portId": "q5_rf_f12", - "frequency": 3765811864.59612, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 5 - ] + "frameId": "q5_rf_f12_frame", + "portId": "q5_rf_f12", + "frequency": 3765811864.59612, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 5 + ] }, "q6_rf_f12_frame": { - "frameId": "q6_rf_f12_frame", - "portId": "q6_rf_f12", - "frequency": 5091306283.51768, - "centerFrequency": 5250000000.0, - "phase": 0.0, - "qubitMappings": [ - 6 - ] + "frameId": "q6_rf_f12_frame", + "portId": "q6_rf_f12", + "frequency": 5091306283.51768, + "centerFrequency": 5250000000.0, + "phase": 0.0, + "qubitMappings": [ + 6 + ] }, "q7_rf_f12_frame": { - "frameId": "q7_rf_f12_frame", - "portId": "q7_rf_f12", - "frequency": 3100104090.76234, - "centerFrequency": 3375000000.0, - "phase": 0.0, - "qubitMappings": [ - 7 - ] + "frameId": "q7_rf_f12_frame", + "portId": "q7_rf_f12", + "frequency": 3100104090.76234, + "centerFrequency": 3375000000.0, + "phase": 0.0, + "qubitMappings": [ + 7 + ] }, "q10_rf_f12_frame": { - "frameId": "q10_rf_f12_frame", - "portId": "q10_rf_f12", - "frequency": 4929577602.71965, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 10 - ] + "frameId": "q10_rf_f12_frame", + "portId": "q10_rf_f12", + "frequency": 4929577602.71965, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 10 + ] }, "q11_rf_f12_frame": { - "frameId": "q11_rf_f12_frame", - "portId": "q11_rf_f12", - "frequency": 3844379212.01475, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 11 - ] + "frameId": "q11_rf_f12_frame", + "portId": "q11_rf_f12", + "frequency": 3844379212.01475, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 11 + ] }, "q12_rf_f12_frame": { - "frameId": "q12_rf_f12_frame", - "portId": "q12_rf_f12", - "frequency": 5124639570.90194, - "centerFrequency": 5250000000.0, - "phase": 0.0, - "qubitMappings": [ - 12 - ] + "frameId": "q12_rf_f12_frame", + "portId": "q12_rf_f12", + "frequency": 5124639570.90194, + "centerFrequency": 5250000000.0, + "phase": 0.0, + "qubitMappings": [ + 12 + ] }, "q13_rf_f12_frame": { - "frameId": "q13_rf_f12_frame", - "portId": "q13_rf_f12", - "frequency": 3903161192.61975, - "centerFrequency": 4125000000.0, - "phase": 0.0, - "qubitMappings": [ - 13 - ] + "frameId": "q13_rf_f12_frame", + "portId": "q13_rf_f12", + "frequency": 3903161192.61975, + "centerFrequency": 4125000000.0, + "phase": 0.0, + "qubitMappings": [ + 13 + ] }, "q14_rf_f12_frame": { - "frameId": "q14_rf_f12_frame", - "portId": "q14_rf_f12", - "frequency": 4960000000.0, - "centerFrequency": 5250000000.0, - "phase": 0.0, - "qubitMappings": [ - 14 - ] + "frameId": "q14_rf_f12_frame", + "portId": "q14_rf_f12", + "frequency": 4960000000.0, + "centerFrequency": 5250000000.0, + "phase": 0.0, + "qubitMappings": [ + 14 + ] }, "q15_rf_f12_frame": { - "frameId": "q15_rf_f12_frame", - "portId": "q15_rf_f12", - "frequency": 3843136747.33642, - "centerFrequency": 4125000000.0, - "phase": 0.0, - "qubitMappings": [ - 15 - ] + "frameId": "q15_rf_f12_frame", + "portId": "q15_rf_f12", + "frequency": 3843136747.33642, + "centerFrequency": 4125000000.0, + "phase": 0.0, + "qubitMappings": [ + 15 + ] }, "q16_rf_f12_frame": { - "frameId": "q16_rf_f12_frame", - "portId": "q16_rf_f12", - "frequency": 4789395465.95101, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 16 - ] + "frameId": "q16_rf_f12_frame", + "portId": "q16_rf_f12", + "frequency": 4789395465.95101, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 16 + ] }, "q17_rf_f12_frame": { - "frameId": "q17_rf_f12_frame", - "portId": "q17_rf_f12", - "frequency": 3418099144.88582, - "centerFrequency": 3375000000.0, - "phase": 0.0, - "qubitMappings": [ - 17 - ] + "frameId": "q17_rf_f12_frame", + "portId": "q17_rf_f12", + "frequency": 3418099144.88582, + "centerFrequency": 3375000000.0, + "phase": 0.0, + "qubitMappings": [ + 17 + ] }, "q20_rf_f12_frame": { - "frameId": "q20_rf_f12_frame", - "portId": "q20_rf_f12", - "frequency": 4943555913.56299, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 20 - ] + "frameId": "q20_rf_f12_frame", + "portId": "q20_rf_f12", + "frequency": 4943555913.56299, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 20 + ] }, "q23_rf_f12_frame": { - "frameId": "q23_rf_f12_frame", - "portId": "q23_rf_f12", - "frequency": 3760565304.03936, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 23 - ] + "frameId": "q23_rf_f12_frame", + "portId": "q23_rf_f12", + "frequency": 3760565304.03936, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 23 + ] }, "q24_rf_f12_frame": { - "frameId": "q24_rf_f12_frame", - "portId": "q24_rf_f12", - "frequency": 5142943770.26109, - "centerFrequency": 5250000000.0, - "phase": 0.0, - "qubitMappings": [ - 24 - ] + "frameId": "q24_rf_f12_frame", + "portId": "q24_rf_f12", + "frequency": 5142943770.26109, + "centerFrequency": 5250000000.0, + "phase": 0.0, + "qubitMappings": [ + 24 + ] }, "q26_rf_f12_frame": { - "frameId": "q26_rf_f12_frame", - "portId": "q26_rf_f12", - "frequency": 4866272855.75187, - "centerFrequency": 5250000000.0, - "phase": 0.0, - "qubitMappings": [ - 26 - ] + "frameId": "q26_rf_f12_frame", + "portId": "q26_rf_f12", + "frequency": 4866272855.75187, + "centerFrequency": 5250000000.0, + "phase": 0.0, + "qubitMappings": [ + 26 + ] }, "q27_rf_f12_frame": { - "frameId": "q27_rf_f12_frame", - "portId": "q27_rf_f12", - "frequency": 3635776538.45292, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 27 - ] + "frameId": "q27_rf_f12_frame", + "portId": "q27_rf_f12", + "frequency": 3635776538.45292, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 27 + ] }, "q30_rf_f12_frame": { - "frameId": "q30_rf_f12_frame", - "portId": "q30_rf_f12", - "frequency": 4983221553.51037, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 30 - ] + "frameId": "q30_rf_f12_frame", + "portId": "q30_rf_f12", + "frequency": 4983221553.51037, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 30 + ] }, "q31_rf_f12_frame": { - "frameId": "q31_rf_f12_frame", - "portId": "q31_rf_f12", - "frequency": 3848816705.77606, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 31 - ] + "frameId": "q31_rf_f12_frame", + "portId": "q31_rf_f12", + "frequency": 3848816705.77606, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 31 + ] }, "q32_rf_f12_frame": { - "frameId": "q32_rf_f12_frame", - "portId": "q32_rf_f12", - "frequency": 5158389929.35333, - "centerFrequency": 5250000000.0, - "phase": 0.0, - "qubitMappings": [ - 32 - ] + "frameId": "q32_rf_f12_frame", + "portId": "q32_rf_f12", + "frequency": 5158389929.35333, + "centerFrequency": 5250000000.0, + "phase": 0.0, + "qubitMappings": [ + 32 + ] }, "q33_rf_f12_frame": { - "frameId": "q33_rf_f12_frame", - "portId": "q33_rf_f12", - "frequency": 3883667210.32063, - "centerFrequency": 4125000000.0, - "phase": 0.0, - "qubitMappings": [ - 33 - ] + "frameId": "q33_rf_f12_frame", + "portId": "q33_rf_f12", + "frequency": 3883667210.32063, + "centerFrequency": 4125000000.0, + "phase": 0.0, + "qubitMappings": [ + 33 + ] }, "q34_rf_f12_frame": { - "frameId": "q34_rf_f12_frame", - "portId": "q34_rf_f12", - "frequency": 5064066183.15878, - "centerFrequency": 5250000000.0, - "phase": 0.0, - "qubitMappings": [ - 34 - ] + "frameId": "q34_rf_f12_frame", + "portId": "q34_rf_f12", + "frequency": 5064066183.15878, + "centerFrequency": 5250000000.0, + "phase": 0.0, + "qubitMappings": [ + 34 + ] }, "q35_rf_f12_frame": { - "frameId": "q35_rf_f12_frame", - "portId": "q35_rf_f12", - "frequency": 3782255216.84296, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 35 - ] + "frameId": "q35_rf_f12_frame", + "portId": "q35_rf_f12", + "frequency": 3782255216.84296, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 35 + ] }, "q36_rf_f12_frame": { - "frameId": "q36_rf_f12_frame", - "portId": "q36_rf_f12", - "frequency": 5013057893.19898, - "centerFrequency": 5250000000.0, - "phase": 0.0, - "qubitMappings": [ - 36 - ] + "frameId": "q36_rf_f12_frame", + "portId": "q36_rf_f12", + "frequency": 5013057893.19898, + "centerFrequency": 5250000000.0, + "phase": 0.0, + "qubitMappings": [ + 36 + ] }, "q37_rf_f12_frame": { - "frameId": "q37_rf_f12_frame", - "portId": "q37_rf_f12", - "frequency": 3674465214.25256, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 37 - ] + "frameId": "q37_rf_f12_frame", + "portId": "q37_rf_f12", + "frequency": 3674465214.25256, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 37 + ] }, "q40_rf_f12_frame": { - "frameId": "q40_rf_f12_frame", - "portId": "q40_rf_f12", - "frequency": 4885183948.72136, - "centerFrequency": 5250000000.0, - "phase": 0.0, - "qubitMappings": [ - 40 - ] + "frameId": "q40_rf_f12_frame", + "portId": "q40_rf_f12", + "frequency": 4885183948.72136, + "centerFrequency": 5250000000.0, + "phase": 0.0, + "qubitMappings": [ + 40 + ] }, "q41_rf_f12_frame": { - "frameId": "q41_rf_f12_frame", - "portId": "q41_rf_f12", - "frequency": 3740711972.86986, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 41 - ] + "frameId": "q41_rf_f12_frame", + "portId": "q41_rf_f12", + "frequency": 3740711972.86986, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 41 + ] }, "q42_rf_f12_frame": { - "frameId": "q42_rf_f12_frame", - "portId": "q42_rf_f12", - "frequency": 5237946243.83229, - "centerFrequency": 5250000000.0, - "phase": 0.0, - "qubitMappings": [ - 42 - ] + "frameId": "q42_rf_f12_frame", + "portId": "q42_rf_f12", + "frequency": 5237946243.83229, + "centerFrequency": 5250000000.0, + "phase": 0.0, + "qubitMappings": [ + 42 + ] }, "q43_rf_f12_frame": { - "frameId": "q43_rf_f12_frame", - "portId": "q43_rf_f12", - "frequency": 3789700144.8126, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 43 - ] + "frameId": "q43_rf_f12_frame", + "portId": "q43_rf_f12", + "frequency": 3789700144.8126, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 43 + ] }, "q44_rf_f12_frame": { - "frameId": "q44_rf_f12_frame", - "portId": "q44_rf_f12", - "frequency": 5107479112.4924, - "centerFrequency": 5250000000.0, - "phase": 0.0, - "qubitMappings": [ - 44 - ] + "frameId": "q44_rf_f12_frame", + "portId": "q44_rf_f12", + "frequency": 5107479112.4924, + "centerFrequency": 5250000000.0, + "phase": 0.0, + "qubitMappings": [ + 44 + ] }, "q45_rf_f12_frame": { - "frameId": "q45_rf_f12_frame", - "portId": "q45_rf_f12", - "frequency": 3753814261.86079, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 45 - ] + "frameId": "q45_rf_f12_frame", + "portId": "q45_rf_f12", + "frequency": 3753814261.86079, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 45 + ] }, "q46_rf_f12_frame": { - "frameId": "q46_rf_f12_frame", - "portId": "q46_rf_f12", - "frequency": 4944558612.22515, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 46 - ] + "frameId": "q46_rf_f12_frame", + "portId": "q46_rf_f12", + "frequency": 4944558612.22515, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 46 + ] }, "q47_rf_f12_frame": { - "frameId": "q47_rf_f12_frame", - "portId": "q47_rf_f12", - "frequency": 3608089851.98819, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 47 - ] + "frameId": "q47_rf_f12_frame", + "portId": "q47_rf_f12", + "frequency": 3608089851.98819, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 47 + ] }, "q100_rf_f12_frame": { - "frameId": "q100_rf_f12_frame", - "portId": "q100_rf_f12", - "frequency": 4525735744.88526, - "centerFrequency": 4500000000.0, - "phase": 0.0, - "qubitMappings": [ - 100 - ] + "frameId": "q100_rf_f12_frame", + "portId": "q100_rf_f12", + "frequency": 4525735744.88526, + "centerFrequency": 4500000000.0, + "phase": 0.0, + "qubitMappings": [ + 100 + ] }, "q101_rf_f12_frame": { - "frameId": "q101_rf_f12_frame", - "portId": "q101_rf_f12", - "frequency": 3323854823.25168, - "centerFrequency": 3375000000.0, - "phase": 0.0, - "qubitMappings": [ - 101 - ] + "frameId": "q101_rf_f12_frame", + "portId": "q101_rf_f12", + "frequency": 3323854823.25168, + "centerFrequency": 3375000000.0, + "phase": 0.0, + "qubitMappings": [ + 101 + ] }, "q102_rf_f12_frame": { - "frameId": "q102_rf_f12_frame", - "portId": "q102_rf_f12", - "frequency": 4845012658.69441, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 102 - ] + "frameId": "q102_rf_f12_frame", + "portId": "q102_rf_f12", + "frequency": 4845012658.69441, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 102 + ] }, "q103_rf_f12_frame": { - "frameId": "q103_rf_f12_frame", - "portId": "q103_rf_f12", - "frequency": 3544326794.6545, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 103 - ] + "frameId": "q103_rf_f12_frame", + "portId": "q103_rf_f12", + "frequency": 3544326794.6545, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 103 + ] }, "q104_rf_f12_frame": { - "frameId": "q104_rf_f12_frame", - "portId": "q104_rf_f12", - "frequency": 4600396452.57264, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 104 - ] + "frameId": "q104_rf_f12_frame", + "portId": "q104_rf_f12", + "frequency": 4600396452.57264, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 104 + ] }, "q105_rf_f12_frame": { - "frameId": "q105_rf_f12_frame", - "portId": "q105_rf_f12", - "frequency": 3563862669.99903, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 105 - ] + "frameId": "q105_rf_f12_frame", + "portId": "q105_rf_f12", + "frequency": 3563862669.99903, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 105 + ] }, "q106_rf_f12_frame": { - "frameId": "q106_rf_f12_frame", - "portId": "q106_rf_f12", - "frequency": 4749848561.63588, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 106 - ] + "frameId": "q106_rf_f12_frame", + "portId": "q106_rf_f12", + "frequency": 4749848561.63588, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 106 + ] }, "q107_rf_f12_frame": { - "frameId": "q107_rf_f12_frame", - "portId": "q107_rf_f12", - "frequency": 3374656151.78164, - "centerFrequency": 3375000000.0, - "phase": 0.0, - "qubitMappings": [ - 107 - ] + "frameId": "q107_rf_f12_frame", + "portId": "q107_rf_f12", + "frequency": 3374656151.78164, + "centerFrequency": 3375000000.0, + "phase": 0.0, + "qubitMappings": [ + 107 + ] }, "q110_rf_f12_frame": { - "frameId": "q110_rf_f12_frame", - "portId": "q110_rf_f12", - "frequency": 4549633876.57612, - "centerFrequency": 4500000000.0, - "phase": 0.0, - "qubitMappings": [ - 110 - ] + "frameId": "q110_rf_f12_frame", + "portId": "q110_rf_f12", + "frequency": 4549633876.57612, + "centerFrequency": 4500000000.0, + "phase": 0.0, + "qubitMappings": [ + 110 + ] }, "q111_rf_f12_frame": { - "frameId": "q111_rf_f12_frame", - "portId": "q111_rf_f12", - "frequency": 3471901824.64825, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 111 - ] + "frameId": "q111_rf_f12_frame", + "portId": "q111_rf_f12", + "frequency": 3471901824.64825, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 111 + ] }, "q112_rf_f12_frame": { - "frameId": "q112_rf_f12_frame", - "portId": "q112_rf_f12", - "frequency": 4831539657.6913, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 112 - ] + "frameId": "q112_rf_f12_frame", + "portId": "q112_rf_f12", + "frequency": 4831539657.6913, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 112 + ] }, "q113_rf_f12_frame": { - "frameId": "q113_rf_f12_frame", - "portId": "q113_rf_f12", - "frequency": 3451786206.15992, - "centerFrequency": 3375000000.0, - "phase": 0.0, - "qubitMappings": [ - 113 - ] + "frameId": "q113_rf_f12_frame", + "portId": "q113_rf_f12", + "frequency": 3451786206.15992, + "centerFrequency": 3375000000.0, + "phase": 0.0, + "qubitMappings": [ + 113 + ] }, "q114_rf_f12_frame": { - "frameId": "q114_rf_f12_frame", - "portId": "q114_rf_f12", - "frequency": 4685982577.57772, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 114 - ] + "frameId": "q114_rf_f12_frame", + "portId": "q114_rf_f12", + "frequency": 4685982577.57772, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 114 + ] }, "q115_rf_f12_frame": { - "frameId": "q115_rf_f12_frame", - "portId": "q115_rf_f12", - "frequency": 3588658607.41172, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 115 - ] + "frameId": "q115_rf_f12_frame", + "portId": "q115_rf_f12", + "frequency": 3588658607.41172, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 115 + ] }, "q116_rf_f12_frame": { - "frameId": "q116_rf_f12_frame", - "portId": "q116_rf_f12", - "frequency": 4662398776.14317, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 116 - ] + "frameId": "q116_rf_f12_frame", + "portId": "q116_rf_f12", + "frequency": 4662398776.14317, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 116 + ] }, "q117_rf_f12_frame": { - "frameId": "q117_rf_f12_frame", - "portId": "q117_rf_f12", - "frequency": 3244616750.05856, - "centerFrequency": 3375000000.0, - "phase": 0.0, - "qubitMappings": [ - 117 - ] + "frameId": "q117_rf_f12_frame", + "portId": "q117_rf_f12", + "frequency": 3244616750.05856, + "centerFrequency": 3375000000.0, + "phase": 0.0, + "qubitMappings": [ + 117 + ] }, "q120_rf_f12_frame": { - "frameId": "q120_rf_f12_frame", - "portId": "q120_rf_f12", - "frequency": 4598240694.18048, - "centerFrequency": 4500000000.0, - "phase": 0.0, - "qubitMappings": [ - 120 - ] + "frameId": "q120_rf_f12_frame", + "portId": "q120_rf_f12", + "frequency": 4598240694.18048, + "centerFrequency": 4500000000.0, + "phase": 0.0, + "qubitMappings": [ + 120 + ] }, "q121_rf_f12_frame": { - "frameId": "q121_rf_f12_frame", - "portId": "q121_rf_f12", - "frequency": 3525847189.56112, - "centerFrequency": 3375000000.0, - "phase": 0.0, - "qubitMappings": [ - 121 - ] + "frameId": "q121_rf_f12_frame", + "portId": "q121_rf_f12", + "frequency": 3525847189.56112, + "centerFrequency": 3375000000.0, + "phase": 0.0, + "qubitMappings": [ + 121 + ] }, "q122_rf_f12_frame": { - "frameId": "q122_rf_f12_frame", - "portId": "q122_rf_f12", - "frequency": 4736706211.29479, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 122 - ] + "frameId": "q122_rf_f12_frame", + "portId": "q122_rf_f12", + "frequency": 4736706211.29479, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 122 + ] }, "q123_rf_f12_frame": { - "frameId": "q123_rf_f12_frame", - "portId": "q123_rf_f12", - "frequency": 3679204199.62897, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 123 - ] + "frameId": "q123_rf_f12_frame", + "portId": "q123_rf_f12", + "frequency": 3679204199.62897, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 123 + ] }, "q124_rf_f12_frame": { - "frameId": "q124_rf_f12_frame", - "portId": "q124_rf_f12", - "frequency": 4751382856.18433, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 124 - ] + "frameId": "q124_rf_f12_frame", + "portId": "q124_rf_f12", + "frequency": 4751382856.18433, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 124 + ] }, "q125_rf_f12_frame": { - "frameId": "q125_rf_f12_frame", - "portId": "q125_rf_f12", - "frequency": 3491806005.61339, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 125 - ] + "frameId": "q125_rf_f12_frame", + "portId": "q125_rf_f12", + "frequency": 3491806005.61339, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 125 + ] }, "q126_rf_f12_frame": { - "frameId": "q126_rf_f12_frame", - "portId": "q126_rf_f12", - "frequency": 4664233170.12752, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 126 - ] + "frameId": "q126_rf_f12_frame", + "portId": "q126_rf_f12", + "frequency": 4664233170.12752, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 126 + ] }, "q127_rf_f12_frame": { - "frameId": "q127_rf_f12_frame", - "portId": "q127_rf_f12", - "frequency": 3378720803.59785, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 127 - ] + "frameId": "q127_rf_f12_frame", + "portId": "q127_rf_f12", + "frequency": 3378720803.59785, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 127 + ] }, "q130_rf_f12_frame": { - "frameId": "q130_rf_f12_frame", - "portId": "q130_rf_f12", - "frequency": 4655877836.67251, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 130 - ] + "frameId": "q130_rf_f12_frame", + "portId": "q130_rf_f12", + "frequency": 4655877836.67251, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 130 + ] }, "q131_rf_f12_frame": { - "frameId": "q131_rf_f12_frame", - "portId": "q131_rf_f12", - "frequency": 3624660734.29912, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 131 - ] + "frameId": "q131_rf_f12_frame", + "portId": "q131_rf_f12", + "frequency": 3624660734.29912, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 131 + ] }, "q132_rf_f12_frame": { - "frameId": "q132_rf_f12_frame", - "portId": "q132_rf_f12", - "frequency": 4819129476.94871, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 132 - ] + "frameId": "q132_rf_f12_frame", + "portId": "q132_rf_f12", + "frequency": 4819129476.94871, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 132 + ] }, "q133_rf_f12_frame": { - "frameId": "q133_rf_f12_frame", - "portId": "q133_rf_f12", - "frequency": 3521810573.65256, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 133 - ] + "frameId": "q133_rf_f12_frame", + "portId": "q133_rf_f12", + "frequency": 3521810573.65256, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 133 + ] }, "q134_rf_f12_frame": { - "frameId": "q134_rf_f12_frame", - "portId": "q134_rf_f12", - "frequency": 4755915785.43805, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 134 - ] + "frameId": "q134_rf_f12_frame", + "portId": "q134_rf_f12", + "frequency": 4755915785.43805, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 134 + ] }, "q135_rf_f12_frame": { - "frameId": "q135_rf_f12_frame", - "portId": "q135_rf_f12", - "frequency": 3471208806.46104, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 135 - ] + "frameId": "q135_rf_f12_frame", + "portId": "q135_rf_f12", + "frequency": 3471208806.46104, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 135 + ] }, "q137_rf_f12_frame": { - "frameId": "q137_rf_f12_frame", - "portId": "q137_rf_f12", - "frequency": 3432939986.22096, - "centerFrequency": 3375000000.0, - "phase": 0.0, - "qubitMappings": [ - 137 - ] + "frameId": "q137_rf_f12_frame", + "portId": "q137_rf_f12", + "frequency": 3432939986.22096, + "centerFrequency": 3375000000.0, + "phase": 0.0, + "qubitMappings": [ + 137 + ] }, "q140_rf_f12_frame": { - "frameId": "q140_rf_f12_frame", - "portId": "q140_rf_f12", - "frequency": 4579930468.01733, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 140 - ] + "frameId": "q140_rf_f12_frame", + "portId": "q140_rf_f12", + "frequency": 4579930468.01733, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 140 + ] }, "q141_rf_f12_frame": { - "frameId": "q141_rf_f12_frame", - "portId": "q141_rf_f12", - "frequency": 3441657789.92303, - "centerFrequency": 3375000000.0, - "phase": 0.0, - "qubitMappings": [ - 141 - ] + "frameId": "q141_rf_f12_frame", + "portId": "q141_rf_f12", + "frequency": 3441657789.92303, + "centerFrequency": 3375000000.0, + "phase": 0.0, + "qubitMappings": [ + 141 + ] }, "q142_rf_f12_frame": { - "frameId": "q142_rf_f12_frame", - "portId": "q142_rf_f12", - "frequency": 4789701166.67257, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 142 - ] + "frameId": "q142_rf_f12_frame", + "portId": "q142_rf_f12", + "frequency": 4789701166.67257, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 142 + ] }, "q143_rf_f12_frame": { - "frameId": "q143_rf_f12_frame", - "portId": "q143_rf_f12", - "frequency": 3506503732.5765, - "centerFrequency": 3750000000.0, - "phase": 0.0, - "qubitMappings": [ - 143 - ] + "frameId": "q143_rf_f12_frame", + "portId": "q143_rf_f12", + "frequency": 3506503732.5765, + "centerFrequency": 3750000000.0, + "phase": 0.0, + "qubitMappings": [ + 143 + ] }, "q144_rf_f12_frame": { - "frameId": "q144_rf_f12_frame", - "portId": "q144_rf_f12", - "frequency": 4674259587.81077, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 144 - ] + "frameId": "q144_rf_f12_frame", + "portId": "q144_rf_f12", + "frequency": 4674259587.81077, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 144 + ] }, "q145_rf_f12_frame": { - "frameId": "q145_rf_f12_frame", - "portId": "q145_rf_f12", - "frequency": 3427346660.57662, - "centerFrequency": 3375000000.0, - "phase": 0.0, - "qubitMappings": [ - 145 - ] + "frameId": "q145_rf_f12_frame", + "portId": "q145_rf_f12", + "frequency": 3427346660.57662, + "centerFrequency": 3375000000.0, + "phase": 0.0, + "qubitMappings": [ + 145 + ] }, "q146_rf_f12_frame": { - "frameId": "q146_rf_f12_frame", - "portId": "q146_rf_f12", - "frequency": 4602869440.23496, - "centerFrequency": 4875000000.0, - "phase": 0.0, - "qubitMappings": [ - 146 - ] + "frameId": "q146_rf_f12_frame", + "portId": "q146_rf_f12", + "frequency": 4602869440.23496, + "centerFrequency": 4875000000.0, + "phase": 0.0, + "qubitMappings": [ + 146 + ] }, "q147_rf_f12_frame": { - "frameId": "q147_rf_f12_frame", - "portId": "q147_rf_f12", - "frequency": 3382060168.28733, - "centerFrequency": 3375000000.0, - "phase": 0.0, - "qubitMappings": [ - 147 - ] + "frameId": "q147_rf_f12_frame", + "portId": "q147_rf_f12", + "frequency": 3382060168.28733, + "centerFrequency": 3375000000.0, + "phase": 0.0, + "qubitMappings": [ + 147 + ] }, "q0_ro_rx_frame": { - "frameId": "q0_ro_rx_frame", - "portId": "q0_ro_rx", - "frequency": 7359200001.83969, - "phase": 0.0, - "qubitMappings": [ - 0 - ] + "frameId": "q0_ro_rx_frame", + "portId": "q0_ro_rx", + "frequency": 7359200001.83969, + "phase": 0.0, + "qubitMappings": [ + 0 + ] }, "q1_ro_rx_frame": { - "frameId": "q1_ro_rx_frame", - "portId": "q1_ro_rx", - "frequency": 7228259838.38781, - "phase": 0.0, - "qubitMappings": [ - 1 - ] + "frameId": "q1_ro_rx_frame", + "portId": "q1_ro_rx", + "frequency": 7228259838.38781, + "phase": 0.0, + "qubitMappings": [ + 1 + ] }, "q2_ro_rx_frame": { - "frameId": "q2_ro_rx_frame", - "portId": "q2_ro_rx", - "frequency": 7484850403.27253, - "phase": 0.0, - "qubitMappings": [ - 2 - ] + "frameId": "q2_ro_rx_frame", + "portId": "q2_ro_rx", + "frequency": 7484850403.27253, + "phase": 0.0, + "qubitMappings": [ + 2 + ] }, "q3_ro_rx_frame": { - "frameId": "q3_ro_rx_frame", - "portId": "q3_ro_rx", - "frequency": 7295470164.74348, - "phase": 0.0, - "qubitMappings": [ - 3 - ] + "frameId": "q3_ro_rx_frame", + "portId": "q3_ro_rx", + "frequency": 7295470164.74348, + "phase": 0.0, + "qubitMappings": [ + 3 + ] }, "q4_ro_rx_frame": { - "frameId": "q4_ro_rx_frame", - "portId": "q4_ro_rx", - "frequency": 7436761905.98451, - "phase": 0.0, - "qubitMappings": [ - 4 - ] + "frameId": "q4_ro_rx_frame", + "portId": "q4_ro_rx", + "frequency": 7436761905.98451, + "phase": 0.0, + "qubitMappings": [ + 4 + ] }, "q5_ro_rx_frame": { - "frameId": "q5_ro_rx_frame", - "portId": "q5_ro_rx", - "frequency": 7277675057.05634, - "phase": 0.0, - "qubitMappings": [ - 5 - ] + "frameId": "q5_ro_rx_frame", + "portId": "q5_ro_rx", + "frequency": 7277675057.05634, + "phase": 0.0, + "qubitMappings": [ + 5 + ] }, "q6_ro_rx_frame": { - "frameId": "q6_ro_rx_frame", - "portId": "q6_ro_rx", - "frequency": 7412610582.56533, - "phase": 0.0, - "qubitMappings": [ - 6 - ] + "frameId": "q6_ro_rx_frame", + "portId": "q6_ro_rx", + "frequency": 7412610582.56533, + "phase": 0.0, + "qubitMappings": [ + 6 + ] }, "q7_ro_rx_frame": { - "frameId": "q7_ro_rx_frame", - "portId": "q7_ro_rx", - "frequency": 7167861342.05502, - "phase": 0.0, - "qubitMappings": [ - 7 - ] + "frameId": "q7_ro_rx_frame", + "portId": "q7_ro_rx", + "frequency": 7167861342.05502, + "phase": 0.0, + "qubitMappings": [ + 7 + ] }, "q10_ro_rx_frame": { - "frameId": "q10_ro_rx_frame", - "portId": "q10_ro_rx", - "frequency": 7362069917.90117, - "phase": 0.0, - "qubitMappings": [ - 10 - ] + "frameId": "q10_ro_rx_frame", + "portId": "q10_ro_rx", + "frequency": 7362069917.90117, + "phase": 0.0, + "qubitMappings": [ + 10 + ] }, "q11_ro_rx_frame": { - "frameId": "q11_ro_rx_frame", - "portId": "q11_ro_rx", - "frequency": 7231483331.57893, - "phase": 0.0, - "qubitMappings": [ - 11 - ] + "frameId": "q11_ro_rx_frame", + "portId": "q11_ro_rx", + "frequency": 7231483331.57893, + "phase": 0.0, + "qubitMappings": [ + 11 + ] }, "q12_ro_rx_frame": { - "frameId": "q12_ro_rx_frame", - "portId": "q12_ro_rx", - "frequency": 7484259699.27378, - "phase": 0.0, - "qubitMappings": [ - 12 - ] + "frameId": "q12_ro_rx_frame", + "portId": "q12_ro_rx", + "frequency": 7484259699.27378, + "phase": 0.0, + "qubitMappings": [ + 12 + ] }, "q13_ro_rx_frame": { - "frameId": "q13_ro_rx_frame", - "portId": "q13_ro_rx", - "frequency": 7298047323.54621, - "phase": 0.0, - "qubitMappings": [ - 13 - ] + "frameId": "q13_ro_rx_frame", + "portId": "q13_ro_rx", + "frequency": 7298047323.54621, + "phase": 0.0, + "qubitMappings": [ + 13 + ] }, "q14_ro_rx_frame": { - "frameId": "q14_ro_rx_frame", - "portId": "q14_ro_rx", - "frequency": 7438824664.66692, - "phase": 0.0, - "qubitMappings": [ - 14 - ] + "frameId": "q14_ro_rx_frame", + "portId": "q14_ro_rx", + "frequency": 7438824664.66692, + "phase": 0.0, + "qubitMappings": [ + 14 + ] }, "q15_ro_rx_frame": { - "frameId": "q15_ro_rx_frame", - "portId": "q15_ro_rx", - "frequency": 7265994140.38281, - "phase": 0.0, - "qubitMappings": [ - 15 - ] + "frameId": "q15_ro_rx_frame", + "portId": "q15_ro_rx", + "frequency": 7265994140.38281, + "phase": 0.0, + "qubitMappings": [ + 15 + ] }, "q16_ro_rx_frame": { - "frameId": "q16_ro_rx_frame", - "portId": "q16_ro_rx", - "frequency": 7403429846.75876, - "phase": 0.0, - "qubitMappings": [ - 16 - ] + "frameId": "q16_ro_rx_frame", + "portId": "q16_ro_rx", + "frequency": 7403429846.75876, + "phase": 0.0, + "qubitMappings": [ + 16 + ] }, "q17_ro_rx_frame": { - "frameId": "q17_ro_rx_frame", - "portId": "q17_ro_rx", - "frequency": 7177248189.6217, - "phase": 0.0, - "qubitMappings": [ - 17 - ] + "frameId": "q17_ro_rx_frame", + "portId": "q17_ro_rx", + "frequency": 7177248189.6217, + "phase": 0.0, + "qubitMappings": [ + 17 + ] }, "q20_ro_rx_frame": { - "frameId": "q20_ro_rx_frame", - "portId": "q20_ro_rx", - "frequency": 7359820133.03701, - "phase": 0.0, - "qubitMappings": [ - 20 - ] + "frameId": "q20_ro_rx_frame", + "portId": "q20_ro_rx", + "frequency": 7359820133.03701, + "phase": 0.0, + "qubitMappings": [ + 20 + ] }, "q21_ro_rx_frame": { - "frameId": "q21_ro_rx_frame", - "portId": "q21_ro_rx", - "frequency": 7227436013.77427, - "phase": 0.0, - "qubitMappings": [ - 21 - ] + "frameId": "q21_ro_rx_frame", + "portId": "q21_ro_rx", + "frequency": 7227436013.77427, + "phase": 0.0, + "qubitMappings": [ + 21 + ] }, "q22_ro_rx_frame": { - "frameId": "q22_ro_rx_frame", - "portId": "q22_ro_rx", - "frequency": 7482306854.06165, - "phase": 0.0, - "qubitMappings": [ - 22 - ] + "frameId": "q22_ro_rx_frame", + "portId": "q22_ro_rx", + "frequency": 7482306854.06165, + "phase": 0.0, + "qubitMappings": [ + 22 + ] }, "q23_ro_rx_frame": { - "frameId": "q23_ro_rx_frame", - "portId": "q23_ro_rx", - "frequency": 7299301951.78279, - "phase": 0.0, - "qubitMappings": [ - 23 - ] + "frameId": "q23_ro_rx_frame", + "portId": "q23_ro_rx", + "frequency": 7299301951.78279, + "phase": 0.0, + "qubitMappings": [ + 23 + ] }, "q24_ro_rx_frame": { - "frameId": "q24_ro_rx_frame", - "portId": "q24_ro_rx", - "frequency": 7442812954.68393, - "phase": 0.0, - "qubitMappings": [ - 24 - ] + "frameId": "q24_ro_rx_frame", + "portId": "q24_ro_rx", + "frequency": 7442812954.68393, + "phase": 0.0, + "qubitMappings": [ + 24 + ] }, "q25_ro_rx_frame": { - "frameId": "q25_ro_rx_frame", - "portId": "q25_ro_rx", - "frequency": 7271741540.47628, - "phase": 0.0, - "qubitMappings": [ - 25 - ] + "frameId": "q25_ro_rx_frame", + "portId": "q25_ro_rx", + "frequency": 7271741540.47628, + "phase": 0.0, + "qubitMappings": [ + 25 + ] }, "q26_ro_rx_frame": { - "frameId": "q26_ro_rx_frame", - "portId": "q26_ro_rx", - "frequency": 7403835287.13269, - "phase": 0.0, - "qubitMappings": [ - 26 - ] + "frameId": "q26_ro_rx_frame", + "portId": "q26_ro_rx", + "frequency": 7403835287.13269, + "phase": 0.0, + "qubitMappings": [ + 26 + ] }, "q27_ro_rx_frame": { - "frameId": "q27_ro_rx_frame", - "portId": "q27_ro_rx", - "frequency": 7179901622.02389, - "phase": 0.0, - "qubitMappings": [ - 27 - ] + "frameId": "q27_ro_rx_frame", + "portId": "q27_ro_rx", + "frequency": 7179901622.02389, + "phase": 0.0, + "qubitMappings": [ + 27 + ] }, "q30_ro_rx_frame": { - "frameId": "q30_ro_rx_frame", - "portId": "q30_ro_rx", - "frequency": 7358516463.81857, - "phase": 0.0, - "qubitMappings": [ - 30 - ] + "frameId": "q30_ro_rx_frame", + "portId": "q30_ro_rx", + "frequency": 7358516463.81857, + "phase": 0.0, + "qubitMappings": [ + 30 + ] }, "q31_ro_rx_frame": { - "frameId": "q31_ro_rx_frame", - "portId": "q31_ro_rx", - "frequency": 7225341804.33158, - "phase": 0.0, - "qubitMappings": [ - 31 - ] + "frameId": "q31_ro_rx_frame", + "portId": "q31_ro_rx", + "frequency": 7225341804.33158, + "phase": 0.0, + "qubitMappings": [ + 31 + ] }, "q32_ro_rx_frame": { - "frameId": "q32_ro_rx_frame", - "portId": "q32_ro_rx", - "frequency": 7481221489.55983, - "phase": 0.0, - "qubitMappings": [ - 32 - ] + "frameId": "q32_ro_rx_frame", + "portId": "q32_ro_rx", + "frequency": 7481221489.55983, + "phase": 0.0, + "qubitMappings": [ + 32 + ] }, "q33_ro_rx_frame": { - "frameId": "q33_ro_rx_frame", - "portId": "q33_ro_rx", - "frequency": 7292359745.76521, - "phase": 0.0, - "qubitMappings": [ - 33 - ] + "frameId": "q33_ro_rx_frame", + "portId": "q33_ro_rx", + "frequency": 7292359745.76521, + "phase": 0.0, + "qubitMappings": [ + 33 + ] }, "q34_ro_rx_frame": { - "frameId": "q34_ro_rx_frame", - "portId": "q34_ro_rx", - "frequency": 7439060375.97267, - "phase": 0.0, - "qubitMappings": [ - 34 - ] + "frameId": "q34_ro_rx_frame", + "portId": "q34_ro_rx", + "frequency": 7439060375.97267, + "phase": 0.0, + "qubitMappings": [ + 34 + ] }, "q35_ro_rx_frame": { - "frameId": "q35_ro_rx_frame", - "portId": "q35_ro_rx", - "frequency": 7269893149.33504, - "phase": 0.0, - "qubitMappings": [ - 35 - ] + "frameId": "q35_ro_rx_frame", + "portId": "q35_ro_rx", + "frequency": 7269893149.33504, + "phase": 0.0, + "qubitMappings": [ + 35 + ] }, "q36_ro_rx_frame": { - "frameId": "q36_ro_rx_frame", - "portId": "q36_ro_rx", - "frequency": 7405763274.76162, - "phase": 0.0, - "qubitMappings": [ - 36 - ] + "frameId": "q36_ro_rx_frame", + "portId": "q36_ro_rx", + "frequency": 7405763274.76162, + "phase": 0.0, + "qubitMappings": [ + 36 + ] }, "q37_ro_rx_frame": { - "frameId": "q37_ro_rx_frame", - "portId": "q37_ro_rx", - "frequency": 7177242645.01293, - "phase": 0.0, - "qubitMappings": [ - 37 - ] + "frameId": "q37_ro_rx_frame", + "portId": "q37_ro_rx", + "frequency": 7177242645.01293, + "phase": 0.0, + "qubitMappings": [ + 37 + ] }, "q40_ro_rx_frame": { - "frameId": "q40_ro_rx_frame", - "portId": "q40_ro_rx", - "frequency": 7353397009.52832, - "phase": 0.0, - "qubitMappings": [ - 40 - ] + "frameId": "q40_ro_rx_frame", + "portId": "q40_ro_rx", + "frequency": 7353397009.52832, + "phase": 0.0, + "qubitMappings": [ + 40 + ] }, "q41_ro_rx_frame": { - "frameId": "q41_ro_rx_frame", - "portId": "q41_ro_rx", - "frequency": 7233749164.56059, - "phase": 0.0, - "qubitMappings": [ - 41 - ] + "frameId": "q41_ro_rx_frame", + "portId": "q41_ro_rx", + "frequency": 7233749164.56059, + "phase": 0.0, + "qubitMappings": [ + 41 + ] }, "q42_ro_rx_frame": { - "frameId": "q42_ro_rx_frame", - "portId": "q42_ro_rx", - "frequency": 7486244142.83315, - "phase": 0.0, - "qubitMappings": [ - 42 - ] + "frameId": "q42_ro_rx_frame", + "portId": "q42_ro_rx", + "frequency": 7486244142.83315, + "phase": 0.0, + "qubitMappings": [ + 42 + ] }, "q43_ro_rx_frame": { - "frameId": "q43_ro_rx_frame", - "portId": "q43_ro_rx", - "frequency": 7290781710.4467, - "phase": 0.0, - "qubitMappings": [ - 43 - ] + "frameId": "q43_ro_rx_frame", + "portId": "q43_ro_rx", + "frequency": 7290781710.4467, + "phase": 0.0, + "qubitMappings": [ + 43 + ] }, "q44_ro_rx_frame": { - "frameId": "q44_ro_rx_frame", - "portId": "q44_ro_rx", - "frequency": 7437638161.83216, - "phase": 0.0, - "qubitMappings": [ - 44 - ] + "frameId": "q44_ro_rx_frame", + "portId": "q44_ro_rx", + "frequency": 7437638161.83216, + "phase": 0.0, + "qubitMappings": [ + 44 + ] }, "q45_ro_rx_frame": { - "frameId": "q45_ro_rx_frame", - "portId": "q45_ro_rx", - "frequency": 7266024353.993, - "phase": 0.0, - "qubitMappings": [ - 45 - ] + "frameId": "q45_ro_rx_frame", + "portId": "q45_ro_rx", + "frequency": 7266024353.993, + "phase": 0.0, + "qubitMappings": [ + 45 + ] }, "q46_ro_rx_frame": { - "frameId": "q46_ro_rx_frame", - "portId": "q46_ro_rx", - "frequency": 7400494103.04955, - "phase": 0.0, - "qubitMappings": [ - 46 - ] + "frameId": "q46_ro_rx_frame", + "portId": "q46_ro_rx", + "frequency": 7400494103.04955, + "phase": 0.0, + "qubitMappings": [ + 46 + ] }, "q47_ro_rx_frame": { - "frameId": "q47_ro_rx_frame", - "portId": "q47_ro_rx", - "frequency": 7172192152.94327, - "phase": 0.0, - "qubitMappings": [ - 47 - ] + "frameId": "q47_ro_rx_frame", + "portId": "q47_ro_rx", + "frequency": 7172192152.94327, + "phase": 0.0, + "qubitMappings": [ + 47 + ] }, "q100_ro_rx_frame": { - "frameId": "q100_ro_rx_frame", - "portId": "q100_ro_rx", - "frequency": 7356805837.61458, - "phase": 0.0, - "qubitMappings": [ - 100 - ] + "frameId": "q100_ro_rx_frame", + "portId": "q100_ro_rx", + "frequency": 7356805837.61458, + "phase": 0.0, + "qubitMappings": [ + 100 + ] }, "q101_ro_rx_frame": { - "frameId": "q101_ro_rx_frame", - "portId": "q101_ro_rx", - "frequency": 7228956576.10171, - "phase": 0.0, - "qubitMappings": [ - 101 - ] + "frameId": "q101_ro_rx_frame", + "portId": "q101_ro_rx", + "frequency": 7228956576.10171, + "phase": 0.0, + "qubitMappings": [ + 101 + ] }, "q102_ro_rx_frame": { - "frameId": "q102_ro_rx_frame", - "portId": "q102_ro_rx", - "frequency": 7482323668.8819, - "phase": 0.0, - "qubitMappings": [ - 102 - ] + "frameId": "q102_ro_rx_frame", + "portId": "q102_ro_rx", + "frequency": 7482323668.8819, + "phase": 0.0, + "qubitMappings": [ + 102 + ] }, "q103_ro_rx_frame": { - "frameId": "q103_ro_rx_frame", - "portId": "q103_ro_rx", - "frequency": 7290780976.71805, - "phase": 0.0, - "qubitMappings": [ - 103 - ] + "frameId": "q103_ro_rx_frame", + "portId": "q103_ro_rx", + "frequency": 7290780976.71805, + "phase": 0.0, + "qubitMappings": [ + 103 + ] }, "q104_ro_rx_frame": { - "frameId": "q104_ro_rx_frame", - "portId": "q104_ro_rx", - "frequency": 7432199515.97003, - "phase": 0.0, - "qubitMappings": [ - 104 - ] + "frameId": "q104_ro_rx_frame", + "portId": "q104_ro_rx", + "frequency": 7432199515.97003, + "phase": 0.0, + "qubitMappings": [ + 104 + ] }, "q105_ro_rx_frame": { - "frameId": "q105_ro_rx_frame", - "portId": "q105_ro_rx", - "frequency": 7274515645.76039, - "phase": 0.0, - "qubitMappings": [ - 105 - ] + "frameId": "q105_ro_rx_frame", + "portId": "q105_ro_rx", + "frequency": 7274515645.76039, + "phase": 0.0, + "qubitMappings": [ + 105 + ] }, "q106_ro_rx_frame": { - "frameId": "q106_ro_rx_frame", - "portId": "q106_ro_rx", - "frequency": 7402847817.70977, - "phase": 0.0, - "qubitMappings": [ - 106 - ] + "frameId": "q106_ro_rx_frame", + "portId": "q106_ro_rx", + "frequency": 7402847817.70977, + "phase": 0.0, + "qubitMappings": [ + 106 + ] }, "q107_ro_rx_frame": { - "frameId": "q107_ro_rx_frame", - "portId": "q107_ro_rx", - "frequency": 7170906176.01934, - "phase": 0.0, - "qubitMappings": [ - 107 - ] + "frameId": "q107_ro_rx_frame", + "portId": "q107_ro_rx", + "frequency": 7170906176.01934, + "phase": 0.0, + "qubitMappings": [ + 107 + ] }, "q110_ro_rx_frame": { - "frameId": "q110_ro_rx_frame", - "portId": "q110_ro_rx", - "frequency": 7358899523.70239, - "phase": 0.0, - "qubitMappings": [ - 110 - ] + "frameId": "q110_ro_rx_frame", + "portId": "q110_ro_rx", + "frequency": 7358899523.70239, + "phase": 0.0, + "qubitMappings": [ + 110 + ] }, "q111_ro_rx_frame": { - "frameId": "q111_ro_rx_frame", - "portId": "q111_ro_rx", - "frequency": 7229959075.73958, - "phase": 0.0, - "qubitMappings": [ - 111 - ] + "frameId": "q111_ro_rx_frame", + "portId": "q111_ro_rx", + "frequency": 7229959075.73958, + "phase": 0.0, + "qubitMappings": [ + 111 + ] }, "q112_ro_rx_frame": { - "frameId": "q112_ro_rx_frame", - "portId": "q112_ro_rx", - "frequency": 7482743304.86919, - "phase": 0.0, - "qubitMappings": [ - 112 - ] + "frameId": "q112_ro_rx_frame", + "portId": "q112_ro_rx", + "frequency": 7482743304.86919, + "phase": 0.0, + "qubitMappings": [ + 112 + ] }, "q113_ro_rx_frame": { - "frameId": "q113_ro_rx_frame", - "portId": "q113_ro_rx", - "frequency": 7300893728.62384, - "phase": 0.0, - "qubitMappings": [ - 113 - ] + "frameId": "q113_ro_rx_frame", + "portId": "q113_ro_rx", + "frequency": 7300893728.62384, + "phase": 0.0, + "qubitMappings": [ + 113 + ] }, "q114_ro_rx_frame": { - "frameId": "q114_ro_rx_frame", - "portId": "q114_ro_rx", - "frequency": 7436927294.1731, - "phase": 0.0, - "qubitMappings": [ - 114 - ] + "frameId": "q114_ro_rx_frame", + "portId": "q114_ro_rx", + "frequency": 7436927294.1731, + "phase": 0.0, + "qubitMappings": [ + 114 + ] }, "q115_ro_rx_frame": { - "frameId": "q115_ro_rx_frame", - "portId": "q115_ro_rx", - "frequency": 7266390535.98611, - "phase": 0.0, - "qubitMappings": [ - 115 - ] + "frameId": "q115_ro_rx_frame", + "portId": "q115_ro_rx", + "frequency": 7266390535.98611, + "phase": 0.0, + "qubitMappings": [ + 115 + ] }, "q116_ro_rx_frame": { - "frameId": "q116_ro_rx_frame", - "portId": "q116_ro_rx", - "frequency": 7401125155.05993, - "phase": 0.0, - "qubitMappings": [ - 116 - ] + "frameId": "q116_ro_rx_frame", + "portId": "q116_ro_rx", + "frequency": 7401125155.05993, + "phase": 0.0, + "qubitMappings": [ + 116 + ] }, "q117_ro_rx_frame": { - "frameId": "q117_ro_rx_frame", - "portId": "q117_ro_rx", - "frequency": 7171178960.32759, - "phase": 0.0, - "qubitMappings": [ - 117 - ] + "frameId": "q117_ro_rx_frame", + "portId": "q117_ro_rx", + "frequency": 7171178960.32759, + "phase": 0.0, + "qubitMappings": [ + 117 + ] }, "q120_ro_rx_frame": { - "frameId": "q120_ro_rx_frame", - "portId": "q120_ro_rx", - "frequency": 7359911513.99508, - "phase": 0.0, - "qubitMappings": [ - 120 - ] + "frameId": "q120_ro_rx_frame", + "portId": "q120_ro_rx", + "frequency": 7359911513.99508, + "phase": 0.0, + "qubitMappings": [ + 120 + ] }, "q121_ro_rx_frame": { - "frameId": "q121_ro_rx_frame", - "portId": "q121_ro_rx", - "frequency": 7229702270.64774, - "phase": 0.0, - "qubitMappings": [ - 121 - ] + "frameId": "q121_ro_rx_frame", + "portId": "q121_ro_rx", + "frequency": 7229702270.64774, + "phase": 0.0, + "qubitMappings": [ + 121 + ] }, "q122_ro_rx_frame": { - "frameId": "q122_ro_rx_frame", - "portId": "q122_ro_rx", - "frequency": 7480712853.65998, - "phase": 0.0, - "qubitMappings": [ - 122 - ] + "frameId": "q122_ro_rx_frame", + "portId": "q122_ro_rx", + "frequency": 7480712853.65998, + "phase": 0.0, + "qubitMappings": [ + 122 + ] }, "q123_ro_rx_frame": { - "frameId": "q123_ro_rx_frame", - "portId": "q123_ro_rx", - "frequency": 7302831162.38613, - "phase": 0.0, - "qubitMappings": [ - 123 - ] + "frameId": "q123_ro_rx_frame", + "portId": "q123_ro_rx", + "frequency": 7302831162.38613, + "phase": 0.0, + "qubitMappings": [ + 123 + ] }, "q124_ro_rx_frame": { - "frameId": "q124_ro_rx_frame", - "portId": "q124_ro_rx", - "frequency": 7437888612.22033, - "phase": 0.0, - "qubitMappings": [ - 124 - ] + "frameId": "q124_ro_rx_frame", + "portId": "q124_ro_rx", + "frequency": 7437888612.22033, + "phase": 0.0, + "qubitMappings": [ + 124 + ] }, "q125_ro_rx_frame": { - "frameId": "q125_ro_rx_frame", - "portId": "q125_ro_rx", - "frequency": 7270617364.96374, - "phase": 0.0, - "qubitMappings": [ - 125 - ] + "frameId": "q125_ro_rx_frame", + "portId": "q125_ro_rx", + "frequency": 7270617364.96374, + "phase": 0.0, + "qubitMappings": [ + 125 + ] }, "q126_ro_rx_frame": { - "frameId": "q126_ro_rx_frame", - "portId": "q126_ro_rx", - "frequency": 7404146642.7626, - "phase": 0.0, - "qubitMappings": [ - 126 - ] + "frameId": "q126_ro_rx_frame", + "portId": "q126_ro_rx", + "frequency": 7404146642.7626, + "phase": 0.0, + "qubitMappings": [ + 126 + ] }, "q127_ro_rx_frame": { - "frameId": "q127_ro_rx_frame", - "portId": "q127_ro_rx", - "frequency": 7178986867.5703, - "phase": 0.0, - "qubitMappings": [ - 127 - ] + "frameId": "q127_ro_rx_frame", + "portId": "q127_ro_rx", + "frequency": 7178986867.5703, + "phase": 0.0, + "qubitMappings": [ + 127 + ] }, "q130_ro_rx_frame": { - "frameId": "q130_ro_rx_frame", - "portId": "q130_ro_rx", - "frequency": 7356821592.75126, - "phase": 0.0, - "qubitMappings": [ - 130 - ] + "frameId": "q130_ro_rx_frame", + "portId": "q130_ro_rx", + "frequency": 7356821592.75126, + "phase": 0.0, + "qubitMappings": [ + 130 + ] }, "q131_ro_rx_frame": { - "frameId": "q131_ro_rx_frame", - "portId": "q131_ro_rx", - "frequency": 7227647391.67724, - "phase": 0.0, - "qubitMappings": [ - 131 - ] + "frameId": "q131_ro_rx_frame", + "portId": "q131_ro_rx", + "frequency": 7227647391.67724, + "phase": 0.0, + "qubitMappings": [ + 131 + ] }, "q132_ro_rx_frame": { - "frameId": "q132_ro_rx_frame", - "portId": "q132_ro_rx", - "frequency": 7481606995.54885, - "phase": 0.0, - "qubitMappings": [ - 132 - ] + "frameId": "q132_ro_rx_frame", + "portId": "q132_ro_rx", + "frequency": 7481606995.54885, + "phase": 0.0, + "qubitMappings": [ + 132 + ] }, "q133_ro_rx_frame": { - "frameId": "q133_ro_rx_frame", - "portId": "q133_ro_rx", - "frequency": 7301088893.08326, - "phase": 0.0, - "qubitMappings": [ - 133 - ] + "frameId": "q133_ro_rx_frame", + "portId": "q133_ro_rx", + "frequency": 7301088893.08326, + "phase": 0.0, + "qubitMappings": [ + 133 + ] }, "q134_ro_rx_frame": { - "frameId": "q134_ro_rx_frame", - "portId": "q134_ro_rx", - "frequency": 7442561687.49731, - "phase": 0.0, - "qubitMappings": [ - 134 - ] + "frameId": "q134_ro_rx_frame", + "portId": "q134_ro_rx", + "frequency": 7442561687.49731, + "phase": 0.0, + "qubitMappings": [ + 134 + ] }, "q135_ro_rx_frame": { - "frameId": "q135_ro_rx_frame", - "portId": "q135_ro_rx", - "frequency": 7270254592.07833, - "phase": 0.0, - "qubitMappings": [ - 135 - ] + "frameId": "q135_ro_rx_frame", + "portId": "q135_ro_rx", + "frequency": 7270254592.07833, + "phase": 0.0, + "qubitMappings": [ + 135 + ] }, "q137_ro_rx_frame": { - "frameId": "q137_ro_rx_frame", - "portId": "q137_ro_rx", - "frequency": 7174432883.10135, - "phase": 0.0, - "qubitMappings": [ - 137 - ] + "frameId": "q137_ro_rx_frame", + "portId": "q137_ro_rx", + "frequency": 7174432883.10135, + "phase": 0.0, + "qubitMappings": [ + 137 + ] }, "q140_ro_rx_frame": { - "frameId": "q140_ro_rx_frame", - "portId": "q140_ro_rx", - "frequency": 7358946547.18402, - "phase": 0.0, - "qubitMappings": [ - 140 - ] + "frameId": "q140_ro_rx_frame", + "portId": "q140_ro_rx", + "frequency": 7358946547.18402, + "phase": 0.0, + "qubitMappings": [ + 140 + ] }, "q141_ro_rx_frame": { - "frameId": "q141_ro_rx_frame", - "portId": "q141_ro_rx", - "frequency": 7237308962.49001, - "phase": 0.0, - "qubitMappings": [ - 141 - ] + "frameId": "q141_ro_rx_frame", + "portId": "q141_ro_rx", + "frequency": 7237308962.49001, + "phase": 0.0, + "qubitMappings": [ + 141 + ] }, "q142_ro_rx_frame": { - "frameId": "q142_ro_rx_frame", - "portId": "q142_ro_rx", - "frequency": 7484968661.11362, - "phase": 0.0, - "qubitMappings": [ - 142 - ] + "frameId": "q142_ro_rx_frame", + "portId": "q142_ro_rx", + "frequency": 7484968661.11362, + "phase": 0.0, + "qubitMappings": [ + 142 + ] }, "q143_ro_rx_frame": { - "frameId": "q143_ro_rx_frame", - "portId": "q143_ro_rx", - "frequency": 7292011582.737, - "phase": 0.0, - "qubitMappings": [ - 143 - ] + "frameId": "q143_ro_rx_frame", + "portId": "q143_ro_rx", + "frequency": 7292011582.737, + "phase": 0.0, + "qubitMappings": [ + 143 + ] }, "q144_ro_rx_frame": { - "frameId": "q144_ro_rx_frame", - "portId": "q144_ro_rx", - "frequency": 7439172100.16697, - "phase": 0.0, - "qubitMappings": [ - 144 - ] + "frameId": "q144_ro_rx_frame", + "portId": "q144_ro_rx", + "frequency": 7439172100.16697, + "phase": 0.0, + "qubitMappings": [ + 144 + ] }, "q145_ro_rx_frame": { - "frameId": "q145_ro_rx_frame", - "portId": "q145_ro_rx", - "frequency": 7268212609.11375, - "phase": 0.0, - "qubitMappings": [ - 145 - ] + "frameId": "q145_ro_rx_frame", + "portId": "q145_ro_rx", + "frequency": 7268212609.11375, + "phase": 0.0, + "qubitMappings": [ + 145 + ] }, "q146_ro_rx_frame": { - "frameId": "q146_ro_rx_frame", - "portId": "q146_ro_rx", - "frequency": 7404553972.42298, - "phase": 0.0, - "qubitMappings": [ - 146 - ] + "frameId": "q146_ro_rx_frame", + "portId": "q146_ro_rx", + "frequency": 7404553972.42298, + "phase": 0.0, + "qubitMappings": [ + 146 + ] }, "q147_ro_rx_frame": { - "frameId": "q147_ro_rx_frame", - "portId": "q147_ro_rx", - "frequency": 7174168624.47242, - "phase": 0.0, - "qubitMappings": [ - 147 - ] + "frameId": "q147_ro_rx_frame", + "portId": "q147_ro_rx", + "frequency": 7174168624.47242, + "phase": 0.0, + "qubitMappings": [ + 147 + ] }, "q0_ro_tx_frame": { - "frameId": "q0_ro_tx_frame", - "portId": "q0_ro_tx", - "frequency": 7359200001.83969, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 0 - ] + "frameId": "q0_ro_tx_frame", + "portId": "q0_ro_tx", + "frequency": 7359200001.83969, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 0 + ] }, "q1_ro_tx_frame": { - "frameId": "q1_ro_tx_frame", - "portId": "q1_ro_tx", - "frequency": 7228259838.38781, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 1 - ] + "frameId": "q1_ro_tx_frame", + "portId": "q1_ro_tx", + "frequency": 7228259838.38781, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 1 + ] }, "q2_ro_tx_frame": { - "frameId": "q2_ro_tx_frame", - "portId": "q2_ro_tx", - "frequency": 7484850403.27253, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 2 - ] + "frameId": "q2_ro_tx_frame", + "portId": "q2_ro_tx", + "frequency": 7484850403.27253, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 2 + ] }, "q3_ro_tx_frame": { - "frameId": "q3_ro_tx_frame", - "portId": "q3_ro_tx", - "frequency": 7295470164.74348, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 3 - ] + "frameId": "q3_ro_tx_frame", + "portId": "q3_ro_tx", + "frequency": 7295470164.74348, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 3 + ] }, "q4_ro_tx_frame": { - "frameId": "q4_ro_tx_frame", - "portId": "q4_ro_tx", - "frequency": 7436761905.98451, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 4 - ] + "frameId": "q4_ro_tx_frame", + "portId": "q4_ro_tx", + "frequency": 7436761905.98451, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 4 + ] }, "q5_ro_tx_frame": { - "frameId": "q5_ro_tx_frame", - "portId": "q5_ro_tx", - "frequency": 7277675057.05634, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 5 - ] + "frameId": "q5_ro_tx_frame", + "portId": "q5_ro_tx", + "frequency": 7277675057.05634, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 5 + ] }, "q6_ro_tx_frame": { - "frameId": "q6_ro_tx_frame", - "portId": "q6_ro_tx", - "frequency": 7412610582.56533, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 6 - ] + "frameId": "q6_ro_tx_frame", + "portId": "q6_ro_tx", + "frequency": 7412610582.56533, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 6 + ] }, "q7_ro_tx_frame": { - "frameId": "q7_ro_tx_frame", - "portId": "q7_ro_tx", - "frequency": 7167861342.05502, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 7 - ] + "frameId": "q7_ro_tx_frame", + "portId": "q7_ro_tx", + "frequency": 7167861342.05502, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 7 + ] }, "q10_ro_tx_frame": { - "frameId": "q10_ro_tx_frame", - "portId": "q10_ro_tx", - "frequency": 7362069917.90117, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 10 - ] + "frameId": "q10_ro_tx_frame", + "portId": "q10_ro_tx", + "frequency": 7362069917.90117, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 10 + ] }, "q11_ro_tx_frame": { - "frameId": "q11_ro_tx_frame", - "portId": "q11_ro_tx", - "frequency": 7231483331.57893, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 11 - ] + "frameId": "q11_ro_tx_frame", + "portId": "q11_ro_tx", + "frequency": 7231483331.57893, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 11 + ] }, "q12_ro_tx_frame": { - "frameId": "q12_ro_tx_frame", - "portId": "q12_ro_tx", - "frequency": 7484259699.27378, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 12 - ] + "frameId": "q12_ro_tx_frame", + "portId": "q12_ro_tx", + "frequency": 7484259699.27378, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 12 + ] }, "q13_ro_tx_frame": { - "frameId": "q13_ro_tx_frame", - "portId": "q13_ro_tx", - "frequency": 7298047323.54621, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 13 - ] + "frameId": "q13_ro_tx_frame", + "portId": "q13_ro_tx", + "frequency": 7298047323.54621, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 13 + ] }, "q14_ro_tx_frame": { - "frameId": "q14_ro_tx_frame", - "portId": "q14_ro_tx", - "frequency": 7438824664.66692, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 14 - ] + "frameId": "q14_ro_tx_frame", + "portId": "q14_ro_tx", + "frequency": 7438824664.66692, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 14 + ] }, "q15_ro_tx_frame": { - "frameId": "q15_ro_tx_frame", - "portId": "q15_ro_tx", - "frequency": 7265994140.38281, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 15 - ] + "frameId": "q15_ro_tx_frame", + "portId": "q15_ro_tx", + "frequency": 7265994140.38281, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 15 + ] }, "q16_ro_tx_frame": { - "frameId": "q16_ro_tx_frame", - "portId": "q16_ro_tx", - "frequency": 7403429846.75876, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 16 - ] + "frameId": "q16_ro_tx_frame", + "portId": "q16_ro_tx", + "frequency": 7403429846.75876, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 16 + ] }, "q17_ro_tx_frame": { - "frameId": "q17_ro_tx_frame", - "portId": "q17_ro_tx", - "frequency": 7177248189.6217, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 17 - ] + "frameId": "q17_ro_tx_frame", + "portId": "q17_ro_tx", + "frequency": 7177248189.6217, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 17 + ] }, "q20_ro_tx_frame": { - "frameId": "q20_ro_tx_frame", - "portId": "q20_ro_tx", - "frequency": 7359820133.03701, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 20 - ] + "frameId": "q20_ro_tx_frame", + "portId": "q20_ro_tx", + "frequency": 7359820133.03701, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 20 + ] }, "q21_ro_tx_frame": { - "frameId": "q21_ro_tx_frame", - "portId": "q21_ro_tx", - "frequency": 7227436013.77427, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 21 - ] + "frameId": "q21_ro_tx_frame", + "portId": "q21_ro_tx", + "frequency": 7227436013.77427, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 21 + ] }, "q22_ro_tx_frame": { - "frameId": "q22_ro_tx_frame", - "portId": "q22_ro_tx", - "frequency": 7482306854.06165, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 22 - ] + "frameId": "q22_ro_tx_frame", + "portId": "q22_ro_tx", + "frequency": 7482306854.06165, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 22 + ] }, "q23_ro_tx_frame": { - "frameId": "q23_ro_tx_frame", - "portId": "q23_ro_tx", - "frequency": 7299301951.78279, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 23 - ] + "frameId": "q23_ro_tx_frame", + "portId": "q23_ro_tx", + "frequency": 7299301951.78279, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 23 + ] }, "q24_ro_tx_frame": { - "frameId": "q24_ro_tx_frame", - "portId": "q24_ro_tx", - "frequency": 7442812954.68393, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 24 - ] + "frameId": "q24_ro_tx_frame", + "portId": "q24_ro_tx", + "frequency": 7442812954.68393, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 24 + ] }, "q25_ro_tx_frame": { - "frameId": "q25_ro_tx_frame", - "portId": "q25_ro_tx", - "frequency": 7271741540.47628, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 25 - ] + "frameId": "q25_ro_tx_frame", + "portId": "q25_ro_tx", + "frequency": 7271741540.47628, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 25 + ] }, "q26_ro_tx_frame": { - "frameId": "q26_ro_tx_frame", - "portId": "q26_ro_tx", - "frequency": 7403835287.13269, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 26 - ] + "frameId": "q26_ro_tx_frame", + "portId": "q26_ro_tx", + "frequency": 7403835287.13269, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 26 + ] }, "q27_ro_tx_frame": { - "frameId": "q27_ro_tx_frame", - "portId": "q27_ro_tx", - "frequency": 7179901622.02389, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 27 - ] + "frameId": "q27_ro_tx_frame", + "portId": "q27_ro_tx", + "frequency": 7179901622.02389, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 27 + ] }, "q30_ro_tx_frame": { - "frameId": "q30_ro_tx_frame", - "portId": "q30_ro_tx", - "frequency": 7358516463.81857, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 30 - ] + "frameId": "q30_ro_tx_frame", + "portId": "q30_ro_tx", + "frequency": 7358516463.81857, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 30 + ] }, "q31_ro_tx_frame": { - "frameId": "q31_ro_tx_frame", - "portId": "q31_ro_tx", - "frequency": 7225341804.33158, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 31 - ] + "frameId": "q31_ro_tx_frame", + "portId": "q31_ro_tx", + "frequency": 7225341804.33158, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 31 + ] }, "q32_ro_tx_frame": { - "frameId": "q32_ro_tx_frame", - "portId": "q32_ro_tx", - "frequency": 7481221489.55983, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 32 - ] + "frameId": "q32_ro_tx_frame", + "portId": "q32_ro_tx", + "frequency": 7481221489.55983, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 32 + ] }, "q33_ro_tx_frame": { - "frameId": "q33_ro_tx_frame", - "portId": "q33_ro_tx", - "frequency": 7292359745.76521, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 33 - ] + "frameId": "q33_ro_tx_frame", + "portId": "q33_ro_tx", + "frequency": 7292359745.76521, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 33 + ] }, "q34_ro_tx_frame": { - "frameId": "q34_ro_tx_frame", - "portId": "q34_ro_tx", - "frequency": 7439060375.97267, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 34 - ] + "frameId": "q34_ro_tx_frame", + "portId": "q34_ro_tx", + "frequency": 7439060375.97267, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 34 + ] }, "q35_ro_tx_frame": { - "frameId": "q35_ro_tx_frame", - "portId": "q35_ro_tx", - "frequency": 7269893149.33504, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 35 - ] + "frameId": "q35_ro_tx_frame", + "portId": "q35_ro_tx", + "frequency": 7269893149.33504, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 35 + ] }, "q36_ro_tx_frame": { - "frameId": "q36_ro_tx_frame", - "portId": "q36_ro_tx", - "frequency": 7405763274.76162, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 36 - ] + "frameId": "q36_ro_tx_frame", + "portId": "q36_ro_tx", + "frequency": 7405763274.76162, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 36 + ] }, "q37_ro_tx_frame": { - "frameId": "q37_ro_tx_frame", - "portId": "q37_ro_tx", - "frequency": 7177242645.01293, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 37 - ] + "frameId": "q37_ro_tx_frame", + "portId": "q37_ro_tx", + "frequency": 7177242645.01293, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 37 + ] }, "q40_ro_tx_frame": { - "frameId": "q40_ro_tx_frame", - "portId": "q40_ro_tx", - "frequency": 7353397009.52832, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 40 - ] + "frameId": "q40_ro_tx_frame", + "portId": "q40_ro_tx", + "frequency": 7353397009.52832, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 40 + ] }, "q41_ro_tx_frame": { - "frameId": "q41_ro_tx_frame", - "portId": "q41_ro_tx", - "frequency": 7233749164.56059, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 41 - ] + "frameId": "q41_ro_tx_frame", + "portId": "q41_ro_tx", + "frequency": 7233749164.56059, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 41 + ] }, "q42_ro_tx_frame": { - "frameId": "q42_ro_tx_frame", - "portId": "q42_ro_tx", - "frequency": 7486244142.83315, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 42 - ] + "frameId": "q42_ro_tx_frame", + "portId": "q42_ro_tx", + "frequency": 7486244142.83315, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 42 + ] }, "q43_ro_tx_frame": { - "frameId": "q43_ro_tx_frame", - "portId": "q43_ro_tx", - "frequency": 7290781710.4467, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 43 - ] + "frameId": "q43_ro_tx_frame", + "portId": "q43_ro_tx", + "frequency": 7290781710.4467, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 43 + ] }, "q44_ro_tx_frame": { - "frameId": "q44_ro_tx_frame", - "portId": "q44_ro_tx", - "frequency": 7437638161.83216, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 44 - ] + "frameId": "q44_ro_tx_frame", + "portId": "q44_ro_tx", + "frequency": 7437638161.83216, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 44 + ] }, "q45_ro_tx_frame": { - "frameId": "q45_ro_tx_frame", - "portId": "q45_ro_tx", - "frequency": 7266024353.993, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 45 - ] + "frameId": "q45_ro_tx_frame", + "portId": "q45_ro_tx", + "frequency": 7266024353.993, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 45 + ] }, "q46_ro_tx_frame": { - "frameId": "q46_ro_tx_frame", - "portId": "q46_ro_tx", - "frequency": 7400494103.04955, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 46 - ] + "frameId": "q46_ro_tx_frame", + "portId": "q46_ro_tx", + "frequency": 7400494103.04955, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 46 + ] }, "q47_ro_tx_frame": { - "frameId": "q47_ro_tx_frame", - "portId": "q47_ro_tx", - "frequency": 7172192152.94327, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 47 - ] + "frameId": "q47_ro_tx_frame", + "portId": "q47_ro_tx", + "frequency": 7172192152.94327, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 47 + ] }, "q100_ro_tx_frame": { - "frameId": "q100_ro_tx_frame", - "portId": "q100_ro_tx", - "frequency": 7356805837.61458, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 100 - ] + "frameId": "q100_ro_tx_frame", + "portId": "q100_ro_tx", + "frequency": 7356805837.61458, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 100 + ] }, "q101_ro_tx_frame": { - "frameId": "q101_ro_tx_frame", - "portId": "q101_ro_tx", - "frequency": 7228956576.10171, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 101 - ] + "frameId": "q101_ro_tx_frame", + "portId": "q101_ro_tx", + "frequency": 7228956576.10171, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 101 + ] }, "q102_ro_tx_frame": { - "frameId": "q102_ro_tx_frame", - "portId": "q102_ro_tx", - "frequency": 7482323668.8819, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 102 - ] + "frameId": "q102_ro_tx_frame", + "portId": "q102_ro_tx", + "frequency": 7482323668.8819, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 102 + ] }, "q103_ro_tx_frame": { - "frameId": "q103_ro_tx_frame", - "portId": "q103_ro_tx", - "frequency": 7290780976.71805, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 103 - ] + "frameId": "q103_ro_tx_frame", + "portId": "q103_ro_tx", + "frequency": 7290780976.71805, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 103 + ] }, "q104_ro_tx_frame": { - "frameId": "q104_ro_tx_frame", - "portId": "q104_ro_tx", - "frequency": 7432199515.97003, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 104 - ] + "frameId": "q104_ro_tx_frame", + "portId": "q104_ro_tx", + "frequency": 7432199515.97003, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 104 + ] }, "q105_ro_tx_frame": { - "frameId": "q105_ro_tx_frame", - "portId": "q105_ro_tx", - "frequency": 7274515645.76039, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 105 - ] + "frameId": "q105_ro_tx_frame", + "portId": "q105_ro_tx", + "frequency": 7274515645.76039, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 105 + ] }, "q106_ro_tx_frame": { - "frameId": "q106_ro_tx_frame", - "portId": "q106_ro_tx", - "frequency": 7402847817.70977, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 106 - ] + "frameId": "q106_ro_tx_frame", + "portId": "q106_ro_tx", + "frequency": 7402847817.70977, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 106 + ] }, "q107_ro_tx_frame": { - "frameId": "q107_ro_tx_frame", - "portId": "q107_ro_tx", - "frequency": 7170906176.01934, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 107 - ] + "frameId": "q107_ro_tx_frame", + "portId": "q107_ro_tx", + "frequency": 7170906176.01934, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 107 + ] }, "q110_ro_tx_frame": { - "frameId": "q110_ro_tx_frame", - "portId": "q110_ro_tx", - "frequency": 7358899523.70239, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 110 - ] + "frameId": "q110_ro_tx_frame", + "portId": "q110_ro_tx", + "frequency": 7358899523.70239, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 110 + ] }, "q111_ro_tx_frame": { - "frameId": "q111_ro_tx_frame", - "portId": "q111_ro_tx", - "frequency": 7229959075.73958, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 111 - ] + "frameId": "q111_ro_tx_frame", + "portId": "q111_ro_tx", + "frequency": 7229959075.73958, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 111 + ] }, "q112_ro_tx_frame": { - "frameId": "q112_ro_tx_frame", - "portId": "q112_ro_tx", - "frequency": 7482743304.86919, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 112 - ] + "frameId": "q112_ro_tx_frame", + "portId": "q112_ro_tx", + "frequency": 7482743304.86919, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 112 + ] }, "q113_ro_tx_frame": { - "frameId": "q113_ro_tx_frame", - "portId": "q113_ro_tx", - "frequency": 7300893728.62384, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 113 - ] + "frameId": "q113_ro_tx_frame", + "portId": "q113_ro_tx", + "frequency": 7300893728.62384, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 113 + ] }, "q114_ro_tx_frame": { - "frameId": "q114_ro_tx_frame", - "portId": "q114_ro_tx", - "frequency": 7436927294.1731, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 114 - ] + "frameId": "q114_ro_tx_frame", + "portId": "q114_ro_tx", + "frequency": 7436927294.1731, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 114 + ] }, "q115_ro_tx_frame": { - "frameId": "q115_ro_tx_frame", - "portId": "q115_ro_tx", - "frequency": 7266390535.98611, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 115 - ] + "frameId": "q115_ro_tx_frame", + "portId": "q115_ro_tx", + "frequency": 7266390535.98611, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 115 + ] }, "q116_ro_tx_frame": { - "frameId": "q116_ro_tx_frame", - "portId": "q116_ro_tx", - "frequency": 7401125155.05993, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 116 - ] + "frameId": "q116_ro_tx_frame", + "portId": "q116_ro_tx", + "frequency": 7401125155.05993, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 116 + ] }, "q117_ro_tx_frame": { - "frameId": "q117_ro_tx_frame", - "portId": "q117_ro_tx", - "frequency": 7171178960.32759, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 117 - ] + "frameId": "q117_ro_tx_frame", + "portId": "q117_ro_tx", + "frequency": 7171178960.32759, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 117 + ] }, "q120_ro_tx_frame": { - "frameId": "q120_ro_tx_frame", - "portId": "q120_ro_tx", - "frequency": 7359911513.99508, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 120 - ] + "frameId": "q120_ro_tx_frame", + "portId": "q120_ro_tx", + "frequency": 7359911513.99508, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 120 + ] }, "q121_ro_tx_frame": { - "frameId": "q121_ro_tx_frame", - "portId": "q121_ro_tx", - "frequency": 7229702270.64774, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 121 - ] + "frameId": "q121_ro_tx_frame", + "portId": "q121_ro_tx", + "frequency": 7229702270.64774, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 121 + ] }, "q122_ro_tx_frame": { - "frameId": "q122_ro_tx_frame", - "portId": "q122_ro_tx", - "frequency": 7480712853.65998, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 122 - ] + "frameId": "q122_ro_tx_frame", + "portId": "q122_ro_tx", + "frequency": 7480712853.65998, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 122 + ] }, "q123_ro_tx_frame": { - "frameId": "q123_ro_tx_frame", - "portId": "q123_ro_tx", - "frequency": 7302831162.38613, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 123 - ] + "frameId": "q123_ro_tx_frame", + "portId": "q123_ro_tx", + "frequency": 7302831162.38613, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 123 + ] }, "q124_ro_tx_frame": { - "frameId": "q124_ro_tx_frame", - "portId": "q124_ro_tx", - "frequency": 7437888612.22033, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 124 - ] + "frameId": "q124_ro_tx_frame", + "portId": "q124_ro_tx", + "frequency": 7437888612.22033, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 124 + ] }, "q125_ro_tx_frame": { - "frameId": "q125_ro_tx_frame", - "portId": "q125_ro_tx", - "frequency": 7270617364.96374, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 125 - ] + "frameId": "q125_ro_tx_frame", + "portId": "q125_ro_tx", + "frequency": 7270617364.96374, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 125 + ] }, "q126_ro_tx_frame": { - "frameId": "q126_ro_tx_frame", - "portId": "q126_ro_tx", - "frequency": 7404146642.7626, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 126 - ] + "frameId": "q126_ro_tx_frame", + "portId": "q126_ro_tx", + "frequency": 7404146642.7626, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 126 + ] }, "q127_ro_tx_frame": { - "frameId": "q127_ro_tx_frame", - "portId": "q127_ro_tx", - "frequency": 7178986867.5703, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 127 - ] + "frameId": "q127_ro_tx_frame", + "portId": "q127_ro_tx", + "frequency": 7178986867.5703, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 127 + ] }, "q130_ro_tx_frame": { - "frameId": "q130_ro_tx_frame", - "portId": "q130_ro_tx", - "frequency": 7356821592.75126, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 130 - ] + "frameId": "q130_ro_tx_frame", + "portId": "q130_ro_tx", + "frequency": 7356821592.75126, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 130 + ] }, "q131_ro_tx_frame": { - "frameId": "q131_ro_tx_frame", - "portId": "q131_ro_tx", - "frequency": 7227647391.67724, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 131 - ] + "frameId": "q131_ro_tx_frame", + "portId": "q131_ro_tx", + "frequency": 7227647391.67724, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 131 + ] }, "q132_ro_tx_frame": { - "frameId": "q132_ro_tx_frame", - "portId": "q132_ro_tx", - "frequency": 7481606995.54885, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 132 - ] + "frameId": "q132_ro_tx_frame", + "portId": "q132_ro_tx", + "frequency": 7481606995.54885, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 132 + ] }, "q133_ro_tx_frame": { - "frameId": "q133_ro_tx_frame", - "portId": "q133_ro_tx", - "frequency": 7301088893.08326, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 133 - ] + "frameId": "q133_ro_tx_frame", + "portId": "q133_ro_tx", + "frequency": 7301088893.08326, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 133 + ] }, "q134_ro_tx_frame": { - "frameId": "q134_ro_tx_frame", - "portId": "q134_ro_tx", - "frequency": 7442561687.49731, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 134 - ] + "frameId": "q134_ro_tx_frame", + "portId": "q134_ro_tx", + "frequency": 7442561687.49731, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 134 + ] }, "q135_ro_tx_frame": { - "frameId": "q135_ro_tx_frame", - "portId": "q135_ro_tx", - "frequency": 7270254592.07833, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 135 - ] + "frameId": "q135_ro_tx_frame", + "portId": "q135_ro_tx", + "frequency": 7270254592.07833, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 135 + ] }, "q137_ro_tx_frame": { - "frameId": "q137_ro_tx_frame", - "portId": "q137_ro_tx", - "frequency": 7174432883.10135, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 137 - ] + "frameId": "q137_ro_tx_frame", + "portId": "q137_ro_tx", + "frequency": 7174432883.10135, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 137 + ] }, "q140_ro_tx_frame": { - "frameId": "q140_ro_tx_frame", - "portId": "q140_ro_tx", - "frequency": 7358946547.18402, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 140 - ] + "frameId": "q140_ro_tx_frame", + "portId": "q140_ro_tx", + "frequency": 7358946547.18402, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 140 + ] }, "q141_ro_tx_frame": { - "frameId": "q141_ro_tx_frame", - "portId": "q141_ro_tx", - "frequency": 7237308962.49001, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 141 - ] + "frameId": "q141_ro_tx_frame", + "portId": "q141_ro_tx", + "frequency": 7237308962.49001, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 141 + ] }, "q142_ro_tx_frame": { - "frameId": "q142_ro_tx_frame", - "portId": "q142_ro_tx", - "frequency": 7484968661.11362, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 142 - ] + "frameId": "q142_ro_tx_frame", + "portId": "q142_ro_tx", + "frequency": 7484968661.11362, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 142 + ] }, "q143_ro_tx_frame": { - "frameId": "q143_ro_tx_frame", - "portId": "q143_ro_tx", - "frequency": 7292011582.737, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 143 - ] + "frameId": "q143_ro_tx_frame", + "portId": "q143_ro_tx", + "frequency": 7292011582.737, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 143 + ] }, "q144_ro_tx_frame": { - "frameId": "q144_ro_tx_frame", - "portId": "q144_ro_tx", - "frequency": 7439172100.16697, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 144 - ] + "frameId": "q144_ro_tx_frame", + "portId": "q144_ro_tx", + "frequency": 7439172100.16697, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 144 + ] }, "q145_ro_tx_frame": { - "frameId": "q145_ro_tx_frame", - "portId": "q145_ro_tx", - "frequency": 7268212609.11375, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 145 - ] + "frameId": "q145_ro_tx_frame", + "portId": "q145_ro_tx", + "frequency": 7268212609.11375, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 145 + ] }, "q146_ro_tx_frame": { - "frameId": "q146_ro_tx_frame", - "portId": "q146_ro_tx", - "frequency": 7404553972.42298, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 146 - ] + "frameId": "q146_ro_tx_frame", + "portId": "q146_ro_tx", + "frequency": 7404553972.42298, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 146 + ] }, "q147_ro_tx_frame": { - "frameId": "q147_ro_tx_frame", - "portId": "q147_ro_tx", - "frequency": 7174168624.47242, - "centerFrequency": 7125000000.0, - "phase": 0.0, - "qubitMappings": [ - 147 - ] + "frameId": "q147_ro_tx_frame", + "portId": "q147_ro_tx", + "frequency": 7174168624.47242, + "centerFrequency": 7125000000.0, + "phase": 0.0, + "qubitMappings": [ + 147 + ] }, "q0_q1_xy_frame": { - "frameId": "q0_q1_xy_frame", - "portId": "q0_ff", - "frequency": 605114988.3958602, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 0, - 1 - ] + "frameId": "q0_q1_xy_frame", + "portId": "q0_ff", + "frequency": 605114988.3958602, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 0, + 1 + ] }, "q0_q103_xy_frame": { - "frameId": "q0_q103_xy_frame", - "portId": "q0_ff", - "frequency": 640099371.6111951, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 0, - 103 - ] + "frameId": "q0_q103_xy_frame", + "portId": "q0_ff", + "frequency": 640099371.6111951, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 0, + 103 + ] }, "q1_q2_xy_frame": { - "frameId": "q1_q2_xy_frame", - "portId": "q2_ff", - "frequency": 760722812.961545, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 1, - 2 - ] + "frameId": "q1_q2_xy_frame", + "portId": "q2_ff", + "frequency": 760722812.961545, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 1, + 2 + ] }, "q1_q16_xy_frame": { - "frameId": "q1_q16_xy_frame", - "portId": "q16_ff", - "frequency": 591663118.308135, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 1, - 16 - ] + "frameId": "q1_q16_xy_frame", + "portId": "q16_ff", + "frequency": 591663118.308135, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 1, + 16 + ] }, "q2_q3_xy_frame": { - "frameId": "q2_q3_xy_frame", - "portId": "q2_ff", - "frequency": 641745984.4254549, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 2, - 3 - ] + "frameId": "q2_q3_xy_frame", + "portId": "q2_ff", + "frequency": 641745984.4254549, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 2, + 3 + ] }, "q2_q15_xy_frame": { - "frameId": "q2_q15_xy_frame", - "portId": "q2_ff", - "frequency": 649801295.3789699, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 2, - 15 - ] + "frameId": "q2_q15_xy_frame", + "portId": "q2_ff", + "frequency": 649801295.3789699, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 2, + 15 + ] }, "q3_q4_xy_frame": { - "frameId": "q3_q4_xy_frame", - "portId": "q4_ff", - "frequency": 565371844.519275, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 3, - 4 - ] + "frameId": "q3_q4_xy_frame", + "portId": "q4_ff", + "frequency": 565371844.519275, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 3, + 4 + ] }, "q4_q5_xy_frame": { - "frameId": "q4_q5_xy_frame", - "portId": "q4_ff", - "frequency": 611018416.8937101, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 4, - 5 - ] + "frameId": "q4_q5_xy_frame", + "portId": "q4_ff", + "frequency": 611018416.8937101, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 4, + 5 + ] }, "q5_q6_xy_frame": { - "frameId": "q5_q6_xy_frame", - "portId": "q6_ff", - "frequency": 671052870.1018653, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 5, - 6 - ] + "frameId": "q5_q6_xy_frame", + "portId": "q6_ff", + "frequency": 671052870.1018653, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 5, + 6 + ] }, "q7_q104_xy_frame": { - "frameId": "q7_q104_xy_frame", - "portId": "q104_ff", - "frequency": 763485378.0118351, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 7, - 104 - ] + "frameId": "q7_q104_xy_frame", + "portId": "q104_ff", + "frequency": 763485378.0118351, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 7, + 104 + ] }, "q10_q11_xy_frame": { - "frameId": "q10_q11_xy_frame", - "portId": "q10_ff", - "frequency": 556969821.0265603, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 10, - 11 - ] + "frameId": "q10_q11_xy_frame", + "portId": "q10_ff", + "frequency": 556969821.0265603, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 10, + 11 + ] }, "q10_q17_xy_frame": { - "frameId": "q10_q17_xy_frame", - "portId": "q10_ff", - "frequency": 762213685.9889202, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 10, - 17 - ] + "frameId": "q10_q17_xy_frame", + "portId": "q10_ff", + "frequency": 762213685.9889202, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 10, + 17 + ] }, "q10_q113_xy_frame": { - "frameId": "q10_q113_xy_frame", - "portId": "q10_ff", - "frequency": 770309857.3594103, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 10, - 113 - ] + "frameId": "q10_q113_xy_frame", + "portId": "q10_ff", + "frequency": 770309857.3594103, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 10, + 113 + ] }, "q11_q12_xy_frame": { - "frameId": "q11_q12_xy_frame", - "portId": "q12_ff", - "frequency": 656711462.435195, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 11, - 12 - ] + "frameId": "q11_q12_xy_frame", + "portId": "q12_ff", + "frequency": 656711462.435195, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 11, + 12 + ] }, "q12_q13_xy_frame": { - "frameId": "q12_q13_xy_frame", - "portId": "q12_ff", - "frequency": 609963313.78948, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 12, - 13 - ] + "frameId": "q12_q13_xy_frame", + "portId": "q12_ff", + "frequency": 609963313.78948, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 12, + 13 + ] }, "q12_q25_xy_frame": { - "frameId": "q12_q25_xy_frame", - "portId": "q12_ff", - "frequency": 648114037.3244598, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 12, - 25 - ] + "frameId": "q12_q25_xy_frame", + "portId": "q12_ff", + "frequency": 648114037.3244598, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 12, + 25 + ] }, "q13_q14_xy_frame": { - "frameId": "q13_q14_xy_frame", - "portId": "q14_ff", - "frequency": 535281713.678355, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 13, - 14 - ] + "frameId": "q13_q14_xy_frame", + "portId": "q14_ff", + "frequency": 535281713.678355, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 13, + 14 + ] }, "q15_q16_xy_frame": { - "frameId": "q15_q16_xy_frame", - "portId": "q16_ff", - "frequency": 480741600.72555995, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 15, - 16 - ] + "frameId": "q15_q16_xy_frame", + "portId": "q16_ff", + "frequency": 480741600.72555995, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 15, + 16 + ] }, "q16_q17_xy_frame": { - "frameId": "q16_q17_xy_frame", - "portId": "q16_ff", - "frequency": 691832767.271245, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 16, - 17 - ] + "frameId": "q16_q17_xy_frame", + "portId": "q16_ff", + "frequency": 691832767.271245, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 16, + 17 + ] }, "q17_q114_xy_frame": { - "frameId": "q17_q114_xy_frame", - "portId": "q114_ff", - "frequency": 592582188.9198799, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 17, - 114 - ] + "frameId": "q17_q114_xy_frame", + "portId": "q114_ff", + "frequency": 592582188.9198799, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 17, + 114 + ] }, "q20_q21_xy_frame": { - "frameId": "q20_q21_xy_frame", - "portId": "q20_ff", - "frequency": 610015120.5508149, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 20, - 21 - ] + "frameId": "q20_q21_xy_frame", + "portId": "q20_ff", + "frequency": 610015120.5508149, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 20, + 21 + ] }, "q20_q27_xy_frame": { - "frameId": "q20_q27_xy_frame", - "portId": "q20_ff", - "frequency": 661309561.0082948, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 20, - 27 - ] + "frameId": "q20_q27_xy_frame", + "portId": "q20_ff", + "frequency": 661309561.0082948, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 20, + 27 + ] }, "q20_q123_xy_frame": { - "frameId": "q20_q123_xy_frame", - "portId": "q20_ff", - "frequency": 637452118.5493147, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 20, - 123 - ] + "frameId": "q20_q123_xy_frame", + "portId": "q20_ff", + "frequency": 637452118.5493147, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 20, + 123 + ] }, "q21_q22_xy_frame": { - "frameId": "q21_q22_xy_frame", - "portId": "q22_ff", - "frequency": 368198935.2082403, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 21, - 22 - ] + "frameId": "q21_q22_xy_frame", + "portId": "q22_ff", + "frequency": 368198935.2082403, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 21, + 22 + ] }, "q21_q36_xy_frame": { - "frameId": "q21_q36_xy_frame", - "portId": "q36_ff", - "frequency": 646223262.66311, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 21, - 36 - ] + "frameId": "q21_q36_xy_frame", + "portId": "q36_ff", + "frequency": 646223262.66311, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 21, + 36 + ] }, "q22_q23_xy_frame": { - "frameId": "q22_q23_xy_frame", - "portId": "q22_ff", - "frequency": 365628356.86764526, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 22, - 23 - ] + "frameId": "q22_q23_xy_frame", + "portId": "q22_ff", + "frequency": 365628356.86764526, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 22, + 23 + ] }, "q23_q24_xy_frame": { - "frameId": "q23_q24_xy_frame", - "portId": "q24_ff", - "frequency": 707293026.931365, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 23, - 24 - ] + "frameId": "q23_q24_xy_frame", + "portId": "q24_ff", + "frequency": 707293026.931365, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 23, + 24 + ] }, "q24_q25_xy_frame": { - "frameId": "q24_q25_xy_frame", - "portId": "q24_ff", - "frequency": 655620777.6159599, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 24, - 25 - ] + "frameId": "q24_q25_xy_frame", + "portId": "q24_ff", + "frequency": 655620777.6159599, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 24, + 25 + ] }, "q26_q27_xy_frame": { - "frameId": "q26_q27_xy_frame", - "portId": "q26_ff", - "frequency": 635556688.78808, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 26, - 27 - ] + "frameId": "q26_q27_xy_frame", + "portId": "q26_ff", + "frequency": 635556688.78808, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 26, + 27 + ] }, "q27_q124_xy_frame": { - "frameId": "q27_q124_xy_frame", - "portId": "q124_ff", - "frequency": 571856373.5994198, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 27, - 124 - ] + "frameId": "q27_q124_xy_frame", + "portId": "q124_ff", + "frequency": 571856373.5994198, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 27, + 124 + ] }, "q30_q31_xy_frame": { - "frameId": "q30_q31_xy_frame", - "portId": "q30_ff", - "frequency": 575803152.6825249, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 30, - 31 - ] + "frameId": "q30_q31_xy_frame", + "portId": "q30_ff", + "frequency": 575803152.6825249, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 30, + 31 + ] }, "q30_q37_xy_frame": { - "frameId": "q30_q37_xy_frame", - "portId": "q30_ff", - "frequency": 662700973.2538698, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 30, - 37 - ] + "frameId": "q30_q37_xy_frame", + "portId": "q30_ff", + "frequency": 662700973.2538698, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 30, + 37 + ] }, "q30_q133_xy_frame": { - "frameId": "q30_q133_xy_frame", - "portId": "q30_ff", - "frequency": 731533259.7636747, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 30, - 133 - ] + "frameId": "q30_q133_xy_frame", + "portId": "q30_ff", + "frequency": 731533259.7636747, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 30, + 133 + ] }, "q31_q32_xy_frame": { - "frameId": "q31_q32_xy_frame", - "portId": "q32_ff", - "frequency": 666059330.694485, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 31, - 32 - ] + "frameId": "q31_q32_xy_frame", + "portId": "q32_ff", + "frequency": 666059330.694485, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 31, + 32 + ] }, "q31_q46_xy_frame": { - "frameId": "q31_q46_xy_frame", - "portId": "q46_ff", - "frequency": 558244110.7419403, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 31, - 46 - ] + "frameId": "q31_q46_xy_frame", + "portId": "q46_ff", + "frequency": 558244110.7419403, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 31, + 46 + ] }, "q32_q33_xy_frame": { - "frameId": "q32_q33_xy_frame", - "portId": "q32_ff", - "frequency": 648210494.8574948, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 32, - 33 - ] + "frameId": "q32_q33_xy_frame", + "portId": "q32_ff", + "frequency": 648210494.8574948, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 32, + 33 + ] }, "q32_q45_xy_frame": { - "frameId": "q32_q45_xy_frame", - "portId": "q32_ff", - "frequency": 712856720.874605, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 32, - 45 - ] + "frameId": "q32_q45_xy_frame", + "portId": "q32_ff", + "frequency": 712856720.874605, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 32, + 45 + ] }, "q33_q34_xy_frame": { - "frameId": "q33_q34_xy_frame", - "portId": "q34_ff", - "frequency": 599645976.2733397, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 33, - 34 - ] + "frameId": "q33_q34_xy_frame", + "portId": "q34_ff", + "frequency": 599645976.2733397, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 33, + 34 + ] }, "q34_q35_xy_frame": { - "frameId": "q34_q35_xy_frame", - "portId": "q34_ff", - "frequency": 648662684.7705798, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 34, - 35 - ] + "frameId": "q34_q35_xy_frame", + "portId": "q34_ff", + "frequency": 648662684.7705798, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 34, + 35 + ] }, "q35_q36_xy_frame": { - "frameId": "q35_q36_xy_frame", - "portId": "q36_ff", - "frequency": 624127357.202775, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 35, - 36 - ] + "frameId": "q35_q36_xy_frame", + "portId": "q36_ff", + "frequency": 624127357.202775, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 35, + 36 + ] }, "q36_q37_xy_frame": { - "frameId": "q36_q37_xy_frame", - "portId": "q36_ff", - "frequency": 679857305.1138699, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 36, - 37 - ] + "frameId": "q36_q37_xy_frame", + "portId": "q36_ff", + "frequency": 679857305.1138699, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 36, + 37 + ] }, "q37_q134_xy_frame": { - "frameId": "q37_q134_xy_frame", - "portId": "q134_ff", - "frequency": 555055810.6682851, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 37, - 134 - ] + "frameId": "q37_q134_xy_frame", + "portId": "q134_ff", + "frequency": 555055810.6682851, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 37, + 134 + ] }, "q40_q41_xy_frame": { - "frameId": "q40_q41_xy_frame", - "portId": "q40_ff", - "frequency": 577587619.5468497, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 40, - 41 - ] + "frameId": "q40_q41_xy_frame", + "portId": "q40_ff", + "frequency": 577587619.5468497, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 40, + 41 + ] }, "q40_q47_xy_frame": { - "frameId": "q40_q47_xy_frame", - "portId": "q40_ff", - "frequency": 667095280.2444849, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 40, - 47 - ] + "frameId": "q40_q47_xy_frame", + "portId": "q40_ff", + "frequency": 667095280.2444849, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 40, + 47 + ] }, "q40_q143_xy_frame": { - "frameId": "q40_q143_xy_frame", - "portId": "q40_ff", - "frequency": 691371145.9405549, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 40, - 143 - ] + "frameId": "q40_q143_xy_frame", + "portId": "q40_ff", + "frequency": 691371145.9405549, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 40, + 143 + ] }, "q41_q42_xy_frame": { - "frameId": "q41_q42_xy_frame", - "portId": "q42_ff", - "frequency": 758710656.506455, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 41, - 42 - ] + "frameId": "q41_q42_xy_frame", + "portId": "q42_ff", + "frequency": 758710656.506455, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 41, + 42 + ] }, "q42_q43_xy_frame": { - "frameId": "q42_q43_xy_frame", - "portId": "q42_ff", - "frequency": 730619150.5426099, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 42, - 43 - ] + "frameId": "q42_q43_xy_frame", + "portId": "q42_ff", + "frequency": 730619150.5426099, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 42, + 43 + ] }, "q43_q44_xy_frame": { - "frameId": "q43_q44_xy_frame", - "portId": "q44_ff", - "frequency": 662199012.855675, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 43, - 44 - ] + "frameId": "q43_q44_xy_frame", + "portId": "q44_ff", + "frequency": 662199012.855675, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 43, + 44 + ] }, "q44_q45_xy_frame": { - "frameId": "q44_q45_xy_frame", - "portId": "q44_ff", - "frequency": 684487872.5785902, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 44, - 45 - ] + "frameId": "q44_q45_xy_frame", + "portId": "q44_ff", + "frequency": 684487872.5785902, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 44, + 45 + ] }, "q45_q46_xy_frame": { - "frameId": "q45_q46_xy_frame", - "portId": "q46_ff", - "frequency": 605041500.9220603, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 45, - 46 - ] + "frameId": "q45_q46_xy_frame", + "portId": "q46_ff", + "frequency": 605041500.9220603, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 45, + 46 + ] }, "q46_q47_xy_frame": { - "frameId": "q46_q47_xy_frame", - "portId": "q46_ff", - "frequency": 700351807.8606253, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 46, - 47 - ] + "frameId": "q46_q47_xy_frame", + "portId": "q46_ff", + "frequency": 700351807.8606253, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 46, + 47 + ] }, "q47_q144_xy_frame": { - "frameId": "q47_q144_xy_frame", - "portId": "q144_ff", - "frequency": 570156133.7344351, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 47, - 144 - ] + "frameId": "q47_q144_xy_frame", + "portId": "q144_ff", + "frequency": 570156133.7344351, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 47, + 144 + ] }, "q100_q101_xy_frame": { - "frameId": "q100_q101_xy_frame", - "portId": "q100_ff", - "frequency": 605243187.7116299, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 100, - 101 - ] + "frameId": "q100_q101_xy_frame", + "portId": "q100_ff", + "frequency": 605243187.7116299, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 100, + 101 + ] }, "q100_q107_xy_frame": { - "frameId": "q100_q107_xy_frame", - "portId": "q100_ff", - "frequency": 586943781.0766199, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 100, - 107 - ] + "frameId": "q100_q107_xy_frame", + "portId": "q100_ff", + "frequency": 586943781.0766199, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 100, + 107 + ] }, "q101_q102_xy_frame": { - "frameId": "q101_q102_xy_frame", - "portId": "q102_ff", - "frequency": 768250664.9463549, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 101, - 102 - ] + "frameId": "q101_q102_xy_frame", + "portId": "q102_ff", + "frequency": 768250664.9463549, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 101, + 102 + ] }, "q102_q103_xy_frame": { - "frameId": "q102_q103_xy_frame", - "portId": "q102_ff", - "frequency": 664151453.8960447, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 102, - 103 - ] + "frameId": "q102_q103_xy_frame", + "portId": "q102_ff", + "frequency": 664151453.8960447, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 102, + 103 + ] }, "q102_q115_xy_frame": { - "frameId": "q102_q115_xy_frame", - "portId": "q102_ff", - "frequency": 640995740.7425249, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 102, - 115 - ] + "frameId": "q102_q115_xy_frame", + "portId": "q102_ff", + "frequency": 640995740.7425249, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 102, + 115 + ] }, "q103_q104_xy_frame": { - "frameId": "q103_q104_xy_frame", - "portId": "q104_ff", - "frequency": 540131908.3543401, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 103, - 104 - ] + "frameId": "q103_q104_xy_frame", + "portId": "q104_ff", + "frequency": 540131908.3543401, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 103, + 104 + ] }, "q104_q105_xy_frame": { - "frameId": "q104_q105_xy_frame", - "portId": "q104_ff", - "frequency": 528172825.58589506, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 104, - 105 - ] + "frameId": "q104_q105_xy_frame", + "portId": "q104_ff", + "frequency": 528172825.58589506, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 104, + 105 + ] }, "q105_q106_xy_frame": { - "frameId": "q105_q106_xy_frame", - "portId": "q106_ff", - "frequency": 602417545.3408499, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 105, - 106 - ] + "frameId": "q105_q106_xy_frame", + "portId": "q106_ff", + "frequency": 602417545.3408499, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 105, + 106 + ] }, "q106_q107_xy_frame": { - "frameId": "q106_q107_xy_frame", - "portId": "q106_ff", - "frequency": 700176432.524595, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 106, - 107 - ] + "frameId": "q106_q107_xy_frame", + "portId": "q106_ff", + "frequency": 700176432.524595, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 106, + 107 + ] }, "q110_q111_xy_frame": { - "frameId": "q110_q111_xy_frame", - "portId": "q110_ff", - "frequency": 549063977.066375, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 110, - 111 - ] + "frameId": "q110_q111_xy_frame", + "portId": "q110_ff", + "frequency": 549063977.066375, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 110, + 111 + ] }, "q110_q117_xy_frame": { - "frameId": "q110_q117_xy_frame", - "portId": "q110_ff", - "frequency": 662756773.9328151, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 110, - 117 - ] + "frameId": "q110_q117_xy_frame", + "portId": "q110_ff", + "frequency": 662756773.9328151, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 110, + 117 + ] }, "q111_q112_xy_frame": { - "frameId": "q111_q112_xy_frame", - "portId": "q112_ff", - "frequency": 691662446.1357801, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 111, - 112 - ] + "frameId": "q111_q112_xy_frame", + "portId": "q112_ff", + "frequency": 691662446.1357801, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 111, + 112 + ] }, "q111_q126_xy_frame": { - "frameId": "q111_q126_xy_frame", - "portId": "q126_ff", - "frequency": 544822247.53597, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 111, - 126 - ] + "frameId": "q111_q126_xy_frame", + "portId": "q126_ff", + "frequency": 544822247.53597, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 111, + 126 + ] }, "q112_q113_xy_frame": { - "frameId": "q112_q113_xy_frame", - "portId": "q112_ff", - "frequency": 729537017.2709002, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 112, - 113 - ] + "frameId": "q112_q113_xy_frame", + "portId": "q112_ff", + "frequency": 729537017.2709002, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 112, + 113 + ] }, "q112_q125_xy_frame": { - "frameId": "q112_q125_xy_frame", - "portId": "q112_ff", - "frequency": 680886233.6370051, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 112, - 125 - ] + "frameId": "q112_q125_xy_frame", + "portId": "q112_ff", + "frequency": 680886233.6370051, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 112, + 125 + ] }, "q113_q114_xy_frame": { - "frameId": "q113_q114_xy_frame", - "portId": "q114_ff", - "frequency": 600678360.29037, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 113, - 114 - ] + "frameId": "q113_q114_xy_frame", + "portId": "q114_ff", + "frequency": 600678360.29037, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 113, + 114 + ] }, "q114_q115_xy_frame": { - "frameId": "q114_q115_xy_frame", - "portId": "q114_ff", - "frequency": 504241210.01858497, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 114, - 115 - ] + "frameId": "q114_q115_xy_frame", + "portId": "q114_ff", + "frequency": 504241210.01858497, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 114, + 115 + ] }, "q116_q117_xy_frame": { - "frameId": "q116_q117_xy_frame", - "portId": "q116_ff", - "frequency": 716188518.0799699, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 116, - 117 - ] + "frameId": "q116_q117_xy_frame", + "portId": "q116_ff", + "frequency": 716188518.0799699, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 116, + 117 + ] }, "q120_q121_xy_frame": { - "frameId": "q120_q121_xy_frame", - "portId": "q120_ff", - "frequency": 546452872.38323, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 120, - 121 - ] + "frameId": "q120_q121_xy_frame", + "portId": "q120_ff", + "frequency": 546452872.38323, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 120, + 121 + ] }, "q120_q127_xy_frame": { - "frameId": "q120_q127_xy_frame", - "portId": "q120_ff", - "frequency": 620169369.9656351, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 120, - 127 - ] + "frameId": "q120_q127_xy_frame", + "portId": "q120_ff", + "frequency": 620169369.9656351, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 120, + 127 + ] }, "q121_q122_xy_frame": { - "frameId": "q121_q122_xy_frame", - "portId": "q122_ff", - "frequency": 619397038.7049749, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 121, - 122 - ] + "frameId": "q121_q122_xy_frame", + "portId": "q122_ff", + "frequency": 619397038.7049749, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 121, + 122 + ] }, "q122_q123_xy_frame": { - "frameId": "q122_q123_xy_frame", - "portId": "q122_ff", - "frequency": 543387388.1847999, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 122, - 123 - ] + "frameId": "q122_q123_xy_frame", + "portId": "q122_ff", + "frequency": 543387388.1847999, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 122, + 123 + ] }, "q122_q135_xy_frame": { - "frameId": "q122_q135_xy_frame", - "portId": "q122_ff", - "frequency": 645035313.5387051, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 122, - 135 - ] + "frameId": "q122_q135_xy_frame", + "portId": "q122_ff", + "frequency": 645035313.5387051, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 122, + 135 + ] }, "q123_q124_xy_frame": { - "frameId": "q123_q124_xy_frame", - "portId": "q124_ff", - "frequency": 547998931.1404397, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 123, - 124 - ] + "frameId": "q123_q124_xy_frame", + "portId": "q124_ff", + "frequency": 547998931.1404397, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 123, + 124 + ] }, "q124_q125_xy_frame": { - "frameId": "q124_q125_xy_frame", - "portId": "q124_ff", - "frequency": 639605783.2956297, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 124, - 125 - ] + "frameId": "q124_q125_xy_frame", + "portId": "q124_ff", + "frequency": 639605783.2956297, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 124, + 125 + ] }, "q125_q126_xy_frame": { - "frameId": "q125_q126_xy_frame", - "portId": "q126_ff", - "frequency": 534046035.03719497, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 125, - 126 - ] + "frameId": "q125_q126_xy_frame", + "portId": "q126_ff", + "frequency": 534046035.03719497, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 125, + 126 + ] }, "q126_q127_xy_frame": { - "frameId": "q126_q127_xy_frame", - "portId": "q126_ff", - "frequency": 592165330.984585, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 126, - 127 - ] + "frameId": "q126_q127_xy_frame", + "portId": "q126_ff", + "frequency": 592165330.984585, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 126, + 127 + ] }, "q130_q131_xy_frame": { - "frameId": "q130_q131_xy_frame", - "portId": "q130_ff", - "frequency": 526867479.0070801, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 130, - 131 - ] + "frameId": "q130_q131_xy_frame", + "portId": "q130_ff", + "frequency": 526867479.0070801, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 130, + 131 + ] }, "q130_q137_xy_frame": { - "frameId": "q130_q137_xy_frame", - "portId": "q130_ff", - "frequency": 622069175.3484099, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 130, - 137 - ] + "frameId": "q130_q137_xy_frame", + "portId": "q130_ff", + "frequency": 622069175.3484099, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 130, + 137 + ] }, "q131_q132_xy_frame": { - "frameId": "q131_q132_xy_frame", - "portId": "q132_ff", - "frequency": 609300663.9354749, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 131, - 132 - ] + "frameId": "q131_q132_xy_frame", + "portId": "q132_ff", + "frequency": 609300663.9354749, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 131, + 132 + ] }, "q131_q146_xy_frame": { - "frameId": "q131_q146_xy_frame", - "portId": "q146_ff", - "frequency": 502944164.10558033, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 131, - 146 - ] + "frameId": "q131_q146_xy_frame", + "portId": "q146_ff", + "frequency": 502944164.10558033, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 131, + 146 + ] }, "q132_q133_xy_frame": { - "frameId": "q132_q133_xy_frame", - "portId": "q132_ff", - "frequency": 656131478.4202247, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 132, - 133 - ] + "frameId": "q132_q133_xy_frame", + "portId": "q132_ff", + "frequency": 656131478.4202247, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 132, + 133 + ] }, "q132_q145_xy_frame": { - "frameId": "q132_q145_xy_frame", - "portId": "q132_ff", - "frequency": 704903727.7570398, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 132, - 145 - ] + "frameId": "q132_q145_xy_frame", + "portId": "q132_ff", + "frequency": 704903727.7570398, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 132, + 145 + ] }, "q133_q134_xy_frame": { - "frameId": "q133_q134_xy_frame", - "portId": "q134_ff", - "frequency": 623888097.1780901, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 133, - 134 - ] + "frameId": "q133_q134_xy_frame", + "portId": "q134_ff", + "frequency": 623888097.1780901, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 133, + 134 + ] }, "q134_q135_xy_frame": { - "frameId": "q134_q135_xy_frame", - "portId": "q134_ff", - "frequency": 650506691.5699303, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 134, - 135 - ] + "frameId": "q134_q135_xy_frame", + "portId": "q134_ff", + "frequency": 650506691.5699303, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 134, + 135 + ] }, "q140_q141_xy_frame": { - "frameId": "q140_q141_xy_frame", - "portId": "q140_ff", - "frequency": 577498917.7619948, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 140, - 141 - ] + "frameId": "q140_q141_xy_frame", + "portId": "q140_ff", + "frequency": 577498917.7619948, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 140, + 141 + ] }, "q140_q147_xy_frame": { - "frameId": "q140_q147_xy_frame", - "portId": "q140_ff", - "frequency": 610251066.730475, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 140, - 147 - ] + "frameId": "q140_q147_xy_frame", + "portId": "q140_ff", + "frequency": 610251066.730475, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 140, + 147 + ] }, "q141_q142_xy_frame": { - "frameId": "q141_q142_xy_frame", - "portId": "q142_ff", - "frequency": 686874335.4052, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 141, - 142 - ] + "frameId": "q141_q142_xy_frame", + "portId": "q142_ff", + "frequency": 686874335.4052, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 141, + 142 + ] }, "q142_q143_xy_frame": { - "frameId": "q142_q143_xy_frame", - "portId": "q142_ff", - "frequency": 655152826.2570951, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 142, - 143 - ] + "frameId": "q142_q143_xy_frame", + "portId": "q142_ff", + "frequency": 655152826.2570951, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 142, + 143 + ] }, "q143_q144_xy_frame": { - "frameId": "q143_q144_xy_frame", - "portId": "q144_ff", - "frequency": 594431999.430505, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 143, - 144 - ] + "frameId": "q143_q144_xy_frame", + "portId": "q144_ff", + "frequency": 594431999.430505, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 143, + 144 + ] }, "q144_q145_xy_frame": { - "frameId": "q144_q145_xy_frame", - "portId": "q144_ff", - "frequency": 632550793.033715, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 144, - 145 - ] + "frameId": "q144_q145_xy_frame", + "portId": "q144_ff", + "frequency": 632550793.033715, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 144, + 145 + ] }, "q145_q146_xy_frame": { - "frameId": "q145_q146_xy_frame", - "portId": "q146_ff", - "frequency": 598547227.9271452, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 145, - 146 - ] + "frameId": "q145_q146_xy_frame", + "portId": "q146_ff", + "frequency": 598547227.9271452, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 145, + 146 + ] }, "q146_q147_xy_frame": { - "frameId": "q146_q147_xy_frame", - "portId": "q146_ff", - "frequency": 624902092.4405203, - "centerFrequency": 375000000.0, - "phase": 0.0, - "associatedGate": "xy", - "qubitMappings": [ - 146, - 147 - ] + "frameId": "q146_q147_xy_frame", + "portId": "q146_ff", + "frequency": 624902092.4405203, + "centerFrequency": 375000000.0, + "phase": 0.0, + "associatedGate": "xy", + "qubitMappings": [ + 146, + 147 + ] } }, "supportsLocalPulseElements": false, @@ -17771,4 +17771,4 @@ "MAX_PULSE_LENGTH": 0.067 } } -} +} \ No newline at end of file