@property
def stabs_destabs(self):
    if self._stabs_destabs:
        return self._stabs_destabs
    gate_params = self.gate_params
    syn_ext = self.qecc.instruction('instr_syn_extract', **gate_params)
    for (name, rows) in syn_ext.stabs_destabs.items():
        self._stabs_destabs[name] = []
        for row in rows:
            self._stabs_destabs[name].append(set(row))
    self._stabs_destabs['stabs_z'].append(set(self.qecc.sides['top']))
    self._stabs_destabs['stabs_x'].append(set([]))
    self._stabs_destabs['destabs_x'].append(set(self.qecc.sides['left']))
    self._stabs_destabs['destabs_z'].append(set([]))
    return self._stabs_destabs
@property
def stabs_destabs(self):
    if self._stabs_destabs:
        return self._stabs_destabs
    gate_params = self.gate_params
    syn_ext = self.qecc.instruction('instr_syn_extract', **gate_params)
    for (name, rows) in syn_ext.stabs_destabs.items():
        self._stabs_destabs[name] = []
        for row in rows:
            self._stabs_destabs[name].append(set(row))
    self._stabs_destabs['stabs_z'].append(set(self.qecc.sides['top']))
    self._stabs_destabs['stabs_x'].append(set([]))
    self._stabs_destabs['destabs_x'].append(set(self.qecc.sides['left']))
    self._stabs_destabs['destabs_z'].append(set([]))
    return self._stabs_destabs