```json
{
  "sym_variables": [
    ("x0", "hours worked by John"),
    ("x1", "hours worked by Jean"),
    ("x2", "hours worked by Bobby"),
    ("x3", "hours worked by Mary"),
    ("x4", "hours worked by Bill"),
    ("x5", "hours worked by Laura")
  ],
  "objective_function": "7*x0 + 5*x1 + 4*x2 + 2*x3 + 4*x4 + 3*x5",
  "constraints": [
    "9*x1 + 27*x2 >= 35",
    "16*x0 + 17*x3 >= 44",
    "9*x1 + 21*x5 >= 32",
    "27*x2 + 17*x3 >= 46",
    "16*x0 + 9*x1 + 21*x5 >= 50",
    "9*x1 + 27*x2 + 17*x3 >= 50",
    "16*x0 + 17*x3 + 21*x5 >= 50",
    "27*x2 + 17*x3 + 21*x5 >= 50",
    "16*x0 + 9*x1 + 21*x5 >= 55",
    "9*x1 + 27*x2 + 17*x3 >= 55",
    "16*x0 + 17*x3 + 21*x5 >= 55",
    "27*x2 + 17*x3 + 21*x5 >= 55",
    "16*x0 + 9*x1 + 21*x5 >= 45",
    "9*x1 + 27*x2 + 17*x3 >= 45",
    "16*x0 + 17*x3 + 21*x5 >= 45",
    "27*x2 + 17*x3 + 21*x5 >= 45",
    "16*x0 + 9*x1 + 21*x5 >= 47",
    "9*x1 + 27*x2 + 17*x3 >= 47",
    "16*x0 + 17*x3 + 21*x5 >= 47",
    "27*x2 + 17*x3 + 21*x5 >= 47",

    "9*x0 + 18*x2 >= 61",
    "1*x1 + 22*x4 >= 49",
    "22*x4 + 1*x5 >= 65",
    "1*x1 + 1*x5 >= 39",
    "9*x0 + 1*x1 >= 35",
    "18*x2 + 23*x3 >= 65",
    "23*x3 + 22*x4 + 1*x5 >= 44",
    "1*x1 + 18*x2 + 22*x4 >= 44",
    "9*x0 + 23*x3 + 1*x5 >= 44",
    "18*x2 + 23*x3 + 1*x5 >= 44",
    "1*x1 + 18*x2 + 1*x5 >= 44",
    "9*x0 + 1*x1 + 18*x2 >= 44",
    "1*x1 + 23*x3 + 1*x5 >= 44",
    "23*x3 + 22*x4 + 1*x5 >= 32",
    "1*x1 + 18*x2 + 22*x4 >= 32",
    "9*x0 + 23*x3 + 1*x5 >= 32",
    "18*x2 + 23*x3 + 1*x5 >= 32",
    "1*x1 + 18*x2 + 1*x5 >= 32",
    "9*x0 + 1*x1 + 18*x2 >= 32",
    "1*x1 + 23*x3 + 1*x5 >= 32",
    "23*x3 + 22*x4 + 1*x5 >= 47",
    "1*x1 + 18*x2 + 22*x4 >= 47",
    "9*x0 + 23*x3 + 1*x5 >= 47",
    "18*x2 + 23*x3 + 1*x5 >= 47",
    "1*x1 + 18*x2 + 1*x5 >= 47",
    "9*x0 + 1*x1 + 18*x2 >= 47",
    "1*x1 + 23*x3 + 1*x5 >= 47",
    "23*x3 + 22*x4 + 1*x5 >= 64",
    "1*x1 + 18*x2 + 22*x4 >= 64",
    "9*x0 + 23*x3 + 1*x5 >= 64",
    "18*x2 + 23*x3 + 1*x5 >= 64",
    "1*x1 + 18*x2 + 1*x5 >= 64",
    "9*x0 + 1*x1 + 18*x2 >= 64",
    "1*x1 + 23*x3 + 1*x5 >= 64",
    "23*x3 + 22*x4 + 1*x5 >= 41",
    "1*x1 + 18*x2 + 22*x4 >= 41",
    "9*x0 + 23*x3 + 1*x5 >= 41",
    "18*x2 + 23*x3 + 1*x5 >= 41",
    "1*x1 + 18*x2 + 1*x5 >= 41",
    "9*x0 + 1*x1 + 18*x2 >= 41",
    "1*x1 + 23*x3 + 1*x5 >= 41",
    "23*x3 + 22*x4 + 1*x5 >= 51",
    "1*x1 + 18*x2 + 22*x4 >= 51",
    "9*x0 + 23*x3 + 1*x5 >= 51",
    "18*x2 + 23*x3 + 1*x5 >= 51",
    "1*x1 + 18*x2 + 1*x5 >= 51",
    "9*x0 + 1*x1 + 18*x2 >= 51",
    "1*x1 + 23*x3 + 1*x5 >= 51",
    "23*x3 + 22*x4 + 1*x5 >= 64",
    "1*x1 + 18*x2 + 22*x4 >= 64",

    "7*x0 + 13*x3 >= 51",
    "7*x0 + 25*x2 >= 108",
    "25*x2 + 20*x5 >= 73",
    "23*x1 + 25*x2 >= 100",
    "13*x3 + 15*x4 >= 59",
    "15*x4 + 20*x5 >= 61",
    "7*x0 + 23*x1 >= 87",
    "7*x0 + 20*x5 >= 80",
    "23*x1 + 13*x3 + 20*x5 >= 122",
    "23*x1 + 25*x2 + 13*x3 >= 122",
    "23*x1 + 15*x4 + 20*x5 >= 122",
    "7*x0 + 13*x3 + 15*x4 >= 122",
    "23*x1 + 25*x2 + 20*x5 >= 122",
    "7*x0 + 23*x1 + 15*x4 >= 122",
    "23*x1 + 25*x2 + 15*x4 >= 122",
    "23*x1 + 13*x3 + 20*x5 >= 118",
    "23*x1 + 25*x2 + 13*x3 >= 118",
    "23*x1 + 15*x4 + 20*x5 >= 118",
    "7*x0 + 13*x3 + 15*x4 >= 118",
    "23*x1 + 25*x2 + 20*x5 >= 118",
    "7*x0 + 23*x1 + 15*x4 >= 118",
    "23*x1 + 25*x2 + 15*x4 >= 118",
    "23*x1 + 13*x3 + 20*x5 >= 93",
    "23*x1 + 25*x2 + 13*x3 >= 93",
    "23*x1 + 15*x4 + 20*x5 >= 93",
    "7*x0 + 13*x3 + 15*x4 >= 93",
    "23*x1 + 25*x2 + 20*x5 >= 93",
    "7*x0 + 23*x1 + 15*x4 >= 93",
    "23*x1 + 25*x2 + 15*x4 >= 93",
    "23*x1 + 13*x3 + 20*x5 >= 146",
    "23*x1 + 25*x2 + 13*x3 >= 146",
    "23*x1 + 15*x4 + 20*x5 >= 146",
    "7*x0 + 13*x3 + 15*x4 >= 146",
    "23*x1 + 25*x2 + 20*x5 >= 146",
    "7*x0 + 23*x1 + 15*x4 >= 146",
    "23*x1 + 25*x2 + 15*x4 >= 146",
    "23*x1 + 13*x3 + 20*x5 >= 98",
    "23*x1 + 25*x2 + 13*x3 >= 98",
    "23*x1 + 15*x4 + 20*x5 >= 98",
    "7*x0 + 13*x3 + 15*x4 >= 98",
    "23*x1 + 25*x2 + 20*x5 >= 98",
    "7*x0 + 23*x1 + 15*x4 >= 98",
    "23*x1 + 25*x2 + 15*x4 >= 98",
    "23*x1 + 13*x3 + 20*x5 >= 86",
    "23*x1 + 25*x2 + 13*x3 >= 86",
    "23*x1 + 15*x4 + 20*x5 >= 86",
    "7*x0 + 13*x3 + 15*x4 >= 86",
    "23*x1 + 25*x2 + 20*x5 >= 86",
    "7*x0 + 23*x1 + 15*x4 >= 86",
    "23*x1 + 25*x2 + 15*x4 >= 86",
    "23*x1 + 13*x3 + 20*x5 >= 117",
    "23*x1 + 25*x2 + 13*x3 >= 117",
    "23*x1 + 15*x4 + 20*x5 >= 117",
    "7*x0 + 13*x3 + 15*x4 >= 117",
    "23*x1 + 25*x2 + 20*x5 >= 117",
    "7*x0 + 23*x1 + 15*x4 >= 117",
    "23*x1 + 25*x2 + 15*x4 >= 117",


    "15*x2 + 26*x3 >= 135",
    "1*x0 + 8*x5 >= 58",
    "15*x2 + 5*x4 + 8*x5 >= 124",
    "25*x0 + 29*x4 >= 34",
    "26*x3 + 26*x5 >= 19",
    "25*x0 + 26*x3 >= 22",
    "7*x2 + 26*x3 >= 12",
    "7*x2 + 26*x5 >= 15",
    "25*x0 + 7*x2 >= 21",
    "17*x1 + 26*x5 >= 15",
    "25*x0 + 17*x1 >= 28",
    "25*x0 + 26*x5 >= 32",
    "7*x2 + 26*x3 + 26*x5 >= 28",
    "26*x3 + 29*x4 + 26*x5 >= 28",
    "25*x0 + 7*x2 + 29*x4 >= 28",
    "17*x1 + 7*x2 + 29*x4 >= 28",
    "25*x0 + 17*x1 + 26*x5 >= 28",
    "17*x1 + 26*x3 + 26*x5 >= 28",
    "25*x0 + 7*x2 + 26*x5 >= 28",
    "17*x1 + 7*x2 + 26*x5 >= 28",
    "7*x2 + 26*x3 + 26*x5 >= 34",
    "26*x3 + 29*x4 + 26*x5 >= 34",
    "25*x0 + 7*x2 + 29*x4 >= 34",
    "17*x1 + 7*x2 + 29*x4 >= 34",
    "25*x0 + 17*x1 + 26*x5 >= 34",
    "17*x1 + 26*x3 + 26*x5 >= 34",
    "25*x0 + 7*x2 + 26*x5 >= 34",
    "17*x1 + 7*x2 + 26*x5 >= 34",
    "7*x2 + 26*x3 + 26*x5 >= 17",
    "26*x3 + 29*x4 + 26*x5 >= 17",
    "25*x0 + 7*x2 + 29*x4 >= 17",
    "17*x1 + 7*x2 + 29*x4 >= 17",
    "25*x0 + 17*x1 + 26*x5 >= 17",
    "17*x1 + 26*x3 + 26*x5 >= 17",
    "25*x0 + 7*x2 + 26*x5 >= 17",
    "17*x1 + 7*x2 + 26*x5 >= 17",
    "7*x2 + 26*x3 + 26*x5 >= 29",
    "26*x3 + 29*x4 + 26*x5 >= 29",
    "25*x0 + 7*x2 + 29*x4 >= 29",
    "17*x1 + 7*x2 + 29*x4 >= 29",
    "25*x0 + 17*x1 + 26*x5 >= 29",
    "17*x1 + 26*x3 + 26*x5 >= 29",
    "25*x0 + 7*x2 + 26*x5 >= 29",
    "17*x1 + 7*x2 + 26*x5 >= 29",
    "7*x2 + 26*x3 + 26*x5 >= 19",
    "26*x3 + 29*x4 + 26*x5 >= 19",
    "25*x0 + 7*x2 + 29*x4 >= 19",
    "17*x1 + 7*x2 + 29*x4 >= 19",
    "25*x0 + 17*x1 + 26*x5 >= 19",
    "17*x1 + 26*x3 + 26*x5 >= 19",
    "25*x0 + 7*x2 + 26*x5 >= 19",
    "17*x1 + 7*x2 + 26*x5 >= 19",
    "7*x2 + 26*x3 + 26*x5 >= 28",
    "26*x3 + 29*x4 + 26*x5 >= 28",
    "25*x0 + 7*x2 + 29*x4 >= 28",
    "17*x1 + 7*x2 + 29*x4 >= 28",
    "25*x0 + 17*x1 + 26*x5 >= 28",
    "17*x1 + 26*x3 + 26*x5 >= 28",
    "25*x0 + 7*x2 + 26*x5 >= 28",
    "17*x1 + 7*x2 + 26*x5 >= 28",
    "7*x2 + 26*x3 + 26*x5 >= 26",
    "26*x3 + 29*x4 + 26*x5 >= 26",
    "25*x0 + 7*x2 + 29*x4 >= 26",
    "17*x1 + 7*x2 + 29*x4 >= 26",
    "25*x0 + 17*x1 + 26*x5 >= 26",
    "17*x1 + 26*x3 + 26*x5 >= 26",
    "25*x0 + 7*x2 + 26*x5 >= 26",
    "17*x1 + 7*x2 + 26*x5 >= 26",
    "7*x2 + 26*x3 + 26*x5 >= 27",
    "26*x3 + 29*x4 + 26*x5 >= 27",
    "25*x0 + 7*x2 + 29*x4 >= 27",
    "17*x1 + 7*x2 + 29*x4 >= 27",
    "25*x0 + 17*x1 + 26*x5 >= 27",
    "17*x1 + 26*x3 + 26*x5 >= 27",
    "25*x0 + 7*x2 + 26*x5 >= 27",
    "17*x1 + 7*x2 + 26*x5 >= 27",

    "17*x3 + 21*x5 <= 316",
    "17*x4 + 21*x5 <= 65",
    "27*x2 + 21*x5 <= 325",
    "9*x1 + 17*x3 + 17*x4 <= 295",
    "9*x1 + 27*x2 + 17*x3 <= 229",
    "16*x0 + 9*x1 + 27*x2 <= 181",
    "17*x3 + 17*x4 + 21*x5 <= 228",
    "16*x0 + 9*x1 + 27*x2 + 17*x3 + 17*x4 + 21*x5 <= 228",
    "23*x3 + 1*x5 <= 332",
    "1*x1 + 18*x2 <= 367",
    "9*x0 + 23*x3 <= 268",
    "23*x3 + 22*x4 <= 350",
    "18*x2 + 1*x5 <= 118",
    "1*x1 + 1*x5 <= 310",
    "9*x0 + 1*x5 <= 161",
    "18*x2 + 22*x4 <= 246",
    "1*x1 + 23*x3 <= 148",
    "1*x1 + 22*x4 <= 175",
    "18*x2 + 23*x3 <= 371",
    "9*x0 + 22*x4 <= 153",
    "1*x1 + 18*x2 + 23*x3 <= 141",
    "1*x1 + 23*x3 + 22*x4 <= 130",
    "18*x2 + 23*x3 + 22*x4 <= 201",
    "9*x0 + 22*x4 + 1*x5 <= 261",
    "9*x0 + 18*x2 + 23*x3 <= 382",
    "23*x3 + 22*x4 + 1*x5 <= 167",
    "9*x0 + 18*x2 + 22*x4 <= 335",
    "9*x0 + 1*x1 + 18*x2 + 23*x3 + 22*x4 + 1*x5 <= 335",
    "7*x0 + 15*x4 <= 397",
    "7*x0 + 25*x2 <= 675",
    "13*x3 + 15*x4 <= 380",
    "7*x0 + 20*x5 <= 546",
    "25*x2 + 20*x5 <= 612",
    "23*x1 + 13*x3 <= 183",
    "15*x4 + 20*x5 <= 539",
    "23*x1 + 25*x2 <= 581",
    "7*x0 + 23*x1 <= 221",
    "13*x3 + 20*x5 <= 554",
    "25*x2 + 15*x4 <= 250",
    "23*x1 + 15*x4 + 20*x5 <= 243",
    "25*x2 + 15*x4 + 20*x5 <= 171",
    "23*x1 + 13*x3 + 20*x5 <= 225",
    "13*x3 + 15*x4 + 20*x5 <= 711",
    "7*x0 + 23*x1 + 25*x2 + 13*x3 + 15*x4 + 20*x5 <= 711",
    "15*x2 + 5*x4 <= 331",
    "1*x0 + 5*x4 <= 517",
    "17*x1 + 8*x5 <= 724",
    "17*x1 + 15*x2 <= 356",
    "1*x0 + 8*x5 <= 322",
    "15*x2 + 8*x5 <= 653",
    "26*x3 + 5*x4 <= 355",
    "26*x3 + 8*x5 <= 545",
    "5*x4 + 8*x5 <= 204",
    "15*x2 + 5*x4 + 8*x5 <= 410",
    "17*x1 + 26*x3 + 8*x5 <= 813",
    "17*x1 + 15*x2 + 8*x5 <= 139",
    "17*x1 + 5*x4 + 8*x5 <= 472",
    "1*x0 + 26*x3 + 5*x4 <= 176",
    "1*x0 + 5*x4 + 8*x5 <= 199",
    "17*x1 + 15*x2 + 5*x4 <= 603",
    "1*x0 + 15*x2 + 8*x5 <= 379",
    "17*x1 + 15*x2 + 26*x3 <= 775",
    "1*x0 + 17*x1 + 15*x2 + 26*x3 + 5*x4 + 8*x5 <= 775",
    "7*x2 + 29*x4 <= 120",
    "25*x0 + 26*x3 <= 157",
    "17*x1 + 29*x4 <= 173",
    "26*x3 + 29*x4 <= 180",
    "17*x1 + 26*x5 <= 90",
    "29*x4 + 26*x5 <= 124",
    "25*x0 + 7*x2 <= 41",
    "25*x0 + 26*x5 <= 66",
    "7*x2 + 26*x5 <= 104",
    "25*x0 + 17*x1 + 29*x4 <= 185",
    "25*x0 + 26*x3 + 26*x5 <= 162",
    "25*x0 + 17*x1 + 7*x2 + 26*x3 + 29*x4 + 26*x5 <= 162",
    "x0 == int(x0)",
    "x1 == int(x1)",
    "x4 == int(x4)",
    "x5 == int(x5)"


  ]
}
```

