def METHOD_NAME(self):
    n = len(self.lines)
    # print("[+] lines : ", n)
    i = 0
    self.circuits = []
    # load circuits
    while i < n:
        l = self.lines[i]
        i = i + 1
        if len(l) == 0:
            continue
        if l[0] != '.':
            continue
        # process a new subcircuit
        l = l.replace(" ", "")
        # print("[+] new circuit : ",l);
        cn = l[1:]  # circuit name
        # cr = ""     # circuit
        cr = []     # circuit
        # p = [cn,""]
        p = [cn, []]
        l = self.lines[i]
        end = False
        ng = 0  # number of gates
        while (i < n) and (end == False):
            l = self.lines[i]
            if l == []:
                i = i+1
                continue
            if l == "":       # skip empty lines
                i = i+1
                continue
            if (l[0] == '.'):
                end = True
            else:
                if (len(l) > 1):
                    # cr = cr + l + "; "
                    cr.append(l)
                    ng = ng + 1
                i = i + 1
        p[1] = cr
        # print("[-] number of gates : ",ng)
        self.circuits.append(p)