{"abstract":"Ultimate mortality stops increasing with age.","category":"Actuarial life tables","checks":7,"contract":"Input select {issue age: [q for durations 0..period-1]}, ultimate {attained age: q}, issue_age, period, dur, n. For each duration k in dur..dur+n-1 use the select rate row[issue][k] while k<period, else the ultimate rate at attained age issue+k. Missing rows -> 'no select row' / 'no ultimate rate'. Return [rates, survival over the n years rounded to 6].","evaluation_group":"w2-actuarial_life_tables-select-ultimate","failed_approach":"Using the age at the end of the select period freezes the rate.","family":"w2-actuarial_life_tables-select-ultimate-ultimate-attained-age","id":"FA-63421","implementations":{"attempt":{"sha256":"27f24f41fc824d9aa42e4ed04c71a530a009ff29281293c049b6a57b6435a473","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    S=x['select']; U=x['ultimate']; a=x['issue_age']; s=x['period']\n    out=[]; surv=Fraction(1)\n    for k in range(x['dur'],x['dur']+x['n']):\n        if k<s:\n            row=S.get(str(a))\n            if row is None: return 'no select row'\n            q=row[k]\n        else:\n            q=U.get(str(a+s))\n            if q is None: return 'no ultimate rate'\n        out.append(q); surv*=1-Fraction(q,100000)\n    return [out, round(float(surv),6)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['new issue through select period', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 101, '31': 113, '32': 125, '33': 137, '34': 149, '35': 161, '36': 173, '37': 185, '38': 197, '39': 209, '40': 221, '41': 233, '42': 245, '43': 257, '44': 269, '45': 281, '46': 293, '47': 305, '48': 317, '49': 329, '50': 341, '51': 353, '52': 365, '53': 377, '54': 389, '55': 401, '56': 413, '57': 425, '58': 437, '59': 449}, 'issue_age': 31, 'period': 3, 'dur': 0, 'n': 5}, [[46, 62, 80, 149, 161], 0.995029]], ['mid-select start', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 101, '31': 113, '32': 125, '33': 137, '34': 149, '35': 161, '36': 173, '37': 185, '38': 197, '39': 209, '40': 221, '41': 233, '42': 245, '43': 257, '44': 269, '45': 281, '46': 293, '47': 305, '48': 317, '49': 329, '50': 341, '51': 353, '52': 365, '53': 377, '54': 389, '55': 401, '56': 413, '57': 425, '58': 437, '59': 449}, 'issue_age': 41, 'period': 3, 'dur': 1, 'n': 4}, [[122, 140, 269, 281], 0.991904]], ['last select year', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 101, '31': 113, '32': 125, '33': 137, '34': 149, '35': 161, '36': 173, '37': 185, '38': 197, '39': 209, '40': 221, '41': 233, '42': 245, '43': 257, '44': 269, '45': 281, '46': 293, '47': 305, '48': 317, '49': 329, '50': 341, '51': 353, '52': 365, '53': 377, '54': 389, '55': 401, '56': 413, '57': 425, '58': 437, '59': 449}, 'issue_age': 31, 'period': 3, 'dur': 2, 'n': 3}, [[80, 149, 161], 0.996105]], ['fully ultimate', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 101, '31': 113, '32': 125, '33': 137, '34': 149, '35': 161, '36': 173, '37': 185, '38': 197, '39': 209, '40': 221, '41': 233, '42': 245, '43': 257, '44': 269, '45': 281, '46': 293, '47': 305, '48': 317, '49': 329, '50': 341, '51': 353, '52': 365, '53': 377, '54': 389, '55': 401, '56': 413, '57': 425, '58': 437, '59': 449}, 'issue_age': 42, 'period': 3, 'dur': 4, 'n': 3}, [[293, 305, 317], 0.990878]], ['no select row for issue age', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 101, '31': 113, '32': 125, '33': 137, '34': 149, '35': 161, '36': 173, '37': 185, '38': 197, '39': 209, '40': 221, '41': 233, '42': 245, '43': 257, '44': 269, '45': 281, '46': 293, '47': 305, '48': 317, '49': 329, '50': 341, '51': 353, '52': 365, '53': 377, '54': 389, '55': 401, '56': 413, '57': 425, '58': 437, '59': 449}, 'issue_age': 55, 'period': 3, 'dur': 0, 'n': 2}, 'no select row'], ['runs off ultimate table', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 101, '31': 113, '32': 125, '33': 137, '34': 149, '35': 161, '36': 173, '37': 185, '38': 197, '39': 209, '40': 221, '41': 233, '42': 245, '43': 257, '44': 269, '45': 281, '46': 293, '47': 305, '48': 317, '49': 329, '50': 341, '51': 353, '52': 365, '53': 377, '54': 389, '55': 401, '56': 413, '57': 425, '58': 437, '59': 449}, 'issue_age': 45, 'period': 3, 'dur': 1, 'n': 20}, 'no ultimate rate'], ['single year', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 101, '31': 113, '32': 125, '33': 137, '34': 149, '35': 161, '36': 173, '37': 185, '38': 197, '39': 209, '40': 221, '41': 233, '42': 245, '43': 257, '44': 269, '45': 281, '46': 293, '47': 305, '48': 317, '49': 329, '50': 341, '51': 353, '52': 365, '53': 377, '54': 389, '55': 401, '56': 413, '57': 425, '58': 437, '59': 449}, 'issue_age': 31, 'period': 3, 'dur': 0, 'n': 1}, [[46], 0.99954]]], [['new issue through select period', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 102, '31': 114, '32': 126, '33': 138, '34': 150, '35': 162, '36': 174, '37': 186, '38': 198, '39': 210, '40': 222, '41': 234, '42': 246, '43': 258, '44': 270, '45': 282, '46': 294, '47': 306, '48': 318, '49': 330, '50': 342, '51': 354, '52': 366, '53': 378, '54': 390, '55': 402, '56': 414, '57': 426, '58': 438, '59': 450}, 'issue_age': 32, 'period': 3, 'dur': 0, 'n': 5}, [[52, 68, 86, 162, 174], 0.994591]], ['mid-select start', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 102, '31': 114, '32': 126, '33': 138, '34': 150, '35': 162, '36': 174, '37': 186, '38': 198, '39': 210, '40': 222, '41': 234, '42': 246, '43': 258, '44': 270, '45': 282, '46': 294, '47': 306, '48': 318, '49': 330, '50': 342, '51': 354, '52': 366, '53': 378, '54': 390, '55': 402, '56': 414, '57': 426, '58': 438, '59': 450}, 'issue_age': 33, 'period': 3, 'dur': 1, 'n': 4}, [[74, 92, 174, 186], 0.99475]], ['last select year', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 102, '31': 114, '32': 126, '33': 138, '34': 150, '35': 162, '36': 174, '37': 186, '38': 198, '39': 210, '40': 222, '41': 234, '42': 246, '43': 258, '44': 270, '45': 282, '46': 294, '47': 306, '48': 318, '49': 330, '50': 342, '51': 354, '52': 366, '53': 378, '54': 390, '55': 402, '56': 414, '57': 426, '58': 438, '59': 450}, 'issue_age': 34, 'period': 3, 'dur': 2, 'n': 3}, [[98, 186, 198], 0.995187]], ['fully ultimate', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 102, '31': 114, '32': 126, '33': 138, '34': 150, '35': 162, '36': 174, '37': 186, '38': 198, '39': 210, '40': 222, '41': 234, '42': 246, '43': 258, '44': 270, '45': 282, '46': 294, '47': 306, '48': 318, '49': 330, '50': 342, '51': 354, '52': 366, '53': 378, '54': 390, '55': 402, '56': 414, '57': 426, '58': 438, '59': 450}, 'issue_age': 31, 'period': 3, 'dur': 4, 'n': 3}, [[162, 174, 186], 0.994789]], ['no select row for issue age', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 102, '31': 114, '32': 126, '33': 138, '34': 150, '35': 162, '36': 174, '37': 186, '38': 198, '39': 210, '40': 222, '41': 234, '42': 246, '43': 258, '44': 270, '45': 282, '46': 294, '47': 306, '48': 318, '49': 330, '50': 342, '51': 354, '52': 366, '53': 378, '54': 390, '55': 402, '56': 414, '57': 426, '58': 438, '59': 450}, 'issue_age': 55, 'period': 3, 'dur': 0, 'n': 2}, 'no select row'], ['runs off ultimate table', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 102, '31': 114, '32': 126, '33': 138, '34': 150, '35': 162, '36': 174, '37': 186, '38': 198, '39': 210, '40': 222, '41': 234, '42': 246, '43': 258, '44': 270, '45': 282, '46': 294, '47': 306, '48': 318, '49': 330, '50': 342, '51': 354, '52': 366, '53': 378, '54': 390, '55': 402, '56': 414, '57': 426, '58': 438, '59': 450}, 'issue_age': 45, 'period': 3, 'dur': 1, 'n': 20}, 'no ultimate rate'], ['single year', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 102, '31': 114, '32': 126, '33': 138, '34': 150, '35': 162, '36': 174, '37': 186, '38': 198, '39': 210, '40': 222, '41': 234, '42': 246, '43': 258, '44': 270, '45': 282, '46': 294, '47': 306, '48': 318, '49': 330, '50': 342, '51': 354, '52': 366, '53': 378, '54': 390, '55': 402, '56': 414, '57': 426, '58': 438, '59': 450}, 'issue_age': 43, 'period': 3, 'dur': 0, 'n': 1}, [[118], 0.99882]]], [['new issue through select period', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 103, '31': 115, '32': 127, '33': 139, '34': 151, '35': 163, '36': 175, '37': 187, '38': 199, '39': 211, '40': 223, '41': 235, '42': 247, '43': 259, '44': 271, '45': 283, '46': 295, '47': 307, '48': 319, '49': 331, '50': 343, '51': 355, '52': 367, '53': 379, '54': 391, '55': 403, '56': 415, '57': 427, '58': 439, '59': 451}, 'issue_age': 33, 'period': 3, 'dur': 0, 'n': 5}, [[58, 74, 92, 175, 187], 0.994153]], ['mid-select start', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 103, '31': 115, '32': 127, '33': 139, '34': 151, '35': 163, '36': 175, '37': 187, '38': 199, '39': 211, '40': 223, '41': 235, '42': 247, '43': 259, '44': 271, '45': 283, '46': 295, '47': 307, '48': 319, '49': 331, '50': 343, '51': 355, '52': 367, '53': 379, '54': 391, '55': 403, '56': 415, '57': 427, '58': 439, '59': 451}, 'issue_age': 40, 'period': 3, 'dur': 1, 'n': 4}, [[116, 134, 259, 271], 0.992222]], ['last select year', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 103, '31': 115, '32': 127, '33': 139, '34': 151, '35': 163, '36': 175, '37': 187, '38': 199, '39': 211, '40': 223, '41': 235, '42': 247, '43': 259, '44': 271, '45': 283, '46': 295, '47': 307, '48': 319, '49': 331, '50': 343, '51': 355, '52': 367, '53': 379, '54': 391, '55': 403, '56': 415, '57': 427, '58': 439, '59': 451}, 'issue_age': 45, 'period': 3, 'dur': 2, 'n': 3}, [[164, 319, 331], 0.991881]], ['fully ultimate', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 103, '31': 115, '32': 127, '33': 139, '34': 151, '35': 163, '36': 175, '37': 187, '38': 199, '39': 211, '40': 223, '41': 235, '42': 247, '43': 259, '44': 271, '45': 283, '46': 295, '47': 307, '48': 319, '49': 331, '50': 343, '51': 355, '52': 367, '53': 379, '54': 391, '55': 403, '56': 415, '57': 427, '58': 439, '59': 451}, 'issue_age': 36, 'period': 3, 'dur': 4, 'n': 3}, [[223, 235, 247], 0.992967]], ['no select row for issue age', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 103, '31': 115, '32': 127, '33': 139, '34': 151, '35': 163, '36': 175, '37': 187, '38': 199, '39': 211, '40': 223, '41': 235, '42': 247, '43': 259, '44': 271, '45': 283, '46': 295, '47': 307, '48': 319, '49': 331, '50': 343, '51': 355, '52': 367, '53': 379, '54': 391, '55': 403, '56': 415, '57': 427, '58': 439, '59': 451}, 'issue_age': 55, 'period': 3, 'dur': 0, 'n': 2}, 'no select row'], ['runs off ultimate table', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 103, '31': 115, '32': 127, '33': 139, '34': 151, '35': 163, '36': 175, '37': 187, '38': 199, '39': 211, '40': 223, '41': 235, '42': 247, '43': 259, '44': 271, '45': 283, '46': 295, '47': 307, '48': 319, '49': 331, '50': 343, '51': 355, '52': 367, '53': 379, '54': 391, '55': 403, '56': 415, '57': 427, '58': 439, '59': 451}, 'issue_age': 45, 'period': 3, 'dur': 1, 'n': 20}, 'no ultimate rate'], ['single year', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 103, '31': 115, '32': 127, '33': 139, '34': 151, '35': 163, '36': 175, '37': 187, '38': 199, '39': 211, '40': 223, '41': 235, '42': 247, '43': 259, '44': 271, '45': 283, '46': 295, '47': 307, '48': 319, '49': 331, '50': 343, '51': 355, '52': 367, '53': 379, '54': 391, '55': 403, '56': 415, '57': 427, '58': 439, '59': 451}, 'issue_age': 33, 'period': 3, 'dur': 0, 'n': 1}, [[58], 0.99942]]], [['new issue through select period', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 104, '31': 116, '32': 128, '33': 140, '34': 152, '35': 164, '36': 176, '37': 188, '38': 200, '39': 212, '40': 224, '41': 236, '42': 248, '43': 260, '44': 272, '45': 284, '46': 296, '47': 308, '48': 320, '49': 332, '50': 344, '51': 356, '52': 368, '53': 380, '54': 392, '55': 404, '56': 416, '57': 428, '58': 440, '59': 452}, 'issue_age': 34, 'period': 3, 'dur': 0, 'n': 5}, [[64, 80, 98, 188, 200], 0.993715]], ['mid-select start', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 104, '31': 116, '32': 128, '33': 140, '34': 152, '35': 164, '36': 176, '37': 188, '38': 200, '39': 212, '40': 224, '41': 236, '42': 248, '43': 260, '44': 272, '45': 284, '46': 296, '47': 308, '48': 320, '49': 332, '50': 344, '51': 356, '52': 368, '53': 380, '54': 392, '55': 404, '56': 416, '57': 428, '58': 440, '59': 452}, 'issue_age': 33, 'period': 3, 'dur': 1, 'n': 4}, [[74, 92, 176, 188], 0.99471]], ['last select year', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 104, '31': 116, '32': 128, '33': 140, '34': 152, '35': 164, '36': 176, '37': 188, '38': 200, '39': 212, '40': 224, '41': 236, '42': 248, '43': 260, '44': 272, '45': 284, '46': 296, '47': 308, '48': 320, '49': 332, '50': 344, '51': 356, '52': 368, '53': 380, '54': 392, '55': 404, '56': 416, '57': 428, '58': 440, '59': 452}, 'issue_age': 32, 'period': 3, 'dur': 2, 'n': 3}, [[86, 164, 176], 0.995746]], ['fully ultimate', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 104, '31': 116, '32': 128, '33': 140, '34': 152, '35': 164, '36': 176, '37': 188, '38': 200, '39': 212, '40': 224, '41': 236, '42': 248, '43': 260, '44': 272, '45': 284, '46': 296, '47': 308, '48': 320, '49': 332, '50': 344, '51': 356, '52': 368, '53': 380, '54': 392, '55': 404, '56': 416, '57': 428, '58': 440, '59': 452}, 'issue_age': 45, 'period': 3, 'dur': 4, 'n': 3}, [[332, 344, 356], 0.989715]], ['no select row for issue age', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 104, '31': 116, '32': 128, '33': 140, '34': 152, '35': 164, '36': 176, '37': 188, '38': 200, '39': 212, '40': 224, '41': 236, '42': 248, '43': 260, '44': 272, '45': 284, '46': 296, '47': 308, '48': 320, '49': 332, '50': 344, '51': 356, '52': 368, '53': 380, '54': 392, '55': 404, '56': 416, '57': 428, '58': 440, '59': 452}, 'issue_age': 55, 'period': 3, 'dur': 0, 'n': 2}, 'no select row'], ['runs off ultimate table', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 104, '31': 116, '32': 128, '33': 140, '34': 152, '35': 164, '36': 176, '37': 188, '38': 200, '39': 212, '40': 224, '41': 236, '42': 248, '43': 260, '44': 272, '45': 284, '46': 296, '47': 308, '48': 320, '49': 332, '50': 344, '51': 356, '52': 368, '53': 380, '54': 392, '55': 404, '56': 416, '57': 428, '58': 440, '59': 452}, 'issue_age': 45, 'period': 3, 'dur': 1, 'n': 20}, 'no ultimate rate'], ['single year', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 104, '31': 116, '32': 128, '33': 140, '34': 152, '35': 164, '36': 176, '37': 188, '38': 200, '39': 212, '40': 224, '41': 236, '42': 248, '43': 260, '44': 272, '45': 284, '46': 296, '47': 308, '48': 320, '49': 332, '50': 344, '51': 356, '52': 368, '53': 380, '54': 392, '55': 404, '56': 416, '57': 428, '58': 440, '59': 452}, 'issue_age': 34, 'period': 3, 'dur': 0, 'n': 1}, [[64], 0.99936]]], [['new issue through select period', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 105, '31': 117, '32': 129, '33': 141, '34': 153, '35': 165, '36': 177, '37': 189, '38': 201, '39': 213, '40': 225, '41': 237, '42': 249, '43': 261, '44': 273, '45': 285, '46': 297, '47': 309, '48': 321, '49': 333, '50': 345, '51': 357, '52': 369, '53': 381, '54': 393, '55': 405, '56': 417, '57': 429, '58': 441, '59': 453}, 'issue_age': 35, 'period': 3, 'dur': 0, 'n': 5}, [[70, 86, 104, 201, 213], 0.993277]], ['mid-select start', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 105, '31': 117, '32': 129, '33': 141, '34': 153, '35': 165, '36': 177, '37': 189, '38': 201, '39': 213, '40': 225, '41': 237, '42': 249, '43': 261, '44': 273, '45': 285, '46': 297, '47': 309, '48': 321, '49': 333, '50': 345, '51': 357, '52': 369, '53': 381, '54': 393, '55': 405, '56': 417, '57': 429, '58': 441, '59': 453}, 'issue_age': 34, 'period': 3, 'dur': 1, 'n': 4}, [[80, 98, 189, 201], 0.994332]], ['last select year', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 105, '31': 117, '32': 129, '33': 141, '34': 153, '35': 165, '36': 177, '37': 189, '38': 201, '39': 213, '40': 225, '41': 237, '42': 249, '43': 261, '44': 273, '45': 285, '46': 297, '47': 309, '48': 321, '49': 333, '50': 345, '51': 357, '52': 369, '53': 381, '54': 393, '55': 405, '56': 417, '57': 429, '58': 441, '59': 453}, 'issue_age': 45, 'period': 3, 'dur': 2, 'n': 3}, [[164, 321, 333], 0.991841]], ['fully ultimate', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 105, '31': 117, '32': 129, '33': 141, '34': 153, '35': 165, '36': 177, '37': 189, '38': 201, '39': 213, '40': 225, '41': 237, '42': 249, '43': 261, '44': 273, '45': 285, '46': 297, '47': 309, '48': 321, '49': 333, '50': 345, '51': 357, '52': 369, '53': 381, '54': 393, '55': 405, '56': 417, '57': 429, '58': 441, '59': 453}, 'issue_age': 37, 'period': 3, 'dur': 4, 'n': 3}, [[237, 249, 261], 0.992549]], ['no select row for issue age', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 105, '31': 117, '32': 129, '33': 141, '34': 153, '35': 165, '36': 177, '37': 189, '38': 201, '39': 213, '40': 225, '41': 237, '42': 249, '43': 261, '44': 273, '45': 285, '46': 297, '47': 309, '48': 321, '49': 333, '50': 345, '51': 357, '52': 369, '53': 381, '54': 393, '55': 405, '56': 417, '57': 429, '58': 441, '59': 453}, 'issue_age': 55, 'period': 3, 'dur': 0, 'n': 2}, 'no select row'], ['runs off ultimate table', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 105, '31': 117, '32': 129, '33': 141, '34': 153, '35': 165, '36': 177, '37': 189, '38': 201, '39': 213, '40': 225, '41': 237, '42': 249, '43': 261, '44': 273, '45': 285, '46': 297, '47': 309, '48': 321, '49': 333, '50': 345, '51': 357, '52': 369, '53': 381, '54': 393, '55': 405, '56': 417, '57': 429, '58': 441, '59': 453}, 'issue_age': 45, 'period': 3, 'dur': 1, 'n': 20}, 'no ultimate rate'], ['single year', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 105, '31': 117, '32': 129, '33': 141, '34': 153, '35': 165, '36': 177, '37': 189, '38': 201, '39': 213, '40': 225, '41': 237, '42': 249, '43': 261, '44': 273, '45': 285, '46': 297, '47': 309, '48': 321, '49': 333, '50': 345, '51': 357, '52': 369, '53': 381, '54': 393, '55': 405, '56': 417, '57': 429, '58': 441, '59': 453}, 'issue_age': 37, 'period': 3, 'dur': 0, 'n': 1}, [[82], 0.99918]]]]\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":"942f39852c66a4aa3c16e36ea33026f1e1d100ce615a3c8889bfbb6e5de0a7cb","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    S=x['select']; U=x['ultimate']; a=x['issue_age']; s=x['period']\n    out=[]; surv=Fraction(1)\n    for k in range(x['dur'],x['dur']+x['n']):\n        if k<s:\n            row=S.get(str(a))\n            if row is None: return 'no select row'\n            q=row[k]\n        else:\n            q=U.get(str(a))\n            if q is None: return 'no ultimate rate'\n        out.append(q); surv*=1-Fraction(q,100000)\n    return [out, round(float(surv),6)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['new issue through select period', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 101, '31': 113, '32': 125, '33': 137, '34': 149, '35': 161, '36': 173, '37': 185, '38': 197, '39': 209, '40': 221, '41': 233, '42': 245, '43': 257, '44': 269, '45': 281, '46': 293, '47': 305, '48': 317, '49': 329, '50': 341, '51': 353, '52': 365, '53': 377, '54': 389, '55': 401, '56': 413, '57': 425, '58': 437, '59': 449}, 'issue_age': 31, 'period': 3, 'dur': 0, 'n': 5}, [[46, 62, 80, 149, 161], 0.995029]], ['mid-select start', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 101, '31': 113, '32': 125, '33': 137, '34': 149, '35': 161, '36': 173, '37': 185, '38': 197, '39': 209, '40': 221, '41': 233, '42': 245, '43': 257, '44': 269, '45': 281, '46': 293, '47': 305, '48': 317, '49': 329, '50': 341, '51': 353, '52': 365, '53': 377, '54': 389, '55': 401, '56': 413, '57': 425, '58': 437, '59': 449}, 'issue_age': 41, 'period': 3, 'dur': 1, 'n': 4}, [[122, 140, 269, 281], 0.991904]], ['last select year', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 101, '31': 113, '32': 125, '33': 137, '34': 149, '35': 161, '36': 173, '37': 185, '38': 197, '39': 209, '40': 221, '41': 233, '42': 245, '43': 257, '44': 269, '45': 281, '46': 293, '47': 305, '48': 317, '49': 329, '50': 341, '51': 353, '52': 365, '53': 377, '54': 389, '55': 401, '56': 413, '57': 425, '58': 437, '59': 449}, 'issue_age': 31, 'period': 3, 'dur': 2, 'n': 3}, [[80, 149, 161], 0.996105]], ['fully ultimate', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 101, '31': 113, '32': 125, '33': 137, '34': 149, '35': 161, '36': 173, '37': 185, '38': 197, '39': 209, '40': 221, '41': 233, '42': 245, '43': 257, '44': 269, '45': 281, '46': 293, '47': 305, '48': 317, '49': 329, '50': 341, '51': 353, '52': 365, '53': 377, '54': 389, '55': 401, '56': 413, '57': 425, '58': 437, '59': 449}, 'issue_age': 42, 'period': 3, 'dur': 4, 'n': 3}, [[293, 305, 317], 0.990878]], ['no select row for issue age', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 101, '31': 113, '32': 125, '33': 137, '34': 149, '35': 161, '36': 173, '37': 185, '38': 197, '39': 209, '40': 221, '41': 233, '42': 245, '43': 257, '44': 269, '45': 281, '46': 293, '47': 305, '48': 317, '49': 329, '50': 341, '51': 353, '52': 365, '53': 377, '54': 389, '55': 401, '56': 413, '57': 425, '58': 437, '59': 449}, 'issue_age': 55, 'period': 3, 'dur': 0, 'n': 2}, 'no select row'], ['runs off ultimate table', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 101, '31': 113, '32': 125, '33': 137, '34': 149, '35': 161, '36': 173, '37': 185, '38': 197, '39': 209, '40': 221, '41': 233, '42': 245, '43': 257, '44': 269, '45': 281, '46': 293, '47': 305, '48': 317, '49': 329, '50': 341, '51': 353, '52': 365, '53': 377, '54': 389, '55': 401, '56': 413, '57': 425, '58': 437, '59': 449}, 'issue_age': 45, 'period': 3, 'dur': 1, 'n': 20}, 'no ultimate rate'], ['single year', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 101, '31': 113, '32': 125, '33': 137, '34': 149, '35': 161, '36': 173, '37': 185, '38': 197, '39': 209, '40': 221, '41': 233, '42': 245, '43': 257, '44': 269, '45': 281, '46': 293, '47': 305, '48': 317, '49': 329, '50': 341, '51': 353, '52': 365, '53': 377, '54': 389, '55': 401, '56': 413, '57': 425, '58': 437, '59': 449}, 'issue_age': 31, 'period': 3, 'dur': 0, 'n': 1}, [[46], 0.99954]]], [['new issue through select period', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 102, '31': 114, '32': 126, '33': 138, '34': 150, '35': 162, '36': 174, '37': 186, '38': 198, '39': 210, '40': 222, '41': 234, '42': 246, '43': 258, '44': 270, '45': 282, '46': 294, '47': 306, '48': 318, '49': 330, '50': 342, '51': 354, '52': 366, '53': 378, '54': 390, '55': 402, '56': 414, '57': 426, '58': 438, '59': 450}, 'issue_age': 32, 'period': 3, 'dur': 0, 'n': 5}, [[52, 68, 86, 162, 174], 0.994591]], ['mid-select start', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 102, '31': 114, '32': 126, '33': 138, '34': 150, '35': 162, '36': 174, '37': 186, '38': 198, '39': 210, '40': 222, '41': 234, '42': 246, '43': 258, '44': 270, '45': 282, '46': 294, '47': 306, '48': 318, '49': 330, '50': 342, '51': 354, '52': 366, '53': 378, '54': 390, '55': 402, '56': 414, '57': 426, '58': 438, '59': 450}, 'issue_age': 33, 'period': 3, 'dur': 1, 'n': 4}, [[74, 92, 174, 186], 0.99475]], ['last select year', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 102, '31': 114, '32': 126, '33': 138, '34': 150, '35': 162, '36': 174, '37': 186, '38': 198, '39': 210, '40': 222, '41': 234, '42': 246, '43': 258, '44': 270, '45': 282, '46': 294, '47': 306, '48': 318, '49': 330, '50': 342, '51': 354, '52': 366, '53': 378, '54': 390, '55': 402, '56': 414, '57': 426, '58': 438, '59': 450}, 'issue_age': 34, 'period': 3, 'dur': 2, 'n': 3}, [[98, 186, 198], 0.995187]], ['fully ultimate', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 102, '31': 114, '32': 126, '33': 138, '34': 150, '35': 162, '36': 174, '37': 186, '38': 198, '39': 210, '40': 222, '41': 234, '42': 246, '43': 258, '44': 270, '45': 282, '46': 294, '47': 306, '48': 318, '49': 330, '50': 342, '51': 354, '52': 366, '53': 378, '54': 390, '55': 402, '56': 414, '57': 426, '58': 438, '59': 450}, 'issue_age': 31, 'period': 3, 'dur': 4, 'n': 3}, [[162, 174, 186], 0.994789]], ['no select row for issue age', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 102, '31': 114, '32': 126, '33': 138, '34': 150, '35': 162, '36': 174, '37': 186, '38': 198, '39': 210, '40': 222, '41': 234, '42': 246, '43': 258, '44': 270, '45': 282, '46': 294, '47': 306, '48': 318, '49': 330, '50': 342, '51': 354, '52': 366, '53': 378, '54': 390, '55': 402, '56': 414, '57': 426, '58': 438, '59': 450}, 'issue_age': 55, 'period': 3, 'dur': 0, 'n': 2}, 'no select row'], ['runs off ultimate table', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 102, '31': 114, '32': 126, '33': 138, '34': 150, '35': 162, '36': 174, '37': 186, '38': 198, '39': 210, '40': 222, '41': 234, '42': 246, '43': 258, '44': 270, '45': 282, '46': 294, '47': 306, '48': 318, '49': 330, '50': 342, '51': 354, '52': 366, '53': 378, '54': 390, '55': 402, '56': 414, '57': 426, '58': 438, '59': 450}, 'issue_age': 45, 'period': 3, 'dur': 1, 'n': 20}, 'no ultimate rate'], ['single year', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 102, '31': 114, '32': 126, '33': 138, '34': 150, '35': 162, '36': 174, '37': 186, '38': 198, '39': 210, '40': 222, '41': 234, '42': 246, '43': 258, '44': 270, '45': 282, '46': 294, '47': 306, '48': 318, '49': 330, '50': 342, '51': 354, '52': 366, '53': 378, '54': 390, '55': 402, '56': 414, '57': 426, '58': 438, '59': 450}, 'issue_age': 43, 'period': 3, 'dur': 0, 'n': 1}, [[118], 0.99882]]], [['new issue through select period', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 103, '31': 115, '32': 127, '33': 139, '34': 151, '35': 163, '36': 175, '37': 187, '38': 199, '39': 211, '40': 223, '41': 235, '42': 247, '43': 259, '44': 271, '45': 283, '46': 295, '47': 307, '48': 319, '49': 331, '50': 343, '51': 355, '52': 367, '53': 379, '54': 391, '55': 403, '56': 415, '57': 427, '58': 439, '59': 451}, 'issue_age': 33, 'period': 3, 'dur': 0, 'n': 5}, [[58, 74, 92, 175, 187], 0.994153]], ['mid-select start', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 103, '31': 115, '32': 127, '33': 139, '34': 151, '35': 163, '36': 175, '37': 187, '38': 199, '39': 211, '40': 223, '41': 235, '42': 247, '43': 259, '44': 271, '45': 283, '46': 295, '47': 307, '48': 319, '49': 331, '50': 343, '51': 355, '52': 367, '53': 379, '54': 391, '55': 403, '56': 415, '57': 427, '58': 439, '59': 451}, 'issue_age': 40, 'period': 3, 'dur': 1, 'n': 4}, [[116, 134, 259, 271], 0.992222]], ['last select year', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 103, '31': 115, '32': 127, '33': 139, '34': 151, '35': 163, '36': 175, '37': 187, '38': 199, '39': 211, '40': 223, '41': 235, '42': 247, '43': 259, '44': 271, '45': 283, '46': 295, '47': 307, '48': 319, '49': 331, '50': 343, '51': 355, '52': 367, '53': 379, '54': 391, '55': 403, '56': 415, '57': 427, '58': 439, '59': 451}, 'issue_age': 45, 'period': 3, 'dur': 2, 'n': 3}, [[164, 319, 331], 0.991881]], ['fully ultimate', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 103, '31': 115, '32': 127, '33': 139, '34': 151, '35': 163, '36': 175, '37': 187, '38': 199, '39': 211, '40': 223, '41': 235, '42': 247, '43': 259, '44': 271, '45': 283, '46': 295, '47': 307, '48': 319, '49': 331, '50': 343, '51': 355, '52': 367, '53': 379, '54': 391, '55': 403, '56': 415, '57': 427, '58': 439, '59': 451}, 'issue_age': 36, 'period': 3, 'dur': 4, 'n': 3}, [[223, 235, 247], 0.992967]], ['no select row for issue age', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 103, '31': 115, '32': 127, '33': 139, '34': 151, '35': 163, '36': 175, '37': 187, '38': 199, '39': 211, '40': 223, '41': 235, '42': 247, '43': 259, '44': 271, '45': 283, '46': 295, '47': 307, '48': 319, '49': 331, '50': 343, '51': 355, '52': 367, '53': 379, '54': 391, '55': 403, '56': 415, '57': 427, '58': 439, '59': 451}, 'issue_age': 55, 'period': 3, 'dur': 0, 'n': 2}, 'no select row'], ['runs off ultimate table', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 103, '31': 115, '32': 127, '33': 139, '34': 151, '35': 163, '36': 175, '37': 187, '38': 199, '39': 211, '40': 223, '41': 235, '42': 247, '43': 259, '44': 271, '45': 283, '46': 295, '47': 307, '48': 319, '49': 331, '50': 343, '51': 355, '52': 367, '53': 379, '54': 391, '55': 403, '56': 415, '57': 427, '58': 439, '59': 451}, 'issue_age': 45, 'period': 3, 'dur': 1, 'n': 20}, 'no ultimate rate'], ['single year', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 103, '31': 115, '32': 127, '33': 139, '34': 151, '35': 163, '36': 175, '37': 187, '38': 199, '39': 211, '40': 223, '41': 235, '42': 247, '43': 259, '44': 271, '45': 283, '46': 295, '47': 307, '48': 319, '49': 331, '50': 343, '51': 355, '52': 367, '53': 379, '54': 391, '55': 403, '56': 415, '57': 427, '58': 439, '59': 451}, 'issue_age': 33, 'period': 3, 'dur': 0, 'n': 1}, [[58], 0.99942]]], [['new issue through select period', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 104, '31': 116, '32': 128, '33': 140, '34': 152, '35': 164, '36': 176, '37': 188, '38': 200, '39': 212, '40': 224, '41': 236, '42': 248, '43': 260, '44': 272, '45': 284, '46': 296, '47': 308, '48': 320, '49': 332, '50': 344, '51': 356, '52': 368, '53': 380, '54': 392, '55': 404, '56': 416, '57': 428, '58': 440, '59': 452}, 'issue_age': 34, 'period': 3, 'dur': 0, 'n': 5}, [[64, 80, 98, 188, 200], 0.993715]], ['mid-select start', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 104, '31': 116, '32': 128, '33': 140, '34': 152, '35': 164, '36': 176, '37': 188, '38': 200, '39': 212, '40': 224, '41': 236, '42': 248, '43': 260, '44': 272, '45': 284, '46': 296, '47': 308, '48': 320, '49': 332, '50': 344, '51': 356, '52': 368, '53': 380, '54': 392, '55': 404, '56': 416, '57': 428, '58': 440, '59': 452}, 'issue_age': 33, 'period': 3, 'dur': 1, 'n': 4}, [[74, 92, 176, 188], 0.99471]], ['last select year', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 104, '31': 116, '32': 128, '33': 140, '34': 152, '35': 164, '36': 176, '37': 188, '38': 200, '39': 212, '40': 224, '41': 236, '42': 248, '43': 260, '44': 272, '45': 284, '46': 296, '47': 308, '48': 320, '49': 332, '50': 344, '51': 356, '52': 368, '53': 380, '54': 392, '55': 404, '56': 416, '57': 428, '58': 440, '59': 452}, 'issue_age': 32, 'period': 3, 'dur': 2, 'n': 3}, [[86, 164, 176], 0.995746]], ['fully ultimate', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 104, '31': 116, '32': 128, '33': 140, '34': 152, '35': 164, '36': 176, '37': 188, '38': 200, '39': 212, '40': 224, '41': 236, '42': 248, '43': 260, '44': 272, '45': 284, '46': 296, '47': 308, '48': 320, '49': 332, '50': 344, '51': 356, '52': 368, '53': 380, '54': 392, '55': 404, '56': 416, '57': 428, '58': 440, '59': 452}, 'issue_age': 45, 'period': 3, 'dur': 4, 'n': 3}, [[332, 344, 356], 0.989715]], ['no select row for issue age', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 104, '31': 116, '32': 128, '33': 140, '34': 152, '35': 164, '36': 176, '37': 188, '38': 200, '39': 212, '40': 224, '41': 236, '42': 248, '43': 260, '44': 272, '45': 284, '46': 296, '47': 308, '48': 320, '49': 332, '50': 344, '51': 356, '52': 368, '53': 380, '54': 392, '55': 404, '56': 416, '57': 428, '58': 440, '59': 452}, 'issue_age': 55, 'period': 3, 'dur': 0, 'n': 2}, 'no select row'], ['runs off ultimate table', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 104, '31': 116, '32': 128, '33': 140, '34': 152, '35': 164, '36': 176, '37': 188, '38': 200, '39': 212, '40': 224, '41': 236, '42': 248, '43': 260, '44': 272, '45': 284, '46': 296, '47': 308, '48': 320, '49': 332, '50': 344, '51': 356, '52': 368, '53': 380, '54': 392, '55': 404, '56': 416, '57': 428, '58': 440, '59': 452}, 'issue_age': 45, 'period': 3, 'dur': 1, 'n': 20}, 'no ultimate rate'], ['single year', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 104, '31': 116, '32': 128, '33': 140, '34': 152, '35': 164, '36': 176, '37': 188, '38': 200, '39': 212, '40': 224, '41': 236, '42': 248, '43': 260, '44': 272, '45': 284, '46': 296, '47': 308, '48': 320, '49': 332, '50': 344, '51': 356, '52': 368, '53': 380, '54': 392, '55': 404, '56': 416, '57': 428, '58': 440, '59': 452}, 'issue_age': 34, 'period': 3, 'dur': 0, 'n': 1}, [[64], 0.99936]]], [['new issue through select period', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 105, '31': 117, '32': 129, '33': 141, '34': 153, '35': 165, '36': 177, '37': 189, '38': 201, '39': 213, '40': 225, '41': 237, '42': 249, '43': 261, '44': 273, '45': 285, '46': 297, '47': 309, '48': 321, '49': 333, '50': 345, '51': 357, '52': 369, '53': 381, '54': 393, '55': 405, '56': 417, '57': 429, '58': 441, '59': 453}, 'issue_age': 35, 'period': 3, 'dur': 0, 'n': 5}, [[70, 86, 104, 201, 213], 0.993277]], ['mid-select start', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 105, '31': 117, '32': 129, '33': 141, '34': 153, '35': 165, '36': 177, '37': 189, '38': 201, '39': 213, '40': 225, '41': 237, '42': 249, '43': 261, '44': 273, '45': 285, '46': 297, '47': 309, '48': 321, '49': 333, '50': 345, '51': 357, '52': 369, '53': 381, '54': 393, '55': 405, '56': 417, '57': 429, '58': 441, '59': 453}, 'issue_age': 34, 'period': 3, 'dur': 1, 'n': 4}, [[80, 98, 189, 201], 0.994332]], ['last select year', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 105, '31': 117, '32': 129, '33': 141, '34': 153, '35': 165, '36': 177, '37': 189, '38': 201, '39': 213, '40': 225, '41': 237, '42': 249, '43': 261, '44': 273, '45': 285, '46': 297, '47': 309, '48': 321, '49': 333, '50': 345, '51': 357, '52': 369, '53': 381, '54': 393, '55': 405, '56': 417, '57': 429, '58': 441, '59': 453}, 'issue_age': 45, 'period': 3, 'dur': 2, 'n': 3}, [[164, 321, 333], 0.991841]], ['fully ultimate', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 105, '31': 117, '32': 129, '33': 141, '34': 153, '35': 165, '36': 177, '37': 189, '38': 201, '39': 213, '40': 225, '41': 237, '42': 249, '43': 261, '44': 273, '45': 285, '46': 297, '47': 309, '48': 321, '49': 333, '50': 345, '51': 357, '52': 369, '53': 381, '54': 393, '55': 405, '56': 417, '57': 429, '58': 441, '59': 453}, 'issue_age': 37, 'period': 3, 'dur': 4, 'n': 3}, [[237, 249, 261], 0.992549]], ['no select row for issue age', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 105, '31': 117, '32': 129, '33': 141, '34': 153, '35': 165, '36': 177, '37': 189, '38': 201, '39': 213, '40': 225, '41': 237, '42': 249, '43': 261, '44': 273, '45': 285, '46': 297, '47': 309, '48': 321, '49': 333, '50': 345, '51': 357, '52': 369, '53': 381, '54': 393, '55': 405, '56': 417, '57': 429, '58': 441, '59': 453}, 'issue_age': 55, 'period': 3, 'dur': 0, 'n': 2}, 'no select row'], ['runs off ultimate table', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 105, '31': 117, '32': 129, '33': 141, '34': 153, '35': 165, '36': 177, '37': 189, '38': 201, '39': 213, '40': 225, '41': 237, '42': 249, '43': 261, '44': 273, '45': 285, '46': 297, '47': 309, '48': 321, '49': 333, '50': 345, '51': 357, '52': 369, '53': 381, '54': 393, '55': 405, '56': 417, '57': 429, '58': 441, '59': 453}, 'issue_age': 45, 'period': 3, 'dur': 1, 'n': 20}, 'no ultimate rate'], ['single year', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 105, '31': 117, '32': 129, '33': 141, '34': 153, '35': 165, '36': 177, '37': 189, '38': 201, '39': 213, '40': 225, '41': 237, '42': 249, '43': 261, '44': 273, '45': 285, '46': 297, '47': 309, '48': 321, '49': 333, '50': 345, '51': 357, '52': 369, '53': 381, '54': 393, '55': 405, '56': 417, '57': 429, '58': 441, '59': 453}, 'issue_age': 37, 'period': 3, 'dur': 0, 'n': 1}, [[82], 0.99918]]]]\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":"ca7e3c092253e529a19fd3157ff242c54f07657d07f329fa243fa54c7ab42a11","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    S=x['select']; U=x['ultimate']; a=x['issue_age']; s=x['period']\n    out=[]; surv=Fraction(1)\n    for k in range(x['dur'],x['dur']+x['n']):\n        if k<s:\n            row=S.get(str(a))\n            if row is None: return 'no select row'\n            q=row[k]\n        else:\n            q=U.get(str(a+k))\n            if q is None: return 'no ultimate rate'\n        out.append(q); surv*=1-Fraction(q,100000)\n    return [out, round(float(surv),6)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['new issue through select period', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 101, '31': 113, '32': 125, '33': 137, '34': 149, '35': 161, '36': 173, '37': 185, '38': 197, '39': 209, '40': 221, '41': 233, '42': 245, '43': 257, '44': 269, '45': 281, '46': 293, '47': 305, '48': 317, '49': 329, '50': 341, '51': 353, '52': 365, '53': 377, '54': 389, '55': 401, '56': 413, '57': 425, '58': 437, '59': 449}, 'issue_age': 31, 'period': 3, 'dur': 0, 'n': 5}, [[46, 62, 80, 149, 161], 0.995029]], ['mid-select start', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 101, '31': 113, '32': 125, '33': 137, '34': 149, '35': 161, '36': 173, '37': 185, '38': 197, '39': 209, '40': 221, '41': 233, '42': 245, '43': 257, '44': 269, '45': 281, '46': 293, '47': 305, '48': 317, '49': 329, '50': 341, '51': 353, '52': 365, '53': 377, '54': 389, '55': 401, '56': 413, '57': 425, '58': 437, '59': 449}, 'issue_age': 41, 'period': 3, 'dur': 1, 'n': 4}, [[122, 140, 269, 281], 0.991904]], ['last select year', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 101, '31': 113, '32': 125, '33': 137, '34': 149, '35': 161, '36': 173, '37': 185, '38': 197, '39': 209, '40': 221, '41': 233, '42': 245, '43': 257, '44': 269, '45': 281, '46': 293, '47': 305, '48': 317, '49': 329, '50': 341, '51': 353, '52': 365, '53': 377, '54': 389, '55': 401, '56': 413, '57': 425, '58': 437, '59': 449}, 'issue_age': 31, 'period': 3, 'dur': 2, 'n': 3}, [[80, 149, 161], 0.996105]], ['fully ultimate', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 101, '31': 113, '32': 125, '33': 137, '34': 149, '35': 161, '36': 173, '37': 185, '38': 197, '39': 209, '40': 221, '41': 233, '42': 245, '43': 257, '44': 269, '45': 281, '46': 293, '47': 305, '48': 317, '49': 329, '50': 341, '51': 353, '52': 365, '53': 377, '54': 389, '55': 401, '56': 413, '57': 425, '58': 437, '59': 449}, 'issue_age': 42, 'period': 3, 'dur': 4, 'n': 3}, [[293, 305, 317], 0.990878]], ['no select row for issue age', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 101, '31': 113, '32': 125, '33': 137, '34': 149, '35': 161, '36': 173, '37': 185, '38': 197, '39': 209, '40': 221, '41': 233, '42': 245, '43': 257, '44': 269, '45': 281, '46': 293, '47': 305, '48': 317, '49': 329, '50': 341, '51': 353, '52': 365, '53': 377, '54': 389, '55': 401, '56': 413, '57': 425, '58': 437, '59': 449}, 'issue_age': 55, 'period': 3, 'dur': 0, 'n': 2}, 'no select row'], ['runs off ultimate table', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 101, '31': 113, '32': 125, '33': 137, '34': 149, '35': 161, '36': 173, '37': 185, '38': 197, '39': 209, '40': 221, '41': 233, '42': 245, '43': 257, '44': 269, '45': 281, '46': 293, '47': 305, '48': 317, '49': 329, '50': 341, '51': 353, '52': 365, '53': 377, '54': 389, '55': 401, '56': 413, '57': 425, '58': 437, '59': 449}, 'issue_age': 45, 'period': 3, 'dur': 1, 'n': 20}, 'no ultimate rate'], ['single year', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 101, '31': 113, '32': 125, '33': 137, '34': 149, '35': 161, '36': 173, '37': 185, '38': 197, '39': 209, '40': 221, '41': 233, '42': 245, '43': 257, '44': 269, '45': 281, '46': 293, '47': 305, '48': 317, '49': 329, '50': 341, '51': 353, '52': 365, '53': 377, '54': 389, '55': 401, '56': 413, '57': 425, '58': 437, '59': 449}, 'issue_age': 31, 'period': 3, 'dur': 0, 'n': 1}, [[46], 0.99954]]], [['new issue through select period', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 102, '31': 114, '32': 126, '33': 138, '34': 150, '35': 162, '36': 174, '37': 186, '38': 198, '39': 210, '40': 222, '41': 234, '42': 246, '43': 258, '44': 270, '45': 282, '46': 294, '47': 306, '48': 318, '49': 330, '50': 342, '51': 354, '52': 366, '53': 378, '54': 390, '55': 402, '56': 414, '57': 426, '58': 438, '59': 450}, 'issue_age': 32, 'period': 3, 'dur': 0, 'n': 5}, [[52, 68, 86, 162, 174], 0.994591]], ['mid-select start', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 102, '31': 114, '32': 126, '33': 138, '34': 150, '35': 162, '36': 174, '37': 186, '38': 198, '39': 210, '40': 222, '41': 234, '42': 246, '43': 258, '44': 270, '45': 282, '46': 294, '47': 306, '48': 318, '49': 330, '50': 342, '51': 354, '52': 366, '53': 378, '54': 390, '55': 402, '56': 414, '57': 426, '58': 438, '59': 450}, 'issue_age': 33, 'period': 3, 'dur': 1, 'n': 4}, [[74, 92, 174, 186], 0.99475]], ['last select year', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 102, '31': 114, '32': 126, '33': 138, '34': 150, '35': 162, '36': 174, '37': 186, '38': 198, '39': 210, '40': 222, '41': 234, '42': 246, '43': 258, '44': 270, '45': 282, '46': 294, '47': 306, '48': 318, '49': 330, '50': 342, '51': 354, '52': 366, '53': 378, '54': 390, '55': 402, '56': 414, '57': 426, '58': 438, '59': 450}, 'issue_age': 34, 'period': 3, 'dur': 2, 'n': 3}, [[98, 186, 198], 0.995187]], ['fully ultimate', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 102, '31': 114, '32': 126, '33': 138, '34': 150, '35': 162, '36': 174, '37': 186, '38': 198, '39': 210, '40': 222, '41': 234, '42': 246, '43': 258, '44': 270, '45': 282, '46': 294, '47': 306, '48': 318, '49': 330, '50': 342, '51': 354, '52': 366, '53': 378, '54': 390, '55': 402, '56': 414, '57': 426, '58': 438, '59': 450}, 'issue_age': 31, 'period': 3, 'dur': 4, 'n': 3}, [[162, 174, 186], 0.994789]], ['no select row for issue age', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 102, '31': 114, '32': 126, '33': 138, '34': 150, '35': 162, '36': 174, '37': 186, '38': 198, '39': 210, '40': 222, '41': 234, '42': 246, '43': 258, '44': 270, '45': 282, '46': 294, '47': 306, '48': 318, '49': 330, '50': 342, '51': 354, '52': 366, '53': 378, '54': 390, '55': 402, '56': 414, '57': 426, '58': 438, '59': 450}, 'issue_age': 55, 'period': 3, 'dur': 0, 'n': 2}, 'no select row'], ['runs off ultimate table', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 102, '31': 114, '32': 126, '33': 138, '34': 150, '35': 162, '36': 174, '37': 186, '38': 198, '39': 210, '40': 222, '41': 234, '42': 246, '43': 258, '44': 270, '45': 282, '46': 294, '47': 306, '48': 318, '49': 330, '50': 342, '51': 354, '52': 366, '53': 378, '54': 390, '55': 402, '56': 414, '57': 426, '58': 438, '59': 450}, 'issue_age': 45, 'period': 3, 'dur': 1, 'n': 20}, 'no ultimate rate'], ['single year', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 102, '31': 114, '32': 126, '33': 138, '34': 150, '35': 162, '36': 174, '37': 186, '38': 198, '39': 210, '40': 222, '41': 234, '42': 246, '43': 258, '44': 270, '45': 282, '46': 294, '47': 306, '48': 318, '49': 330, '50': 342, '51': 354, '52': 366, '53': 378, '54': 390, '55': 402, '56': 414, '57': 426, '58': 438, '59': 450}, 'issue_age': 43, 'period': 3, 'dur': 0, 'n': 1}, [[118], 0.99882]]], [['new issue through select period', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 103, '31': 115, '32': 127, '33': 139, '34': 151, '35': 163, '36': 175, '37': 187, '38': 199, '39': 211, '40': 223, '41': 235, '42': 247, '43': 259, '44': 271, '45': 283, '46': 295, '47': 307, '48': 319, '49': 331, '50': 343, '51': 355, '52': 367, '53': 379, '54': 391, '55': 403, '56': 415, '57': 427, '58': 439, '59': 451}, 'issue_age': 33, 'period': 3, 'dur': 0, 'n': 5}, [[58, 74, 92, 175, 187], 0.994153]], ['mid-select start', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 103, '31': 115, '32': 127, '33': 139, '34': 151, '35': 163, '36': 175, '37': 187, '38': 199, '39': 211, '40': 223, '41': 235, '42': 247, '43': 259, '44': 271, '45': 283, '46': 295, '47': 307, '48': 319, '49': 331, '50': 343, '51': 355, '52': 367, '53': 379, '54': 391, '55': 403, '56': 415, '57': 427, '58': 439, '59': 451}, 'issue_age': 40, 'period': 3, 'dur': 1, 'n': 4}, [[116, 134, 259, 271], 0.992222]], ['last select year', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 103, '31': 115, '32': 127, '33': 139, '34': 151, '35': 163, '36': 175, '37': 187, '38': 199, '39': 211, '40': 223, '41': 235, '42': 247, '43': 259, '44': 271, '45': 283, '46': 295, '47': 307, '48': 319, '49': 331, '50': 343, '51': 355, '52': 367, '53': 379, '54': 391, '55': 403, '56': 415, '57': 427, '58': 439, '59': 451}, 'issue_age': 45, 'period': 3, 'dur': 2, 'n': 3}, [[164, 319, 331], 0.991881]], ['fully ultimate', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 103, '31': 115, '32': 127, '33': 139, '34': 151, '35': 163, '36': 175, '37': 187, '38': 199, '39': 211, '40': 223, '41': 235, '42': 247, '43': 259, '44': 271, '45': 283, '46': 295, '47': 307, '48': 319, '49': 331, '50': 343, '51': 355, '52': 367, '53': 379, '54': 391, '55': 403, '56': 415, '57': 427, '58': 439, '59': 451}, 'issue_age': 36, 'period': 3, 'dur': 4, 'n': 3}, [[223, 235, 247], 0.992967]], ['no select row for issue age', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 103, '31': 115, '32': 127, '33': 139, '34': 151, '35': 163, '36': 175, '37': 187, '38': 199, '39': 211, '40': 223, '41': 235, '42': 247, '43': 259, '44': 271, '45': 283, '46': 295, '47': 307, '48': 319, '49': 331, '50': 343, '51': 355, '52': 367, '53': 379, '54': 391, '55': 403, '56': 415, '57': 427, '58': 439, '59': 451}, 'issue_age': 55, 'period': 3, 'dur': 0, 'n': 2}, 'no select row'], ['runs off ultimate table', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 103, '31': 115, '32': 127, '33': 139, '34': 151, '35': 163, '36': 175, '37': 187, '38': 199, '39': 211, '40': 223, '41': 235, '42': 247, '43': 259, '44': 271, '45': 283, '46': 295, '47': 307, '48': 319, '49': 331, '50': 343, '51': 355, '52': 367, '53': 379, '54': 391, '55': 403, '56': 415, '57': 427, '58': 439, '59': 451}, 'issue_age': 45, 'period': 3, 'dur': 1, 'n': 20}, 'no ultimate rate'], ['single year', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 103, '31': 115, '32': 127, '33': 139, '34': 151, '35': 163, '36': 175, '37': 187, '38': 199, '39': 211, '40': 223, '41': 235, '42': 247, '43': 259, '44': 271, '45': 283, '46': 295, '47': 307, '48': 319, '49': 331, '50': 343, '51': 355, '52': 367, '53': 379, '54': 391, '55': 403, '56': 415, '57': 427, '58': 439, '59': 451}, 'issue_age': 33, 'period': 3, 'dur': 0, 'n': 1}, [[58], 0.99942]]], [['new issue through select period', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 104, '31': 116, '32': 128, '33': 140, '34': 152, '35': 164, '36': 176, '37': 188, '38': 200, '39': 212, '40': 224, '41': 236, '42': 248, '43': 260, '44': 272, '45': 284, '46': 296, '47': 308, '48': 320, '49': 332, '50': 344, '51': 356, '52': 368, '53': 380, '54': 392, '55': 404, '56': 416, '57': 428, '58': 440, '59': 452}, 'issue_age': 34, 'period': 3, 'dur': 0, 'n': 5}, [[64, 80, 98, 188, 200], 0.993715]], ['mid-select start', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 104, '31': 116, '32': 128, '33': 140, '34': 152, '35': 164, '36': 176, '37': 188, '38': 200, '39': 212, '40': 224, '41': 236, '42': 248, '43': 260, '44': 272, '45': 284, '46': 296, '47': 308, '48': 320, '49': 332, '50': 344, '51': 356, '52': 368, '53': 380, '54': 392, '55': 404, '56': 416, '57': 428, '58': 440, '59': 452}, 'issue_age': 33, 'period': 3, 'dur': 1, 'n': 4}, [[74, 92, 176, 188], 0.99471]], ['last select year', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 104, '31': 116, '32': 128, '33': 140, '34': 152, '35': 164, '36': 176, '37': 188, '38': 200, '39': 212, '40': 224, '41': 236, '42': 248, '43': 260, '44': 272, '45': 284, '46': 296, '47': 308, '48': 320, '49': 332, '50': 344, '51': 356, '52': 368, '53': 380, '54': 392, '55': 404, '56': 416, '57': 428, '58': 440, '59': 452}, 'issue_age': 32, 'period': 3, 'dur': 2, 'n': 3}, [[86, 164, 176], 0.995746]], ['fully ultimate', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 104, '31': 116, '32': 128, '33': 140, '34': 152, '35': 164, '36': 176, '37': 188, '38': 200, '39': 212, '40': 224, '41': 236, '42': 248, '43': 260, '44': 272, '45': 284, '46': 296, '47': 308, '48': 320, '49': 332, '50': 344, '51': 356, '52': 368, '53': 380, '54': 392, '55': 404, '56': 416, '57': 428, '58': 440, '59': 452}, 'issue_age': 45, 'period': 3, 'dur': 4, 'n': 3}, [[332, 344, 356], 0.989715]], ['no select row for issue age', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 104, '31': 116, '32': 128, '33': 140, '34': 152, '35': 164, '36': 176, '37': 188, '38': 200, '39': 212, '40': 224, '41': 236, '42': 248, '43': 260, '44': 272, '45': 284, '46': 296, '47': 308, '48': 320, '49': 332, '50': 344, '51': 356, '52': 368, '53': 380, '54': 392, '55': 404, '56': 416, '57': 428, '58': 440, '59': 452}, 'issue_age': 55, 'period': 3, 'dur': 0, 'n': 2}, 'no select row'], ['runs off ultimate table', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 104, '31': 116, '32': 128, '33': 140, '34': 152, '35': 164, '36': 176, '37': 188, '38': 200, '39': 212, '40': 224, '41': 236, '42': 248, '43': 260, '44': 272, '45': 284, '46': 296, '47': 308, '48': 320, '49': 332, '50': 344, '51': 356, '52': 368, '53': 380, '54': 392, '55': 404, '56': 416, '57': 428, '58': 440, '59': 452}, 'issue_age': 45, 'period': 3, 'dur': 1, 'n': 20}, 'no ultimate rate'], ['single year', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 104, '31': 116, '32': 128, '33': 140, '34': 152, '35': 164, '36': 176, '37': 188, '38': 200, '39': 212, '40': 224, '41': 236, '42': 248, '43': 260, '44': 272, '45': 284, '46': 296, '47': 308, '48': 320, '49': 332, '50': 344, '51': 356, '52': 368, '53': 380, '54': 392, '55': 404, '56': 416, '57': 428, '58': 440, '59': 452}, 'issue_age': 34, 'period': 3, 'dur': 0, 'n': 1}, [[64], 0.99936]]], [['new issue through select period', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 105, '31': 117, '32': 129, '33': 141, '34': 153, '35': 165, '36': 177, '37': 189, '38': 201, '39': 213, '40': 225, '41': 237, '42': 249, '43': 261, '44': 273, '45': 285, '46': 297, '47': 309, '48': 321, '49': 333, '50': 345, '51': 357, '52': 369, '53': 381, '54': 393, '55': 405, '56': 417, '57': 429, '58': 441, '59': 453}, 'issue_age': 35, 'period': 3, 'dur': 0, 'n': 5}, [[70, 86, 104, 201, 213], 0.993277]], ['mid-select start', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 105, '31': 117, '32': 129, '33': 141, '34': 153, '35': 165, '36': 177, '37': 189, '38': 201, '39': 213, '40': 225, '41': 237, '42': 249, '43': 261, '44': 273, '45': 285, '46': 297, '47': 309, '48': 321, '49': 333, '50': 345, '51': 357, '52': 369, '53': 381, '54': 393, '55': 405, '56': 417, '57': 429, '58': 441, '59': 453}, 'issue_age': 34, 'period': 3, 'dur': 1, 'n': 4}, [[80, 98, 189, 201], 0.994332]], ['last select year', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 105, '31': 117, '32': 129, '33': 141, '34': 153, '35': 165, '36': 177, '37': 189, '38': 201, '39': 213, '40': 225, '41': 237, '42': 249, '43': 261, '44': 273, '45': 285, '46': 297, '47': 309, '48': 321, '49': 333, '50': 345, '51': 357, '52': 369, '53': 381, '54': 393, '55': 405, '56': 417, '57': 429, '58': 441, '59': 453}, 'issue_age': 45, 'period': 3, 'dur': 2, 'n': 3}, [[164, 321, 333], 0.991841]], ['fully ultimate', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 105, '31': 117, '32': 129, '33': 141, '34': 153, '35': 165, '36': 177, '37': 189, '38': 201, '39': 213, '40': 225, '41': 237, '42': 249, '43': 261, '44': 273, '45': 285, '46': 297, '47': 309, '48': 321, '49': 333, '50': 345, '51': 357, '52': 369, '53': 381, '54': 393, '55': 405, '56': 417, '57': 429, '58': 441, '59': 453}, 'issue_age': 37, 'period': 3, 'dur': 4, 'n': 3}, [[237, 249, 261], 0.992549]], ['no select row for issue age', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 105, '31': 117, '32': 129, '33': 141, '34': 153, '35': 165, '36': 177, '37': 189, '38': 201, '39': 213, '40': 225, '41': 237, '42': 249, '43': 261, '44': 273, '45': 285, '46': 297, '47': 309, '48': 321, '49': 333, '50': 345, '51': 357, '52': 369, '53': 381, '54': 393, '55': 405, '56': 417, '57': 429, '58': 441, '59': 453}, 'issue_age': 55, 'period': 3, 'dur': 0, 'n': 2}, 'no select row'], ['runs off ultimate table', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 105, '31': 117, '32': 129, '33': 141, '34': 153, '35': 165, '36': 177, '37': 189, '38': 201, '39': 213, '40': 225, '41': 237, '42': 249, '43': 261, '44': 273, '45': 285, '46': 297, '47': 309, '48': 321, '49': 333, '50': 345, '51': 357, '52': 369, '53': 381, '54': 393, '55': 405, '56': 417, '57': 429, '58': 441, '59': 453}, 'issue_age': 45, 'period': 3, 'dur': 1, 'n': 20}, 'no ultimate rate'], ['single year', {'select': {'30': [40, 56, 74], '31': [46, 62, 80], '32': [52, 68, 86], '33': [58, 74, 92], '34': [64, 80, 98], '35': [70, 86, 104], '36': [76, 92, 110], '37': [82, 98, 116], '38': [88, 104, 122], '39': [94, 110, 128], '40': [100, 116, 134], '41': [106, 122, 140], '42': [112, 128, 146], '43': [118, 134, 152], '44': [124, 140, 158], '45': [130, 146, 164], '46': [136, 152, 170], '47': [142, 158, 176], '48': [148, 164, 182], '49': [154, 170, 188]}, 'ultimate': {'30': 105, '31': 117, '32': 129, '33': 141, '34': 153, '35': 165, '36': 177, '37': 189, '38': 201, '39': 213, '40': 225, '41': 237, '42': 249, '43': 261, '44': 273, '45': 285, '46': 297, '47': 309, '48': 321, '49': 333, '50': 345, '51': 357, '52': 369, '53': 381, '54': 393, '55': 405, '56': 417, '57': 429, '58': 441, '59': 453}, 'issue_age': 37, 'period': 3, 'dur': 0, 'n': 1}, [[82], 0.99918]]]]\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":"A deterministic bounded teaching model of a stipulated toy actuarial contract. Rates are small synthetic tables, exact rationals are used where practical and floats are rounded at the output; it makes no claim of conformance with any published table, standard of practice or regulation. 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-actuarial_life_tables-select-ultimate-ultimate-attained-age","generated_at":"2026-09-29T14:47:14.283516+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Life-table arithmetic compounds across ages, so one misplaced index or assumption shifts every downstream value.","repair":"Use attained age issue+duration.","root_cause":"The ultimate lookup ignores duration.","sha256":"85b5390a871755cb5fe9431158c8c7319db7fc8198cdde1f7ca8bb6aeb4bb00a","title":"Select and ultimate mortality lookup: Ultimate rates are looked up at issue age · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":49.161,"exit_code":1,"observations":[{"actual":[[46,62,80,149,149],0.995149],"check":"new issue through select period","expected":[[46,62,80,149,161],0.995029],"passed":false},{"actual":[[122,140,269,269],0.992023],"check":"mid-select start","expected":[[122,140,269,281],0.991904],"passed":false},{"actual":[[80,149,149],0.996225],"check":"last select year","expected":[[80,149,161],0.996105],"passed":false},{"actual":[[281,281,281],0.991594],"check":"fully ultimate","expected":[[293,305,317],0.990878],"passed":false},{"actual":"no select row","check":"no select row for issue age","expected":"no select row","passed":true},{"actual":[[146,164,317,317,317,317,317,317,317,317,317,317,317,317,317,317,317,317,317,317],0.941526],"check":"runs off ultimate table","expected":"no ultimate rate","passed":false},{"actual":[[46],0.99954],"check":"single year","expected":[[46],0.99954],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"new issue through select period\", \"actual\": [[46, 62, 80, 149, 149], 0.995149], \"expected\": [[46, 62, 80, 149, 161], 0.995029], \"passed\": false}, {\"check\": \"mid-select start\", \"actual\": [[122, 140, 269, 269], 0.992023], \"expected\": [[122, 140, 269, 281], 0.991904], \"passed\": false}, {\"check\": \"last select year\", \"actual\": [[80, 149, 149], 0.996225], \"expected\": [[80, 149, 161], 0.996105], \"passed\": false}, {\"check\": \"fully ultimate\", \"actual\": [[281, 281, 281], 0.991594], \"expected\": [[293, 305, 317], 0.990878], \"passed\": false}, {\"check\": \"no select row for issue age\", \"actual\": \"no select row\", \"expected\": \"no select row\", \"passed\": true}, {\"check\": \"runs off ultimate table\", \"actual\": [[146, 164, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317], 0.941526], \"expected\": \"no ultimate rate\", \"passed\": false}, {\"check\": \"single year\", \"actual\": [[46], 0.99954], \"expected\": [[46], 0.99954], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":47.957,"exit_code":1,"observations":[{"actual":[[46,62,80,113,113],0.995867],"check":"new issue through select period","expected":[[46,62,80,149,161],0.995029],"passed":false},{"actual":[[122,140,233,233],0.992739],"check":"mid-select start","expected":[[122,140,269,281],0.991904],"passed":false},{"actual":[[80,113,113],0.996943],"check":"last select year","expected":[[80,149,161],0.996105],"passed":false},{"actual":[[245,245,245],0.992668],"check":"fully ultimate","expected":[[293,305,317],0.990878],"passed":false},{"actual":"no select row","check":"no select row for issue age","expected":"no select row","passed":true},{"actual":[[146,164,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281],0.947666],"check":"runs off ultimate table","expected":"no ultimate rate","passed":false},{"actual":[[46],0.99954],"check":"single year","expected":[[46],0.99954],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"new issue through select period\", \"actual\": [[46, 62, 80, 113, 113], 0.995867], \"expected\": [[46, 62, 80, 149, 161], 0.995029], \"passed\": false}, {\"check\": \"mid-select start\", \"actual\": [[122, 140, 233, 233], 0.992739], \"expected\": [[122, 140, 269, 281], 0.991904], \"passed\": false}, {\"check\": \"last select year\", \"actual\": [[80, 113, 113], 0.996943], \"expected\": [[80, 149, 161], 0.996105], \"passed\": false}, {\"check\": \"fully ultimate\", \"actual\": [[245, 245, 245], 0.992668], \"expected\": [[293, 305, 317], 0.990878], \"passed\": false}, {\"check\": \"no select row for issue age\", \"actual\": \"no select row\", \"expected\": \"no select row\", \"passed\": true}, {\"check\": \"runs off ultimate table\", \"actual\": [[146, 164, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281], 0.947666], \"expected\": \"no ultimate rate\", \"passed\": false}, {\"check\": \"single year\", \"actual\": [[46], 0.99954], \"expected\": [[46], 0.99954], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":48.471,"exit_code":0,"observations":[{"actual":[[46,62,80,149,161],0.995029],"check":"new issue through select period","expected":[[46,62,80,149,161],0.995029],"passed":true},{"actual":[[122,140,269,281],0.991904],"check":"mid-select start","expected":[[122,140,269,281],0.991904],"passed":true},{"actual":[[80,149,161],0.996105],"check":"last select year","expected":[[80,149,161],0.996105],"passed":true},{"actual":[[293,305,317],0.990878],"check":"fully ultimate","expected":[[293,305,317],0.990878],"passed":true},{"actual":"no select row","check":"no select row for issue age","expected":"no select row","passed":true},{"actual":"no ultimate rate","check":"runs off ultimate table","expected":"no ultimate rate","passed":true},{"actual":[[46],0.99954],"check":"single year","expected":[[46],0.99954],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"new issue through select period\", \"actual\": [[46, 62, 80, 149, 161], 0.995029], \"expected\": [[46, 62, 80, 149, 161], 0.995029], \"passed\": true}, {\"check\": \"mid-select start\", \"actual\": [[122, 140, 269, 281], 0.991904], \"expected\": [[122, 140, 269, 281], 0.991904], \"passed\": true}, {\"check\": \"last select year\", \"actual\": [[80, 149, 161], 0.996105], \"expected\": [[80, 149, 161], 0.996105], \"passed\": true}, {\"check\": \"fully ultimate\", \"actual\": [[293, 305, 317], 0.990878], \"expected\": [[293, 305, 317], 0.990878], \"passed\": true}, {\"check\": \"no select row for issue age\", \"actual\": \"no select row\", \"expected\": \"no select row\", \"passed\": true}, {\"check\": \"runs off ultimate table\", \"actual\": \"no ultimate rate\", \"expected\": \"no ultimate rate\", \"passed\": true}, {\"check\": \"single year\", \"actual\": [[46], 0.99954], \"expected\": [[46], 0.99954], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}