def METHOD_NAME(s, test_cases):
    """
        s: the parsed structure
        test_cases: all available test cases
    """
    rids = {}
    for i in s:
        # only SecRule counts
        if i['type'] == "SecRule":
            for a in i['actions']:
                # find the `id` action
                if a['act_name'] == "id":
                    # get the argument of the action
                    rid = int(a['act_arg']) # int
                    srid = a['act_arg']     # string
                    if (rid%1000) >= 100:   # skip the PL control rules
                        # also skip these hardcoded rules
                        need_check = True
                        for excl in EXCLUSION_LIST:
                            if srid[:len(excl)] == excl:
                                need_check = False
                        if need_check:
                            # if there is no test cases, just print it
                            if rid not in test_cases:
                                rids[rid] = a['lineno']
    return rids