FA-62501 / Tax bracket computation / Open access
Effective basis points are truncated · case 01
An effective rate of 8.4296% is reported as 842 bps instead of 843 bps.
ROOT CAUSE
The basis-point value is truncated with int().
VERIFIED REPAIR
Round half-up to whole basis points.
Unsuccessful approach: Rounding to whole percent before scaling to basis points discards the fractional percent.
Case contract
solve(gross, deduction, brackets): taxable = max(0, gross - deduction); tax uses the progressive slices. The marginal rate is the rate of the bracket containing taxable income with (lower, upper] semantics (income exactly at a threshold is in the lower bracket), and is '0' when gross < deduction (unused deduction absorbs the next dollar; at gross == deduction the next dollar is taxed at the first rate). The effective rate is tax / gross in basis points rounded half-up (0 when gross <= 0). Return [marginal_rate_string, effective_bps].
Why this case matters
Tax computations hinge on which slice, threshold, ordering and rounding rule applies at each step; a misplaced boundary silently misstates liabilities.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
from fractions import Fraction
N = 1
observations = []
def solve(gross, deduction, brackets):
def prog(x, br):
tax, lower = Fraction(0), 0
for upper, rate in br:
top = x if upper is None else min(x, upper)
if top > lower: tax += (top - lower) * Fraction(rate) / 100
if upper is None or x <= upper: break
lower = upper
return tax
def cents(v):
v = v * 100
return int(v + Fraction(1, 2)) if v >= 0 else -int(-v + Fraction(1, 2))
taxable = max(0, gross - deduction)
tax = prog(taxable, brackets)
if gross < deduction:
marginal = '0'
else:
marginal = next(rate for upper, rate in brackets if upper is None or taxable <= upper)
eff = int(tax * 10000 / gross) if gross > 0 else 0
return [marginal, eff]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = [[('regression effective-rounding 1',
(123456, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['24', 1582]),
('regression effective-rounding 2',
(54600, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['12', 839]),
('partial repair guard 1', (54600, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['12', 842]),
('partial repair guard 2', (50000, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['22', 1360]),
('control: exact first threshold', (10000, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 1000]),
('control: deduction not exhausted', (10000, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['0', 0]),
('control: deduction exactly used', (14600, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0]),
('control: zero gross', (0, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0])],
[('regression effective-rounding 1', (50000, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['12', 810]),
('regression effective-rounding 2',
(54600, 3000, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['22', 1220]),
('partial repair guard 1',
(123456, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['24', 1582]),
('partial repair guard 2', (50000, 3000, [[10000, '10'], [40000, '12'], [None, '22']]), ['22', 1228]),
('control: deduction not exhausted', (10000, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['0', 0]),
('control: deduction exactly used', (14600, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0]),
('control: zero gross', (0, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0]),
('control: one above threshold', (10001, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['12', 1000])],
[('regression effective-rounding 1',
(39261, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['12', 698]),
('regression effective-rounding 2',
(272814, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['32.5', 2267]),
('partial repair guard 1',
(54600, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['12', 839]),
('partial repair guard 2', (50000, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['12', 810]),
('control: zero gross', (0, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0]),
('control: one above threshold', (10001, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['12', 1000]),
('control: at threshold after deduction', (54600, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['12', 842]),
('control: top bracket', (50000, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['22', 1360])],
[('regression effective-rounding 1',
(13000, 0, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['12', 1031]),
('regression effective-rounding 2',
(236107, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['32.5', 2114]),
('partial repair guard 1', (108005, 3000, [[10000, '10'], [40000, '12'], [None, '22']]), ['22', 1750]),
('partial repair guard 2',
(54600, 3000, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['22', 1220]),
('control: top bracket', (50000, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['22', 1360]),
('control: exact first threshold', (10000, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 1000]),
('control: deduction not exhausted', (10000, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['0', 0]),
('control: deduction exactly used', (14600, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0])],
[('regression effective-rounding 1',
(50000, 0, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['22', 1262]),
('regression effective-rounding 2', (54600, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['22', 1431]),
('partial repair guard 1', (13000, 3000, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 769]),
('partial repair guard 2',
(39261, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['12', 698]),
('control: deduction exactly used', (14600, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0]),
('control: five brackets',
(123456, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['24', 1582]),
('control: zero gross', (0, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0]),
('control: one above threshold', (10001, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['12', 1000])]]
for label, args, expected in cases[N - 1]:
check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression effective-rounding 1 | ['24', 1581] | ['24', 1582] | Failed |
| regression effective-rounding 2 | ['12', 838] | ['12', 839] | Failed |
| partial repair guard 1 | ['12', 842] | ['12', 842] | Passed |
| partial repair guard 2 | ['22', 1360] | ['22', 1360] | Passed |
| control: exact first threshold | ['10', 1000] | ['10', 1000] | Passed |
| control: deduction not exhausted | ['0', 0] | ['0', 0] | Passed |
| control: deduction exactly used | ['10', 0] | ['10', 0] | Passed |
| control: zero gross | ['10', 0] | ['10', 0] | Passed |
SHA-256 / 295b7e6b96b77144269f00719e70e26011719f1c1dd9b0592103da8619c4b2ba
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
from fractions import Fraction
N = 1
observations = []
def solve(gross, deduction, brackets):
def prog(x, br):
tax, lower = Fraction(0), 0
for upper, rate in br:
top = x if upper is None else min(x, upper)
if top > lower: tax += (top - lower) * Fraction(rate) / 100
if upper is None or x <= upper: break
lower = upper
return tax
def cents(v):
v = v * 100
return int(v + Fraction(1, 2)) if v >= 0 else -int(-v + Fraction(1, 2))
taxable = max(0, gross - deduction)
tax = prog(taxable, brackets)
if gross < deduction:
marginal = '0'
else:
marginal = next(rate for upper, rate in brackets if upper is None or taxable <= upper)
eff = cents(tax / gross) * 100 if gross > 0 else 0
return [marginal, eff]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = [[('regression effective-rounding 1',
(123456, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['24', 1582]),
('regression effective-rounding 2',
(54600, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['12', 839]),
('partial repair guard 1', (54600, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['12', 842]),
('partial repair guard 2', (50000, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['22', 1360]),
('control: exact first threshold', (10000, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 1000]),
('control: deduction not exhausted', (10000, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['0', 0]),
('control: deduction exactly used', (14600, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0]),
('control: zero gross', (0, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0])],
[('regression effective-rounding 1', (50000, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['12', 810]),
('regression effective-rounding 2',
(54600, 3000, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['22', 1220]),
('partial repair guard 1',
(123456, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['24', 1582]),
('partial repair guard 2', (50000, 3000, [[10000, '10'], [40000, '12'], [None, '22']]), ['22', 1228]),
('control: deduction not exhausted', (10000, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['0', 0]),
('control: deduction exactly used', (14600, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0]),
('control: zero gross', (0, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0]),
('control: one above threshold', (10001, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['12', 1000])],
[('regression effective-rounding 1',
(39261, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['12', 698]),
('regression effective-rounding 2',
(272814, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['32.5', 2267]),
('partial repair guard 1',
(54600, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['12', 839]),
('partial repair guard 2', (50000, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['12', 810]),
('control: zero gross', (0, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0]),
('control: one above threshold', (10001, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['12', 1000]),
('control: at threshold after deduction', (54600, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['12', 842]),
('control: top bracket', (50000, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['22', 1360])],
[('regression effective-rounding 1',
(13000, 0, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['12', 1031]),
('regression effective-rounding 2',
(236107, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['32.5', 2114]),
('partial repair guard 1', (108005, 3000, [[10000, '10'], [40000, '12'], [None, '22']]), ['22', 1750]),
('partial repair guard 2',
(54600, 3000, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['22', 1220]),
('control: top bracket', (50000, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['22', 1360]),
('control: exact first threshold', (10000, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 1000]),
('control: deduction not exhausted', (10000, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['0', 0]),
('control: deduction exactly used', (14600, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0])],
[('regression effective-rounding 1',
(50000, 0, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['22', 1262]),
('regression effective-rounding 2', (54600, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['22', 1431]),
('partial repair guard 1', (13000, 3000, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 769]),
('partial repair guard 2',
(39261, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['12', 698]),
('control: deduction exactly used', (14600, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0]),
('control: five brackets',
(123456, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['24', 1582]),
('control: zero gross', (0, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0]),
('control: one above threshold', (10001, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['12', 1000])]]
for label, args, expected in cases[N - 1]:
check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression effective-rounding 1 | ['24', 1600] | ['24', 1582] | Failed |
| regression effective-rounding 2 | ['12', 800] | ['12', 839] | Failed |
| partial repair guard 1 | ['12', 800] | ['12', 842] | Failed |
| partial repair guard 2 | ['22', 1400] | ['22', 1360] | Failed |
| control: exact first threshold | ['10', 1000] | ['10', 1000] | Passed |
| control: deduction not exhausted | ['0', 0] | ['0', 0] | Passed |
| control: deduction exactly used | ['10', 0] | ['10', 0] | Passed |
| control: zero gross | ['10', 0] | ['10', 0] | Passed |
SHA-256 / f9909b1d692e3bddac12c03a61083470c713e5c70ae0939ddc24efc75dbc1733
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
from fractions import Fraction
N = 1
observations = []
def solve(gross, deduction, brackets):
def prog(x, br):
tax, lower = Fraction(0), 0
for upper, rate in br:
top = x if upper is None else min(x, upper)
if top > lower: tax += (top - lower) * Fraction(rate) / 100
if upper is None or x <= upper: break
lower = upper
return tax
def cents(v):
v = v * 100
return int(v + Fraction(1, 2)) if v >= 0 else -int(-v + Fraction(1, 2))
taxable = max(0, gross - deduction)
tax = prog(taxable, brackets)
if gross < deduction:
marginal = '0'
else:
marginal = next(rate for upper, rate in brackets if upper is None or taxable <= upper)
eff = cents(tax * 100 / gross) if gross > 0 else 0
return [marginal, eff]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = [[('regression effective-rounding 1',
(123456, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['24', 1582]),
('regression effective-rounding 2',
(54600, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['12', 839]),
('partial repair guard 1', (54600, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['12', 842]),
('partial repair guard 2', (50000, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['22', 1360]),
('control: exact first threshold', (10000, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 1000]),
('control: deduction not exhausted', (10000, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['0', 0]),
('control: deduction exactly used', (14600, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0]),
('control: zero gross', (0, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0])],
[('regression effective-rounding 1', (50000, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['12', 810]),
('regression effective-rounding 2',
(54600, 3000, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['22', 1220]),
('partial repair guard 1',
(123456, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['24', 1582]),
('partial repair guard 2', (50000, 3000, [[10000, '10'], [40000, '12'], [None, '22']]), ['22', 1228]),
('control: deduction not exhausted', (10000, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['0', 0]),
('control: deduction exactly used', (14600, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0]),
('control: zero gross', (0, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0]),
('control: one above threshold', (10001, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['12', 1000])],
[('regression effective-rounding 1',
(39261, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['12', 698]),
('regression effective-rounding 2',
(272814, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['32.5', 2267]),
('partial repair guard 1',
(54600, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['12', 839]),
('partial repair guard 2', (50000, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['12', 810]),
('control: zero gross', (0, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0]),
('control: one above threshold', (10001, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['12', 1000]),
('control: at threshold after deduction', (54600, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['12', 842]),
('control: top bracket', (50000, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['22', 1360])],
[('regression effective-rounding 1',
(13000, 0, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['12', 1031]),
('regression effective-rounding 2',
(236107, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['32.5', 2114]),
('partial repair guard 1', (108005, 3000, [[10000, '10'], [40000, '12'], [None, '22']]), ['22', 1750]),
('partial repair guard 2',
(54600, 3000, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['22', 1220]),
('control: top bracket', (50000, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['22', 1360]),
('control: exact first threshold', (10000, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 1000]),
('control: deduction not exhausted', (10000, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['0', 0]),
('control: deduction exactly used', (14600, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0])],
[('regression effective-rounding 1',
(50000, 0, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['22', 1262]),
('regression effective-rounding 2', (54600, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['22', 1431]),
('partial repair guard 1', (13000, 3000, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 769]),
('partial repair guard 2',
(39261, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['12', 698]),
('control: deduction exactly used', (14600, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0]),
('control: five brackets',
(123456, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['24', 1582]),
('control: zero gross', (0, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0]),
('control: one above threshold', (10001, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['12', 1000])]]
for label, args, expected in cases[N - 1]:
check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression effective-rounding 1 | ['24', 1582] | ['24', 1582] | Passed |
| regression effective-rounding 2 | ['12', 839] | ['12', 839] | Passed |
| partial repair guard 1 | ['12', 842] | ['12', 842] | Passed |
| partial repair guard 2 | ['22', 1360] | ['22', 1360] | Passed |
| control: exact first threshold | ['10', 1000] | ['10', 1000] | Passed |
| control: deduction not exhausted | ['0', 0] | ['0', 0] | Passed |
| control: deduction exactly used | ['10', 0] | ['10', 0] | Passed |
| control: zero gross | ['10', 0] | ['10', 0] | Passed |
SHA-256 / bb5033ebd2e4520081f666f165ba1d9d41f36979025252ef7f9676664a603f6b
Verification & scope
A deterministic, bounded teaching model with a stipulated toy contract; it makes no claim of conformance to any real regulation, standard, or institution'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.
Observations recorded using Python 3.12.14 at 2026-09-29T14:47:05.278347+00:00.
Case digest / 676961f4d4a8c201db41bc2545197cd2ef42201b0de7f47e3741cf25402230e7