{"payload":{"allShortcutsEnabled":false,"fileTree":{"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":14.936747,"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:1710848862.0","canEdit":false,"refType":"branch","currentOid":"c26e25cddb3bae79a9d0547c25339d3307769e67"},"path":"qiskit/circuit/equivalence.py","currentUser":null,"blob":{"rawLines":["# This code is part of Qiskit.","#","# (C) Copyright IBM 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.","","\"\"\"Gate equivalence library.\"\"\"","","import copy","from collections import namedtuple","","from rustworkx.visualization import graphviz_draw","import rustworkx as rx","","from qiskit.exceptions import InvalidFileError","from .exceptions import CircuitError","from .parameter import Parameter","from .parameterexpression import ParameterExpression","","Key = namedtuple(\"Key\", [\"name\", \"num_qubits\"])","Equivalence = namedtuple(\"Equivalence\", [\"params\", \"circuit\"]) # Ordered to match Gate.params","NodeData = namedtuple(\"NodeData\", [\"key\", \"equivs\"])","EdgeData = namedtuple(\"EdgeData\", [\"index\", \"num_gates\", \"rule\", \"source\"])","","","class EquivalenceLibrary:"," \"\"\"A library providing a one-way mapping of Gates to their equivalent"," implementations as QuantumCircuits.\"\"\"",""," def __init__(self, *, base=None):"," \"\"\"Create a new equivalence library.",""," Args:"," base (Optional[EquivalenceLibrary]): Base equivalence library to"," be referenced if an entry is not found in this library."," \"\"\""," self._base = base",""," if base is None:"," self._graph = rx.PyDiGraph()"," self._key_to_node_index = {}"," # Some unique identifier for rules."," self._rule_id = 0"," else:"," self._graph = base._graph.copy()"," self._key_to_node_index = copy.deepcopy(base._key_to_node_index)"," self._rule_id = base._rule_id",""," @property"," def graph(self) -> rx.PyDiGraph:"," \"\"\"Return graph representing the equivalence library data.",""," This property should be treated as read-only as it provides"," a reference to the internal state of the :class:`~.EquivalenceLibrary` object."," If the graph returned by this property is mutated it could corrupt the"," the contents of the object. If you need to modify the output ``PyDiGraph``"," be sure to make a copy prior to any modification.",""," Returns:"," PyDiGraph: A graph object with equivalence data in each node."," \"\"\""," return self._graph",""," def _set_default_node(self, key):"," \"\"\"Create a new node if key not found\"\"\""," if key not in self._key_to_node_index:"," self._key_to_node_index[key] = self._graph.add_node(NodeData(key=key, equivs=[]))"," return self._key_to_node_index[key]",""," def add_equivalence(self, gate, equivalent_circuit):"," \"\"\"Add a new equivalence to the library. Future queries for the Gate"," will include the given circuit, in addition to all existing equivalences"," (including those from base).",""," Parameterized Gates (those including `qiskit.circuit.Parameters` in their"," `Gate.params`) can be marked equivalent to parameterized circuits,"," provided the parameters match.",""," Args:"," gate (Gate): A Gate instance."," equivalent_circuit (QuantumCircuit): A circuit equivalently"," implementing the given Gate."," \"\"\"",""," _raise_if_shape_mismatch(gate, equivalent_circuit)"," _raise_if_param_mismatch(gate.params, equivalent_circuit.parameters)",""," key = Key(name=gate.name, num_qubits=gate.num_qubits)"," equiv = Equivalence(params=gate.params.copy(), circuit=equivalent_circuit.copy())",""," target = self._set_default_node(key)"," self._graph[target].equivs.append(equiv)",""," sources = {"," Key(name=instruction.operation.name, num_qubits=len(instruction.qubits))"," for instruction in equivalent_circuit"," }"," edges = ["," ("," self._set_default_node(source),"," target,"," EdgeData(index=self._rule_id, num_gates=len(sources), rule=equiv, source=source),"," )"," for source in sources"," ]"," self._graph.add_edges_from(edges)"," self._rule_id += 1",""," def has_entry(self, gate):"," \"\"\"Check if a library contains any decompositions for gate.",""," Args:"," gate (Gate): A Gate instance.",""," Returns:"," Bool: True if gate has a known decomposition in the library."," False otherwise."," \"\"\""," key = Key(name=gate.name, num_qubits=gate.num_qubits)",""," return key in self._key_to_node_index",""," def set_entry(self, gate, entry):"," \"\"\"Set the equivalence record for a Gate. Future queries for the Gate"," will return only the circuits provided.",""," Parameterized Gates (those including `qiskit.circuit.Parameters` in their"," `Gate.params`) can be marked equivalent to parameterized circuits,"," provided the parameters match.",""," Args:"," gate (Gate): A Gate instance."," entry (List['QuantumCircuit']) : A list of QuantumCircuits, each"," equivalently implementing the given Gate."," \"\"\""," for equiv in entry:"," _raise_if_shape_mismatch(gate, equiv)"," _raise_if_param_mismatch(gate.params, equiv.parameters)",""," node_index = self._set_default_node(Key(name=gate.name, num_qubits=gate.num_qubits))"," # Remove previous equivalences of this node, leaving in place any later equivalences that"," # were added that use `gate`."," self._graph[node_index].equivs.clear()"," for parent, child, _ in self._graph.in_edges(node_index):"," # `child` should always be ourselves, but there might be parallel edges."," self._graph.remove_edge(parent, child)"," for equivalence in entry:"," self.add_equivalence(gate, equivalence)",""," def get_entry(self, gate):"," \"\"\"Gets the set of QuantumCircuits circuits from the library which"," equivalently implement the given Gate.",""," Parameterized circuits will have their parameters replaced with the"," corresponding entries from Gate.params.",""," Args:"," gate (Gate) - Gate: A Gate instance.",""," Returns:"," List[QuantumCircuit]: A list of equivalent QuantumCircuits. If empty,"," library contains no known decompositions of Gate.",""," Returned circuits will be ordered according to their insertion in"," the library, from earliest to latest, from top to base. The"," ordering of the StandardEquivalenceLibrary will not generally be"," consistent across Qiskit versions."," \"\"\""," key = Key(name=gate.name, num_qubits=gate.num_qubits)"," query_params = gate.params",""," return [_rebind_equiv(equiv, query_params) for equiv in self._get_equivalences(key)]",""," def keys(self):"," \"\"\"Return list of keys to key to node index map.",""," Returns:"," List: Keys to the key to node index map."," \"\"\""," return self._key_to_node_index.keys()",""," def node_index(self, key):"," \"\"\"Return node index for a given key.",""," Args:"," key (Key): Key to an equivalence.",""," Returns:"," Int: Index to the node in the graph for the given key."," \"\"\""," return self._key_to_node_index[key]",""," def draw(self, filename=None):"," \"\"\"Draws the equivalence relations available in the library.",""," Args:"," filename (str): An optional path to write the output image to"," if specified this method will return None.",""," Returns:"," PIL.Image or IPython.display.SVG: Drawn equivalence library as an"," IPython SVG if in a jupyter notebook, or as a PIL.Image otherwise.",""," Raises:"," InvalidFileError: if filename is not valid."," \"\"\""," image_type = None"," if filename:"," if \".\" not in filename:"," raise InvalidFileError(\"Parameter 'filename' must be in format 'name.extension'\")"," image_type = filename.split(\".\")[-1]"," return graphviz_draw("," self._build_basis_graph(),"," lambda node: {\"label\": node[\"label\"]},"," lambda edge: edge,"," filename=filename,"," image_type=image_type,"," )",""," def _build_basis_graph(self):"," graph = rx.PyDiGraph()",""," node_map = {}"," for key in self._key_to_node_index:"," name, num_qubits = key"," equivalences = self._get_equivalences(key)",""," basis = frozenset([f\"{name}/{num_qubits}\"])"," for params, decomp in equivalences:"," decomp_basis = frozenset("," f\"{name}/{num_qubits}\""," for name, num_qubits in {"," (instruction.operation.name, instruction.operation.num_qubits)"," for instruction in decomp.data"," }"," )"," if basis not in node_map:"," basis_node = graph.add_node({\"basis\": basis, \"label\": str(set(basis))})"," node_map[basis] = basis_node"," if decomp_basis not in node_map:"," decomp_basis_node = graph.add_node("," {\"basis\": decomp_basis, \"label\": str(set(decomp_basis))}"," )"," node_map[decomp_basis] = decomp_basis_node",""," label = \"{}\\n{}\".format(str(params), str(decomp) if num_qubits <= 5 else \"...\")"," graph.add_edge("," node_map[basis],"," node_map[decomp_basis],"," {\"label\": label, \"fontname\": \"Courier\", \"fontsize\": str(8)},"," )",""," return graph",""," def _get_equivalences(self, key):"," \"\"\"Get all the equivalences for the given key\"\"\""," return ("," self._graph[self._key_to_node_index[key]].equivs"," if key in self._key_to_node_index"," else []"," )","","","def _raise_if_param_mismatch(gate_params, circuit_parameters):"," gate_parameters = [p for p in gate_params if isinstance(p, ParameterExpression)]",""," if set(gate_parameters) != circuit_parameters:"," raise CircuitError("," \"Cannot add equivalence between circuit and gate \""," \"of different parameters. Gate params: {}. \""," \"Circuit params: {}.\".format(gate_parameters, circuit_parameters)"," )","","","def _raise_if_shape_mismatch(gate, circuit):"," if gate.num_qubits != circuit.num_qubits or gate.num_clbits != circuit.num_clbits:"," raise CircuitError("," \"Cannot add equivalence between circuit and gate \""," \"of different shapes. Gate: {} qubits and {} clbits. \""," \"Circuit: {} qubits and {} clbits.\".format("," gate.num_qubits, gate.num_clbits, circuit.num_qubits, circuit.num_clbits"," )"," )","","","def _rebind_equiv(equiv, query_params):"," equiv_params, equiv_circuit = equiv"," param_map = {x: y for x, y in zip(equiv_params, query_params) if isinstance(x, Parameter)}"," equiv = equiv_circuit.assign_parameters(param_map, inplace=False, flat_input=True)",""," return equiv"],"stylingDirectives":[[{"start":0,"end":30,"cssClass":"pl-c"}],[{"start":0,"end":1,"cssClass":"pl-c"}],[{"start":0,"end":25,"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":31,"cssClass":"pl-s"}],[],[{"start":0,"end":6,"cssClass":"pl-k"},{"start":7,"end":11,"cssClass":"pl-s1"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":16,"cssClass":"pl-s1"},{"start":17,"end":23,"cssClass":"pl-k"},{"start":24,"end":34,"cssClass":"pl-s1"}],[],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":14,"cssClass":"pl-s1"},{"start":15,"end":28,"cssClass":"pl-s1"},{"start":29,"end":35,"cssClass":"pl-k"},{"start":36,"end":49,"cssClass":"pl-s1"}],[{"start":0,"end":6,"cssClass":"pl-k"},{"start":7,"end":16,"cssClass":"pl-s1"},{"start":17,"end":19,"cssClass":"pl-k"},{"start":20,"end":22,"cssClass":"pl-s1"}],[],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":11,"cssClass":"pl-s1"},{"start":12,"end":22,"cssClass":"pl-s1"},{"start":23,"end":29,"cssClass":"pl-k"},{"start":30,"end":46,"cssClass":"pl-v"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":6,"end":16,"cssClass":"pl-s1"},{"start":17,"end":23,"cssClass":"pl-k"},{"start":24,"end":36,"cssClass":"pl-v"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":6,"end":15,"cssClass":"pl-s1"},{"start":16,"end":22,"cssClass":"pl-k"},{"start":23,"end":32,"cssClass":"pl-v"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":6,"end":25,"cssClass":"pl-s1"},{"start":26,"end":32,"cssClass":"pl-k"},{"start":33,"end":52,"cssClass":"pl-v"}],[],[{"start":0,"end":3,"cssClass":"pl-v"},{"start":4,"end":5,"cssClass":"pl-c1"},{"start":6,"end":16,"cssClass":"pl-en"},{"start":17,"end":22,"cssClass":"pl-s"},{"start":25,"end":31,"cssClass":"pl-s"},{"start":33,"end":45,"cssClass":"pl-s"}],[{"start":0,"end":11,"cssClass":"pl-v"},{"start":12,"end":13,"cssClass":"pl-c1"},{"start":14,"end":24,"cssClass":"pl-en"},{"start":25,"end":38,"cssClass":"pl-s"},{"start":41,"end":49,"cssClass":"pl-s"},{"start":51,"end":60,"cssClass":"pl-s"},{"start":64,"end":94,"cssClass":"pl-c"}],[{"start":0,"end":8,"cssClass":"pl-v"},{"start":9,"end":10,"cssClass":"pl-c1"},{"start":11,"end":21,"cssClass":"pl-en"},{"start":22,"end":32,"cssClass":"pl-s"},{"start":35,"end":40,"cssClass":"pl-s"},{"start":42,"end":50,"cssClass":"pl-s"}],[{"start":0,"end":8,"cssClass":"pl-v"},{"start":9,"end":10,"cssClass":"pl-c1"},{"start":11,"end":21,"cssClass":"pl-en"},{"start":22,"end":32,"cssClass":"pl-s"},{"start":35,"end":42,"cssClass":"pl-s"},{"start":44,"end":55,"cssClass":"pl-s"},{"start":57,"end":63,"cssClass":"pl-s"},{"start":65,"end":73,"cssClass":"pl-s"}],[],[],[{"start":0,"end":5,"cssClass":"pl-k"},{"start":6,"end":24,"cssClass":"pl-v"}],[{"start":4,"end":73,"cssClass":"pl-s"}],[{"start":0,"end":42,"cssClass":"pl-s"}],[],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":16,"cssClass":"pl-en"},{"start":17,"end":21,"cssClass":"pl-s1"},{"start":23,"end":24,"cssClass":"pl-c1"},{"start":26,"end":30,"cssClass":"pl-s1"},{"start":30,"end":31,"cssClass":"pl-c1"},{"start":31,"end":35,"cssClass":"pl-c1"}],[{"start":8,"end":44,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":13,"cssClass":"pl-s"}],[{"start":0,"end":77,"cssClass":"pl-s"}],[{"start":0,"end":71,"cssClass":"pl-s"}],[{"start":0,"end":11,"cssClass":"pl-s"}],[{"start":8,"end":12,"cssClass":"pl-s1"},{"start":13,"end":18,"cssClass":"pl-s1"},{"start":19,"end":20,"cssClass":"pl-c1"},{"start":21,"end":25,"cssClass":"pl-s1"}],[],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":15,"cssClass":"pl-s1"},{"start":16,"end":18,"cssClass":"pl-c1"},{"start":19,"end":23,"cssClass":"pl-c1"}],[{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":23,"cssClass":"pl-s1"},{"start":24,"end":25,"cssClass":"pl-c1"},{"start":26,"end":28,"cssClass":"pl-s1"},{"start":29,"end":38,"cssClass":"pl-v"}],[{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":35,"cssClass":"pl-s1"},{"start":36,"end":37,"cssClass":"pl-c1"}],[{"start":12,"end":47,"cssClass":"pl-c"}],[{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":25,"cssClass":"pl-s1"},{"start":26,"end":27,"cssClass":"pl-c1"},{"start":28,"end":29,"cssClass":"pl-c1"}],[{"start":8,"end":12,"cssClass":"pl-k"}],[{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":23,"cssClass":"pl-s1"},{"start":24,"end":25,"cssClass":"pl-c1"},{"start":26,"end":30,"cssClass":"pl-s1"},{"start":31,"end":37,"cssClass":"pl-s1"},{"start":38,"end":42,"cssClass":"pl-en"}],[{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":35,"cssClass":"pl-s1"},{"start":36,"end":37,"cssClass":"pl-c1"},{"start":38,"end":42,"cssClass":"pl-s1"},{"start":43,"end":51,"cssClass":"pl-en"},{"start":52,"end":56,"cssClass":"pl-s1"},{"start":57,"end":75,"cssClass":"pl-s1"}],[{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":25,"cssClass":"pl-s1"},{"start":26,"end":27,"cssClass":"pl-c1"},{"start":28,"end":32,"cssClass":"pl-s1"},{"start":33,"end":41,"cssClass":"pl-s1"}],[],[{"start":4,"end":13,"cssClass":"pl-en"},{"start":5,"end":13,"cssClass":"pl-s1"}],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":13,"cssClass":"pl-en"},{"start":14,"end":18,"cssClass":"pl-s1"},{"start":20,"end":22,"cssClass":"pl-c1"},{"start":23,"end":25,"cssClass":"pl-s1"},{"start":26,"end":35,"cssClass":"pl-v"}],[{"start":8,"end":66,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":67,"cssClass":"pl-s"}],[{"start":0,"end":86,"cssClass":"pl-s"}],[{"start":0,"end":78,"cssClass":"pl-s"}],[{"start":0,"end":82,"cssClass":"pl-s"}],[{"start":0,"end":57,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":16,"cssClass":"pl-s"}],[{"start":0,"end":73,"cssClass":"pl-s"}],[{"start":0,"end":11,"cssClass":"pl-s"}],[{"start":8,"end":14,"cssClass":"pl-k"},{"start":15,"end":19,"cssClass":"pl-s1"},{"start":20,"end":26,"cssClass":"pl-s1"}],[],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":25,"cssClass":"pl-en"},{"start":26,"end":30,"cssClass":"pl-s1"},{"start":32,"end":35,"cssClass":"pl-s1"}],[{"start":8,"end":48,"cssClass":"pl-s"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":14,"cssClass":"pl-s1"},{"start":15,"end":18,"cssClass":"pl-c1"},{"start":19,"end":21,"cssClass":"pl-c1"},{"start":22,"end":26,"cssClass":"pl-s1"},{"start":27,"end":45,"cssClass":"pl-s1"}],[{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":35,"cssClass":"pl-s1"},{"start":36,"end":39,"cssClass":"pl-s1"},{"start":41,"end":42,"cssClass":"pl-c1"},{"start":43,"end":47,"cssClass":"pl-s1"},{"start":48,"end":54,"cssClass":"pl-s1"},{"start":55,"end":63,"cssClass":"pl-en"},{"start":64,"end":72,"cssClass":"pl-v"},{"start":73,"end":76,"cssClass":"pl-s1"},{"start":76,"end":77,"cssClass":"pl-c1"},{"start":77,"end":80,"cssClass":"pl-s1"},{"start":82,"end":88,"cssClass":"pl-s1"},{"start":88,"end":89,"cssClass":"pl-c1"}],[{"start":8,"end":14,"cssClass":"pl-k"},{"start":15,"end":19,"cssClass":"pl-s1"},{"start":20,"end":38,"cssClass":"pl-s1"},{"start":39,"end":42,"cssClass":"pl-s1"}],[],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":23,"cssClass":"pl-en"},{"start":24,"end":28,"cssClass":"pl-s1"},{"start":30,"end":34,"cssClass":"pl-s1"},{"start":36,"end":54,"cssClass":"pl-s1"}],[{"start":8,"end":76,"cssClass":"pl-s"}],[{"start":0,"end":80,"cssClass":"pl-s"}],[{"start":0,"end":36,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":81,"cssClass":"pl-s"}],[{"start":0,"end":74,"cssClass":"pl-s"}],[{"start":0,"end":38,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":13,"cssClass":"pl-s"}],[{"start":0,"end":41,"cssClass":"pl-s"}],[{"start":0,"end":71,"cssClass":"pl-s"}],[{"start":0,"end":44,"cssClass":"pl-s"}],[{"start":0,"end":11,"cssClass":"pl-s"}],[],[{"start":8,"end":32,"cssClass":"pl-en"},{"start":33,"end":37,"cssClass":"pl-s1"},{"start":39,"end":57,"cssClass":"pl-s1"}],[{"start":8,"end":32,"cssClass":"pl-en"},{"start":33,"end":37,"cssClass":"pl-s1"},{"start":38,"end":44,"cssClass":"pl-s1"},{"start":46,"end":64,"cssClass":"pl-s1"},{"start":65,"end":75,"cssClass":"pl-s1"}],[],[{"start":8,"end":11,"cssClass":"pl-s1"},{"start":12,"end":13,"cssClass":"pl-c1"},{"start":14,"end":17,"cssClass":"pl-v"},{"start":18,"end":22,"cssClass":"pl-s1"},{"start":22,"end":23,"cssClass":"pl-c1"},{"start":23,"end":27,"cssClass":"pl-s1"},{"start":28,"end":32,"cssClass":"pl-s1"},{"start":34,"end":44,"cssClass":"pl-s1"},{"start":44,"end":45,"cssClass":"pl-c1"},{"start":45,"end":49,"cssClass":"pl-s1"},{"start":50,"end":60,"cssClass":"pl-s1"}],[{"start":8,"end":13,"cssClass":"pl-s1"},{"start":14,"end":15,"cssClass":"pl-c1"},{"start":16,"end":27,"cssClass":"pl-v"},{"start":28,"end":34,"cssClass":"pl-s1"},{"start":34,"end":35,"cssClass":"pl-c1"},{"start":35,"end":39,"cssClass":"pl-s1"},{"start":40,"end":46,"cssClass":"pl-s1"},{"start":47,"end":51,"cssClass":"pl-en"},{"start":55,"end":62,"cssClass":"pl-s1"},{"start":62,"end":63,"cssClass":"pl-c1"},{"start":63,"end":81,"cssClass":"pl-s1"},{"start":82,"end":86,"cssClass":"pl-en"}],[],[{"start":8,"end":14,"cssClass":"pl-s1"},{"start":15,"end":16,"cssClass":"pl-c1"},{"start":17,"end":21,"cssClass":"pl-s1"},{"start":22,"end":39,"cssClass":"pl-en"},{"start":40,"end":43,"cssClass":"pl-s1"}],[{"start":8,"end":12,"cssClass":"pl-s1"},{"start":13,"end":19,"cssClass":"pl-s1"},{"start":20,"end":26,"cssClass":"pl-s1"},{"start":28,"end":34,"cssClass":"pl-s1"},{"start":35,"end":41,"cssClass":"pl-en"},{"start":42,"end":47,"cssClass":"pl-s1"}],[],[{"start":8,"end":15,"cssClass":"pl-s1"},{"start":16,"end":17,"cssClass":"pl-c1"}],[{"start":12,"end":15,"cssClass":"pl-v"},{"start":16,"end":20,"cssClass":"pl-s1"},{"start":20,"end":21,"cssClass":"pl-c1"},{"start":21,"end":32,"cssClass":"pl-s1"},{"start":33,"end":42,"cssClass":"pl-s1"},{"start":43,"end":47,"cssClass":"pl-s1"},{"start":49,"end":59,"cssClass":"pl-s1"},{"start":59,"end":60,"cssClass":"pl-c1"},{"start":60,"end":63,"cssClass":"pl-en"},{"start":64,"end":75,"cssClass":"pl-s1"},{"start":76,"end":82,"cssClass":"pl-s1"}],[{"start":12,"end":15,"cssClass":"pl-k"},{"start":16,"end":27,"cssClass":"pl-s1"},{"start":28,"end":30,"cssClass":"pl-c1"},{"start":31,"end":49,"cssClass":"pl-s1"}],[],[{"start":8,"end":13,"cssClass":"pl-s1"},{"start":14,"end":15,"cssClass":"pl-c1"}],[],[{"start":16,"end":20,"cssClass":"pl-s1"},{"start":21,"end":38,"cssClass":"pl-en"},{"start":39,"end":45,"cssClass":"pl-s1"}],[{"start":16,"end":22,"cssClass":"pl-s1"}],[{"start":16,"end":24,"cssClass":"pl-v"},{"start":25,"end":30,"cssClass":"pl-s1"},{"start":30,"end":31,"cssClass":"pl-c1"},{"start":31,"end":35,"cssClass":"pl-s1"},{"start":36,"end":44,"cssClass":"pl-s1"},{"start":46,"end":55,"cssClass":"pl-s1"},{"start":55,"end":56,"cssClass":"pl-c1"},{"start":56,"end":59,"cssClass":"pl-en"},{"start":60,"end":67,"cssClass":"pl-s1"},{"start":70,"end":74,"cssClass":"pl-s1"},{"start":74,"end":75,"cssClass":"pl-c1"},{"start":75,"end":80,"cssClass":"pl-s1"},{"start":82,"end":88,"cssClass":"pl-s1"},{"start":88,"end":89,"cssClass":"pl-c1"},{"start":89,"end":95,"cssClass":"pl-s1"}],[],[{"start":12,"end":15,"cssClass":"pl-k"},{"start":16,"end":22,"cssClass":"pl-s1"},{"start":23,"end":25,"cssClass":"pl-c1"},{"start":26,"end":33,"cssClass":"pl-s1"}],[],[{"start":8,"end":12,"cssClass":"pl-s1"},{"start":13,"end":19,"cssClass":"pl-s1"},{"start":20,"end":34,"cssClass":"pl-en"},{"start":35,"end":40,"cssClass":"pl-s1"}],[{"start":8,"end":12,"cssClass":"pl-s1"},{"start":13,"end":21,"cssClass":"pl-s1"},{"start":22,"end":24,"cssClass":"pl-c1"},{"start":25,"end":26,"cssClass":"pl-c1"}],[],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":17,"cssClass":"pl-en"},{"start":18,"end":22,"cssClass":"pl-s1"},{"start":24,"end":28,"cssClass":"pl-s1"}],[{"start":8,"end":67,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":13,"cssClass":"pl-s"}],[{"start":0,"end":41,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":16,"cssClass":"pl-s"}],[{"start":0,"end":72,"cssClass":"pl-s"}],[{"start":0,"end":32,"cssClass":"pl-s"}],[{"start":0,"end":11,"cssClass":"pl-s"}],[{"start":8,"end":11,"cssClass":"pl-s1"},{"start":12,"end":13,"cssClass":"pl-c1"},{"start":14,"end":17,"cssClass":"pl-v"},{"start":18,"end":22,"cssClass":"pl-s1"},{"start":22,"end":23,"cssClass":"pl-c1"},{"start":23,"end":27,"cssClass":"pl-s1"},{"start":28,"end":32,"cssClass":"pl-s1"},{"start":34,"end":44,"cssClass":"pl-s1"},{"start":44,"end":45,"cssClass":"pl-c1"},{"start":45,"end":49,"cssClass":"pl-s1"},{"start":50,"end":60,"cssClass":"pl-s1"}],[],[{"start":8,"end":14,"cssClass":"pl-k"},{"start":15,"end":18,"cssClass":"pl-s1"},{"start":19,"end":21,"cssClass":"pl-c1"},{"start":22,"end":26,"cssClass":"pl-s1"},{"start":27,"end":45,"cssClass":"pl-s1"}],[],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":17,"cssClass":"pl-en"},{"start":18,"end":22,"cssClass":"pl-s1"},{"start":24,"end":28,"cssClass":"pl-s1"},{"start":30,"end":35,"cssClass":"pl-s1"}],[{"start":8,"end":77,"cssClass":"pl-s"}],[{"start":0,"end":47,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":81,"cssClass":"pl-s"}],[{"start":0,"end":74,"cssClass":"pl-s"}],[{"start":0,"end":38,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":13,"cssClass":"pl-s"}],[{"start":0,"end":41,"cssClass":"pl-s"}],[{"start":0,"end":76,"cssClass":"pl-s"}],[{"start":0,"end":57,"cssClass":"pl-s"}],[{"start":0,"end":11,"cssClass":"pl-s"}],[{"start":8,"end":11,"cssClass":"pl-k"},{"start":12,"end":17,"cssClass":"pl-s1"},{"start":18,"end":20,"cssClass":"pl-c1"},{"start":21,"end":26,"cssClass":"pl-s1"}],[{"start":12,"end":36,"cssClass":"pl-en"},{"start":37,"end":41,"cssClass":"pl-s1"},{"start":43,"end":48,"cssClass":"pl-s1"}],[{"start":12,"end":36,"cssClass":"pl-en"},{"start":37,"end":41,"cssClass":"pl-s1"},{"start":42,"end":48,"cssClass":"pl-s1"},{"start":50,"end":55,"cssClass":"pl-s1"},{"start":56,"end":66,"cssClass":"pl-s1"}],[],[{"start":8,"end":18,"cssClass":"pl-s1"},{"start":19,"end":20,"cssClass":"pl-c1"},{"start":21,"end":25,"cssClass":"pl-s1"},{"start":26,"end":43,"cssClass":"pl-en"},{"start":44,"end":47,"cssClass":"pl-v"},{"start":48,"end":52,"cssClass":"pl-s1"},{"start":52,"end":53,"cssClass":"pl-c1"},{"start":53,"end":57,"cssClass":"pl-s1"},{"start":58,"end":62,"cssClass":"pl-s1"},{"start":64,"end":74,"cssClass":"pl-s1"},{"start":74,"end":75,"cssClass":"pl-c1"},{"start":75,"end":79,"cssClass":"pl-s1"},{"start":80,"end":90,"cssClass":"pl-s1"}],[{"start":8,"end":97,"cssClass":"pl-c"}],[{"start":8,"end":37,"cssClass":"pl-c"}],[{"start":8,"end":12,"cssClass":"pl-s1"},{"start":13,"end":19,"cssClass":"pl-s1"},{"start":20,"end":30,"cssClass":"pl-s1"},{"start":32,"end":38,"cssClass":"pl-s1"},{"start":39,"end":44,"cssClass":"pl-en"}],[{"start":8,"end":11,"cssClass":"pl-k"},{"start":12,"end":18,"cssClass":"pl-s1"},{"start":20,"end":25,"cssClass":"pl-s1"},{"start":27,"end":28,"cssClass":"pl-s1"},{"start":29,"end":31,"cssClass":"pl-c1"},{"start":32,"end":36,"cssClass":"pl-s1"},{"start":37,"end":43,"cssClass":"pl-s1"},{"start":44,"end":52,"cssClass":"pl-en"},{"start":53,"end":63,"cssClass":"pl-s1"}],[{"start":12,"end":84,"cssClass":"pl-c"}],[{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":23,"cssClass":"pl-s1"},{"start":24,"end":35,"cssClass":"pl-en"},{"start":36,"end":42,"cssClass":"pl-s1"},{"start":44,"end":49,"cssClass":"pl-s1"}],[{"start":8,"end":11,"cssClass":"pl-k"},{"start":12,"end":23,"cssClass":"pl-s1"},{"start":24,"end":26,"cssClass":"pl-c1"},{"start":27,"end":32,"cssClass":"pl-s1"}],[{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":32,"cssClass":"pl-en"},{"start":33,"end":37,"cssClass":"pl-s1"},{"start":39,"end":50,"cssClass":"pl-s1"}],[],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":17,"cssClass":"pl-en"},{"start":18,"end":22,"cssClass":"pl-s1"},{"start":24,"end":28,"cssClass":"pl-s1"}],[{"start":8,"end":74,"cssClass":"pl-s"}],[{"start":0,"end":46,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":75,"cssClass":"pl-s"}],[{"start":0,"end":47,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":13,"cssClass":"pl-s"}],[{"start":0,"end":48,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":16,"cssClass":"pl-s"}],[{"start":0,"end":81,"cssClass":"pl-s"}],[{"start":0,"end":65,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":81,"cssClass":"pl-s"}],[{"start":0,"end":75,"cssClass":"pl-s"}],[{"start":0,"end":80,"cssClass":"pl-s"}],[{"start":0,"end":50,"cssClass":"pl-s"}],[{"start":0,"end":11,"cssClass":"pl-s"}],[{"start":8,"end":11,"cssClass":"pl-s1"},{"start":12,"end":13,"cssClass":"pl-c1"},{"start":14,"end":17,"cssClass":"pl-v"},{"start":18,"end":22,"cssClass":"pl-s1"},{"start":22,"end":23,"cssClass":"pl-c1"},{"start":23,"end":27,"cssClass":"pl-s1"},{"start":28,"end":32,"cssClass":"pl-s1"},{"start":34,"end":44,"cssClass":"pl-s1"},{"start":44,"end":45,"cssClass":"pl-c1"},{"start":45,"end":49,"cssClass":"pl-s1"},{"start":50,"end":60,"cssClass":"pl-s1"}],[{"start":8,"end":20,"cssClass":"pl-s1"},{"start":21,"end":22,"cssClass":"pl-c1"},{"start":23,"end":27,"cssClass":"pl-s1"},{"start":28,"end":34,"cssClass":"pl-s1"}],[],[{"start":8,"end":14,"cssClass":"pl-k"},{"start":16,"end":29,"cssClass":"pl-en"},{"start":30,"end":35,"cssClass":"pl-s1"},{"start":37,"end":49,"cssClass":"pl-s1"},{"start":51,"end":54,"cssClass":"pl-k"},{"start":55,"end":60,"cssClass":"pl-s1"},{"start":61,"end":63,"cssClass":"pl-c1"},{"start":64,"end":68,"cssClass":"pl-s1"},{"start":69,"end":86,"cssClass":"pl-en"},{"start":87,"end":90,"cssClass":"pl-s1"}],[],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":12,"cssClass":"pl-en"},{"start":13,"end":17,"cssClass":"pl-s1"}],[{"start":8,"end":56,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":16,"cssClass":"pl-s"}],[{"start":0,"end":52,"cssClass":"pl-s"}],[{"start":0,"end":11,"cssClass":"pl-s"}],[{"start":8,"end":14,"cssClass":"pl-k"},{"start":15,"end":19,"cssClass":"pl-s1"},{"start":20,"end":38,"cssClass":"pl-s1"},{"start":39,"end":43,"cssClass":"pl-en"}],[],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":18,"cssClass":"pl-en"},{"start":19,"end":23,"cssClass":"pl-s1"},{"start":25,"end":28,"cssClass":"pl-s1"}],[{"start":8,"end":45,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":13,"cssClass":"pl-s"}],[{"start":0,"end":45,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":16,"cssClass":"pl-s"}],[{"start":0,"end":66,"cssClass":"pl-s"}],[{"start":0,"end":11,"cssClass":"pl-s"}],[{"start":8,"end":14,"cssClass":"pl-k"},{"start":15,"end":19,"cssClass":"pl-s1"},{"start":20,"end":38,"cssClass":"pl-s1"},{"start":39,"end":42,"cssClass":"pl-s1"}],[],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":12,"cssClass":"pl-en"},{"start":13,"end":17,"cssClass":"pl-s1"},{"start":19,"end":27,"cssClass":"pl-s1"},{"start":27,"end":28,"cssClass":"pl-c1"},{"start":28,"end":32,"cssClass":"pl-c1"}],[{"start":8,"end":68,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":13,"cssClass":"pl-s"}],[{"start":0,"end":73,"cssClass":"pl-s"}],[{"start":0,"end":58,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":16,"cssClass":"pl-s"}],[{"start":0,"end":77,"cssClass":"pl-s"}],[{"start":0,"end":82,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":15,"cssClass":"pl-s"}],[{"start":0,"end":55,"cssClass":"pl-s"}],[{"start":0,"end":11,"cssClass":"pl-s"}],[{"start":8,"end":18,"cssClass":"pl-s1"},{"start":19,"end":20,"cssClass":"pl-c1"},{"start":21,"end":25,"cssClass":"pl-c1"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":19,"cssClass":"pl-s1"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":15,"end":18,"cssClass":"pl-s"},{"start":19,"end":22,"cssClass":"pl-c1"},{"start":23,"end":25,"cssClass":"pl-c1"},{"start":26,"end":34,"cssClass":"pl-s1"}],[{"start":16,"end":21,"cssClass":"pl-k"},{"start":22,"end":38,"cssClass":"pl-v"},{"start":39,"end":96,"cssClass":"pl-s"}],[{"start":12,"end":22,"cssClass":"pl-s1"},{"start":23,"end":24,"cssClass":"pl-c1"},{"start":25,"end":33,"cssClass":"pl-s1"},{"start":34,"end":39,"cssClass":"pl-en"},{"start":40,"end":43,"cssClass":"pl-s"},{"start":45,"end":46,"cssClass":"pl-c1"},{"start":46,"end":47,"cssClass":"pl-c1"}],[{"start":8,"end":14,"cssClass":"pl-k"},{"start":15,"end":28,"cssClass":"pl-en"}],[{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":35,"cssClass":"pl-en"}],[{"start":12,"end":18,"cssClass":"pl-k"},{"start":19,"end":23,"cssClass":"pl-s1"},{"start":26,"end":33,"cssClass":"pl-s"},{"start":35,"end":39,"cssClass":"pl-s1"},{"start":40,"end":47,"cssClass":"pl-s"}],[{"start":12,"end":18,"cssClass":"pl-k"},{"start":19,"end":23,"cssClass":"pl-s1"},{"start":25,"end":29,"cssClass":"pl-s1"}],[{"start":12,"end":20,"cssClass":"pl-s1"},{"start":20,"end":21,"cssClass":"pl-c1"},{"start":21,"end":29,"cssClass":"pl-s1"}],[{"start":12,"end":22,"cssClass":"pl-s1"},{"start":22,"end":23,"cssClass":"pl-c1"},{"start":23,"end":33,"cssClass":"pl-s1"}],[],[],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":26,"cssClass":"pl-en"},{"start":27,"end":31,"cssClass":"pl-s1"}],[{"start":8,"end":13,"cssClass":"pl-s1"},{"start":14,"end":15,"cssClass":"pl-c1"},{"start":16,"end":18,"cssClass":"pl-s1"},{"start":19,"end":28,"cssClass":"pl-v"}],[],[{"start":8,"end":16,"cssClass":"pl-s1"},{"start":17,"end":18,"cssClass":"pl-c1"}],[{"start":8,"end":11,"cssClass":"pl-k"},{"start":12,"end":15,"cssClass":"pl-s1"},{"start":16,"end":18,"cssClass":"pl-c1"},{"start":19,"end":23,"cssClass":"pl-s1"},{"start":24,"end":42,"cssClass":"pl-s1"}],[{"start":12,"end":16,"cssClass":"pl-s1"},{"start":18,"end":28,"cssClass":"pl-s1"},{"start":29,"end":30,"cssClass":"pl-c1"},{"start":31,"end":34,"cssClass":"pl-s1"}],[{"start":12,"end":24,"cssClass":"pl-s1"},{"start":25,"end":26,"cssClass":"pl-c1"},{"start":27,"end":31,"cssClass":"pl-s1"},{"start":32,"end":49,"cssClass":"pl-en"},{"start":50,"end":53,"cssClass":"pl-s1"}],[],[{"start":12,"end":17,"cssClass":"pl-s1"},{"start":18,"end":19,"cssClass":"pl-c1"},{"start":20,"end":29,"cssClass":"pl-en"},{"start":31,"end":53,"cssClass":"pl-s"},{"start":33,"end":39,"cssClass":"pl-s1"},{"start":33,"end":34,"cssClass":"pl-kos"},{"start":34,"end":38,"cssClass":"pl-s1"},{"start":38,"end":39,"cssClass":"pl-kos"},{"start":40,"end":52,"cssClass":"pl-s1"},{"start":40,"end":41,"cssClass":"pl-kos"},{"start":41,"end":51,"cssClass":"pl-s1"},{"start":51,"end":52,"cssClass":"pl-kos"}],[{"start":12,"end":15,"cssClass":"pl-k"},{"start":16,"end":22,"cssClass":"pl-s1"},{"start":24,"end":30,"cssClass":"pl-s1"},{"start":31,"end":33,"cssClass":"pl-c1"},{"start":34,"end":46,"cssClass":"pl-s1"}],[{"start":16,"end":28,"cssClass":"pl-s1"},{"start":29,"end":30,"cssClass":"pl-c1"},{"start":31,"end":40,"cssClass":"pl-en"}],[{"start":20,"end":42,"cssClass":"pl-s"},{"start":22,"end":28,"cssClass":"pl-s1"},{"start":22,"end":23,"cssClass":"pl-kos"},{"start":23,"end":27,"cssClass":"pl-s1"},{"start":27,"end":28,"cssClass":"pl-kos"},{"start":29,"end":41,"cssClass":"pl-s1"},{"start":29,"end":30,"cssClass":"pl-kos"},{"start":30,"end":40,"cssClass":"pl-s1"},{"start":40,"end":41,"cssClass":"pl-kos"}],[{"start":20,"end":23,"cssClass":"pl-k"},{"start":24,"end":28,"cssClass":"pl-s1"},{"start":30,"end":40,"cssClass":"pl-s1"},{"start":41,"end":43,"cssClass":"pl-c1"}],[{"start":25,"end":36,"cssClass":"pl-s1"},{"start":37,"end":46,"cssClass":"pl-s1"},{"start":47,"end":51,"cssClass":"pl-s1"},{"start":53,"end":64,"cssClass":"pl-s1"},{"start":65,"end":74,"cssClass":"pl-s1"},{"start":75,"end":85,"cssClass":"pl-s1"}],[{"start":24,"end":27,"cssClass":"pl-k"},{"start":28,"end":39,"cssClass":"pl-s1"},{"start":40,"end":42,"cssClass":"pl-c1"},{"start":43,"end":49,"cssClass":"pl-s1"},{"start":50,"end":54,"cssClass":"pl-s1"}],[],[],[{"start":16,"end":18,"cssClass":"pl-k"},{"start":19,"end":24,"cssClass":"pl-s1"},{"start":25,"end":28,"cssClass":"pl-c1"},{"start":29,"end":31,"cssClass":"pl-c1"},{"start":32,"end":40,"cssClass":"pl-s1"}],[{"start":20,"end":30,"cssClass":"pl-s1"},{"start":31,"end":32,"cssClass":"pl-c1"},{"start":33,"end":38,"cssClass":"pl-s1"},{"start":39,"end":47,"cssClass":"pl-en"},{"start":49,"end":56,"cssClass":"pl-s"},{"start":58,"end":63,"cssClass":"pl-s1"},{"start":65,"end":72,"cssClass":"pl-s"},{"start":74,"end":77,"cssClass":"pl-en"},{"start":78,"end":81,"cssClass":"pl-en"},{"start":82,"end":87,"cssClass":"pl-s1"}],[{"start":20,"end":28,"cssClass":"pl-s1"},{"start":29,"end":34,"cssClass":"pl-s1"},{"start":36,"end":37,"cssClass":"pl-c1"},{"start":38,"end":48,"cssClass":"pl-s1"}],[{"start":16,"end":18,"cssClass":"pl-k"},{"start":19,"end":31,"cssClass":"pl-s1"},{"start":32,"end":35,"cssClass":"pl-c1"},{"start":36,"end":38,"cssClass":"pl-c1"},{"start":39,"end":47,"cssClass":"pl-s1"}],[{"start":20,"end":37,"cssClass":"pl-s1"},{"start":38,"end":39,"cssClass":"pl-c1"},{"start":40,"end":45,"cssClass":"pl-s1"},{"start":46,"end":54,"cssClass":"pl-en"}],[{"start":25,"end":32,"cssClass":"pl-s"},{"start":34,"end":46,"cssClass":"pl-s1"},{"start":48,"end":55,"cssClass":"pl-s"},{"start":57,"end":60,"cssClass":"pl-en"},{"start":61,"end":64,"cssClass":"pl-en"},{"start":65,"end":77,"cssClass":"pl-s1"}],[],[{"start":20,"end":28,"cssClass":"pl-s1"},{"start":29,"end":41,"cssClass":"pl-s1"},{"start":43,"end":44,"cssClass":"pl-c1"},{"start":45,"end":62,"cssClass":"pl-s1"}],[],[{"start":16,"end":21,"cssClass":"pl-s1"},{"start":22,"end":23,"cssClass":"pl-c1"},{"start":24,"end":32,"cssClass":"pl-s"},{"start":27,"end":29,"cssClass":"pl-cce"},{"start":33,"end":39,"cssClass":"pl-en"},{"start":40,"end":43,"cssClass":"pl-en"},{"start":44,"end":50,"cssClass":"pl-s1"},{"start":53,"end":56,"cssClass":"pl-en"},{"start":57,"end":63,"cssClass":"pl-s1"},{"start":65,"end":67,"cssClass":"pl-k"},{"start":68,"end":78,"cssClass":"pl-s1"},{"start":79,"end":81,"cssClass":"pl-c1"},{"start":82,"end":83,"cssClass":"pl-c1"},{"start":84,"end":88,"cssClass":"pl-k"},{"start":89,"end":94,"cssClass":"pl-s"}],[{"start":16,"end":21,"cssClass":"pl-s1"},{"start":22,"end":30,"cssClass":"pl-en"}],[{"start":20,"end":28,"cssClass":"pl-s1"},{"start":29,"end":34,"cssClass":"pl-s1"}],[{"start":20,"end":28,"cssClass":"pl-s1"},{"start":29,"end":41,"cssClass":"pl-s1"}],[{"start":21,"end":28,"cssClass":"pl-s"},{"start":30,"end":35,"cssClass":"pl-s1"},{"start":37,"end":47,"cssClass":"pl-s"},{"start":49,"end":58,"cssClass":"pl-s"},{"start":60,"end":70,"cssClass":"pl-s"},{"start":72,"end":75,"cssClass":"pl-en"},{"start":76,"end":77,"cssClass":"pl-c1"}],[],[],[{"start":8,"end":14,"cssClass":"pl-k"},{"start":15,"end":20,"cssClass":"pl-s1"}],[],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":25,"cssClass":"pl-en"},{"start":26,"end":30,"cssClass":"pl-s1"},{"start":32,"end":35,"cssClass":"pl-s1"}],[{"start":8,"end":56,"cssClass":"pl-s"}],[{"start":8,"end":14,"cssClass":"pl-k"}],[{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":23,"cssClass":"pl-s1"},{"start":24,"end":28,"cssClass":"pl-s1"},{"start":29,"end":47,"cssClass":"pl-s1"},{"start":48,"end":51,"cssClass":"pl-s1"},{"start":54,"end":60,"cssClass":"pl-s1"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":15,"end":18,"cssClass":"pl-s1"},{"start":19,"end":21,"cssClass":"pl-c1"},{"start":22,"end":26,"cssClass":"pl-s1"},{"start":27,"end":45,"cssClass":"pl-s1"}],[{"start":12,"end":16,"cssClass":"pl-k"}],[],[],[],[{"start":0,"end":3,"cssClass":"pl-k"},{"start":4,"end":28,"cssClass":"pl-en"},{"start":29,"end":40,"cssClass":"pl-s1"},{"start":42,"end":60,"cssClass":"pl-s1"}],[{"start":4,"end":19,"cssClass":"pl-s1"},{"start":20,"end":21,"cssClass":"pl-c1"},{"start":23,"end":24,"cssClass":"pl-s1"},{"start":25,"end":28,"cssClass":"pl-k"},{"start":29,"end":30,"cssClass":"pl-s1"},{"start":31,"end":33,"cssClass":"pl-c1"},{"start":34,"end":45,"cssClass":"pl-s1"},{"start":46,"end":48,"cssClass":"pl-k"},{"start":49,"end":59,"cssClass":"pl-en"},{"start":60,"end":61,"cssClass":"pl-s1"},{"start":63,"end":82,"cssClass":"pl-v"}],[],[{"start":4,"end":6,"cssClass":"pl-k"},{"start":7,"end":10,"cssClass":"pl-en"},{"start":11,"end":26,"cssClass":"pl-s1"},{"start":28,"end":30,"cssClass":"pl-c1"},{"start":31,"end":49,"cssClass":"pl-s1"}],[{"start":8,"end":13,"cssClass":"pl-k"},{"start":14,"end":26,"cssClass":"pl-v"}],[{"start":12,"end":62,"cssClass":"pl-s"}],[{"start":12,"end":56,"cssClass":"pl-s"}],[{"start":12,"end":33,"cssClass":"pl-s"},{"start":34,"end":40,"cssClass":"pl-en"},{"start":41,"end":56,"cssClass":"pl-s1"},{"start":58,"end":76,"cssClass":"pl-s1"}],[],[],[],[{"start":0,"end":3,"cssClass":"pl-k"},{"start":4,"end":28,"cssClass":"pl-en"},{"start":29,"end":33,"cssClass":"pl-s1"},{"start":35,"end":42,"cssClass":"pl-s1"}],[{"start":4,"end":6,"cssClass":"pl-k"},{"start":7,"end":11,"cssClass":"pl-s1"},{"start":12,"end":22,"cssClass":"pl-s1"},{"start":23,"end":25,"cssClass":"pl-c1"},{"start":26,"end":33,"cssClass":"pl-s1"},{"start":34,"end":44,"cssClass":"pl-s1"},{"start":45,"end":47,"cssClass":"pl-c1"},{"start":48,"end":52,"cssClass":"pl-s1"},{"start":53,"end":63,"cssClass":"pl-s1"},{"start":64,"end":66,"cssClass":"pl-c1"},{"start":67,"end":74,"cssClass":"pl-s1"},{"start":75,"end":85,"cssClass":"pl-s1"}],[{"start":8,"end":13,"cssClass":"pl-k"},{"start":14,"end":26,"cssClass":"pl-v"}],[{"start":12,"end":62,"cssClass":"pl-s"}],[{"start":12,"end":66,"cssClass":"pl-s"}],[{"start":12,"end":47,"cssClass":"pl-s"},{"start":48,"end":54,"cssClass":"pl-en"}],[{"start":16,"end":20,"cssClass":"pl-s1"},{"start":21,"end":31,"cssClass":"pl-s1"},{"start":33,"end":37,"cssClass":"pl-s1"},{"start":38,"end":48,"cssClass":"pl-s1"},{"start":50,"end":57,"cssClass":"pl-s1"},{"start":58,"end":68,"cssClass":"pl-s1"},{"start":70,"end":77,"cssClass":"pl-s1"},{"start":78,"end":88,"cssClass":"pl-s1"}],[],[],[],[],[{"start":0,"end":3,"cssClass":"pl-k"},{"start":4,"end":17,"cssClass":"pl-en"},{"start":18,"end":23,"cssClass":"pl-s1"},{"start":25,"end":37,"cssClass":"pl-s1"}],[{"start":4,"end":16,"cssClass":"pl-s1"},{"start":18,"end":31,"cssClass":"pl-s1"},{"start":32,"end":33,"cssClass":"pl-c1"},{"start":34,"end":39,"cssClass":"pl-s1"}],[{"start":4,"end":13,"cssClass":"pl-s1"},{"start":14,"end":15,"cssClass":"pl-c1"},{"start":17,"end":18,"cssClass":"pl-s1"},{"start":20,"end":21,"cssClass":"pl-s1"},{"start":22,"end":25,"cssClass":"pl-k"},{"start":26,"end":27,"cssClass":"pl-s1"},{"start":29,"end":30,"cssClass":"pl-s1"},{"start":31,"end":33,"cssClass":"pl-c1"},{"start":34,"end":37,"cssClass":"pl-en"},{"start":38,"end":50,"cssClass":"pl-s1"},{"start":52,"end":64,"cssClass":"pl-s1"},{"start":66,"end":68,"cssClass":"pl-k"},{"start":69,"end":79,"cssClass":"pl-en"},{"start":80,"end":81,"cssClass":"pl-s1"},{"start":83,"end":92,"cssClass":"pl-v"}],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":11,"cssClass":"pl-c1"},{"start":12,"end":25,"cssClass":"pl-s1"},{"start":26,"end":43,"cssClass":"pl-en"},{"start":44,"end":53,"cssClass":"pl-s1"},{"start":55,"end":62,"cssClass":"pl-s1"},{"start":62,"end":63,"cssClass":"pl-c1"},{"start":63,"end":68,"cssClass":"pl-c1"},{"start":70,"end":80,"cssClass":"pl-s1"},{"start":80,"end":81,"cssClass":"pl-c1"},{"start":81,"end":85,"cssClass":"pl-c1"}],[],[{"start":4,"end":10,"cssClass":"pl-k"},{"start":11,"end":16,"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":"equivalence.py","displayUrl":"https://github.com/Qiskit/qiskit/blob/main/qiskit/circuit/equivalence.py?raw=true","headerInfo":{"blobSize":"11 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":"45921c3","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2FQiskit%2Fqiskit%2Fblob%2Fmain%2Fqiskit%2Fcircuit%2Fequivalence.py","isCSV":false,"isRichtext":false,"toc":null,"lineInfo":{"truncatedLoc":"297","truncatedSloc":"239"},"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/equivalence.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/equivalence.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":"Key","kind":"constant","ident_start":804,"ident_end":807,"extent_start":804,"extent_end":851,"fully_qualified_name":"Key","ident_utf16":{"start":{"line_number":25,"utf16_col":0},"end":{"line_number":25,"utf16_col":3}},"extent_utf16":{"start":{"line_number":25,"utf16_col":0},"end":{"line_number":25,"utf16_col":47}}},{"name":"Equivalence","kind":"constant","ident_start":852,"ident_end":863,"extent_start":852,"extent_end":914,"fully_qualified_name":"Equivalence","ident_utf16":{"start":{"line_number":26,"utf16_col":0},"end":{"line_number":26,"utf16_col":11}},"extent_utf16":{"start":{"line_number":26,"utf16_col":0},"end":{"line_number":26,"utf16_col":62}}},{"name":"NodeData","kind":"constant","ident_start":947,"ident_end":955,"extent_start":947,"extent_end":999,"fully_qualified_name":"NodeData","ident_utf16":{"start":{"line_number":27,"utf16_col":0},"end":{"line_number":27,"utf16_col":8}},"extent_utf16":{"start":{"line_number":27,"utf16_col":0},"end":{"line_number":27,"utf16_col":52}}},{"name":"EdgeData","kind":"constant","ident_start":1000,"ident_end":1008,"extent_start":1000,"extent_end":1075,"fully_qualified_name":"EdgeData","ident_utf16":{"start":{"line_number":28,"utf16_col":0},"end":{"line_number":28,"utf16_col":8}},"extent_utf16":{"start":{"line_number":28,"utf16_col":0},"end":{"line_number":28,"utf16_col":75}}},{"name":"EquivalenceLibrary","kind":"class","ident_start":1084,"ident_end":1102,"extent_start":1078,"extent_end":10105,"fully_qualified_name":"EquivalenceLibrary","ident_utf16":{"start":{"line_number":31,"utf16_col":6},"end":{"line_number":31,"utf16_col":24}},"extent_utf16":{"start":{"line_number":31,"utf16_col":0},"end":{"line_number":266,"utf16_col":9}}},{"name":"__init__","kind":"function","ident_start":1230,"ident_end":1238,"extent_start":1226,"extent_end":1871,"fully_qualified_name":"EquivalenceLibrary.__init__","ident_utf16":{"start":{"line_number":35,"utf16_col":8},"end":{"line_number":35,"utf16_col":16}},"extent_utf16":{"start":{"line_number":35,"utf16_col":4},"end":{"line_number":52,"utf16_col":41}}},{"name":"graph","kind":"function","ident_start":1895,"ident_end":1900,"extent_start":1891,"extent_end":2497,"fully_qualified_name":"EquivalenceLibrary.graph","ident_utf16":{"start":{"line_number":55,"utf16_col":8},"end":{"line_number":55,"utf16_col":13}},"extent_utf16":{"start":{"line_number":55,"utf16_col":4},"end":{"line_number":67,"utf16_col":26}}},{"name":"_set_default_node","kind":"function","ident_start":2507,"ident_end":2524,"extent_start":2503,"extent_end":2770,"fully_qualified_name":"EquivalenceLibrary._set_default_node","ident_utf16":{"start":{"line_number":69,"utf16_col":8},"end":{"line_number":69,"utf16_col":25}},"extent_utf16":{"start":{"line_number":69,"utf16_col":4},"end":{"line_number":73,"utf16_col":43}}},{"name":"add_equivalence","kind":"function","ident_start":2780,"ident_end":2795,"extent_start":2776,"extent_end":4286,"fully_qualified_name":"EquivalenceLibrary.add_equivalence","ident_utf16":{"start":{"line_number":75,"utf16_col":8},"end":{"line_number":75,"utf16_col":23}},"extent_utf16":{"start":{"line_number":75,"utf16_col":4},"end":{"line_number":112,"utf16_col":26}}},{"name":"has_entry","kind":"function","ident_start":4296,"ident_end":4305,"extent_start":4292,"extent_end":4688,"fully_qualified_name":"EquivalenceLibrary.has_entry","ident_utf16":{"start":{"line_number":114,"utf16_col":8},"end":{"line_number":114,"utf16_col":17}},"extent_utf16":{"start":{"line_number":114,"utf16_col":4},"end":{"line_number":126,"utf16_col":45}}},{"name":"set_entry","kind":"function","ident_start":4698,"ident_end":4707,"extent_start":4694,"extent_end":5965,"fully_qualified_name":"EquivalenceLibrary.set_entry","ident_utf16":{"start":{"line_number":128,"utf16_col":8},"end":{"line_number":128,"utf16_col":17}},"extent_utf16":{"start":{"line_number":128,"utf16_col":4},"end":{"line_number":153,"utf16_col":51}}},{"name":"get_entry","kind":"function","ident_start":5975,"ident_end":5984,"extent_start":5971,"extent_end":6968,"fully_qualified_name":"EquivalenceLibrary.get_entry","ident_utf16":{"start":{"line_number":155,"utf16_col":8},"end":{"line_number":155,"utf16_col":17}},"extent_utf16":{"start":{"line_number":155,"utf16_col":4},"end":{"line_number":177,"utf16_col":92}}},{"name":"keys","kind":"function","ident_start":6978,"ident_end":6982,"extent_start":6974,"extent_end":7175,"fully_qualified_name":"EquivalenceLibrary.keys","ident_utf16":{"start":{"line_number":179,"utf16_col":8},"end":{"line_number":179,"utf16_col":12}},"extent_utf16":{"start":{"line_number":179,"utf16_col":4},"end":{"line_number":185,"utf16_col":45}}},{"name":"node_index","kind":"function","ident_start":7185,"ident_end":7195,"extent_start":7181,"extent_end":7455,"fully_qualified_name":"EquivalenceLibrary.node_index","ident_utf16":{"start":{"line_number":187,"utf16_col":8},"end":{"line_number":187,"utf16_col":18}},"extent_utf16":{"start":{"line_number":187,"utf16_col":4},"end":{"line_number":196,"utf16_col":43}}},{"name":"draw","kind":"function","ident_start":7465,"ident_end":7469,"extent_start":7461,"extent_end":8429,"fully_qualified_name":"EquivalenceLibrary.draw","ident_utf16":{"start":{"line_number":198,"utf16_col":8},"end":{"line_number":198,"utf16_col":12}},"extent_utf16":{"start":{"line_number":198,"utf16_col":4},"end":{"line_number":223,"utf16_col":9}}},{"name":"_build_basis_graph","kind":"function","ident_start":8439,"ident_end":8457,"extent_start":8435,"extent_end":9855,"fully_qualified_name":"EquivalenceLibrary._build_basis_graph","ident_utf16":{"start":{"line_number":225,"utf16_col":8},"end":{"line_number":225,"utf16_col":26}},"extent_utf16":{"start":{"line_number":225,"utf16_col":4},"end":{"line_number":258,"utf16_col":20}}},{"name":"_get_equivalences","kind":"function","ident_start":9865,"ident_end":9882,"extent_start":9861,"extent_end":10105,"fully_qualified_name":"EquivalenceLibrary._get_equivalences","ident_utf16":{"start":{"line_number":260,"utf16_col":8},"end":{"line_number":260,"utf16_col":25}},"extent_utf16":{"start":{"line_number":260,"utf16_col":4},"end":{"line_number":266,"utf16_col":9}}},{"name":"_raise_if_param_mismatch","kind":"function","ident_start":10112,"ident_end":10136,"extent_start":10108,"extent_end":10543,"fully_qualified_name":"_raise_if_param_mismatch","ident_utf16":{"start":{"line_number":269,"utf16_col":4},"end":{"line_number":269,"utf16_col":28}},"extent_utf16":{"start":{"line_number":269,"utf16_col":0},"end":{"line_number":277,"utf16_col":9}}},{"name":"_raise_if_shape_mismatch","kind":"function","ident_start":10550,"ident_end":10574,"extent_start":10546,"extent_end":11004,"fully_qualified_name":"_raise_if_shape_mismatch","ident_utf16":{"start":{"line_number":280,"utf16_col":4},"end":{"line_number":280,"utf16_col":28}},"extent_utf16":{"start":{"line_number":280,"utf16_col":0},"end":{"line_number":288,"utf16_col":9}}},{"name":"_rebind_equiv","kind":"function","ident_start":11011,"ident_end":11024,"extent_start":11007,"extent_end":11286,"fully_qualified_name":"_rebind_equiv","ident_utf16":{"start":{"line_number":291,"utf16_col":4},"end":{"line_number":291,"utf16_col":17}},"extent_utf16":{"start":{"line_number":291,"utf16_col":0},"end":{"line_number":296,"utf16_col":16}}}]}},"copilotInfo":null,"copilotAccessAllowed":false,"csrf_tokens":{"/Qiskit/qiskit/branches":{"post":"3XIkIHQIvkp-_WHJvLxkYJxItW_KeEM7h3FnunsW9xxVUj0EyYCdi9iXyE2yt3eQ3otA5fantDhWaJXDZXl-TA"},"/repos/preferences":{"post":"iArlPwRrVbvhk8oeLxLJkiqYw1A0xl6I9T-sP-eO7gDx0ogyhfIFZRyDHOObV_0dmUnbkNIOIr3Ba8y05RoapQ"}}},"title":"qiskit/qiskit/circuit/equivalence.py at main ยท Qiskit/qiskit"}