{"payload":{"allShortcutsEnabled":false,"fileTree":{"qiskit/circuit/library/arithmetic":{"items":[{"name":"adders","path":"qiskit/circuit/library/arithmetic/adders","contentType":"directory"},{"name":"multipliers","path":"qiskit/circuit/library/arithmetic/multipliers","contentType":"directory"},{"name":"__init__.py","path":"qiskit/circuit/library/arithmetic/__init__.py","contentType":"file"},{"name":"exact_reciprocal.py","path":"qiskit/circuit/library/arithmetic/exact_reciprocal.py","contentType":"file"},{"name":"functional_pauli_rotations.py","path":"qiskit/circuit/library/arithmetic/functional_pauli_rotations.py","contentType":"file"},{"name":"integer_comparator.py","path":"qiskit/circuit/library/arithmetic/integer_comparator.py","contentType":"file"},{"name":"linear_amplitude_function.py","path":"qiskit/circuit/library/arithmetic/linear_amplitude_function.py","contentType":"file"},{"name":"linear_pauli_rotations.py","path":"qiskit/circuit/library/arithmetic/linear_pauli_rotations.py","contentType":"file"},{"name":"piecewise_chebyshev.py","path":"qiskit/circuit/library/arithmetic/piecewise_chebyshev.py","contentType":"file"},{"name":"piecewise_linear_pauli_rotations.py","path":"qiskit/circuit/library/arithmetic/piecewise_linear_pauli_rotations.py","contentType":"file"},{"name":"piecewise_polynomial_pauli_rotations.py","path":"qiskit/circuit/library/arithmetic/piecewise_polynomial_pauli_rotations.py","contentType":"file"},{"name":"polynomial_pauli_rotations.py","path":"qiskit/circuit/library/arithmetic/polynomial_pauli_rotations.py","contentType":"file"},{"name":"quadratic_form.py","path":"qiskit/circuit/library/arithmetic/quadratic_form.py","contentType":"file"},{"name":"weighted_adder.py","path":"qiskit/circuit/library/arithmetic/weighted_adder.py","contentType":"file"}],"totalCount":14},"qiskit/circuit/library":{"items":[{"name":"arithmetic","path":"qiskit/circuit/library/arithmetic","contentType":"directory"},{"name":"basis_change","path":"qiskit/circuit/library/basis_change","contentType":"directory"},{"name":"boolean_logic","path":"qiskit/circuit/library/boolean_logic","contentType":"directory"},{"name":"data_preparation","path":"qiskit/circuit/library/data_preparation","contentType":"directory"},{"name":"generalized_gates","path":"qiskit/circuit/library/generalized_gates","contentType":"directory"},{"name":"n_local","path":"qiskit/circuit/library/n_local","contentType":"directory"},{"name":"standard_gates","path":"qiskit/circuit/library/standard_gates","contentType":"directory"},{"name":"templates","path":"qiskit/circuit/library/templates","contentType":"directory"},{"name":"__init__.py","path":"qiskit/circuit/library/__init__.py","contentType":"file"},{"name":"blueprintcircuit.py","path":"qiskit/circuit/library/blueprintcircuit.py","contentType":"file"},{"name":"fourier_checking.py","path":"qiskit/circuit/library/fourier_checking.py","contentType":"file"},{"name":"graph_state.py","path":"qiskit/circuit/library/graph_state.py","contentType":"file"},{"name":"grover_operator.py","path":"qiskit/circuit/library/grover_operator.py","contentType":"file"},{"name":"hamiltonian_gate.py","path":"qiskit/circuit/library/hamiltonian_gate.py","contentType":"file"},{"name":"hidden_linear_function.py","path":"qiskit/circuit/library/hidden_linear_function.py","contentType":"file"},{"name":"iqp.py","path":"qiskit/circuit/library/iqp.py","contentType":"file"},{"name":"overlap.py","path":"qiskit/circuit/library/overlap.py","contentType":"file"},{"name":"pauli_evolution.py","path":"qiskit/circuit/library/pauli_evolution.py","contentType":"file"},{"name":"phase_estimation.py","path":"qiskit/circuit/library/phase_estimation.py","contentType":"file"},{"name":"phase_oracle.py","path":"qiskit/circuit/library/phase_oracle.py","contentType":"file"},{"name":"quantum_volume.py","path":"qiskit/circuit/library/quantum_volume.py","contentType":"file"}],"totalCount":21},"qiskit/circuit":{"items":[{"name":"classical","path":"qiskit/circuit/classical","contentType":"directory"},{"name":"classicalfunction","path":"qiskit/circuit/classicalfunction","contentType":"directory"},{"name":"controlflow","path":"qiskit/circuit/controlflow","contentType":"directory"},{"name":"library","path":"qiskit/circuit/library","contentType":"directory"},{"name":"random","path":"qiskit/circuit/random","contentType":"directory"},{"name":"tools","path":"qiskit/circuit/tools","contentType":"directory"},{"name":"__init__.py","path":"qiskit/circuit/__init__.py","contentType":"file"},{"name":"_classical_resource_map.py","path":"qiskit/circuit/_classical_resource_map.py","contentType":"file"},{"name":"_standard_gates_commutations.py","path":"qiskit/circuit/_standard_gates_commutations.py","contentType":"file"},{"name":"_utils.py","path":"qiskit/circuit/_utils.py","contentType":"file"},{"name":"add_control.py","path":"qiskit/circuit/add_control.py","contentType":"file"},{"name":"annotated_operation.py","path":"qiskit/circuit/annotated_operation.py","contentType":"file"},{"name":"barrier.py","path":"qiskit/circuit/barrier.py","contentType":"file"},{"name":"bit.py","path":"qiskit/circuit/bit.py","contentType":"file"},{"name":"classicalregister.py","path":"qiskit/circuit/classicalregister.py","contentType":"file"},{"name":"commutation_checker.py","path":"qiskit/circuit/commutation_checker.py","contentType":"file"},{"name":"commutation_library.py","path":"qiskit/circuit/commutation_library.py","contentType":"file"},{"name":"controlledgate.py","path":"qiskit/circuit/controlledgate.py","contentType":"file"},{"name":"delay.py","path":"qiskit/circuit/delay.py","contentType":"file"},{"name":"duration.py","path":"qiskit/circuit/duration.py","contentType":"file"},{"name":"equivalence.py","path":"qiskit/circuit/equivalence.py","contentType":"file"},{"name":"equivalence_library.py","path":"qiskit/circuit/equivalence_library.py","contentType":"file"},{"name":"exceptions.py","path":"qiskit/circuit/exceptions.py","contentType":"file"},{"name":"gate.py","path":"qiskit/circuit/gate.py","contentType":"file"},{"name":"instruction.py","path":"qiskit/circuit/instruction.py","contentType":"file"},{"name":"instructionset.py","path":"qiskit/circuit/instructionset.py","contentType":"file"},{"name":"measure.py","path":"qiskit/circuit/measure.py","contentType":"file"},{"name":"operation.py","path":"qiskit/circuit/operation.py","contentType":"file"},{"name":"parameter.py","path":"qiskit/circuit/parameter.py","contentType":"file"},{"name":"parameterexpression.py","path":"qiskit/circuit/parameterexpression.py","contentType":"file"},{"name":"parametertable.py","path":"qiskit/circuit/parametertable.py","contentType":"file"},{"name":"parametervector.py","path":"qiskit/circuit/parametervector.py","contentType":"file"},{"name":"quantumcircuit.py","path":"qiskit/circuit/quantumcircuit.py","contentType":"file"},{"name":"quantumcircuitdata.py","path":"qiskit/circuit/quantumcircuitdata.py","contentType":"file"},{"name":"quantumregister.py","path":"qiskit/circuit/quantumregister.py","contentType":"file"},{"name":"register.py","path":"qiskit/circuit/register.py","contentType":"file"},{"name":"reset.py","path":"qiskit/circuit/reset.py","contentType":"file"},{"name":"singleton.py","path":"qiskit/circuit/singleton.py","contentType":"file"},{"name":"store.py","path":"qiskit/circuit/store.py","contentType":"file"}],"totalCount":39},"qiskit":{"items":[{"name":"assembler","path":"qiskit/assembler","contentType":"directory"},{"name":"circuit","path":"qiskit/circuit","contentType":"directory"},{"name":"compiler","path":"qiskit/compiler","contentType":"directory"},{"name":"converters","path":"qiskit/converters","contentType":"directory"},{"name":"dagcircuit","path":"qiskit/dagcircuit","contentType":"directory"},{"name":"passmanager","path":"qiskit/passmanager","contentType":"directory"},{"name":"primitives","path":"qiskit/primitives","contentType":"directory"},{"name":"providers","path":"qiskit/providers","contentType":"directory"},{"name":"pulse","path":"qiskit/pulse","contentType":"directory"},{"name":"qasm","path":"qiskit/qasm","contentType":"directory"},{"name":"qasm2","path":"qiskit/qasm2","contentType":"directory"},{"name":"qasm3","path":"qiskit/qasm3","contentType":"directory"},{"name":"qobj","path":"qiskit/qobj","contentType":"directory"},{"name":"qpy","path":"qiskit/qpy","contentType":"directory"},{"name":"quantum_info","path":"qiskit/quantum_info","contentType":"directory"},{"name":"result","path":"qiskit/result","contentType":"directory"},{"name":"scheduler","path":"qiskit/scheduler","contentType":"directory"},{"name":"synthesis","path":"qiskit/synthesis","contentType":"directory"},{"name":"transpiler","path":"qiskit/transpiler","contentType":"directory"},{"name":"utils","path":"qiskit/utils","contentType":"directory"},{"name":"visualization","path":"qiskit/visualization","contentType":"directory"},{"name":"VERSION.txt","path":"qiskit/VERSION.txt","contentType":"file"},{"name":"__init__.py","path":"qiskit/__init__.py","contentType":"file"},{"name":"exceptions.py","path":"qiskit/exceptions.py","contentType":"file"},{"name":"user_config.py","path":"qiskit/user_config.py","contentType":"file"},{"name":"version.py","path":"qiskit/version.py","contentType":"file"}],"totalCount":26},"":{"items":[{"name":".azure","path":".azure","contentType":"directory"},{"name":".binder","path":".binder","contentType":"directory"},{"name":".cargo","path":".cargo","contentType":"directory"},{"name":".github","path":".github","contentType":"directory"},{"name":"crates","path":"crates","contentType":"directory"},{"name":"docs","path":"docs","contentType":"directory"},{"name":"examples","path":"examples","contentType":"directory"},{"name":"qiskit","path":"qiskit","contentType":"directory"},{"name":"releasenotes","path":"releasenotes","contentType":"directory"},{"name":"test","path":"test","contentType":"directory"},{"name":"tools","path":"tools","contentType":"directory"},{"name":".editorconfig","path":".editorconfig","contentType":"file"},{"name":".git-blame-ignore-revs","path":".git-blame-ignore-revs","contentType":"file"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":".local-spellings","path":".local-spellings","contentType":"file"},{"name":".mailmap","path":".mailmap","contentType":"file"},{"name":".mergify.yml","path":".mergify.yml","contentType":"file"},{"name":".stestr.conf","path":".stestr.conf","contentType":"file"},{"name":"CITATION.bib","path":"CITATION.bib","contentType":"file"},{"name":"CODE_OF_CONDUCT.md","path":"CODE_OF_CONDUCT.md","contentType":"file"},{"name":"CONTRIBUTING.md","path":"CONTRIBUTING.md","contentType":"file"},{"name":"Cargo.lock","path":"Cargo.lock","contentType":"file"},{"name":"Cargo.toml","path":"Cargo.toml","contentType":"file"},{"name":"DEPRECATION.md","path":"DEPRECATION.md","contentType":"file"},{"name":"LICENSE.txt","path":"LICENSE.txt","contentType":"file"},{"name":"MAINTAINING.md","path":"MAINTAINING.md","contentType":"file"},{"name":"MANIFEST.in","path":"MANIFEST.in","contentType":"file"},{"name":"Makefile","path":"Makefile","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"SECURITY.md","path":"SECURITY.md","contentType":"file"},{"name":"asv.conf.json","path":"asv.conf.json","contentType":"file"},{"name":"azure-pipelines.yml","path":"azure-pipelines.yml","contentType":"file"},{"name":"constraints.txt","path":"constraints.txt","contentType":"file"},{"name":"pyproject.toml","path":"pyproject.toml","contentType":"file"},{"name":"qiskit_bot.yaml","path":"qiskit_bot.yaml","contentType":"file"},{"name":"requirements-dev.txt","path":"requirements-dev.txt","contentType":"file"},{"name":"requirements-optional.txt","path":"requirements-optional.txt","contentType":"file"},{"name":"requirements.txt","path":"requirements.txt","contentType":"file"},{"name":"rust-toolchain.toml","path":"rust-toolchain.toml","contentType":"file"},{"name":"setup.py","path":"setup.py","contentType":"file"},{"name":"tox.ini","path":"tox.ini","contentType":"file"}],"totalCount":41}},"fileTreeProcessingTime":18.815385,"foldersToFetch":[],"repo":{"id":83821669,"defaultBranch":"main","name":"qiskit","ownerLogin":"Qiskit","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2017-03-03T17:02:42.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/30696987?v=4","public":true,"private":false,"isOrgOwned":true},"symbolsExpanded":false,"treeExpanded":true,"refInfo":{"name":"main","listCacheKey":"v0:1710785011.0","canEdit":false,"refType":"branch","currentOid":"43381ae1b159c01b55159d2dc1e8a65970b72746"},"path":"qiskit/circuit/library/arithmetic/quadratic_form.py","currentUser":null,"blob":{"rawLines":["# This code is part of Qiskit.","#","# (C) Copyright IBM 2017, 2020.","#","# This code is licensed under the Apache License, Version 2.0. You may","# obtain a copy of this license in the LICENSE.txt file in the root directory","# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.","#","# Any modifications or derivative works of this code must retain this","# copyright notice, and modified files need to carry a notice indicating","# that they have been altered from the originals.","","\"\"\"A circuit implementing a quadratic form on binary variables.\"\"\"","","from typing import Union, Optional, List","","import numpy as np","","from qiskit.circuit import QuantumCircuit, QuantumRegister, ParameterExpression","from ..basis_change import QFT","","","class QuadraticForm(QuantumCircuit):"," r\"\"\"Implements a quadratic form on binary variables encoded in qubit registers.",""," A quadratic form on binary variables is a quadratic function :math:`Q` acting on a binary"," variable of :math:`n` bits, :math:`x = x_0 ... x_{n-1}`. For an integer matrix :math:`A`,"," an integer vector :math:`b` and an integer :math:`c` the function can be written as",""," .. math::",""," Q(x) = x^T A x + x^T b + c",""," If :math:`A`, :math:`b` or :math:`c` contain scalar values, this circuit computes only"," an approximation of the quadratic form.",""," Provided with :math:`m` qubits to encode the value, this circuit computes :math:`Q(x) \\mod 2^m`"," in [two's complement](https://stackoverflow.com/questions/1049722/what-is-2s-complement)"," representation.",""," .. math::",""," |x\\rangle_n |0\\rangle_m \\mapsto |x\\rangle_n |(Q(x) + 2^m) \\mod 2^m \\rangle_m",""," Since we use two's complement e.g. the value of :math:`Q(x) = 3` requires 2 bits to represent"," the value and 1 bit for the sign: `3 = '011'` where the first `0` indicates a positive value."," On the other hand, :math:`Q(x) = -3` would be `-3 = '101'`, where the first `1` indicates"," a negative value and `01` is the two's complement of `3`.",""," If the value of :math:`Q(x)` is too large to be represented with `m` qubits, the resulting"," bitstring is :math:`(Q(x) + 2^m) \\mod 2^m)`.",""," The implementation of this circuit is discussed in [1], Fig. 6.",""," References:"," [1]: Gilliam et al., Grover Adaptive Search for Constrained Polynomial Binary Optimization."," `arXiv:1912.04088 `_",""," \"\"\"",""," def __init__("," self,"," num_result_qubits: Optional[int] = None,"," quadratic: Optional["," Union[np.ndarray, List[List[Union[float, ParameterExpression]]]]"," ] = None,"," linear: Optional[Union[np.ndarray, List[Union[float, ParameterExpression]]]] = None,"," offset: Optional[Union[float, ParameterExpression]] = None,"," little_endian: bool = True,"," ) -> None:"," r\"\"\""," Args:"," num_result_qubits: The number of qubits to encode the result. Called :math:`m` in"," the class documentation."," quadratic: A matrix containing the quadratic coefficients, :math:`A`."," linear: An array containing the linear coefficients, :math:`b`."," offset: A constant offset, :math:`c`."," little_endian: Encode the result in little endianness.",""," Raises:"," ValueError: If ``linear`` and ``quadratic`` have mismatching sizes."," ValueError: If ``num_result_qubits`` is unspecified but cannot be determined because"," some values of the quadratic form are parameterized."," \"\"\""," # check inputs match"," if quadratic is not None and linear is not None:"," if len(quadratic) != len(linear):"," raise ValueError(\"Mismatching sizes of quadratic and linear.\")",""," # temporarily set quadratic and linear to [] instead of None so we can iterate over them"," if quadratic is None:"," quadratic = []",""," if linear is None:"," linear = []",""," if offset is None:"," offset = 0",""," num_input_qubits = np.max([1, len(linear), len(quadratic)])",""," # deduce number of result bits if not added"," if num_result_qubits is None:"," # check no value is parameterized"," if ("," any(any(isinstance(q_ij, ParameterExpression) for q_ij in q_i) for q_i in quadratic)"," or any(isinstance(l_i, ParameterExpression) for l_i in linear)"," or isinstance(offset, ParameterExpression)"," ):"," raise ValueError("," \"If the number of result qubits is not specified, the quadratic \""," \"form matrices/vectors/offset may not be parameterized.\""," )"," num_result_qubits = self.required_result_qubits(quadratic, linear, offset)",""," qr_input = QuantumRegister(num_input_qubits)"," qr_result = QuantumRegister(num_result_qubits)"," circuit = QuantumCircuit(qr_input, qr_result, name=\"Q(x)\")",""," # set quadratic and linear again to None if they were None"," if len(quadratic) == 0:"," quadratic = None",""," if len(linear) == 0:"," linear = None",""," scaling = np.pi * 2 ** (1 - num_result_qubits)",""," # initial QFT (just hadamards)"," circuit.h(qr_result)",""," if little_endian:"," qr_result = qr_result[::-1]",""," # constant coefficient"," if offset != 0:"," for i, q_i in enumerate(qr_result):"," circuit.p(scaling * 2**i * offset, q_i)",""," # the linear part consists of the vector and the diagonal of the"," # matrix, since x_i * x_i = x_i, as x_i is a binary variable"," for j in range(num_input_qubits):"," value = linear[j] if linear is not None else 0"," value += quadratic[j][j] if quadratic is not None else 0"," if value != 0:"," for i, q_i in enumerate(qr_result):"," circuit.cp(scaling * 2**i * value, qr_input[j], q_i)",""," # the quadratic part adds A_ij and A_ji as x_i x_j == x_j x_i"," if quadratic is not None:"," for j in range(num_input_qubits):"," for k in range(j + 1, num_input_qubits):"," value = quadratic[j][k] + quadratic[k][j]"," if value != 0:"," for i, q_i in enumerate(qr_result):"," circuit.mcp(scaling * 2**i * value, [qr_input[j], qr_input[k]], q_i)",""," # add the inverse QFT"," iqft = QFT(num_result_qubits, do_swaps=False).inverse().reverse_bits()"," circuit.compose(iqft, qubits=qr_result[:], inplace=True)",""," super().__init__(*circuit.qregs, name=\"Q(x)\")"," self.compose(circuit.to_gate(), qubits=self.qubits, inplace=True)",""," @staticmethod"," def required_result_qubits("," quadratic: Union[np.ndarray, List[List[float]]],"," linear: Union[np.ndarray, List[float]],"," offset: float,"," ) -> int:"," \"\"\"Get the number of required result qubits.",""," Args:"," quadratic: A matrix containing the quadratic coefficients."," linear: An array containing the linear coefficients."," offset: A constant offset.",""," Returns:"," The number of qubits needed to represent the value of the quadratic form"," in twos complement."," \"\"\"",""," bounds = [] # bounds = [minimum value, maximum value]"," for condition in [lambda x: x < 0, lambda x: x > 0]:"," bound = 0.0"," bound += sum(sum(q_ij for q_ij in q_i if condition(q_ij)) for q_i in quadratic)"," bound += sum(l_i for l_i in linear if condition(l_i))"," bound += offset if condition(offset) else 0"," bounds.append(bound)",""," # the minimum number of qubits is the number of qubits needed to represent"," # the minimum/maximum value plus one sign qubit"," num_qubits_for_min = int(np.ceil(np.log2(max(-bounds[0], 1))))"," num_qubits_for_max = int(np.ceil(np.log2(bounds[1] + 1)))"," num_result_qubits = 1 + max(num_qubits_for_min, num_qubits_for_max)",""," return num_result_qubits"],"stylingDirectives":[[{"start":0,"end":30,"cssClass":"pl-c"}],[{"start":0,"end":1,"cssClass":"pl-c"}],[{"start":0,"end":31,"cssClass":"pl-c"}],[{"start":0,"end":1,"cssClass":"pl-c"}],[{"start":0,"end":70,"cssClass":"pl-c"}],[{"start":0,"end":77,"cssClass":"pl-c"}],[{"start":0,"end":71,"cssClass":"pl-c"}],[{"start":0,"end":1,"cssClass":"pl-c"}],[{"start":0,"end":69,"cssClass":"pl-c"}],[{"start":0,"end":72,"cssClass":"pl-c"}],[{"start":0,"end":49,"cssClass":"pl-c"}],[],[{"start":0,"end":66,"cssClass":"pl-s"}],[],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":11,"cssClass":"pl-s1"},{"start":12,"end":18,"cssClass":"pl-k"},{"start":19,"end":24,"cssClass":"pl-v"},{"start":26,"end":34,"cssClass":"pl-v"},{"start":36,"end":40,"cssClass":"pl-v"}],[],[{"start":0,"end":6,"cssClass":"pl-k"},{"start":7,"end":12,"cssClass":"pl-s1"},{"start":13,"end":15,"cssClass":"pl-k"},{"start":16,"end":18,"cssClass":"pl-s1"}],[],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":11,"cssClass":"pl-s1"},{"start":12,"end":19,"cssClass":"pl-s1"},{"start":20,"end":26,"cssClass":"pl-k"},{"start":27,"end":41,"cssClass":"pl-v"},{"start":43,"end":58,"cssClass":"pl-v"},{"start":60,"end":79,"cssClass":"pl-v"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":7,"end":19,"cssClass":"pl-s1"},{"start":20,"end":26,"cssClass":"pl-k"},{"start":27,"end":30,"cssClass":"pl-v"}],[],[],[{"start":0,"end":5,"cssClass":"pl-k"},{"start":6,"end":19,"cssClass":"pl-v"},{"start":20,"end":34,"cssClass":"pl-v"}],[{"start":4,"end":83,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":93,"cssClass":"pl-s"}],[{"start":0,"end":93,"cssClass":"pl-s"}],[{"start":0,"end":87,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":13,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":34,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":90,"cssClass":"pl-s"}],[{"start":0,"end":43,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":99,"cssClass":"pl-s"}],[{"start":0,"end":92,"cssClass":"pl-s"}],[{"start":0,"end":19,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":13,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":84,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":97,"cssClass":"pl-s"}],[{"start":0,"end":97,"cssClass":"pl-s"}],[{"start":0,"end":93,"cssClass":"pl-s"}],[{"start":0,"end":61,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":94,"cssClass":"pl-s"}],[{"start":0,"end":48,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":67,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":15,"cssClass":"pl-s"}],[{"start":0,"end":99,"cssClass":"pl-s"}],[{"start":0,"end":71,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":7,"cssClass":"pl-s"}],[],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":16,"cssClass":"pl-en"}],[{"start":8,"end":12,"cssClass":"pl-s1"}],[{"start":8,"end":25,"cssClass":"pl-s1"},{"start":27,"end":35,"cssClass":"pl-v"},{"start":36,"end":39,"cssClass":"pl-s1"},{"start":41,"end":42,"cssClass":"pl-c1"},{"start":43,"end":47,"cssClass":"pl-c1"}],[{"start":8,"end":17,"cssClass":"pl-s1"},{"start":19,"end":27,"cssClass":"pl-v"}],[{"start":12,"end":17,"cssClass":"pl-v"},{"start":18,"end":20,"cssClass":"pl-s1"},{"start":21,"end":28,"cssClass":"pl-s1"},{"start":30,"end":34,"cssClass":"pl-v"},{"start":35,"end":39,"cssClass":"pl-v"},{"start":40,"end":45,"cssClass":"pl-v"},{"start":46,"end":51,"cssClass":"pl-s1"},{"start":53,"end":72,"cssClass":"pl-v"}],[{"start":10,"end":11,"cssClass":"pl-c1"},{"start":12,"end":16,"cssClass":"pl-c1"}],[{"start":8,"end":14,"cssClass":"pl-s1"},{"start":16,"end":24,"cssClass":"pl-v"},{"start":25,"end":30,"cssClass":"pl-v"},{"start":31,"end":33,"cssClass":"pl-s1"},{"start":34,"end":41,"cssClass":"pl-s1"},{"start":43,"end":47,"cssClass":"pl-v"},{"start":48,"end":53,"cssClass":"pl-v"},{"start":54,"end":59,"cssClass":"pl-s1"},{"start":61,"end":80,"cssClass":"pl-v"},{"start":85,"end":86,"cssClass":"pl-c1"},{"start":87,"end":91,"cssClass":"pl-c1"}],[{"start":8,"end":14,"cssClass":"pl-s1"},{"start":16,"end":24,"cssClass":"pl-v"},{"start":25,"end":30,"cssClass":"pl-v"},{"start":31,"end":36,"cssClass":"pl-s1"},{"start":38,"end":57,"cssClass":"pl-v"},{"start":60,"end":61,"cssClass":"pl-c1"},{"start":62,"end":66,"cssClass":"pl-c1"}],[{"start":8,"end":21,"cssClass":"pl-s1"},{"start":23,"end":27,"cssClass":"pl-s1"},{"start":28,"end":29,"cssClass":"pl-c1"},{"start":30,"end":34,"cssClass":"pl-c1"}],[{"start":6,"end":8,"cssClass":"pl-c1"},{"start":9,"end":13,"cssClass":"pl-c1"}],[{"start":8,"end":12,"cssClass":"pl-s"}],[{"start":0,"end":13,"cssClass":"pl-s"}],[{"start":0,"end":93,"cssClass":"pl-s"}],[{"start":0,"end":40,"cssClass":"pl-s"}],[{"start":0,"end":81,"cssClass":"pl-s"}],[{"start":0,"end":75,"cssClass":"pl-s"}],[{"start":0,"end":49,"cssClass":"pl-s"}],[{"start":0,"end":66,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":15,"cssClass":"pl-s"}],[{"start":0,"end":79,"cssClass":"pl-s"}],[{"start":0,"end":96,"cssClass":"pl-s"}],[{"start":0,"end":68,"cssClass":"pl-s"}],[{"start":0,"end":11,"cssClass":"pl-s"}],[{"start":8,"end":28,"cssClass":"pl-c"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":20,"cssClass":"pl-s1"},{"start":21,"end":23,"cssClass":"pl-c1"},{"start":24,"end":27,"cssClass":"pl-c1"},{"start":28,"end":32,"cssClass":"pl-c1"},{"start":33,"end":36,"cssClass":"pl-c1"},{"start":37,"end":43,"cssClass":"pl-s1"},{"start":44,"end":46,"cssClass":"pl-c1"},{"start":47,"end":50,"cssClass":"pl-c1"},{"start":51,"end":55,"cssClass":"pl-c1"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":15,"end":18,"cssClass":"pl-en"},{"start":19,"end":28,"cssClass":"pl-s1"},{"start":30,"end":32,"cssClass":"pl-c1"},{"start":33,"end":36,"cssClass":"pl-en"},{"start":37,"end":43,"cssClass":"pl-s1"}],[{"start":16,"end":21,"cssClass":"pl-k"},{"start":22,"end":32,"cssClass":"pl-v"},{"start":33,"end":77,"cssClass":"pl-s"}],[],[{"start":8,"end":96,"cssClass":"pl-c"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":20,"cssClass":"pl-s1"},{"start":21,"end":23,"cssClass":"pl-c1"},{"start":24,"end":28,"cssClass":"pl-c1"}],[{"start":12,"end":21,"cssClass":"pl-s1"},{"start":22,"end":23,"cssClass":"pl-c1"}],[],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":17,"cssClass":"pl-s1"},{"start":18,"end":20,"cssClass":"pl-c1"},{"start":21,"end":25,"cssClass":"pl-c1"}],[{"start":12,"end":18,"cssClass":"pl-s1"},{"start":19,"end":20,"cssClass":"pl-c1"}],[],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":17,"cssClass":"pl-s1"},{"start":18,"end":20,"cssClass":"pl-c1"},{"start":21,"end":25,"cssClass":"pl-c1"}],[{"start":12,"end":18,"cssClass":"pl-s1"},{"start":19,"end":20,"cssClass":"pl-c1"},{"start":21,"end":22,"cssClass":"pl-c1"}],[],[{"start":8,"end":24,"cssClass":"pl-s1"},{"start":25,"end":26,"cssClass":"pl-c1"},{"start":27,"end":29,"cssClass":"pl-s1"},{"start":30,"end":33,"cssClass":"pl-en"},{"start":35,"end":36,"cssClass":"pl-c1"},{"start":38,"end":41,"cssClass":"pl-en"},{"start":42,"end":48,"cssClass":"pl-s1"},{"start":51,"end":54,"cssClass":"pl-en"},{"start":55,"end":64,"cssClass":"pl-s1"}],[],[{"start":8,"end":51,"cssClass":"pl-c"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":28,"cssClass":"pl-s1"},{"start":29,"end":31,"cssClass":"pl-c1"},{"start":32,"end":36,"cssClass":"pl-c1"}],[{"start":12,"end":45,"cssClass":"pl-c"}],[{"start":12,"end":14,"cssClass":"pl-k"}],[{"start":16,"end":19,"cssClass":"pl-en"},{"start":20,"end":23,"cssClass":"pl-en"},{"start":24,"end":34,"cssClass":"pl-en"},{"start":35,"end":39,"cssClass":"pl-s1"},{"start":41,"end":60,"cssClass":"pl-v"},{"start":62,"end":65,"cssClass":"pl-k"},{"start":66,"end":70,"cssClass":"pl-s1"},{"start":71,"end":73,"cssClass":"pl-c1"},{"start":74,"end":77,"cssClass":"pl-s1"},{"start":79,"end":82,"cssClass":"pl-k"},{"start":83,"end":86,"cssClass":"pl-s1"},{"start":87,"end":89,"cssClass":"pl-c1"},{"start":90,"end":99,"cssClass":"pl-s1"}],[{"start":16,"end":18,"cssClass":"pl-c1"},{"start":19,"end":22,"cssClass":"pl-en"},{"start":23,"end":33,"cssClass":"pl-en"},{"start":34,"end":37,"cssClass":"pl-s1"},{"start":39,"end":58,"cssClass":"pl-v"},{"start":60,"end":63,"cssClass":"pl-k"},{"start":64,"end":67,"cssClass":"pl-s1"},{"start":68,"end":70,"cssClass":"pl-c1"},{"start":71,"end":77,"cssClass":"pl-s1"}],[{"start":16,"end":18,"cssClass":"pl-c1"},{"start":19,"end":29,"cssClass":"pl-en"},{"start":30,"end":36,"cssClass":"pl-s1"},{"start":38,"end":57,"cssClass":"pl-v"}],[],[{"start":16,"end":21,"cssClass":"pl-k"},{"start":22,"end":32,"cssClass":"pl-v"}],[{"start":20,"end":85,"cssClass":"pl-s"}],[{"start":20,"end":76,"cssClass":"pl-s"}],[],[{"start":12,"end":29,"cssClass":"pl-s1"},{"start":30,"end":31,"cssClass":"pl-c1"},{"start":32,"end":36,"cssClass":"pl-s1"},{"start":37,"end":59,"cssClass":"pl-en"},{"start":60,"end":69,"cssClass":"pl-s1"},{"start":71,"end":77,"cssClass":"pl-s1"},{"start":79,"end":85,"cssClass":"pl-s1"}],[],[{"start":8,"end":16,"cssClass":"pl-s1"},{"start":17,"end":18,"cssClass":"pl-c1"},{"start":19,"end":34,"cssClass":"pl-v"},{"start":35,"end":51,"cssClass":"pl-s1"}],[{"start":8,"end":17,"cssClass":"pl-s1"},{"start":18,"end":19,"cssClass":"pl-c1"},{"start":20,"end":35,"cssClass":"pl-v"},{"start":36,"end":53,"cssClass":"pl-s1"}],[{"start":8,"end":15,"cssClass":"pl-s1"},{"start":16,"end":17,"cssClass":"pl-c1"},{"start":18,"end":32,"cssClass":"pl-v"},{"start":33,"end":41,"cssClass":"pl-s1"},{"start":43,"end":52,"cssClass":"pl-s1"},{"start":54,"end":58,"cssClass":"pl-s1"},{"start":58,"end":59,"cssClass":"pl-c1"},{"start":59,"end":65,"cssClass":"pl-s"}],[],[{"start":8,"end":66,"cssClass":"pl-c"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":14,"cssClass":"pl-en"},{"start":15,"end":24,"cssClass":"pl-s1"},{"start":26,"end":28,"cssClass":"pl-c1"},{"start":29,"end":30,"cssClass":"pl-c1"}],[{"start":12,"end":21,"cssClass":"pl-s1"},{"start":22,"end":23,"cssClass":"pl-c1"},{"start":24,"end":28,"cssClass":"pl-c1"}],[],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":14,"cssClass":"pl-en"},{"start":15,"end":21,"cssClass":"pl-s1"},{"start":23,"end":25,"cssClass":"pl-c1"},{"start":26,"end":27,"cssClass":"pl-c1"}],[{"start":12,"end":18,"cssClass":"pl-s1"},{"start":19,"end":20,"cssClass":"pl-c1"},{"start":21,"end":25,"cssClass":"pl-c1"}],[],[{"start":8,"end":15,"cssClass":"pl-s1"},{"start":16,"end":17,"cssClass":"pl-c1"},{"start":18,"end":20,"cssClass":"pl-s1"},{"start":21,"end":23,"cssClass":"pl-s1"},{"start":24,"end":25,"cssClass":"pl-c1"},{"start":26,"end":27,"cssClass":"pl-c1"},{"start":28,"end":30,"cssClass":"pl-c1"},{"start":32,"end":33,"cssClass":"pl-c1"},{"start":34,"end":35,"cssClass":"pl-c1"},{"start":36,"end":53,"cssClass":"pl-s1"}],[],[{"start":8,"end":38,"cssClass":"pl-c"}],[{"start":8,"end":15,"cssClass":"pl-s1"},{"start":16,"end":17,"cssClass":"pl-en"},{"start":18,"end":27,"cssClass":"pl-s1"}],[],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":24,"cssClass":"pl-s1"}],[{"start":12,"end":21,"cssClass":"pl-s1"},{"start":22,"end":23,"cssClass":"pl-c1"},{"start":24,"end":33,"cssClass":"pl-s1"},{"start":36,"end":37,"cssClass":"pl-c1"},{"start":37,"end":38,"cssClass":"pl-c1"}],[],[{"start":8,"end":30,"cssClass":"pl-c"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":17,"cssClass":"pl-s1"},{"start":18,"end":20,"cssClass":"pl-c1"},{"start":21,"end":22,"cssClass":"pl-c1"}],[{"start":12,"end":15,"cssClass":"pl-k"},{"start":16,"end":17,"cssClass":"pl-s1"},{"start":19,"end":22,"cssClass":"pl-s1"},{"start":23,"end":25,"cssClass":"pl-c1"},{"start":26,"end":35,"cssClass":"pl-en"},{"start":36,"end":45,"cssClass":"pl-s1"}],[{"start":16,"end":23,"cssClass":"pl-s1"},{"start":24,"end":25,"cssClass":"pl-en"},{"start":26,"end":33,"cssClass":"pl-s1"},{"start":34,"end":35,"cssClass":"pl-c1"},{"start":36,"end":37,"cssClass":"pl-c1"},{"start":37,"end":39,"cssClass":"pl-c1"},{"start":39,"end":40,"cssClass":"pl-s1"},{"start":41,"end":42,"cssClass":"pl-c1"},{"start":43,"end":49,"cssClass":"pl-s1"},{"start":51,"end":54,"cssClass":"pl-s1"}],[],[{"start":8,"end":72,"cssClass":"pl-c"}],[{"start":8,"end":68,"cssClass":"pl-c"}],[{"start":8,"end":11,"cssClass":"pl-k"},{"start":12,"end":13,"cssClass":"pl-s1"},{"start":14,"end":16,"cssClass":"pl-c1"},{"start":17,"end":22,"cssClass":"pl-en"},{"start":23,"end":39,"cssClass":"pl-s1"}],[{"start":12,"end":17,"cssClass":"pl-s1"},{"start":18,"end":19,"cssClass":"pl-c1"},{"start":20,"end":26,"cssClass":"pl-s1"},{"start":27,"end":28,"cssClass":"pl-s1"},{"start":30,"end":32,"cssClass":"pl-k"},{"start":33,"end":39,"cssClass":"pl-s1"},{"start":40,"end":42,"cssClass":"pl-c1"},{"start":43,"end":46,"cssClass":"pl-c1"},{"start":47,"end":51,"cssClass":"pl-c1"},{"start":52,"end":56,"cssClass":"pl-k"},{"start":57,"end":58,"cssClass":"pl-c1"}],[{"start":12,"end":17,"cssClass":"pl-s1"},{"start":18,"end":20,"cssClass":"pl-c1"},{"start":21,"end":30,"cssClass":"pl-s1"},{"start":31,"end":32,"cssClass":"pl-s1"},{"start":34,"end":35,"cssClass":"pl-s1"},{"start":37,"end":39,"cssClass":"pl-k"},{"start":40,"end":49,"cssClass":"pl-s1"},{"start":50,"end":52,"cssClass":"pl-c1"},{"start":53,"end":56,"cssClass":"pl-c1"},{"start":57,"end":61,"cssClass":"pl-c1"},{"start":62,"end":66,"cssClass":"pl-k"},{"start":67,"end":68,"cssClass":"pl-c1"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":15,"end":20,"cssClass":"pl-s1"},{"start":21,"end":23,"cssClass":"pl-c1"},{"start":24,"end":25,"cssClass":"pl-c1"}],[{"start":16,"end":19,"cssClass":"pl-k"},{"start":20,"end":21,"cssClass":"pl-s1"},{"start":23,"end":26,"cssClass":"pl-s1"},{"start":27,"end":29,"cssClass":"pl-c1"},{"start":30,"end":39,"cssClass":"pl-en"},{"start":40,"end":49,"cssClass":"pl-s1"}],[{"start":20,"end":27,"cssClass":"pl-s1"},{"start":28,"end":30,"cssClass":"pl-en"},{"start":31,"end":38,"cssClass":"pl-s1"},{"start":39,"end":40,"cssClass":"pl-c1"},{"start":41,"end":42,"cssClass":"pl-c1"},{"start":42,"end":44,"cssClass":"pl-c1"},{"start":44,"end":45,"cssClass":"pl-s1"},{"start":46,"end":47,"cssClass":"pl-c1"},{"start":48,"end":53,"cssClass":"pl-s1"},{"start":55,"end":63,"cssClass":"pl-s1"},{"start":64,"end":65,"cssClass":"pl-s1"},{"start":68,"end":71,"cssClass":"pl-s1"}],[],[{"start":8,"end":69,"cssClass":"pl-c"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":20,"cssClass":"pl-s1"},{"start":21,"end":23,"cssClass":"pl-c1"},{"start":24,"end":27,"cssClass":"pl-c1"},{"start":28,"end":32,"cssClass":"pl-c1"}],[{"start":12,"end":15,"cssClass":"pl-k"},{"start":16,"end":17,"cssClass":"pl-s1"},{"start":18,"end":20,"cssClass":"pl-c1"},{"start":21,"end":26,"cssClass":"pl-en"},{"start":27,"end":43,"cssClass":"pl-s1"}],[{"start":16,"end":19,"cssClass":"pl-k"},{"start":20,"end":21,"cssClass":"pl-s1"},{"start":22,"end":24,"cssClass":"pl-c1"},{"start":25,"end":30,"cssClass":"pl-en"},{"start":31,"end":32,"cssClass":"pl-s1"},{"start":33,"end":34,"cssClass":"pl-c1"},{"start":35,"end":36,"cssClass":"pl-c1"},{"start":38,"end":54,"cssClass":"pl-s1"}],[{"start":20,"end":25,"cssClass":"pl-s1"},{"start":26,"end":27,"cssClass":"pl-c1"},{"start":28,"end":37,"cssClass":"pl-s1"},{"start":38,"end":39,"cssClass":"pl-s1"},{"start":41,"end":42,"cssClass":"pl-s1"},{"start":44,"end":45,"cssClass":"pl-c1"},{"start":46,"end":55,"cssClass":"pl-s1"},{"start":56,"end":57,"cssClass":"pl-s1"},{"start":59,"end":60,"cssClass":"pl-s1"}],[{"start":20,"end":22,"cssClass":"pl-k"},{"start":23,"end":28,"cssClass":"pl-s1"},{"start":29,"end":31,"cssClass":"pl-c1"},{"start":32,"end":33,"cssClass":"pl-c1"}],[{"start":24,"end":27,"cssClass":"pl-k"},{"start":28,"end":29,"cssClass":"pl-s1"},{"start":31,"end":34,"cssClass":"pl-s1"},{"start":35,"end":37,"cssClass":"pl-c1"},{"start":38,"end":47,"cssClass":"pl-en"},{"start":48,"end":57,"cssClass":"pl-s1"}],[{"start":28,"end":35,"cssClass":"pl-s1"},{"start":36,"end":39,"cssClass":"pl-en"},{"start":40,"end":47,"cssClass":"pl-s1"},{"start":48,"end":49,"cssClass":"pl-c1"},{"start":50,"end":51,"cssClass":"pl-c1"},{"start":51,"end":53,"cssClass":"pl-c1"},{"start":53,"end":54,"cssClass":"pl-s1"},{"start":55,"end":56,"cssClass":"pl-c1"},{"start":57,"end":62,"cssClass":"pl-s1"},{"start":65,"end":73,"cssClass":"pl-s1"},{"start":74,"end":75,"cssClass":"pl-s1"},{"start":78,"end":86,"cssClass":"pl-s1"},{"start":87,"end":88,"cssClass":"pl-s1"},{"start":92,"end":95,"cssClass":"pl-s1"}],[],[{"start":8,"end":29,"cssClass":"pl-c"}],[{"start":8,"end":12,"cssClass":"pl-s1"},{"start":13,"end":14,"cssClass":"pl-c1"},{"start":15,"end":18,"cssClass":"pl-v"},{"start":19,"end":36,"cssClass":"pl-s1"},{"start":38,"end":46,"cssClass":"pl-s1"},{"start":46,"end":47,"cssClass":"pl-c1"},{"start":47,"end":52,"cssClass":"pl-c1"},{"start":54,"end":61,"cssClass":"pl-en"},{"start":64,"end":76,"cssClass":"pl-en"}],[{"start":8,"end":15,"cssClass":"pl-s1"},{"start":16,"end":23,"cssClass":"pl-en"},{"start":24,"end":28,"cssClass":"pl-s1"},{"start":30,"end":36,"cssClass":"pl-s1"},{"start":36,"end":37,"cssClass":"pl-c1"},{"start":37,"end":46,"cssClass":"pl-s1"},{"start":51,"end":58,"cssClass":"pl-s1"},{"start":58,"end":59,"cssClass":"pl-c1"},{"start":59,"end":63,"cssClass":"pl-c1"}],[],[{"start":8,"end":13,"cssClass":"pl-en"},{"start":16,"end":24,"cssClass":"pl-en"},{"start":25,"end":26,"cssClass":"pl-c1"},{"start":26,"end":33,"cssClass":"pl-s1"},{"start":34,"end":39,"cssClass":"pl-s1"},{"start":41,"end":45,"cssClass":"pl-s1"},{"start":45,"end":46,"cssClass":"pl-c1"},{"start":46,"end":52,"cssClass":"pl-s"}],[{"start":8,"end":12,"cssClass":"pl-s1"},{"start":13,"end":20,"cssClass":"pl-en"},{"start":21,"end":28,"cssClass":"pl-s1"},{"start":29,"end":36,"cssClass":"pl-en"},{"start":40,"end":46,"cssClass":"pl-s1"},{"start":46,"end":47,"cssClass":"pl-c1"},{"start":47,"end":51,"cssClass":"pl-s1"},{"start":52,"end":58,"cssClass":"pl-s1"},{"start":60,"end":67,"cssClass":"pl-s1"},{"start":67,"end":68,"cssClass":"pl-c1"},{"start":68,"end":72,"cssClass":"pl-c1"}],[],[{"start":4,"end":17,"cssClass":"pl-en"},{"start":5,"end":17,"cssClass":"pl-s1"}],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":30,"cssClass":"pl-en"}],[{"start":8,"end":17,"cssClass":"pl-s1"},{"start":19,"end":24,"cssClass":"pl-v"},{"start":25,"end":27,"cssClass":"pl-s1"},{"start":28,"end":35,"cssClass":"pl-s1"},{"start":37,"end":41,"cssClass":"pl-v"},{"start":42,"end":46,"cssClass":"pl-v"},{"start":47,"end":52,"cssClass":"pl-s1"}],[{"start":8,"end":14,"cssClass":"pl-s1"},{"start":16,"end":21,"cssClass":"pl-v"},{"start":22,"end":24,"cssClass":"pl-s1"},{"start":25,"end":32,"cssClass":"pl-s1"},{"start":34,"end":38,"cssClass":"pl-v"},{"start":39,"end":44,"cssClass":"pl-s1"}],[{"start":8,"end":14,"cssClass":"pl-s1"},{"start":16,"end":21,"cssClass":"pl-s1"}],[{"start":6,"end":8,"cssClass":"pl-c1"},{"start":9,"end":12,"cssClass":"pl-s1"}],[{"start":8,"end":52,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":13,"cssClass":"pl-s"}],[{"start":0,"end":70,"cssClass":"pl-s"}],[{"start":0,"end":64,"cssClass":"pl-s"}],[{"start":0,"end":38,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":16,"cssClass":"pl-s"}],[{"start":0,"end":84,"cssClass":"pl-s"}],[{"start":0,"end":31,"cssClass":"pl-s"}],[{"start":0,"end":11,"cssClass":"pl-s"}],[],[{"start":8,"end":14,"cssClass":"pl-s1"},{"start":15,"end":16,"cssClass":"pl-c1"},{"start":21,"end":62,"cssClass":"pl-c"}],[{"start":8,"end":11,"cssClass":"pl-k"},{"start":12,"end":21,"cssClass":"pl-s1"},{"start":22,"end":24,"cssClass":"pl-c1"},{"start":26,"end":32,"cssClass":"pl-k"},{"start":33,"end":34,"cssClass":"pl-s1"},{"start":36,"end":37,"cssClass":"pl-s1"},{"start":38,"end":39,"cssClass":"pl-c1"},{"start":40,"end":41,"cssClass":"pl-c1"},{"start":43,"end":49,"cssClass":"pl-k"},{"start":50,"end":51,"cssClass":"pl-s1"},{"start":53,"end":54,"cssClass":"pl-s1"},{"start":55,"end":56,"cssClass":"pl-c1"},{"start":57,"end":58,"cssClass":"pl-c1"}],[{"start":12,"end":17,"cssClass":"pl-s1"},{"start":18,"end":19,"cssClass":"pl-c1"},{"start":20,"end":23,"cssClass":"pl-c1"}],[{"start":12,"end":17,"cssClass":"pl-s1"},{"start":18,"end":20,"cssClass":"pl-c1"},{"start":21,"end":24,"cssClass":"pl-en"},{"start":25,"end":28,"cssClass":"pl-en"},{"start":29,"end":33,"cssClass":"pl-s1"},{"start":34,"end":37,"cssClass":"pl-k"},{"start":38,"end":42,"cssClass":"pl-s1"},{"start":43,"end":45,"cssClass":"pl-c1"},{"start":46,"end":49,"cssClass":"pl-s1"},{"start":50,"end":52,"cssClass":"pl-k"},{"start":53,"end":62,"cssClass":"pl-en"},{"start":63,"end":67,"cssClass":"pl-s1"},{"start":70,"end":73,"cssClass":"pl-k"},{"start":74,"end":77,"cssClass":"pl-s1"},{"start":78,"end":80,"cssClass":"pl-c1"},{"start":81,"end":90,"cssClass":"pl-s1"}],[{"start":12,"end":17,"cssClass":"pl-s1"},{"start":18,"end":20,"cssClass":"pl-c1"},{"start":21,"end":24,"cssClass":"pl-en"},{"start":25,"end":28,"cssClass":"pl-s1"},{"start":29,"end":32,"cssClass":"pl-k"},{"start":33,"end":36,"cssClass":"pl-s1"},{"start":37,"end":39,"cssClass":"pl-c1"},{"start":40,"end":46,"cssClass":"pl-s1"},{"start":47,"end":49,"cssClass":"pl-k"},{"start":50,"end":59,"cssClass":"pl-en"},{"start":60,"end":63,"cssClass":"pl-s1"}],[{"start":12,"end":17,"cssClass":"pl-s1"},{"start":18,"end":20,"cssClass":"pl-c1"},{"start":21,"end":27,"cssClass":"pl-s1"},{"start":28,"end":30,"cssClass":"pl-k"},{"start":31,"end":40,"cssClass":"pl-en"},{"start":41,"end":47,"cssClass":"pl-s1"},{"start":49,"end":53,"cssClass":"pl-k"},{"start":54,"end":55,"cssClass":"pl-c1"}],[{"start":12,"end":18,"cssClass":"pl-s1"},{"start":19,"end":25,"cssClass":"pl-en"},{"start":26,"end":31,"cssClass":"pl-s1"}],[],[{"start":8,"end":82,"cssClass":"pl-c"}],[{"start":8,"end":55,"cssClass":"pl-c"}],[{"start":8,"end":26,"cssClass":"pl-s1"},{"start":27,"end":28,"cssClass":"pl-c1"},{"start":29,"end":32,"cssClass":"pl-en"},{"start":33,"end":35,"cssClass":"pl-s1"},{"start":36,"end":40,"cssClass":"pl-en"},{"start":41,"end":43,"cssClass":"pl-s1"},{"start":44,"end":48,"cssClass":"pl-en"},{"start":49,"end":52,"cssClass":"pl-en"},{"start":53,"end":54,"cssClass":"pl-c1"},{"start":54,"end":60,"cssClass":"pl-s1"},{"start":61,"end":62,"cssClass":"pl-c1"},{"start":65,"end":66,"cssClass":"pl-c1"}],[{"start":8,"end":26,"cssClass":"pl-s1"},{"start":27,"end":28,"cssClass":"pl-c1"},{"start":29,"end":32,"cssClass":"pl-en"},{"start":33,"end":35,"cssClass":"pl-s1"},{"start":36,"end":40,"cssClass":"pl-en"},{"start":41,"end":43,"cssClass":"pl-s1"},{"start":44,"end":48,"cssClass":"pl-en"},{"start":49,"end":55,"cssClass":"pl-s1"},{"start":56,"end":57,"cssClass":"pl-c1"},{"start":59,"end":60,"cssClass":"pl-c1"},{"start":61,"end":62,"cssClass":"pl-c1"}],[{"start":8,"end":25,"cssClass":"pl-s1"},{"start":26,"end":27,"cssClass":"pl-c1"},{"start":28,"end":29,"cssClass":"pl-c1"},{"start":30,"end":31,"cssClass":"pl-c1"},{"start":32,"end":35,"cssClass":"pl-en"},{"start":36,"end":54,"cssClass":"pl-s1"},{"start":56,"end":74,"cssClass":"pl-s1"}],[],[{"start":8,"end":14,"cssClass":"pl-k"},{"start":15,"end":32,"cssClass":"pl-s1"}]],"colorizedLines":null,"csv":null,"csvError":null,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/Qiskit/qiskit/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"quadratic_form.py","displayUrl":"https://github.com/Qiskit/qiskit/blob/main/qiskit/circuit/library/arithmetic/quadratic_form.py?raw=true","headerInfo":{"blobSize":"7.89 KB","deleteTooltip":"You must be signed in to make or propose changes","editTooltip":"You must be signed in to make or propose changes","ghDesktopPath":"https://desktop.github.com","isGitLfs":false,"onBranch":true,"shortPath":"bd0bca1","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2FQiskit%2Fqiskit%2Fblob%2Fmain%2Fqiskit%2Fcircuit%2Flibrary%2Farithmetic%2Fquadratic_form.py","isCSV":false,"isRichtext":false,"toc":null,"lineInfo":{"truncatedLoc":"197","truncatedSloc":"155"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"issueTemplate":null,"discussionTemplate":null,"language":"Python","languageID":303,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/Qiskit/qiskit/blob/main/qiskit/circuit/library/arithmetic/quadratic_form.py","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/Qiskit/qiskit/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/Qiskit/qiskit/raw/main/qiskit/circuit/library/arithmetic/quadratic_form.py","renderImageOrRaw":false,"richText":null,"renderedFileInfo":null,"shortPath":null,"symbolsEnabled":true,"tabSize":4,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":null,"showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","actionsOnboardingTip":null},"truncated":false,"viewable":true,"workflowRedirectUrl":null,"symbols":{"timed_out":false,"not_analyzed":false,"symbols":[{"name":"QuadraticForm","kind":"class","ident_start":733,"ident_end":746,"extent_start":727,"extent_end":8079,"fully_qualified_name":"QuadraticForm","ident_utf16":{"start":{"line_number":22,"utf16_col":6},"end":{"line_number":22,"utf16_col":19}},"extent_utf16":{"start":{"line_number":22,"utf16_col":0},"end":{"line_number":196,"utf16_col":32}}},{"name":"__init__","kind":"function","ident_start":2401,"ident_end":2409,"extent_start":2397,"extent_end":6713,"fully_qualified_name":"QuadraticForm.__init__","ident_utf16":{"start":{"line_number":60,"utf16_col":8},"end":{"line_number":60,"utf16_col":16}},"extent_utf16":{"start":{"line_number":60,"utf16_col":4},"end":{"line_number":162,"utf16_col":73}}},{"name":"required_result_qubits","kind":"function","ident_start":6741,"ident_end":6763,"extent_start":6737,"extent_end":8079,"fully_qualified_name":"QuadraticForm.required_result_qubits","ident_utf16":{"start":{"line_number":165,"utf16_col":8},"end":{"line_number":165,"utf16_col":30}},"extent_utf16":{"start":{"line_number":165,"utf16_col":4},"end":{"line_number":196,"utf16_col":32}}}]}},"copilotInfo":null,"copilotAccessAllowed":false,"csrf_tokens":{"/Qiskit/qiskit/branches":{"post":"7sVlFgLHnEUdw3YQc6xJadJsnvaip5TZLnzBOKTvu-k_rY-FxjJUnkleyIzfgcGzUzBUvHEN1tDpNT7p2j3bhA"},"/repos/preferences":{"post":"ptVFLfGRlgGf81hguag3HNVWkacou2NUFUgUczmOp1S__A9S685wVoA9SLqD04ZslNLGvRT2eIL76kpS9JiLAg"}}},"title":"qiskit/qiskit/circuit/library/arithmetic/quadratic_form.py at main ยท Qiskit/qiskit"}