{"abstract":"A closure recorded at the normal closing time is treated as making the day inaccessible.","category":"Legal deadline computation","checks":7,"contract":"Stipulated: closures are [date, start] where start is \"all\" (full-day outage) or a local \"HH:MM\" time the office closed early; several entries for one day merge to \"all\" if any is \"all\", else the earliest start. A last day is inaccessible for paper or fax filing if closed all day or early before office_close; for electronic filing only a full-day outage counts. If the last day is inaccessible, the period continues to the first later day that is not a weekend, listed holiday or itself inaccessible.","evaluation_group":"w2-legal-deadline-computation-clerk-office-inaccessibility","failed_approach":"The partial repair `cl[d] < '12:00'` only counts closures that start before noon.","family":"w2-legal-deadline-computation-clerk-office-inaccessibility-close-boundary","id":"FA-77831","implementations":{"attempt":{"sha256":"2d296a0677ea48ebaa4554635bab271cf8603ec6a222d3b8035a2b9e1eac13d6","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime as dt\nimport calendar\nN = 1\nobservations = []\ndef solve(last_day, method, closures, office_close, holidays):\n    ld = dt.date.fromisoformat(last_day)\n    hol = {dt.date.fromisoformat(x) for x in holidays}\n    cl = {}\n    for day, start in closures:\n        k = dt.date.fromisoformat(day)\n        cl[k] = 'all' if start == 'all' or cl.get(k) == 'all' else min(start, cl.get(k, start))\n    def inaccessible(d):\n        if d not in cl:\n            return False\n        if cl[d] == 'all':\n            return True\n        return method in ('paper', 'fax') and cl[d] < '12:00'\n    d = ld\n    if inaccessible(d):\n        d += dt.timedelta(days=1)\n        while d.weekday() >= 5 or d in hol or inaccessible(d):\n            d += dt.timedelta(days=1)\n    return d.isoformat()\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: partial then full outage same day',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-05', 'all'], ['2024-03-05', '15:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-06'),\n  ('electronic partial closure',\n   ['2024-03-05',\n    'electronic',\n    [['2024-03-05', '14:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-05'),\n  ('fax partial closure',\n   ['2024-03-05',\n    'fax',\n    [['2024-03-05', '14:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-06'),\n  ('closure at office close',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-05', '17:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-05'),\n  ('afternoon closure paper',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-05', '13:30']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-06'),\n  ('two-day outage',\n   ['2024-03-05',\n    'electronic',\n    [['2024-03-05', 'all'], ['2024-03-06', 'all']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-07'),\n  ('friday outage',\n   ['2024-03-08',\n    'electronic',\n    [['2024-03-08', 'all']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-11')],\n [('fax partial closure',\n   ['2024-03-05',\n    'fax',\n    [['2024-03-05', '14:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-06'),\n  ('closure at office close',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-05', '17:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-05'),\n  ('afternoon closure paper',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-05', '13:30']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-06'),\n  ('two-day outage',\n   ['2024-03-05',\n    'electronic',\n    [['2024-03-05', 'all'], ['2024-03-06', 'all']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-07'),\n  ('friday outage',\n   ['2024-03-08',\n    'electronic',\n    [['2024-03-08', 'all']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-11'),\n  ('outage before holiday',\n   ['2024-07-03',\n    'paper',\n    [['2024-07-03', '10:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-07-05'),\n  ('no closure on last day',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-04', 'all']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-05')],\n [('afternoon closure paper',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-05', '13:30']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-06'),\n  ('two-day outage',\n   ['2024-03-05',\n    'electronic',\n    [['2024-03-05', 'all'], ['2024-03-06', 'all']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-07'),\n  ('friday outage',\n   ['2024-03-08',\n    'electronic',\n    [['2024-03-08', 'all']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-11'),\n  ('outage before holiday',\n   ['2024-07-03',\n    'paper',\n    [['2024-07-03', '10:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-07-05'),\n  ('no closure on last day',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-04', 'all']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-05'),\n  ('friday outage then monday closure',\n   ['2024-03-08',\n    'paper',\n    [['2024-03-08', 'all'], ['2024-03-11', '09:00']],\n    '16:30',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-12'),\n  ('two partials same day',\n   ['2024-04-10',\n    'paper',\n    [['2024-04-10', '16:45'], ['2024-04-10', '17:30']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-04-11'),\n  ('closure at office close',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-05', '17:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-05')],\n [('friday outage',\n   ['2024-03-08',\n    'electronic',\n    [['2024-03-08', 'all']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-11'),\n  ('outage before holiday',\n   ['2024-07-03',\n    'paper',\n    [['2024-07-03', '10:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-07-05'),\n  ('no closure on last day',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-04', 'all']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-05'),\n  ('friday outage then monday closure',\n   ['2024-03-08',\n    'paper',\n    [['2024-03-08', 'all'], ['2024-03-11', '09:00']],\n    '16:30',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-12'),\n  ('two partials same day',\n   ['2024-04-10',\n    'paper',\n    [['2024-04-10', '16:45'], ['2024-04-10', '17:30']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-04-11'),\n  ('electronic partial then full outage',\n   ['2024-04-10',\n    'electronic',\n    [['2024-04-10', '15:00'], ['2024-04-10', 'all']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-04-11'),\n  ('regression: partial then full outage same day',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-05', 'all'], ['2024-03-05', '15:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-06'),\n  ('closure at office close',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-05', '17:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-05')],\n [('no closure on last day',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-04', 'all']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-05'),\n  ('friday outage then monday closure',\n   ['2024-03-08',\n    'paper',\n    [['2024-03-08', 'all'], ['2024-03-11', '09:00']],\n    '16:30',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-12'),\n  ('two partials same day',\n   ['2024-04-10',\n    'paper',\n    [['2024-04-10', '16:45'], ['2024-04-10', '17:30']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-04-11'),\n  ('electronic partial then full outage',\n   ['2024-04-10',\n    'electronic',\n    [['2024-04-10', '15:00'], ['2024-04-10', 'all']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-04-11'),\n  ('regression: partial then full outage same day',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-05', 'all'], ['2024-03-05', '15:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-06'),\n  ('electronic partial closure',\n   ['2024-03-05',\n    'electronic',\n    [['2024-03-05', '14:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-05'),\n  ('fax partial closure',\n   ['2024-03-05',\n    'fax',\n    [['2024-03-05', '14:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-06'),\n  ('closure at office close',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-05', '17:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-05')]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"020488c71ce62917334eb90da9bfe7b0e40927baa24c92a726bb9a81d5afd296","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime as dt\nimport calendar\nN = 1\nobservations = []\ndef solve(last_day, method, closures, office_close, holidays):\n    ld = dt.date.fromisoformat(last_day)\n    hol = {dt.date.fromisoformat(x) for x in holidays}\n    cl = {}\n    for day, start in closures:\n        k = dt.date.fromisoformat(day)\n        cl[k] = 'all' if start == 'all' or cl.get(k) == 'all' else min(start, cl.get(k, start))\n    def inaccessible(d):\n        if d not in cl:\n            return False\n        if cl[d] == 'all':\n            return True\n        return method in ('paper', 'fax') and cl[d] <= office_close\n    d = ld\n    if inaccessible(d):\n        d += dt.timedelta(days=1)\n        while d.weekday() >= 5 or d in hol or inaccessible(d):\n            d += dt.timedelta(days=1)\n    return d.isoformat()\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: partial then full outage same day',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-05', 'all'], ['2024-03-05', '15:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-06'),\n  ('electronic partial closure',\n   ['2024-03-05',\n    'electronic',\n    [['2024-03-05', '14:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-05'),\n  ('fax partial closure',\n   ['2024-03-05',\n    'fax',\n    [['2024-03-05', '14:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-06'),\n  ('closure at office close',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-05', '17:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-05'),\n  ('afternoon closure paper',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-05', '13:30']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-06'),\n  ('two-day outage',\n   ['2024-03-05',\n    'electronic',\n    [['2024-03-05', 'all'], ['2024-03-06', 'all']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-07'),\n  ('friday outage',\n   ['2024-03-08',\n    'electronic',\n    [['2024-03-08', 'all']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-11')],\n [('fax partial closure',\n   ['2024-03-05',\n    'fax',\n    [['2024-03-05', '14:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-06'),\n  ('closure at office close',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-05', '17:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-05'),\n  ('afternoon closure paper',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-05', '13:30']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-06'),\n  ('two-day outage',\n   ['2024-03-05',\n    'electronic',\n    [['2024-03-05', 'all'], ['2024-03-06', 'all']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-07'),\n  ('friday outage',\n   ['2024-03-08',\n    'electronic',\n    [['2024-03-08', 'all']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-11'),\n  ('outage before holiday',\n   ['2024-07-03',\n    'paper',\n    [['2024-07-03', '10:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-07-05'),\n  ('no closure on last day',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-04', 'all']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-05')],\n [('afternoon closure paper',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-05', '13:30']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-06'),\n  ('two-day outage',\n   ['2024-03-05',\n    'electronic',\n    [['2024-03-05', 'all'], ['2024-03-06', 'all']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-07'),\n  ('friday outage',\n   ['2024-03-08',\n    'electronic',\n    [['2024-03-08', 'all']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-11'),\n  ('outage before holiday',\n   ['2024-07-03',\n    'paper',\n    [['2024-07-03', '10:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-07-05'),\n  ('no closure on last day',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-04', 'all']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-05'),\n  ('friday outage then monday closure',\n   ['2024-03-08',\n    'paper',\n    [['2024-03-08', 'all'], ['2024-03-11', '09:00']],\n    '16:30',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-12'),\n  ('two partials same day',\n   ['2024-04-10',\n    'paper',\n    [['2024-04-10', '16:45'], ['2024-04-10', '17:30']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-04-11'),\n  ('closure at office close',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-05', '17:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-05')],\n [('friday outage',\n   ['2024-03-08',\n    'electronic',\n    [['2024-03-08', 'all']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-11'),\n  ('outage before holiday',\n   ['2024-07-03',\n    'paper',\n    [['2024-07-03', '10:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-07-05'),\n  ('no closure on last day',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-04', 'all']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-05'),\n  ('friday outage then monday closure',\n   ['2024-03-08',\n    'paper',\n    [['2024-03-08', 'all'], ['2024-03-11', '09:00']],\n    '16:30',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-12'),\n  ('two partials same day',\n   ['2024-04-10',\n    'paper',\n    [['2024-04-10', '16:45'], ['2024-04-10', '17:30']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-04-11'),\n  ('electronic partial then full outage',\n   ['2024-04-10',\n    'electronic',\n    [['2024-04-10', '15:00'], ['2024-04-10', 'all']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-04-11'),\n  ('regression: partial then full outage same day',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-05', 'all'], ['2024-03-05', '15:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-06'),\n  ('closure at office close',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-05', '17:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-05')],\n [('no closure on last day',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-04', 'all']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-05'),\n  ('friday outage then monday closure',\n   ['2024-03-08',\n    'paper',\n    [['2024-03-08', 'all'], ['2024-03-11', '09:00']],\n    '16:30',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-12'),\n  ('two partials same day',\n   ['2024-04-10',\n    'paper',\n    [['2024-04-10', '16:45'], ['2024-04-10', '17:30']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-04-11'),\n  ('electronic partial then full outage',\n   ['2024-04-10',\n    'electronic',\n    [['2024-04-10', '15:00'], ['2024-04-10', 'all']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-04-11'),\n  ('regression: partial then full outage same day',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-05', 'all'], ['2024-03-05', '15:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-06'),\n  ('electronic partial closure',\n   ['2024-03-05',\n    'electronic',\n    [['2024-03-05', '14:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-05'),\n  ('fax partial closure',\n   ['2024-03-05',\n    'fax',\n    [['2024-03-05', '14:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-06'),\n  ('closure at office close',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-05', '17:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-05')]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"6eed45c03cd45d9c07536fe9b9186d03320249f04c7719b3c2b75892abcb94c9","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime as dt\nimport calendar\nN = 1\nobservations = []\ndef solve(last_day, method, closures, office_close, holidays):\n    ld = dt.date.fromisoformat(last_day)\n    hol = {dt.date.fromisoformat(x) for x in holidays}\n    cl = {}\n    for day, start in closures:\n        k = dt.date.fromisoformat(day)\n        cl[k] = 'all' if start == 'all' or cl.get(k) == 'all' else min(start, cl.get(k, start))\n    def inaccessible(d):\n        if d not in cl:\n            return False\n        if cl[d] == 'all':\n            return True\n        return method in ('paper', 'fax') and cl[d] < office_close\n    d = ld\n    if inaccessible(d):\n        d += dt.timedelta(days=1)\n        while d.weekday() >= 5 or d in hol or inaccessible(d):\n            d += dt.timedelta(days=1)\n    return d.isoformat()\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: partial then full outage same day',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-05', 'all'], ['2024-03-05', '15:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-06'),\n  ('electronic partial closure',\n   ['2024-03-05',\n    'electronic',\n    [['2024-03-05', '14:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-05'),\n  ('fax partial closure',\n   ['2024-03-05',\n    'fax',\n    [['2024-03-05', '14:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-06'),\n  ('closure at office close',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-05', '17:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-05'),\n  ('afternoon closure paper',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-05', '13:30']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-06'),\n  ('two-day outage',\n   ['2024-03-05',\n    'electronic',\n    [['2024-03-05', 'all'], ['2024-03-06', 'all']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-07'),\n  ('friday outage',\n   ['2024-03-08',\n    'electronic',\n    [['2024-03-08', 'all']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-11')],\n [('fax partial closure',\n   ['2024-03-05',\n    'fax',\n    [['2024-03-05', '14:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-06'),\n  ('closure at office close',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-05', '17:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-05'),\n  ('afternoon closure paper',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-05', '13:30']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-06'),\n  ('two-day outage',\n   ['2024-03-05',\n    'electronic',\n    [['2024-03-05', 'all'], ['2024-03-06', 'all']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-07'),\n  ('friday outage',\n   ['2024-03-08',\n    'electronic',\n    [['2024-03-08', 'all']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-11'),\n  ('outage before holiday',\n   ['2024-07-03',\n    'paper',\n    [['2024-07-03', '10:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-07-05'),\n  ('no closure on last day',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-04', 'all']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-05')],\n [('afternoon closure paper',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-05', '13:30']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-06'),\n  ('two-day outage',\n   ['2024-03-05',\n    'electronic',\n    [['2024-03-05', 'all'], ['2024-03-06', 'all']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-07'),\n  ('friday outage',\n   ['2024-03-08',\n    'electronic',\n    [['2024-03-08', 'all']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-11'),\n  ('outage before holiday',\n   ['2024-07-03',\n    'paper',\n    [['2024-07-03', '10:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-07-05'),\n  ('no closure on last day',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-04', 'all']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-05'),\n  ('friday outage then monday closure',\n   ['2024-03-08',\n    'paper',\n    [['2024-03-08', 'all'], ['2024-03-11', '09:00']],\n    '16:30',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-12'),\n  ('two partials same day',\n   ['2024-04-10',\n    'paper',\n    [['2024-04-10', '16:45'], ['2024-04-10', '17:30']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-04-11'),\n  ('closure at office close',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-05', '17:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-05')],\n [('friday outage',\n   ['2024-03-08',\n    'electronic',\n    [['2024-03-08', 'all']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-11'),\n  ('outage before holiday',\n   ['2024-07-03',\n    'paper',\n    [['2024-07-03', '10:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-07-05'),\n  ('no closure on last day',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-04', 'all']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-05'),\n  ('friday outage then monday closure',\n   ['2024-03-08',\n    'paper',\n    [['2024-03-08', 'all'], ['2024-03-11', '09:00']],\n    '16:30',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-12'),\n  ('two partials same day',\n   ['2024-04-10',\n    'paper',\n    [['2024-04-10', '16:45'], ['2024-04-10', '17:30']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-04-11'),\n  ('electronic partial then full outage',\n   ['2024-04-10',\n    'electronic',\n    [['2024-04-10', '15:00'], ['2024-04-10', 'all']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-04-11'),\n  ('regression: partial then full outage same day',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-05', 'all'], ['2024-03-05', '15:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-06'),\n  ('closure at office close',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-05', '17:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-05')],\n [('no closure on last day',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-04', 'all']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-05'),\n  ('friday outage then monday closure',\n   ['2024-03-08',\n    'paper',\n    [['2024-03-08', 'all'], ['2024-03-11', '09:00']],\n    '16:30',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-12'),\n  ('two partials same day',\n   ['2024-04-10',\n    'paper',\n    [['2024-04-10', '16:45'], ['2024-04-10', '17:30']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-04-11'),\n  ('electronic partial then full outage',\n   ['2024-04-10',\n    'electronic',\n    [['2024-04-10', '15:00'], ['2024-04-10', 'all']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-04-11'),\n  ('regression: partial then full outage same day',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-05', 'all'], ['2024-03-05', '15:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-06'),\n  ('electronic partial closure',\n   ['2024-03-05',\n    'electronic',\n    [['2024-03-05', '14:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-05'),\n  ('fax partial closure',\n   ['2024-03-05',\n    'fax',\n    [['2024-03-05', '14:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-06'),\n  ('closure at office close',\n   ['2024-03-05',\n    'paper',\n    [['2024-03-05', '17:00']],\n    '17:00',\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   '2024-03-05')]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"Stipulated toy deadline rules evaluated offline on explicit fixtures. The contract is inspired by common court-rule structures but is not legal advice and makes no claim to reproduce any jurisdiction's rules. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"w2-legal-deadline-computation-clerk-office-inaccessibility-close-boundary","generated_at":"2026-09-29T14:49:29.398814+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Docketing systems compute filing and response deadlines from trigger events; a wrong date can forfeit a right.","repair":"At the close boundary decision use `cl[d] < office_close`, leaving the other decision sites of the model unchanged.","root_cause":"A closure starting exactly at office close is counted as an early closure.","sha256":"496c47794ea54ddb35c82fc7e48e0655913bd04d161d6afdec1fbb902c43b3cb","title":"Extending a last day when the clerk office is inaccessible: close boundary · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":44.501,"exit_code":1,"observations":[{"actual":"2024-03-06","check":"regression: partial then full outage same day","expected":"2024-03-06","passed":true},{"actual":"2024-03-05","check":"electronic partial closure","expected":"2024-03-05","passed":true},{"actual":"2024-03-05","check":"fax partial closure","expected":"2024-03-06","passed":false},{"actual":"2024-03-05","check":"closure at office close","expected":"2024-03-05","passed":true},{"actual":"2024-03-05","check":"afternoon closure paper","expected":"2024-03-06","passed":false},{"actual":"2024-03-07","check":"two-day outage","expected":"2024-03-07","passed":true},{"actual":"2024-03-11","check":"friday outage","expected":"2024-03-11","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: partial then full outage same day\", \"actual\": \"2024-03-06\", \"expected\": \"2024-03-06\", \"passed\": true}, {\"check\": \"electronic partial closure\", \"actual\": \"2024-03-05\", \"expected\": \"2024-03-05\", \"passed\": true}, {\"check\": \"fax partial closure\", \"actual\": \"2024-03-05\", \"expected\": \"2024-03-06\", \"passed\": false}, {\"check\": \"closure at office close\", \"actual\": \"2024-03-05\", \"expected\": \"2024-03-05\", \"passed\": true}, {\"check\": \"afternoon closure paper\", \"actual\": \"2024-03-05\", \"expected\": \"2024-03-06\", \"passed\": false}, {\"check\": \"two-day outage\", \"actual\": \"2024-03-07\", \"expected\": \"2024-03-07\", \"passed\": true}, {\"check\": \"friday outage\", \"actual\": \"2024-03-11\", \"expected\": \"2024-03-11\", \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":44.364,"exit_code":1,"observations":[{"actual":"2024-03-06","check":"regression: partial then full outage same day","expected":"2024-03-06","passed":true},{"actual":"2024-03-05","check":"electronic partial closure","expected":"2024-03-05","passed":true},{"actual":"2024-03-06","check":"fax partial closure","expected":"2024-03-06","passed":true},{"actual":"2024-03-06","check":"closure at office close","expected":"2024-03-05","passed":false},{"actual":"2024-03-06","check":"afternoon closure paper","expected":"2024-03-06","passed":true},{"actual":"2024-03-07","check":"two-day outage","expected":"2024-03-07","passed":true},{"actual":"2024-03-11","check":"friday outage","expected":"2024-03-11","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: partial then full outage same day\", \"actual\": \"2024-03-06\", \"expected\": \"2024-03-06\", \"passed\": true}, {\"check\": \"electronic partial closure\", \"actual\": \"2024-03-05\", \"expected\": \"2024-03-05\", \"passed\": true}, {\"check\": \"fax partial closure\", \"actual\": \"2024-03-06\", \"expected\": \"2024-03-06\", \"passed\": true}, {\"check\": \"closure at office close\", \"actual\": \"2024-03-06\", \"expected\": \"2024-03-05\", \"passed\": false}, {\"check\": \"afternoon closure paper\", \"actual\": \"2024-03-06\", \"expected\": \"2024-03-06\", \"passed\": true}, {\"check\": \"two-day outage\", \"actual\": \"2024-03-07\", \"expected\": \"2024-03-07\", \"passed\": true}, {\"check\": \"friday outage\", \"actual\": \"2024-03-11\", \"expected\": \"2024-03-11\", \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":47.301,"exit_code":0,"observations":[{"actual":"2024-03-06","check":"regression: partial then full outage same day","expected":"2024-03-06","passed":true},{"actual":"2024-03-05","check":"electronic partial closure","expected":"2024-03-05","passed":true},{"actual":"2024-03-06","check":"fax partial closure","expected":"2024-03-06","passed":true},{"actual":"2024-03-05","check":"closure at office close","expected":"2024-03-05","passed":true},{"actual":"2024-03-06","check":"afternoon closure paper","expected":"2024-03-06","passed":true},{"actual":"2024-03-07","check":"two-day outage","expected":"2024-03-07","passed":true},{"actual":"2024-03-11","check":"friday outage","expected":"2024-03-11","passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: partial then full outage same day\", \"actual\": \"2024-03-06\", \"expected\": \"2024-03-06\", \"passed\": true}, {\"check\": \"electronic partial closure\", \"actual\": \"2024-03-05\", \"expected\": \"2024-03-05\", \"passed\": true}, {\"check\": \"fax partial closure\", \"actual\": \"2024-03-06\", \"expected\": \"2024-03-06\", \"passed\": true}, {\"check\": \"closure at office close\", \"actual\": \"2024-03-05\", \"expected\": \"2024-03-05\", \"passed\": true}, {\"check\": \"afternoon closure paper\", \"actual\": \"2024-03-06\", \"expected\": \"2024-03-06\", \"passed\": true}, {\"check\": \"two-day outage\", \"actual\": \"2024-03-07\", \"expected\": \"2024-03-07\", \"passed\": true}, {\"check\": \"friday outage\", \"actual\": \"2024-03-11\", \"expected\": \"2024-03-11\", \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}