From 31a9169bca5acc9eb90021f742a673f90a9b9f3d Mon Sep 17 00:00:00 2001 From: Eric Arellano <14852634+Eric-Arellano@users.noreply.github.com> Date: Wed, 13 Nov 2024 09:43:44 -0500 Subject: [PATCH 1/2] Addons landing page links to guides (#2307) --- docs/guides/addons.mdx | 6 +++--- scripts/js/commands/checkPatternsIndex.ts | 9 --------- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/docs/guides/addons.mdx b/docs/guides/addons.mdx index 6ac7ed1066f..242e3418e72 100644 --- a/docs/guides/addons.mdx +++ b/docs/guides/addons.mdx @@ -14,7 +14,7 @@ Qiskit addons are a collection of research capabilities for enabling algorithm d Approximate quantum compilation with tensor networks (AQC-Tensor) enables the construction of high-fidelity circuits with reduced depth. - Visit the [GitHub repository.](https://github.com/Qiskit/qiskit-addon-aqc-tensor) -- Read the [documentation.](https://qiskit.github.io/qiskit-addon-aqc-tensor) +- Read the [documentation.](/guides/qiskit-addons-aqc) ### Multi-product formulas @@ -30,7 +30,7 @@ Multi-product formulas (MPF) reduce the Trotter error of Hamiltonian dynamics th Operator backpropagation (OBP) reduces circuit depth by trimming operations from the end at the cost of more operator measurements. - Visit the [GitHub repository.](https://github.com/Qiskit/qiskit-addon-obp) -- Read the [documentation.](https://qiskit.github.io/qiskit-addon-obp) +- Read the [documentation.](/guides/qiskit-addons-obp) ### Circuit cutting @@ -46,4 +46,4 @@ Circuit cutting reduces the depth of transpiled circuits by decomposing entangli Sample-based quantum diagonalization (SQD) classically post-processes noisy quantum samples to yield more accurate eigenvalue estimations of quantum system Hamiltonians, for example in chemistry applications. - Visit the [GitHub repository.](https://github.com/Qiskit/qiskit-addon-sqd) -- Read the [documentation.](https://qiskit.github.io/qiskit-addon-sqd) \ No newline at end of file +- Read the [documentation.](/guides/qiskit-addons-sqd) diff --git a/scripts/js/commands/checkPatternsIndex.ts b/scripts/js/commands/checkPatternsIndex.ts index c2714415522..8fac25215f2 100644 --- a/scripts/js/commands/checkPatternsIndex.ts +++ b/scripts/js/commands/checkPatternsIndex.ts @@ -21,11 +21,6 @@ const ALLOWLIST_MISSING_FROM_INDEX: Set = new Set([ "/guides/qiskit-code-assistant-jupyterlab", "/guides/qiskit-code-assistant-vscode", "/guides/addons", - "/guides/addons/qiskit-addons-sqd-get-started", - "/guides/qiskit-addons-aqc", - "/guides/qiskit-addons-aqc-get-started", - "/guides/qiskit-addons-obp", - "/guides/qiskit-addons-obp-get-started", ]); // URLs that show up in the INDEX_PAGES, but are not in the left ToC under @@ -42,10 +37,6 @@ const ALLOWLIST_MISSING_FROM_TOC: Set = new Set([ "/guides/q-ctrl-optimization-solver", "/guides/qunasys-quri-chemistry", "/guides/circuit-library", - "/guides/qiskit-addons-obp", - "/guides/qiskit-addons-obp-get-started", - "/guides/qiskit-addons-aqc", - "/guides/qiskit-addons-aqc-get-started", ]); const INDEX_PAGES = [ From 63e78161b5be79ae2d11c30de874ae686d5b050a Mon Sep 17 00:00:00 2001 From: Eric Arellano <14852634+Eric-Arellano@users.noreply.github.com> Date: Wed, 13 Nov 2024 09:54:46 -0500 Subject: [PATCH 2/2] Generate Runtime 0.33.2 (#2299) --- docs/api/qiskit-ibm-runtime/release-notes.mdx | 378 +++++++++--------- public/api/qiskit-ibm-runtime/objects.inv | Bin 59997 -> 59997 bytes .../qiskit-ibm-runtime/fake_provider-1_02.png | Bin 11573 -> 12511 bytes 3 files changed, 199 insertions(+), 179 deletions(-) diff --git a/docs/api/qiskit-ibm-runtime/release-notes.mdx b/docs/api/qiskit-ibm-runtime/release-notes.mdx index 308f066e102..4610bfd5708 100644 --- a/docs/api/qiskit-ibm-runtime/release-notes.mdx +++ b/docs/api/qiskit-ibm-runtime/release-notes.mdx @@ -10,6 +10,22 @@ in_page_toc_max_heading_level: 2 +## 0.33.2 (2024-11-11) + +### Bug Fixes + +* Fixed an issue where the RZZ validation did not handle parameter expressions correctly. ([2035](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2035)) + + + +## 0.33.1 (2024-11-08) + +### Other Notes + +* Added a private alias to `decode_backend_configuration()`. ([2028](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2028)) + + + ## 0.33.0 (2024-11-07) ### New Features @@ -17,19 +33,23 @@ in_page_toc_max_heading_level: 2 * Added `draw_layer_errors_swarm()` which draws a swarm plot of one or more [`LayerError`](qiskit_ibm_runtime.utils.noise_learner_result.LayerError "qiskit_ibm_runtime.utils.noise_learner_result.LayerError") objects. Also added the convenience method [`draw_swarm()`](qiskit_ibm_runtime.utils.noise_learner_result.LayerError#draw_swarm "qiskit_ibm_runtime.utils.noise_learner_result.LayerError.draw_swarm") to invoke the drawing function on a particular instance. ([1988](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1988)) * Added [`TwirledSliceSpan`](qiskit_ibm_runtime.execution_span.TwirledSliceSpan "qiskit_ibm_runtime.execution_span.TwirledSliceSpan"), an `ExecutionSpan` to be used when twirling is enabled in the Sampler. In particular, it keeps track of an extra shape axis corresponding to twirling randomizations, and also whether this axis exists at the front of the shape tuple, or right before the shots axis. ([2011](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2011)) + + ### Bug Fixes * Fixed the location of hover text on the `draw_execution_spans()` function. Previous to this fix, they were drawn on the wrong markers. ([2014](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2014)) + + ### Other Notes * The remaining fake V1 backends - `FakeMelbourne`, `FakePoughkeepsie`, `FakeTenerife`, `FakeTokyo`, and `FakeRueschlikon` have been removed. ([2012](https://github.com/Qiskit/qiskit-ibm-runtime/pull/2012)) - + ## 0.32.0 (2024-10-30) - + ### New Features @@ -53,7 +73,7 @@ in_page_toc_max_heading_level: 2 * Each of [`SamplerV2`](qiskit_ibm_runtime.SamplerV2 "qiskit_ibm_runtime.SamplerV2"), [`EstimatorV2`](qiskit_ibm_runtime.EstimatorV2 "qiskit_ibm_runtime.EstimatorV2"), and [`noise_learner.NoiseLearner`](qiskit_ibm_runtime.noise_learner.NoiseLearner "qiskit_ibm_runtime.noise_learner.NoiseLearner") now has a `backend()` method that returns the backend that the class is configured with. ([1995](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1995)) - + ### Other Notes @@ -67,30 +87,30 @@ in_page_toc_max_heading_level: 2 > * If your organization has an existing IBM Quantum Premium Plan instance: migrate to the Q-CTRL Performance Management Function, found in the [Qiskit Functions Catalog](https://quantum.ibm.com/functions). > * To continue using Qiskit Runtime with IBM Cloud: migrate to Q-CTRL Fire Opal, the same performance management product accessible directly through Q-CTRL. You can [connect your IBM Cloud API key and Qiskit Runtime CRN](https://docs.q-ctrl.com/fire-opal/discover/hardware-providers/how-to-authenticate-with-ibm-credentials) to Fire Opal. ([1966](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1966)) - + ## 0.31.0 (2024-10-15) - + ### New Features * Added Noisy Estimator Analyzer Tool (NEAT), a class to help understand the expected performance of Estimator jobs. ([1950](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1950)) * Updated the ISA check to validate that the `rzz` angle is between `[0, pi/2]`. ([1953](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1953)) - + ### Bug Fixes * Fixed an issue with ISA validation where a change related to connectivity inside control operations was not applied correctly. ([1954](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1954)) - + ### Other Notes * Fake V1 backends have been removed. ([1946](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1946)) - + ## 0.30.0 (2024-09-23) @@ -105,7 +125,7 @@ in_page_toc_max_heading_level: 2 * In a future release, `RuntimeJob.status()` will be returned as a string instead of an instance of `JobStatus`. ([1933](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1933)) - + ### New Features @@ -128,13 +148,13 @@ in_page_toc_max_heading_level: 2 * The `use_fractional_gates` flag for `QiskitRuntimeService.backend()` and `QiskitRuntimeService.backends()` can now be `None`. When set to `None`, no instruction filtering is done, and the returned backend target may contain both fractional gates and control flow operations. ([1938](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1938)) - + ### Bug Fixes * Fixed a bug where primitives could not be run in the session context with fractional gates. ([1922](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1922)) - + ### Other Notes @@ -148,27 +168,27 @@ in_page_toc_max_heading_level: 2 * In `Service.backend()`, “name” is now a required parameter * `Service.get_backend()` has been removed and replaced with `backend()` ([1907](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1907)) - + ## 0.29.1 (2024-09-17) - + ### New Features * Added logic to encode and decode `NoiseLearnerResult`. ([1908](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1908)) - + ## 0.29.0 (2024-09-04) - + ### Deprecation Notes * The simulator option `noise_model` is now deprecated for jobs running on real devices. `noise_model` will still be an acceptable option when using the local testing mode. ([1892](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1892)) - + ### New Features @@ -176,7 +196,7 @@ in_page_toc_max_heading_level: 2 * Added a new `private` option under `EnvironmentOptions`. ([1888](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1888)) * Added `fallback` option to ZNE extrapolators. ([1902](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1902)) - + ### Bug Fixes @@ -184,54 +204,54 @@ in_page_toc_max_heading_level: 2 * Revert a previous change to `backend.target` where the target was no longer being cached. ([1891](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1891)) * Fixed an issue where `Session.from_id()` would create a new empty session. ([1896](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1896)) - + ## 0.28.0 (2024-08-15) - + ### New Features * `ResilienceOptionsV2` has a new field `layer_noise_model`. When this field is set, all the mitigation strategies that require noise data skip the noise learning stage, and instead gather the required information from `layer_noise_model`. ([1858](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1858)) - + ### Other Notes * The V1 Primitives `SamplerV1` and `EstimatorV1` have been completely removed. Please see the [migration guide](/migration-guides/v2-primitives) and use the V2 Primitives instead. ([1857](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1857)) * The `service` parameter is now required in `Session.from_id()`. ([1868](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1868)) - + ## 0.27.1 (2024-08-12) - + ### New Features * Added logic to encode and decode `PauliLindbladError` and `LayerError`. ([1853](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1853)) - + ## 0.27.0 (2024-08-08) - + ### New Features * Added `PauliLindbladError` and `LayerError` classes to represent layers noise processes. ([1844](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1844)) - + ### Bug Fixes * Fixed an issue with using the aer simulator and local service mode with sessions. ([1838](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1838)) - + ## 0.26.0 (2024-07-31) - + ### Deprecation Notes @@ -240,7 +260,7 @@ in_page_toc_max_heading_level: 2 * Passing in `service` in `Session`, `Batch` has been deprecated. The `service` parameter is no longer necessary because the service can be extracted from the backend. ([1826](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1826)) * Since backend modules from `qiskit.providers.models` including `BackendProperties` and `BackendConfiguration` are deprecated in Qiskit 1.2, they have been copied into `qiskit-ibm-runtime`. Make sure to upgrade to the latest version, `0.26.0`, to use these classes. ([1803](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1803)) - + ### New Features @@ -262,7 +282,7 @@ in_page_toc_max_heading_level: 2 * Added `NoiseLearner` and related functionality, such as `NoiseLearnerOptions` and `NoiseLearnerResults`. ([1805](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1805)) - + ### Bug Fixes @@ -271,18 +291,18 @@ in_page_toc_max_heading_level: 2 * The options validation for checking if `zne_mitigation` or `pec_mitigation` are set to `True` when using other related options has been removed. ([1792](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1792)) * Fixed an issue where users were unable to retrieve job results if the python library `simplejson` was installed in their environment. ([1800](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1800)) - + ## 0.25.0 (2024-07-02) - + ### Deprecation Notes * The `optimization_level` option in `EstimatorV2` is deprecated. Instead, you can perform circuit optimization using the Qiskit transpiler or Qiskit transpiler service. ([1748](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1748)) * `qiskit_ibm_runtime.RuntimeJobV2.interim_results()`, `qiskit_ibm_runtime.RuntimeJobV2.stream_results()`, `qiskit_ibm_runtime.RuntimeJob.interim_results()`, and `qiskit_ibm_runtime.RuntimeJob.stream_results()` are now all deprecated. ([1776](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1776)) - + ### New Features @@ -290,21 +310,21 @@ in_page_toc_max_heading_level: 2 * Added an `instance` property to `BaseRuntimeJob` which returns the instance where the job was run. ([1771](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1771)) * `default_shots` are now a supported option when using `EstimatorV2` in local testing mode. ([1773](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1773)) - + ## 0.24.1 (2024-06-18) - + ### Bug Fixes * Disallowing fractional gates by default, so backend target would not exclude control flow. ([1755](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1755)) - + ## 0.24.0 (2024-06-10) - + ### Deprecation Notes @@ -322,7 +342,7 @@ in_page_toc_max_heading_level: 2 * Specifying options without the full dictionary structure is deprecated. Instead, pass in a fully structured dictionary. For example, use `{'environment': {'log_level': 'INFO'}}` instead of `{'log_level': 'INFO'}`. ([1731](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1731)) - + ### New Features @@ -361,7 +381,7 @@ in_page_toc_max_heading_level: 2 * [`QiskitRuntimeService.backends()`](qiskit_ibm_runtime.QiskitRuntimeService#backends "qiskit_ibm_runtime.QiskitRuntimeService.backends") now always returns a new `IBMBackend` instance even when the same query is used. The backend properties and defaults data are retrieved from the server for every instance when they are accessed for the first time, while the configuration data is cached internally in the service instance. ([1732](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1732)) - + ### Bug Fixes @@ -373,18 +393,18 @@ in_page_toc_max_heading_level: 2 * Fixed nested experimental suboptions override non-experimental suboptions. ([1731](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1731)) * The backend utils method `convert_to_target` has been replaced with the [convert\_to\_target](/api/qiskit/qiskit.providers.convert_to_target) method from Qiskit. This fixes some issues related to target generation and calibration data. ([1600](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1600)) - + ## 0.23.0 (2024-04-15) - + ### Deprecation Notes * [backend.run()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.IBMBackend#run) has been deprecated. Please use the primitives instead. More details can be found in the [migration guide](/migration-guides/qiskit-runtime) . ([1561](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1561)) * In a future release, the `service` parameter in [from\_id()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Session#from_id) will be required. ([1311](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1311)) - + ### New Features @@ -394,7 +414,7 @@ in_page_toc_max_heading_level: 2 * [`SamplerV2`](qiskit_ibm_runtime.SamplerV2 "qiskit_ibm_runtime.SamplerV2") now supports twirling. Twirling will only be applied to those measurement registers not involved within a conditional logic. ([1557](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1557)) * Session [details()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Session#details) now includes a new field, `usage_time`. Usage is defined as the time a quantum system is committed to complete a job. ([1567](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1567)) - + ### Bug Fixes @@ -403,59 +423,59 @@ in_page_toc_max_heading_level: 2 * Fixed a bug with encoding/decoding `ParameterExpression`. ([1521](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1521)) * Fixed an issue where the [in\_final\_state()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeJobV2#in_final_state) method in [`RuntimeJobV2`](qiskit_ibm_runtime.RuntimeJobV2 "qiskit_ibm_runtime.RuntimeJobV2") would not update the status when called. ([1547](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1547)) - + ## 0.22.0 (2024-03-21) - + ### Upgrade Notes * Modify `skip_reset_qubits` optional flag to the constructor for [`PadDynamicalDecoupling`](qiskit_ibm_runtime.transpiler.passes.scheduling.PadDynamicalDecoupling "qiskit_ibm_runtime.transpiler.passes.scheduling.PadDynamicalDecoupling"). If `False`, dynamical decoupling is applied on qubits regardless of their state, even on delays that are at the beginning of a circuit. This option now matches the behavior in Qiskit. ([1409](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1409)) - + ### New Features * A new local testing mode is added. It allows you to validate your quantum prorams before sending them to a physical system. The local testing mode is activated if one of the fake backends in `qiskit_ibm_runtime.fake_provider` or a Qiskit Aer backend instance is used when instantiating a primitive or a session. ([1495](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1495)) - + ### Bug Fixes * Fix a bug that caused setting of `resilience_level=0` in `EstimatorV2` to be ignored (and the default value used instead). ([1541](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1541)) - + ## 0.21.2 (2024-03-18) - + ### Bug Fixes * Fixed a bug where `RuntimeDecoder` could import arbitrary classes. ([1527](https://github.com/Qiskit/qiskit-ibm-runtime/pull/1527)) - + ## 0.21.1 - + ### Bug Fixes * Fixed a bug where `SamplerV1` and `EstimatorV1` could not be imported because of an issue with how the aliases were defined. - + ## 0.21.0 - + ### Upgrade Notes * Circuits that do not match the target hardware definition are no longer supported by Qiskit Runtime primitives, unless `channel_strategy="q-ctrl"` is used. See the transpilation documentation ([transpile](/guides/transpile)) for instructions to transform circuits and the primitive examples ([run/primitives-examples](/guides/primitives-examples)) to see this coupled with operator transformations. - + ### Deprecation Notes @@ -463,7 +483,7 @@ in_page_toc_max_heading_level: 2 It will also be a required parameter for `qiskit_ibm_runtime.Session` and `qiskit_ibm_runtime.Batch`. - + ### Bug Fixes @@ -471,11 +491,11 @@ in_page_toc_max_heading_level: 2 * Fixed a bug where retrieving a fake backend through `FakeProviderForBackendV2.backend()` would result in a type error. * Fixes the check for ISA circuits to allow pulse gates and circuits that don’t have layout. - + ## 0.20.0 - + ### New Features @@ -493,57 +513,57 @@ in_page_toc_max_heading_level: 2 The sessions functionality will not change but note that `backend.run()` sessions prior to this release will no longer be supported after March 31, 2024. Please update your `qiskit-ibm-runtime` version as soon as possible before this date. - + ### Deprecation Notes * Circuits that do not match the target hardware definition will no longer be supported after March 1, 2024. See the transpilation documentation ([transpile](/guides/transpile)) for instructions to transform circuits and the primitive examples ([run/primitives-examples](/guides/primitives-examples)) to see this coupled with operator transformations. - + ### Bug Fixes * Fix assignment of instruction durations when scheduling circuits with control flow. Prior to this fix, the indices for instructions on inner blocks were not mapped to the physical indices in the outer dag. - + ### Other Notes * The `InstructionDurations` durations input is now also required for the constructor of `PadDelay`. - + ## 0.19.1 - + ### Upgrade Notes * Extend `DynamicCircuitInstructions.from_backend()` to extract and patch durations from both `BackendV1` and `BackendV2` objects. Also add `DynamicCircuitInstructions.from_target()` to use a `Target` object instead. - + ### Bug Fixes * Fix the patching of `DynamicCircuitInstructions` for instructions with durations that are not in units of `dt`. * Fixed an issue with the `qpy.dump()` function, when the `use_symengine` flag was set to a truthy object that evaluated to `True` but was not actually the boolean `True` the generated QPY payload would be corrupt. - + ## 0.19.0 - + ### Upgrade Notes * qiskit-ibm-provider is pending deprecation, and therefore will no longer be a dependency for qiskit-ibm-runtime. * qiskit-ibm-runtime is now compatible with Qiskit versions >= 0.45, including 1.0.0. - + ## 0.18.0 - + ### New Features @@ -551,30 +571,30 @@ in_page_toc_max_heading_level: 2 * Added `max_time` parameter to `IBMBackend.open_session()`. * Added a method `RuntimeJob.queue_info()` to get the queue information from the backend. This feature was transferred from `qiskit_ibm_provider`. - + ### Deprecation Notes * [runtime()](/api/qiskit-ibm-runtime/0.21/qiskit_ibm_runtime.QiskitRuntimeService#runtime) has been deprecated. - + ### Bug Fixes * Many methods in [RuntimeJob](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeJob) require retrieving the job data from the API with `job_get()`. This API call will now exclude the `params` field by default because they are only necessary in [qiskit\_ibm\_runtime.RuntimeJob.inputs()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeJob#inputs). - + ## 0.17.0 - + ### New Features * Added a new method [properties()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeJob#properties) which returns the backend properties of the job at the time the job was run. * [details()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Session#details) has a new field, activated\_at, which is the timestamp of when the session was changed to active. - + ### Bug Fixes @@ -592,7 +612,7 @@ in_page_toc_max_heading_level: 2 * Fixed an issue where retrieving the coupling\_map of some backends would result in a NameError. - + ## 0.16.0 @@ -600,39 +620,39 @@ in_page_toc_max_heading_level: 2 Sessions are now thread-safe and allow for multiple concurrent interactive experiments. - + ### New Features * Sessions are now thread-safe. - + ### Upgrade Notes * Methods related to using custom programs are removed. - + ### Bug Fixes * If a cloud instance that is `q-ctrl` enabled is used while `q-ctrl` is not passed in as the `channel_strategy`, an error will be raised. - + ## 0.15.1 - + ### Bug Fixes * Reverting 0.15.0 changes to [from\_id()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Session#from_id) because it was a breaking change without proper deprecation. - + ## 0.15.0 - + ### New Features @@ -669,13 +689,13 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * Removed storing result in `RuntimeJob._results`. Instead retrieve results every time the `results()` method is called. - + ### Deprecation Notes * Usage of the `~/.qiskit/qiskitrc.json` file for account information has been deprecated. Use `~/.qiskit/qiskit-ibm.json` instead. - + ### Bug Fixes @@ -684,34 +704,34 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * The `backend` parameter in [from\_id()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Session#from_id) is being deprecated because sessions do not support multiple backends. Additionally, the `service` parameter is no longer optional. * The `circuit_indices` and `observable_indices` run inputs for [Estimator](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Estimator) and [Sampler](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Sampler) have been completely removed. - + ### Other Notes * Added migration code for running `backend.run` in qiskit\_ibm\_runtime instead of in qiskit\_ibm\_provider. - + ## 0.14.0 - + ### New Features * There is a new class, `qiskit_ibm_runtime.Batch` that currently works the same way as [qiskit\_ibm\_runtime.Session](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Session) but will later be updated to better support submitting multiple jobs at once. * Arbitrary keys and values are no longer allowed in `Options`. - + ### Deprecation Notes * Custom programs are being deprecated as of qiskit-ibm-runtime 0.14.0 and will be removed on November 27, 2023. Users can instead convert their custom programs to use Qiskit Runtime primitives with Qiskit Serverless. Refer to the migration guide for instructions: [https://qiskit.github.io/qiskit-serverless/migration/migration\_from\_qiskit\_runtime\_programs.html](https://qiskit.github.io/qiskit-serverless/migration/migration_from_qiskit_runtime_programs.html) - + ## 0.13.0 - + ### New Features @@ -721,7 +741,7 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * At initialization, if not passed in directly, the default `instance` selected by the provider will be logged at the “INFO” level. When running a job, if the backend selected is not in the default instance but in a different instance the user also has access to, that instance will also be logged. - + ### Upgrade Notes @@ -729,18 +749,18 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper The old close method behavior has been moved to a new method, [qiskit\_ibm\_runtime.Session.cancel()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Session#cancel), where all queued jobs within a session are cancelled and terminated. - + ### Bug Fixes * Fixed a bug where `shots` passed in as a numpy type were not being serialized correctly. * Fixed a bug in [target\_history()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.IBMBackend#target_history) where the datetime parameter was not being used to retrieve backend properties from the specified date. - + ## 0.12.2 - + ### New Features @@ -749,17 +769,17 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * Added new method `Session.from_id` which creates a new session with a given id. * There will now be a warning if a user submits a job that is predicted to exceed their system execution time monthly quota of 10 minutes. This only applies to jobs run on real hardware in the instance `ibm-q/open/main`. If the job does end up exceeding the quota, it will be canceled. - + ### Upgrade Notes * Job error messages now include the error code. Error codes can be found in [errors](/errors). - + ## 0.12.1 - + ### New Features @@ -767,7 +787,7 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * Users can now pass in a value of `default` to the `channel_strategy` parameter in [qiskit\_ibm\_runtime.QiskitRuntimeService](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.QiskitRuntimeService). Now, if an account is configured with a certain channel strategy, the user can override it by passing in `default`. * The Sampler and Estimator primitives have been enhanced to incorporate custom validation procedures when the channel\_strategy property within the :class:qiskit\_ibm\_runtime.QiskitRuntimeService is configured as “q-ctrl.” This customized validation logic effectively rectifies incorrect input options and safeguards users against inadvertently disabling Q-CTRL’s performance enhancements. - + ### Bug Fixes @@ -776,11 +796,11 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * Job error messages will no longer be returned in all uppercase. * The max\_execution\_time option is now based on system execution time instead of wall clock time. System execution time is the amount of time that the system is dedicated to processing your job. If a job exceeds this time limit, it is forcibly cancelled. Simulator jobs continue to use wall clock time. - + ## 0.12.0 - + ### New Features @@ -799,19 +819,19 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * There is a new parameter, `channel_strategy` that can be set in the initialization of [qiskit\_ibm\_runtime.QiskitRuntimeService](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.QiskitRuntimeService) or saved in [qiskit\_ibm\_runtime.QiskitRuntimeService.save\_account()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.QiskitRuntimeService#save_account). If `channel_strategy` is set to `q-ctrl`, all jobs within the service will use the Q-CTRL error mitigation strategy. - + ### Upgrade Notes * Circuits and other input parameters will no longer be automatically stored in runtime jobs. They can still be retrieved with [qiskit\_ibm\_runtime.RuntimeJob.inputs()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeJob#inputs). - + ### Deprecation Notes * The `noise_amplifier` resilience options is deprecated. After the deprecation period, only local folding amplification will be supported. Refer to [https://github.com/qiskit-community/prototype-zne](https://github.com/qiskit-community/prototype-zne) for global folding amplification. - + ### Bug Fixes @@ -819,11 +839,11 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * Fixes a race condition in the test test\_cancel\_running\_job() in test\_job.py where job cancellation could not be performed. Refer to #1019 \<[https://github.com/Qiskit/qiskit-ibm-runtime/issues/1019](https://github.com/Qiskit/qiskit-ibm-runtime/issues/1019)>\_ for more details. * Previously we added validation when jobs were run to make sure the number of circuits was not greater than the maximum for that backend, `backend.max_circuits`. This limit isn’t actually necessary for primtives run from within a session. - + ## 0.11.3 - + ### New Features @@ -833,11 +853,11 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * There is a new method [update\_tags()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeJob#update_tags) that can be used to update the `job_tags` of a job. * If `instance` is provided as parameter to [qiskit\_ibm\_runtime.QiskitRuntimeService](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.QiskitRuntimeService), then this is used as a filter in `QiskitRuntimeService.backends()`. If `instance` is not recognized as one of the provider instances, an exception will be raised. Previously, we only issued a warning. - + ## 0.11.2 - + ### New Features @@ -858,28 +878,28 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper options.simulator.seed_simulator = 42 ``` - + ### Bug Fixes * Fixed infinite recursion when attempting to deepcopy an IBMBackend. Added a method `qiskit_ibm_runtime.IBMBackend.deepcopy()`. * Fixed an issue where circuit metadata was not being serialized correctly resulting in a type error. - + ## 0.11.1 - + ### Deprecation Notes * In [qiskit\_ibm\_runtime.RuntimeJob.metrics()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeJob#metrics), the bss field will be replaced by usage. - + ## 0.11.0 - + ### New Features @@ -899,59 +919,59 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper options.simulator = {"coupling_map": CouplingMap.from_line(10)} ``` - + ### Upgrade Notes * A default session is no longer open for you if you pass a backend name or backend instance to [qiskit\_ibm\_runtime.Sampler](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Sampler) or [qiskit\_ibm\_runtime.Estimator](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Estimator) constructors. The primitive will instead run without a session. In addition, you should now use the `backend` parameter to pass a backend name or instance instead of the `session` parameter (which can continue to be used to pass a session). * The first parameter of the [qiskit\_ibm\_runtime.Sampler](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Sampler) and [qiskit\_ibm\_runtime.Estimator](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Estimator) constructors is now `backend` instead of `session`. - + ### Deprecation Notes * Passing a backend name or backend instance to the `session` parameter when initializing a [qiskit\_ibm\_runtime.Sampler](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Sampler) or [qiskit\_ibm\_runtime.Estimator](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Estimator) has been deprecated. Please use the `backend` parameter instead. You can continue to pass a session using the `session` parameter. - + ## 0.10.0 - + ### New Features * Python 3.11 is now supported. - + ### Upgrade Notes * Added error messages in case the user defines unsupported values for ‘max\_execution\_time’. Previously, this validation was done on the server side. - + ### Bug Fixes * Added deserialization of the params of RuntimeJob.inputs. Previously, the circuits were returned in serialized format. Fixes issue [#829](https://github.com/Qiskit/qiskit-ibm-runtime/issues/829). * Allow for users to retrieve all backends even if one of the backends has a missing configuration. The backend without a configuration will not be returned. - + ## 0.9.4 - + ### New Features * Added methods to validate input options to `transpilation` and `environment` options. - + ### Upgrade Notes * When constructing a backend `qiskit.transpiler.Target`, faulty qubits and gates from the backend configuration will be filtered out. - + ### Deprecation Notes @@ -963,41 +983,41 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper Within [RuntimeOptions](/api/qiskit-ibm-runtime/0.25/qiskit_ibm_runtime.RuntimeOptions), `backend_name` is no longer supported. Please use `backend` instead. - + ### Bug Fixes * Fixed a bug where retrieving a job from a backend without `noise_model` or `seed_simulator` options would result in a key error. - + ## 0.9.3 - + ### Upgrade Notes * Added error messages in case the user defines unsupported values for ‘optimization\_level’ or for ‘resilience\_level’. Added validation checking for options given as input to `resilience`. Previously, this validation was done on the server side. By adding them on the client side, response will be much faster upon failure. The environment variable `QISKIT_RUNTIME_SKIP_OPTIONS_VALIDATION` is used to control validation. If set, validation will be skipped. * Backend configurations are no longer loaded when [QiskitRuntimeService](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.QiskitRuntimeService) is initialized. Instead, the configuration is only loaded and cached during [get\_backend()](/api/qiskit-ibm-runtime/0.29/qiskit_ibm_runtime.QiskitRuntimeService#get_backend) and [backends()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.QiskitRuntimeService#backends). - + ### Bug Fixes * When creating an Option object and passing an input option to `resilience_options`, this option was included in `resilience_options`, but the other, default options were removed. This was fixed, so now inputs are handled correctly, like other option types. - + ## 0.9.2 - + ### New Features * Added a new argument called `session_time` to the program\_run method and [qiskit\_ibm\_runtime.RuntimeOptions](/api/qiskit-ibm-runtime/0.25/qiskit_ibm_runtime.RuntimeOptions). Now values entered by the user for session `max_time` will be sent to the server side as `session_time`. This allows users to specify different values for session `max_time` and `max_execution_time`. * Added the method [target\_history()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.IBMBackend#target_history). This method is similar to [target()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.IBMBackend#target). The difference is that the new method enables the user to pass a datetime parameter, to retrieve historical data from the backend. - + ### Upgrade Notes @@ -1005,7 +1025,7 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * If a job is returned without a backend, retrieving the backend through [qiskit\_ibm\_runtime.RuntimeJob.backend()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeJob#backend) will re-retrieve data from the server and attempt to update the backend. Additionally, `job_id` and `backend`, which were deprecated attributes of [qiskit\_ibm\_runtime.RuntimeJob](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeJob) have now been removed. * Added a user warning when the user passes an option that is not supported in Options. - + ### Bug Fixes @@ -1014,11 +1034,11 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * If an instance is passed in to [qiskit\_ibm\_runtime.QiskitRuntimeService.get\_backend()](/api/qiskit-ibm-runtime/0.29/qiskit_ibm_runtime.QiskitRuntimeService#get_backend) and then the backend is used in a session, all jobs within the session will be run from the original instance passed in. * Removed additional decomposition of `BlueprintCircuit`s in the JSON encoder. This was introduced as a bugfix, but has since been fixed. Still doing the decomposition led to possible problems if the decomposed circuit was not in the correct basis set of the backend anymore. - + ## 0.9.1 - + ### Upgrade Notes @@ -1036,47 +1056,47 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper name = "my_account",) ``` - + ### Deprecation Notes * `backend` is no longer a supported option when using [qiskit\_ibm\_runtime.Session.run()](/api/qiskit-ibm-runtime/0.29/qiskit_ibm_runtime.Session#run). Sessions do not support multiple cross backends. Additionally, an exception will be raised if a backend passed in through options does not match the original session backend in an active session. - + ### Bug Fixes * `ECRGate` and `CZGate` mappings have been added to the `Target` constructor to fix a tranpile bug. - + ### Other Notes * Since error messages from a failing job may be long, we shortened them so that they begin from the last `Traceback` in the message. - + ## 0.9.0 - + ### Upgrade Notes * Changed the default values for `optimization_level` and for `resilience_level` in `qiskit_ibm_runtime.Options`. If their values are defined by the user, they are not modified. If not set, if the backend is a noiseless simulator then `optimization_level` is set to 1 and `resilience_level` is set to 0; Otherwise, they are be set to 3 and 1 respectively. * [session\_id()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeJob#session_id) and [tags()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeJob#tags) were added for an easy way to return the session\_id and job\_tags of a job. - + ### Bug Fixes * Fixed a bug where jobs that did not run before a session closes are not actually run as a part of that session. Jobs should run as a part of a session even if that session is closed by the exit of the context manager. * Fixes the issue wherein submitting a large job fails due to write operation timeout. - + ## 0.8.0 - + ### New Features @@ -1084,29 +1104,29 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * Advanced resilience options can now be set under `options.resilience`. See [qiskit\_ibm\_runtime.options.ResilienceOptions](/api/qiskit-ibm-runtime/0.27/qiskit_ibm_runtime.options.ResilienceOptions) for all available options. * You can now specify a pair of result decoders for the `result_decoder` parameter of [qiskit\_ibm\_runtime.QiskitRuntimeService.run()](/api/qiskit-ibm-runtime/0.29/qiskit_ibm_runtime.QiskitRuntimeService#run) method. If a pair is specified, the first one is used to decode interim results and the second the final results. - + ### Upgrade Notes * The default `resilience_level` option for has been changed from 0 to 1. In addition, the default `optimization_level` option has been changed from 1 to 3. - + ### Deprecation Notes * The transpilation options `translation_method` and `timing_constraints` have been deprecated. - + ### Bug Fixes * If a [qiskit\_ibm\_runtime.IBMBackend](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.IBMBackend) instance is passed to the [qiskit\_ibm\_runtime.Session](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Session) constructor, the service used to initialize the `IBMBackend` instance is used for the session instead of the default account service. - + ## 0.7.0 - + ### New Features @@ -1114,13 +1134,13 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * The [qiskit\_ibm\_runtime.options.EnvironmentOptions](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.options.EnvironmentOptions) class now accepts a `callback` parameter. This parameter can be used to stream the interim and final results of the primitives. * The `qiskit_ibm_runtime.Options` class now accepts `max_execution_time` as a first level option and `job_tags` as an option under `environment`. [qiskit\_ibm\_runtime.RuntimeOptions](/api/qiskit-ibm-runtime/0.25/qiskit_ibm_runtime.RuntimeOptions) has also been updated to include these two parameters. - + ### Upgrade Notes * This version of qiskit-ibm-runtime requires qiskit-terra version 0.22 or higher. The `requirements.txt` file has been updated accordingly. - + ### Deprecation Notes @@ -1128,7 +1148,7 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * Passing `instance` parameter to the [qiskit\_ibm\_runtime.QiskitRuntimeService.run()](/api/qiskit-ibm-runtime/0.29/qiskit_ibm_runtime.QiskitRuntimeService#run) has been deprecated. Instead, you can pass the `instance` parameter inside the `options` parameter. * Passing `job_tags` and `max_execution_time` as parameters to [qiskit\_ibm\_runtime.QiskitRuntimeService](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.QiskitRuntimeService) has been deprecated. Please pass them inside `options`. - + ### Bug Fixes @@ -1138,7 +1158,7 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper ## 0.7.0rc2 - + ### Upgrade Notes @@ -1146,7 +1166,7 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper * [Sampler](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Sampler) is updated to return `SamplerResult` with `SamplerResult.quasi_dists` as a list of `QuasiDistrbution`. It used to set a list of `dict` as `SamplerResult.quasi_dists`, but it did not follow the design of `SamplerResult`. * The [RuntimeJob](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeJob) class is now a subclass of `qiskit.providers.Job`. - + ### Deprecation Notes @@ -1157,13 +1177,13 @@ Sessions are now thread-safe and allow for multiple concurrent interactive exper ## 0.7.0rc1 - + ### Prelude There are significant changes to how primitives are invoked within a session, and the options available to the primitives. Please review the rest of the release notes and the tutorials for full information. - + ### New Features @@ -1222,7 +1242,7 @@ There are significant changes to how primitives are invoked within a session, an * The [qiskit\_ibm\_runtime.QiskitRuntimeService](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.QiskitRuntimeService) `channel` can now be stored as an environment variable, `QISKIT_IBM_CHANNEL`. This way, when using Runtime Primitives, the service does not have to be instantiated manually and can instead be created directly from environment variables. - + ### Upgrade Notes @@ -1245,7 +1265,7 @@ There are significant changes to how primitives are invoked within a session, an * Since some accounts have many runtime programs, caching a list of all programs on the first call of `programs()` has been removed. Instead, programs will only be cached up to the `limit` given, which has a default value of 20. - + ### Deprecation Notes @@ -1263,17 +1283,17 @@ There are significant changes to how primitives are invoked within a session, an options.transpilation.skip_transpilation = True ``` - + ### Bug Fixes * Fixes issue [#428](https://github.com/Qiskit/qiskit-ibm-runtime/issues/428) by raising the minimum required `qiskit-terra` version to `0.21.0`, since latest version of `qiskit-ibm-runtime` is not compatible with `0.20.0` or earlier of `qiskit-terra`. - + ## 0.6.0 - + ### Upgrade Notes @@ -1290,17 +1310,17 @@ There are significant changes to how primitives are invoked within a session, an * `IBMRuntimeService` class which was deprecated earlier is now removed. Use [QiskitRuntimeService](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.QiskitRuntimeService) class going forward. - + ## 0.5.0 - + ### Prelude This release leverages the API and Queue enhancements to become more runtime session aware. As a result when using the primitives (sampler and estimator), runtime jobs in the same session will skip to the front of the queue, thereby speeding up the runtime session, once it has started. - + ### New Features @@ -1313,7 +1333,7 @@ This release leverages the API and Queue enhancements to become more runtime ses backend.service # QiskitRuntimeService instance used to instantiate the backend ``` - + ### Upgrade Notes @@ -1370,11 +1390,11 @@ This release leverages the API and Queue enhancements to become more runtime ses * [qubit\_properties()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.IBMBackend#qubit_properties) will now return a sub class of `QubitProperties` called `IBMQubitProperties` and will expose anharmonicity in addition to the t1, t2 and frequency already exposed by the `QubitProperties` class. - + ## 0.4.0 - + ### Upgrade Notes @@ -1459,55 +1479,55 @@ This release leverages the API and Queue enhancements to become more runtime ses result = sampler(circuit_indices=[0], ...) ``` - + ### Deprecation Notes * `IBMRuntimeService`, `IBMEstimator` and `IBMSampler` classes have been deprecated and will be removed in a future release. Use [QiskitRuntimeService](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.QiskitRuntimeService), [Estimator](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Estimator) and [Sampler](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Sampler) classes instead. See upgrade notes section for a detailed explanation with examples. - + ## 0.3.0 - + ### Upgrade Notes * A new parameter `channel` has now been added to `qiskit_ibm_runtime.IBMRuntimeService` class and also to methods like `save_account()`, `saved_accounts()` and `delete_account()`. It can be set to `ibm_quantum` or `ibm_cloud` to authenticate to either of the two different channels through which Qiskit Runtime service is currently offered. `channel` replaces the `auth` parameter which has now been deprecated. - + ### Deprecation Notes * The `auth` parameter to `qiskit_ibm_runtime.IBMRuntimeService` class and also to methods like `save_account()`, `saved_accounts()` and `delete_account()` has now been deprecated and will be removed in a future release. Please use the new `channel` parameter instead. - + ### Bug Fixes * Fixed [#291](https://github.com/Qiskit/qiskit-ibm-runtime/issues/219) where passing a single `QuantumCircuit` to sampler or estimator primitives was throwing an error. - + ## 0.2.0 - + ### New Features * `qiskit_ibm_runtime.IBMEstimator` and `qiskit_ibm_runtime.IBMSampler` classes now allow you to easily interact with the `estimator` and `sampler` primitive programs. Refer to the examples in the respective class doc strings to learn more about how to use them. - + ### Bug Fixes * Fixed a bug where [qiskit\_ibm\_runtime.RuntimeJob.wait\_for\_final\_state()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeJob#wait_for_final_state) would result in a NoneType error if the job already completed and [qiskit\_ibm\_runtime.RuntimeJob.status()](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeJob#status) was called beforehand. - + ## 0.1.0 - + ### Prelude @@ -1517,13 +1537,13 @@ This new package is built upon the work already done in qiskit.providers.ibmq.ru qiskit-ibm-runtime is not included as part of Qiskit meta package and thereby you have to install it separately using `pip install qiskit-ibm-runtime`. - + ### New Features * `qiskit_ibm_runtime.IBMRuntimeService.least_busy()` will now allow you find the least busy backend. - + ### Upgrade Notes @@ -1584,35 +1604,35 @@ qiskit-ibm-runtime is not included as part of Qiskit meta package and thereby yo * Final result is also streamed now after interim results when you specify a `callback` to `qiskit_ibm_runtime.IBMRuntimeService.run()` or [qiskit\_ibm\_runtime.RuntimeJob.stream\_results()](/api/qiskit-ibm-runtime/0.30/qiskit_ibm_runtime.RuntimeJob#stream_results). - + ## 0.1.0rc2 - + ### New Features * For convenience, you can now set the `IBM Cloud service name` as a value for the account `instance` parameter. If you choose to set the name instead of the `CRN`, the initialization time of the `qiskit_ibm_runtime.IBMRuntimeService` class is slightly higher because the required `CRN` value is internally resolved via IBM Cloud APIs. - + ### Bug Fixes * [qiskit\_ibm\_runtime.utils.json.RuntimeEncoder](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeEncoder) and [qiskit\_ibm\_runtime.utils.json.RuntimeDecoder](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeDecoder) have been updated to handle instances of the Instruction class. * Fixed an issue where numpy ndarrays with object types could not be serialized. [qiskit\_ibm\_runtime.utils.json.RuntimeEncoder](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeEncoder) and [qiskit\_ibm\_runtime.utils.json.RuntimeDecoder](/api/qiskit-ibm-runtime/qiskit_ibm_runtime.RuntimeDecoder) have been updated to handle these ndarrays. - + ## 0.1.0rc1 - + ### New Features * You can now pass `instance` parameter in the hub/group/project format to `qiskit_ibm_runtime.IBMRuntimeService.jobs()` to filter jobs. Currently only supported for legacy authentication. * You can now use the [qiskit\_ibm\_runtime.RuntimeJob.interim\_results()](/api/qiskit-ibm-runtime/0.30/qiskit_ibm_runtime.RuntimeJob#interim_results) method to retrieve runtime program interim results. Note that interim results will only be available for up to two days. - + ### Upgrade Notes @@ -1620,7 +1640,7 @@ qiskit-ibm-runtime is not included as part of Qiskit meta package and thereby yo * When uploading a program with `qiskit_ibm_runtime.IBMRuntimeService.upload_program()`, the program description is now optional. * When printing programs with `qiskit_ibm_runtime.IBMRuntimeService.pprint_programs()`, `backend_requirements` will now be listed. - + ### Bug Fixes diff --git a/public/api/qiskit-ibm-runtime/objects.inv b/public/api/qiskit-ibm-runtime/objects.inv index 4acf3c9825a120c442d97c42363340ddaba1c2ff..10ff5faf5aac2a5c17adc8fef5b5c0827bf128b2 100644 GIT binary patch delta 20773 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 delta 20784 zcmaHxWl$X7*PziL!9s9{Ai*WLC&4wiOCUHixDy(J1rG!m+}(X}4G=uI3{G%&hn?SF z_T8=8+7CTaef!FDx}S5W<}6JiFHIr;NJbZCIjq~y*o}?NmIiW5Oqw;kt{ptq>_Q7# zeTBp!*BcU|50IA7=ZmrV-yRY~hv$WU59h_!DJ{?L9+%v+p&dRf84{3f2x6|i#55=C z`QlKZ&Xy0y=-8$W%yq5Wt~PzIU{P@Xv$(X!X=Cu8&o5QI zB}~Q}ARBm#B4YBClY*G=d>*S^DIFMOjtck_A!kDvLY*3SR|7x9F# zOkC=Sqba}oyq(Vi@9wB|<(TIiQ<*PsH%{wY2+Fw`$f30PZBtCE&Z*I@=~Hd#(c7~h zwOWDsihBFM1(~PUN733-aMPTnQG>iVt~~T>8b49Tr>&jFW4O_BR`;L zSZOb6K9lqG9j|@tsOv*b#aX5Z*|HDw-&*0nh2=BZ#N=<{WxW6;JrAAcx6bWs6afa4 zxU*M?EN1){+B5kNp3JGLA?Tz|E?c8#BaW9xpGF#uYKy{jj1>93%sVg^?v`NjhwqI} z$!Dcvnv<*K_jd+#7Nb+3>>QQ(r$r=v_NjL#yK{Ayz0Q^Vq@Jv3&22_)<&W2EiU75Q zkCM)2xS=jZjn|n+uM3R&C}MlN84!U&XKZc4?*|BAwF1qRy??YY8WLx?oT6w|(=)(^ zlo4U2vPG-`Z8n~)W1NrJT@rgtWmCa64ewgx3u`tx3I_o?2%&~)tcSNw*q|L>Zl&c$P2-BpsZ|G8!NZH48FQxKR3R$}tP|N)Lkw3LF z@t$sjOi)j`TFhs%R45{rmGdY__Nm>sq9@jCv;XhkE^h=KcU@@T*52uw954R^bL%1Ce7uG{JvX8Deo}$-<{tecZk8;{h z|9>rTEnBm^@gbS1^5u>n_W-u@Ot>@nl}27i81qKV96%B?Qy(P4x*PLt57 z9w0&Xn+e%ryVWgK)QyNcvPtaHvmL5JC9{;$zETsNxXp{z$ah@q2g0hw!R_F)(t=y3 z)*tKwckE&2KW7T-F!ZSH0p)r@J4{ObW4>DULAtMLb0!+w9G~%r*?zpFGVjje&Yi+mUW!=|S}M$L2D;)y7h9=ymE5r+BOE zG1p%oOJH9tgq}1rI_jE~dKuY+jC$FjWp;-N?U?`WdoAdl)RACF68kkp&qb$EKVH>g z`v!cVblExL7=sK;*i!#LeM#I|`tDQ8twePkQvL1mdEkJ*On&{1XVLMRRJ~z2;-Ul5 zRJ8ZH1GQ?GLgLB2YyR$|*@oUzkIx0~^BT~$Cc4s3qI&W8kUDxny$n-bflomg06b&T zJ0)77X)~>6M3+E+{xC`HeH)N>?jAD(bBIDHtmN3-Zl%<_pSZF)Lz3? zYvpA_FtGTL7K7Vy8W}1CT?+plZ|6bl)W_ZtLB`bj1S{fM>06OaAk_ihXl*Uth!pc| z?>XcTrorxwzAQ{HC-RoBg<7R}J#Jg3`A)_R3+@l9DkeKkj*%uiZpsc%o{(4mG+FYi zdOEsNyq#*JT4=_Zjd?(7y1N6SOsI5Xe6MF~tQ~x*$EezECdyalC!O|J)@$Q86z89- zM6|ckc%2Oc)bt0j!Q4+`osTM9e+ z%{$g=6gTX-k8wgvU?-&wI!uiajL0UFa1CTbW@e8hQ;oNES&7q;inoA%!^hHaFQESFU{|jpj5(S&1?#5oT&4eFk5(2SfRbn*vCf>EaP(Fh-f$tu9n{YA{{q8q zKv3+K6@FuKlaB|!BP|8(b&JAS?`Q^aL`(v~U!(e$XYE%Ws3Zs-HaSgJLa5(yN*mZK zDCY88m_i{9yJYek;&P>(`Fy5 z_`LbbWA=^VlcTp-BE+Cz<4({Z^70W$^O;Q;WZT)(;(t;Cz!jtPzF*N~TBxK%>v+qw=mwrV`(A1}p9^oTOfZ+v8&u%jrr zjyK+Dyd;{OrEO^6xVXHy6v#4G2K!e0_GNq*vI(l5r2)4pUSW2hc2~Yn>LCMpbsQyJ zz#LZEy8k#QK(9K(mCDLucT&wvLb+OHulU(E3;;`qH!Y7i3#qG%iG!^l`k=6O9H;vw zs18j-2kA9t=bn#CWvB<0)u8h6;@9-RWxCkM@eBSH)^UO5%X?w}L*>rO*NeWYCxj^H zFpo-8doO`w?6)ce2>!Cd1Z|HHx=PuVJM4i=*TRj3FDxRzXRbL-q;>Gr`M^74ZK=O6p)O87iHD2vE=5YUo6i`x@Ve9*VM@QdCEiI&o+yNb0Ly^Ew7-ITzUJMF@Sn|i_} zHix0qA>eoTNZD|9w51A{AU71H&!>rjUv7wf^_Cs-HNlgKiR4FI1W9~s1iCgYP`Dui zsbwnJ2nt%^&ldaX=ES{Nv5peJ@6_%8y%BwFZH*4SXw8z#m;(KqqBxOC6BPy;eaz^! z@KnH^ayH(T^82~JslP-T1wQ-3`L1p$ez?_)1Y|}FVE@2+4~4^8Vx(^c!(l<; zunPZy^`Z<6X9bmhVGM<{g4*E8K;f*wa8_VAD=?fD{P2gj`2dBpg8rM8s{s6o@+weo#+<{x>V&A6U)GT!KptD1G}4a9Gg)!dhY^`2mK*0>fb~75tkO z>_4ogL2yW;iQXIIA80&;D+3R?To$ z&HrKrWJp8h=?Y==q~oAignzm%fYC$7LHM94&_A#uGdBCrG_@sNQX^}7Pb%1zf=c+; zvXoODX>vfAU82VtI0w5-?5UD8aqReiqS@7H!j;YOLX_Vnp{AOxKBVMGUg)pW9O|!E z4eVYkDyJx^V<<9q@yj!I zQC0lfliNEh?(hkI(*M9ug6_&?Y0IyhYD2f2ZbK)R#lH4Qrw{*?Q*xEK@`j{3yZPFP zejoB~Ju}|MTmi59IDa-R2o{6}sDp)G?JqggNw(Wiba&d|)P|&T@kY;bG5&R?nHby@ zbmxO~arto|b1O7sedBc_Ma$dgNtyY~r_a@V_PZj>Q8uQ~Nif+1`-gz{ED3G72kNB9 zZI#vrduCsNrb)=h+jgv8md65;bl5z}G?4P!iag}nbmoO6o;yR4nl)z;pob@v)a6Oi zjfFlH6!9rT^ldmf8qRw?R%}GMQs&U@&#$M#Uek9otC-rGshJDTNsl10%8Ug0$V8bX zM3KJlU;d?Em#eb1n9C@M@MX)D&z{1fIWKsZ_cdNZRsX@xJhS zJK)4-RC!0;sfv&U^}x}Ziv5ufX5+N>7vsYFc;A%$D5DxBNN z)SEl*k1cl`jXt+2mjd@+n48%kIITkY(;FE)ZCV*DNoq`#d>quy5^RPvt&q5w-4EH; z1A7KEHD>QvU5X0Hut@TV3=v#DeS2x2gp;=MFA-4?n09tvWSTne0jhYz3#z>y99F8j z*Qoe@u%Ig?{Zo0ttZO8s$}1$~yi1gB>0J!;lJkQ9ifEKM8!!4hO~SET(MLC<51%!S zzH!+$;~i)3AR$+5BfZStLi(mRB=6k6c#!OBC`YelC>O$;hS!Oy(j9fj{#SjEUCN-| z;Jf=NyY`qfAjGfQ+f=vDPil?j{0H=zQ5TAVQ3(q|nE+{E?d@j9`9ly(VJOIOWdzKE zV&U&(LF1s5?g|(IYB7ueEf0o|Q3^k@U?_oqKyeN;AeI)VW`6FaL`k`&M6QEo_77am z>_{YT23SmP2E(DQ26_Jnom?>R8cPMr9&p+W3d5cNz4Y`OvM^yVhGM+PgVDXnhtYl0 zg6`goZXSf~@zbtBm959VzOXZ@0_wEVT57J%(X(Tb)x7E0qU=45CZp7-` z^EMo}EU?DgAg~4={}SUVPO~xz+^TGi;MXXn;D`ZAms+cFP~2}|mtS7S)qq~|pKf>g z2P|AurO4eXwyPj^F_Eas4K(ZD7df`E`t%bdntZ{aV&u*m40~0AYto ziox~sBLJ=+G+R1jbXz((434!=#Qp!$kJ+aUNn0-SwM|pFe!7_P-k=xqx=RaY(=x0D zp-limLa$gcUFakUZ7Dtw+2Yi4r2R`j1z0XL>SSAj?x3VDu5~VC?vfs?Z}FjU{oua) zzw{GZuz=YRB*pVJpmXBP4?tQV`dgsAY}`ic0DezbYu`Wb=iXS_%c zz?+8a=XW1mKT-dqp8kS2LoC(g|ky$tF%#k9PnSMSmD=NiUM$=AAr4WHJiuOEQX2BYy3h;tYVJ zA2N$S@x`W0Z1f|fcfipi(UYQ1Z@p`3o+6}$eoORb^SxaiN?<#U=6_Aa<+)aDWlWd7V3HD!5E3YPgza`}JLcpD$0L847q zh^I?g_?C;IP*>lNL7%PBS+3%TwJM+tF_qJTMs8>ACt`40K+$)bUH^m&?X;i-GK-@2 z*odNV*(-g`Ord$pP9rqoPh(8L zg~XJJkCc<)jM;BaUxMEN04_Ix@)LE_epZplO+lzs>NzBCSZ#rzF+mm!|8qWPDhtgaoNKPiW zM^~oz^K7Kh#|=;Hz#ML5GeFrq1i45C`(u*~Haw$}eXEa3L7t3CDR9$`B8sdKtzmt; zI4Q(Jp)PEU=vo!6L&AO77`fZxJ69rA(wfazy(Cj85ej0P{^A}wzGoe7BsTM3amvN%^ z*EEwdr7#W0m#MP{VqwqAvQe!9f75m zq9?eMVw4HFI^K%Z46z>nr%|+S)*U{2x0igYvO9JcPNJP$=;e%LfKNH?B1>K0Fiv|y z&D%2C2p64?jCAFF_EXwX)%?nQ^gMpH=zQVDwDBGUG6JU>lkpvh%Fh2N=w&fnL3u%e ziR#?}*2T;K%6Zq#W^#;R-VT9|c`RNWrEf z{-q#HrGQm@CE6t3q@Z&;CG<~(a0Ow(6@>F21)0Uk%5x8(*69wT_3B3Q7jw%q{7piE zT_pXZpj_b1ZBIT)v}NyZzgkU_#k}te-V|c%T4uEbeyiO4g*5DOyV&}d3M=rPr@CoiiB3% ztO`X|PQGhyebν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 F@PFm=Qp5lN diff --git a/public/images/api/qiskit-ibm-runtime/fake_provider-1_02.png b/public/images/api/qiskit-ibm-runtime/fake_provider-1_02.png index 3e2ed41b01b9661334aa387156319eea4315f462..e37ec5aa38a218eb5c302d76ee61bdff1adb28e9 100644 GIT binary patch literal 12511 zcmdsdbySpV+wX%ITLDoq5DAf?6;wbk^&Oap@1}_q9D@U z3@Y6cLktYx^|<#NXPte%^PYFTf1LHXmcW9UXP)Q2ulslX;(DZ}qR6m^WeFQ?d>?9&2 zDRlPaaT|B{TW(Uq!j6A`fsnJSwJ@g&Z4X>z_pPh?ZU{oJg8rw$dp_ktkki+&moI2} z#m)@)8foJax3*Rk_MH{BN&IsB&bCA^&fOQv6Rzq-zc4>1rr#s^+S~4HmPl_@mWx1L zO%h)|OW_YSE6u1d@3(}5b6y`Pe%nK7wr?*F*qg{VwGv1o3oBe9FxWeHPOW(@F|Vvo z7k0+TOjitM^}Rd#(Cjw^(R&=zLxUjlRY`DnH!d86uP1+phY#4H4nO7{N0;RAWq8H= zyL|AY-o731l`av!{117tXFhFYLtC4stgNh64T2O0eE)v)r5t{6nt89;+P0w|Ka$GJ z&*z&Xh*1EMNbK3q`tZ{Kx(=}#uC8w#&c(bCG8VwHh}t~6d-v|a{rg}2{`+qgo8&(7 zm@K*5d=CSIcCJZ9d#?jq-S4GoO~r-4$zYT316Cfszl`a`qv%@tDDfF~)N zcGq4l-^Ro%PYS$#e$Q+Sne3)TkXtNMUAej*9`7z*ym*kAIjtc^-2UVJ-Ro1PTN%M@ z(nQe)vdLDVOi}{RV|AS1*cK)i;O8QPapXeKE^i#q>~b?`^L|i(+@|*zvWo zQ3tMf^X5%aJoUB=b@hjo|3>kqH$OkW9jUUysbu6ZwiSKO?@xs7M!tsc`R%vUf|bgz zkoF`z@&1Ult*xzHYx1K(?=dz?!NP*8%<9m+J$v`+*x01KIH}*7XGZh>5p1OUsGzmZZnQ!JR`N?#;{`MzU-gqQ%H~=e~C{(M_3ISq=fBL3F;z z@!o?b#ULl1Uz*yezN)1 zz2v&FeHb2|=w+yQ7ReYh=7&9;^}};>x#i{MK8DnU3-?657ls9Ajb)trC9Yh)Y_l+2 zOGuX6T5E#c>QvD#6Eufm=GTy-KYKPTJrs>G^U zTBh9g^P6eg_D3E4UWc`Ej7+-}xVJ~y5GwW1 z(WB|GI+^9=MudZh55Ior*k@Pukb%6mzA~2!hlNeb{VJh7OJ9V6`Lujrk+Uuq`v}7i zPi|&rrgZ&!Vbc+~06_9ge~Bi+BEKgLE)F2cCoT?a0WD;(!qpOmFVA~xw2oY4VP(w<7u4+?d-C|P25gwe zOfNSUg)~^10{oW$$jAtm&|Bo33%w>=KVM<2DLw-8ATTh~vhGE1fo-UtzKe^?*QO?2 zE34O-^eayeKMo4&cyY?meSOImtD&ZbwyLlfFRbEoRpVvh=9=SVd@$;mB`w_M89$!`7pRdBDB1Z}GH_S3elm_r8-@<~e@_Vo0?(QDaQTNHy|1|1bqa2sn3 z$3W8_?|x$r#TA;&^2hn}{4Iee->RXticu~LjOV#i0n!dIF?HlytD=qNeE>~wiCZd$UqnRn z&6_tUgVNFpBhQhX<5T}YOF%WKE&HZ885B-lUyDj~`B9A}@TkP5?PlT`pZ``BErrYQ zTVJmJ6ELCHX10V*oeFQT(o|P}4yXL}8}k|^f}&*ApToHw+qd)a@+xK<6qb(a-MW=$D+dIq@vAM}`;QOk zxUn4gjW@4VUS{Z;cz@=syRM`JWQwrqqOTvNlcmRrwd=?T2UsugUbG5-@j{6pdqM z%z4lVCA$g=4^`sM^JDkW(`&&NL5H!87ly}&HAKq=la3ALQM!7ynYu}VCFjMWloGm6 zfmH(wN(u=F+1YadEA4xgDJ!%8@{F^$%rkdkagiHaSy?&Rkr~n2+N!0m&ySsKNeYY> zvwsaltUE%?YyJkT;rN&5T!cxo|KpI5uGxVyZ9P3cEW8)x>jicl0>V$SUAKu>H zw!j)W{9viEn)M81h%a)%XAKL3JC&qK` z#~A4ZuSeT;aehEMPEJlK?*$MJ1D4DWrQF987>=DwgXRG&xpK05nT)JbD1CAcQzvfq zE=UO{@$@*;=XQk0G(Le!bL)K+GxQQmvwX*C(*Lsc6G%NxVWx z4huWDMxh8wNEBBC6S>6=Xsc#mka5Pmdc42H&DG5<8TfXgX)j!ptkxb zk&d^P%G|uXePfw_qUMgFPDAHxk85)grS20NGZNPw|AxW;3%sGuVg?c+Q2rrx5$jEOmYT9_^a1U%zGykPje8WX-og#Nk|@c4{tEFtls8 zrAgqE3~7r&0VcjPVin|GdxDVj#;(1rURQRfWo2n;Yll;(h}6uSOgR2~)yB3pLzQ2D zDWwfs3GGtV!EAzf{FYslZErz3TCn@M6xwk(xG2q}5%T@}_k%}{@J=kS2h?!jjr{%n zaeD!MCPOX}>4rukOg)Cb18&KN6+ z4!xJ2D^L3L>GCPlN+Xm7fF>;50+BNLrGo|uI5ylYgUnS@a(J#qCNRpb$~!srTkJy+ z>yhSccL2g!;+Fq8D#%L7K&Nyj;1=dJdliLXN!n=xO?RC3nAQW@CUEAAI`Edt?~?rt z@ZLqq0_3uSf)XLldo;>^@W5(oigK_K+)ptLtS+9?N6IPrwhK_P>eY@L{lzZ9Mxb}o zcw=)I!CR1YXOve{YsN9sY=9d4$J>CARU{&@zQT*5-ZW7 zhQ3bh);MPXJb}rX89-^NTSEaR-Xn*WXZpJSxXhPVJC5`4j6M!U7^zpi)a&!sscWYi2)BAh@tQFR));`ElZRXy`5qhht|G3Ri@0yI!^x5h04@at{y z1r9xDD?siE@bNW6tJ79fO8_44x7Z*aE$dgxr3)YG^z70Ka+};^jVeDe?*$7=0o=h< zlyzLo1G*zivt@I3omu*STjBv)H4TkKlL{YW+{qIsE&{Cm;{jhv;aXw&{5syGC`V)f z?fKiEWVX*w=Qr7X|MW;eNT?G`0AW*8Q?&Dd;LuT0dOX??GxoPS+cv-YBP0_bFt>c+ zF|@sDU7FR^)p2kQI#z%FU@MUV5V*(c&k-QE@r}`Ep_Uiz9uz<1GDQ5}}aR6<536ce;n(_SndtAIYEO@qY*}K2LTg}KQi?lH+-sKku zx(VddWGUR}5P}mzpvP-mxbOiNuM3N>lWoxP_w$>Wl(amN8gH`V4ZKgo-QC?7-4E7; z#vMb9_|<#RJ6<0#@w#wC*rfdC2G|s+XMiG|3^*V-W5A(X0aB!0$KhBB6F1&k)knSp zkvHH{!v;RaGYr}d02Z`dT;7=YOmL&W$L$4TIoZf5zRhQCB%%ZOK*icB?Ag&B3OD>O-JViCOs|fs^_40D)g213SUn+NR6_l z*Ub?mK`K=cA&8oN+`jpPW2+hZ7OqKVrJH!=7HAM4)9Ro;2%(|N6w;OnG~X^ZIEx*U z#x(N_3*f<2!4be<&zv~}{=o~(DU)(N)$>2^WB8#{10s_9=(rQto)ug&Xg8S!1zLpm5;togbT-SA9b|9VRBaQJoC@C+CBpgh=UEBaJg^=eWSga# zJ`mrQy+k|_Qwx6Ky`2oLImTt~8>=o@0yu*otEviJN0f|9-LV9)|2P>LL+nf&VxK)r z$jUlNiF@(a579xmdZ=16cAHNrR6I;LP9Fi9@A>D@0fHj^3a0U(A0$fjG1`X z=M)M~&^u?6lc~EzP=|!SU3^1sBY>GrA0>yHN zLx$A=wIX`sJ>p2JH0I{!CL{yr1g*v|Ce|Tq3Ksx7p}=iS1xo;Sj9#2oA^})0mH-Xf zXJt0K(7vlz*b&-dra_Sts@EuQckX3P`}px9+FJ?j<=$?n!2qlir4-3^4@4y-^aOQt z3Yw09aR2&M3EryQI>KawHkkjf#j6lL;_9D_i^5RjL!Rar20wqGw4*W$BrcnbkCtKx zdpO41*H=(V%3xw*LdtFQDTW_|8GbBtzdT;Z?cs{1pZ=Sh4=xR=20dz6T`T%hTMj36 zePgi+tr2*mG6CeN6`Q2%Cu)R$ysV$7+vqi*>g^IbOn5w=66k2WUB%F3%(5Lr3Hr8N zdK)<%ntA)7lwHg>`q+hi@=(#TlxdMoz*=$;(S1$u0eEVH*sou{G=rc4R^j=F@6*P% z?Mq!EHyVS&Gt>;E9{|F2o&zwv-7x=5V=y6ujgJHG-m>&h`EPk>Yaw?!Mg zW-!5^-l+ybz{CUr_lkju6_{1+9PpXS?s%;lE1}NBbFKMXRiGGdQVR^O9324FAtksb zoG(6r7q34_lmJk@ISTU9Z<`D4unGgzjCiCsv zvy`>HU^$|8HS~^@A2lJ$gpJM3Lm-*JubKoZNJs`x%G=9}kBh6SGVA{R?SP%A;vlrY zzJBb=l`FPD^rd{sSr~p%Q7uqLfGIEiD!aS&fQ2aSVq_1)fX3nff5k$l|1=gxJTd=k zD9iwgLufCw*DZ7!Kp}u^$-pY125>5Mdo>S}?!7oV*_9iA_Uu{rg<&jKh^fp`6O<3(vOrbN$1nhZ(e5;_wcsXJ09!5spx)-MkZQFP# zZ$T}D#mDE?*I&bG0N*%x>{uo!$ML0!HbQbj!f}X8_)nc`kTnG`(Nb4`1%BIA0_Zw1 zi!b|7OLlE-jer5#22D;GauK+JFbrzYfko8@Ol7)`<-Av(tE;Q~@R$8qoUa@ROZ%1C z0fCbz!!YpPbU-{Xf5U}L%K5O9J^85+2Nd9@bl|>z{J<@ZtD~q$7@nEQ1_vW0HFXM_ zFd-RiF?jD!f7jOk9T2zg+-Wz_n)3Mf-_<~Yz~bOwp@7xZou)^P7BCIe;MsE}53{n~ z9$5ZUhlY9npLFPfK;*yEoj4WG-);bbHK@E@0#*YWKNQ-uT-4Xsj}~{1s}4Gr8YN<# z0m@fNMde+SCW?c_gtkKgu#d(#AD~YeY)R=ezkaLCx(#qJ_{#q^Yfy)m{hI-5fWcK2 zl@|?GZE%t@ud6C6YliY%Uuu+|izLt$t3yaz9Q==*ApKkg&=?R)ZNR3kDedf+K!r&{ zMurlc%dS{Sx8aEieaGqa)VS6s!j)-;P9>j{-QNc#A@9#p{f;=H`mcOZ<-z^?X}&A7 z=s7H*`33<10Szm!C@AQ}R9e&?C@Cqi9scs1hnse?dSDunzf{~S)NkANnxBV9L2hII z9#p!hT{|CI2JGzYJUkCXdj1FzbNB-PjHL>}S#i5dvsa!*K53=SxEM%ctlv5iV_<9C z|CCu|0$SuJeym0LI`~$5cJF@f?p-AZ{IX(Wp$?>w+U3jlG3m+4m!Uv3QGN{KoQa9H zP!TTdS!i7RPxSE5c*9)bvIOe)*us$`*PzsGxHc3wSFti#%Nt*y$|3F)3)T-LTNX?j z+r%Gk3s9IbD7!`Tev%KdY0oL7^Q?Y))Ya2d7d&S_VR^_Tw{6>2|CEl`GuxcX;kTrI zZxms@lZiB^UH_}(68$9vxGlg&xv?le@|cc<<9tnp9$~mAgXCp_p+4~~kVEI{)!#uR zWPnlc0x^4C0`gwNzl5#`x-f(cV#4%DBpS^Vwxyl|7si@+rracgal;^%7Lj=K`0*Yz zIsP+ecCTUc?4C28?=}xfw{D6<4;gr;pk6Fp4UnAsGKkGVmPJ!%wC@;u4sgdbyavLr zik1sFQcL7M=eoW=LjuYM8IGR43}n&OEvbvPSXP!F;T;_rNinN>2wetCK*On*FHd2A zkr2ZPWT@)~BQkXHPo7>w^#TR34#6XCvYkIAIeETIF2LYN+qPT#QI8%(g$aHWM=1~= z^tz-N%-RB_uv{ZYRR@K9`V1$cdyxh)dJp+(dT!;q5(&Rm0XOII*$ce=##qTDpy<)h z_67(-yH*i`fIHrg9Ob|9Q<37b1!R-bfe=uD0`i`&nX1B*vVF)-Vi$7jCbShF2z5c7 z^D?lX*CW8;NbkthooZ3!(6+Tr2gt;Mytc0;aHHzI_R%*7w6mjW>DI=WTp=t8MVFbE zhX?f=ot&KPS`r@&`mGobc=S1rKD=@dy_&u??Niv{Y=V{Xv#;>E}Zu(3hi5S->pZIXn!HrF&X^>*z*;pzEl4p(U-tJ;wNb)+aC0neBZ3<1;IKOgiwANqLs zq+Y_-M$?w4^urOE_3~4kUmdy{00&_vP8y+w>i&AV=-i7Dk}Kw1X$yk$8m; zl(rIjOu*%Vl#YjkgTs$9QxyA~&6)DW`AnIGFI;EoFZr!6wH$LU=Y+rJbA9+6E90w! zx)5OY_NcQ|{DSLsu!WCF?2cs^gB#TcJR?u{B!P#W2IRnJsYS6Nc>9s1&qqwtbaPFh z7l=sjxuHKz^FH^$zJ15B3-j~MfDIsi?Oab3C+?s-JpQwWLtI)R>1Mbfc1YqN(%ws? zE(>ex==3@tU+A%pcbQV_e+F_Wp9^^b2$YQ)Bam!$f{9`QrYdgIf*8z<3>oktX@w{W z2d0h=nn=he2_Qfc(L2%xPX-R>L{f;X285wKZvqrTel!J4*=p@Tn^yE`v%6@E;#PiP z15TQem6r1D0NQ{;(daq^lEJ@VhIPXh@Coq>ng}?C9j`9!q8NXM@e4q$u+UI**Ru!` ztC}RWUF{eaiv@Z3R!#`|JdudMHzom`3|gYe)EGrLqvo`Dz{cna;+oN>_3^DBpkp5O zcVhz@PSaOS?+XS><~4GP9x8@yG4q@b(z$Ukc!~j*=kPvmeb2J=qZ@Ye${vLxS?a=bB z00obu34&hGEzoQLN;?ydzHym{HVAj>4>>CO+^3}nafc2c&VT|WP9BbJyx&E-jT(KB zt!RO71U^bSZmN?!_p{i2f&d20O^;6sL0uej=8W>RWiTZK9-lMHcA*ub$3}L2oNK20 z&85Y$rmo-jbJYjyB?%dqra>bp-J()Z_5xBP0~#7^uO7rO{?=}Ol=+0 zpkAAy8br;j>9MV#o}g5+U`S#7(<3I>T@5FvoLYW+^5WE1^)cr(FjB}96N3>d_?*?vjX&|s8VdWOzDfb@s7E*hS3 zv?)Fp(r^>})$alUJ6F&q3uFsr6+pn2sFXQ-AY-UO3wPTPteXVhyr!z$W&un~@M57u zcTD9Ha{!R|z&(H|0};t@%jhiELo+_802oH<+Qo5uNF#SEj9(L|JZG(#=@$G(Z41Kh zrH^#NDCh5}26M`Ne&~YR-3|@F`K9rskVyce4)}~^;52Cd2WLbbN|fDucz-@u=lGpn z>_f|eY`(~~x1j6LaRGE*WNmS5`3qNw4LWbu;OuYiQD8a(eHh42SDJd#62QE`*|V+F zR}0@dlVnl9VSO?)*ND677cSfZBUkk1r{4-4dNkTn zRl8tFtR1#LKdBQn#23iq%I}ZS;8g%zr-?=9{$h3EiX{SMTpihl;;4ap%Anv@R2LEE zMbMvmx=2xK2+J3cC`%BDpi@OGQtoNs(m`WS0oS7VQ&f@M7zs)gW+D#4AOR##D0z8k zW&>#K}lJ;O`LQ)35-0urSTRP7^3TG zak>hIC8Qch{Z0o>65rY=HQ7rZs)N~#>*qxAdK96cYxkN_tPv{pMj9FDr- z4X&~dNFJ0r#QBl+fjxan7r(d_haV`#p|lV9P|{dD-UQ-RE5)o|4n1*;LWCSr4aPBG zPcgNYITWG}6+c!l*91%fOnp<^+5Qr=FF~MQ3 zHAh0RqUYbj$|^c6%OmH-7MS%yp?K(=4;!pRAiA=9$}ZEp3Smv=%NZ~=Z@^$qRAio2 zVXdiwf!)oIQ!yZ;_8&Q7y#Ygu)nM8?_5&NOo+%K2O!n5Fj9y6_HoAmuFH5~VL=0O zWvDnSKu6c*4T2~rV$^~!9gFjwZiCsCM09!$AfuHx{`U6*-}lK=W2V5AG&!p2Ae8p^ zuY|VQo~p{RNiHIGz!M39j0Q5xCnly1B_tv}DrPLa_4tq=I;5CyUdlS=S0i?UOW|pA zZ76RCI0UEk^5nt&Ain{JS8CHqP`A-kTRSC?-RCL<@aW8)Rby=WK$)jKZ1dY52cI87 z;!EwCs!@P6MlxXTNjQS0hrX@p=mXpVJ>BSB5eVed`~%A!JX=5wt}A)^L6(C?*Z}RX zA^6DvO@Z=U_by}4iNY?EHV_%8ZJ%#$qUpG>GTu@(9Vzrk1_~H#eHfcE$h&a|CRj6| zOu*<>`S$G_8jwL&Jv=gE`Nzufs>X#iScL`#1_D|q17GQ>fs#%Gz?ym;<8=0nSp(cI z21wR*B4uE1x+{tVVGKbCFI)u^k#JF=RO(S9Nj#8jxGW5FaidP>63k{*Ku=o-*aS{B zS}yw8QVjr$#9^mOe5j^yblPBstPlcqODn4k7(0X6g6H6J z!*P(w|6v@FITj%l&*$^=`xVM=d_107LWRjY`<}O!JiM7~aCh$Y(whlC`$}<{EwG|V z2?_6E#6ko$WPbq2o(4u8)Met^FrjK?du^>LR?__T`b26qpzqfyrMRi~eV zNO8N=`MzWE*h4cdEiGo)+f0u{nAm#r2G;5ayj-06GX&2JajrP5Ez2cpv{O(F@F9op zyjL_#n^HM(q#ku-vL&9n#A^=1R`(hy-#X-s>+n@{#+N5KqoO(*Ppb5*1|WY5oGSWR z1{rq9jJZ0$N!Gp}0;THIcz-+CVB<6X)7@v7G&)SoYqwU2TLWMkXX^B#w;n5n`&xdh zaAfUUv;J2(bew|Ii z611gs;3B{?Tc2@WLUSTCr6!;?F1h*bNi|_ByJ%1YR2|RtXbYl#Bb{)00<_}D*gPwE z#EGZ@d6s;-BSOp|#khziuoQwrnD;xMg@z`flgPj}+W=Y*a&Y9r z!}Sq68hX&n#S+2kL-R9uNF&E}!QAphI9>uGB5lbQg_r!@N__mS6=`gaS8tVFw};vW zX{tHndRSNf*PqhYBaSpgp1A}{QH4mi8S%wg2ny&a43)Bgo{K~2CgdjhN&Wj4V(K~; orRjcI(x1?D?%x@;U*AH=epctNeJHpCS3s~=R4(USym9xx0EZVcx&QzG literal 11573 zcmeHtXH-<#y6py3S`4(Uh!JQlL&@NgjB|e6amO2X-1qC=HwHopwRi2c*0<(2!}?QG{p<#g9UKHf zY@jNg)*=X2ykznFX$^j~@wL+NL(1vQc_(c<3ny1Ihs%VTnUnohJEyBwm-t*RJ2+a| z*@}rsi5wB;yW-?z?wM2J`dxtr6a%G511wqW+h>6(~92(lTyIknLC~@#YZo>^W_MrzX#2A};LjA~3Cgqs0e@%~H z<&_^*PaPz8g-O^&QUryBRJ<3a&gI#5e0L}adiu2AeW+-(G$lV@a`l=u1C9EoIRb}> zvTg4eEcr(5wt1aCi`V%1`KdJF%DS;H<qk`h%x>8b7%4%wjvt7O!LK($cLrXuWK z%;i~!qK;$ntB5D}RS1(@??so(zx{Tl=VNeh>f+aXqDQZPJzX;PdfnZCfW{3H?a^h& zSGWjbfaff)=!G2XV2nxHsgI9(Kv=lpbEdhjre^f`w~E2R4El`hv3>g#Gcz+?&a5W3 zk@r64v*gCLWy||vm&#!mAwfZ^m_^l?u)??Dysjo)edG9`pe;M=SqarMEQzP^C(Vin zyBnXMVqYFKW!CjZ`HJ|L|4Q{3Et&o9Bt6}q5H*nDyPOiCo{)RB<&xti;<$IuOX12a zncts9s0-w=t|1zfyrnJd$=%F$4&M&_y!yZUQZu@PW#Ha>>N=6Zxe;!Eqo#2d!s5$% z+;&Y2zFp)a!Q}t#%ZYy0LykXGrFLzs4wulNHPC&1&zw2)p~nGV{lWSsm zC#YH{Pu^_Ju}R<((le@gf*o`)N|@;H?;og72>kl(8^b^XcYpi#ZGVl-XalFh65rp& zdf>o;h8Jo(8Q=Eo-5VSpe!=o73(+|p6?!8<^=XXyGigCSzOq+C3YRS`l26=PRW8G6~kW3pPp8UJj0Yo5`qmZqkh;u8`)eMAl( zY>YW`k3v-oKc=gtMQh41&7jeKq1HJ!8z=nn$4}VZRg)2K-kg3WdHrNt?zP8p(gjtT zdU`HR+XGBWJd(1rb!1$I9#Tkr@MW%itf^`G>lQmdRXsr)m28;x+n?%D@&~C71x6ek z99oz;%hZMjo#BomecQYXw1#4LM}7+BN_Cj{0t%Eu-7Vvy6MpPk&BAP5k*nQqIS-v8 zmth*^_V2&%my$9Fm$1`2ckU5IP*&FHnT%`G*SGgB8-!4jJZDEZe){Rt3$<`r^Z599 ztJ#r`$hxgtx4xL0b4xSKQ5H~-ct|;O_NEypN;e+do?=S(!4B6^SARfBIv1-*u5?ybmecq5 zo2c|Hbu+_lHXmsGk-ZpvVoc1*mX;P;+?owL_5<25ou7cG6l&UqypYPCx{01jT@w=# zD)2=2@jkU|+YV{Q`41mHd}J`1Bjr3P)PS85dZV2sIcDW+Fny}DEnHmjiHZAB7aoz# zuPil!gM<44v5zSLSnKYx8?Cw5!Y3vt`Ki}hvq>BV2q)dW%R$vLGK$!7>}ukMoyXkX z?KpJN&%x0#$F57Bn&T-K9~XCJuqh2g3ZmrLG^<~~e%-LpDd~Wa5I@zp$VFF4>5tOo znG1~bf`WprbYJ?+XqPCJW5WjBOP69WAt~P~0##_hJ^PyNCrvcyWAV-PAA^Oa>C8ns z#uZGteEBjtO&${;1g4uV*d-+=f1K<*xIE!OqV~H$-i+UWU&R=#ZOcelcw_c#UT9(y zbFM;RDv!Qg?KnVx`BGCY>}ahRLpByz8a4g-;lrPo=e`A6*T&pVFB~{9+?L01+!}4k zhzvV&`L33>c1lNNegD+b^#;Z7ajSE9Vx|8HPG$N!y1Ie~52}flOwo9Jm#)h#^u=0M zFAsFlnNpRMesrJ4_mB39yN(zY7>SU7G-3QmGruD`hFym->Yq4q0|1XN8jW_;{M~xF zu`;&EeInHD+qYYH6y_LaU-^}~L&_lzrMj;_^aY+#;eeD>OGppji=;I37=(Ar*H29xV?<9mW;xEtBEm% z6umTB+pr#PL0NXN=aq3u#YU|uSnu@?�rR$roD5Pdy+a(zG-`sjH(ChrUvp9<#VR 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