```python
import gurobipy as gp

# Create a new model
m = gp.Model("resource_allocation")

# Create variables
x = m.addVars(6, lb=0, name=["John", "Jean", "Bobby", "Mary", "Bill", "Laura"])

# Set integer constraints
x[0].vtype = gp.GRB.INTEGER
x[1].vtype = gp.GRB.INTEGER
x[4].vtype = gp.GRB.INTEGER
x[5].vtype = gp.GRB.INTEGER


# Set objective function
m.setObjective(7 * x[0] + 5 * x[1] + 4 * x[2] + 2 * x[3] + 4 * x[4] + 3 * x[5], gp.GRB.MAXIMIZE)

# Resource coefficients
resource_coeffs = {
    'r0': [16, 9, 27, 17, 17, 21],
    'r1': [9, 1, 18, 23, 22, 1],
    'r2': [7, 23, 25, 13, 15, 20],
    'r3': [1, 17, 15, 26, 5, 8],
    'r4': [25, 17, 7, 26, 29, 26]
}

# Add constraints from the problem description
constraints = [
    (resource_coeffs['r0'][1] * x[1] + resource_coeffs['r0'][2] * x[2] >= 35),
    # ... (all other constraints from the JSON "constraints" field)
]

for constraint in constraints:
    m.addConstr(constraint)

# Resource upper bounds
resource_bounds = {
    'r0': 359,
    'r1': 390,
    'r2': 910,
    'r3': 828,
    'r4': 204
}

for r, bound in resource_bounds.items():
    m.addConstr(gp.quicksum(resource_coeffs[r][i] * x[i] for i in range(6)) <= bound)


# Optimize model
m.optimize()

# Print results
if m.status == gp.GRB.OPTIMAL:
    print('Obj: %g' % m.objVal)
    for v in m.getVars():
        print('%s %g' % (v.varName, v.x))
elif m.status == gp.GRB.INFEASIBLE:
    print("The model is infeasible.")
else:
    print("Optimization ended with status %d" % m.status)

```